From 4e98e6422b3225a23e7d6f4edc045b6e3994127b Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Wed, 13 Oct 2010 10:29:46 +0000
Subject: [PATCH 001/163] Fix various issues:

- make it really working with any precision
- change the precision to specify a minimal unit rather than a kind of scale
- fix some wrong assert conditions



git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39089 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/RoundingModel.py      | 66 ++++++++++-----------
 product/ERP5/PropertySheet/RoundingModel.py |  4 +-
 product/ERP5/tests/testRoundingTool.py      | 28 ++++-----
 3 files changed, 48 insertions(+), 50 deletions(-)

diff --git a/product/ERP5/Document/RoundingModel.py b/product/ERP5/Document/RoundingModel.py
index b9de81ed80..be71346f90 100644
--- a/product/ERP5/Document/RoundingModel.py
+++ b/product/ERP5/Document/RoundingModel.py
@@ -29,7 +29,10 @@ from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import PropertySheet, Permissions
 from Products.ERP5.Document.Predicate import Predicate
 from Products.ERP5Type.Utils import UpperCase
+from decimal import Decimal
+from Products.ERP5.Tool.RoundingTool import ROUNDING_OPTION_DICT
 import ExtensionClass
+from math import log
 
 class RoundingModel(Predicate):
   """
@@ -56,34 +59,38 @@ class RoundingModel(Predicate):
   def roundValue(self, value):
     if not value:
       return value
-    if self.getRoundingMethodId() is not None:
-      rounding_method = getattr(self, self.getRoundingMethodId(), None)
+
+    rounding_method_id = self.getRoundingMethodId()
+    if rounding_method_id is not None:
+      rounding_method = getattr(self, rounding_method_id, None)
       if rounding_method is None:
-        raise ValueError, 'Rounding method (%s) was not found.'
+        raise ValueError('Rounding method (%s) was not found.' \
+                % (rounding_method_id,))
     else:
-      from decimal import Decimal
-      from Products.ERP5.Tool.RoundingTool import ROUNDING_OPTION_DICT
       decimal_rounding_option = self.getDecimalRoundingOption()
-      if (decimal_rounding_option is None or
-          decimal_rounding_option not in ROUNDING_OPTION_DICT):
-        raise ValueError, 'Decimal rounding option must be selected.'
-      def rounding_method(value, decimal_exponent, precision):
+      if decimal_rounding_option not in ROUNDING_OPTION_DICT:
+        raise ValueError('Decimal rounding option must be selected.')
+
+      def rounding_method(value, precision):
         if precision is None:
-          precision = 0
-        if decimal_exponent is None:
-          if precision > 0:
-            decimal_exponent = '1.' + '0' * precision
-          else:
-            decimal_exponent = '1'
-        result = float(
-          Decimal(str(value)).quantize(Decimal(decimal_exponent),
-                                       rounding=decimal_rounding_option))
-        if precision < 0:
-          # FIXME!!!!!
-          result = round(result, precision)
+          precision = 1
+
+        scale = int(log(precision, 10))
+        if scale > 0:
+          value = Decimal(str(value))
+          scale = Decimal(str(int(precision))).quantize(value)
+          precision = Decimal('1')
+          value /= scale
+          value = value.quantize(precision, rounding=decimal_rounding_option)
+          value *= scale
+          result = float(value.quantize(precision))
+        else:
+          result = float(
+            Decimal(str(value)).quantize(Decimal(str(precision)),
+                                         rounding=decimal_rounding_option))
         return result
 
-    return rounding_method(value, self.getDecimalExponent(), self.getPrecision())
+    return rounding_method(value, self.getPrecision())
 
   security.declareProtected(Permissions.AccessContentsInformation, 'getRoundingProxy')
   def getRoundingProxy(self, document):
@@ -99,23 +106,14 @@ class RoundingModel(Predicate):
       temp_document = document._getOriginalDocument()
       original_document = document
     else:
-      from Products.ERP5Type import Document
-      if document.__class__.__name__ == 'TempDocument':
-        class_ = document.__class__.__bases__[0]
-      else:
-        class_ = document.__class__
-      constructor = getattr(Document, 'newTemp%s' % class_.__name__)
-      temp_document = constructor(document.getParentValue(), 'id')
-      temp_document.__dict__.update(document.__dict__)
+      temp_document = document.asContext()
       original_document = temp_document
 
     for property_id in rounding_model.getRoundedPropertyIdList():
       getter_name = 'get%s' % UpperCase(property_id)
-      getter = getattr(temp_document,
-                       getter_name, None)
+      getter = getattr(temp_document, getter_name, None)
       setter_name = 'set%s' % UpperCase(property_id)
-      setter = getattr(temp_document,
-                       setter_name, None)
+      setter = getattr(temp_document, setter_name, None)
 
       if getter is not None and setter is not None:
         # round the property value itself
diff --git a/product/ERP5/PropertySheet/RoundingModel.py b/product/ERP5/PropertySheet/RoundingModel.py
index 457c9f5ea9..d544567017 100644
--- a/product/ERP5/PropertySheet/RoundingModel.py
+++ b/product/ERP5/PropertySheet/RoundingModel.py
@@ -47,8 +47,8 @@ class RoundingModel(DecimalOption):
       'default'     : None,
     },
     { 'id'          : 'precision',
-      'description' : 'Precision value to be used for rounding. Rounding model accepts negative precision value as same as built-in round function.',
-      'type'        : 'int',
+      'description' : 'Precision value to be used for rounding, specified as a minimal unit.',
+      'type'        : 'float',
       'mode'        : 'w',
       'default'     : None,
     },
diff --git a/product/ERP5/tests/testRoundingTool.py b/product/ERP5/tests/testRoundingTool.py
index 969c646e03..420d5a5758 100644
--- a/product/ERP5/tests/testRoundingTool.py
+++ b/product/ERP5/tests/testRoundingTool.py
@@ -81,7 +81,7 @@ class TestRoundingTool(ERP5TypeTestCase):
     # rounding model dummy never match to sale order line
     rounding_model_dummy= rounding_tool.newContent(portal_type='Rounding Model')
     rounding_model_dummy.edit(decimal_rounding_option='ROUND_DOWN',
-                              precision=2,
+                              precision=0.01,
                               rounded_property_id_list=['price',
                                                         'quantity',
                                                         'total_price'])
@@ -92,7 +92,7 @@ class TestRoundingTool(ERP5TypeTestCase):
     # add a rounding model for price of sale order line
     rounding_model_1 = rounding_tool.newContent(portal_type='Rounding Model')
     rounding_model_1.edit(decimal_rounding_option='ROUND_DOWN',
-                          precision=2,
+                          precision=0.01,
                           rounded_property_id_list=['price'])
     rounding_model_1.setCriterionProperty('portal_type')
     rounding_model_1.setCriterion('portal_type', identity=['Sale Order Line'],
@@ -113,7 +113,7 @@ class TestRoundingTool(ERP5TypeTestCase):
     self.assertEqual(wrapped_line.getProperty('quantity'), 0.0)
     self.assertEqual(wrapped_line.getTotalPrice(), 0.0)
     self.assertEqual(wrapped_line.getProperty('total_price'), 0.0)
-    self.assertEqual(wrapped_line.getRoundingModelPrecision('price'), 2)
+    self.assertEqual(wrapped_line.getRoundingModelPrecision('price'), 0.01)
     self.assertEqual(wrapped_line.getRoundingModelPrecision('quantity'), None)
     self.assertEqual(wrapped_line.getRoundingModelPrecision('total_price'), None)
 
@@ -141,7 +141,7 @@ class TestRoundingTool(ERP5TypeTestCase):
     self.assertEqual(wrapped_line.getProperty('quantity'), 78.91)
     self.assertEqual(wrapped_line.getTotalPrice(), 123.45*78.91)
     self.assertEqual(wrapped_line.getProperty('total_price'), 123.45*78.91)
-    self.assertEqual(wrapped_line.getRoundingModelPrecision('price'), 2)
+    self.assertEqual(wrapped_line.getRoundingModelPrecision('price'), 0.01)
     self.assertEqual(wrapped_line.getRoundingModelPrecision('quantity'), None)
     self.assertEqual(wrapped_line.getRoundingModelPrecision('total_price'), None)
 
@@ -149,7 +149,7 @@ class TestRoundingTool(ERP5TypeTestCase):
     self.login('developer')
     rounding_model_2 = rounding_tool.newContent(portal_type='Rounding Model')
     rounding_model_2.edit(decimal_rounding_option='ROUND_UP',
-                          precision=1,
+                          precision=0.1,
                           rounded_property_id_list=['quantity'])
 
     transaction.commit()
@@ -166,7 +166,7 @@ class TestRoundingTool(ERP5TypeTestCase):
     self.assertEqual(wrapped_line.getProperty('quantity'), 78.91)
     self.assertEqual(wrapped_line.getTotalPrice(), 123.45*78.91)
     self.assertEqual(wrapped_line.getProperty('total_price'), 123.45*78.91)
-    self.assertEqual(wrapped_line.getRoundingModelPrecision('price'), 2)
+    self.assertEqual(wrapped_line.getRoundingModelPrecision('price'), 0.01)
     self.assertEqual(wrapped_line.getRoundingModelPrecision('quantity'), None)
     self.assertEqual(wrapped_line.getRoundingModelPrecision('total_price'), None)
 
@@ -185,15 +185,15 @@ class TestRoundingTool(ERP5TypeTestCase):
     self.assertEqual(wrapped_line.getProperty('quantity'), 79.0)
     self.assertEqual(wrapped_line.getTotalPrice(), 123.45*79.0)
     self.assertEqual(wrapped_line.getProperty('total_price'), 123.45*79.0)
-    self.assertEqual(wrapped_line.getRoundingModelPrecision('price'), 2)
-    self.assertEqual(wrapped_line.getRoundingModelPrecision('quantity'), 1)
+    self.assertEqual(wrapped_line.getRoundingModelPrecision('price'), 0.01)
+    self.assertEqual(wrapped_line.getRoundingModelPrecision('quantity'), 0.1)
     self.assertEqual(wrapped_line.getRoundingModelPrecision('total_price'), None)
 
     # add a rounding model for total price of any portal type
     self.login('developer')
     rounding_model_3 = rounding_tool.newContent(portal_type='Rounding Model')
     rounding_model_3.edit(decimal_rounding_option='ROUND_UP',
-                          precision=-1,
+                          precision=10,
                           rounded_property_id_list=['total_price'])
 
     self.login('assignor')
@@ -208,11 +208,11 @@ class TestRoundingTool(ERP5TypeTestCase):
     self.assertEqual(wrapped_line.getProperty('price'), 123.45)
     self.assertEqual(wrapped_line.getQuantity(), 79.0)
     self.assertEqual(wrapped_line.getProperty('quantity'), 79.0)
-    self.assertEqual(wrapped_line.getTotalPrice(), 9750.0)
-    self.assertEqual(wrapped_line.getProperty('total_price'), 9750.0)
-    self.assertEqual(wrapped_line.getRoundingModelPrecision('price'), 2)
-    self.assertEqual(wrapped_line.getRoundingModelPrecision('quantity'), 1)
-    self.assertEqual(wrapped_line.getRoundingModelPrecision('total_price'), -1)
+    self.assertEqual(wrapped_line.getTotalPrice(), 9760.0)
+    self.assertEqual(wrapped_line.getProperty('total_price'), 9760.0)
+    self.assertEqual(wrapped_line.getRoundingModelPrecision('price'), 0.01)
+    self.assertEqual(wrapped_line.getRoundingModelPrecision('quantity'), 0.1)
+    self.assertEqual(wrapped_line.getRoundingModelPrecision('total_price'), 10)
 
 
 def test_suite():
-- 
2.30.9


From 37730d604827e9d85cfea221940d06e592bb9240 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Wed, 13 Oct 2010 10:50:53 +0000
Subject: [PATCH 002/163] 2010-10-13 yo * Drop Decimal Exponent and change
 Precision to a Float Field (through Proxy Field) in the view of Rounding
 Model.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39091 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_base/RoundingModel_view.xml          |  10 +-
 .../my_decimal_exponent.xml                   | 263 ------------------
 .../my_decimal_rounding_option.xml            |  10 +-
 .../RoundingModel_view/my_precision.xml       | 201 ++-----------
 .../RoundingModel_view/my_reference.xml       |   5 +-
 .../my_rounded_property_id_list.xml           |   5 +-
 .../my_rounding_method_id.xml                 |   5 +-
 .../erp5_base/RoundingModel_view/my_title.xml |   5 +-
 .../my_translated_validation_state_title.xml  |   5 +-
 bt5/erp5_base/bt/change_log                   |   3 +
 bt5/erp5_base/bt/revision                     |   2 +-
 11 files changed, 35 insertions(+), 479 deletions(-)
 delete mode 100644 bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_decimal_exponent.xml

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view.xml
index 88b57b48bf..06953720dd 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -98,11 +95,9 @@
                       <list>
                         <string>my_title</string>
                         <string>my_reference</string>
+                        <string>my_rounded_property_id_list</string>
                         <string>my_decimal_rounding_option</string>
                         <string>my_precision</string>
-                        <string>my_decimal_exponent</string>
-                        <string>my_rounding_method_id</string>
-                        <string>my_rounded_property_id_list</string>
                       </list>
                     </value>
                 </item>
@@ -110,6 +105,7 @@
                     <key> <string>right</string> </key>
                     <value>
                       <list>
+                        <string>my_rounding_method_id</string>
                         <string>my_translated_validation_state_title</string>
                       </list>
                     </value>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_decimal_exponent.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_decimal_exponent.xml
deleted file mode 100644
index e210f6361f..0000000000
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_decimal_exponent.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>my_decimal_exponent</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Decimal Exponent</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_decimal_rounding_option.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_decimal_rounding_option.xml
index f6a382c494..24b4640ada 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_decimal_rounding_option.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_decimal_rounding_option.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="ListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -266,10 +263,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_precision.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_precision.xml
index d8f584cbb4..ff35951b9c 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_precision.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_precision.xml
@@ -2,13 +2,18 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="IntegerField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>my_precision</string> </value>
@@ -21,18 +26,6 @@
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -41,67 +34,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>end</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -112,67 +53,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>display_width</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -183,69 +72,21 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_float_field</string> </value>
                 </item>
                 <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
                 <item>
                     <key> <string>title</string> </key>
                     <value> <string>Precision</string> </value>
                 </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
               </dictionary>
             </value>
         </item>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_reference.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_reference.xml
index 449e1cd6a2..298b3dad20 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_reference.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_reference.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_rounded_property_id_list.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_rounded_property_id_list.xml
index 11b4586166..99ba4dd36b 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_rounded_property_id_list.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_rounded_property_id_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="LinesField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="LinesField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_rounding_method_id.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_rounding_method_id.xml
index f27ac49d4f..b333585ddd 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_rounding_method_id.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_rounding_method_id.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_title.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_title.xml
index 6b82ce9ff2..d619932135 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_title.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_translated_validation_state_title.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_translated_validation_state_title.xml
index 94468c9049..79df4575eb 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_translated_validation_state_title.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/RoundingModel_view/my_translated_validation_state_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_base/bt/change_log b/bt5/erp5_base/bt/change_log
index bd1ed94609..2a3a43f003 100644
--- a/bt5/erp5_base/bt/change_log
+++ b/bt5/erp5_base/bt/change_log
@@ -1,3 +1,6 @@
+2010-10-13 yo
+* Drop Decimal Exponent and change Precision to a Float Field (through Proxy Field) in the view of Rounding Model.
+
 2010-10-12 yo
 * Fix an error that calculate may be called too early before a new simulation movement is indexed.
 
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index ce125d2e28..0dd217acf8 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-879
\ No newline at end of file
+880
\ No newline at end of file
-- 
2.30.9


From 439dfecab406b486410ded53de120eed56c72329 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 13 Oct 2010 11:34:42 +0000
Subject: [PATCH 003/163] Show current logged in user otherwise it's too
 confusing for users.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39094 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../WebSite_viewUserInformationWidget.xml     | 28 +++++++++----------
 bt5/erp5_km/bt/revision                       |  2 +-
 2 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewUserInformationWidget.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewUserInformationWidget.xml
index e224fa5eb6..36685d637a 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewUserInformationWidget.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewUserInformationWidget.xml
@@ -2,16 +2,13 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
     </pickle>
     <pickle>
       <dictionary>
         <item>
             <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>web_section_user_ram_cache</string> </value>
+            <value> <string>web_section_ram_cache</string> </value>
         </item>
         <item>
             <key> <string>_bind_names</string> </key>
@@ -57,23 +54,26 @@
 </tal:block>\n
 \n
 <tal:block tal:define="current_web_site python:request.get(\'current_web_site\', here);\n
-                       portal_path python:request.get(\'current_web_site_url\', current_web_site.absolute_url());">\n
+                       portal_path python:request.get(\'current_web_site_url\', current_web_site.absolute_url());\n
+                       user_name python: here.portal_membership.getAuthenticatedMember();\n
+                       is_anonymous_user here/portal_membership/isAnonymousUser">\n
 \n
-<tal:block tal:condition="not:here/portal_membership/isAnonymousUser">\n
+<tal:block tal:condition="not:is_anonymous_user">\n
   <a id="login-logout-link" \n
      href="#" tal:attributes="href string:${portal_path}/WebSite_logout"\n
-    i18n:translate="" i18n:domain="ui">\n
-    Logout\n
-  </a>\n
+    i18n:translate="" i18n:domain="ui"\n
+    title="Log out"\n
+    i18n:attributes="title"\n
+    tal:content="user_name"/>\n
 </tal:block>\n
 \n
-<tal:block tal:condition="here/portal_membership/isAnonymousUser">\n
+<tal:block tal:condition="is_anonymous_user">\n
   <a id="login-logout-link" \n
      href="#" \n
      tal:attributes="href string:${portal_path}/login_form"\n
-     i18n:translate="" i18n:domain="ui">\n
-     Login\n
-  </a>\n
+     i18n:translate="" i18n:domain="ui"\n
+     i18n:attributes="title"\n
+     title="Log in">Login</a>\n
 </tal:block>\n
 \n
 </tal:block>\n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 6059c63769..46547e520c 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1590
\ No newline at end of file
+1591
\ No newline at end of file
-- 
2.30.9


From 38b12fd79b4f2c70af3a7d3e61f5b1295931b5d3 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Wed, 13 Oct 2010 12:02:45 +0000
Subject: [PATCH 004/163] allow OrderedDict in the restricted environment.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39096 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/__init__.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/product/ERP5Type/__init__.py b/product/ERP5Type/__init__.py
index adb55aa35c..e3b6b56fab 100644
--- a/product/ERP5Type/__init__.py
+++ b/product/ERP5Type/__init__.py
@@ -155,6 +155,7 @@ allow_module('Products.ERP5Type.JSONEncoder')
 allow_module('Products.ERP5Type.Log')
 ModuleSecurityInfo('Products.ERP5Type.JSON').declarePublic('dumps', 'loads')
 ModuleSecurityInfo('Products.ERP5Type.Constraint').declarePublic('PropertyTypeValidity')
+ModuleSecurityInfo('Products.ERP5Type.collections').declarePublic('OrderedDict')
 ModuleSecurityInfo('pprint').declarePublic('pformat', 'pprint')
 
 if sys.version_info[0:2] == (2, 4):
-- 
2.30.9


From 7ffd5684a504d2363f4b297bb4a9442f53a05fb4 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 13 Oct 2010 12:03:11 +0000
Subject: [PATCH 005/163] Form uses same selection name as default view form
 for document module thus creating a conflicts.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39097 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/WebSite_viewMyContentList/listbox.xml         | 2 +-
 bt5/erp5_km/bt/revision                                         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewMyContentList/listbox.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewMyContentList/listbox.xml
index 3fb338a8cb..bb6ba882a8 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewMyContentList/listbox.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewMyContentList/listbox.xml
@@ -117,7 +117,7 @@
                 </item>
                 <item>
                     <key> <string>selection_name</string> </key>
-                    <value> <string>document_selection</string> </value>
+                    <value> <string>my_document_list_selection</string> </value>
                 </item>
                 <item>
                     <key> <string>sort</string> </key>
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 46547e520c..f07ae304b1 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1591
\ No newline at end of file
+1592
\ No newline at end of file
-- 
2.30.9


From 6a4e07312c700dc06415d77352275cc21393824c Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 13 Oct 2010 12:13:40 +0000
Subject: [PATCH 006/163] Be explicit and do not allow conflicting selection
 names.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39099 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../WebSite_viewLatestChangeList/listbox.xml      |  5 +++++
 bt5/erp5_km/bt/revision                           |  2 +-
 .../WebSite_viewLatestAdditionList/listbox.xml    | 15 +++++++--------
 bt5/erp5_web/bt/revision                          |  2 +-
 4 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewLatestChangeList/listbox.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewLatestChangeList/listbox.xml
index 3bf5572b9e..988bbdeb81 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewLatestChangeList/listbox.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewLatestChangeList/listbox.xml
@@ -12,6 +12,7 @@
               <list>
                 <string>hide_rows_on_no_search_criterion</string>
                 <string>portal_types</string>
+                <string>selection_name</string>
                 <string>sort</string>
               </list>
             </value>
@@ -97,6 +98,10 @@
                       <list/>
                     </value>
                 </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string>latest_changed_document_list_selection</string> </value>
+                </item>
                 <item>
                     <key> <string>sort</string> </key>
                     <value>
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index f07ae304b1..30ab5448a9 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1592
\ No newline at end of file
+1593
\ No newline at end of file
diff --git a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSite_viewLatestAdditionList/listbox.xml b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSite_viewLatestAdditionList/listbox.xml
index 2e65f93913..e60e809ede 100644
--- a/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSite_viewLatestAdditionList/listbox.xml
+++ b/bt5/erp5_web/SkinTemplateItem/portal_skins/erp5_web/WebSite_viewLatestAdditionList/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -17,6 +14,7 @@
                 <string>editable_columns</string>
                 <string>hide_rows_on_no_search_criterion</string>
                 <string>portal_types</string>
+                <string>selection_name</string>
                 <string>sort</string>
               </list>
             </value>
@@ -168,6 +166,10 @@
                       <list/>
                     </value>
                 </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string>latest_addition_document_list_selection</string> </value>
+                </item>
                 <item>
                     <key> <string>sort</string> </key>
                     <value>
@@ -191,10 +193,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision
index ad12b97674..9a32da2184 100644
--- a/bt5/erp5_web/bt/revision
+++ b/bt5/erp5_web/bt/revision
@@ -1 +1 @@
-983
\ No newline at end of file
+984
\ No newline at end of file
-- 
2.30.9


From c916b6cb84c60a0e1a2f1afea8b56fd15bdbb977 Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Wed, 13 Oct 2010 12:25:34 +0000
Subject: [PATCH 007/163] Do not concatenate None type object with string.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39100 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/tests/Sequence.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/product/ERP5Type/tests/Sequence.py b/product/ERP5Type/tests/Sequence.py
index 1ae8f623fa..f7ae0b11df 100644
--- a/product/ERP5Type/tests/Sequence.py
+++ b/product/ERP5Type/tests/Sequence.py
@@ -58,6 +58,8 @@ def special_extract_tb(tb, limit = None):
         
         # display where we failed in the sequence
         if co == Sequence.play.func_code:
+          if line is None:
+            line = ''
           line += '\n    Current Sequence:'
           sequence = f.f_locals['self']
           for idx, step in enumerate(sequence._step_list):
-- 
2.30.9


From 717513af6431065b5e0aa7707e62f310eb2a99bd Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Wed, 13 Oct 2010 13:31:03 +0000
Subject: [PATCH 008/163] Simplify getInstalledBusinessTemplate.

No need to accumulate a list to just return a single element based on a value
known during iteration.
No need for multiple return.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39102 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/TemplateTool.py | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/product/ERP5/Tool/TemplateTool.py b/product/ERP5/Tool/TemplateTool.py
index d87130ee98..3c5e7faeef 100644
--- a/product/ERP5/Tool/TemplateTool.py
+++ b/product/ERP5/Tool/TemplateTool.py
@@ -120,20 +120,19 @@ class TemplateTool (BaseTool):
       # However, that unlikely happens, and using a Z SQL Method has a
       # potential danger because business templates may exchange catalog
       # methods, so the database could be broken temporarily.
-      replaced_list = []
-      replaced_list_append = replaced_list.append
+      latest_bt = None
+      latest_revision = 0
       for bt in self.contentValues(filter={'portal_type':'Business Template'}):
         if bt.getTitle() == title:
           installation_state = bt.getInstallationState()
           if installation_state == 'installed':
-            return bt
+            latest_bt = bt
+            break
           elif strict is False and installation_state == 'replaced':
-            replaced_list_append((bt.getId(), bt.getRevision()))
-      # still there means that we might search for a replaced bt
-      if len(replaced_list):
-        replaced_list.sort(key=lambda x: -int(x[1]))
-        return self._getOb(replaced_list[0][0])
-      return None
+            revision = int(bt.getRevision())
+            if revision > latest_revision:
+              latest_bt = bt
+      return latest_bt
 
     def getInstalledBusinessTemplatesList(self):
       """Deprecated.
-- 
2.30.9


From 61d9ccc46ca26240f548ed96c8e8f7b6c838ed90 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Wed, 13 Oct 2010 13:32:15 +0000
Subject: [PATCH 009/163] Ignore ill-formed revision numbers in
 getInstalledBusinessTemplate.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39103 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/TemplateTool.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/Tool/TemplateTool.py b/product/ERP5/Tool/TemplateTool.py
index 3c5e7faeef..f3d0c33c77 100644
--- a/product/ERP5/Tool/TemplateTool.py
+++ b/product/ERP5/Tool/TemplateTool.py
@@ -129,7 +129,11 @@ class TemplateTool (BaseTool):
             latest_bt = bt
             break
           elif strict is False and installation_state == 'replaced':
-            revision = int(bt.getRevision())
+            revision = bt.getRevision()
+            try:
+              revision = int(revision)
+            except ValueError:
+              continue
             if revision > latest_revision:
               latest_bt = bt
       return latest_bt
-- 
2.30.9


From ee85f02e9cb795b85f61770fb387c7515a86f1b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Wed, 13 Oct 2010 13:54:50 +0000
Subject: [PATCH 010/163]  - simplify default makefile  - put packages related
 tasks in Makefile.packages  - update README

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39104 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/Makefile                  | 86 ------------------------------
 buildout/Makefile.packages         | 85 +++++++++++++++++++++++++++++
 buildout/README.Debian.Package.txt |  2 +-
 3 files changed, 86 insertions(+), 87 deletions(-)
 create mode 100644 buildout/Makefile.packages

diff --git a/buildout/Makefile b/buildout/Makefile
index 3a4edd5fb0..1d4842ac81 100644
--- a/buildout/Makefile
+++ b/buildout/Makefile
@@ -1,16 +1,5 @@
 PYTHON=python
 BUILDOUT_OPT=-U -v
-SOFTWARE_BUILD_PATH='/opt/erp5/'`cat VERSION.txt`
-PACKAGE_INSTALL_PATH='opt/erp5/'`cat VERSION.txt`
-ifndef $(PACKAGE_VERSION)
-PACKAGE_VERSION=`cat VERSION.txt`
-endif
-ifndef $(PACKAGE_SOFTWARE_RELEASE)
-PACKAGE_SOFTWARE_RELEASE=001
-endif
-ifndef $(PACKAGE_APPLICATION_RELEASE)
-PACKAGE_APPLICATION_RELEASE=001
-endif
 
 software: bin/buildout
 	$(PYTHON) -S bin/buildout $(BUILDOUT_OPT)
@@ -21,78 +10,3 @@ bin/buildout:
 # run make assert to check that all is working
 assert: bin/python2.4
 	bin/python2.4 tests/assertSoftware.py
-
-debian-appliance:
-	svn co --ignore-externals https://svn.erp5.org/repos/public/spec/debian-erp5-appliance/ debian-erp5-appliance
-	sed -i "s,__PACKAGE_NAME__,erp5-$(PACKAGE_VERSION),g" debian-erp5-appliance/debian/control
-	sed -i "s,__PACKAGE_VERSION__,$(PACKAGE_VERSION),g" debian-erp5-appliance/debian/changelog
-	sed -i "s,__PACKAGE_RELEASE__,$(PACKAGE_SOFTWARE_RELEASE),g" debian-erp5-appliance/debian/changelog
-	sudo svn co https://svn.erp5.org/repos/public/erp5/release/5.4.6/ $(SOFTWARE_BUILD_PATH)
-	sudo chown -R `whoami` $(SOFTWARE_BUILD_PATH)
-	sudo $(SOFTWARE_BUILD_PATH)/helpers/debian.lenny.sh
-	cd $(SOFTWARE_BUILD_PATH); $(MAKE) $(MFLAGS)
-	mkdir -p debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH)
-	mv $(SOFTWARE_BUILD_PATH)/* debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH)
-	find debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH) -type d -name .svn -exec rm -rf {} \;
-	find debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH) -name '*.pyc' -delete
-	rm -rf debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH)/downloads/* 
-	rm -rf debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH)/parts/*__unpack__
-	cd debian-erp5-appliance/; sudo dpkg-buildpackage -b 
-	svn co  https://svn.erp5.org/repos/public/spec/debian-tiolive-application/ debian-tiolive-application
-	sed -i "s,__PACKAGE_VERSION__,$(PACKAGE_VERSION),g" debian-tiolive-application/debian/rules
-	sed -i "s,__PACKAGE_VERSION__,$(PACKAGE_VERSION),g" debian-tiolive-application/debian/changelog
-	sed -i "s,__PACKAGE_RELEASE__,$(PACKAGE_APPLICATION_RELEASE),g" debian-tiolive-application/debian/changelog
-	cd debian-tiolive-application; sudo dpkg-buildpackage -b
-
-checkout-rpmgen:
-	svn co https://svn.erp5.org/repos/public/erp5/trunk/utils/rpmgen rpmgen
-
-mandriva-rpm-appliance: checkout-rpmgen
-	sed -i "s,name = erp5-official-buildout,name = erp5-`cat VERSION.txt`,g" rpmgen/profiles/mandriva.cfg
-	sed -i "s,\$${checkout:location\}\/VERSION.txt,$(PACKAGE_VERSION),g" rpmgen/profiles/mandriva.cfg
-	sed -i "/release \= 001/{x;/^$$/s//0/;y/012/123/;/2/{x;s/release = 001/release = $(PACKAGE_APPLICATION_RELEASE)/;x;};x;}" rpmgen/profiles/mandriva.cfg
-	sed -i 's,release = 001,release = $(PACKAGE_SOFTWARE_RELEASE),1' rpmgen/profiles/mandriva.cfg
-	sed -i "s,\$$(shell cat parts/checkout/VERSION.txt), `cat VERSION.txt`,g" rpmgen/Makefile
-	sudo helpers/mandriva2010.0.sh
-	cd rpmgen; make mandriva
-
-opensuse11.2-rpm-appliance: checkout-rpmgen
-	sed -i "s,mandriva,opensuse11.2,g" rpmgen/buildout.cfg
-	sed -i "s,name = erp5-official-buildout,name = erp5-$(PACKAGE_VERSION),g" rpmgen/profiles/opensuse11.2.cfg
-	sed -i "s,\$${checkout:location\}\/VERSION.txt,$(PACKAGE_VERSION),g" rpmgen/profiles/opensuse11.2.cfg
-	sed -i "/release \= 001/{x;/^$$/s//0/;y/012/123/;/2/{x;s/release = 001/release = $(PACKAGE_APPLICATION_RELEASE)/;x;};x;}" rpmgen/profiles/opensuse11.2.cfg
-	sed -i 's,release = 001,release = $(PACKAGE_SOFTWARE_RELEASE),1' rpmgen/profiles/opensuse11.2.cfg
-	sed -i "s,\$$(shell cat parts/checkout/VERSION.txt),$(PACKAGE_VERSION),g" rpmgen/Makefile
-	sudo helpers/opensuse.sh
-	cd rpmgen; make opensuse
-
-opensuse11.3-rpm-appliance: checkout-rpmgen
-	sed -i "s,mandriva,opensuse11.3,g" rpmgen/buildout.cfg
-	sed -i "s,name = erp5-official-buildout,name = erp5-$(PACKAGE_VERSION),g" rpmgen/profiles/opensuse11.3.cfg
-	sed -i "s,\$${checkout:location\}\/VERSION.txt,$(PACKAGE_VERSION),g" rpmgen/profiles/opensuse11.3.cfg
-	sed -i "/release \= 001/{x;/^$$/s//0/;y/012/123/;/2/{x;s/release = 001/release = $(PACKAGE_APPLICATION_RELEASE)/;x;};x;}" rpmgen/profiles/opensuse11.3.cfg
-	sed -i 's,release = 001,release = $(PACKAGE_SOFTWARE_RELEASE),1' rpmgen/profiles/opensuse11.3.cfg
-	sed -i "s,\$$(shell cat parts/checkout/VERSION.txt),$(PACKAGE_VERSION),g" rpmgen/Makefile
-	sudo helpers/opensuse.sh
-	cd rpmgen; make opensuse
-
-fedora12-rpm-appliance: checkout-rpmgen
-	sed -i "s,mandriva,fedora12,g" rpmgen/buildout.cfg
-	sed -i "s,name = erp5-official-buildout,name = erp5-$(PACKAGE_VERSION),g" rpmgen/profiles/fedora12.cfg
-	sed -i "s,\$${checkout:location\}\/VERSION.txt,$(PACKAGE_VERSION),g" rpmgen/profiles/fedora12.cfg
-	sed -i "/release \= 001/{x;/^$$/s//0/;y/012/123/;/2/{x;s/release = 001/release = $(PACKAGE_APPLICATION_RELEASE)/;x;};x;}" rpmgen/profiles/fedora12.cfg
-	sed -i 's,release = 001,release = $(PACKAGE_SOFTWARE_RELEASE),1' rpmgen/profiles/fedora12.cfg
-	sed -i "s,\$$(shell cat parts/checkout/VERSION.txt),$(PACKAGE_VERSION),g" rpmgen/Makefile
-	sudo helpers/fedora.sh
-	cd rpmgen; make fedora
-
-fedora13-rpm-appliance: checkout-rpmgen
-	sed -i "s,mandriva,fedora13,g" rpmgen/buildout.cfg
-	sed -i "s,name = erp5-official-buildout,name = erp5-$(PACKAGE_VERSION),g" rpmgen/profiles/fedora13.cfg
-	sed -i "s,\$${checkout:location\}\/VERSION.txt,$(PACKAGE_VERSION),g" rpmgen/profiles/fedora13.cfg
-	sed -i "/release \= 001/{x;/^$$/s//0/;y/012/123/;/2/{x;s/release = 001/release = $(PACKAGE_APPLICATION_RELEASE)/;x;};x;}" rpmgen/profiles/fedora13.cfg
-	sed -i 's,release = 001,release = $(PACKAGE_SOFTWARE_RELEASE),1' rpmgen/profiles/fedora13.cfg
-	sed -i "s,\$$(shell cat parts/checkout/VERSION.txt),$(PACKAGE_VERSION),g" rpmgen/Makefile
-	sudo helpers/fedora.sh
-	cd rpmgen; make fedora
-
diff --git a/buildout/Makefile.packages b/buildout/Makefile.packages
new file mode 100644
index 0000000000..8b87f1b50e
--- /dev/null
+++ b/buildout/Makefile.packages
@@ -0,0 +1,85 @@
+SOFTWARE_BUILD_PATH='/opt/erp5/'`cat VERSION.txt`
+PACKAGE_INSTALL_PATH='opt/erp5/'`cat VERSION.txt`
+ifndef $(PACKAGE_VERSION)
+PACKAGE_VERSION=`cat VERSION.txt`
+endif
+ifndef $(PACKAGE_SOFTWARE_RELEASE)
+PACKAGE_SOFTWARE_RELEASE=001
+endif
+ifndef $(PACKAGE_APPLICATION_RELEASE)
+PACKAGE_APPLICATION_RELEASE=001
+endif
+debian-appliance:
+	svn co --ignore-externals https://svn.erp5.org/repos/public/spec/debian-erp5-appliance/ debian-erp5-appliance
+	sed -i "s,__PACKAGE_NAME__,erp5-$(PACKAGE_VERSION),g" debian-erp5-appliance/debian/control
+	sed -i "s,__PACKAGE_VERSION__,$(PACKAGE_VERSION),g" debian-erp5-appliance/debian/changelog
+	sed -i "s,__PACKAGE_RELEASE__,$(PACKAGE_SOFTWARE_RELEASE),g" debian-erp5-appliance/debian/changelog
+	sudo svn co https://svn.erp5.org/repos/public/erp5/release/5.4.6/ $(SOFTWARE_BUILD_PATH)
+	sudo chown -R `whoami` $(SOFTWARE_BUILD_PATH)
+	sudo $(SOFTWARE_BUILD_PATH)/helpers/debian.lenny.sh
+	cd $(SOFTWARE_BUILD_PATH); $(MAKE) $(MFLAGS)
+	mkdir -p debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH)
+	mv $(SOFTWARE_BUILD_PATH)/* debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH)
+	find debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH) -type d -name .svn -exec rm -rf {} \;
+	find debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH) -name '*.pyc' -delete
+	rm -rf debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH)/downloads/* 
+	rm -rf debian-erp5-appliance/debian/erp5-$(PACKAGE_VERSION)/$(PACKAGE_INSTALL_PATH)/parts/*__unpack__
+	cd debian-erp5-appliance/; sudo dpkg-buildpackage -b 
+	svn co  https://svn.erp5.org/repos/public/spec/debian-tiolive-application/ debian-tiolive-application
+	sed -i "s,__PACKAGE_VERSION__,$(PACKAGE_VERSION),g" debian-tiolive-application/debian/rules
+	sed -i "s,__PACKAGE_VERSION__,$(PACKAGE_VERSION),g" debian-tiolive-application/debian/changelog
+	sed -i "s,__PACKAGE_RELEASE__,$(PACKAGE_APPLICATION_RELEASE),g" debian-tiolive-application/debian/changelog
+	cd debian-tiolive-application; sudo dpkg-buildpackage -b
+
+checkout-rpmgen:
+	svn co https://svn.erp5.org/repos/public/erp5/trunk/utils/rpmgen rpmgen
+
+mandriva-rpm-appliance: checkout-rpmgen
+	sed -i "s,name = erp5-official-buildout,name = erp5-`cat VERSION.txt`,g" rpmgen/profiles/mandriva.cfg
+	sed -i "s,\$${checkout:location\}\/VERSION.txt,$(PACKAGE_VERSION),g" rpmgen/profiles/mandriva.cfg
+	sed -i "/release \= 001/{x;/^$$/s//0/;y/012/123/;/2/{x;s/release = 001/release = $(PACKAGE_APPLICATION_RELEASE)/;x;};x;}" rpmgen/profiles/mandriva.cfg
+	sed -i 's,release = 001,release = $(PACKAGE_SOFTWARE_RELEASE),1' rpmgen/profiles/mandriva.cfg
+	sed -i "s,\$$(shell cat parts/checkout/VERSION.txt), `cat VERSION.txt`,g" rpmgen/Makefile
+	sudo helpers/mandriva2010.0.sh
+	cd rpmgen; make mandriva
+
+opensuse11.2-rpm-appliance: checkout-rpmgen
+	sed -i "s,mandriva,opensuse11.2,g" rpmgen/buildout.cfg
+	sed -i "s,name = erp5-official-buildout,name = erp5-$(PACKAGE_VERSION),g" rpmgen/profiles/opensuse11.2.cfg
+	sed -i "s,\$${checkout:location\}\/VERSION.txt,$(PACKAGE_VERSION),g" rpmgen/profiles/opensuse11.2.cfg
+	sed -i "/release \= 001/{x;/^$$/s//0/;y/012/123/;/2/{x;s/release = 001/release = $(PACKAGE_APPLICATION_RELEASE)/;x;};x;}" rpmgen/profiles/opensuse11.2.cfg
+	sed -i 's,release = 001,release = $(PACKAGE_SOFTWARE_RELEASE),1' rpmgen/profiles/opensuse11.2.cfg
+	sed -i "s,\$$(shell cat parts/checkout/VERSION.txt),$(PACKAGE_VERSION),g" rpmgen/Makefile
+	sudo helpers/opensuse.sh
+	cd rpmgen; make opensuse
+
+opensuse11.3-rpm-appliance: checkout-rpmgen
+	sed -i "s,mandriva,opensuse11.3,g" rpmgen/buildout.cfg
+	sed -i "s,name = erp5-official-buildout,name = erp5-$(PACKAGE_VERSION),g" rpmgen/profiles/opensuse11.3.cfg
+	sed -i "s,\$${checkout:location\}\/VERSION.txt,$(PACKAGE_VERSION),g" rpmgen/profiles/opensuse11.3.cfg
+	sed -i "/release \= 001/{x;/^$$/s//0/;y/012/123/;/2/{x;s/release = 001/release = $(PACKAGE_APPLICATION_RELEASE)/;x;};x;}" rpmgen/profiles/opensuse11.3.cfg
+	sed -i 's,release = 001,release = $(PACKAGE_SOFTWARE_RELEASE),1' rpmgen/profiles/opensuse11.3.cfg
+	sed -i "s,\$$(shell cat parts/checkout/VERSION.txt),$(PACKAGE_VERSION),g" rpmgen/Makefile
+	sudo helpers/opensuse.sh
+	cd rpmgen; make opensuse
+
+fedora12-rpm-appliance: checkout-rpmgen
+	sed -i "s,mandriva,fedora12,g" rpmgen/buildout.cfg
+	sed -i "s,name = erp5-official-buildout,name = erp5-$(PACKAGE_VERSION),g" rpmgen/profiles/fedora12.cfg
+	sed -i "s,\$${checkout:location\}\/VERSION.txt,$(PACKAGE_VERSION),g" rpmgen/profiles/fedora12.cfg
+	sed -i "/release \= 001/{x;/^$$/s//0/;y/012/123/;/2/{x;s/release = 001/release = $(PACKAGE_APPLICATION_RELEASE)/;x;};x;}" rpmgen/profiles/fedora12.cfg
+	sed -i 's,release = 001,release = $(PACKAGE_SOFTWARE_RELEASE),1' rpmgen/profiles/fedora12.cfg
+	sed -i "s,\$$(shell cat parts/checkout/VERSION.txt),$(PACKAGE_VERSION),g" rpmgen/Makefile
+	sudo helpers/fedora.sh
+	cd rpmgen; make fedora
+
+fedora13-rpm-appliance: checkout-rpmgen
+	sed -i "s,mandriva,fedora13,g" rpmgen/buildout.cfg
+	sed -i "s,name = erp5-official-buildout,name = erp5-$(PACKAGE_VERSION),g" rpmgen/profiles/fedora13.cfg
+	sed -i "s,\$${checkout:location\}\/VERSION.txt,$(PACKAGE_VERSION),g" rpmgen/profiles/fedora13.cfg
+	sed -i "/release \= 001/{x;/^$$/s//0/;y/012/123/;/2/{x;s/release = 001/release = $(PACKAGE_APPLICATION_RELEASE)/;x;};x;}" rpmgen/profiles/fedora13.cfg
+	sed -i 's,release = 001,release = $(PACKAGE_SOFTWARE_RELEASE),1' rpmgen/profiles/fedora13.cfg
+	sed -i "s,\$$(shell cat parts/checkout/VERSION.txt),$(PACKAGE_VERSION),g" rpmgen/Makefile
+	sudo helpers/fedora.sh
+	cd rpmgen; make fedora
+
diff --git a/buildout/README.Debian.Package.txt b/buildout/README.Debian.Package.txt
index 5af26147ab..8a3ce4870d 100644
--- a/buildout/README.Debian.Package.txt
+++ b/buildout/README.Debian.Package.txt
@@ -14,5 +14,5 @@ For example:
 
 Run make inside:
   cd ~/buildout
-  make debian-appliance PACKAGE_VERSION=001
+  make -f Makefile.packages debian-appliance PACKAGE_VERSION=001
 
-- 
2.30.9


From 2c72d1e63b98eff71b0fc3ebff440b8fbf143a80 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 13 Oct 2010 14:02:38 +0000
Subject: [PATCH 011/163] Improve required fields marking. Clean up "important"
 CSS usage.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39105 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/km_css/layout.css.xml       | 20 ++++++++++---------
 .../erp5_km_theme/km_css/splash.css.xml       |  2 +-
 bt5/erp5_km/bt/revision                       |  2 +-
 3 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
index b2a0eaaa91..90979256ca 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
@@ -184,8 +184,11 @@ float: left;\n
 \n
 .content .field label, .content .field .input {\n
   width: 100%;\n
+  padding-left:10px;\n
+\n
 }\n
 \n
+\n
 .content .field label {\n
 \n
 width:30%;\n
@@ -1242,7 +1245,7 @@ fieldset.right_registration h4 {\n
   margin: 0 0 10px 0;\n
   font-weight: bold;\n
   padding: 0.1em 0.5em;\n
-  background: #5B7C9B none repeat scroll 0% !important;\n
+  background: #5B7C9B none repeat scroll 0% ;\n
   color: white !important;\n
   display: block;\n
   font-size: 1.2em;\n
@@ -1271,12 +1274,6 @@ fieldset.right_registration label {\n
   padding-right: 0.1em;\n
 }\n
 \n
-fieldset.right_registration div.required label {\n
-  background-image:url(km_img/required_mark.png) !important;\n
-  background-position:left center !important;\n
-  background-repeat:no-repeat !important;\n
-}\n
-\n
 fieldset.left_registration input,\n
 fieldset.left_registration textarea,\n
 fieldset.left_registration select,\n
@@ -1348,8 +1345,13 @@ div.gadget-management{\n
 }\n
 \n
 div.required label{\n
-  padding-top: 4px;\n
-  background:  url("../km_img/required_mark.png") no-repeat;\n
+  background-image:url("km_img/required_mark.png");\n
+  background-position:left center;\n
+  background-repeat:no-repeat;\n
+  padding-left: 10px;\n
+\n
+/*  padding-top: 4px;\n
+  background:  url("../km_img/required_mark.png") no-repeat;*/\n
 }\n
 \n
 /* login form */\n
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/splash.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/splash.css.xml
index d572a8dfdb..78a9304f38 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/splash.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/splash.css.xml
@@ -100,7 +100,7 @@
 \tdisplay: block;\n
 \twidth: 924px;\n
 \theight: 283px;\n
-margin:0 14px 10px;\n
+        margin:10px 14px 10px;\n
 \n
 }\n
 \n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 30ab5448a9..647bbc9964 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1593
\ No newline at end of file
+1594
\ No newline at end of file
-- 
2.30.9


From 1170151b762e20dbd4eb0af42d0995afb467d64a Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Wed, 13 Oct 2010 14:05:54 +0000
Subject: [PATCH 012/163] remove wrongly committed 'None' file.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39106 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 bt5/delivery_patch/bt/publication_url                      | 1 -
 bt5/delivery_patch/bt/revision                             | 2 +-
 bt5/erp5_accounting/bt/publication_url                     | 1 -
 bt5/erp5_accounting/bt/revision                            | 2 +-
 bt5/erp5_accounting_l10n_br_extend/bt/publication_url      | 1 -
 bt5/erp5_accounting_l10n_br_extend/bt/revision             | 2 +-
 bt5/erp5_accounting_l10n_br_sme/bt/publication_url         | 1 -
 bt5/erp5_accounting_l10n_br_sme/bt/revision                | 2 +-
 bt5/erp5_accounting_l10n_fr/bt/publication_url             | 1 -
 bt5/erp5_accounting_l10n_fr/bt/revision                    | 2 +-
 bt5/erp5_accounting_l10n_fr_m14/bt/publication_url         | 1 -
 bt5/erp5_accounting_l10n_fr_m14/bt/revision                | 2 +-
 bt5/erp5_accounting_l10n_fr_m4/bt/publication_url          | 1 -
 bt5/erp5_accounting_l10n_fr_m4/bt/revision                 | 2 +-
 bt5/erp5_accounting_l10n_fr_pca/bt/publication_url         | 1 -
 bt5/erp5_accounting_l10n_fr_pca/bt/revision                | 2 +-
 bt5/erp5_accounting_l10n_ifrs/bt/publication_url           | 1 -
 bt5/erp5_accounting_l10n_ifrs/bt/revision                  | 2 +-
 bt5/erp5_accounting_l10n_in/bt/publication_url             | 1 -
 bt5/erp5_accounting_l10n_in/bt/revision                    | 2 +-
 bt5/erp5_accounting_l10n_jp/bt/publication_url             | 1 -
 bt5/erp5_accounting_l10n_jp/bt/revision                    | 2 +-
 bt5/erp5_accounting_l10n_mt/bt/publication_url             | 1 -
 bt5/erp5_accounting_l10n_mt/bt/revision                    | 2 +-
 bt5/erp5_accounting_l10n_pl/bt/publication_url             | 1 -
 bt5/erp5_accounting_l10n_pl/bt/revision                    | 2 +-
 bt5/erp5_accounting_l10n_pl_default_gap/bt/publication_url | 1 -
 bt5/erp5_accounting_l10n_pl_default_gap/bt/revision        | 2 +-
 bt5/erp5_accounting_l10n_sn/bt/publication_url             | 1 -
 bt5/erp5_accounting_l10n_sn/bt/revision                    | 2 +-
 bt5/erp5_accounting_ui_test/bt/publication_url             | 1 -
 bt5/erp5_accounting_ui_test/bt/revision                    | 2 +-
 bt5/erp5_administration/bt/publication_url                 | 1 -
 bt5/erp5_administration/bt/revision                        | 2 +-
 bt5/erp5_advanced_invoicing/bt/publication_url             | 1 -
 bt5/erp5_advanced_invoicing/bt/revision                    | 2 +-
 bt5/erp5_apparel/bt/publication_url                        | 1 -
 bt5/erp5_apparel/bt/revision                               | 2 +-
 bt5/erp5_archive/bt/publication_url                        | 1 -
 bt5/erp5_archive/bt/revision                               | 2 +-
 bt5/erp5_auto_logout/bt/publication_url                    | 1 -
 bt5/erp5_auto_logout/bt/revision                           | 2 +-
 bt5/erp5_autocompletion_ui/bt/publication_url              | 1 -
 bt5/erp5_autocompletion_ui/bt/revision                     | 2 +-
 bt5/erp5_banking_cash/bt/publication_url                   | 1 -
 bt5/erp5_banking_cash/bt/revision                          | 2 +-
 bt5/erp5_banking_check/bt/publication_url                  | 1 -
 bt5/erp5_banking_check/bt/revision                         | 2 +-
 bt5/erp5_banking_core/bt/publication_url                   | 1 -
 bt5/erp5_banking_core/bt/revision                          | 2 +-
 bt5/erp5_banking_inventory/bt/publication_url              | 1 -
 bt5/erp5_banking_inventory/bt/revision                     | 2 +-
 bt5/erp5_barcode/bt/publication_url                        | 1 -
 bt5/erp5_barcode/bt/revision                               | 2 +-
 bt5/erp5_base/bt/publication_url                           | 1 -
 bt5/erp5_base/bt/revision                                  | 2 +-
 bt5/erp5_bespin/bt/publication_url                         | 1 -
 bt5/erp5_bespin/bt/revision                                | 2 +-
 bt5/erp5_bpm/bt/publication_url                            | 1 -
 bt5/erp5_bpm/bt/revision                                   | 2 +-
 bt5/erp5_budget/bt/publication_url                         | 1 -
 bt5/erp5_budget/bt/revision                                | 2 +-
 bt5/erp5_calendar/bt/publication_url                       | 1 -
 bt5/erp5_calendar/bt/revision                              | 2 +-
 bt5/erp5_commerce/bt/publication_url                       | 1 -
 bt5/erp5_commerce/bt/revision                              | 2 +-
 bt5/erp5_computer_immobilisation/bt/publication_url        | 1 -
 bt5/erp5_computer_immobilisation/bt/revision               | 2 +-
 bt5/erp5_consulting/bt/publication_url                     | 1 -
 bt5/erp5_consulting/bt/revision                            | 2 +-
 bt5/erp5_content_translation/bt/publication_url            | 1 -
 bt5/erp5_content_translation/bt/revision                   | 2 +-
 bt5/erp5_crm/bt/publication_url                            | 1 -
 bt5/erp5_crm/bt/revision                                   | 2 +-
 bt5/erp5_csv_style/bt/publication_url                      | 1 -
 bt5/erp5_csv_style/bt/revision                             | 2 +-
 bt5/erp5_deferred_style/bt/publication_url                 | 1 -
 bt5/erp5_deferred_style/bt/revision                        | 2 +-
 bt5/erp5_development_wizard/bt/publication_url             | 1 -
 bt5/erp5_development_wizard/bt/revision                    | 2 +-
 bt5/erp5_dhtml_ui_test/bt/publication_url                  | 1 -
 bt5/erp5_dhtml_ui_test/bt/revision                         | 2 +-
 bt5/erp5_discount_resource/bt/publication_url              | 1 -
 bt5/erp5_discount_resource/bt/revision                     | 2 +-
 bt5/erp5_discussion/bt/publication_url                     | 1 -
 bt5/erp5_discussion/bt/revision                            | 2 +-
 bt5/erp5_dms/bt/publication_url                            | 1 -
 bt5/erp5_dms/bt/revision                                   | 2 +-
 bt5/erp5_dms_ui_test/bt/publication_url                    | 1 -
 bt5/erp5_dms_ui_test/bt/revision                           | 2 +-
 bt5/erp5_documentation/bt/publication_url                  | 1 -
 bt5/erp5_documentation/bt/revision                         | 2 +-
 bt5/erp5_dummy_movement/bt/publication_url                 | 1 -
 bt5/erp5_dummy_movement/bt/revision                        | 2 +-
 bt5/erp5_egov/bt/publication_url                           | 1 -
 bt5/erp5_egov/bt/revision                                  | 2 +-
 bt5/erp5_egov_l10n_fr/bt/publication_url                   | 1 -
 bt5/erp5_egov_l10n_fr/bt/revision                          | 2 +-
 bt5/erp5_egov_mysql_innodb_catalog/bt/publication_url      | 1 -
 bt5/erp5_egov_mysql_innodb_catalog/bt/revision             | 2 +-
 bt5/erp5_forge/bt/publication_url                          | 1 -
 bt5/erp5_forge/bt/revision                                 | 2 +-
 bt5/erp5_forge_release/bt/publication_url                  | 1 -
 bt5/erp5_forge_release/bt/revision                         | 2 +-
 bt5/erp5_full_text_sphinxse_catalog/bt/publication_url     | 1 -
 bt5/erp5_full_text_sphinxse_catalog/bt/revision            | 2 +-
 bt5/erp5_hr/bt/publication_url                             | 1 -
 bt5/erp5_hr/bt/revision                                    | 2 +-
 bt5/erp5_hr_l10n_jp/bt/publication_url                     | 1 -
 bt5/erp5_hr_l10n_jp/bt/revision                            | 2 +-
 bt5/erp5_ical_style/bt/publication_url                     | 1 -
 bt5/erp5_ical_style/bt/revision                            | 2 +-
 bt5/erp5_immobilisation/bt/publication_url                 | 1 -
 bt5/erp5_immobilisation/bt/revision                        | 2 +-
 bt5/erp5_ingestion/bt/publication_url                      | 1 -
 bt5/erp5_ingestion/bt/revision                             | 2 +-
 bt5/erp5_ingestion_mysql_innodb_catalog/bt/publication_url | 1 -
 bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision        | 2 +-
 bt5/erp5_invoicing/bt/publication_url                      | 1 -
 bt5/erp5_invoicing/bt/revision                             | 2 +-
 bt5/erp5_item/bt/publication_url                           | 1 -
 bt5/erp5_item/bt/revision                                  | 2 +-
 bt5/erp5_jquery/bt/publication_url                         | 1 -
 bt5/erp5_jquery/bt/revision                                | 2 +-
 bt5/erp5_km/bt/publication_url                             | 1 -
 bt5/erp5_km/bt/revision                                    | 2 +-
 bt5/erp5_km_ui_test/bt/publication_url                     | 1 -
 bt5/erp5_km_ui_test/bt/revision                            | 2 +-
 bt5/erp5_knowledge_pad/bt/publication_url                  | 1 -
 bt5/erp5_knowledge_pad/bt/revision                         | 2 +-
 bt5/erp5_l10n_fr/bt/publication_url                        | 1 -
 bt5/erp5_l10n_fr/bt/revision                               | 2 +-
 bt5/erp5_l10n_ja/bt/publication_url                        | 1 -
 bt5/erp5_l10n_ja/bt/revision                               | 2 +-
 bt5/erp5_l10n_ko/bt/publication_url                        | 1 -
 bt5/erp5_l10n_ko/bt/revision                               | 2 +-
 bt5/erp5_l10n_pl_PL/bt/publication_url                     | 1 -
 bt5/erp5_l10n_pl_PL/bt/revision                            | 2 +-
 bt5/erp5_l10n_pt-BR/bt/publication_url                     | 1 -
 bt5/erp5_l10n_pt-BR/bt/revision                            | 2 +-
 bt5/erp5_ldap_catalog/bt/publication_url                   | 1 -
 bt5/erp5_ldap_catalog/bt/revision                          | 2 +-
 bt5/erp5_legacy_tax_system/bt/publication_url              | 1 -
 bt5/erp5_legacy_tax_system/bt/revision                     | 2 +-
 bt5/erp5_mobile/bt/publication_url                         | 1 -
 bt5/erp5_mobile/bt/revision                                | 2 +-
 bt5/erp5_mobile_ui_test/bt/publication_url                 | 1 -
 bt5/erp5_mobile_ui_test/bt/revision                        | 2 +-
 bt5/erp5_mrp/bt/publication_url                            | 1 -
 bt5/erp5_mrp/bt/revision                                   | 2 +-
 bt5/erp5_ods_style/bt/publication_url                      | 1 -
 bt5/erp5_ods_style/bt/revision                             | 2 +-
 bt5/erp5_odt_style/bt/publication_url                      | 1 -
 bt5/erp5_odt_style/bt/revision                             | 2 +-
 bt5/erp5_ooo_import/bt/publication_url                     | 1 -
 bt5/erp5_ooo_import/bt/revision                            | 2 +-
 bt5/erp5_open_trade/bt/publication_url                     | 1 -
 bt5/erp5_open_trade/bt/revision                            | 2 +-
 bt5/erp5_open_trade_legacy_tax_system/bt/publication_url   | 1 -
 bt5/erp5_open_trade_legacy_tax_system/bt/revision          | 2 +-
 bt5/erp5_payroll/bt/publication_url                        | 1 -
 bt5/erp5_payroll/bt/revision                               | 2 +-
 bt5/erp5_payroll_l10n_fr/bt/publication_url                | 1 -
 bt5/erp5_payroll_l10n_fr/bt/revision                       | 2 +-
 bt5/erp5_payroll_l10n_jp/bt/publication_url                | 1 -
 bt5/erp5_payroll_l10n_jp/bt/revision                       | 2 +-
 bt5/erp5_payroll_ui_test/bt/publication_url                | 1 -
 bt5/erp5_payroll_ui_test/bt/revision                       | 2 +-
 bt5/erp5_pdf_editor/bt/publication_url                     | 1 -
 bt5/erp5_pdf_editor/bt/revision                            | 2 +-
 bt5/erp5_pdf_style/bt/publication_url                      | 1 -
 bt5/erp5_pdf_style/bt/revision                             | 2 +-
 bt5/erp5_pdm/bt/publication_url                            | 1 -
 bt5/erp5_pdm/bt/revision                                   | 2 +-
 bt5/erp5_pdm_ui_test/bt/publication_url                    | 1 -
 bt5/erp5_pdm_ui_test/bt/revision                           | 2 +-
 bt5/erp5_popup_ui/bt/publication_url                       | 1 -
 bt5/erp5_popup_ui/bt/revision                              | 2 +-
 bt5/erp5_project/bt/publication_url                        | 1 -
 bt5/erp5_project/bt/revision                               | 2 +-
 bt5/erp5_project_mysql_innodb_catalog/bt/publication_url   | 1 -
 bt5/erp5_project_mysql_innodb_catalog/bt/revision          | 2 +-
 bt5/erp5_public_accounting_budget/bt/publication_url       | 1 -
 bt5/erp5_public_accounting_budget/bt/revision              | 2 +-
 bt5/erp5_publication/bt/publication_url                    | 1 -
 bt5/erp5_publication/bt/revision                           | 2 +-
 bt5/erp5_registry_ohada/bt/publication_url                 | 1 -
 bt5/erp5_registry_ohada/bt/revision                        | 2 +-
 bt5/erp5_registry_ohada_l10n_fr/bt/publication_url         | 1 -
 bt5/erp5_registry_ohada_l10n_fr/bt/revision                | 2 +-
 bt5/erp5_rss_reader/bt/publication_url                     | 1 -
 bt5/erp5_rss_reader/bt/revision                            | 2 +-
 bt5/erp5_rss_style/bt/publication_url                      | 1 -
 bt5/erp5_rss_style/bt/revision                             | 2 +-
 bt5/erp5_simplified_invoicing/bt/publication_url           | 1 -
 bt5/erp5_simplified_invoicing/bt/revision                  | 2 +-
 bt5/erp5_simulation/bt/publication_url                     | 1 -
 bt5/erp5_simulation/bt/revision                            | 2 +-
 bt5/erp5_social_contracts/bt/publication_url               | 1 -
 bt5/erp5_social_contracts/bt/revision                      | 2 +-
 bt5/erp5_software_pdm/bt/publication_url                   | 1 -
 bt5/erp5_software_pdm/bt/revision                          | 2 +-
 bt5/erp5_syncml/bt/comment                                 | 1 -
 bt5/erp5_syncml/bt/publication_url                         | 1 -
 bt5/erp5_syncml/bt/revision                                | 2 +-
 bt5/erp5_tax_resource/bt/publication_url                   | 1 -
 bt5/erp5_tax_resource/bt/revision                          | 2 +-
 bt5/erp5_trade/bt/publication_url                          | 1 -
 bt5/erp5_trade/bt/revision                                 | 2 +-
 bt5/erp5_trade_proxy_field_legacy/bt/publication_url       | 1 -
 bt5/erp5_trade_proxy_field_legacy/bt/revision              | 2 +-
 bt5/erp5_ui_test/bt/publication_url                        | 1 -
 bt5/erp5_ui_test/bt/revision                               | 2 +-
 bt5/erp5_ui_test_core/bt/publication_url                   | 1 -
 bt5/erp5_ui_test_core/bt/revision                          | 2 +-
 bt5/erp5_upgrader/bt/publication_url                       | 1 -
 bt5/erp5_upgrader/bt/revision                              | 2 +-
 bt5/erp5_upgrader/bt/short_title                           | 1 -
 bt5/erp5_utils/bt/publication_url                          | 1 -
 bt5/erp5_utils/bt/revision                                 | 2 +-
 bt5/erp5_web/bt/publication_url                            | 1 -
 bt5/erp5_web/bt/revision                                   | 2 +-
 bt5/erp5_web_blog/bt/publication_url                       | 1 -
 bt5/erp5_web_blog/bt/revision                              | 2 +-
 bt5/erp5_web_multiflex5_theme/bt/publication_url           | 1 -
 bt5/erp5_web_multiflex5_theme/bt/revision                  | 2 +-
 bt5/erp5_web_ui_test/bt/publication_url                    | 1 -
 bt5/erp5_web_ui_test/bt/revision                           | 2 +-
 bt5/erp5_wizard/bt/publication_url                         | 1 -
 bt5/erp5_wizard/bt/revision                                | 2 +-
 bt5/erp5_worklist_sql/bt/publication_url                   | 1 -
 bt5/erp5_worklist_sql/bt/revision                          | 2 +-
 bt5/test_accounting/bt/publication_url                     | 1 -
 bt5/test_accounting/bt/revision                            | 2 +-
 bt5/test_accounting_fr/bt/publication_url                  | 1 -
 bt5/test_accounting_fr/bt/revision                         | 2 +-
 bt5/test_accounting_in/bt/publication_url                  | 1 -
 bt5/test_accounting_in/bt/revision                         | 2 +-
 bt5/test_accounting_pl/bt/publication_url                  | 1 -
 bt5/test_accounting_pl/bt/revision                         | 2 +-
 bt5/test_core/bt/publication_url                           | 1 -
 bt5/test_core/bt/revision                                  | 2 +-
 bt5/test_html_style/bt/publication_url                     | 1 -
 bt5/test_html_style/bt/revision                            | 2 +-
 bt5/test_web/bt/publication_url                            | 1 -
 bt5/test_web/bt/revision                                   | 2 +-
 bt5/test_xhtml_style/bt/publication_url                    | 1 -
 bt5/test_xhtml_style/bt/revision                           | 2 +-
 bt5/tiolive_base/bt/publication_url                        | 1 -
 bt5/tiolive_base/bt/revision                               | 2 +-
 250 files changed, 124 insertions(+), 250 deletions(-)
 delete mode 100644 bt5/delivery_patch/bt/publication_url
 delete mode 100644 bt5/erp5_accounting/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/publication_url
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/publication_url
 delete mode 100644 bt5/erp5_administration/bt/publication_url
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/publication_url
 delete mode 100644 bt5/erp5_apparel/bt/publication_url
 delete mode 100644 bt5/erp5_archive/bt/publication_url
 delete mode 100644 bt5/erp5_auto_logout/bt/publication_url
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/publication_url
 delete mode 100644 bt5/erp5_banking_cash/bt/publication_url
 delete mode 100644 bt5/erp5_banking_check/bt/publication_url
 delete mode 100644 bt5/erp5_banking_core/bt/publication_url
 delete mode 100644 bt5/erp5_banking_inventory/bt/publication_url
 delete mode 100644 bt5/erp5_barcode/bt/publication_url
 delete mode 100644 bt5/erp5_base/bt/publication_url
 delete mode 100644 bt5/erp5_bespin/bt/publication_url
 delete mode 100644 bt5/erp5_bpm/bt/publication_url
 delete mode 100644 bt5/erp5_budget/bt/publication_url
 delete mode 100644 bt5/erp5_calendar/bt/publication_url
 delete mode 100644 bt5/erp5_commerce/bt/publication_url
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/publication_url
 delete mode 100644 bt5/erp5_consulting/bt/publication_url
 delete mode 100644 bt5/erp5_content_translation/bt/publication_url
 delete mode 100644 bt5/erp5_crm/bt/publication_url
 delete mode 100644 bt5/erp5_csv_style/bt/publication_url
 delete mode 100644 bt5/erp5_deferred_style/bt/publication_url
 delete mode 100644 bt5/erp5_development_wizard/bt/publication_url
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/publication_url
 delete mode 100644 bt5/erp5_discount_resource/bt/publication_url
 delete mode 100644 bt5/erp5_discussion/bt/publication_url
 delete mode 100644 bt5/erp5_dms/bt/publication_url
 delete mode 100644 bt5/erp5_dms_ui_test/bt/publication_url
 delete mode 100644 bt5/erp5_documentation/bt/publication_url
 delete mode 100644 bt5/erp5_dummy_movement/bt/publication_url
 delete mode 100644 bt5/erp5_egov/bt/publication_url
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/publication_url
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/publication_url
 delete mode 100644 bt5/erp5_forge/bt/publication_url
 delete mode 100644 bt5/erp5_forge_release/bt/publication_url
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/publication_url
 delete mode 100644 bt5/erp5_hr/bt/publication_url
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/publication_url
 delete mode 100644 bt5/erp5_ical_style/bt/publication_url
 delete mode 100644 bt5/erp5_immobilisation/bt/publication_url
 delete mode 100644 bt5/erp5_ingestion/bt/publication_url
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/publication_url
 delete mode 100644 bt5/erp5_invoicing/bt/publication_url
 delete mode 100644 bt5/erp5_item/bt/publication_url
 delete mode 100644 bt5/erp5_jquery/bt/publication_url
 delete mode 100644 bt5/erp5_km/bt/publication_url
 delete mode 100644 bt5/erp5_km_ui_test/bt/publication_url
 delete mode 100644 bt5/erp5_knowledge_pad/bt/publication_url
 delete mode 100644 bt5/erp5_l10n_fr/bt/publication_url
 delete mode 100644 bt5/erp5_l10n_ja/bt/publication_url
 delete mode 100644 bt5/erp5_l10n_ko/bt/publication_url
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/publication_url
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/publication_url
 delete mode 100644 bt5/erp5_ldap_catalog/bt/publication_url
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/publication_url
 delete mode 100644 bt5/erp5_mobile/bt/publication_url
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/publication_url
 delete mode 100644 bt5/erp5_mrp/bt/publication_url
 delete mode 100644 bt5/erp5_ods_style/bt/publication_url
 delete mode 100644 bt5/erp5_odt_style/bt/publication_url
 delete mode 100644 bt5/erp5_ooo_import/bt/publication_url
 delete mode 100644 bt5/erp5_open_trade/bt/publication_url
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/publication_url
 delete mode 100644 bt5/erp5_payroll/bt/publication_url
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/publication_url
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/publication_url
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/publication_url
 delete mode 100644 bt5/erp5_pdf_editor/bt/publication_url
 delete mode 100644 bt5/erp5_pdf_style/bt/publication_url
 delete mode 100644 bt5/erp5_pdm/bt/publication_url
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/publication_url
 delete mode 100644 bt5/erp5_popup_ui/bt/publication_url
 delete mode 100644 bt5/erp5_project/bt/publication_url
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/publication_url
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/publication_url
 delete mode 100644 bt5/erp5_publication/bt/publication_url
 delete mode 100644 bt5/erp5_registry_ohada/bt/publication_url
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/publication_url
 delete mode 100644 bt5/erp5_rss_reader/bt/publication_url
 delete mode 100644 bt5/erp5_rss_style/bt/publication_url
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/publication_url
 delete mode 100644 bt5/erp5_simulation/bt/publication_url
 delete mode 100644 bt5/erp5_social_contracts/bt/publication_url
 delete mode 100644 bt5/erp5_software_pdm/bt/publication_url
 delete mode 100644 bt5/erp5_syncml/bt/comment
 delete mode 100644 bt5/erp5_syncml/bt/publication_url
 delete mode 100644 bt5/erp5_tax_resource/bt/publication_url
 delete mode 100644 bt5/erp5_trade/bt/publication_url
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/publication_url
 delete mode 100644 bt5/erp5_ui_test/bt/publication_url
 delete mode 100644 bt5/erp5_ui_test_core/bt/publication_url
 delete mode 100644 bt5/erp5_upgrader/bt/publication_url
 delete mode 100644 bt5/erp5_upgrader/bt/short_title
 delete mode 100644 bt5/erp5_utils/bt/publication_url
 delete mode 100644 bt5/erp5_web/bt/publication_url
 delete mode 100644 bt5/erp5_web_blog/bt/publication_url
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/publication_url
 delete mode 100644 bt5/erp5_web_ui_test/bt/publication_url
 delete mode 100644 bt5/erp5_wizard/bt/publication_url
 delete mode 100644 bt5/erp5_worklist_sql/bt/publication_url
 delete mode 100644 bt5/test_accounting/bt/publication_url
 delete mode 100644 bt5/test_accounting_fr/bt/publication_url
 delete mode 100644 bt5/test_accounting_in/bt/publication_url
 delete mode 100644 bt5/test_accounting_pl/bt/publication_url
 delete mode 100644 bt5/test_core/bt/publication_url
 delete mode 100644 bt5/test_html_style/bt/publication_url
 delete mode 100644 bt5/test_web/bt/publication_url
 delete mode 100644 bt5/test_xhtml_style/bt/publication_url
 delete mode 100644 bt5/tiolive_base/bt/publication_url

diff --git a/bt5/delivery_patch/bt/publication_url b/bt5/delivery_patch/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/delivery_patch/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/delivery_patch/bt/revision b/bt5/delivery_patch/bt/revision
index f11c82a4cb..9a037142aa 100644
--- a/bt5/delivery_patch/bt/revision
+++ b/bt5/delivery_patch/bt/revision
@@ -1 +1 @@
-9
\ No newline at end of file
+10
\ No newline at end of file
diff --git a/bt5/erp5_accounting/bt/publication_url b/bt5/erp5_accounting/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index c197cc7a22..9b1ba7c848 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1369
\ No newline at end of file
+1370
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/publication_url b/bt5/erp5_accounting_l10n_br_extend/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_br_extend/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/revision b/bt5/erp5_accounting_l10n_br_extend/bt/revision
index 19c7bdba7b..8e2afd3427 100644
--- a/bt5/erp5_accounting_l10n_br_extend/bt/revision
+++ b/bt5/erp5_accounting_l10n_br_extend/bt/revision
@@ -1 +1 @@
-16
\ No newline at end of file
+17
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/publication_url b/bt5/erp5_accounting_l10n_br_sme/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_br_sme/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/revision b/bt5/erp5_accounting_l10n_br_sme/bt/revision
index 3cacc0b93c..ca7bf83ac5 100644
--- a/bt5/erp5_accounting_l10n_br_sme/bt/revision
+++ b/bt5/erp5_accounting_l10n_br_sme/bt/revision
@@ -1 +1 @@
-12
\ No newline at end of file
+13
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr/bt/publication_url b/bt5/erp5_accounting_l10n_fr/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_fr/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr/bt/revision b/bt5/erp5_accounting_l10n_fr/bt/revision
index 2edeafb09d..b5045cc404 100644
--- a/bt5/erp5_accounting_l10n_fr/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr/bt/revision
@@ -1 +1 @@
-20
\ No newline at end of file
+21
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/publication_url b/bt5/erp5_accounting_l10n_fr_m14/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_fr_m14/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/revision b/bt5/erp5_accounting_l10n_fr_m14/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/erp5_accounting_l10n_fr_m14/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr_m14/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/publication_url b/bt5/erp5_accounting_l10n_fr_m4/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_fr_m4/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/revision b/bt5/erp5_accounting_l10n_fr_m4/bt/revision
index 3f10ffe7a4..19c7bdba7b 100644
--- a/bt5/erp5_accounting_l10n_fr_m4/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr_m4/bt/revision
@@ -1 +1 @@
-15
\ No newline at end of file
+16
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/publication_url b/bt5/erp5_accounting_l10n_fr_pca/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_fr_pca/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/revision b/bt5/erp5_accounting_l10n_fr_pca/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/erp5_accounting_l10n_fr_pca/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr_pca/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/publication_url b/bt5/erp5_accounting_l10n_ifrs/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_ifrs/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/revision b/bt5/erp5_accounting_l10n_ifrs/bt/revision
index c7930257df..301160a930 100644
--- a/bt5/erp5_accounting_l10n_ifrs/bt/revision
+++ b/bt5/erp5_accounting_l10n_ifrs/bt/revision
@@ -1 +1 @@
-7
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_in/bt/publication_url b/bt5/erp5_accounting_l10n_in/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_in/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_in/bt/revision b/bt5/erp5_accounting_l10n_in/bt/revision
index da2d3988d7..3f10ffe7a4 100644
--- a/bt5/erp5_accounting_l10n_in/bt/revision
+++ b/bt5/erp5_accounting_l10n_in/bt/revision
@@ -1 +1 @@
-14
\ No newline at end of file
+15
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_jp/bt/publication_url b/bt5/erp5_accounting_l10n_jp/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_jp/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_jp/bt/revision b/bt5/erp5_accounting_l10n_jp/bt/revision
index 368f89ceef..d99e90eb96 100644
--- a/bt5/erp5_accounting_l10n_jp/bt/revision
+++ b/bt5/erp5_accounting_l10n_jp/bt/revision
@@ -1 +1 @@
-28
\ No newline at end of file
+29
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_mt/bt/publication_url b/bt5/erp5_accounting_l10n_mt/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_mt/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_mt/bt/revision b/bt5/erp5_accounting_l10n_mt/bt/revision
index 8e2afd3427..25bf17fc5a 100644
--- a/bt5/erp5_accounting_l10n_mt/bt/revision
+++ b/bt5/erp5_accounting_l10n_mt/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl/bt/publication_url b/bt5/erp5_accounting_l10n_pl/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_pl/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl/bt/revision b/bt5/erp5_accounting_l10n_pl/bt/revision
index 6139554210..8783e30511 100644
--- a/bt5/erp5_accounting_l10n_pl/bt/revision
+++ b/bt5/erp5_accounting_l10n_pl/bt/revision
@@ -1 +1 @@
-52
\ No newline at end of file
+53
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/publication_url b/bt5/erp5_accounting_l10n_pl_default_gap/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_pl_default_gap/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision b/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision
index dec2bf5d61..2edeafb09d 100644
--- a/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision
+++ b/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision
@@ -1 +1 @@
-19
\ No newline at end of file
+20
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_sn/bt/publication_url b/bt5/erp5_accounting_l10n_sn/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_l10n_sn/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_sn/bt/revision b/bt5/erp5_accounting_l10n_sn/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_accounting_l10n_sn/bt/revision
+++ b/bt5/erp5_accounting_l10n_sn/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_accounting_ui_test/bt/publication_url b/bt5/erp5_accounting_ui_test/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_accounting_ui_test/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_accounting_ui_test/bt/revision b/bt5/erp5_accounting_ui_test/bt/revision
index 83981c0e3a..a6b4ce8401 100644
--- a/bt5/erp5_accounting_ui_test/bt/revision
+++ b/bt5/erp5_accounting_ui_test/bt/revision
@@ -1 +1 @@
-175
\ No newline at end of file
+176
\ No newline at end of file
diff --git a/bt5/erp5_administration/bt/publication_url b/bt5/erp5_administration/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_administration/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_administration/bt/revision b/bt5/erp5_administration/bt/revision
index d800886d9c..a09fd8ad47 100644
--- a/bt5/erp5_administration/bt/revision
+++ b/bt5/erp5_administration/bt/revision
@@ -1 +1 @@
-123
\ No newline at end of file
+124
\ No newline at end of file
diff --git a/bt5/erp5_advanced_invoicing/bt/publication_url b/bt5/erp5_advanced_invoicing/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_advanced_invoicing/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_advanced_invoicing/bt/revision b/bt5/erp5_advanced_invoicing/bt/revision
index 0fa6a7b088..a46c9d2265 100644
--- a/bt5/erp5_advanced_invoicing/bt/revision
+++ b/bt5/erp5_advanced_invoicing/bt/revision
@@ -1 +1 @@
-90
\ No newline at end of file
+91
\ No newline at end of file
diff --git a/bt5/erp5_apparel/bt/publication_url b/bt5/erp5_apparel/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_apparel/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_apparel/bt/revision b/bt5/erp5_apparel/bt/revision
index d36f9fbea4..02225a563f 100644
--- a/bt5/erp5_apparel/bt/revision
+++ b/bt5/erp5_apparel/bt/revision
@@ -1 +1 @@
-267
\ No newline at end of file
+268
\ No newline at end of file
diff --git a/bt5/erp5_archive/bt/publication_url b/bt5/erp5_archive/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_archive/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_archive/bt/revision b/bt5/erp5_archive/bt/revision
index 8bfa2f5ecd..eaf7a13d15 100644
--- a/bt5/erp5_archive/bt/revision
+++ b/bt5/erp5_archive/bt/revision
@@ -1 +1 @@
-86
\ No newline at end of file
+87
\ No newline at end of file
diff --git a/bt5/erp5_auto_logout/bt/publication_url b/bt5/erp5_auto_logout/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_auto_logout/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_auto_logout/bt/revision b/bt5/erp5_auto_logout/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/erp5_auto_logout/bt/revision
+++ b/bt5/erp5_auto_logout/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/publication_url b/bt5/erp5_autocompletion_ui/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_autocompletion_ui/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/revision b/bt5/erp5_autocompletion_ui/bt/revision
index d00491fd7e..d8263ee986 100644
--- a/bt5/erp5_autocompletion_ui/bt/revision
+++ b/bt5/erp5_autocompletion_ui/bt/revision
@@ -1 +1 @@
-1
+2
\ No newline at end of file
diff --git a/bt5/erp5_banking_cash/bt/publication_url b/bt5/erp5_banking_cash/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_banking_cash/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_banking_cash/bt/revision b/bt5/erp5_banking_cash/bt/revision
index 633a077699..8a2602231b 100644
--- a/bt5/erp5_banking_cash/bt/revision
+++ b/bt5/erp5_banking_cash/bt/revision
@@ -1 +1 @@
-685
\ No newline at end of file
+686
\ No newline at end of file
diff --git a/bt5/erp5_banking_check/bt/publication_url b/bt5/erp5_banking_check/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_banking_check/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_banking_check/bt/revision b/bt5/erp5_banking_check/bt/revision
index 1e6fd03386..3b7560b755 100644
--- a/bt5/erp5_banking_check/bt/revision
+++ b/bt5/erp5_banking_check/bt/revision
@@ -1 +1 @@
-444
+445
\ No newline at end of file
diff --git a/bt5/erp5_banking_core/bt/publication_url b/bt5/erp5_banking_core/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_banking_core/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_banking_core/bt/revision b/bt5/erp5_banking_core/bt/revision
index fc3dff159a..64ae959863 100644
--- a/bt5/erp5_banking_core/bt/revision
+++ b/bt5/erp5_banking_core/bt/revision
@@ -1 +1 @@
-545
+546
\ No newline at end of file
diff --git a/bt5/erp5_banking_inventory/bt/publication_url b/bt5/erp5_banking_inventory/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_banking_inventory/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_banking_inventory/bt/revision b/bt5/erp5_banking_inventory/bt/revision
index 7d37386284..abc4eff6ac 100644
--- a/bt5/erp5_banking_inventory/bt/revision
+++ b/bt5/erp5_banking_inventory/bt/revision
@@ -1 +1 @@
-45
\ No newline at end of file
+46
\ No newline at end of file
diff --git a/bt5/erp5_barcode/bt/publication_url b/bt5/erp5_barcode/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_barcode/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_barcode/bt/revision b/bt5/erp5_barcode/bt/revision
index 3f10ffe7a4..19c7bdba7b 100644
--- a/bt5/erp5_barcode/bt/revision
+++ b/bt5/erp5_barcode/bt/revision
@@ -1 +1 @@
-15
\ No newline at end of file
+16
\ No newline at end of file
diff --git a/bt5/erp5_base/bt/publication_url b/bt5/erp5_base/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_base/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 0dd217acf8..54d5fa6f52 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-880
\ No newline at end of file
+881
\ No newline at end of file
diff --git a/bt5/erp5_bespin/bt/publication_url b/bt5/erp5_bespin/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_bespin/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_bespin/bt/revision b/bt5/erp5_bespin/bt/revision
index 9d607966b7..3cacc0b93c 100644
--- a/bt5/erp5_bespin/bt/revision
+++ b/bt5/erp5_bespin/bt/revision
@@ -1 +1 @@
-11
\ No newline at end of file
+12
\ No newline at end of file
diff --git a/bt5/erp5_bpm/bt/publication_url b/bt5/erp5_bpm/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_bpm/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_bpm/bt/revision b/bt5/erp5_bpm/bt/revision
index ae4d10b425..a9d8b73e69 100644
--- a/bt5/erp5_bpm/bt/revision
+++ b/bt5/erp5_bpm/bt/revision
@@ -1 +1 @@
-256
\ No newline at end of file
+257
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/publication_url b/bt5/erp5_budget/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_budget/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index d61d31715d..ef491079a3 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-336
\ No newline at end of file
+337
\ No newline at end of file
diff --git a/bt5/erp5_calendar/bt/publication_url b/bt5/erp5_calendar/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_calendar/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_calendar/bt/revision b/bt5/erp5_calendar/bt/revision
index b0e9f8d0ff..755152b7ef 100644
--- a/bt5/erp5_calendar/bt/revision
+++ b/bt5/erp5_calendar/bt/revision
@@ -1 +1 @@
-358
\ No newline at end of file
+359
\ No newline at end of file
diff --git a/bt5/erp5_commerce/bt/publication_url b/bt5/erp5_commerce/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_commerce/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_commerce/bt/revision b/bt5/erp5_commerce/bt/revision
index 4fc233b7ab..bb81456fa1 100644
--- a/bt5/erp5_commerce/bt/revision
+++ b/bt5/erp5_commerce/bt/revision
@@ -1 +1 @@
-261
+262
\ No newline at end of file
diff --git a/bt5/erp5_computer_immobilisation/bt/publication_url b/bt5/erp5_computer_immobilisation/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_computer_immobilisation/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_computer_immobilisation/bt/revision b/bt5/erp5_computer_immobilisation/bt/revision
index d99e90eb96..8580e7b684 100644
--- a/bt5/erp5_computer_immobilisation/bt/revision
+++ b/bt5/erp5_computer_immobilisation/bt/revision
@@ -1 +1 @@
-29
\ No newline at end of file
+30
\ No newline at end of file
diff --git a/bt5/erp5_consulting/bt/publication_url b/bt5/erp5_consulting/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_consulting/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_consulting/bt/revision b/bt5/erp5_consulting/bt/revision
index 2ebc6516c7..f0b5c72cad 100644
--- a/bt5/erp5_consulting/bt/revision
+++ b/bt5/erp5_consulting/bt/revision
@@ -1 +1 @@
-56
\ No newline at end of file
+57
\ No newline at end of file
diff --git a/bt5/erp5_content_translation/bt/publication_url b/bt5/erp5_content_translation/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_content_translation/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_content_translation/bt/revision b/bt5/erp5_content_translation/bt/revision
index b74e882ae3..1758dddcce 100644
--- a/bt5/erp5_content_translation/bt/revision
+++ b/bt5/erp5_content_translation/bt/revision
@@ -1 +1 @@
-31
\ No newline at end of file
+32
\ No newline at end of file
diff --git a/bt5/erp5_crm/bt/publication_url b/bt5/erp5_crm/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_crm/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_crm/bt/revision b/bt5/erp5_crm/bt/revision
index 560731b56b..5c84cf6fdb 100644
--- a/bt5/erp5_crm/bt/revision
+++ b/bt5/erp5_crm/bt/revision
@@ -1 +1 @@
-490
\ No newline at end of file
+491
\ No newline at end of file
diff --git a/bt5/erp5_csv_style/bt/publication_url b/bt5/erp5_csv_style/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_csv_style/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_csv_style/bt/revision b/bt5/erp5_csv_style/bt/revision
index 301160a930..f11c82a4cb 100644
--- a/bt5/erp5_csv_style/bt/revision
+++ b/bt5/erp5_csv_style/bt/revision
@@ -1 +1 @@
-8
\ No newline at end of file
+9
\ No newline at end of file
diff --git a/bt5/erp5_deferred_style/bt/publication_url b/bt5/erp5_deferred_style/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_deferred_style/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_deferred_style/bt/revision b/bt5/erp5_deferred_style/bt/revision
index d7f3668a68..d97edbb29f 100644
--- a/bt5/erp5_deferred_style/bt/revision
+++ b/bt5/erp5_deferred_style/bt/revision
@@ -1 +1 @@
-98
\ No newline at end of file
+99
\ No newline at end of file
diff --git a/bt5/erp5_development_wizard/bt/publication_url b/bt5/erp5_development_wizard/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_development_wizard/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_development_wizard/bt/revision b/bt5/erp5_development_wizard/bt/revision
index b44fe09a7a..d1cbcfa540 100644
--- a/bt5/erp5_development_wizard/bt/revision
+++ b/bt5/erp5_development_wizard/bt/revision
@@ -1 +1 @@
-65
\ No newline at end of file
+66
\ No newline at end of file
diff --git a/bt5/erp5_dhtml_ui_test/bt/publication_url b/bt5/erp5_dhtml_ui_test/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_dhtml_ui_test/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_dhtml_ui_test/bt/revision b/bt5/erp5_dhtml_ui_test/bt/revision
index 5156988895..a0d1ef1a02 100644
--- a/bt5/erp5_dhtml_ui_test/bt/revision
+++ b/bt5/erp5_dhtml_ui_test/bt/revision
@@ -1 +1 @@
-619
\ No newline at end of file
+620
\ No newline at end of file
diff --git a/bt5/erp5_discount_resource/bt/publication_url b/bt5/erp5_discount_resource/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_discount_resource/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_discount_resource/bt/revision b/bt5/erp5_discount_resource/bt/revision
index 3cacc0b93c..ca7bf83ac5 100644
--- a/bt5/erp5_discount_resource/bt/revision
+++ b/bt5/erp5_discount_resource/bt/revision
@@ -1 +1 @@
-12
\ No newline at end of file
+13
\ No newline at end of file
diff --git a/bt5/erp5_discussion/bt/publication_url b/bt5/erp5_discussion/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_discussion/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_discussion/bt/revision b/bt5/erp5_discussion/bt/revision
index 832332893a..3d9aebb2cc 100644
--- a/bt5/erp5_discussion/bt/revision
+++ b/bt5/erp5_discussion/bt/revision
@@ -1 +1 @@
-67
\ No newline at end of file
+68
\ No newline at end of file
diff --git a/bt5/erp5_dms/bt/publication_url b/bt5/erp5_dms/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_dms/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_dms/bt/revision b/bt5/erp5_dms/bt/revision
index 95fa1c9dbe..bcdab7e487 100644
--- a/bt5/erp5_dms/bt/revision
+++ b/bt5/erp5_dms/bt/revision
@@ -1 +1 @@
-1186
\ No newline at end of file
+1187
\ No newline at end of file
diff --git a/bt5/erp5_dms_ui_test/bt/publication_url b/bt5/erp5_dms_ui_test/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_dms_ui_test/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_dms_ui_test/bt/revision b/bt5/erp5_dms_ui_test/bt/revision
index 8e2afd3427..25bf17fc5a 100644
--- a/bt5/erp5_dms_ui_test/bt/revision
+++ b/bt5/erp5_dms_ui_test/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_documentation/bt/publication_url b/bt5/erp5_documentation/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_documentation/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_documentation/bt/revision b/bt5/erp5_documentation/bt/revision
index 1e3852840b..b7c52fb181 100644
--- a/bt5/erp5_documentation/bt/revision
+++ b/bt5/erp5_documentation/bt/revision
@@ -1 +1 @@
-211
\ No newline at end of file
+212
\ No newline at end of file
diff --git a/bt5/erp5_dummy_movement/bt/publication_url b/bt5/erp5_dummy_movement/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_dummy_movement/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_dummy_movement/bt/revision b/bt5/erp5_dummy_movement/bt/revision
index 3f10ffe7a4..19c7bdba7b 100644
--- a/bt5/erp5_dummy_movement/bt/revision
+++ b/bt5/erp5_dummy_movement/bt/revision
@@ -1 +1 @@
-15
\ No newline at end of file
+16
\ No newline at end of file
diff --git a/bt5/erp5_egov/bt/publication_url b/bt5/erp5_egov/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_egov/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_egov/bt/revision b/bt5/erp5_egov/bt/revision
index fea826bf85..ddc27b0c1a 100644
--- a/bt5/erp5_egov/bt/revision
+++ b/bt5/erp5_egov/bt/revision
@@ -1 +1 @@
-738
\ No newline at end of file
+739
\ No newline at end of file
diff --git a/bt5/erp5_egov_l10n_fr/bt/publication_url b/bt5/erp5_egov_l10n_fr/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_egov_l10n_fr/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_egov_l10n_fr/bt/revision b/bt5/erp5_egov_l10n_fr/bt/revision
index 3cacc0b93c..ca7bf83ac5 100644
--- a/bt5/erp5_egov_l10n_fr/bt/revision
+++ b/bt5/erp5_egov_l10n_fr/bt/revision
@@ -1 +1 @@
-12
\ No newline at end of file
+13
\ No newline at end of file
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/publication_url b/bt5/erp5_egov_mysql_innodb_catalog/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_egov_mysql_innodb_catalog/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/revision b/bt5/erp5_egov_mysql_innodb_catalog/bt/revision
index d99e90eb96..8580e7b684 100644
--- a/bt5/erp5_egov_mysql_innodb_catalog/bt/revision
+++ b/bt5/erp5_egov_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-29
\ No newline at end of file
+30
\ No newline at end of file
diff --git a/bt5/erp5_forge/bt/publication_url b/bt5/erp5_forge/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_forge/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision
index 3be613f062..633fa34c7f 100644
--- a/bt5/erp5_forge/bt/revision
+++ b/bt5/erp5_forge/bt/revision
@@ -1 +1 @@
-614
\ No newline at end of file
+615
\ No newline at end of file
diff --git a/bt5/erp5_forge_release/bt/publication_url b/bt5/erp5_forge_release/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_forge_release/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_forge_release/bt/revision b/bt5/erp5_forge_release/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/erp5_forge_release/bt/revision
+++ b/bt5/erp5_forge_release/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/publication_url b/bt5/erp5_full_text_sphinxse_catalog/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_full_text_sphinxse_catalog/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/revision b/bt5/erp5_full_text_sphinxse_catalog/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/erp5_full_text_sphinxse_catalog/bt/revision
+++ b/bt5/erp5_full_text_sphinxse_catalog/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/erp5_hr/bt/publication_url b/bt5/erp5_hr/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_hr/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_hr/bt/revision b/bt5/erp5_hr/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/erp5_hr/bt/revision
+++ b/bt5/erp5_hr/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/erp5_hr_l10n_jp/bt/publication_url b/bt5/erp5_hr_l10n_jp/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_hr_l10n_jp/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_hr_l10n_jp/bt/revision b/bt5/erp5_hr_l10n_jp/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_hr_l10n_jp/bt/revision
+++ b/bt5/erp5_hr_l10n_jp/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_ical_style/bt/publication_url b/bt5/erp5_ical_style/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_ical_style/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_ical_style/bt/revision b/bt5/erp5_ical_style/bt/revision
index 8e2afd3427..25bf17fc5a 100644
--- a/bt5/erp5_ical_style/bt/revision
+++ b/bt5/erp5_ical_style/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_immobilisation/bt/publication_url b/bt5/erp5_immobilisation/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_immobilisation/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_immobilisation/bt/revision b/bt5/erp5_immobilisation/bt/revision
index a3090d211b..9a1371776c 100644
--- a/bt5/erp5_immobilisation/bt/revision
+++ b/bt5/erp5_immobilisation/bt/revision
@@ -1 +1 @@
-168
\ No newline at end of file
+169
\ No newline at end of file
diff --git a/bt5/erp5_ingestion/bt/publication_url b/bt5/erp5_ingestion/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_ingestion/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_ingestion/bt/revision b/bt5/erp5_ingestion/bt/revision
index 95c8a676e9..c9c41087e2 100644
--- a/bt5/erp5_ingestion/bt/revision
+++ b/bt5/erp5_ingestion/bt/revision
@@ -1 +1 @@
-113
\ No newline at end of file
+114
\ No newline at end of file
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/publication_url b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
index 2edeafb09d..b5045cc404 100644
--- a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
+++ b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-20
\ No newline at end of file
+21
\ No newline at end of file
diff --git a/bt5/erp5_invoicing/bt/publication_url b/bt5/erp5_invoicing/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_invoicing/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_invoicing/bt/revision b/bt5/erp5_invoicing/bt/revision
index 6c0c8340ea..483387c8ec 100644
--- a/bt5/erp5_invoicing/bt/revision
+++ b/bt5/erp5_invoicing/bt/revision
@@ -1 +1 @@
-362
\ No newline at end of file
+363
\ No newline at end of file
diff --git a/bt5/erp5_item/bt/publication_url b/bt5/erp5_item/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_item/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_item/bt/revision b/bt5/erp5_item/bt/revision
index 8e24a69a05..73181427a2 100644
--- a/bt5/erp5_item/bt/revision
+++ b/bt5/erp5_item/bt/revision
@@ -1 +1 @@
-198
\ No newline at end of file
+199
\ No newline at end of file
diff --git a/bt5/erp5_jquery/bt/publication_url b/bt5/erp5_jquery/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_jquery/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_jquery/bt/revision b/bt5/erp5_jquery/bt/revision
index 48082f72f0..ca7bf83ac5 100644
--- a/bt5/erp5_jquery/bt/revision
+++ b/bt5/erp5_jquery/bt/revision
@@ -1 +1 @@
-12
+13
\ No newline at end of file
diff --git a/bt5/erp5_km/bt/publication_url b/bt5/erp5_km/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_km/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 647bbc9964..040b0d2f17 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1594
\ No newline at end of file
+1595
\ No newline at end of file
diff --git a/bt5/erp5_km_ui_test/bt/publication_url b/bt5/erp5_km_ui_test/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_km_ui_test/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_km_ui_test/bt/revision b/bt5/erp5_km_ui_test/bt/revision
index c9c41087e2..2702ba3d43 100644
--- a/bt5/erp5_km_ui_test/bt/revision
+++ b/bt5/erp5_km_ui_test/bt/revision
@@ -1 +1 @@
-114
\ No newline at end of file
+115
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad/bt/publication_url b/bt5/erp5_knowledge_pad/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_knowledge_pad/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad/bt/revision b/bt5/erp5_knowledge_pad/bt/revision
index 55a318f19d..4a722e9c7f 100644
--- a/bt5/erp5_knowledge_pad/bt/revision
+++ b/bt5/erp5_knowledge_pad/bt/revision
@@ -1 +1 @@
-551
\ No newline at end of file
+552
\ No newline at end of file
diff --git a/bt5/erp5_l10n_fr/bt/publication_url b/bt5/erp5_l10n_fr/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_l10n_fr/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_l10n_fr/bt/revision b/bt5/erp5_l10n_fr/bt/revision
index a76256037d..7f3a7cc66c 100644
--- a/bt5/erp5_l10n_fr/bt/revision
+++ b/bt5/erp5_l10n_fr/bt/revision
@@ -1 +1 @@
-160
+161
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ja/bt/publication_url b/bt5/erp5_l10n_ja/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_l10n_ja/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ja/bt/revision b/bt5/erp5_l10n_ja/bt/revision
index 3e932fe8f1..597975b413 100644
--- a/bt5/erp5_l10n_ja/bt/revision
+++ b/bt5/erp5_l10n_ja/bt/revision
@@ -1 +1 @@
-34
\ No newline at end of file
+35
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ko/bt/publication_url b/bt5/erp5_l10n_ko/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_l10n_ko/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ko/bt/revision b/bt5/erp5_l10n_ko/bt/revision
index ca7bf83ac5..da2d3988d7 100644
--- a/bt5/erp5_l10n_ko/bt/revision
+++ b/bt5/erp5_l10n_ko/bt/revision
@@ -1 +1 @@
-13
\ No newline at end of file
+14
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pl_PL/bt/publication_url b/bt5/erp5_l10n_pl_PL/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_l10n_pl_PL/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pl_PL/bt/revision b/bt5/erp5_l10n_pl_PL/bt/revision
index b74e882ae3..1758dddcce 100644
--- a/bt5/erp5_l10n_pl_PL/bt/revision
+++ b/bt5/erp5_l10n_pl_PL/bt/revision
@@ -1 +1 @@
-31
\ No newline at end of file
+32
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pt-BR/bt/publication_url b/bt5/erp5_l10n_pt-BR/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_l10n_pt-BR/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pt-BR/bt/revision b/bt5/erp5_l10n_pt-BR/bt/revision
index 25bf17fc5a..dec2bf5d61 100644
--- a/bt5/erp5_l10n_pt-BR/bt/revision
+++ b/bt5/erp5_l10n_pt-BR/bt/revision
@@ -1 +1 @@
-18
\ No newline at end of file
+19
\ No newline at end of file
diff --git a/bt5/erp5_ldap_catalog/bt/publication_url b/bt5/erp5_ldap_catalog/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_ldap_catalog/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_ldap_catalog/bt/revision b/bt5/erp5_ldap_catalog/bt/revision
index 301160a930..f11c82a4cb 100644
--- a/bt5/erp5_ldap_catalog/bt/revision
+++ b/bt5/erp5_ldap_catalog/bt/revision
@@ -1 +1 @@
-8
\ No newline at end of file
+9
\ No newline at end of file
diff --git a/bt5/erp5_legacy_tax_system/bt/publication_url b/bt5/erp5_legacy_tax_system/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_legacy_tax_system/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_legacy_tax_system/bt/revision b/bt5/erp5_legacy_tax_system/bt/revision
index 19c7bdba7b..8e2afd3427 100644
--- a/bt5/erp5_legacy_tax_system/bt/revision
+++ b/bt5/erp5_legacy_tax_system/bt/revision
@@ -1 +1 @@
-16
\ No newline at end of file
+17
\ No newline at end of file
diff --git a/bt5/erp5_mobile/bt/publication_url b/bt5/erp5_mobile/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_mobile/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_mobile/bt/revision b/bt5/erp5_mobile/bt/revision
index eebd1d10b6..b2412e34df 100644
--- a/bt5/erp5_mobile/bt/revision
+++ b/bt5/erp5_mobile/bt/revision
@@ -1 +1 @@
-61
\ No newline at end of file
+62
\ No newline at end of file
diff --git a/bt5/erp5_mobile_ui_test/bt/publication_url b/bt5/erp5_mobile_ui_test/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_mobile_ui_test/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_mobile_ui_test/bt/revision b/bt5/erp5_mobile_ui_test/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_mobile_ui_test/bt/revision
+++ b/bt5/erp5_mobile_ui_test/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_mrp/bt/publication_url b/bt5/erp5_mrp/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_mrp/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_mrp/bt/revision b/bt5/erp5_mrp/bt/revision
index 1f704ce60d..e966f9075d 100644
--- a/bt5/erp5_mrp/bt/revision
+++ b/bt5/erp5_mrp/bt/revision
@@ -1 +1 @@
-449
\ No newline at end of file
+450
\ No newline at end of file
diff --git a/bt5/erp5_ods_style/bt/publication_url b/bt5/erp5_ods_style/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_ods_style/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_ods_style/bt/revision b/bt5/erp5_ods_style/bt/revision
index eaea6f5971..9ce0f492d8 100644
--- a/bt5/erp5_ods_style/bt/revision
+++ b/bt5/erp5_ods_style/bt/revision
@@ -1 +1 @@
-240
\ No newline at end of file
+241
\ No newline at end of file
diff --git a/bt5/erp5_odt_style/bt/publication_url b/bt5/erp5_odt_style/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_odt_style/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_odt_style/bt/revision b/bt5/erp5_odt_style/bt/revision
index 97e3504110..9d07aa0df5 100644
--- a/bt5/erp5_odt_style/bt/revision
+++ b/bt5/erp5_odt_style/bt/revision
@@ -1 +1 @@
-110
\ No newline at end of file
+111
\ No newline at end of file
diff --git a/bt5/erp5_ooo_import/bt/publication_url b/bt5/erp5_ooo_import/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_ooo_import/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_ooo_import/bt/revision b/bt5/erp5_ooo_import/bt/revision
index 7b89b2202c..009bd2c17f 100644
--- a/bt5/erp5_ooo_import/bt/revision
+++ b/bt5/erp5_ooo_import/bt/revision
@@ -1 +1 @@
-406
\ No newline at end of file
+407
\ No newline at end of file
diff --git a/bt5/erp5_open_trade/bt/publication_url b/bt5/erp5_open_trade/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_open_trade/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_open_trade/bt/revision b/bt5/erp5_open_trade/bt/revision
index 410b14d2ce..978b4e8e51 100644
--- a/bt5/erp5_open_trade/bt/revision
+++ b/bt5/erp5_open_trade/bt/revision
@@ -1 +1 @@
-25
\ No newline at end of file
+26
\ No newline at end of file
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/publication_url b/bt5/erp5_open_trade_legacy_tax_system/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_open_trade_legacy_tax_system/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/revision b/bt5/erp5_open_trade_legacy_tax_system/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/erp5_open_trade_legacy_tax_system/bt/revision
+++ b/bt5/erp5_open_trade_legacy_tax_system/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/erp5_payroll/bt/publication_url b/bt5/erp5_payroll/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_payroll/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_payroll/bt/revision b/bt5/erp5_payroll/bt/revision
index 1683d1104a..18133faa4c 100644
--- a/bt5/erp5_payroll/bt/revision
+++ b/bt5/erp5_payroll/bt/revision
@@ -1 +1 @@
-563
\ No newline at end of file
+564
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_fr/bt/publication_url b/bt5/erp5_payroll_l10n_fr/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_payroll_l10n_fr/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_fr/bt/revision b/bt5/erp5_payroll_l10n_fr/bt/revision
index 3fdc173dab..d800886d9c 100644
--- a/bt5/erp5_payroll_l10n_fr/bt/revision
+++ b/bt5/erp5_payroll_l10n_fr/bt/revision
@@ -1 +1 @@
-122
\ No newline at end of file
+123
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_jp/bt/publication_url b/bt5/erp5_payroll_l10n_jp/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_payroll_l10n_jp/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_jp/bt/revision b/bt5/erp5_payroll_l10n_jp/bt/revision
index 5a396e28e8..3fdc173dab 100644
--- a/bt5/erp5_payroll_l10n_jp/bt/revision
+++ b/bt5/erp5_payroll_l10n_jp/bt/revision
@@ -1 +1 @@
-121
\ No newline at end of file
+122
\ No newline at end of file
diff --git a/bt5/erp5_payroll_ui_test/bt/publication_url b/bt5/erp5_payroll_ui_test/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_payroll_ui_test/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_payroll_ui_test/bt/revision b/bt5/erp5_payroll_ui_test/bt/revision
index ca7bf83ac5..da2d3988d7 100644
--- a/bt5/erp5_payroll_ui_test/bt/revision
+++ b/bt5/erp5_payroll_ui_test/bt/revision
@@ -1 +1 @@
-13
\ No newline at end of file
+14
\ No newline at end of file
diff --git a/bt5/erp5_pdf_editor/bt/publication_url b/bt5/erp5_pdf_editor/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_pdf_editor/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_pdf_editor/bt/revision b/bt5/erp5_pdf_editor/bt/revision
index b74e882ae3..1758dddcce 100644
--- a/bt5/erp5_pdf_editor/bt/revision
+++ b/bt5/erp5_pdf_editor/bt/revision
@@ -1 +1 @@
-31
\ No newline at end of file
+32
\ No newline at end of file
diff --git a/bt5/erp5_pdf_style/bt/publication_url b/bt5/erp5_pdf_style/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_pdf_style/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_pdf_style/bt/revision b/bt5/erp5_pdf_style/bt/revision
index 9cd72aa941..e77a96349c 100644
--- a/bt5/erp5_pdf_style/bt/revision
+++ b/bt5/erp5_pdf_style/bt/revision
@@ -1 +1 @@
-72
\ No newline at end of file
+73
\ No newline at end of file
diff --git a/bt5/erp5_pdm/bt/publication_url b/bt5/erp5_pdm/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_pdm/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_pdm/bt/revision b/bt5/erp5_pdm/bt/revision
index 1dd3380cdc..4f95481351 100644
--- a/bt5/erp5_pdm/bt/revision
+++ b/bt5/erp5_pdm/bt/revision
@@ -1 +1 @@
-516
\ No newline at end of file
+517
\ No newline at end of file
diff --git a/bt5/erp5_pdm_ui_test/bt/publication_url b/bt5/erp5_pdm_ui_test/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_pdm_ui_test/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_pdm_ui_test/bt/revision b/bt5/erp5_pdm_ui_test/bt/revision
index a5c750feac..368f89ceef 100644
--- a/bt5/erp5_pdm_ui_test/bt/revision
+++ b/bt5/erp5_pdm_ui_test/bt/revision
@@ -1 +1 @@
-27
\ No newline at end of file
+28
\ No newline at end of file
diff --git a/bt5/erp5_popup_ui/bt/publication_url b/bt5/erp5_popup_ui/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_popup_ui/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_popup_ui/bt/revision b/bt5/erp5_popup_ui/bt/revision
index 3f10ffe7a4..19c7bdba7b 100644
--- a/bt5/erp5_popup_ui/bt/revision
+++ b/bt5/erp5_popup_ui/bt/revision
@@ -1 +1 @@
-15
\ No newline at end of file
+16
\ No newline at end of file
diff --git a/bt5/erp5_project/bt/publication_url b/bt5/erp5_project/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_project/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_project/bt/revision b/bt5/erp5_project/bt/revision
index eb6fa5affc..fc0b67d079 100644
--- a/bt5/erp5_project/bt/revision
+++ b/bt5/erp5_project/bt/revision
@@ -1 +1 @@
-773
\ No newline at end of file
+774
\ No newline at end of file
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/publication_url b/bt5/erp5_project_mysql_innodb_catalog/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_project_mysql_innodb_catalog/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/revision b/bt5/erp5_project_mysql_innodb_catalog/bt/revision
index 19c7bdba7b..8e2afd3427 100644
--- a/bt5/erp5_project_mysql_innodb_catalog/bt/revision
+++ b/bt5/erp5_project_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-16
\ No newline at end of file
+17
\ No newline at end of file
diff --git a/bt5/erp5_public_accounting_budget/bt/publication_url b/bt5/erp5_public_accounting_budget/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_public_accounting_budget/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_public_accounting_budget/bt/revision b/bt5/erp5_public_accounting_budget/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_public_accounting_budget/bt/revision
+++ b/bt5/erp5_public_accounting_budget/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_publication/bt/publication_url b/bt5/erp5_publication/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_publication/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_publication/bt/revision b/bt5/erp5_publication/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/erp5_publication/bt/revision
+++ b/bt5/erp5_publication/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada/bt/publication_url b/bt5/erp5_registry_ohada/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_registry_ohada/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada/bt/revision b/bt5/erp5_registry_ohada/bt/revision
index 707001d7af..e8a5c90ae0 100644
--- a/bt5/erp5_registry_ohada/bt/revision
+++ b/bt5/erp5_registry_ohada/bt/revision
@@ -1 +1 @@
-927
\ No newline at end of file
+928
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/publication_url b/bt5/erp5_registry_ohada_l10n_fr/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_registry_ohada_l10n_fr/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/revision b/bt5/erp5_registry_ohada_l10n_fr/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/erp5_registry_ohada_l10n_fr/bt/revision
+++ b/bt5/erp5_registry_ohada_l10n_fr/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/erp5_rss_reader/bt/publication_url b/bt5/erp5_rss_reader/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_rss_reader/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_rss_reader/bt/revision b/bt5/erp5_rss_reader/bt/revision
index 1199cd493e..3960544522 100644
--- a/bt5/erp5_rss_reader/bt/revision
+++ b/bt5/erp5_rss_reader/bt/revision
@@ -1 +1 @@
-219
\ No newline at end of file
+220
\ No newline at end of file
diff --git a/bt5/erp5_rss_style/bt/publication_url b/bt5/erp5_rss_style/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_rss_style/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_rss_style/bt/revision b/bt5/erp5_rss_style/bt/revision
index 7d37386284..abc4eff6ac 100644
--- a/bt5/erp5_rss_style/bt/revision
+++ b/bt5/erp5_rss_style/bt/revision
@@ -1 +1 @@
-45
\ No newline at end of file
+46
\ No newline at end of file
diff --git a/bt5/erp5_simplified_invoicing/bt/publication_url b/bt5/erp5_simplified_invoicing/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_simplified_invoicing/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_simplified_invoicing/bt/revision b/bt5/erp5_simplified_invoicing/bt/revision
index 7003e7fe1f..6139554210 100644
--- a/bt5/erp5_simplified_invoicing/bt/revision
+++ b/bt5/erp5_simplified_invoicing/bt/revision
@@ -1 +1 @@
-51
\ No newline at end of file
+52
\ No newline at end of file
diff --git a/bt5/erp5_simulation/bt/publication_url b/bt5/erp5_simulation/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_simulation/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_simulation/bt/revision b/bt5/erp5_simulation/bt/revision
index eafdfb06c5..b5db9c417a 100644
--- a/bt5/erp5_simulation/bt/revision
+++ b/bt5/erp5_simulation/bt/revision
@@ -1 +1 @@
-138
\ No newline at end of file
+139
\ No newline at end of file
diff --git a/bt5/erp5_social_contracts/bt/publication_url b/bt5/erp5_social_contracts/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_social_contracts/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_social_contracts/bt/revision b/bt5/erp5_social_contracts/bt/revision
index 19c7bdba7b..8e2afd3427 100644
--- a/bt5/erp5_social_contracts/bt/revision
+++ b/bt5/erp5_social_contracts/bt/revision
@@ -1 +1 @@
-16
\ No newline at end of file
+17
\ No newline at end of file
diff --git a/bt5/erp5_software_pdm/bt/publication_url b/bt5/erp5_software_pdm/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_software_pdm/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_software_pdm/bt/revision b/bt5/erp5_software_pdm/bt/revision
index 3d9aebb2cc..8c0474e323 100644
--- a/bt5/erp5_software_pdm/bt/revision
+++ b/bt5/erp5_software_pdm/bt/revision
@@ -1 +1 @@
-68
\ No newline at end of file
+69
\ No newline at end of file
diff --git a/bt5/erp5_syncml/bt/comment b/bt5/erp5_syncml/bt/comment
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_syncml/bt/comment
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_syncml/bt/publication_url b/bt5/erp5_syncml/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_syncml/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_syncml/bt/revision b/bt5/erp5_syncml/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/erp5_syncml/bt/revision
+++ b/bt5/erp5_syncml/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/erp5_tax_resource/bt/publication_url b/bt5/erp5_tax_resource/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_tax_resource/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_tax_resource/bt/revision b/bt5/erp5_tax_resource/bt/revision
index 9d607966b7..3cacc0b93c 100644
--- a/bt5/erp5_tax_resource/bt/revision
+++ b/bt5/erp5_tax_resource/bt/revision
@@ -1 +1 @@
-11
\ No newline at end of file
+12
\ No newline at end of file
diff --git a/bt5/erp5_trade/bt/publication_url b/bt5/erp5_trade/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_trade/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision
index 6f17eede7b..be9c5191bd 100644
--- a/bt5/erp5_trade/bt/revision
+++ b/bt5/erp5_trade/bt/revision
@@ -1 +1 @@
-985
\ No newline at end of file
+986
\ No newline at end of file
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/publication_url b/bt5/erp5_trade_proxy_field_legacy/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_trade_proxy_field_legacy/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/revision b/bt5/erp5_trade_proxy_field_legacy/bt/revision
index ca7bf83ac5..da2d3988d7 100644
--- a/bt5/erp5_trade_proxy_field_legacy/bt/revision
+++ b/bt5/erp5_trade_proxy_field_legacy/bt/revision
@@ -1 +1 @@
-13
\ No newline at end of file
+14
\ No newline at end of file
diff --git a/bt5/erp5_ui_test/bt/publication_url b/bt5/erp5_ui_test/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_ui_test/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_ui_test/bt/revision b/bt5/erp5_ui_test/bt/revision
index e25083957d..5156988895 100644
--- a/bt5/erp5_ui_test/bt/revision
+++ b/bt5/erp5_ui_test/bt/revision
@@ -1 +1 @@
-618
\ No newline at end of file
+619
\ No newline at end of file
diff --git a/bt5/erp5_ui_test_core/bt/publication_url b/bt5/erp5_ui_test_core/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_ui_test_core/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_ui_test_core/bt/revision b/bt5/erp5_ui_test_core/bt/revision
index 7c091989d0..c24b6ae77d 100644
--- a/bt5/erp5_ui_test_core/bt/revision
+++ b/bt5/erp5_ui_test_core/bt/revision
@@ -1 +1 @@
-37
\ No newline at end of file
+38
\ No newline at end of file
diff --git a/bt5/erp5_upgrader/bt/publication_url b/bt5/erp5_upgrader/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_upgrader/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_upgrader/bt/revision b/bt5/erp5_upgrader/bt/revision
index d759b56ecc..be8a1b91d5 100644
--- a/bt5/erp5_upgrader/bt/revision
+++ b/bt5/erp5_upgrader/bt/revision
@@ -1 +1 @@
-537
\ No newline at end of file
+538
\ No newline at end of file
diff --git a/bt5/erp5_upgrader/bt/short_title b/bt5/erp5_upgrader/bt/short_title
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_upgrader/bt/short_title
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_utils/bt/publication_url b/bt5/erp5_utils/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_utils/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_utils/bt/revision b/bt5/erp5_utils/bt/revision
index f11c82a4cb..9a037142aa 100644
--- a/bt5/erp5_utils/bt/revision
+++ b/bt5/erp5_utils/bt/revision
@@ -1 +1 @@
-9
\ No newline at end of file
+10
\ No newline at end of file
diff --git a/bt5/erp5_web/bt/publication_url b/bt5/erp5_web/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_web/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision
index 9a32da2184..6f17eede7b 100644
--- a/bt5/erp5_web/bt/revision
+++ b/bt5/erp5_web/bt/revision
@@ -1 +1 @@
-984
\ No newline at end of file
+985
\ No newline at end of file
diff --git a/bt5/erp5_web_blog/bt/publication_url b/bt5/erp5_web_blog/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_web_blog/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_web_blog/bt/revision b/bt5/erp5_web_blog/bt/revision
index 7c091989d0..c24b6ae77d 100644
--- a/bt5/erp5_web_blog/bt/revision
+++ b/bt5/erp5_web_blog/bt/revision
@@ -1 +1 @@
-37
\ No newline at end of file
+38
\ No newline at end of file
diff --git a/bt5/erp5_web_multiflex5_theme/bt/publication_url b/bt5/erp5_web_multiflex5_theme/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_web_multiflex5_theme/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_web_multiflex5_theme/bt/revision b/bt5/erp5_web_multiflex5_theme/bt/revision
index 0947c33136..66321c084c 100644
--- a/bt5/erp5_web_multiflex5_theme/bt/revision
+++ b/bt5/erp5_web_multiflex5_theme/bt/revision
@@ -1 +1 @@
-188
\ No newline at end of file
+189
\ No newline at end of file
diff --git a/bt5/erp5_web_ui_test/bt/publication_url b/bt5/erp5_web_ui_test/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_web_ui_test/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_web_ui_test/bt/revision b/bt5/erp5_web_ui_test/bt/revision
index 8580e7b684..b74e882ae3 100644
--- a/bt5/erp5_web_ui_test/bt/revision
+++ b/bt5/erp5_web_ui_test/bt/revision
@@ -1 +1 @@
-30
\ No newline at end of file
+31
\ No newline at end of file
diff --git a/bt5/erp5_wizard/bt/publication_url b/bt5/erp5_wizard/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_wizard/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_wizard/bt/revision b/bt5/erp5_wizard/bt/revision
index d7019ae2ee..4701cc7931 100644
--- a/bt5/erp5_wizard/bt/revision
+++ b/bt5/erp5_wizard/bt/revision
@@ -1 +1 @@
-149
\ No newline at end of file
+150
\ No newline at end of file
diff --git a/bt5/erp5_worklist_sql/bt/publication_url b/bt5/erp5_worklist_sql/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/erp5_worklist_sql/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/erp5_worklist_sql/bt/revision b/bt5/erp5_worklist_sql/bt/revision
index b74e882ae3..1758dddcce 100644
--- a/bt5/erp5_worklist_sql/bt/revision
+++ b/bt5/erp5_worklist_sql/bt/revision
@@ -1 +1 @@
-31
\ No newline at end of file
+32
\ No newline at end of file
diff --git a/bt5/test_accounting/bt/publication_url b/bt5/test_accounting/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/test_accounting/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/test_accounting/bt/revision b/bt5/test_accounting/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/test_accounting/bt/revision
+++ b/bt5/test_accounting/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/test_accounting_fr/bt/publication_url b/bt5/test_accounting_fr/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/test_accounting_fr/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/test_accounting_fr/bt/revision b/bt5/test_accounting_fr/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/test_accounting_fr/bt/revision
+++ b/bt5/test_accounting_fr/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/test_accounting_in/bt/publication_url b/bt5/test_accounting_in/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/test_accounting_in/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/test_accounting_in/bt/revision b/bt5/test_accounting_in/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/test_accounting_in/bt/revision
+++ b/bt5/test_accounting_in/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/test_accounting_pl/bt/publication_url b/bt5/test_accounting_pl/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/test_accounting_pl/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/test_accounting_pl/bt/revision b/bt5/test_accounting_pl/bt/revision
index 56a6051ca2..d8263ee986 100644
--- a/bt5/test_accounting_pl/bt/revision
+++ b/bt5/test_accounting_pl/bt/revision
@@ -1 +1 @@
-1
\ No newline at end of file
+2
\ No newline at end of file
diff --git a/bt5/test_core/bt/publication_url b/bt5/test_core/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/test_core/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/test_core/bt/revision b/bt5/test_core/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/test_core/bt/revision
+++ b/bt5/test_core/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/test_html_style/bt/publication_url b/bt5/test_html_style/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/test_html_style/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/test_html_style/bt/revision b/bt5/test_html_style/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/test_html_style/bt/revision
+++ b/bt5/test_html_style/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/test_web/bt/publication_url b/bt5/test_web/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/test_web/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/test_web/bt/revision b/bt5/test_web/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/test_web/bt/revision
+++ b/bt5/test_web/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/test_xhtml_style/bt/publication_url b/bt5/test_xhtml_style/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/test_xhtml_style/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/test_xhtml_style/bt/revision b/bt5/test_xhtml_style/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/test_xhtml_style/bt/revision
+++ b/bt5/test_xhtml_style/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/tiolive_base/bt/publication_url b/bt5/tiolive_base/bt/publication_url
deleted file mode 100644
index 4af18322e3..0000000000
--- a/bt5/tiolive_base/bt/publication_url
+++ /dev/null
@@ -1 +0,0 @@
-None
\ No newline at end of file
diff --git a/bt5/tiolive_base/bt/revision b/bt5/tiolive_base/bt/revision
index 9cd72aa941..e77a96349c 100644
--- a/bt5/tiolive_base/bt/revision
+++ b/bt5/tiolive_base/bt/revision
@@ -1 +1 @@
-72
\ No newline at end of file
+73
\ No newline at end of file
-- 
2.30.9


From 2864b46b531be50a0d84a82247aac2da35f47e09 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Wed, 13 Oct 2010 14:25:13 +0000
Subject: [PATCH 013/163] Adjust for gadgets (to save space). Clean up CSS.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39107 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_km_theme/km_css/gadget.css.xml  | 11 ++++++++---
 bt5/erp5_km/bt/revision                               |  2 +-
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/gadget.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/gadget.css.xml
index 5bb0ab0704..a6e27d5f8e 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/gadget.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/gadget.css.xml
@@ -12,7 +12,7 @@
         </item>
         <item>
             <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts86451743.36</string> </value>
+            <value> <string>ts86979540.15</string> </value>
         </item>
         <item>
             <key> <string>__name__</string> </key>
@@ -205,8 +205,13 @@ div.edit-form fieldset{\n
   border: none;\n
 }\n
 \n
+div.block .content .field label, \n
+div.block .content .field .input{\n
+  padding-left: 0px;\n
+}\n
+\n
 div.edit-form label{\n
-  display:block !important;\n
+  display:block;\n
   font-weight:normal;\n
 }\n
 \n
@@ -464,7 +469,7 @@ div.block div.box_inner_content div.worklist_list ul {\n
         </item>
         <item>
             <key> <string>size</string> </key>
-            <value> <int>8572</int> </value>
+            <value> <int>8653</int> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 040b0d2f17..7dbc594e58 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1595
\ No newline at end of file
+1596
\ No newline at end of file
-- 
2.30.9


From eefe3731a5a7085bbcbc98dad06a77ab425a3e61 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Wed, 13 Oct 2010 15:22:10 +0000
Subject: [PATCH 014/163] no longer export empty files under bt/ directory.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39108 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/BusinessTemplate.py |  2 +-
 product/ERP5/Tool/TemplateTool.py         | 13 ++++++++-----
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/product/ERP5/Document/BusinessTemplate.py b/product/ERP5/Document/BusinessTemplate.py
index 60458356a6..123e06cec3 100644
--- a/product/ERP5/Document/BusinessTemplate.py
+++ b/product/ERP5/Document/BusinessTemplate.py
@@ -4832,7 +4832,7 @@ Business Template is a set of definitions, such as skins, portal types and categ
                   'install_object_list_list', 'id_generator', 'bt_for_diff'):
           continue
         value = self.getProperty(id)
-        if value is None:
+        if not value:
           continue
         if prop_type in ('text', 'string', 'int', 'boolean'):
           bta.addObject(obj=value, name=id, path=path+os.sep+'bt', ext='')
diff --git a/product/ERP5/Tool/TemplateTool.py b/product/ERP5/Tool/TemplateTool.py
index f3d0c33c77..dde04f5a68 100644
--- a/product/ERP5/Tool/TemplateTool.py
+++ b/product/ERP5/Tool/TemplateTool.py
@@ -402,17 +402,20 @@ class TemplateTool (BaseTool):
           pid = prop['id']
           prop_path = os.path.join('.', bt_path, pid)
           if not os.path.exists(prop_path):
-            continue
-          value = open(prop_path, 'rb').read()
+            value = None
+          else:
+            value = open(prop_path, 'rb').read()
           if value is 'None':
             # At export time, we used to export non-existent properties:
             #   str(obj.getProperty('non-existing')) == 'None'
             # Discard them
-            continue
+            value = None
+          if prop_type in ('text', 'string'):
+            prop_dict[pid] = value or ''
           if prop_type in ('text', 'string', 'int', 'boolean'):
-            prop_dict[pid] = value
+            prop_dict[pid] = value or 0
           elif prop_type in ('lines', 'tokens'):
-            prop_dict[pid[:-5]] = value.splitlines()
+            prop_dict[pid[:-5]] = (value or '').splitlines()
         prop_dict.pop('id', '')
         bt.edit(**prop_dict)
         # import all others objects
-- 
2.30.9


From 64db5acef6efebe02aa0dd3066009ca3ff9fc524 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Wed, 13 Oct 2010 15:23:18 +0000
Subject: [PATCH 015/163] A skin for producing JSON output of ERP5 Form
 containing ListBox(es).

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39109 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../registered_skin_selection.xml             |   6 +
 .../portal_skins/erp5_json_style.xml          |  47 ++++++
 .../erp5_json_style/ListBox_asHTML.xml        | 142 ++++++++++++++++++
 .../erp5_json_style/form_list.xml             |  66 ++++++++
 .../erp5_json_style/form_view.xml             |  66 ++++++++
 bt5/erp5_json_style/bt/change_log             |   2 +
 bt5/erp5_json_style/bt/copyright_list         |   1 +
 bt5/erp5_json_style/bt/description            |   1 +
 bt5/erp5_json_style/bt/license                |   1 +
 bt5/erp5_json_style/bt/maintainer_list        |   1 +
 bt5/erp5_json_style/bt/revision               |   1 +
 .../bt/template_format_version                |   1 +
 .../template_registered_skin_selection_list   |   1 +
 bt5/erp5_json_style/bt/template_skin_id_list  |   1 +
 bt5/erp5_json_style/bt/title                  |   1 +
 bt5/erp5_json_style/bt/version                |   1 +
 16 files changed, 339 insertions(+)
 create mode 100644 bt5/erp5_json_style/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml
 create mode 100644 bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style.xml
 create mode 100644 bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/ListBox_asHTML.xml
 create mode 100644 bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/form_list.xml
 create mode 100644 bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/form_view.xml
 create mode 100644 bt5/erp5_json_style/bt/change_log
 create mode 100644 bt5/erp5_json_style/bt/copyright_list
 create mode 100644 bt5/erp5_json_style/bt/description
 create mode 100644 bt5/erp5_json_style/bt/license
 create mode 100644 bt5/erp5_json_style/bt/maintainer_list
 create mode 100644 bt5/erp5_json_style/bt/revision
 create mode 100644 bt5/erp5_json_style/bt/template_format_version
 create mode 100644 bt5/erp5_json_style/bt/template_registered_skin_selection_list
 create mode 100644 bt5/erp5_json_style/bt/template_skin_id_list
 create mode 100644 bt5/erp5_json_style/bt/title
 create mode 100644 bt5/erp5_json_style/bt/version

diff --git a/bt5/erp5_json_style/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml b/bt5/erp5_json_style/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml
new file mode 100644
index 0000000000..3fa30b2648
--- /dev/null
+++ b/bt5/erp5_json_style/RegisteredSkinSelectionTemplateItem/registered_skin_selection.xml
@@ -0,0 +1,6 @@
+<registered_skin_selection>
+ <skin_folder_selection>
+  <skin_folder>erp5_json_style</skin_folder>
+  <skin_selection>JSON</skin_selection>
+ </skin_folder_selection>
+</registered_skin_selection>
\ No newline at end of file
diff --git a/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style.xml b/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style.xml
new file mode 100644
index 0000000000..9a63afb765
--- /dev/null
+++ b/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style.xml
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_local_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <string>business_template_skin_layer_priority</string> </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>float</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>business_template_skin_layer_priority</string> </key>
+            <value> <float>10.0</float> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>erp5_json_style</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/ListBox_asHTML.xml b/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/ListBox_asHTML.xml
new file mode 100644
index 0000000000..b7ecab3c7d
--- /dev/null
+++ b/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/ListBox_asHTML.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>from Products.ERP5Type.collections import OrderedDict\n
+from Products.ERP5Type.JSON import dumps\n
+label_list = context.getLabelValueList()\n
+num = len(label_list)\n
+result_list = []\n
+for line in context.query():\n
+  value_list = line.getValueList()\n
+  result_list.append(OrderedDict([(label_list[i][1], value_list[i][0]) for i in range(num)]))\n
+return dumps(OrderedDict([(\'title\',context.getTitle()), (\'data\',result_list)]))\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>Products.ERP5Type.collections</string>
+                            <string>OrderedDict</string>
+                            <string>Products.ERP5Type.JSON</string>
+                            <string>dumps</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>label_list</string>
+                            <string>len</string>
+                            <string>num</string>
+                            <string>result_list</string>
+                            <string>_getiter_</string>
+                            <string>line</string>
+                            <string>value_list</string>
+                            <string>$list0</string>
+                            <string>range</string>
+                            <string>i</string>
+                            <string>_getitem_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ListBox_asHTML</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/form_list.xml b/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/form_list.xml
new file mode 100644
index 0000000000..ae06bf07a4
--- /dev/null
+++ b/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/form_list.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <unicode encoding="cdata"><![CDATA[
+
+[<tal:block tal:content="python:\', \'.join([form[\'listbox\'].render()])" />]
+
+]]></unicode> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>form_list</string> </value>
+        </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <unicode></unicode> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/form_view.xml b/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/form_view.xml
new file mode 100644
index 0000000000..31910871b2
--- /dev/null
+++ b/bt5/erp5_json_style/SkinTemplateItem/portal_skins/erp5_json_style/form_view.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <unicode encoding="cdata"><![CDATA[
+
+[<tal:block tal:content="python:\',\'.join([field.render() for field in form.get_fields() if (field.meta_type == \'ListBox\' or field.meta_type == \'ProxyField\' and field.getRecursiveTemplateField().meta_type == \'ListBox\')])" />]
+
+]]></unicode> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <unicode></unicode> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_json_style/bt/change_log b/bt5/erp5_json_style/bt/change_log
new file mode 100644
index 0000000000..dfa110e0a5
--- /dev/null
+++ b/bt5/erp5_json_style/bt/change_log
@@ -0,0 +1,2 @@
+2010-10-13 Kazuhiko
+* initial implementation.
\ No newline at end of file
diff --git a/bt5/erp5_json_style/bt/copyright_list b/bt5/erp5_json_style/bt/copyright_list
new file mode 100644
index 0000000000..fe948b9fb7
--- /dev/null
+++ b/bt5/erp5_json_style/bt/copyright_list
@@ -0,0 +1 @@
+Copyright (c) 2010 Nexedi SA
\ No newline at end of file
diff --git a/bt5/erp5_json_style/bt/description b/bt5/erp5_json_style/bt/description
new file mode 100644
index 0000000000..c3c7f91425
--- /dev/null
+++ b/bt5/erp5_json_style/bt/description
@@ -0,0 +1 @@
+A skin for producing JSON output of ERP5 Form containing ListBox(es).
\ No newline at end of file
diff --git a/bt5/erp5_json_style/bt/license b/bt5/erp5_json_style/bt/license
new file mode 100644
index 0000000000..3a3e12bcad
--- /dev/null
+++ b/bt5/erp5_json_style/bt/license
@@ -0,0 +1 @@
+GPL
\ No newline at end of file
diff --git a/bt5/erp5_json_style/bt/maintainer_list b/bt5/erp5_json_style/bt/maintainer_list
new file mode 100644
index 0000000000..91fac13497
--- /dev/null
+++ b/bt5/erp5_json_style/bt/maintainer_list
@@ -0,0 +1 @@
+kazuhiko
\ No newline at end of file
diff --git a/bt5/erp5_json_style/bt/revision b/bt5/erp5_json_style/bt/revision
new file mode 100644
index 0000000000..56a6051ca2
--- /dev/null
+++ b/bt5/erp5_json_style/bt/revision
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/bt5/erp5_json_style/bt/template_format_version b/bt5/erp5_json_style/bt/template_format_version
new file mode 100644
index 0000000000..56a6051ca2
--- /dev/null
+++ b/bt5/erp5_json_style/bt/template_format_version
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/bt5/erp5_json_style/bt/template_registered_skin_selection_list b/bt5/erp5_json_style/bt/template_registered_skin_selection_list
new file mode 100644
index 0000000000..f3a0bf2883
--- /dev/null
+++ b/bt5/erp5_json_style/bt/template_registered_skin_selection_list
@@ -0,0 +1 @@
+erp5_json_style | JSON
\ No newline at end of file
diff --git a/bt5/erp5_json_style/bt/template_skin_id_list b/bt5/erp5_json_style/bt/template_skin_id_list
new file mode 100644
index 0000000000..bda668c151
--- /dev/null
+++ b/bt5/erp5_json_style/bt/template_skin_id_list
@@ -0,0 +1 @@
+erp5_json_style
\ No newline at end of file
diff --git a/bt5/erp5_json_style/bt/title b/bt5/erp5_json_style/bt/title
new file mode 100644
index 0000000000..bda668c151
--- /dev/null
+++ b/bt5/erp5_json_style/bt/title
@@ -0,0 +1 @@
+erp5_json_style
\ No newline at end of file
diff --git a/bt5/erp5_json_style/bt/version b/bt5/erp5_json_style/bt/version
new file mode 100644
index 0000000000..48360de846
--- /dev/null
+++ b/bt5/erp5_json_style/bt/version
@@ -0,0 +1 @@
+5.4.7
\ No newline at end of file
-- 
2.30.9


From 6ddc792f5a25680d2959c90149f13deeb710de64 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Wed, 13 Oct 2010 18:37:37 +0000
Subject: [PATCH 016/163] Added alarm configuration

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39112 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_upgrader/ERP5Site_getUpgraderSignature.xml    | 10 ++++++++++
 bt5/erp5_upgrader/bt/revision                          |  2 +-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml
index 3ebabe95a8..7800207e7c 100644
--- a/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml
+++ b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml
@@ -521,6 +521,12 @@ INTEGRITY_VERIFICATION_SCRIPT_ID_LIST = (\'ERP5Site_verifyUpgradeIntegrity\',\n
 #\n
 ERP5_SITE_PROPERTY_DICT = {}\n
 \n
+# \n
+# Define alarm configuration list, which alarm will be enabled or\n
+# disabled.\n
+# Usage (("alarm_id", True or False ),) \n
+ALARM_CONFIGURATION_list = ()\n
+\n
 \n
 #\n
 # Define instructions for migrate object class of a group of objects like:\n
@@ -584,6 +590,8 @@ signature_dict = {\n
  , \'upgrade_object_class_list\' : UPGRADE_OBJECT_CLASS_LIST\n
    # Define if the site will be recatalogued or not after finish upgrade.\n
  , \'recatalog\' : RECATALOG\n
+   # Define which alarm should be enabled or disabled.\n
+ , \'alarm_configuration_list\' : ALARM_CONFIGURATION_DICT\n
 }\n
 \n
 if item is not None:\n
@@ -653,8 +661,10 @@ else:\n
                             <string>CATALOG_FILTER_DICT</string>
                             <string>INTEGRITY_VERIFICATION_SCRIPT_ID_LIST</string>
                             <string>ERP5_SITE_PROPERTY_DICT</string>
+                            <string>ALARM_CONFIGURATION_list</string>
                             <string>UPGRADE_OBJECT_CLASS_LIST</string>
                             <string>RECATALOG</string>
+                            <string>ALARM_CONFIGURATION_DICT</string>
                             <string>signature_dict</string>
                           </tuple>
                         </value>
diff --git a/bt5/erp5_upgrader/bt/revision b/bt5/erp5_upgrader/bt/revision
index be8a1b91d5..4540549358 100644
--- a/bt5/erp5_upgrader/bt/revision
+++ b/bt5/erp5_upgrader/bt/revision
@@ -1 +1 @@
-538
\ No newline at end of file
+539
\ No newline at end of file
-- 
2.30.9


From 66424effdce39d5626b706ef435f5eac78474042 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Wed, 13 Oct 2010 18:57:00 +0000
Subject: [PATCH 017/163] fix a condition, thanks to Julien.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39114 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/TemplateTool.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/Tool/TemplateTool.py b/product/ERP5/Tool/TemplateTool.py
index dde04f5a68..4f33ae7723 100644
--- a/product/ERP5/Tool/TemplateTool.py
+++ b/product/ERP5/Tool/TemplateTool.py
@@ -412,7 +412,7 @@ class TemplateTool (BaseTool):
             value = None
           if prop_type in ('text', 'string'):
             prop_dict[pid] = value or ''
-          if prop_type in ('text', 'string', 'int', 'boolean'):
+          elif prop_type in ('int', 'boolean'):
             prop_dict[pid] = value or 0
           elif prop_type in ('lines', 'tokens'):
             prop_dict[pid[:-5]] = (value or '').splitlines()
-- 
2.30.9


From 3b117a2ac07b919117f56089ef7eda6f5d12b303 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Wed, 13 Oct 2010 19:05:21 +0000
Subject: [PATCH 018/163] Added Upgrader script to enable or disabled alarms
 after upgrade. Fix typo.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39115 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Alarm_senseFinalizeUpgrade.xml            |   3 +
 .../erp5_upgrader/Alarm_upgradeFinalize.xml   |   8 +-
 .../ERP5Site_getUpgraderSignature.xml         |   7 +-
 ...ERP5Site_upgradeAlarmToolConfiguration.xml | 151 ++++++++++++++++++
 bt5/erp5_upgrader/bt/revision                 |   2 +-
 5 files changed, 162 insertions(+), 9 deletions(-)
 create mode 100644 bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_upgradeAlarmToolConfiguration.xml

diff --git a/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_senseFinalizeUpgrade.xml b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_senseFinalizeUpgrade.xml
index af785237bd..d982a4d242 100644
--- a/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_senseFinalizeUpgrade.xml
+++ b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_senseFinalizeUpgrade.xml
@@ -91,6 +91,9 @@ if len(context.ERP5Site_upgradeSQLCatalogFilter()) > 0: \n
 if len(context.ERP5Site_upgradeSQLCatalog()) > 0: \n
   return True\n
 \n
+if len(context.ERP5Site_upgradeAlarmToolConfiguration()) > 0:\n
+  return True\n
+\n
 # (rafael) Maybe this is dangerous, enable it when this\n
 # is appropriated tested.\n
 #if len(context.ERP5Site_upgradeMySQLCharset()) > 0: \n
diff --git a/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_upgradeFinalize.xml b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_upgradeFinalize.xml
index e21006e91a..cc6b17612a 100644
--- a/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_upgradeFinalize.xml
+++ b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/Alarm_upgradeFinalize.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -104,6 +101,9 @@ message_list.extend(context.ERP5Site_upgradeSQLCatalogFilter(upgrade=1))\n
 \n
 message_list.extend(context.ERP5Site_upgradeObjectClass(upgrade=1))\n
 \n
+message_list.extend(context.ERP5Site_upgradeAlarmToolConfiguration(upgrade=1))\n
+\n
+\n
 # Verify if there was any change previously and \n
 if len(message_list) > 0:\n
  message_list.extend(context.ERP5Site_upgradeSQLCatalog(upgrade=1))\n
diff --git a/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml
index 7800207e7c..27db39e163 100644
--- a/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml
+++ b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_getUpgraderSignature.xml
@@ -525,7 +525,7 @@ ERP5_SITE_PROPERTY_DICT = {}\n
 # Define alarm configuration list, which alarm will be enabled or\n
 # disabled.\n
 # Usage (("alarm_id", True or False ),) \n
-ALARM_CONFIGURATION_list = ()\n
+ALARM_TOOL_CONFIGURATION_LIST = ()\n
 \n
 \n
 #\n
@@ -591,7 +591,7 @@ signature_dict = {\n
    # Define if the site will be recatalogued or not after finish upgrade.\n
  , \'recatalog\' : RECATALOG\n
    # Define which alarm should be enabled or disabled.\n
- , \'alarm_configuration_list\' : ALARM_CONFIGURATION_DICT\n
+ , \'alarm_tool_configuration_list\' : ALARM_TOOL_CONFIGURATION_LIST\n
 }\n
 \n
 if item is not None:\n
@@ -661,10 +661,9 @@ else:\n
                             <string>CATALOG_FILTER_DICT</string>
                             <string>INTEGRITY_VERIFICATION_SCRIPT_ID_LIST</string>
                             <string>ERP5_SITE_PROPERTY_DICT</string>
-                            <string>ALARM_CONFIGURATION_list</string>
+                            <string>ALARM_TOOL_CONFIGURATION_LIST</string>
                             <string>UPGRADE_OBJECT_CLASS_LIST</string>
                             <string>RECATALOG</string>
-                            <string>ALARM_CONFIGURATION_DICT</string>
                             <string>signature_dict</string>
                           </tuple>
                         </value>
diff --git a/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_upgradeAlarmToolConfiguration.xml b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_upgradeAlarmToolConfiguration.xml
new file mode 100644
index 0000000000..637156783f
--- /dev/null
+++ b/bt5/erp5_upgrader/SkinTemplateItem/portal_skins/erp5_upgrader/ERP5Site_upgradeAlarmToolConfiguration.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>"""\n
+"""\n
+message_list = []\n
+portal_alarms = context.portal_alarms\n
+alarm_tool_configuration_list = context.ERP5Site_getUpgraderSignature("alarm_tool_configuration_list")\n
+if alarm_tool_configuration_list is None:\n
+  return message_list\n
+\n
+for alarm_id, is_enabled in alarm_tool_configuration_list:  \n
+  obj = getattr(portal_alarms, alarm_id, None)\n
+  if obj is not None and int(obj.getEnabled()) != int(is_enabled):\n
+    message = "Upgrade is required for Alarm %s, enabled = %s (expected %s)" % \\\n
+                (alarm_id, obj.getEnabled(),is_enabled )\n
+    if int(upgrade) == 1:\n
+      obj.setEnabled(int(is_enabled))\n
+      message = "[ UPDATED ] " + message\n
+    message_list.append(message)\n
+    \n
+return message_list\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>upgrade=0</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>upgrade</string>
+                            <string>message_list</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal_alarms</string>
+                            <string>alarm_tool_configuration_list</string>
+                            <string>None</string>
+                            <string>_getiter_</string>
+                            <string>alarm_id</string>
+                            <string>is_enabled</string>
+                            <string>getattr</string>
+                            <string>obj</string>
+                            <string>int</string>
+                            <string>message</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <int>0</int>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_upgradeAlarmToolConfiguration</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_upgrader/bt/revision b/bt5/erp5_upgrader/bt/revision
index 4540549358..06e8971dc6 100644
--- a/bt5/erp5_upgrader/bt/revision
+++ b/bt5/erp5_upgrader/bt/revision
@@ -1 +1 @@
-539
\ No newline at end of file
+540
\ No newline at end of file
-- 
2.30.9


From a0ce2d98a7302b91420663fc26986172f4dbc883 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 14 Oct 2010 08:45:21 +0000
Subject: [PATCH 019/163] Separate script to get duplicating selection names
 and improve it.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39119 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../SkinsTool_checkDuplicateSelectionName.xml |  25 +--
 ...kinsTool_getDuplicateSelectionNameDict.xml | 157 ++++++++++++++++++
 bt5/erp5_forge/bt/revision                    |   2 +-
 3 files changed, 162 insertions(+), 22 deletions(-)
 create mode 100644 bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml

diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_checkDuplicateSelectionName.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_checkDuplicateSelectionName.xml
index f52c8528fa..47b454d752 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_checkDuplicateSelectionName.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_checkDuplicateSelectionName.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -55,21 +52,11 @@
             <key> <string>_body</string> </key>
             <value> <string encoding="cdata"><![CDATA[
 
-"""Print all listbox that uses the same selection name.\n
 """\n
-skins_tool = context.portal_skins\n
-selection_name_dict = dict()\n
-\n
-for field_path, field in skins_tool.ZopeFind(\n
-         skins_tool, obj_metatypes=[\'ProxyField\', \'ListBox\'], search_sub=1):\n
-  if field.meta_type == \'ProxyField\':\n
-    if field.getRecursiveTemplateField().meta_type != \'ListBox\' \\\n
-             or field.is_delegated(\'selection_name\'):\n
-      continue\n
-  \n
-  selection_name_dict.setdefault(\n
-         field.get_value(\'selection_name\'), []).append(field_path)\n
+  Print all listbox that uses the same selection name.\n
+"""\n
 \n
+selection_name_dict = context.SkinsTool_getDuplicateSelectionNameDict()\n
 for selection_name, field_list in selection_name_dict.items():\n
   if len(field_list) > 1:\n
     print repr(selection_name), \'\\n\\t\', \'\\n\\t\'.join(field_list)\n
@@ -116,12 +103,8 @@ return printed\n
                             <string>_print</string>
                             <string>_getattr_</string>
                             <string>context</string>
-                            <string>skins_tool</string>
-                            <string>dict</string>
                             <string>selection_name_dict</string>
                             <string>_getiter_</string>
-                            <string>field_path</string>
-                            <string>field</string>
                             <string>selection_name</string>
                             <string>field_list</string>
                             <string>len</string>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml
new file mode 100644
index 0000000000..6934889a73
--- /dev/null
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>"""\n
+  Get all listbox fields that uses the same selection name.\n
+"""\n
+\n
+skins_tool = context.portal_skins\n
+selection_name_dict = {}\n
+\n
+ok_to_share_selection_form_list = [\'Resource_viewInventory\', \'Resource_viewMovementHistory\']\n
+\n
+for field_path, field in skins_tool.ZopeFind(\n
+         skins_tool, obj_metatypes=[\'ProxyField\', \'ListBox\'], search_sub=1):\n
+  form = field.aq_parent\n
+  if field.meta_type == \'ProxyField\':\n
+    original_field = field.getRecursiveTemplateField()\n
+    if original_field is not None and \\\n
+       (original_field.meta_type != \'ListBox\' \\\n
+        or field.is_delegated(\'selection_name\')\n
+        or original_field.get_tales(\'selection_name\')!=\'\'):\n
+      continue\n
+  elif field.meta_type == \'ListBox\':\n
+    if field.get_tales(\'selection_name\')!=\'\':\n
+      continue\n
+  # in some rare cases sharing a selection can be done intentional so avoid them\n
+  if form.getId() in ok_to_share_selection_form_list:\n
+    continue\n
+\n
+  selection_name_dict.setdefault(\n
+         field.get_value(\'selection_name\'), []).append(field_path)\n
+\n
+return selection_name_dict\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>skins_tool</string>
+                            <string>selection_name_dict</string>
+                            <string>ok_to_share_selection_form_list</string>
+                            <string>_getiter_</string>
+                            <string>field_path</string>
+                            <string>field</string>
+                            <string>form</string>
+                            <string>original_field</string>
+                            <string>None</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SkinsTool_getDuplicateSelectionNameDict</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision
index 633fa34c7f..ca6d18c238 100644
--- a/bt5/erp5_forge/bt/revision
+++ b/bt5/erp5_forge/bt/revision
@@ -1 +1 @@
-615
\ No newline at end of file
+616
\ No newline at end of file
-- 
2.30.9


From a19128c40bdbc6fa7bb6272b409469774f14d6ec Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 08:50:37 +0000
Subject: [PATCH 020/163]  - explain why zc.buildout and zc.recipe.egg are
 pinned

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39120 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/versions.cfg | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/buildout/profiles/versions.cfg b/buildout/profiles/versions.cfg
index 66a4258bfb..3a06dc61b5 100644
--- a/buildout/profiles/versions.cfg
+++ b/buildout/profiles/versions.cfg
@@ -5,5 +5,9 @@ extends = ../profiles/versions-common.cfg
 [versions]
 itools = 0.20.8
 lxml = 2.2.8
+# Default ERP5 Appliance buildout is sticked to zc.buildout 1.4.4, as instance
+# generation is known not to work with zc.buildout >= 1.5
+# zc.recipe.egg is pinned as this is known compatible versions with
+# zc.buildout from 1.4 branch
 zc.buildout = 1.4.4
 zc.recipe.egg = 1.2.2
-- 
2.30.9


From 90f26a2cf0f20be81e60e624e7fa192b6db52dd5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 08:52:11 +0000
Subject: [PATCH 021/163]  - put >= requirements to own group and explain their
 existence  - explain why z3c.recipe.openoffice is pinned

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39121 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/versions-common.cfg | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/buildout/profiles/versions-common.cfg b/buildout/profiles/versions-common.cfg
index e5bbb60908..76fa9582dc 100644
--- a/buildout/profiles/versions-common.cfg
+++ b/buildout/profiles/versions-common.cfg
@@ -3,17 +3,22 @@
 # XXX refactor parts shared with versions.cfg into a common file
 # 1.3.1 fixes environment leak
 PyXML = 0.8.4
-erp5.recipe.mysqlserver >= 1.1.3
-erp5.recipe.sphinxserver >= 1.0.2
-erp5.recipe.standaloneinstance >= 0.4
 erp5_bt5_revision = ${:erp5_products_revision}
 erp5_products_revision =
-hexagonit.recipe.cmmi >= 1.3.1
 ipython = 0.10
 numpy = 1.3.0
 plone.recipe.zope2instance = 3.6
 pysvn = 1.7.2
 python-memcached = 1.45
 rdiff-backup = 1.0.5
-xml-marshaller >= 0.9.2
+
+# special version of z3c.recipe.openoffice with architecture autodetection
 z3c.recipe.openoffice = 0.3.1dev2
+
+# minimal versions - packages which are not to know work in version lower then
+# requested
+erp5.recipe.mysqlserver >= 1.1.3
+erp5.recipe.sphinxserver >= 1.0.2
+erp5.recipe.standaloneinstance >= 0.4
+hexagonit.recipe.cmmi >= 1.3.1
+xml-marshaller >= 0.9.2
-- 
2.30.9


From b488ec2758348b3d98d3fdfb7919ee6d831bbf5e Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 14 Oct 2010 09:01:39 +0000
Subject: [PATCH 022/163] Does filter in appropriate script rather than
 printout script.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39122 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../SkinsTool_checkDuplicateSelectionName.xml | 12 +++--------
 ...kinsTool_getDuplicateSelectionNameDict.xml | 21 ++++++++++++++++---
 bt5/erp5_forge/bt/revision                    |  2 +-
 3 files changed, 22 insertions(+), 13 deletions(-)

diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_checkDuplicateSelectionName.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_checkDuplicateSelectionName.xml
index 47b454d752..7d3fb1965b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_checkDuplicateSelectionName.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_checkDuplicateSelectionName.xml
@@ -50,20 +50,15 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-"""\n
+            <value> <string>"""\n
   Print all listbox that uses the same selection name.\n
 """\n
 \n
 selection_name_dict = context.SkinsTool_getDuplicateSelectionNameDict()\n
 for selection_name, field_list in selection_name_dict.items():\n
-  if len(field_list) > 1:\n
-    print repr(selection_name), \'\\n\\t\', \'\\n\\t\'.join(field_list)\n
+  print repr(selection_name), \'\\n\\t\', \'\\n\\t\'.join(field_list)\n
 return printed\n
-
-
-]]></string> </value>
+</string> </value>
         </item>
         <item>
             <key> <string>_code</string> </key>
@@ -107,7 +102,6 @@ return printed\n
                             <string>_getiter_</string>
                             <string>selection_name</string>
                             <string>field_list</string>
-                            <string>len</string>
                             <string>repr</string>
                           </tuple>
                         </value>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml
index 6934889a73..ee9c53e5e5 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDuplicateSelectionNameDict.xml
@@ -50,7 +50,9 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>"""\n
+            <value> <string encoding="cdata"><![CDATA[
+
+"""\n
   Get all listbox fields that uses the same selection name.\n
 """\n
 \n
@@ -79,8 +81,16 @@ for field_path, field in skins_tool.ZopeFind(\n
   selection_name_dict.setdefault(\n
          field.get_value(\'selection_name\'), []).append(field_path)\n
 \n
-return selection_name_dict\n
-</string> </value>
+# leave only duplicating ones\n
+duplicating_selection_name_dict = {}\n
+for selection_name, field_list in selection_name_dict.items():\n
+  if len(field_list) > 1:\n
+    duplicating_selection_name_dict[selection_name] = field_list\n
+\n
+return duplicating_selection_name_dict\n
+
+
+]]></string> </value>
         </item>
         <item>
             <key> <string>_code</string> </key>
@@ -127,6 +137,11 @@ return selection_name_dict\n
                             <string>form</string>
                             <string>original_field</string>
                             <string>None</string>
+                            <string>duplicating_selection_name_dict</string>
+                            <string>selection_name</string>
+                            <string>field_list</string>
+                            <string>len</string>
+                            <string>_write_</string>
                           </tuple>
                         </value>
                     </item>
diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision
index ca6d18c238..51d3b0f9e1 100644
--- a/bt5/erp5_forge/bt/revision
+++ b/bt5/erp5_forge/bt/revision
@@ -1 +1 @@
-616
\ No newline at end of file
+617
\ No newline at end of file
-- 
2.30.9


From ce02e91c138f5f8187bd88e3c12a25ef3614dd17 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 09:02:28 +0000
Subject: [PATCH 023/163]  - use the newest bootstrap, as in 2.12 zc.buildout
 >= 1.5 is used

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39123 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/README-2.12.txt | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/buildout/README-2.12.txt b/buildout/README-2.12.txt
index 5a0ccba819..1c500809d6 100644
--- a/buildout/README-2.12.txt
+++ b/buildout/README-2.12.txt
@@ -34,10 +34,29 @@ For example:
 
   svn co https://svn.erp5.org/repos/public/erp5/trunk/buildout/ ~/erp5.buildout
 
-Run the Zope 2.12 buildout:
-
   $ cd ~/erp5.buildout
-  $ python2.6 -S bootstrap/bootstrap.py -v 1.4.4 -c buildout-2.12.cfg
+
+Bootstrap buildout
+~~~~~~~~~~~~~~~~~~
+
+Download the newest bootstrap.py file from:
+  http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py
+
+And run it:
+
+  $ python2.6 -S bootstrap.py -c buildout-2.12.cfg
+
+If curl or wget are available, it can be done in one line:
+
+in case of curl:
+  $ curl -s http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py | python2.6 -S - -c buildout-2.12.cfg
+
+in case of wget:
+  $ wget -q  -O - http://svn.zope.org/*checkout*/zc.buildout/trunk/bootstrap/bootstrap.py | python2.6 -S - -c buildout-2.12.cfg
+
+Run the Zope 2.12 buildout
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
   $ bin/buildout -v -c buildout-2.12.cfg
 
 This will download and install the software components needed to run ERP5 on
-- 
2.30.9


From 5ea4e8b090b686120517e4479cd369cf80a222ed Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 14 Oct 2010 09:08:57 +0000
Subject: [PATCH 024/163] more comments.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39124 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/versions-2.12.cfg   | 6 +++---
 buildout/profiles/versions-common.cfg | 6 ++++--
 buildout/profiles/versions.cfg        | 3 +++
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/buildout/profiles/versions-2.12.cfg b/buildout/profiles/versions-2.12.cfg
index c11a6e880b..0fa18df0e0 100644
--- a/buildout/profiles/versions-2.12.cfg
+++ b/buildout/profiles/versions-2.12.cfg
@@ -15,8 +15,8 @@ SOAPpy = 0.12.0
 Acquisition = 2.13.4nxd001
 Products.DCWorkflow = 2.2.1nxd001
 
-# Zope KGS is incompatible with buildout 1.5.0 in case of distribute and
-# zc.buildout, and as ERP5 Appliance trunk wants to use the newest versions of
-# buildout infrastructure clear the pin
+# Zope Known Good Set is incompatible with buildout 1.5.0 in case of
+# distribute and zc.buildout, and as ERP5 Appliance trunk wants to use
+# the newest versions of buildout infrastructure clear the pin
 distribute =
 zc.buildout =
diff --git a/buildout/profiles/versions-common.cfg b/buildout/profiles/versions-common.cfg
index 76fa9582dc..af4dcde0c9 100644
--- a/buildout/profiles/versions-common.cfg
+++ b/buildout/profiles/versions-common.cfg
@@ -1,15 +1,16 @@
 # Common packages versions for all flavours
 [versions]
 # XXX refactor parts shared with versions.cfg into a common file
-# 1.3.1 fixes environment leak
 PyXML = 0.8.4
 erp5_bt5_revision = ${:erp5_products_revision}
 erp5_products_revision =
 ipython = 0.10
 numpy = 1.3.0
 plone.recipe.zope2instance = 3.6
+# official pysvn egg does not work with zc.recipe.egg, so we use our
+# modified version
 pysvn = 1.7.2
-python-memcached = 1.45
+# we are still using this old stable version.
 rdiff-backup = 1.0.5
 
 # special version of z3c.recipe.openoffice with architecture autodetection
@@ -21,4 +22,5 @@ erp5.recipe.mysqlserver >= 1.1.3
 erp5.recipe.sphinxserver >= 1.0.2
 erp5.recipe.standaloneinstance >= 0.4
 hexagonit.recipe.cmmi >= 1.3.1
+python-memcached >= 1.45
 xml-marshaller >= 0.9.2
diff --git a/buildout/profiles/versions.cfg b/buildout/profiles/versions.cfg
index 3a06dc61b5..3aea9da6ef 100644
--- a/buildout/profiles/versions.cfg
+++ b/buildout/profiles/versions.cfg
@@ -3,7 +3,10 @@
 extends = ../profiles/versions-common.cfg
 
 [versions]
+# 0.20.8 is the latest version of itools that works with python-2.4.
 itools = 0.20.8
+# we sometimes have troubles with downloading alpha/beta version of
+# lxml, and this is the lates stable version.
 lxml = 2.2.8
 # Default ERP5 Appliance buildout is sticked to zc.buildout 1.4.4, as instance
 # generation is known not to work with zc.buildout >= 1.5
-- 
2.30.9


From 407af2f5180e93d636d1624d131ed165ad4721df Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Thu, 14 Oct 2010 09:15:40 +0000
Subject: [PATCH 025/163] Failing test for Boolean accessor for acquired
 property.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39125 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/tests/testERP5Type.py | 37 ++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/product/ERP5Type/tests/testERP5Type.py b/product/ERP5Type/tests/testERP5Type.py
index 0b982c5866..967efe7750 100644
--- a/product/ERP5Type/tests/testERP5Type.py
+++ b/product/ERP5Type/tests/testERP5Type.py
@@ -51,6 +51,7 @@ from AccessControl.ZopeGuards import guarded_getattr, guarded_hasattr
 from Products.ERP5Type.tests.utils import createZODBPythonScript
 from Products.ERP5Type.tests.utils import removeZODBPythonScript
 from Products.ERP5Type import Permissions
+from Products.ERP5Type.tests.backportUnittest import expectedFailure
 
 class PropertySheetTestCase(ERP5TypeTestCase):
   """Base test case class for property sheets tests.
@@ -1278,7 +1279,43 @@ class TestPropertySheet:
       self.assertEquals(email.getDefaultAvailableLanguage(), 'ja')
       self.assertEquals(email.getAvailableLanguageList(), ('ja', 'fr', 'en'))
 
+    NAME_INCLUDED_PROPERTY = '''
+          { 'id':         'name_included_in_address',
+            'type':       'boolean',
+            'default'     : False,
+            'acquired_property_id': ('name_included_in_address', ),
+            'acquisition_base_category': ( 'parent', ),
+            'acquisition_portal_type'  : ( 'Person', ),
+            'acquisition_copy_value'   : 0,
+            'acquisition_mask_value'   : 1,
+            'acquisition_accessor_id'  : 'getNameIncludedInAddress',
+            'acquisition_depends'      : None,
+            'mode':       'rw', }
+    '''
+
+    @expectedFailure
+    def test_19d_AcquiredBooleanAccessor(self):
+      """Tests acquired boolean accessor.
+      Boolean accessors generate both an getPropertyName and an isPropertyName
+      Check in particular that both behave the same way regarding acquisition
+      """
+      self._addProperty('Person', self.NAME_INCLUDED_PROPERTY)
+      self._addProperty('Email', self.NAME_INCLUDED_PROPERTY)
+
+      person = self.getPersonModule().newContent(portal_type='Person')
+      email = person.newContent(portal_type='Email')
 
+      self.assertFalse(person.getNameIncludedInAddress())
+      self.assertFalse(person.isNameIncludedInAddress())
+      self.assertFalse(email.getNameIncludedInAddress())
+      self.assertFalse(email.isNameIncludedInAddress())
+      # setting it to true on the acquisition target should be reflected on the
+      # object acquiring the value
+      person.setNameIncludedInAddress(True)
+      self.assertTrue(person.getNameIncludedInAddress())
+      self.assertTrue(person.isNameIncludedInAddress())
+      self.assertTrue(email.getNameIncludedInAddress())
+      self.assertTrue(email.isNameIncludedInAddress())
 
     def test_20_AsContext(self):
       """asContext method return a temporary copy of an object.
-- 
2.30.9


From 8594fb33cda8dc0c2c45db58f34c1108502edb36 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gr=C3=A9gory=20Wisniewski?= <gregory@nexedi.com>
Date: Thu, 14 Oct 2010 09:16:58 +0000
Subject: [PATCH 026/163] Remove non-ascii characters.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39126 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../PropertySheetTemplateItem/BaobabStopDate.py                 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bt5/erp5_banking_core/PropertySheetTemplateItem/BaobabStopDate.py b/bt5/erp5_banking_core/PropertySheetTemplateItem/BaobabStopDate.py
index fa5d33e3b7..0c9d9cf358 100644
--- a/bt5/erp5_banking_core/PropertySheetTemplateItem/BaobabStopDate.py
+++ b/bt5/erp5_banking_core/PropertySheetTemplateItem/BaobabStopDate.py
@@ -1,7 +1,7 @@
 ##############################################################################
 #
 # Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
-#              Aurélien Calonne <aurel@nexedi.com>
+#              Aurelien Calonne <aurel@nexedi.com>
 #
 # WARNING: This program as such is intended to be used by professional
 # programmers who take the whole responsability of assessing all potential
-- 
2.30.9


From 321ec5b4209b3dcf05ec68ec3d9e2f9b479b7654 Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Thu, 14 Oct 2010 09:33:48 +0000
Subject: [PATCH 027/163] extend test to explicitly cover bug #712

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39127 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/tests/testERP5Type.py | 31 ++++++++++++++++++--------
 1 file changed, 22 insertions(+), 9 deletions(-)

diff --git a/product/ERP5Type/tests/testERP5Type.py b/product/ERP5Type/tests/testERP5Type.py
index 967efe7750..0e6f844021 100644
--- a/product/ERP5Type/tests/testERP5Type.py
+++ b/product/ERP5Type/tests/testERP5Type.py
@@ -1279,10 +1279,16 @@ class TestPropertySheet:
       self.assertEquals(email.getDefaultAvailableLanguage(), 'ja')
       self.assertEquals(email.getAvailableLanguageList(), ('ja', 'fr', 'en'))
 
-    NAME_INCLUDED_PROPERTY = '''
+    NAME_INCLUDED_PROPERTY_PERSON = '''
           { 'id':         'name_included_in_address',
             'type':       'boolean',
-            'default'     : False,
+            'default'     : True,
+            'mode':       'rw', }
+    '''
+    NAME_INCLUDED_PROPERTY_EMAIL = '''
+          { 'id':         'name_included_in_address',
+            'type':       'boolean',
+            'default'     : True,
             'acquired_property_id': ('name_included_in_address', ),
             'acquisition_base_category': ( 'parent', ),
             'acquisition_portal_type'  : ( 'Person', ),
@@ -1299,21 +1305,28 @@ class TestPropertySheet:
       Boolean accessors generate both an getPropertyName and an isPropertyName
       Check in particular that both behave the same way regarding acquisition
       """
-      self._addProperty('Person', self.NAME_INCLUDED_PROPERTY)
-      self._addProperty('Email', self.NAME_INCLUDED_PROPERTY)
+      self._addProperty('Person', self.NAME_INCLUDED_PROPERTY_PERSON)
+      self._addProperty('Email', self.NAME_INCLUDED_PROPERTY_EMAIL)
 
       person = self.getPersonModule().newContent(portal_type='Person')
       email = person.newContent(portal_type='Email')
 
+      self.assertTrue(person.getNameIncludedInAddress())
+      self.assertTrue(person.isNameIncludedInAddress())
+      self.assertTrue(email.getNameIncludedInAddress())
+      self.assertTrue(email.isNameIncludedInAddress())
+      # setting the property on the acquisition target should be reflected on
+      # the object acquiring the value
+      person.setNameIncludedInAddress(False)
       self.assertFalse(person.getNameIncludedInAddress())
       self.assertFalse(person.isNameIncludedInAddress())
       self.assertFalse(email.getNameIncludedInAddress())
       self.assertFalse(email.isNameIncludedInAddress())
-      # setting it to true on the acquisition target should be reflected on the
-      # object acquiring the value
-      person.setNameIncludedInAddress(True)
-      self.assertTrue(person.getNameIncludedInAddress())
-      self.assertTrue(person.isNameIncludedInAddress())
+      # setting the property on the acquiring object should mask the value on
+      # the acquisition target.
+      email.setNameIncludedInAddress(True)
+      self.assertFalse(person.getNameIncludedInAddress())
+      self.assertFalse(person.isNameIncludedInAddress())
       self.assertTrue(email.getNameIncludedInAddress())
       self.assertTrue(email.isNameIncludedInAddress())
 
-- 
2.30.9


From 98ccd20d0549f5fd78b1393b704041c6c14ddfba Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 14 Oct 2010 10:03:52 +0000
Subject: [PATCH 028/163] Check for duplicating selection name in listboxes.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39128 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testXHTML.py | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/product/ERP5/tests/testXHTML.py b/product/ERP5/tests/testXHTML.py
index 1132220607..129797876e 100644
--- a/product/ERP5/tests/testXHTML.py
+++ b/product/ERP5/tests/testXHTML.py
@@ -237,6 +237,15 @@ class TestXHTML(ERP5TypeTestCase):
           if selection_name in ("",None):
             error_list.append(form_path)
     self.assertEquals(error_list, [])
+    
+  def test_duplicatingSelectionNameInListbox(self):
+    """ 
+    Check for duplicating selection name in listboxes.
+    Usually we should not have duplicates except in some rare cases 
+    described in SkinsTool_getDuplicateSelectionNameDict
+    """
+    duplicating_selection_name_dict = self.portal.portal_skins.SkinsTool_getDuplicateSelectionNameDict()
+    self.assertEquals(duplicating_selection_name_dict, {})    
 
   def test_callableListMethodInListbox(self):
     # check all list_method in listboxes
-- 
2.30.9


From 341376dfe8ce8127e7e07baefdc49c3675dd126e Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Thu, 14 Oct 2010 12:00:28 +0000
Subject: [PATCH 029/163] Test if document is properly indexed in MySQL.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39130 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5OOo/tests/testDms.py | 27 +++++++++++++++++++++++----
 1 file changed, 23 insertions(+), 4 deletions(-)

diff --git a/product/ERP5OOo/tests/testDms.py b/product/ERP5OOo/tests/testDms.py
index 62dcc15dac..08fa63678c 100644
--- a/product/ERP5OOo/tests/testDms.py
+++ b/product/ERP5OOo/tests/testDms.py
@@ -1942,9 +1942,6 @@ return 1
     self.assertTrue('jpg' in presentation.getTargetFormatList())
     self.assertTrue('png' in presentation.getTargetFormatList())
 
-    
-    
-
   def test_convertToImageOnTraversal(self):
     """
     Test converting to image all Document portal types on traversal i.e.:
@@ -2189,7 +2186,29 @@ return 1
     self.assertEquals('test-en-003-description', document.getDescription())
     self.assertEquals('test-en-003-title', document.getTitle())
     self.assertEquals('test-en-003-keywords', document.getSubject())
-                                  
+
+
+  def test_DocumentIndexation(self):
+    """
+      Test how a document is being indexed in MySQL.
+    """
+    portal = self.portal
+    document = portal.document_module.newContent(
+                                        portal_type='Presentation', \
+                                        reference='XXX-YYY-ZZZZ',
+                                        subject_list = ['subject1', 'subject2'])
+    self.stepTic()
+    # full text indexation
+    full_text_result = portal.erp5_sql_connection.manage_test('select * from full_text where uid="%s"' %document.getUid())
+    self.assertTrue('subject2' in full_text_result[0]['searchabletext'])
+    self.assertTrue('subject1' in full_text_result[0]['searchabletext'])
+    self.assertTrue(document.getReference() in full_text_result[0]['searchabletext'])
+    
+    # subject indexation
+    subject_result = portal.erp5_sql_connection.manage_test('select * from subject where uid="%s"' %document.getUid())
+    self.assertTrue('subject2' in subject_result[0]['subject'])
+    self.assertTrue('subject1' in subject_result[0]['subject'])
+    
 
 class TestDocumentWithSecurity(TestDocumentMixin):
 
-- 
2.30.9


From df818e008f87a193e8fcdf822bf25dc8f027672c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Thu, 14 Oct 2010 12:02:37 +0000
Subject: [PATCH 030/163] add a test to prooves that cloning an event does not
 work as exepected when event comes from ingestion

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39131 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testCRM.py | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/product/ERP5/tests/testCRM.py b/product/ERP5/tests/testCRM.py
index 6a499ad29c..ef8f686823 100644
--- a/product/ERP5/tests/testCRM.py
+++ b/product/ERP5/tests/testCRM.py
@@ -498,6 +498,40 @@ class TestCRMMailIngestion(BaseTestCRM):
     self.assertEquals(['person_module/he', 'person_module/me'],
                       destination_list)
 
+  def test_clone(self):
+    # cloning an event must keep title and text-content
+    event = self._ingestMail('simple')
+    transaction.commit()
+    self.tic()
+    self.assertEquals('Simple Mail Test', event.getTitle())
+    self.assertEquals('Simple Mail Test', event.getTitleOrId())
+    self.assertEquals('Hello,\nContent of the mail.\n', str(event.asText()))
+    self.assertEquals('Hello,\nContent of the mail.\n', str(event.getTextContent()))
+    self.assertEquals('Mail Message', event.getPortalType())
+    self.assertEquals('text/plain', event.getContentType())
+    self.assertEquals('message/rfc822', event._baseGetContentType())
+    # check if parsing of metadata from content is working
+    content_dict = {'source_list': ['person_module/sender'],
+                    'destination_list': ['person_module/me',
+                                         'person_module/he']}
+    self.assertEquals(event.getPropertyDictFromContent(), content_dict)
+    new_event = event.Base_createCloneDocument(batch_mode=1)
+    transaction.commit()
+    self.tic()
+    self.assertEquals('Simple Mail Test', new_event.getTitle())
+    self.assertEquals('Simple Mail Test', new_event.getTitleOrId())
+    self.assertEquals('Hello,\nContent of the mail.\n', str(new_event.asText()))
+    self.assertEquals('Hello,\nContent of the mail.\n', str(new_event.getTextContent()))
+    self.assertEquals('Mail Message', new_event.getPortalType())
+    self.assertEquals('text/plain', new_event.getContentType())
+    self.assertEquals('message/rfc822', new_event._baseGetContentType())
+    # check if parsing of metadata from content is working
+    content_dict = {'source_list': ['person_module/sender'],
+                    'destination_list': ['person_module/me',
+                                         'person_module/he']}
+    self.assertEquals(new_event.getPropertyDictFromContent(), content_dict)
+
+
   def test_follow_up(self):
     # follow up is found automatically, based on the content of the mail, and
     # what you defined in preference regexpr.
-- 
2.30.9


From f58200bfd3441214ff7d975aed9c1e7160008826 Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Thu, 14 Oct 2010 12:15:20 +0000
Subject: [PATCH 031/163] allow capturing the error raised by a business
 template that is not in any svn working copy and add an API to allow its
 creation in a configured repository

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39132 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Subversion/Tool/SubversionTool.py | 14 ++++++++++++++
 product/ERP5Subversion/__init__.py            |  2 ++
 2 files changed, 16 insertions(+)

diff --git a/product/ERP5Subversion/Tool/SubversionTool.py b/product/ERP5Subversion/Tool/SubversionTool.py
index bedf81a8b9..deeab5849c 100644
--- a/product/ERP5Subversion/Tool/SubversionTool.py
+++ b/product/ERP5Subversion/Tool/SubversionTool.py
@@ -397,6 +397,20 @@ class SubversionTool(BaseTool):
     # Get the svn client object.
     return newSubversionClient(self, **kw)
   
+  security.declareProtected('Import/Export objects', 'createSubversionPath')
+  def createSubversionPath(self, working_copy, business_template):
+    """
+     create the working copy path corresponding to the given business
+     template, checking it is in the working copy list in preferences
+    """
+    bt_name = business_template.getTitle()
+    assert bt_name == os.path.basename(bt_name), 'Invalid bt_name'
+    working_copy = self._getWorkingPath(working_copy)
+    wc_path = os.path.join(working_copy, bt_name)
+    os.mkdir(wc_path)
+    client = self._getClient()
+    client.add([wc_path])
+
   security.declareProtected('Import/Export objects', 'getSubversionPath')
   def getSubversionPath(self, business_template, with_name=True):
     """
diff --git a/product/ERP5Subversion/__init__.py b/product/ERP5Subversion/__init__.py
index d3cfe24c6a..4ac17d760f 100644
--- a/product/ERP5Subversion/__init__.py
+++ b/product/ERP5Subversion/__init__.py
@@ -55,7 +55,9 @@ def initialize( context ):
                          content_classes = content_classes)
 
 from AccessControl.SecurityInfo import allow_module
+from AccessControl.SecurityInfo import ModuleSecurityInfo
 
 allow_module('Products.ERP5Subversion.SubversionClient')
+ModuleSecurityInfo('Products.ERP5Subversion.Tool.SubversionTool').declarePublic('SubversionUnknownBusinessTemplateError')
 
 
-- 
2.30.9


From 38529a0b8dfda68598ffa89012a27042305e0df3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Thu, 14 Oct 2010 12:19:25 +0000
Subject: [PATCH 032/163] copy properties which are guessed from data so that
 we do not loose information when cloning an event

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39133 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_crm/Event_afterClone.xml     | 14 +++++++++-----
 bt5/erp5_crm/bt/revision                           |  2 +-
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_afterClone.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_afterClone.xml
index fd17fa66f9..8608109624 100644
--- a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_afterClone.xml
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/Event_afterClone.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -53,7 +50,11 @@
         </item>
         <item>
             <key> <string>_body</string> </key>
-            <value> <string>context.setData(None)\n
+            <value> <string># We must copy these properties as they are retrieved from data\n
+title = context.getTitle()\n
+content = context.getTextContent()\n
+type = context.getContentType()\n
+context.edit(title=title, text_content=content, content_type=type, data=None)\n
 </string> </value>
         </item>
         <item>
@@ -92,6 +93,9 @@
                           <tuple>
                             <string>_getattr_</string>
                             <string>context</string>
+                            <string>title</string>
+                            <string>content</string>
+                            <string>type</string>
                             <string>None</string>
                           </tuple>
                         </value>
diff --git a/bt5/erp5_crm/bt/revision b/bt5/erp5_crm/bt/revision
index 5c84cf6fdb..560731b56b 100644
--- a/bt5/erp5_crm/bt/revision
+++ b/bt5/erp5_crm/bt/revision
@@ -1 +1 @@
-491
\ No newline at end of file
+490
\ No newline at end of file
-- 
2.30.9


From 9109425c7d187b070d79772d22e2c4d4a8bd085c Mon Sep 17 00:00:00 2001
From: Nicolas Delaby <nicolas@nexedi.com>
Date: Thu, 14 Oct 2010 12:19:42 +0000
Subject: [PATCH 033/163] Check that capitalized string in domain of email
 address still work

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39134 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testCRM.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/product/ERP5/tests/testCRM.py b/product/ERP5/tests/testCRM.py
index ef8f686823..8dfdf3b43b 100644
--- a/product/ERP5/tests/testCRM.py
+++ b/product/ERP5/tests/testCRM.py
@@ -442,6 +442,8 @@ class TestCRMMailIngestion(BaseTestCRM):
                                                         'person_module/he']),
       # multiple e-mails in the "Name" part that shouldn't be parsed
       ('"me@erp5.org,sender@customer.com," <he@erp5.org>', ['person_module/he']),
+      # capitalised version
+      ('"me@erp5.org,sEnder@CUSTOMER.cOm," <he@ERP5.OrG>', ['person_module/he']),
       # a < sign
       ('"He<" <he@erp5.org>', ['person_module/he']),
     )
-- 
2.30.9


From 9d51b80b14289ef397ccd1c4ef22d464e4b254a0 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 14 Oct 2010 12:29:50 +0000
Subject: [PATCH 034/163] introduce Base.getOriginalDocument() that returns :  
 * the original document for an asContext() result document.   * self for a
 real document.   * None for a temporary document.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39135 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Base.py               | 19 +++++++++++++++++++
 product/ERP5Type/tests/testERP5Type.py |  4 ++++
 2 files changed, 23 insertions(+)

diff --git a/product/ERP5Type/Base.py b/product/ERP5Type/Base.py
index bcd864c386..fcd8320f66 100644
--- a/product/ERP5Type/Base.py
+++ b/product/ERP5Type/Base.py
@@ -2801,12 +2801,31 @@ class Base( CopyContainer,
         for k in REQUEST.keys():
           if k != 'SESSION':
             setattr(context, k, REQUEST[k])
+      # Set the original document
+      kw['_original'] = self
       # Define local properties
       context.__dict__.update(kw)
       return context
     else:
       return context.asContext(REQUEST=REQUEST, **kw)
 
+  security.declarePublic('getOriginalDocument')
+  def getOriginalDocument(self, context=None, REQUEST=None, **kw):
+    """
+    This method returns:
+    * the original document for an asContext() result document.
+    * self for a real document.
+    * None for a temporary document.
+    """
+    if not self.isTempObject():
+      return self
+    else:
+      original = getattr(self, '_original', None)
+      if original is not None:
+        return aq_inner(original)
+      else:
+        return None
+
   security.declarePublic('isTempObject')
   def isTempObject(self):
     """Return true if self is an instance of a temporary document class.
diff --git a/product/ERP5Type/tests/testERP5Type.py b/product/ERP5Type/tests/testERP5Type.py
index 0e6f844021..276ac77469 100644
--- a/product/ERP5Type/tests/testERP5Type.py
+++ b/product/ERP5Type/tests/testERP5Type.py
@@ -1338,6 +1338,9 @@ class TestPropertySheet:
       obj.setTitle('obj title')
       copy = obj.asContext()
       self.assertTrue(copy.isTempObject(), '%r is not a temp object' % (copy,))
+      self.assertEquals(obj, copy.getOriginalDocument())
+      self.assertEquals(obj.absolute_url(),
+                        copy.getOriginalDocument().absolute_url())
       copy.setTitle('copy title')
       self.assertEquals('obj title', obj.getTitle())
       self.assertEquals('copy title', copy.getTitle())
@@ -1671,6 +1674,7 @@ class TestPropertySheet:
       from Products.ERP5Type.Document import newTempPerson
       o = newTempPerson(portal, 'temp_person_1')
       self.assertTrue(o.isTempObject())
+      self.assertEquals(o.getOriginalDocument(), None)
 
       # This should generate a workflow method.
       self.assertEquals(o.getValidationState(), 'draft')
-- 
2.30.9


From ad3d4f5d7fe6c962c1ffe17cf90c3668ca5d6b98 Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Thu, 14 Oct 2010 12:30:05 +0000
Subject: [PATCH 035/163] Dialog for creating a new working copy instead of
 getting an error when clicking on the Subversion tab of a newly created
 business template

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39136 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...usinessTemplate_doSvnCreateWorkingCopy.xml | 266 +++++++++
 .../BusinessTemplate_getRepositoryURL.xml     | 290 ++++++++++
 ...inessTemplate_viewSvnCreateWorkingCopy.xml | 290 ++++++++++
 .../your_repository.xml                       | 530 ++++++++++++++++++
 .../BusinessTemplate_viewSvnStatus.xml        |   2 +-
 bt5/erp5_forge/bt/revision                    |   2 +-
 6 files changed, 1378 insertions(+), 2 deletions(-)
 create mode 100644 bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCreateWorkingCopy.xml
 create mode 100644 bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_getRepositoryURL.xml
 create mode 100644 bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy.xml
 create mode 100644 bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy/your_repository.xml

diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCreateWorkingCopy.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCreateWorkingCopy.xml
new file mode 100644
index 0000000000..3cf4dc57aa
--- /dev/null
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCreateWorkingCopy.xml
@@ -0,0 +1,266 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>from ZTUtils import make_query\n
+form_results = context.BusinessTemplate_viewSvnCreateWorkingCopy.validate_all(REQUEST)\n
+working_copy = form_results[\'your_repository\']\n
+context.getPortalObject().portal_subversion.createSubversionPath(working_copy, context)\n
+\n
+query_string = make_query(portal_status_message=\'Business Template Working Copy created\')\n
+REQUEST.response.redirect(\'%s/BusinessTemplate_viewSvnStatus?%s\' % \n
+                          (context.absolute_url(), query_string))\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>REQUEST</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>REQUEST</string>
+                            <string>ZTUtils</string>
+                            <string>make_query</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>form_results</string>
+                            <string>_getitem_</string>
+                            <string>working_copy</string>
+                            <string>query_string</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BusinessTemplate_doSvnCreateWorkingCopy</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>from ZTUtils import make_query\n
+form_results = context.BusinessTemplate_viewSvnCreateWorkingCopy.validate_all(REQUEST)\n
+working_copy = form_results[\'your_repository\']\n
+context.getPortalObject().portal_subversion.createSubversionPath(working_copy, context)\n
+\n
+query_string = make_query(portal_status_message=\'Business Template Working Copy created\')\n
+REQUEST.response.redirect(\'%s/BusinessTemplate_viewSvnStatus?%s\' % \n
+                          (context.absolute_url(), query_string))\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>REQUEST</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>REQUEST</string>
+                            <string>ZTUtils</string>
+                            <string>make_query</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>form_results</string>
+                            <string>_getitem_</string>
+                            <string>working_copy</string>
+                            <string>query_string</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BusinessTemplate_doSvnCreateWorkingCopy</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_getRepositoryURL.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_getRepositoryURL.xml
new file mode 100644
index 0000000000..1742215fe4
--- /dev/null
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_getRepositoryURL.xml
@@ -0,0 +1,290 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># try to get the repository URL, else redirect to the dialog for creating a working copy in one of the configured repositories\n
+from ZTUtils import make_query\n
+from Products.ERP5Subversion.Tool.SubversionTool import SubversionUnknownBusinessTemplateError\n
+try:\n
+  return context.getPortalObject()[\'portal_subversion\'].info(context)[\'url\']\n
+except SubversionUnknownBusinessTemplateError:\n
+  from zExceptions import Redirect\n
+  from urllib import urlencode\n
+  dialog = context.BusinessTemplate_viewSvnCreateWorkingCopy\n
+  context_url = context.absolute_url()\n
+  query_string = make_query(\n
+    cancel_url=context_url,\n
+    portal_status_message=dialog.description\n
+  )\n
+  raise Redirect("%s/%s?%s" % (context_url, dialog.getId(), query_string))\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>ZTUtils</string>
+                            <string>make_query</string>
+                            <string>Products.ERP5Subversion.Tool.SubversionTool</string>
+                            <string>SubversionUnknownBusinessTemplateError</string>
+                            <string>_getitem_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>zExceptions</string>
+                            <string>Redirect</string>
+                            <string>urllib</string>
+                            <string>urlencode</string>
+                            <string>dialog</string>
+                            <string>context_url</string>
+                            <string>query_string</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BusinessTemplate_getRepositoryURL</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># try to get the repository URL, else redirect to the dialog for creating a working copy in one of the configured repositories\n
+from ZTUtils import make_query\n
+from Products.ERP5Subversion.Tool.SubversionTool import SubversionUnknownBusinessTemplateError\n
+try:\n
+  return context.getPortalObject()[\'portal_subversion\'].info(context)[\'url\']\n
+except SubversionUnknownBusinessTemplateError:\n
+  from zExceptions import Redirect\n
+  from urllib import urlencode\n
+  dialog = context.BusinessTemplate_viewSvnCreateWorkingCopy\n
+  context_url = context.absolute_url()\n
+  query_string = make_query(\n
+    cancel_url=context_url,\n
+    portal_status_message=dialog.description\n
+  )\n
+  raise Redirect("%s/%s?%s" % (context_url, dialog.getId(), query_string))\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>ZTUtils</string>
+                            <string>make_query</string>
+                            <string>Products.ERP5Subversion.Tool.SubversionTool</string>
+                            <string>SubversionUnknownBusinessTemplateError</string>
+                            <string>_getitem_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>zExceptions</string>
+                            <string>Redirect</string>
+                            <string>urllib</string>
+                            <string>urlencode</string>
+                            <string>dialog</string>
+                            <string>context_url</string>
+                            <string>query_string</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BusinessTemplate_getRepositoryURL</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy.xml
new file mode 100644
index 0000000000..e020669eee
--- /dev/null
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy.xml
@@ -0,0 +1,290 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>BusinessTemplate_doSvnCreateWorkingCopy</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>This business template currently does not exist in any repository. Select one of the Working Copies below and an empty business template will be created in it.</string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list>
+                        <string>your_repository</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BusinessTemplate_viewSvnCreateWorkingCopy</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>svn_select_working_copy</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_dialog</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Select a repository</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>BusinessTemplate_doSvnCreateWorkingCopy</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>This business template currently does not exist in any repository. Select one of the Working Copies below and an empty business template will be created in it.</string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list>
+                        <string>your_repository</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BusinessTemplate_viewSvnCreateWorkingCopy</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>svn_select_working_copy</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_dialog</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Select a repository</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy/your_repository.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy/your_repository.xml
new file mode 100644
index 0000000000..87485a78b8
--- /dev/null
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy/your_repository.xml
@@ -0,0 +1,530 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="RadioField" module="Products.Formulator.StandardFields"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_repository</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>orientation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>orientation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>Select a repository in which your business template will be created.</string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>orientation</string> </key>
+                    <value> <string>vertical</string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Repository</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python:context.getPortalObject().portal_preferences.getPreferredSubversionWorkingCopyList()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="RadioField" module="Products.Formulator.StandardFields"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_repository</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>orientation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>orientation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string>Select a repository in which your business template will be created.</string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>orientation</string> </key>
+                    <value> <string>vertical</string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Repository</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python:context.getPortalObject().portal_preferences.getPreferredSubversionWorkingCopyList()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnStatus.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnStatus.xml
index 312d3b084d..c88d134a77 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnStatus.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnStatus.xml
@@ -109,7 +109,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n
       </div>\n
       \n
       <br/>\n
-      <div style="color: black; font-weight: bold;" tal:define="repos_url python:context.getPortalObject()[\'portal_subversion\'].info(context)[\'url\']">\n
+      <div style="color: black; font-weight: bold;" tal:define="repos_url context/BusinessTemplate_getRepositoryURL">\n
         Repository URL: <a tal:attributes="href repos_url" tal:content="repos_url"></a>\n
       </div><br/>\n
       <button type="button" onclick="treeTaller()">Taller</button>\n
diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision
index 51d3b0f9e1..e25083957d 100644
--- a/bt5/erp5_forge/bt/revision
+++ b/bt5/erp5_forge/bt/revision
@@ -1 +1 @@
-617
\ No newline at end of file
+618
\ No newline at end of file
-- 
2.30.9


From 44a1426908bc53980e22ad30b6b75316e6837184 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Aur=C3=A9lien=20Calonne?= <aurel@nexedi.com>
Date: Thu, 14 Oct 2010 12:42:15 +0000
Subject: [PATCH 036/163] this does not have to be tested after a clone

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39137 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testCRM.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/product/ERP5/tests/testCRM.py b/product/ERP5/tests/testCRM.py
index 8dfdf3b43b..6eba62a4d1 100644
--- a/product/ERP5/tests/testCRM.py
+++ b/product/ERP5/tests/testCRM.py
@@ -526,7 +526,6 @@ class TestCRMMailIngestion(BaseTestCRM):
     self.assertEquals('Hello,\nContent of the mail.\n', str(new_event.getTextContent()))
     self.assertEquals('Mail Message', new_event.getPortalType())
     self.assertEquals('text/plain', new_event.getContentType())
-    self.assertEquals('message/rfc822', new_event._baseGetContentType())
     # check if parsing of metadata from content is working
     content_dict = {'source_list': ['person_module/sender'],
                     'destination_list': ['person_module/me',
-- 
2.30.9


From e0970a70139861eee23edc5ccce64df3475360d6 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Thu, 14 Oct 2010 12:42:51 +0000
Subject: [PATCH 037/163] Reindent & word-wrap for future extension.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39138 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/SQLCatalog.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py
index fae400d0ba..55cfb4fc57 100644
--- a/product/ZSQLCatalog/SQLCatalog.py
+++ b/product/ZSQLCatalog/SQLCatalog.py
@@ -934,7 +934,8 @@ class Catalog(Folder,
     return tuple(result_list)
 
   @caching_instance_method(id='SQLCatalog.getColumnIds',
-                           cache_factory='erp5_content_long')
+    cache_factory='erp5_content_long',
+  )
   def _getColumnIds(self):
     keys = set()
     add_key = keys.add
@@ -961,7 +962,9 @@ class Catalog(Folder,
   @profiler_decorator
   @transactional_cache_decorator('SQLCatalog.getColumnMap')
   @profiler_decorator
-  @caching_instance_method(id='SQLCatalog.getColumnMap', cache_factory='erp5_content_long')
+  @caching_instance_method(id='SQLCatalog.getColumnMap',
+    cache_factory='erp5_content_long',
+  )
   @profiler_decorator
   def getColumnMap(self):
     """
@@ -1816,7 +1819,8 @@ class Catalog(Folder,
     return self.sql_catalog_scriptable_keys
 
   @caching_instance_method(id='SQLCatalog.getTableIndex',
-                           cache_factory='erp5_content_long')
+    cache_factory='erp5_content_long',
+  )
   def _getTableIndex(self, table):
     table_index = {}
     method = getattr(self, self.sql_catalog_index, '')
@@ -2256,7 +2260,9 @@ class Catalog(Folder,
   @profiler_decorator
   @transactional_cache_decorator('SQLCatalog._getSearchKeyDict')
   @profiler_decorator
-  @caching_instance_method(id='SQLCatalog._getSearchKeyDict', cache_factory='erp5_content_long')
+  @caching_instance_method(id='SQLCatalog._getSearchKeyDict',
+    cache_factory='erp5_content_long',
+  )
   @profiler_decorator
   def _getSearchKeyDict(self):
     result = {}
-- 
2.30.9


From 97e01f23cfd38c4bcfa330d10a56baa0671a7eb4 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Thu, 14 Oct 2010 12:45:41 +0000
Subject: [PATCH 038/163] Add caching for getResultColumnIds &
 getSortColumnIds.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39139 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/SQLCatalog.py | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py
index 55cfb4fc57..21fa48ef66 100644
--- a/product/ZSQLCatalog/SQLCatalog.py
+++ b/product/ZSQLCatalog/SQLCatalog.py
@@ -978,6 +978,13 @@ class Catalog(Folder,
         result.setdefault('%s.%s' % (table, field), []).append(table) # Is this inconsistent ?
     return result
 
+  @profiler_decorator
+  @transactional_cache_decorator('SQLCatalog.getColumnIds')
+  @profiler_decorator
+  @caching_instance_method(id='SQLCatalog.getColumnIds',
+    cache_factory='erp5_content_long',
+  )
+  @profiler_decorator
   def getResultColumnIds(self):
     """
     Calls the show column method and returns dictionnary of
@@ -992,6 +999,13 @@ class Catalog(Folder,
     keys.sort()
     return keys
 
+  @profiler_decorator
+  @transactional_cache_decorator('SQLCatalog.getSortColumnIds')
+  @profiler_decorator
+  @caching_instance_method(id='SQLCatalog.getSortColumnIds',
+      cache_factory='erp5_content_long',
+  )
+  @profiler_decorator
   def getSortColumnIds(self):
     """
     Calls the show column method and returns dictionnary of
-- 
2.30.9


From 08447de0f6c7bb58cc0437288803fe878a658064 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 14 Oct 2010 12:46:52 +0000
Subject: [PATCH 039/163] we no longer export empty files under bt/ directory.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39140 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 bt5/delivery_patch/bt/categories_list                           | 0
 bt5/delivery_patch/bt/dependency_list                           | 0
 bt5/delivery_patch/bt/provision_list                            | 0
 bt5/delivery_patch/bt/revision                                  | 2 +-
 bt5/delivery_patch/bt/template_base_category_list               | 0
 bt5/delivery_patch/bt/template_catalog_full_text_key_list       | 0
 bt5/delivery_patch/bt/template_catalog_keyword_key_list         | 0
 bt5/delivery_patch/bt/template_catalog_method_id_list           | 0
 bt5/delivery_patch/bt/template_catalog_multivalue_key_list      | 0
 bt5/delivery_patch/bt/template_catalog_related_key_list         | 0
 bt5/delivery_patch/bt/template_catalog_request_key_list         | 0
 bt5/delivery_patch/bt/template_catalog_result_key_list          | 0
 bt5/delivery_patch/bt/template_catalog_result_table_list        | 0
 bt5/delivery_patch/bt/template_catalog_topic_key_list           | 0
 bt5/delivery_patch/bt/template_constraint_id_list               | 0
 bt5/delivery_patch/bt/template_document_id_list                 | 0
 bt5/delivery_patch/bt/template_extension_id_list                | 0
 bt5/delivery_patch/bt/template_local_roles_list                 | 0
 bt5/delivery_patch/bt/template_message_translation_list         | 0
 bt5/delivery_patch/bt/template_path_list                        | 0
 bt5/delivery_patch/bt/template_portal_type_base_category_list   | 0
 bt5/delivery_patch/bt/template_portal_type_roles_list           | 0
 bt5/delivery_patch/bt/template_preference_list                  | 0
 bt5/delivery_patch/bt/template_product_id_list                  | 0
 bt5/delivery_patch/bt/template_property_sheet_id_list           | 0
 bt5/delivery_patch/bt/template_role_list                        | 0
 bt5/delivery_patch/bt/template_site_property_id_list            | 0
 bt5/delivery_patch/bt/template_test_id_list                     | 0
 bt5/erp5_accounting/bt/categories_list                          | 0
 bt5/erp5_accounting/bt/provision_list                           | 0
 bt5/erp5_accounting/bt/revision                                 | 2 +-
 bt5/erp5_accounting/bt/template_catalog_datetime_key_list       | 0
 bt5/erp5_accounting/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_accounting/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_accounting/bt/template_catalog_local_role_key_list     | 0
 bt5/erp5_accounting/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_accounting/bt/template_catalog_request_key_list        | 0
 bt5/erp5_accounting/bt/template_catalog_result_key_list         | 0
 bt5/erp5_accounting/bt/template_catalog_result_table_list       | 0
 bt5/erp5_accounting/bt/template_catalog_role_key_list           | 0
 bt5/erp5_accounting/bt/template_catalog_scriptable_key_list     | 0
 bt5/erp5_accounting/bt/template_catalog_search_key_list         | 0
 bt5/erp5_accounting/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_accounting/bt/template_constraint_id_list              | 0
 bt5/erp5_accounting/bt/template_document_id_list                | 0
 bt5/erp5_accounting/bt/template_extension_id_list               | 0
 bt5/erp5_accounting/bt/template_local_role_list                 | 0
 bt5/erp5_accounting/bt/template_local_roles_list                | 0
 bt5/erp5_accounting/bt/template_message_translation_list        | 0
 bt5/erp5_accounting/bt/template_portal_type_role_list           | 0
 bt5/erp5_accounting/bt/template_portal_type_roles_list          | 0
 bt5/erp5_accounting/bt/template_preference_list                 | 0
 bt5/erp5_accounting/bt/template_product_id_list                 | 0
 bt5/erp5_accounting/bt/template_property_sheet_id_list          | 0
 bt5/erp5_accounting/bt/template_registered_skin_selection_list  | 0
 bt5/erp5_accounting/bt/template_role_list                       | 0
 bt5/erp5_accounting/bt/template_site_property_id_list           | 0
 bt5/erp5_accounting/bt/template_test_id_list                    | 0
 bt5/erp5_accounting/bt/template_tool_id_list                    | 0
 bt5/erp5_accounting_l10n_br_extend/bt/categories_list           | 0
 bt5/erp5_accounting_l10n_br_extend/bt/comment                   | 0
 bt5/erp5_accounting_l10n_br_extend/bt/provision_list            | 0
 bt5/erp5_accounting_l10n_br_extend/bt/revision                  | 2 +-
 bt5/erp5_accounting_l10n_br_extend/bt/template_action_path_list | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 .../bt/template_constraint_id_list                              | 0
 bt5/erp5_accounting_l10n_br_extend/bt/template_document_id_list | 0
 .../bt/template_extension_id_list                               | 0
 bt5/erp5_accounting_l10n_br_extend/bt/template_local_roles_list | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_br_extend/bt/template_module_id_list   | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_id_list                             | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_br_extend/bt/template_preference_list  | 0
 bt5/erp5_accounting_l10n_br_extend/bt/template_product_id_list  | 0
 .../bt/template_property_sheet_id_list                          | 0
 bt5/erp5_accounting_l10n_br_extend/bt/template_role_list        | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_accounting_l10n_br_extend/bt/template_test_id_list     | 0
 bt5/erp5_accounting_l10n_br_extend/bt/template_tool_id_list     | 0
 bt5/erp5_accounting_l10n_br_extend/bt/template_workflow_id_list | 0
 bt5/erp5_accounting_l10n_br_sme/bt/categories_list              | 0
 bt5/erp5_accounting_l10n_br_sme/bt/comment                      | 0
 bt5/erp5_accounting_l10n_br_sme/bt/provision_list               | 0
 bt5/erp5_accounting_l10n_br_sme/bt/revision                     | 2 +-
 bt5/erp5_accounting_l10n_br_sme/bt/template_action_path_list    | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_constraint_id_list  | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_document_id_list    | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_extension_id_list   | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_local_roles_list    | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_module_id_list      | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_id_list | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_preference_list     | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_product_id_list     | 0
 .../bt/template_property_sheet_id_list                          | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_role_list           | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_test_id_list        | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_tool_id_list        | 0
 bt5/erp5_accounting_l10n_br_sme/bt/template_workflow_id_list    | 0
 bt5/erp5_accounting_l10n_fr/bt/categories_list                  | 0
 bt5/erp5_accounting_l10n_fr/bt/comment                          | 0
 bt5/erp5_accounting_l10n_fr/bt/provision_list                   | 0
 bt5/erp5_accounting_l10n_fr/bt/revision                         | 2 +-
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_accounting_l10n_fr/bt/template_catalog_method_id_list  | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 bt5/erp5_accounting_l10n_fr/bt/template_catalog_result_key_list | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_accounting_l10n_fr/bt/template_catalog_role_key_list   | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_accounting_l10n_fr/bt/template_catalog_topic_key_list  | 0
 bt5/erp5_accounting_l10n_fr/bt/template_constraint_id_list      | 0
 bt5/erp5_accounting_l10n_fr/bt/template_document_id_list        | 0
 bt5/erp5_accounting_l10n_fr/bt/template_extension_id_list       | 0
 bt5/erp5_accounting_l10n_fr/bt/template_local_roles_list        | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_fr/bt/template_module_id_list          | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_l10n_fr/bt/template_portal_type_id_list     | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_accounting_l10n_fr/bt/template_portal_type_roles_list  | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_fr/bt/template_preference_list         | 0
 bt5/erp5_accounting_l10n_fr/bt/template_product_id_list         | 0
 bt5/erp5_accounting_l10n_fr/bt/template_property_sheet_id_list  | 0
 bt5/erp5_accounting_l10n_fr/bt/template_role_list               | 0
 bt5/erp5_accounting_l10n_fr/bt/template_site_property_id_list   | 0
 bt5/erp5_accounting_l10n_fr/bt/template_test_id_list            | 0
 bt5/erp5_accounting_l10n_fr/bt/template_tool_id_list            | 0
 bt5/erp5_accounting_l10n_fr/bt/template_workflow_id_list        | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/categories_list              | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/revision                     | 2 +-
 bt5/erp5_accounting_l10n_fr_m14/bt/template_action_path_list    | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_topic_key_list                          | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/template_constraint_id_list  | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/template_document_id_list    | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/template_extension_id_list   | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/template_local_roles_list    | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/template_module_id_list      | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_id_list | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/template_product_id_list     | 0
 .../bt/template_property_sheet_id_list                          | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/template_role_list           | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/template_skin_id_list        | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/template_test_id_list        | 0
 bt5/erp5_accounting_l10n_fr_m14/bt/template_workflow_id_list    | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/categories_list               | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/comment                       | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/provision_list                | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/revision                      | 2 +-
 bt5/erp5_accounting_l10n_fr_m4/bt/template_action_path_list     | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_constraint_id_list   | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_document_id_list     | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_extension_id_list    | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_local_roles_list     | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_module_id_list       | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_id_list  | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_preference_list      | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_product_id_list      | 0
 .../bt/template_property_sheet_id_list                          | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_role_list            | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_skin_id_list         | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_test_id_list         | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_tool_id_list         | 0
 bt5/erp5_accounting_l10n_fr_m4/bt/template_workflow_id_list     | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/categories_list              | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/comment                      | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/copyright_list               | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/license                      | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/maintainer_list              | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/provision_list               | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/revision                     | 2 +-
 bt5/erp5_accounting_l10n_fr_pca/bt/template_action_path_list    | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_constraint_id_list  | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_document_id_list    | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_extension_id_list   | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_local_role_list     | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_local_roles_list    | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_module_id_list      | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_id_list | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_role_list                           | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_preference_list     | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_product_id_list     | 0
 .../bt/template_property_sheet_id_list                          | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_role_list           | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_skin_id_list        | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_test_id_list        | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_tool_id_list        | 0
 bt5/erp5_accounting_l10n_fr_pca/bt/template_workflow_id_list    | 0
 bt5/erp5_accounting_l10n_ifrs/bt/categories_list                | 0
 bt5/erp5_accounting_l10n_ifrs/bt/comment                        | 0
 bt5/erp5_accounting_l10n_ifrs/bt/provision_list                 | 0
 bt5/erp5_accounting_l10n_ifrs/bt/revision                       | 2 +-
 bt5/erp5_accounting_l10n_ifrs/bt/template_action_path_list      | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_role_key_list | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_constraint_id_list    | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_document_id_list      | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_extension_id_list     | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_local_roles_list      | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_module_id_list        | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_id_list   | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_preference_list       | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_product_id_list       | 0
 .../bt/template_property_sheet_id_list                          | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_role_list             | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_site_property_id_list | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_skin_id_list          | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_test_id_list          | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_tool_id_list          | 0
 bt5/erp5_accounting_l10n_ifrs/bt/template_workflow_id_list      | 0
 bt5/erp5_accounting_l10n_in/bt/categories_list                  | 0
 bt5/erp5_accounting_l10n_in/bt/comment                          | 0
 bt5/erp5_accounting_l10n_in/bt/provision_list                   | 0
 bt5/erp5_accounting_l10n_in/bt/revision                         | 2 +-
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 bt5/erp5_accounting_l10n_in/bt/template_catalog_method_id_list  | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 bt5/erp5_accounting_l10n_in/bt/template_catalog_result_key_list | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_accounting_l10n_in/bt/template_catalog_topic_key_list  | 0
 bt5/erp5_accounting_l10n_in/bt/template_constraint_id_list      | 0
 bt5/erp5_accounting_l10n_in/bt/template_document_id_list        | 0
 bt5/erp5_accounting_l10n_in/bt/template_extension_id_list       | 0
 bt5/erp5_accounting_l10n_in/bt/template_local_roles_list        | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_in/bt/template_module_id_list          | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_l10n_in/bt/template_portal_type_id_list     | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_accounting_l10n_in/bt/template_portal_type_roles_list  | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_in/bt/template_preference_list         | 0
 bt5/erp5_accounting_l10n_in/bt/template_product_id_list         | 0
 bt5/erp5_accounting_l10n_in/bt/template_property_sheet_id_list  | 0
 bt5/erp5_accounting_l10n_in/bt/template_role_list               | 0
 bt5/erp5_accounting_l10n_in/bt/template_site_property_id_list   | 0
 bt5/erp5_accounting_l10n_in/bt/template_test_id_list            | 0
 bt5/erp5_accounting_l10n_in/bt/template_tool_id_list            | 0
 bt5/erp5_accounting_l10n_in/bt/template_workflow_id_list        | 0
 bt5/erp5_accounting_l10n_jp/bt/categories_list                  | 0
 bt5/erp5_accounting_l10n_jp/bt/comment                          | 0
 bt5/erp5_accounting_l10n_jp/bt/maintainer_list                  | 0
 bt5/erp5_accounting_l10n_jp/bt/provision_list                   | 0
 bt5/erp5_accounting_l10n_jp/bt/revision                         | 2 +-
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_accounting_l10n_jp/bt/template_catalog_method_id_list  | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 bt5/erp5_accounting_l10n_jp/bt/template_catalog_result_key_list | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_accounting_l10n_jp/bt/template_catalog_role_key_list   | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_accounting_l10n_jp/bt/template_catalog_search_key_list | 0
 bt5/erp5_accounting_l10n_jp/bt/template_catalog_topic_key_list  | 0
 bt5/erp5_accounting_l10n_jp/bt/template_constraint_id_list      | 0
 bt5/erp5_accounting_l10n_jp/bt/template_document_id_list        | 0
 bt5/erp5_accounting_l10n_jp/bt/template_extension_id_list       | 0
 bt5/erp5_accounting_l10n_jp/bt/template_local_role_list         | 0
 bt5/erp5_accounting_l10n_jp/bt/template_local_roles_list        | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_jp/bt/template_module_id_list          | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_id_list     | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_role_list   | 0
 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_roles_list  | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_jp/bt/template_preference_list         | 0
 bt5/erp5_accounting_l10n_jp/bt/template_product_id_list         | 0
 bt5/erp5_accounting_l10n_jp/bt/template_property_sheet_id_list  | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_accounting_l10n_jp/bt/template_role_list               | 0
 bt5/erp5_accounting_l10n_jp/bt/template_site_property_id_list   | 0
 bt5/erp5_accounting_l10n_jp/bt/template_test_id_list            | 0
 bt5/erp5_accounting_l10n_jp/bt/template_tool_id_list            | 0
 bt5/erp5_accounting_l10n_jp/bt/template_workflow_id_list        | 0
 bt5/erp5_accounting_l10n_mt/bt/categories_list                  | 0
 bt5/erp5_accounting_l10n_mt/bt/comment                          | 0
 bt5/erp5_accounting_l10n_mt/bt/provision_list                   | 0
 bt5/erp5_accounting_l10n_mt/bt/revision                         | 2 +-
 bt5/erp5_accounting_l10n_mt/bt/template_action_path_list        | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_accounting_l10n_mt/bt/template_catalog_method_id_list  | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 bt5/erp5_accounting_l10n_mt/bt/template_catalog_result_key_list | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_accounting_l10n_mt/bt/template_catalog_role_key_list   | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_accounting_l10n_mt/bt/template_catalog_topic_key_list  | 0
 bt5/erp5_accounting_l10n_mt/bt/template_constraint_id_list      | 0
 bt5/erp5_accounting_l10n_mt/bt/template_document_id_list        | 0
 bt5/erp5_accounting_l10n_mt/bt/template_extension_id_list       | 0
 bt5/erp5_accounting_l10n_mt/bt/template_local_role_list         | 0
 bt5/erp5_accounting_l10n_mt/bt/template_local_roles_list        | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_mt/bt/template_module_id_list          | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_l10n_mt/bt/template_portal_type_id_list     | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_accounting_l10n_mt/bt/template_portal_type_role_list   | 0
 bt5/erp5_accounting_l10n_mt/bt/template_portal_type_roles_list  | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_mt/bt/template_preference_list         | 0
 bt5/erp5_accounting_l10n_mt/bt/template_product_id_list         | 0
 bt5/erp5_accounting_l10n_mt/bt/template_property_sheet_id_list  | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_accounting_l10n_mt/bt/template_role_list               | 0
 bt5/erp5_accounting_l10n_mt/bt/template_site_property_id_list   | 0
 bt5/erp5_accounting_l10n_mt/bt/template_skin_id_list            | 0
 bt5/erp5_accounting_l10n_mt/bt/template_test_id_list            | 0
 bt5/erp5_accounting_l10n_mt/bt/template_tool_id_list            | 0
 bt5/erp5_accounting_l10n_mt/bt/template_workflow_id_list        | 0
 bt5/erp5_accounting_l10n_pl/bt/categories_list                  | 0
 bt5/erp5_accounting_l10n_pl/bt/provision_list                   | 0
 bt5/erp5_accounting_l10n_pl/bt/revision                         | 2 +-
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_accounting_l10n_pl/bt/template_catalog_method_id_list  | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 bt5/erp5_accounting_l10n_pl/bt/template_catalog_result_key_list | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_accounting_l10n_pl/bt/template_catalog_role_key_list   | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_accounting_l10n_pl/bt/template_catalog_topic_key_list  | 0
 bt5/erp5_accounting_l10n_pl/bt/template_constraint_id_list      | 0
 bt5/erp5_accounting_l10n_pl/bt/template_document_id_list        | 0
 bt5/erp5_accounting_l10n_pl/bt/template_extension_id_list       | 0
 bt5/erp5_accounting_l10n_pl/bt/template_local_roles_list        | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_pl/bt/template_module_id_list          | 0
 bt5/erp5_accounting_l10n_pl/bt/template_path_list               | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_l10n_pl/bt/template_portal_type_id_list     | 0
 bt5/erp5_accounting_l10n_pl/bt/template_portal_type_roles_list  | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_pl/bt/template_preference_list         | 0
 bt5/erp5_accounting_l10n_pl/bt/template_product_id_list         | 0
 bt5/erp5_accounting_l10n_pl/bt/template_role_list               | 0
 bt5/erp5_accounting_l10n_pl/bt/template_site_property_id_list   | 0
 bt5/erp5_accounting_l10n_pl/bt/template_test_id_list            | 0
 bt5/erp5_accounting_l10n_pl/bt/template_tool_id_list            | 0
 bt5/erp5_accounting_l10n_pl/bt/template_workflow_id_list        | 0
 bt5/erp5_accounting_l10n_pl_default_gap/bt/categories_list      | 0
 bt5/erp5_accounting_l10n_pl_default_gap/bt/comment              | 0
 bt5/erp5_accounting_l10n_pl_default_gap/bt/copyright_list       | 0
 bt5/erp5_accounting_l10n_pl_default_gap/bt/dependency_list      | 0
 bt5/erp5_accounting_l10n_pl_default_gap/bt/description          | 0
 bt5/erp5_accounting_l10n_pl_default_gap/bt/license              | 0
 bt5/erp5_accounting_l10n_pl_default_gap/bt/maintainer_list      | 0
 bt5/erp5_accounting_l10n_pl_default_gap/bt/revision             | 2 +-
 .../bt/template_action_path_list                                | 0
 .../bt/template_base_category_list                              | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 .../bt/template_constraint_id_list                              | 0
 .../bt/template_document_id_list                                | 0
 .../bt/template_extension_id_list                               | 0
 .../bt/template_local_roles_list                                | 0
 .../bt/template_message_translation_list                        | 0
 .../bt/template_module_id_list                                  | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_id_list                             | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 .../bt/template_preference_list                                 | 0
 .../bt/template_product_id_list                                 | 0
 .../bt/template_property_sheet_id_list                          | 0
 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_role_list   | 0
 .../bt/template_site_property_id_list                           | 0
 .../bt/template_test_id_list                                    | 0
 .../bt/template_tool_id_list                                    | 0
 .../bt/template_workflow_id_list                                | 0
 bt5/erp5_accounting_l10n_sn/bt/categories_list                  | 0
 bt5/erp5_accounting_l10n_sn/bt/provision_list                   | 0
 bt5/erp5_accounting_l10n_sn/bt/revision                         | 2 +-
 bt5/erp5_accounting_l10n_sn/bt/template_action_path_list        | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 bt5/erp5_accounting_l10n_sn/bt/template_catalog_method_id_list  | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 bt5/erp5_accounting_l10n_sn/bt/template_catalog_result_key_list | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_accounting_l10n_sn/bt/template_catalog_topic_key_list  | 0
 bt5/erp5_accounting_l10n_sn/bt/template_constraint_id_list      | 0
 bt5/erp5_accounting_l10n_sn/bt/template_document_id_list        | 0
 bt5/erp5_accounting_l10n_sn/bt/template_extension_id_list       | 0
 bt5/erp5_accounting_l10n_sn/bt/template_local_roles_list        | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_l10n_sn/bt/template_module_id_list          | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_l10n_sn/bt/template_portal_type_id_list     | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_accounting_l10n_sn/bt/template_portal_type_roles_list  | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_l10n_sn/bt/template_preference_list         | 0
 bt5/erp5_accounting_l10n_sn/bt/template_product_id_list         | 0
 bt5/erp5_accounting_l10n_sn/bt/template_property_sheet_id_list  | 0
 bt5/erp5_accounting_l10n_sn/bt/template_role_list               | 0
 bt5/erp5_accounting_l10n_sn/bt/template_site_property_id_list   | 0
 bt5/erp5_accounting_l10n_sn/bt/template_test_id_list            | 0
 bt5/erp5_accounting_l10n_sn/bt/template_workflow_id_list        | 0
 bt5/erp5_accounting_ui_test/bt/categories_list                  | 0
 bt5/erp5_accounting_ui_test/bt/comment                          | 0
 bt5/erp5_accounting_ui_test/bt/provision_list                   | 0
 bt5/erp5_accounting_ui_test/bt/revision                         | 2 +-
 bt5/erp5_accounting_ui_test/bt/template_action_path_list        | 0
 bt5/erp5_accounting_ui_test/bt/template_base_category_list      | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_accounting_ui_test/bt/template_catalog_method_id_list  | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 bt5/erp5_accounting_ui_test/bt/template_catalog_result_key_list | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_accounting_ui_test/bt/template_catalog_role_key_list   | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_accounting_ui_test/bt/template_catalog_topic_key_list  | 0
 bt5/erp5_accounting_ui_test/bt/template_constraint_id_list      | 0
 bt5/erp5_accounting_ui_test/bt/template_document_id_list        | 0
 bt5/erp5_accounting_ui_test/bt/template_extension_id_list       | 0
 bt5/erp5_accounting_ui_test/bt/template_local_role_list         | 0
 bt5/erp5_accounting_ui_test/bt/template_local_roles_list        | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_accounting_ui_test/bt/template_module_id_list          | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_accounting_ui_test/bt/template_portal_type_id_list     | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_accounting_ui_test/bt/template_portal_type_role_list   | 0
 bt5/erp5_accounting_ui_test/bt/template_portal_type_roles_list  | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_accounting_ui_test/bt/template_preference_list         | 0
 bt5/erp5_accounting_ui_test/bt/template_product_id_list         | 0
 bt5/erp5_accounting_ui_test/bt/template_property_sheet_id_list  | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_accounting_ui_test/bt/template_role_list               | 0
 bt5/erp5_accounting_ui_test/bt/template_site_property_id_list   | 0
 bt5/erp5_accounting_ui_test/bt/template_test_id_list            | 0
 bt5/erp5_accounting_ui_test/bt/template_tool_id_list            | 0
 bt5/erp5_accounting_ui_test/bt/template_workflow_id_list        | 0
 bt5/erp5_administration/bt/categories_list                      | 0
 bt5/erp5_administration/bt/comment                              | 0
 bt5/erp5_administration/bt/dependency_list                      | 0
 bt5/erp5_administration/bt/maintainer_list                      | 0
 bt5/erp5_administration/bt/provision_list                       | 0
 bt5/erp5_administration/bt/revision                             | 2 +-
 bt5/erp5_administration/bt/template_base_category_list          | 0
 bt5/erp5_administration/bt/template_catalog_datetime_key_list   | 0
 bt5/erp5_administration/bt/template_catalog_full_text_key_list  | 0
 bt5/erp5_administration/bt/template_catalog_keyword_key_list    | 0
 bt5/erp5_administration/bt/template_catalog_local_role_key_list | 0
 bt5/erp5_administration/bt/template_catalog_method_id_list      | 0
 bt5/erp5_administration/bt/template_catalog_multivalue_key_list | 0
 bt5/erp5_administration/bt/template_catalog_related_key_list    | 0
 bt5/erp5_administration/bt/template_catalog_request_key_list    | 0
 bt5/erp5_administration/bt/template_catalog_result_key_list     | 0
 bt5/erp5_administration/bt/template_catalog_result_table_list   | 0
 bt5/erp5_administration/bt/template_catalog_role_key_list       | 0
 bt5/erp5_administration/bt/template_catalog_scriptable_key_list | 0
 bt5/erp5_administration/bt/template_catalog_topic_key_list      | 0
 bt5/erp5_administration/bt/template_constraint_id_list          | 0
 bt5/erp5_administration/bt/template_document_id_list            | 0
 bt5/erp5_administration/bt/template_local_role_list             | 0
 bt5/erp5_administration/bt/template_local_roles_list            | 0
 bt5/erp5_administration/bt/template_message_translation_list    | 0
 bt5/erp5_administration/bt/template_module_id_list              | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_administration/bt/template_portal_type_id_list         | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_administration/bt/template_portal_type_role_list       | 0
 bt5/erp5_administration/bt/template_portal_type_roles_list      | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_administration/bt/template_preference_list             | 0
 bt5/erp5_administration/bt/template_product_id_list             | 0
 bt5/erp5_administration/bt/template_property_sheet_id_list      | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_administration/bt/template_role_list                   | 0
 bt5/erp5_administration/bt/template_site_property_id_list       | 0
 bt5/erp5_administration/bt/template_test_id_list                | 0
 bt5/erp5_administration/bt/template_tool_id_list                | 0
 bt5/erp5_administration/bt/template_workflow_id_list            | 0
 bt5/erp5_advanced_invoicing/bt/categories_list                  | 0
 bt5/erp5_advanced_invoicing/bt/comment                          | 0
 bt5/erp5_advanced_invoicing/bt/provision_list                   | 0
 bt5/erp5_advanced_invoicing/bt/revision                         | 2 +-
 bt5/erp5_advanced_invoicing/bt/template_base_category_list      | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_advanced_invoicing/bt/template_catalog_method_id_list  | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 bt5/erp5_advanced_invoicing/bt/template_catalog_result_key_list | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_advanced_invoicing/bt/template_catalog_role_key_list   | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_advanced_invoicing/bt/template_catalog_topic_key_list  | 0
 bt5/erp5_advanced_invoicing/bt/template_constraint_id_list      | 0
 bt5/erp5_advanced_invoicing/bt/template_document_id_list        | 0
 bt5/erp5_advanced_invoicing/bt/template_extension_id_list       | 0
 bt5/erp5_advanced_invoicing/bt/template_local_role_list         | 0
 bt5/erp5_advanced_invoicing/bt/template_local_roles_list        | 0
 .../bt/template_message_translation_list                        | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_advanced_invoicing/bt/template_portal_type_role_list   | 0
 bt5/erp5_advanced_invoicing/bt/template_portal_type_roles_list  | 0
 bt5/erp5_advanced_invoicing/bt/template_preference_list         | 0
 bt5/erp5_advanced_invoicing/bt/template_product_id_list         | 0
 bt5/erp5_advanced_invoicing/bt/template_property_sheet_id_list  | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_advanced_invoicing/bt/template_role_list               | 0
 bt5/erp5_advanced_invoicing/bt/template_site_property_id_list   | 0
 bt5/erp5_advanced_invoicing/bt/template_test_id_list            | 0
 bt5/erp5_advanced_invoicing/bt/template_tool_id_list            | 0
 bt5/erp5_apparel/bt/categories_list                             | 0
 bt5/erp5_apparel/bt/comment                                     | 0
 bt5/erp5_apparel/bt/provision_list                              | 0
 bt5/erp5_apparel/bt/revision                                    | 2 +-
 bt5/erp5_apparel/bt/template_catalog_datetime_key_list          | 0
 bt5/erp5_apparel/bt/template_catalog_full_text_key_list         | 0
 bt5/erp5_apparel/bt/template_catalog_keyword_key_list           | 0
 bt5/erp5_apparel/bt/template_catalog_local_role_key_list        | 0
 bt5/erp5_apparel/bt/template_catalog_method_id_list             | 0
 bt5/erp5_apparel/bt/template_catalog_multivalue_key_list        | 0
 bt5/erp5_apparel/bt/template_catalog_related_key_list           | 0
 bt5/erp5_apparel/bt/template_catalog_request_key_list           | 0
 bt5/erp5_apparel/bt/template_catalog_result_key_list            | 0
 bt5/erp5_apparel/bt/template_catalog_result_table_list          | 0
 bt5/erp5_apparel/bt/template_catalog_role_key_list              | 0
 bt5/erp5_apparel/bt/template_catalog_scriptable_key_list        | 0
 bt5/erp5_apparel/bt/template_catalog_topic_key_list             | 0
 bt5/erp5_apparel/bt/template_constraint_id_list                 | 0
 bt5/erp5_apparel/bt/template_extension_id_list                  | 0
 bt5/erp5_apparel/bt/template_local_role_list                    | 0
 bt5/erp5_apparel/bt/template_local_roles_list                   | 0
 bt5/erp5_apparel/bt/template_message_translation_list           | 0
 bt5/erp5_apparel/bt/template_path_list                          | 0
 bt5/erp5_apparel/bt/template_portal_type_role_list              | 0
 bt5/erp5_apparel/bt/template_portal_type_roles_list             | 0
 bt5/erp5_apparel/bt/template_preference_list                    | 0
 bt5/erp5_apparel/bt/template_product_id_list                    | 0
 bt5/erp5_apparel/bt/template_registered_skin_selection_list     | 0
 bt5/erp5_apparel/bt/template_role_list                          | 0
 bt5/erp5_apparel/bt/template_site_property_id_list              | 0
 bt5/erp5_apparel/bt/template_test_id_list                       | 0
 bt5/erp5_apparel/bt/template_tool_id_list                       | 0
 bt5/erp5_archive/bt/categories_list                             | 0
 bt5/erp5_archive/bt/comment                                     | 0
 bt5/erp5_archive/bt/provision_list                              | 0
 bt5/erp5_archive/bt/revision                                    | 2 +-
 bt5/erp5_archive/bt/template_base_category_list                 | 0
 bt5/erp5_archive/bt/template_catalog_datetime_key_list          | 0
 bt5/erp5_archive/bt/template_catalog_full_text_key_list         | 0
 bt5/erp5_archive/bt/template_catalog_keyword_key_list           | 0
 bt5/erp5_archive/bt/template_catalog_local_role_key_list        | 0
 bt5/erp5_archive/bt/template_catalog_method_id_list             | 0
 bt5/erp5_archive/bt/template_catalog_multivalue_key_list        | 0
 bt5/erp5_archive/bt/template_catalog_related_key_list           | 0
 bt5/erp5_archive/bt/template_catalog_request_key_list           | 0
 bt5/erp5_archive/bt/template_catalog_result_key_list            | 0
 bt5/erp5_archive/bt/template_catalog_result_table_list          | 0
 bt5/erp5_archive/bt/template_catalog_role_key_list              | 0
 bt5/erp5_archive/bt/template_catalog_scriptable_key_list        | 0
 bt5/erp5_archive/bt/template_catalog_topic_key_list             | 0
 bt5/erp5_archive/bt/template_constraint_id_list                 | 0
 bt5/erp5_archive/bt/template_document_id_list                   | 0
 bt5/erp5_archive/bt/template_extension_id_list                  | 0
 bt5/erp5_archive/bt/template_local_role_list                    | 0
 bt5/erp5_archive/bt/template_local_roles_list                   | 0
 bt5/erp5_archive/bt/template_message_translation_list           | 0
 bt5/erp5_archive/bt/template_path_list                          | 0
 bt5/erp5_archive/bt/template_portal_type_base_category_list     | 0
 bt5/erp5_archive/bt/template_portal_type_role_list              | 0
 bt5/erp5_archive/bt/template_portal_type_roles_list             | 0
 bt5/erp5_archive/bt/template_preference_list                    | 0
 bt5/erp5_archive/bt/template_product_id_list                    | 0
 bt5/erp5_archive/bt/template_property_sheet_id_list             | 0
 bt5/erp5_archive/bt/template_registered_skin_selection_list     | 0
 bt5/erp5_archive/bt/template_role_list                          | 0
 bt5/erp5_archive/bt/template_site_property_id_list              | 0
 bt5/erp5_archive/bt/template_test_id_list                       | 0
 bt5/erp5_auto_logout/bt/categories_list                         | 0
 bt5/erp5_auto_logout/bt/comment                                 | 0
 bt5/erp5_auto_logout/bt/dependency_list                         | 0
 bt5/erp5_auto_logout/bt/provision_list                          | 0
 bt5/erp5_auto_logout/bt/revision                                | 2 +-
 bt5/erp5_auto_logout/bt/template_action_path_list               | 0
 bt5/erp5_auto_logout/bt/template_base_category_list             | 0
 bt5/erp5_auto_logout/bt/template_catalog_datetime_key_list      | 0
 bt5/erp5_auto_logout/bt/template_catalog_full_text_key_list     | 0
 bt5/erp5_auto_logout/bt/template_catalog_keyword_key_list       | 0
 bt5/erp5_auto_logout/bt/template_catalog_local_role_key_list    | 0
 bt5/erp5_auto_logout/bt/template_catalog_method_id_list         | 0
 bt5/erp5_auto_logout/bt/template_catalog_multivalue_key_list    | 0
 bt5/erp5_auto_logout/bt/template_catalog_related_key_list       | 0
 bt5/erp5_auto_logout/bt/template_catalog_request_key_list       | 0
 bt5/erp5_auto_logout/bt/template_catalog_result_key_list        | 0
 bt5/erp5_auto_logout/bt/template_catalog_result_table_list      | 0
 bt5/erp5_auto_logout/bt/template_catalog_role_key_list          | 0
 bt5/erp5_auto_logout/bt/template_catalog_scriptable_key_list    | 0
 bt5/erp5_auto_logout/bt/template_catalog_topic_key_list         | 0
 bt5/erp5_auto_logout/bt/template_constraint_id_list             | 0
 bt5/erp5_auto_logout/bt/template_document_id_list               | 0
 bt5/erp5_auto_logout/bt/template_extension_id_list              | 0
 bt5/erp5_auto_logout/bt/template_local_roles_list               | 0
 bt5/erp5_auto_logout/bt/template_message_translation_list       | 0
 bt5/erp5_auto_logout/bt/template_module_id_list                 | 0
 bt5/erp5_auto_logout/bt/template_path_list                      | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_auto_logout/bt/template_portal_type_base_category_list | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_auto_logout/bt/template_portal_type_id_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_auto_logout/bt/template_portal_type_roles_list         | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_auto_logout/bt/template_preference_list                | 0
 bt5/erp5_auto_logout/bt/template_product_id_list                | 0
 bt5/erp5_auto_logout/bt/template_property_sheet_id_list         | 0
 bt5/erp5_auto_logout/bt/template_role_list                      | 0
 bt5/erp5_auto_logout/bt/template_site_property_id_list          | 0
 bt5/erp5_auto_logout/bt/template_test_id_list                   | 0
 bt5/erp5_auto_logout/bt/template_tool_id_list                   | 0
 bt5/erp5_auto_logout/bt/template_workflow_id_list               | 0
 bt5/erp5_auto_logout/bt/version                                 | 0
 bt5/erp5_autocompletion_ui/bt/categories_list                   | 0
 bt5/erp5_autocompletion_ui/bt/comment                           | 0
 bt5/erp5_autocompletion_ui/bt/provision_list                    | 0
 bt5/erp5_autocompletion_ui/bt/revision                          | 2 +-
 bt5/erp5_autocompletion_ui/bt/template_action_path_list         | 0
 bt5/erp5_autocompletion_ui/bt/template_base_category_list       | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 bt5/erp5_autocompletion_ui/bt/template_catalog_keyword_key_list | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_autocompletion_ui/bt/template_catalog_method_id_list   | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 bt5/erp5_autocompletion_ui/bt/template_catalog_related_key_list | 0
 bt5/erp5_autocompletion_ui/bt/template_catalog_request_key_list | 0
 bt5/erp5_autocompletion_ui/bt/template_catalog_result_key_list  | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_autocompletion_ui/bt/template_catalog_role_key_list    | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_autocompletion_ui/bt/template_catalog_topic_key_list   | 0
 bt5/erp5_autocompletion_ui/bt/template_constraint_id_list       | 0
 bt5/erp5_autocompletion_ui/bt/template_document_id_list         | 0
 bt5/erp5_autocompletion_ui/bt/template_extension_id_list        | 0
 bt5/erp5_autocompletion_ui/bt/template_local_role_list          | 0
 bt5/erp5_autocompletion_ui/bt/template_local_roles_list         | 0
 bt5/erp5_autocompletion_ui/bt/template_message_translation_list | 0
 bt5/erp5_autocompletion_ui/bt/template_module_id_list           | 0
 bt5/erp5_autocompletion_ui/bt/template_path_list                | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_autocompletion_ui/bt/template_portal_type_id_list      | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_autocompletion_ui/bt/template_portal_type_role_list    | 0
 bt5/erp5_autocompletion_ui/bt/template_portal_type_roles_list   | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_autocompletion_ui/bt/template_preference_list          | 0
 bt5/erp5_autocompletion_ui/bt/template_product_id_list          | 0
 bt5/erp5_autocompletion_ui/bt/template_property_sheet_id_list   | 0
 bt5/erp5_autocompletion_ui/bt/template_role_list                | 0
 bt5/erp5_autocompletion_ui/bt/template_site_property_id_list    | 0
 bt5/erp5_autocompletion_ui/bt/template_test_id_list             | 0
 bt5/erp5_autocompletion_ui/bt/template_tool_id_list             | 0
 bt5/erp5_autocompletion_ui/bt/template_workflow_id_list         | 0
 bt5/erp5_banking_cash/bt/categories_list                        | 0
 bt5/erp5_banking_cash/bt/comment                                | 0
 bt5/erp5_banking_cash/bt/provision_list                         | 0
 bt5/erp5_banking_cash/bt/revision                               | 2 +-
 bt5/erp5_banking_cash/bt/template_catalog_datetime_key_list     | 0
 bt5/erp5_banking_cash/bt/template_catalog_full_text_key_list    | 0
 bt5/erp5_banking_cash/bt/template_catalog_keyword_key_list      | 0
 bt5/erp5_banking_cash/bt/template_catalog_local_role_key_list   | 0
 bt5/erp5_banking_cash/bt/template_catalog_method_id_list        | 0
 bt5/erp5_banking_cash/bt/template_catalog_multivalue_key_list   | 0
 bt5/erp5_banking_cash/bt/template_catalog_related_key_list      | 0
 bt5/erp5_banking_cash/bt/template_catalog_request_key_list      | 0
 bt5/erp5_banking_cash/bt/template_catalog_result_key_list       | 0
 bt5/erp5_banking_cash/bt/template_catalog_result_table_list     | 0
 bt5/erp5_banking_cash/bt/template_catalog_role_key_list         | 0
 bt5/erp5_banking_cash/bt/template_catalog_scriptable_key_list   | 0
 bt5/erp5_banking_cash/bt/template_catalog_topic_key_list        | 0
 bt5/erp5_banking_cash/bt/template_constraint_id_list            | 0
 bt5/erp5_banking_cash/bt/template_document_id_list              | 0
 bt5/erp5_banking_cash/bt/template_extension_id_list             | 0
 bt5/erp5_banking_cash/bt/template_local_role_list               | 0
 bt5/erp5_banking_cash/bt/template_local_roles_list              | 0
 bt5/erp5_banking_cash/bt/template_message_translation_list      | 0
 bt5/erp5_banking_cash/bt/template_path_list                     | 0
 bt5/erp5_banking_cash/bt/template_portal_type_role_list         | 0
 bt5/erp5_banking_cash/bt/template_portal_type_roles_list        | 0
 bt5/erp5_banking_cash/bt/template_preference_list               | 0
 bt5/erp5_banking_cash/bt/template_product_id_list               | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_banking_cash/bt/template_role_list                     | 0
 bt5/erp5_banking_cash/bt/template_site_property_id_list         | 0
 bt5/erp5_banking_cash/bt/template_test_id_list                  | 0
 bt5/erp5_banking_cash/bt/template_tool_id_list                  | 0
 bt5/erp5_banking_check/bt/categories_list                       | 0
 bt5/erp5_banking_check/bt/comment                               | 0
 bt5/erp5_banking_check/bt/provision_list                        | 0
 bt5/erp5_banking_check/bt/revision                              | 2 +-
 bt5/erp5_banking_check/bt/template_base_category_list           | 0
 bt5/erp5_banking_check/bt/template_catalog_datetime_key_list    | 0
 bt5/erp5_banking_check/bt/template_catalog_full_text_key_list   | 0
 bt5/erp5_banking_check/bt/template_catalog_keyword_key_list     | 0
 bt5/erp5_banking_check/bt/template_catalog_local_role_key_list  | 0
 bt5/erp5_banking_check/bt/template_catalog_method_id_list       | 0
 bt5/erp5_banking_check/bt/template_catalog_multivalue_key_list  | 0
 bt5/erp5_banking_check/bt/template_catalog_related_key_list     | 0
 bt5/erp5_banking_check/bt/template_catalog_request_key_list     | 0
 bt5/erp5_banking_check/bt/template_catalog_result_key_list      | 0
 bt5/erp5_banking_check/bt/template_catalog_result_table_list    | 0
 bt5/erp5_banking_check/bt/template_catalog_role_key_list        | 0
 bt5/erp5_banking_check/bt/template_catalog_scriptable_key_list  | 0
 bt5/erp5_banking_check/bt/template_catalog_topic_key_list       | 0
 bt5/erp5_banking_check/bt/template_constraint_id_list           | 0
 bt5/erp5_banking_check/bt/template_document_id_list             | 0
 bt5/erp5_banking_check/bt/template_local_role_list              | 0
 bt5/erp5_banking_check/bt/template_local_roles_list             | 0
 bt5/erp5_banking_check/bt/template_message_translation_list     | 0
 bt5/erp5_banking_check/bt/template_path_list                    | 0
 bt5/erp5_banking_check/bt/template_portal_type_role_list        | 0
 bt5/erp5_banking_check/bt/template_portal_type_roles_list       | 0
 bt5/erp5_banking_check/bt/template_preference_list              | 0
 bt5/erp5_banking_check/bt/template_product_id_list              | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_banking_check/bt/template_role_list                    | 0
 bt5/erp5_banking_check/bt/template_site_property_id_list        | 0
 bt5/erp5_banking_check/bt/template_test_id_list                 | 0
 bt5/erp5_banking_check/bt/template_tool_id_list                 | 0
 bt5/erp5_banking_core/bt/categories_list                        | 0
 bt5/erp5_banking_core/bt/comment                                | 0
 bt5/erp5_banking_core/bt/provision_list                         | 0
 bt5/erp5_banking_core/bt/revision                               | 2 +-
 bt5/erp5_banking_core/bt/template_catalog_datetime_key_list     | 0
 bt5/erp5_banking_core/bt/template_catalog_full_text_key_list    | 0
 bt5/erp5_banking_core/bt/template_catalog_keyword_key_list      | 0
 bt5/erp5_banking_core/bt/template_catalog_local_role_key_list   | 0
 bt5/erp5_banking_core/bt/template_catalog_multivalue_key_list   | 0
 bt5/erp5_banking_core/bt/template_catalog_request_key_list      | 0
 bt5/erp5_banking_core/bt/template_catalog_result_key_list       | 0
 bt5/erp5_banking_core/bt/template_catalog_result_table_list     | 0
 bt5/erp5_banking_core/bt/template_catalog_role_key_list         | 0
 bt5/erp5_banking_core/bt/template_catalog_scriptable_key_list   | 0
 bt5/erp5_banking_core/bt/template_catalog_topic_key_list        | 0
 bt5/erp5_banking_core/bt/template_document_id_list              | 0
 bt5/erp5_banking_core/bt/template_extension_id_list             | 0
 bt5/erp5_banking_core/bt/template_local_role_list               | 0
 bt5/erp5_banking_core/bt/template_local_roles_list              | 0
 bt5/erp5_banking_core/bt/template_message_translation_list      | 0
 bt5/erp5_banking_core/bt/template_portal_type_role_list         | 0
 bt5/erp5_banking_core/bt/template_portal_type_roles_list        | 0
 bt5/erp5_banking_core/bt/template_preference_list               | 0
 bt5/erp5_banking_core/bt/template_product_id_list               | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_banking_core/bt/template_role_list                     | 0
 bt5/erp5_banking_core/bt/template_site_property_id_list         | 0
 bt5/erp5_banking_core/bt/template_test_id_list                  | 0
 bt5/erp5_banking_core/bt/template_tool_id_list                  | 0
 bt5/erp5_banking_inventory/bt/categories_list                   | 0
 bt5/erp5_banking_inventory/bt/comment                           | 0
 bt5/erp5_banking_inventory/bt/provision_list                    | 0
 bt5/erp5_banking_inventory/bt/revision                          | 2 +-
 bt5/erp5_banking_inventory/bt/template_base_category_list       | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 bt5/erp5_banking_inventory/bt/template_catalog_keyword_key_list | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_banking_inventory/bt/template_catalog_method_id_list   | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 bt5/erp5_banking_inventory/bt/template_catalog_related_key_list | 0
 bt5/erp5_banking_inventory/bt/template_catalog_request_key_list | 0
 bt5/erp5_banking_inventory/bt/template_catalog_result_key_list  | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_banking_inventory/bt/template_catalog_role_key_list    | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_banking_inventory/bt/template_catalog_topic_key_list   | 0
 bt5/erp5_banking_inventory/bt/template_constraint_id_list       | 0
 bt5/erp5_banking_inventory/bt/template_document_id_list         | 0
 bt5/erp5_banking_inventory/bt/template_extension_id_list        | 0
 bt5/erp5_banking_inventory/bt/template_local_role_list          | 0
 bt5/erp5_banking_inventory/bt/template_local_roles_list         | 0
 bt5/erp5_banking_inventory/bt/template_message_translation_list | 0
 bt5/erp5_banking_inventory/bt/template_path_list                | 0
 bt5/erp5_banking_inventory/bt/template_portal_type_role_list    | 0
 bt5/erp5_banking_inventory/bt/template_portal_type_roles_list   | 0
 bt5/erp5_banking_inventory/bt/template_preference_list          | 0
 bt5/erp5_banking_inventory/bt/template_product_id_list          | 0
 bt5/erp5_banking_inventory/bt/template_property_sheet_id_list   | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_banking_inventory/bt/template_role_list                | 0
 bt5/erp5_banking_inventory/bt/template_site_property_id_list    | 0
 bt5/erp5_banking_inventory/bt/template_test_id_list             | 0
 bt5/erp5_banking_inventory/bt/template_tool_id_list             | 0
 bt5/erp5_barcode/bt/categories_list                             | 0
 bt5/erp5_barcode/bt/comment                                     | 0
 bt5/erp5_barcode/bt/copyright_list                              | 0
 bt5/erp5_barcode/bt/dependency_list                             | 0
 bt5/erp5_barcode/bt/license                                     | 0
 bt5/erp5_barcode/bt/provision_list                              | 0
 bt5/erp5_barcode/bt/revision                                    | 2 +-
 bt5/erp5_barcode/bt/template_base_category_list                 | 0
 bt5/erp5_barcode/bt/template_catalog_datetime_key_list          | 0
 bt5/erp5_barcode/bt/template_catalog_full_text_key_list         | 0
 bt5/erp5_barcode/bt/template_catalog_keyword_key_list           | 0
 bt5/erp5_barcode/bt/template_catalog_local_role_key_list        | 0
 bt5/erp5_barcode/bt/template_catalog_method_id_list             | 0
 bt5/erp5_barcode/bt/template_catalog_multivalue_key_list        | 0
 bt5/erp5_barcode/bt/template_catalog_related_key_list           | 0
 bt5/erp5_barcode/bt/template_catalog_request_key_list           | 0
 bt5/erp5_barcode/bt/template_catalog_result_key_list            | 0
 bt5/erp5_barcode/bt/template_catalog_result_table_list          | 0
 bt5/erp5_barcode/bt/template_catalog_role_key_list              | 0
 bt5/erp5_barcode/bt/template_catalog_scriptable_key_list        | 0
 bt5/erp5_barcode/bt/template_catalog_topic_key_list             | 0
 bt5/erp5_barcode/bt/template_constraint_id_list                 | 0
 bt5/erp5_barcode/bt/template_document_id_list                   | 0
 bt5/erp5_barcode/bt/template_local_role_list                    | 0
 bt5/erp5_barcode/bt/template_local_roles_list                   | 0
 bt5/erp5_barcode/bt/template_message_translation_list           | 0
 bt5/erp5_barcode/bt/template_path_list                          | 0
 bt5/erp5_barcode/bt/template_portal_type_base_category_list     | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_barcode/bt/template_portal_type_role_list              | 0
 bt5/erp5_barcode/bt/template_portal_type_roles_list             | 0
 bt5/erp5_barcode/bt/template_portal_type_workflow_chain_list    | 0
 bt5/erp5_barcode/bt/template_preference_list                    | 0
 bt5/erp5_barcode/bt/template_product_id_list                    | 0
 bt5/erp5_barcode/bt/template_registered_skin_selection_list     | 0
 bt5/erp5_barcode/bt/template_role_list                          | 0
 bt5/erp5_barcode/bt/template_site_property_id_list              | 0
 bt5/erp5_barcode/bt/template_test_id_list                       | 0
 bt5/erp5_barcode/bt/template_tool_id_list                       | 0
 bt5/erp5_barcode/bt/template_workflow_id_list                   | 0
 bt5/erp5_base/bt/categories_list                                | 0
 bt5/erp5_base/bt/comment                                        | 0
 bt5/erp5_base/bt/provision_list                                 | 0
 bt5/erp5_base/bt/revision                                       | 2 +-
 bt5/erp5_base/bt/template_catalog_datetime_key_list             | 0
 bt5/erp5_base/bt/template_catalog_full_text_key_list            | 0
 bt5/erp5_base/bt/template_catalog_keyword_key_list              | 0
 bt5/erp5_base/bt/template_catalog_local_role_key_list           | 0
 bt5/erp5_base/bt/template_catalog_multivalue_key_list           | 0
 bt5/erp5_base/bt/template_catalog_request_key_list              | 0
 bt5/erp5_base/bt/template_catalog_result_key_list               | 0
 bt5/erp5_base/bt/template_catalog_result_table_list             | 0
 bt5/erp5_base/bt/template_catalog_role_key_list                 | 0
 bt5/erp5_base/bt/template_catalog_scriptable_key_list           | 0
 bt5/erp5_base/bt/template_catalog_search_key_list               | 0
 bt5/erp5_base/bt/template_catalog_topic_key_list                | 0
 bt5/erp5_base/bt/template_constraint_id_list                    | 0
 bt5/erp5_base/bt/template_document_id_list                      | 0
 bt5/erp5_base/bt/template_extension_id_list                     | 0
 bt5/erp5_base/bt/template_local_role_list                       | 0
 bt5/erp5_base/bt/template_local_roles_list                      | 0
 bt5/erp5_base/bt/template_message_translation_list              | 0
 bt5/erp5_base/bt/template_preference_list                       | 0
 bt5/erp5_base/bt/template_product_id_list                       | 0
 bt5/erp5_base/bt/template_property_sheet_id_list                | 0
 bt5/erp5_base/bt/template_registered_skin_selection_list        | 0
 bt5/erp5_base/bt/template_role_list                             | 0
 bt5/erp5_base/bt/template_site_property_id_list                 | 0
 bt5/erp5_base/bt/template_test_id_list                          | 0
 bt5/erp5_bespin/bt/categories_list                              | 0
 bt5/erp5_bespin/bt/provision_list                               | 0
 bt5/erp5_bespin/bt/revision                                     | 2 +-
 bt5/erp5_bespin/bt/template_action_path_list                    | 0
 bt5/erp5_bespin/bt/template_base_category_list                  | 0
 bt5/erp5_bespin/bt/template_catalog_datetime_key_list           | 0
 bt5/erp5_bespin/bt/template_catalog_full_text_key_list          | 0
 bt5/erp5_bespin/bt/template_catalog_keyword_key_list            | 0
 bt5/erp5_bespin/bt/template_catalog_local_role_key_list         | 0
 bt5/erp5_bespin/bt/template_catalog_method_id_list              | 0
 bt5/erp5_bespin/bt/template_catalog_multivalue_key_list         | 0
 bt5/erp5_bespin/bt/template_catalog_related_key_list            | 0
 bt5/erp5_bespin/bt/template_catalog_request_key_list            | 0
 bt5/erp5_bespin/bt/template_catalog_result_key_list             | 0
 bt5/erp5_bespin/bt/template_catalog_result_table_list           | 0
 bt5/erp5_bespin/bt/template_catalog_role_key_list               | 0
 bt5/erp5_bespin/bt/template_catalog_scriptable_key_list         | 0
 bt5/erp5_bespin/bt/template_catalog_topic_key_list              | 0
 bt5/erp5_bespin/bt/template_constraint_id_list                  | 0
 bt5/erp5_bespin/bt/template_document_id_list                    | 0
 bt5/erp5_bespin/bt/template_extension_id_list                   | 0
 bt5/erp5_bespin/bt/template_local_role_list                     | 0
 bt5/erp5_bespin/bt/template_local_roles_list                    | 0
 bt5/erp5_bespin/bt/template_message_translation_list            | 0
 bt5/erp5_bespin/bt/template_module_id_list                      | 0
 bt5/erp5_bespin/bt/template_path_list                           | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_bespin/bt/template_portal_type_base_category_list      | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_bespin/bt/template_portal_type_id_list                 | 0
 bt5/erp5_bespin/bt/template_portal_type_property_sheet_list     | 0
 bt5/erp5_bespin/bt/template_portal_type_role_list               | 0
 bt5/erp5_bespin/bt/template_portal_type_roles_list              | 0
 bt5/erp5_bespin/bt/template_portal_type_workflow_chain_list     | 0
 bt5/erp5_bespin/bt/template_preference_list                     | 0
 bt5/erp5_bespin/bt/template_product_id_list                     | 0
 bt5/erp5_bespin/bt/template_property_sheet_id_list              | 0
 bt5/erp5_bespin/bt/template_role_list                           | 0
 bt5/erp5_bespin/bt/template_site_property_id_list               | 0
 bt5/erp5_bespin/bt/template_test_id_list                        | 0
 bt5/erp5_bespin/bt/template_tool_id_list                        | 0
 bt5/erp5_bespin/bt/template_workflow_id_list                    | 0
 bt5/erp5_bpm/bt/categories_list                                 | 0
 bt5/erp5_bpm/bt/comment                                         | 0
 bt5/erp5_bpm/bt/provision_list                                  | 0
 bt5/erp5_bpm/bt/revision                                        | 2 +-
 bt5/erp5_bpm/bt/template_base_category_list                     | 0
 bt5/erp5_bpm/bt/template_catalog_datetime_key_list              | 0
 bt5/erp5_bpm/bt/template_catalog_full_text_key_list             | 0
 bt5/erp5_bpm/bt/template_catalog_keyword_key_list               | 0
 bt5/erp5_bpm/bt/template_catalog_local_role_key_list            | 0
 bt5/erp5_bpm/bt/template_catalog_multivalue_key_list            | 0
 bt5/erp5_bpm/bt/template_catalog_related_key_list               | 0
 bt5/erp5_bpm/bt/template_catalog_request_key_list               | 0
 bt5/erp5_bpm/bt/template_catalog_result_key_list                | 0
 bt5/erp5_bpm/bt/template_catalog_result_table_list              | 0
 bt5/erp5_bpm/bt/template_catalog_role_key_list                  | 0
 bt5/erp5_bpm/bt/template_catalog_scriptable_key_list            | 0
 bt5/erp5_bpm/bt/template_catalog_topic_key_list                 | 0
 bt5/erp5_bpm/bt/template_constraint_id_list                     | 0
 bt5/erp5_bpm/bt/template_extension_id_list                      | 0
 bt5/erp5_bpm/bt/template_local_role_list                        | 0
 bt5/erp5_bpm/bt/template_local_roles_list                       | 0
 bt5/erp5_bpm/bt/template_message_translation_list               | 0
 bt5/erp5_bpm/bt/template_module_id_list                         | 0
 bt5/erp5_bpm/bt/template_portal_type_allowed_content_type_list  | 0
 bt5/erp5_bpm/bt/template_portal_type_base_category_list         | 0
 bt5/erp5_bpm/bt/template_portal_type_hidden_content_type_list   | 0
 bt5/erp5_bpm/bt/template_portal_type_property_sheet_list        | 0
 bt5/erp5_bpm/bt/template_portal_type_role_list                  | 0
 bt5/erp5_bpm/bt/template_portal_type_roles_list                 | 0
 bt5/erp5_bpm/bt/template_preference_list                        | 0
 bt5/erp5_bpm/bt/template_product_id_list                        | 0
 bt5/erp5_bpm/bt/template_property_sheet_id_list                 | 0
 bt5/erp5_bpm/bt/template_role_list                              | 0
 bt5/erp5_bpm/bt/template_site_property_id_list                  | 0
 bt5/erp5_bpm/bt/template_test_id_list                           | 0
 bt5/erp5_bpm/bt/template_tool_id_list                           | 0
 bt5/erp5_budget/bt/categories_list                              | 0
 bt5/erp5_budget/bt/comment                                      | 0
 bt5/erp5_budget/bt/description                                  | 0
 bt5/erp5_budget/bt/provision_list                               | 0
 bt5/erp5_budget/bt/revision                                     | 2 +-
 bt5/erp5_budget/bt/template_catalog_datetime_key_list           | 0
 bt5/erp5_budget/bt/template_catalog_full_text_key_list          | 0
 bt5/erp5_budget/bt/template_catalog_keyword_key_list            | 0
 bt5/erp5_budget/bt/template_catalog_local_role_key_list         | 0
 bt5/erp5_budget/bt/template_catalog_method_id_list              | 0
 bt5/erp5_budget/bt/template_catalog_multivalue_key_list         | 0
 bt5/erp5_budget/bt/template_catalog_related_key_list            | 0
 bt5/erp5_budget/bt/template_catalog_request_key_list            | 0
 bt5/erp5_budget/bt/template_catalog_result_key_list             | 0
 bt5/erp5_budget/bt/template_catalog_result_table_list           | 0
 bt5/erp5_budget/bt/template_catalog_role_key_list               | 0
 bt5/erp5_budget/bt/template_catalog_scriptable_key_list         | 0
 bt5/erp5_budget/bt/template_catalog_search_key_list             | 0
 bt5/erp5_budget/bt/template_catalog_topic_key_list              | 0
 bt5/erp5_budget/bt/template_constraint_id_list                  | 0
 bt5/erp5_budget/bt/template_document_id_list                    | 0
 bt5/erp5_budget/bt/template_extension_id_list                   | 0
 bt5/erp5_budget/bt/template_local_role_list                     | 0
 bt5/erp5_budget/bt/template_local_roles_list                    | 0
 bt5/erp5_budget/bt/template_message_translation_list            | 0
 bt5/erp5_budget/bt/template_portal_type_property_sheet_list     | 0
 bt5/erp5_budget/bt/template_portal_type_role_list               | 0
 bt5/erp5_budget/bt/template_portal_type_roles_list              | 0
 bt5/erp5_budget/bt/template_preference_list                     | 0
 bt5/erp5_budget/bt/template_product_id_list                     | 0
 bt5/erp5_budget/bt/template_property_sheet_id_list              | 0
 bt5/erp5_budget/bt/template_registered_skin_selection_list      | 0
 bt5/erp5_budget/bt/template_role_list                           | 0
 bt5/erp5_budget/bt/template_site_property_id_list               | 0
 bt5/erp5_budget/bt/template_test_id_list                        | 0
 bt5/erp5_budget/bt/template_tool_id_list                        | 0
 bt5/erp5_calendar/bt/categories_list                            | 0
 bt5/erp5_calendar/bt/comment                                    | 0
 bt5/erp5_calendar/bt/dependency_list                            | 0
 bt5/erp5_calendar/bt/provision_list                             | 0
 bt5/erp5_calendar/bt/revision                                   | 2 +-
 bt5/erp5_calendar/bt/template_catalog_datetime_key_list         | 0
 bt5/erp5_calendar/bt/template_catalog_full_text_key_list        | 0
 bt5/erp5_calendar/bt/template_catalog_keyword_key_list          | 0
 bt5/erp5_calendar/bt/template_catalog_local_role_key_list       | 0
 bt5/erp5_calendar/bt/template_catalog_multivalue_key_list       | 0
 bt5/erp5_calendar/bt/template_catalog_related_key_list          | 0
 bt5/erp5_calendar/bt/template_catalog_request_key_list          | 0
 bt5/erp5_calendar/bt/template_catalog_result_key_list           | 0
 bt5/erp5_calendar/bt/template_catalog_result_table_list         | 0
 bt5/erp5_calendar/bt/template_catalog_role_key_list             | 0
 bt5/erp5_calendar/bt/template_catalog_scriptable_key_list       | 0
 bt5/erp5_calendar/bt/template_catalog_topic_key_list            | 0
 bt5/erp5_calendar/bt/template_constraint_id_list                | 0
 bt5/erp5_calendar/bt/template_document_id_list                  | 0
 bt5/erp5_calendar/bt/template_extension_id_list                 | 0
 bt5/erp5_calendar/bt/template_local_roles_list                  | 0
 bt5/erp5_calendar/bt/template_message_translation_list          | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_calendar/bt/template_portal_type_roles_list            | 0
 bt5/erp5_calendar/bt/template_preference_list                   | 0
 bt5/erp5_calendar/bt/template_product_id_list                   | 0
 bt5/erp5_calendar/bt/template_property_sheet_id_list            | 0
 bt5/erp5_calendar/bt/template_role_list                         | 0
 bt5/erp5_calendar/bt/template_site_property_id_list             | 0
 bt5/erp5_calendar/bt/template_test_id_list                      | 0
 bt5/erp5_calendar/bt/template_tool_id_list                      | 0
 bt5/erp5_commerce/bt/categories_list                            | 0
 bt5/erp5_commerce/bt/provision_list                             | 0
 bt5/erp5_commerce/bt/revision                                   | 2 +-
 bt5/erp5_commerce/bt/template_catalog_datetime_key_list         | 0
 bt5/erp5_commerce/bt/template_catalog_full_text_key_list        | 0
 bt5/erp5_commerce/bt/template_catalog_keyword_key_list          | 0
 bt5/erp5_commerce/bt/template_catalog_local_role_key_list       | 0
 bt5/erp5_commerce/bt/template_catalog_method_id_list            | 0
 bt5/erp5_commerce/bt/template_catalog_multivalue_key_list       | 0
 bt5/erp5_commerce/bt/template_catalog_related_key_list          | 0
 bt5/erp5_commerce/bt/template_catalog_request_key_list          | 0
 bt5/erp5_commerce/bt/template_catalog_result_key_list           | 0
 bt5/erp5_commerce/bt/template_catalog_result_table_list         | 0
 bt5/erp5_commerce/bt/template_catalog_role_key_list             | 0
 bt5/erp5_commerce/bt/template_catalog_scriptable_key_list       | 0
 bt5/erp5_commerce/bt/template_catalog_topic_key_list            | 0
 bt5/erp5_commerce/bt/template_constraint_id_list                | 0
 bt5/erp5_commerce/bt/template_document_id_list                  | 0
 bt5/erp5_commerce/bt/template_local_role_list                   | 0
 bt5/erp5_commerce/bt/template_local_roles_list                  | 0
 bt5/erp5_commerce/bt/template_message_translation_list          | 0
 bt5/erp5_commerce/bt/template_module_id_list                    | 0
 bt5/erp5_commerce/bt/template_path_list                         | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_commerce/bt/template_portal_type_base_category_list    | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_commerce/bt/template_portal_type_id_list               | 0
 bt5/erp5_commerce/bt/template_portal_type_property_sheet_list   | 0
 bt5/erp5_commerce/bt/template_preference_list                   | 0
 bt5/erp5_commerce/bt/template_product_id_list                   | 0
 bt5/erp5_commerce/bt/template_property_sheet_id_list            | 0
 bt5/erp5_commerce/bt/template_role_list                         | 0
 bt5/erp5_commerce/bt/template_site_property_id_list             | 0
 bt5/erp5_commerce/bt/template_test_id_list                      | 0
 bt5/erp5_commerce/bt/template_tool_id_list                      | 0
 bt5/erp5_computer_immobilisation/bt/categories_list             | 0
 bt5/erp5_computer_immobilisation/bt/comment                     | 0
 bt5/erp5_computer_immobilisation/bt/provision_list              | 0
 bt5/erp5_computer_immobilisation/bt/revision                    | 2 +-
 bt5/erp5_computer_immobilisation/bt/template_base_category_list | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 bt5/erp5_computer_immobilisation/bt/template_constraint_id_list | 0
 bt5/erp5_computer_immobilisation/bt/template_document_id_list   | 0
 bt5/erp5_computer_immobilisation/bt/template_extension_id_list  | 0
 bt5/erp5_computer_immobilisation/bt/template_local_role_list    | 0
 bt5/erp5_computer_immobilisation/bt/template_local_roles_list   | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_computer_immobilisation/bt/template_path_list          | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_role_list                           | 0
 .../bt/template_portal_type_roles_list                          | 0
 bt5/erp5_computer_immobilisation/bt/template_preference_list    | 0
 bt5/erp5_computer_immobilisation/bt/template_product_id_list    | 0
 .../bt/template_property_sheet_id_list                          | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_computer_immobilisation/bt/template_role_list          | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_computer_immobilisation/bt/template_test_id_list       | 0
 bt5/erp5_computer_immobilisation/bt/template_tool_id_list       | 0
 bt5/erp5_computer_immobilisation/bt/template_workflow_id_list   | 0
 bt5/erp5_consulting/bt/categories_list                          | 0
 bt5/erp5_consulting/bt/comment                                  | 0
 bt5/erp5_consulting/bt/dependency_list                          | 0
 bt5/erp5_consulting/bt/provision_list                           | 0
 bt5/erp5_consulting/bt/revision                                 | 2 +-
 bt5/erp5_consulting/bt/template_catalog_datetime_key_list       | 0
 bt5/erp5_consulting/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_consulting/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_consulting/bt/template_catalog_local_role_key_list     | 0
 bt5/erp5_consulting/bt/template_catalog_method_id_list          | 0
 bt5/erp5_consulting/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_consulting/bt/template_catalog_related_key_list        | 0
 bt5/erp5_consulting/bt/template_catalog_request_key_list        | 0
 bt5/erp5_consulting/bt/template_catalog_result_key_list         | 0
 bt5/erp5_consulting/bt/template_catalog_result_table_list       | 0
 bt5/erp5_consulting/bt/template_catalog_role_key_list           | 0
 bt5/erp5_consulting/bt/template_catalog_scriptable_key_list     | 0
 bt5/erp5_consulting/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_consulting/bt/template_constraint_id_list              | 0
 bt5/erp5_consulting/bt/template_document_id_list                | 0
 bt5/erp5_consulting/bt/template_extension_id_list               | 0
 bt5/erp5_consulting/bt/template_local_role_list                 | 0
 bt5/erp5_consulting/bt/template_local_roles_list                | 0
 bt5/erp5_consulting/bt/template_message_translation_list        | 0
 bt5/erp5_consulting/bt/template_path_list                       | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_consulting/bt/template_portal_type_role_list           | 0
 bt5/erp5_consulting/bt/template_portal_type_roles_list          | 0
 bt5/erp5_consulting/bt/template_preference_list                 | 0
 bt5/erp5_consulting/bt/template_product_id_list                 | 0
 bt5/erp5_consulting/bt/template_role_list                       | 0
 bt5/erp5_consulting/bt/template_site_property_id_list           | 0
 bt5/erp5_consulting/bt/template_test_id_list                    | 0
 bt5/erp5_consulting/bt/template_tool_id_list                    | 0
 bt5/erp5_content_translation/bt/categories_list                 | 0
 bt5/erp5_content_translation/bt/comment                         | 0
 bt5/erp5_content_translation/bt/copyright_list                  | 0
 bt5/erp5_content_translation/bt/license                         | 0
 bt5/erp5_content_translation/bt/provision_list                  | 0
 bt5/erp5_content_translation/bt/revision                        | 2 +-
 bt5/erp5_content_translation/bt/template_base_category_list     | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 bt5/erp5_content_translation/bt/template_catalog_role_key_list  | 0
 bt5/erp5_content_translation/bt/template_catalog_topic_key_list | 0
 bt5/erp5_content_translation/bt/template_constraint_id_list     | 0
 bt5/erp5_content_translation/bt/template_document_id_list       | 0
 bt5/erp5_content_translation/bt/template_extension_id_list      | 0
 bt5/erp5_content_translation/bt/template_local_role_list        | 0
 bt5/erp5_content_translation/bt/template_local_roles_list       | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_content_translation/bt/template_module_id_list         | 0
 bt5/erp5_content_translation/bt/template_path_list              | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_content_translation/bt/template_portal_type_id_list    | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_content_translation/bt/template_portal_type_role_list  | 0
 bt5/erp5_content_translation/bt/template_portal_type_roles_list | 0
 bt5/erp5_content_translation/bt/template_preference_list        | 0
 bt5/erp5_content_translation/bt/template_product_id_list        | 0
 bt5/erp5_content_translation/bt/template_property_sheet_id_list | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_content_translation/bt/template_role_list              | 0
 bt5/erp5_content_translation/bt/template_site_property_id_list  | 0
 bt5/erp5_content_translation/bt/template_test_id_list           | 0
 bt5/erp5_content_translation/bt/template_tool_id_list           | 0
 bt5/erp5_crm/bt/categories_list                                 | 0
 bt5/erp5_crm/bt/comment                                         | 0
 bt5/erp5_crm/bt/provision_list                                  | 0
 bt5/erp5_crm/bt/revision                                        | 2 +-
 bt5/erp5_crm/bt/template_catalog_datetime_key_list              | 0
 bt5/erp5_crm/bt/template_catalog_full_text_key_list             | 0
 bt5/erp5_crm/bt/template_catalog_keyword_key_list               | 0
 bt5/erp5_crm/bt/template_catalog_local_role_key_list            | 0
 bt5/erp5_crm/bt/template_catalog_multivalue_key_list            | 0
 bt5/erp5_crm/bt/template_catalog_request_key_list               | 0
 bt5/erp5_crm/bt/template_catalog_result_key_list                | 0
 bt5/erp5_crm/bt/template_catalog_result_table_list              | 0
 bt5/erp5_crm/bt/template_catalog_role_key_list                  | 0
 bt5/erp5_crm/bt/template_catalog_scriptable_key_list            | 0
 bt5/erp5_crm/bt/template_catalog_topic_key_list                 | 0
 bt5/erp5_crm/bt/template_constraint_id_list                     | 0
 bt5/erp5_crm/bt/template_document_id_list                       | 0
 bt5/erp5_crm/bt/template_local_role_list                        | 0
 bt5/erp5_crm/bt/template_local_roles_list                       | 0
 bt5/erp5_crm/bt/template_message_translation_list               | 0
 bt5/erp5_crm/bt/template_portal_type_hidden_content_type_list   | 0
 bt5/erp5_crm/bt/template_portal_type_role_list                  | 0
 bt5/erp5_crm/bt/template_portal_type_roles_list                 | 0
 bt5/erp5_crm/bt/template_preference_list                        | 0
 bt5/erp5_crm/bt/template_product_id_list                        | 0
 bt5/erp5_crm/bt/template_property_sheet_id_list                 | 0
 bt5/erp5_crm/bt/template_registered_skin_selection_list         | 0
 bt5/erp5_crm/bt/template_role_list                              | 0
 bt5/erp5_crm/bt/template_site_property_id_list                  | 0
 bt5/erp5_crm/bt/template_test_id_list                           | 0
 bt5/erp5_csv_style/bt/categories_list                           | 0
 bt5/erp5_csv_style/bt/comment                                   | 0
 bt5/erp5_csv_style/bt/dependency_list                           | 0
 bt5/erp5_csv_style/bt/provision_list                            | 0
 bt5/erp5_csv_style/bt/revision                                  | 2 +-
 bt5/erp5_csv_style/bt/template_base_category_list               | 0
 bt5/erp5_csv_style/bt/template_catalog_full_text_key_list       | 0
 bt5/erp5_csv_style/bt/template_catalog_keyword_key_list         | 0
 bt5/erp5_csv_style/bt/template_catalog_method_id_list           | 0
 bt5/erp5_csv_style/bt/template_catalog_multivalue_key_list      | 0
 bt5/erp5_csv_style/bt/template_catalog_related_key_list         | 0
 bt5/erp5_csv_style/bt/template_catalog_request_key_list         | 0
 bt5/erp5_csv_style/bt/template_catalog_result_key_list          | 0
 bt5/erp5_csv_style/bt/template_catalog_result_table_list        | 0
 bt5/erp5_csv_style/bt/template_catalog_topic_key_list           | 0
 bt5/erp5_csv_style/bt/template_constraint_id_list               | 0
 bt5/erp5_csv_style/bt/template_document_id_list                 | 0
 bt5/erp5_csv_style/bt/template_extension_id_list                | 0
 bt5/erp5_csv_style/bt/template_local_roles_list                 | 0
 bt5/erp5_csv_style/bt/template_message_translation_list         | 0
 bt5/erp5_csv_style/bt/template_module_id_list                   | 0
 bt5/erp5_csv_style/bt/template_path_list                        | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_csv_style/bt/template_portal_type_base_category_list   | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_csv_style/bt/template_portal_type_id_list              | 0
 bt5/erp5_csv_style/bt/template_portal_type_property_sheet_list  | 0
 bt5/erp5_csv_style/bt/template_portal_type_roles_list           | 0
 bt5/erp5_csv_style/bt/template_portal_type_workflow_chain_list  | 0
 bt5/erp5_csv_style/bt/template_preference_list                  | 0
 bt5/erp5_csv_style/bt/template_product_id_list                  | 0
 bt5/erp5_csv_style/bt/template_property_sheet_id_list           | 0
 bt5/erp5_csv_style/bt/template_role_list                        | 0
 bt5/erp5_csv_style/bt/template_site_property_id_list            | 0
 bt5/erp5_csv_style/bt/template_test_id_list                     | 0
 bt5/erp5_csv_style/bt/template_tool_id_list                     | 0
 bt5/erp5_csv_style/bt/template_workflow_id_list                 | 0
 bt5/erp5_data_protection/bt/categories_list                     | 0
 bt5/erp5_data_protection/bt/comment                             | 0
 bt5/erp5_data_protection/bt/dependency_list                     | 0
 bt5/erp5_data_protection/bt/maintainer_list                     | 0
 bt5/erp5_data_protection/bt/provision_list                      | 0
 bt5/erp5_data_protection/bt/revision                            | 2 +-
 bt5/erp5_data_protection/bt/template_base_category_list         | 0
 bt5/erp5_data_protection/bt/template_catalog_datetime_key_list  | 0
 bt5/erp5_data_protection/bt/template_catalog_full_text_key_list | 0
 bt5/erp5_data_protection/bt/template_catalog_keyword_key_list   | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_data_protection/bt/template_catalog_method_id_list     | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 bt5/erp5_data_protection/bt/template_catalog_related_key_list   | 0
 bt5/erp5_data_protection/bt/template_catalog_request_key_list   | 0
 bt5/erp5_data_protection/bt/template_catalog_result_key_list    | 0
 bt5/erp5_data_protection/bt/template_catalog_result_table_list  | 0
 bt5/erp5_data_protection/bt/template_catalog_role_key_list      | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_data_protection/bt/template_catalog_topic_key_list     | 0
 bt5/erp5_data_protection/bt/template_constraint_id_list         | 0
 bt5/erp5_data_protection/bt/template_document_id_list           | 0
 bt5/erp5_data_protection/bt/template_local_role_list            | 0
 bt5/erp5_data_protection/bt/template_local_roles_list           | 0
 bt5/erp5_data_protection/bt/template_message_translation_list   | 0
 bt5/erp5_data_protection/bt/template_path_list                  | 0
 bt5/erp5_data_protection/bt/template_portal_type_role_list      | 0
 bt5/erp5_data_protection/bt/template_portal_type_roles_list     | 0
 bt5/erp5_data_protection/bt/template_preference_list            | 0
 bt5/erp5_data_protection/bt/template_product_id_list            | 0
 bt5/erp5_data_protection/bt/template_property_sheet_id_list     | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_data_protection/bt/template_role_list                  | 0
 bt5/erp5_data_protection/bt/template_site_property_id_list      | 0
 bt5/erp5_data_protection/bt/template_test_id_list               | 0
 bt5/erp5_data_protection/bt/template_tool_id_list               | 0
 bt5/erp5_data_protection/bt/version                             | 0
 bt5/erp5_deferred_style/bt/categories_list                      | 0
 bt5/erp5_deferred_style/bt/provision_list                       | 0
 bt5/erp5_deferred_style/bt/revision                             | 2 +-
 bt5/erp5_deferred_style/bt/template_action_path_list            | 0
 bt5/erp5_deferred_style/bt/template_base_category_list          | 0
 bt5/erp5_deferred_style/bt/template_catalog_datetime_key_list   | 0
 bt5/erp5_deferred_style/bt/template_catalog_full_text_key_list  | 0
 bt5/erp5_deferred_style/bt/template_catalog_keyword_key_list    | 0
 bt5/erp5_deferred_style/bt/template_catalog_local_role_key_list | 0
 bt5/erp5_deferred_style/bt/template_catalog_method_id_list      | 0
 bt5/erp5_deferred_style/bt/template_catalog_multivalue_key_list | 0
 bt5/erp5_deferred_style/bt/template_catalog_related_key_list    | 0
 bt5/erp5_deferred_style/bt/template_catalog_request_key_list    | 0
 bt5/erp5_deferred_style/bt/template_catalog_result_key_list     | 0
 bt5/erp5_deferred_style/bt/template_catalog_result_table_list   | 0
 bt5/erp5_deferred_style/bt/template_catalog_role_key_list       | 0
 bt5/erp5_deferred_style/bt/template_catalog_scriptable_key_list | 0
 bt5/erp5_deferred_style/bt/template_catalog_topic_key_list      | 0
 bt5/erp5_deferred_style/bt/template_constraint_id_list          | 0
 bt5/erp5_deferred_style/bt/template_document_id_list            | 0
 bt5/erp5_deferred_style/bt/template_extension_id_list           | 0
 bt5/erp5_deferred_style/bt/template_local_role_list             | 0
 bt5/erp5_deferred_style/bt/template_local_roles_list            | 0
 bt5/erp5_deferred_style/bt/template_message_translation_list    | 0
 bt5/erp5_deferred_style/bt/template_module_id_list              | 0
 bt5/erp5_deferred_style/bt/template_path_list                   | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_deferred_style/bt/template_portal_type_id_list         | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_deferred_style/bt/template_portal_type_role_list       | 0
 bt5/erp5_deferred_style/bt/template_portal_type_roles_list      | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_deferred_style/bt/template_preference_list             | 0
 bt5/erp5_deferred_style/bt/template_product_id_list             | 0
 bt5/erp5_deferred_style/bt/template_property_sheet_id_list      | 0
 bt5/erp5_deferred_style/bt/template_role_list                   | 0
 bt5/erp5_deferred_style/bt/template_site_property_id_list       | 0
 bt5/erp5_deferred_style/bt/template_test_id_list                | 0
 bt5/erp5_deferred_style/bt/template_tool_id_list                | 0
 bt5/erp5_deferred_style/bt/template_workflow_id_list            | 0
 bt5/erp5_development_wizard/bt/categories_list                  | 0
 bt5/erp5_development_wizard/bt/provision_list                   | 0
 bt5/erp5_development_wizard/bt/revision                         | 2 +-
 bt5/erp5_development_wizard/bt/template_base_category_list      | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_development_wizard/bt/template_catalog_method_id_list  | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 bt5/erp5_development_wizard/bt/template_catalog_result_key_list | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_development_wizard/bt/template_catalog_role_key_list   | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_development_wizard/bt/template_catalog_topic_key_list  | 0
 bt5/erp5_development_wizard/bt/template_constraint_id_list      | 0
 bt5/erp5_development_wizard/bt/template_document_id_list        | 0
 bt5/erp5_development_wizard/bt/template_local_role_list         | 0
 bt5/erp5_development_wizard/bt/template_local_roles_list        | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_development_wizard/bt/template_module_id_list          | 0
 bt5/erp5_development_wizard/bt/template_path_list               | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_development_wizard/bt/template_portal_type_id_list     | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_development_wizard/bt/template_portal_type_role_list   | 0
 bt5/erp5_development_wizard/bt/template_portal_type_roles_list  | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_development_wizard/bt/template_preference_list         | 0
 bt5/erp5_development_wizard/bt/template_product_id_list         | 0
 bt5/erp5_development_wizard/bt/template_property_sheet_id_list  | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_development_wizard/bt/template_role_list               | 0
 bt5/erp5_development_wizard/bt/template_site_property_id_list   | 0
 bt5/erp5_development_wizard/bt/template_test_id_list            | 0
 bt5/erp5_development_wizard/bt/template_tool_id_list            | 0
 bt5/erp5_development_wizard/bt/template_workflow_id_list        | 0
 bt5/erp5_dhtml_style/bt/categories_list                         | 0
 bt5/erp5_dhtml_style/bt/comment                                 | 0
 bt5/erp5_dhtml_style/bt/provision_list                          | 0
 bt5/erp5_dhtml_style/bt/revision                                | 2 +-
 bt5/erp5_dhtml_style/bt/template_action_path_list               | 0
 bt5/erp5_dhtml_style/bt/template_base_category_list             | 0
 bt5/erp5_dhtml_style/bt/template_catalog_datetime_key_list      | 0
 bt5/erp5_dhtml_style/bt/template_catalog_full_text_key_list     | 0
 bt5/erp5_dhtml_style/bt/template_catalog_keyword_key_list       | 0
 bt5/erp5_dhtml_style/bt/template_catalog_local_role_key_list    | 0
 bt5/erp5_dhtml_style/bt/template_catalog_method_id_list         | 0
 bt5/erp5_dhtml_style/bt/template_catalog_multivalue_key_list    | 0
 bt5/erp5_dhtml_style/bt/template_catalog_related_key_list       | 0
 bt5/erp5_dhtml_style/bt/template_catalog_request_key_list       | 0
 bt5/erp5_dhtml_style/bt/template_catalog_result_key_list        | 0
 bt5/erp5_dhtml_style/bt/template_catalog_result_table_list      | 0
 bt5/erp5_dhtml_style/bt/template_catalog_role_key_list          | 0
 bt5/erp5_dhtml_style/bt/template_catalog_scriptable_key_list    | 0
 bt5/erp5_dhtml_style/bt/template_catalog_search_key_list        | 0
 bt5/erp5_dhtml_style/bt/template_catalog_topic_key_list         | 0
 bt5/erp5_dhtml_style/bt/template_constraint_id_list             | 0
 bt5/erp5_dhtml_style/bt/template_document_id_list               | 0
 bt5/erp5_dhtml_style/bt/template_extension_id_list              | 0
 bt5/erp5_dhtml_style/bt/template_local_role_list                | 0
 bt5/erp5_dhtml_style/bt/template_local_roles_list               | 0
 bt5/erp5_dhtml_style/bt/template_message_translation_list       | 0
 bt5/erp5_dhtml_style/bt/template_module_id_list                 | 0
 bt5/erp5_dhtml_style/bt/template_path_list                      | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_dhtml_style/bt/template_portal_type_base_category_list | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_dhtml_style/bt/template_portal_type_id_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_dhtml_style/bt/template_portal_type_role_list          | 0
 bt5/erp5_dhtml_style/bt/template_portal_type_roles_list         | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_dhtml_style/bt/template_preference_list                | 0
 bt5/erp5_dhtml_style/bt/template_product_id_list                | 0
 bt5/erp5_dhtml_style/bt/template_property_sheet_id_list         | 0
 bt5/erp5_dhtml_style/bt/template_registered_skin_selection_list | 0
 bt5/erp5_dhtml_style/bt/template_role_list                      | 0
 bt5/erp5_dhtml_style/bt/template_site_property_id_list          | 0
 bt5/erp5_dhtml_style/bt/template_test_id_list                   | 0
 bt5/erp5_dhtml_style/bt/template_tool_id_list                   | 0
 bt5/erp5_dhtml_style/bt/template_workflow_id_list               | 0
 bt5/erp5_dhtml_ui_test/bt/categories_list                       | 0
 bt5/erp5_dhtml_ui_test/bt/comment                               | 0
 bt5/erp5_dhtml_ui_test/bt/provision_list                        | 0
 bt5/erp5_dhtml_ui_test/bt/revision                              | 2 +-
 bt5/erp5_dhtml_ui_test/bt/template_action_path_list             | 0
 bt5/erp5_dhtml_ui_test/bt/template_base_category_list           | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_datetime_key_list    | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_full_text_key_list   | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_keyword_key_list     | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_local_role_key_list  | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_method_id_list       | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_multivalue_key_list  | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_related_key_list     | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_request_key_list     | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_result_key_list      | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_result_table_list    | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_role_key_list        | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_scriptable_key_list  | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_search_key_list      | 0
 bt5/erp5_dhtml_ui_test/bt/template_catalog_topic_key_list       | 0
 bt5/erp5_dhtml_ui_test/bt/template_constraint_id_list           | 0
 bt5/erp5_dhtml_ui_test/bt/template_document_id_list             | 0
 bt5/erp5_dhtml_ui_test/bt/template_extension_id_list            | 0
 bt5/erp5_dhtml_ui_test/bt/template_local_role_list              | 0
 bt5/erp5_dhtml_ui_test/bt/template_local_roles_list             | 0
 bt5/erp5_dhtml_ui_test/bt/template_message_translation_list     | 0
 bt5/erp5_dhtml_ui_test/bt/template_module_id_list               | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_dhtml_ui_test/bt/template_portal_type_id_list          | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_dhtml_ui_test/bt/template_portal_type_role_list        | 0
 bt5/erp5_dhtml_ui_test/bt/template_portal_type_roles_list       | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_dhtml_ui_test/bt/template_preference_list              | 0
 bt5/erp5_dhtml_ui_test/bt/template_product_id_list              | 0
 bt5/erp5_dhtml_ui_test/bt/template_property_sheet_id_list       | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_dhtml_ui_test/bt/template_role_list                    | 0
 bt5/erp5_dhtml_ui_test/bt/template_site_property_id_list        | 0
 bt5/erp5_dhtml_ui_test/bt/template_skin_id_list                 | 0
 bt5/erp5_dhtml_ui_test/bt/template_test_id_list                 | 0
 bt5/erp5_dhtml_ui_test/bt/template_tool_id_list                 | 0
 bt5/erp5_dhtml_ui_test/bt/template_workflow_id_list             | 0
 bt5/erp5_discount_resource/bt/categories_list                   | 0
 bt5/erp5_discount_resource/bt/comment                           | 0
 bt5/erp5_discount_resource/bt/maintainer_list                   | 0
 bt5/erp5_discount_resource/bt/provision_list                    | 0
 bt5/erp5_discount_resource/bt/revision                          | 2 +-
 bt5/erp5_discount_resource/bt/template_base_category_list       | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 bt5/erp5_discount_resource/bt/template_catalog_keyword_key_list | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_discount_resource/bt/template_catalog_method_id_list   | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 bt5/erp5_discount_resource/bt/template_catalog_related_key_list | 0
 bt5/erp5_discount_resource/bt/template_catalog_request_key_list | 0
 bt5/erp5_discount_resource/bt/template_catalog_result_key_list  | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_discount_resource/bt/template_catalog_role_key_list    | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_discount_resource/bt/template_catalog_topic_key_list   | 0
 bt5/erp5_discount_resource/bt/template_constraint_id_list       | 0
 bt5/erp5_discount_resource/bt/template_document_id_list         | 0
 bt5/erp5_discount_resource/bt/template_extension_id_list        | 0
 bt5/erp5_discount_resource/bt/template_local_role_list          | 0
 bt5/erp5_discount_resource/bt/template_local_roles_list         | 0
 bt5/erp5_discount_resource/bt/template_message_translation_list | 0
 bt5/erp5_discount_resource/bt/template_path_list                | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_discount_resource/bt/template_portal_type_role_list    | 0
 bt5/erp5_discount_resource/bt/template_portal_type_roles_list   | 0
 bt5/erp5_discount_resource/bt/template_preference_list          | 0
 bt5/erp5_discount_resource/bt/template_product_id_list          | 0
 bt5/erp5_discount_resource/bt/template_property_sheet_id_list   | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_discount_resource/bt/template_role_list                | 0
 bt5/erp5_discount_resource/bt/template_site_property_id_list    | 0
 bt5/erp5_discount_resource/bt/template_test_id_list             | 0
 bt5/erp5_discount_resource/bt/template_tool_id_list             | 0
 bt5/erp5_discount_resource/bt/template_workflow_id_list         | 0
 bt5/erp5_discussion/bt/categories_list                          | 0
 bt5/erp5_discussion/bt/comment                                  | 0
 bt5/erp5_discussion/bt/license                                  | 0
 bt5/erp5_discussion/bt/provision_list                           | 0
 bt5/erp5_discussion/bt/revision                                 | 2 +-
 bt5/erp5_discussion/bt/template_base_category_list              | 0
 bt5/erp5_discussion/bt/template_catalog_datetime_key_list       | 0
 bt5/erp5_discussion/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_discussion/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_discussion/bt/template_catalog_local_role_key_list     | 0
 bt5/erp5_discussion/bt/template_catalog_method_id_list          | 0
 bt5/erp5_discussion/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_discussion/bt/template_catalog_related_key_list        | 0
 bt5/erp5_discussion/bt/template_catalog_request_key_list        | 0
 bt5/erp5_discussion/bt/template_catalog_result_key_list         | 0
 bt5/erp5_discussion/bt/template_catalog_result_table_list       | 0
 bt5/erp5_discussion/bt/template_catalog_role_key_list           | 0
 bt5/erp5_discussion/bt/template_catalog_scriptable_key_list     | 0
 bt5/erp5_discussion/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_discussion/bt/template_constraint_id_list              | 0
 bt5/erp5_discussion/bt/template_document_id_list                | 0
 bt5/erp5_discussion/bt/template_extension_id_list               | 0
 bt5/erp5_discussion/bt/template_local_role_list                 | 0
 bt5/erp5_discussion/bt/template_local_roles_list                | 0
 bt5/erp5_discussion/bt/template_message_translation_list        | 0
 bt5/erp5_discussion/bt/template_portal_type_role_list           | 0
 bt5/erp5_discussion/bt/template_portal_type_roles_list          | 0
 bt5/erp5_discussion/bt/template_preference_list                 | 0
 bt5/erp5_discussion/bt/template_product_id_list                 | 0
 bt5/erp5_discussion/bt/template_registered_skin_selection_list  | 0
 bt5/erp5_discussion/bt/template_role_list                       | 0
 bt5/erp5_discussion/bt/template_site_property_id_list           | 0
 bt5/erp5_discussion/bt/template_test_id_list                    | 0
 bt5/erp5_discussion/bt/template_tool_id_list                    | 0
 bt5/erp5_discussion/bt/template_workflow_id_list                | 0
 bt5/erp5_dms/bt/categories_list                                 | 0
 bt5/erp5_dms/bt/comment                                         | 0
 bt5/erp5_dms/bt/provision_list                                  | 0
 bt5/erp5_dms/bt/revision                                        | 2 +-
 bt5/erp5_dms/bt/template_catalog_datetime_key_list              | 0
 bt5/erp5_dms/bt/template_catalog_full_text_key_list             | 0
 bt5/erp5_dms/bt/template_catalog_keyword_key_list               | 0
 bt5/erp5_dms/bt/template_catalog_local_role_key_list            | 0
 bt5/erp5_dms/bt/template_catalog_method_id_list                 | 0
 bt5/erp5_dms/bt/template_catalog_multivalue_key_list            | 0
 bt5/erp5_dms/bt/template_catalog_related_key_list               | 0
 bt5/erp5_dms/bt/template_catalog_request_key_list               | 0
 bt5/erp5_dms/bt/template_catalog_result_key_list                | 0
 bt5/erp5_dms/bt/template_catalog_result_table_list              | 0
 bt5/erp5_dms/bt/template_catalog_role_key_list                  | 0
 bt5/erp5_dms/bt/template_catalog_scriptable_key_list            | 0
 bt5/erp5_dms/bt/template_catalog_topic_key_list                 | 0
 bt5/erp5_dms/bt/template_constraint_id_list                     | 0
 bt5/erp5_dms/bt/template_document_id_list                       | 0
 bt5/erp5_dms/bt/template_local_role_list                        | 0
 bt5/erp5_dms/bt/template_local_roles_list                       | 0
 bt5/erp5_dms/bt/template_message_translation_list               | 0
 bt5/erp5_dms/bt/template_portal_type_role_list                  | 0
 bt5/erp5_dms/bt/template_portal_type_roles_list                 | 0
 bt5/erp5_dms/bt/template_preference_list                        | 0
 bt5/erp5_dms/bt/template_product_id_list                        | 0
 bt5/erp5_dms/bt/template_property_sheet_id_list                 | 0
 bt5/erp5_dms/bt/template_registered_skin_selection_list         | 0
 bt5/erp5_dms/bt/template_role_list                              | 0
 bt5/erp5_dms/bt/template_site_property_id_list                  | 0
 bt5/erp5_dms/bt/template_test_id_list                           | 0
 bt5/erp5_dms/bt/template_tool_id_list                           | 0
 bt5/erp5_dms_ui_test/bt/categories_list                         | 0
 bt5/erp5_dms_ui_test/bt/comment                                 | 0
 bt5/erp5_dms_ui_test/bt/provision_list                          | 0
 bt5/erp5_dms_ui_test/bt/revision                                | 2 +-
 bt5/erp5_dms_ui_test/bt/template_action_path_list               | 0
 bt5/erp5_dms_ui_test/bt/template_base_category_list             | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_datetime_key_list      | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_full_text_key_list     | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_keyword_key_list       | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_local_role_key_list    | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_method_id_list         | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_multivalue_key_list    | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_related_key_list       | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_request_key_list       | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_result_key_list        | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_result_table_list      | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_role_key_list          | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_scriptable_key_list    | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_search_key_list        | 0
 bt5/erp5_dms_ui_test/bt/template_catalog_topic_key_list         | 0
 bt5/erp5_dms_ui_test/bt/template_constraint_id_list             | 0
 bt5/erp5_dms_ui_test/bt/template_document_id_list               | 0
 bt5/erp5_dms_ui_test/bt/template_extension_id_list              | 0
 bt5/erp5_dms_ui_test/bt/template_local_role_list                | 0
 bt5/erp5_dms_ui_test/bt/template_local_roles_list               | 0
 bt5/erp5_dms_ui_test/bt/template_message_translation_list       | 0
 bt5/erp5_dms_ui_test/bt/template_module_id_list                 | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_dms_ui_test/bt/template_portal_type_base_category_list | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_dms_ui_test/bt/template_portal_type_id_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_dms_ui_test/bt/template_portal_type_role_list          | 0
 bt5/erp5_dms_ui_test/bt/template_portal_type_roles_list         | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_dms_ui_test/bt/template_preference_list                | 0
 bt5/erp5_dms_ui_test/bt/template_product_id_list                | 0
 bt5/erp5_dms_ui_test/bt/template_property_sheet_id_list         | 0
 bt5/erp5_dms_ui_test/bt/template_registered_skin_selection_list | 0
 bt5/erp5_dms_ui_test/bt/template_role_list                      | 0
 bt5/erp5_dms_ui_test/bt/template_site_property_id_list          | 0
 bt5/erp5_dms_ui_test/bt/template_test_id_list                   | 0
 bt5/erp5_dms_ui_test/bt/template_tool_id_list                   | 0
 bt5/erp5_dms_ui_test/bt/template_workflow_id_list               | 0
 bt5/erp5_documentation/bt/categories_list                       | 0
 bt5/erp5_documentation/bt/provision_list                        | 0
 bt5/erp5_documentation/bt/revision                              | 2 +-
 bt5/erp5_documentation/bt/template_base_category_list           | 0
 bt5/erp5_documentation/bt/template_catalog_datetime_key_list    | 0
 bt5/erp5_documentation/bt/template_catalog_full_text_key_list   | 0
 bt5/erp5_documentation/bt/template_catalog_keyword_key_list     | 0
 bt5/erp5_documentation/bt/template_catalog_local_role_key_list  | 0
 bt5/erp5_documentation/bt/template_catalog_method_id_list       | 0
 bt5/erp5_documentation/bt/template_catalog_multivalue_key_list  | 0
 bt5/erp5_documentation/bt/template_catalog_related_key_list     | 0
 bt5/erp5_documentation/bt/template_catalog_request_key_list     | 0
 bt5/erp5_documentation/bt/template_catalog_result_key_list      | 0
 bt5/erp5_documentation/bt/template_catalog_result_table_list    | 0
 bt5/erp5_documentation/bt/template_catalog_role_key_list        | 0
 bt5/erp5_documentation/bt/template_catalog_scriptable_key_list  | 0
 bt5/erp5_documentation/bt/template_catalog_topic_key_list       | 0
 bt5/erp5_documentation/bt/template_constraint_id_list           | 0
 bt5/erp5_documentation/bt/template_document_id_list             | 0
 bt5/erp5_documentation/bt/template_extension_id_list            | 0
 bt5/erp5_documentation/bt/template_local_role_list              | 0
 bt5/erp5_documentation/bt/template_local_roles_list             | 0
 bt5/erp5_documentation/bt/template_message_translation_list     | 0
 bt5/erp5_documentation/bt/template_module_id_list               | 0
 bt5/erp5_documentation/bt/template_path_list                    | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_documentation/bt/template_portal_type_id_list          | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_documentation/bt/template_portal_type_role_list        | 0
 bt5/erp5_documentation/bt/template_portal_type_roles_list       | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_documentation/bt/template_preference_list              | 0
 bt5/erp5_documentation/bt/template_product_id_list              | 0
 bt5/erp5_documentation/bt/template_property_sheet_id_list       | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_documentation/bt/template_role_list                    | 0
 bt5/erp5_documentation/bt/template_site_property_id_list        | 0
 bt5/erp5_documentation/bt/template_test_id_list                 | 0
 bt5/erp5_documentation/bt/template_tool_id_list                 | 0
 bt5/erp5_documentation/bt/template_workflow_id_list             | 0
 bt5/erp5_dummy_movement/bt/categories_list                      | 0
 bt5/erp5_dummy_movement/bt/comment                              | 0
 bt5/erp5_dummy_movement/bt/copyright_list                       | 0
 bt5/erp5_dummy_movement/bt/provision_list                       | 0
 bt5/erp5_dummy_movement/bt/revision                             | 2 +-
 bt5/erp5_dummy_movement/bt/template_action_path_list            | 0
 bt5/erp5_dummy_movement/bt/template_base_category_list          | 0
 bt5/erp5_dummy_movement/bt/template_catalog_datetime_key_list   | 0
 bt5/erp5_dummy_movement/bt/template_catalog_full_text_key_list  | 0
 bt5/erp5_dummy_movement/bt/template_catalog_keyword_key_list    | 0
 bt5/erp5_dummy_movement/bt/template_catalog_local_role_key_list | 0
 bt5/erp5_dummy_movement/bt/template_catalog_method_id_list      | 0
 bt5/erp5_dummy_movement/bt/template_catalog_multivalue_key_list | 0
 bt5/erp5_dummy_movement/bt/template_catalog_related_key_list    | 0
 bt5/erp5_dummy_movement/bt/template_catalog_request_key_list    | 0
 bt5/erp5_dummy_movement/bt/template_catalog_result_key_list     | 0
 bt5/erp5_dummy_movement/bt/template_catalog_result_table_list   | 0
 bt5/erp5_dummy_movement/bt/template_catalog_role_key_list       | 0
 bt5/erp5_dummy_movement/bt/template_catalog_scriptable_key_list | 0
 bt5/erp5_dummy_movement/bt/template_catalog_topic_key_list      | 0
 bt5/erp5_dummy_movement/bt/template_constraint_id_list          | 0
 bt5/erp5_dummy_movement/bt/template_extension_id_list           | 0
 bt5/erp5_dummy_movement/bt/template_local_role_list             | 0
 bt5/erp5_dummy_movement/bt/template_local_roles_list            | 0
 bt5/erp5_dummy_movement/bt/template_message_translation_list    | 0
 bt5/erp5_dummy_movement/bt/template_module_id_list              | 0
 bt5/erp5_dummy_movement/bt/template_path_list                   | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_dummy_movement/bt/template_portal_type_role_list       | 0
 bt5/erp5_dummy_movement/bt/template_portal_type_roles_list      | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_dummy_movement/bt/template_preference_list             | 0
 bt5/erp5_dummy_movement/bt/template_product_id_list             | 0
 bt5/erp5_dummy_movement/bt/template_property_sheet_id_list      | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_dummy_movement/bt/template_role_list                   | 0
 bt5/erp5_dummy_movement/bt/template_site_property_id_list       | 0
 bt5/erp5_dummy_movement/bt/template_skin_id_list                | 0
 bt5/erp5_dummy_movement/bt/template_test_id_list                | 0
 bt5/erp5_dummy_movement/bt/template_tool_id_list                | 0
 bt5/erp5_dummy_movement/bt/template_workflow_id_list            | 0
 bt5/erp5_egov/bt/categories_list                                | 0
 bt5/erp5_egov/bt/provision_list                                 | 0
 bt5/erp5_egov/bt/revision                                       | 2 +-
 bt5/erp5_egov/bt/template_base_category_list                    | 0
 bt5/erp5_egov/bt/template_catalog_datetime_key_list             | 0
 bt5/erp5_egov/bt/template_catalog_full_text_key_list            | 0
 bt5/erp5_egov/bt/template_catalog_keyword_key_list              | 0
 bt5/erp5_egov/bt/template_catalog_local_role_key_list           | 0
 bt5/erp5_egov/bt/template_catalog_method_id_list                | 0
 bt5/erp5_egov/bt/template_catalog_multivalue_key_list           | 0
 bt5/erp5_egov/bt/template_catalog_related_key_list              | 0
 bt5/erp5_egov/bt/template_catalog_request_key_list              | 0
 bt5/erp5_egov/bt/template_catalog_result_key_list               | 0
 bt5/erp5_egov/bt/template_catalog_result_table_list             | 0
 bt5/erp5_egov/bt/template_catalog_role_key_list                 | 0
 bt5/erp5_egov/bt/template_catalog_scriptable_key_list           | 0
 bt5/erp5_egov/bt/template_catalog_topic_key_list                | 0
 bt5/erp5_egov/bt/template_constraint_id_list                    | 0
 bt5/erp5_egov/bt/template_local_role_list                       | 0
 bt5/erp5_egov/bt/template_local_roles_list                      | 0
 bt5/erp5_egov/bt/template_message_translation_list              | 0
 bt5/erp5_egov/bt/template_module_id_list                        | 0
 bt5/erp5_egov/bt/template_portal_type_base_category_list        | 0
 bt5/erp5_egov/bt/template_preference_list                       | 0
 bt5/erp5_egov/bt/template_product_id_list                       | 0
 bt5/erp5_egov/bt/template_site_property_id_list                 | 0
 bt5/erp5_egov_l10n_fr/bt/categories_list                        | 0
 bt5/erp5_egov_l10n_fr/bt/comment                                | 0
 bt5/erp5_egov_l10n_fr/bt/provision_list                         | 0
 bt5/erp5_egov_l10n_fr/bt/revision                               | 2 +-
 bt5/erp5_egov_l10n_fr/bt/template_action_path_list              | 0
 bt5/erp5_egov_l10n_fr/bt/template_base_category_list            | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_datetime_key_list     | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_full_text_key_list    | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_keyword_key_list      | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_local_role_key_list   | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_method_id_list        | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_multivalue_key_list   | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_related_key_list      | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_request_key_list      | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_result_key_list       | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_result_table_list     | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_role_key_list         | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_scriptable_key_list   | 0
 bt5/erp5_egov_l10n_fr/bt/template_catalog_topic_key_list        | 0
 bt5/erp5_egov_l10n_fr/bt/template_constraint_id_list            | 0
 bt5/erp5_egov_l10n_fr/bt/template_document_id_list              | 0
 bt5/erp5_egov_l10n_fr/bt/template_extension_id_list             | 0
 bt5/erp5_egov_l10n_fr/bt/template_local_roles_list              | 0
 bt5/erp5_egov_l10n_fr/bt/template_module_id_list                | 0
 bt5/erp5_egov_l10n_fr/bt/template_path_list                     | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_egov_l10n_fr/bt/template_portal_type_id_list           | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_egov_l10n_fr/bt/template_portal_type_roles_list        | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_egov_l10n_fr/bt/template_preference_list               | 0
 bt5/erp5_egov_l10n_fr/bt/template_product_id_list               | 0
 bt5/erp5_egov_l10n_fr/bt/template_property_sheet_id_list        | 0
 bt5/erp5_egov_l10n_fr/bt/template_role_list                     | 0
 bt5/erp5_egov_l10n_fr/bt/template_site_property_id_list         | 0
 bt5/erp5_egov_l10n_fr/bt/template_skin_id_list                  | 0
 bt5/erp5_egov_l10n_fr/bt/template_test_id_list                  | 0
 bt5/erp5_egov_l10n_fr/bt/template_tool_id_list                  | 0
 bt5/erp5_egov_l10n_fr/bt/template_workflow_id_list              | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/categories_list           | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/comment                   | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/dependency_list           | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/revision                  | 2 +-
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_action_path_list | 0
 .../bt/template_base_category_list                              | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 .../bt/template_constraint_id_list                              | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_document_id_list | 0
 .../bt/template_extension_id_list                               | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_local_role_list  | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_local_roles_list | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_module_id_list   | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_path_list        | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_id_list                             | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_role_list                           | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_preference_list  | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_product_id_list  | 0
 .../bt/template_property_sheet_id_list                          | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_role_list        | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_skin_id_list     | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_test_id_list     | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_tool_id_list     | 0
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_workflow_id_list | 0
 bt5/erp5_forge/bt/categories_list                               | 0
 bt5/erp5_forge/bt/provision_list                                | 0
 bt5/erp5_forge/bt/revision                                      | 2 +-
 bt5/erp5_forge/bt/template_catalog_datetime_key_list            | 0
 bt5/erp5_forge/bt/template_catalog_full_text_key_list           | 0
 bt5/erp5_forge/bt/template_catalog_keyword_key_list             | 0
 bt5/erp5_forge/bt/template_catalog_local_role_key_list          | 0
 bt5/erp5_forge/bt/template_catalog_multivalue_key_list          | 0
 bt5/erp5_forge/bt/template_catalog_request_key_list             | 0
 bt5/erp5_forge/bt/template_catalog_result_key_list              | 0
 bt5/erp5_forge/bt/template_catalog_result_table_list            | 0
 bt5/erp5_forge/bt/template_catalog_role_key_list                | 0
 bt5/erp5_forge/bt/template_catalog_scriptable_key_list          | 0
 bt5/erp5_forge/bt/template_catalog_topic_key_list               | 0
 bt5/erp5_forge/bt/template_constraint_id_list                   | 0
 bt5/erp5_forge/bt/template_document_id_list                     | 0
 bt5/erp5_forge/bt/template_local_role_list                      | 0
 bt5/erp5_forge/bt/template_local_roles_list                     | 0
 bt5/erp5_forge/bt/template_message_translation_list             | 0
 bt5/erp5_forge/bt/template_portal_type_role_list                | 0
 bt5/erp5_forge/bt/template_portal_type_roles_list               | 0
 bt5/erp5_forge/bt/template_preference_list                      | 0
 bt5/erp5_forge/bt/template_product_id_list                      | 0
 bt5/erp5_forge/bt/template_property_sheet_id_list               | 0
 bt5/erp5_forge/bt/template_registered_skin_selection_list       | 0
 bt5/erp5_forge/bt/template_role_list                            | 0
 bt5/erp5_forge/bt/template_site_property_id_list                | 0
 bt5/erp5_forge/bt/template_test_id_list                         | 0
 bt5/erp5_forge/bt/template_tool_id_list                         | 0
 bt5/erp5_forge_release/bt/categories_list                       | 0
 bt5/erp5_forge_release/bt/provision_list                        | 0
 bt5/erp5_forge_release/bt/revision                              | 2 +-
 bt5/erp5_forge_release/bt/template_base_category_list           | 0
 bt5/erp5_forge_release/bt/template_catalog_datetime_key_list    | 0
 bt5/erp5_forge_release/bt/template_catalog_full_text_key_list   | 0
 bt5/erp5_forge_release/bt/template_catalog_keyword_key_list     | 0
 bt5/erp5_forge_release/bt/template_catalog_local_role_key_list  | 0
 bt5/erp5_forge_release/bt/template_catalog_method_id_list       | 0
 bt5/erp5_forge_release/bt/template_catalog_multivalue_key_list  | 0
 bt5/erp5_forge_release/bt/template_catalog_related_key_list     | 0
 bt5/erp5_forge_release/bt/template_catalog_request_key_list     | 0
 bt5/erp5_forge_release/bt/template_catalog_result_key_list      | 0
 bt5/erp5_forge_release/bt/template_catalog_result_table_list    | 0
 bt5/erp5_forge_release/bt/template_catalog_role_key_list        | 0
 bt5/erp5_forge_release/bt/template_catalog_scriptable_key_list  | 0
 bt5/erp5_forge_release/bt/template_catalog_topic_key_list       | 0
 bt5/erp5_forge_release/bt/template_constraint_id_list           | 0
 bt5/erp5_forge_release/bt/template_document_id_list             | 0
 bt5/erp5_forge_release/bt/template_extension_id_list            | 0
 bt5/erp5_forge_release/bt/template_local_role_list              | 0
 bt5/erp5_forge_release/bt/template_local_roles_list             | 0
 bt5/erp5_forge_release/bt/template_message_translation_list     | 0
 bt5/erp5_forge_release/bt/template_path_list                    | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_forge_release/bt/template_portal_type_role_list        | 0
 bt5/erp5_forge_release/bt/template_portal_type_roles_list       | 0
 bt5/erp5_forge_release/bt/template_preference_list              | 0
 bt5/erp5_forge_release/bt/template_product_id_list              | 0
 bt5/erp5_forge_release/bt/template_property_sheet_id_list       | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_forge_release/bt/template_role_list                    | 0
 bt5/erp5_forge_release/bt/template_site_property_id_list        | 0
 bt5/erp5_forge_release/bt/template_test_id_list                 | 0
 bt5/erp5_forge_release/bt/template_tool_id_list                 | 0
 bt5/erp5_forge_release/bt/template_workflow_id_list             | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/categories_list          | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/comment                  | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/dependency_list          | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/maintainer_list          | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/provision_list           | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/revision                 | 2 +-
 .../bt/template_action_path_list                                | 0
 .../bt/template_base_category_list                              | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_search_key_list                         | 0
 .../bt/template_catalog_topic_key_list                          | 0
 .../bt/template_constraint_id_list                              | 0
 .../bt/template_document_id_list                                | 0
 .../bt/template_extension_id_list                               | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/template_local_role_list | 0
 .../bt/template_local_roles_list                                | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/template_module_id_list  | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/template_path_list       | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_id_list                             | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_role_list                           | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/template_preference_list | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/template_product_id_list | 0
 .../bt/template_property_sheet_id_list                          | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/template_role_list       | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/template_test_id_list    | 0
 bt5/erp5_full_text_sphinxse_catalog/bt/template_tool_id_list    | 0
 .../bt/template_workflow_id_list                                | 0
 bt5/erp5_hr/bt/categories_list                                  | 0
 bt5/erp5_hr/bt/comment                                          | 0
 bt5/erp5_hr/bt/provision_list                                   | 0
 bt5/erp5_hr/bt/revision                                         | 2 +-
 bt5/erp5_hr/bt/template_catalog_datetime_key_list               | 0
 bt5/erp5_hr/bt/template_catalog_full_text_key_list              | 0
 bt5/erp5_hr/bt/template_catalog_keyword_key_list                | 0
 bt5/erp5_hr/bt/template_catalog_local_role_key_list             | 0
 bt5/erp5_hr/bt/template_catalog_method_id_list                  | 0
 bt5/erp5_hr/bt/template_catalog_multivalue_key_list             | 0
 bt5/erp5_hr/bt/template_catalog_related_key_list                | 0
 bt5/erp5_hr/bt/template_catalog_request_key_list                | 0
 bt5/erp5_hr/bt/template_catalog_result_key_list                 | 0
 bt5/erp5_hr/bt/template_catalog_result_table_list               | 0
 bt5/erp5_hr/bt/template_catalog_role_key_list                   | 0
 bt5/erp5_hr/bt/template_catalog_scriptable_key_list             | 0
 bt5/erp5_hr/bt/template_catalog_topic_key_list                  | 0
 bt5/erp5_hr/bt/template_constraint_id_list                      | 0
 bt5/erp5_hr/bt/template_document_id_list                        | 0
 bt5/erp5_hr/bt/template_extension_id_list                       | 0
 bt5/erp5_hr/bt/template_local_roles_list                        | 0
 bt5/erp5_hr/bt/template_message_translation_list                | 0
 bt5/erp5_hr/bt/template_path_list                               | 0
 bt5/erp5_hr/bt/template_preference_list                         | 0
 bt5/erp5_hr/bt/template_product_id_list                         | 0
 bt5/erp5_hr/bt/template_property_sheet_id_list                  | 0
 bt5/erp5_hr/bt/template_role_list                               | 0
 bt5/erp5_hr/bt/template_site_property_id_list                   | 0
 bt5/erp5_hr/bt/template_test_id_list                            | 0
 bt5/erp5_hr/bt/template_tool_id_list                            | 0
 bt5/erp5_hr_l10n_jp/bt/categories_list                          | 0
 bt5/erp5_hr_l10n_jp/bt/comment                                  | 0
 bt5/erp5_hr_l10n_jp/bt/dependency_list                          | 0
 bt5/erp5_hr_l10n_jp/bt/provision_list                           | 0
 bt5/erp5_hr_l10n_jp/bt/revision                                 | 2 +-
 bt5/erp5_hr_l10n_jp/bt/template_base_category_list              | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_datetime_key_list       | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_local_role_key_list     | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_method_id_list          | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_related_key_list        | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_request_key_list        | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_result_key_list         | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_result_table_list       | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_role_key_list           | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_scriptable_key_list     | 0
 bt5/erp5_hr_l10n_jp/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_hr_l10n_jp/bt/template_constraint_id_list              | 0
 bt5/erp5_hr_l10n_jp/bt/template_document_id_list                | 0
 bt5/erp5_hr_l10n_jp/bt/template_extension_id_list               | 0
 bt5/erp5_hr_l10n_jp/bt/template_local_role_list                 | 0
 bt5/erp5_hr_l10n_jp/bt/template_local_roles_list                | 0
 bt5/erp5_hr_l10n_jp/bt/template_message_translation_list        | 0
 bt5/erp5_hr_l10n_jp/bt/template_module_id_list                  | 0
 bt5/erp5_hr_l10n_jp/bt/template_path_list                       | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_hr_l10n_jp/bt/template_portal_type_base_category_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_hr_l10n_jp/bt/template_portal_type_id_list             | 0
 bt5/erp5_hr_l10n_jp/bt/template_portal_type_property_sheet_list | 0
 bt5/erp5_hr_l10n_jp/bt/template_portal_type_role_list           | 0
 bt5/erp5_hr_l10n_jp/bt/template_portal_type_roles_list          | 0
 bt5/erp5_hr_l10n_jp/bt/template_portal_type_workflow_chain_list | 0
 bt5/erp5_hr_l10n_jp/bt/template_preference_list                 | 0
 bt5/erp5_hr_l10n_jp/bt/template_product_id_list                 | 0
 bt5/erp5_hr_l10n_jp/bt/template_property_sheet_id_list          | 0
 bt5/erp5_hr_l10n_jp/bt/template_registered_skin_selection_list  | 0
 bt5/erp5_hr_l10n_jp/bt/template_role_list                       | 0
 bt5/erp5_hr_l10n_jp/bt/template_site_property_id_list           | 0
 bt5/erp5_hr_l10n_jp/bt/template_test_id_list                    | 0
 bt5/erp5_hr_l10n_jp/bt/template_tool_id_list                    | 0
 bt5/erp5_hr_l10n_jp/bt/template_workflow_id_list                | 0
 bt5/erp5_ical_style/bt/categories_list                          | 0
 bt5/erp5_ical_style/bt/comment                                  | 0
 bt5/erp5_ical_style/bt/dependency_list                          | 0
 bt5/erp5_ical_style/bt/provision_list                           | 0
 bt5/erp5_ical_style/bt/revision                                 | 2 +-
 bt5/erp5_ical_style/bt/template_action_path_list                | 0
 bt5/erp5_ical_style/bt/template_base_category_list              | 0
 bt5/erp5_ical_style/bt/template_catalog_datetime_key_list       | 0
 bt5/erp5_ical_style/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_ical_style/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_ical_style/bt/template_catalog_local_role_key_list     | 0
 bt5/erp5_ical_style/bt/template_catalog_method_id_list          | 0
 bt5/erp5_ical_style/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_ical_style/bt/template_catalog_related_key_list        | 0
 bt5/erp5_ical_style/bt/template_catalog_request_key_list        | 0
 bt5/erp5_ical_style/bt/template_catalog_result_key_list         | 0
 bt5/erp5_ical_style/bt/template_catalog_result_table_list       | 0
 bt5/erp5_ical_style/bt/template_catalog_role_key_list           | 0
 bt5/erp5_ical_style/bt/template_catalog_scriptable_key_list     | 0
 bt5/erp5_ical_style/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_ical_style/bt/template_constraint_id_list              | 0
 bt5/erp5_ical_style/bt/template_document_id_list                | 0
 bt5/erp5_ical_style/bt/template_extension_id_list               | 0
 bt5/erp5_ical_style/bt/template_local_roles_list                | 0
 bt5/erp5_ical_style/bt/template_message_translation_list        | 0
 bt5/erp5_ical_style/bt/template_module_id_list                  | 0
 bt5/erp5_ical_style/bt/template_path_list                       | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_ical_style/bt/template_portal_type_base_category_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_ical_style/bt/template_portal_type_id_list             | 0
 bt5/erp5_ical_style/bt/template_portal_type_property_sheet_list | 0
 bt5/erp5_ical_style/bt/template_portal_type_roles_list          | 0
 bt5/erp5_ical_style/bt/template_portal_type_workflow_chain_list | 0
 bt5/erp5_ical_style/bt/template_preference_list                 | 0
 bt5/erp5_ical_style/bt/template_product_id_list                 | 0
 bt5/erp5_ical_style/bt/template_property_sheet_id_list          | 0
 bt5/erp5_ical_style/bt/template_role_list                       | 0
 bt5/erp5_ical_style/bt/template_site_property_id_list           | 0
 bt5/erp5_ical_style/bt/template_test_id_list                    | 0
 bt5/erp5_ical_style/bt/template_tool_id_list                    | 0
 bt5/erp5_ical_style/bt/template_workflow_id_list                | 0
 bt5/erp5_immobilisation/bt/categories_list                      | 0
 bt5/erp5_immobilisation/bt/copyright_list                       | 0
 bt5/erp5_immobilisation/bt/maintainer_list                      | 0
 bt5/erp5_immobilisation/bt/provision_list                       | 0
 bt5/erp5_immobilisation/bt/revision                             | 2 +-
 bt5/erp5_immobilisation/bt/template_catalog_datetime_key_list   | 0
 bt5/erp5_immobilisation/bt/template_catalog_full_text_key_list  | 0
 bt5/erp5_immobilisation/bt/template_catalog_keyword_key_list    | 0
 bt5/erp5_immobilisation/bt/template_catalog_local_role_key_list | 0
 bt5/erp5_immobilisation/bt/template_catalog_multivalue_key_list | 0
 bt5/erp5_immobilisation/bt/template_catalog_request_key_list    | 0
 bt5/erp5_immobilisation/bt/template_catalog_result_key_list     | 0
 bt5/erp5_immobilisation/bt/template_catalog_result_table_list   | 0
 bt5/erp5_immobilisation/bt/template_catalog_role_key_list       | 0
 bt5/erp5_immobilisation/bt/template_catalog_scriptable_key_list | 0
 bt5/erp5_immobilisation/bt/template_catalog_topic_key_list      | 0
 bt5/erp5_immobilisation/bt/template_constraint_id_list          | 0
 bt5/erp5_immobilisation/bt/template_document_id_list            | 0
 bt5/erp5_immobilisation/bt/template_extension_id_list           | 0
 bt5/erp5_immobilisation/bt/template_local_role_list             | 0
 bt5/erp5_immobilisation/bt/template_local_roles_list            | 0
 bt5/erp5_immobilisation/bt/template_message_translation_list    | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_immobilisation/bt/template_portal_type_role_list       | 0
 bt5/erp5_immobilisation/bt/template_portal_type_roles_list      | 0
 bt5/erp5_immobilisation/bt/template_preference_list             | 0
 bt5/erp5_immobilisation/bt/template_product_id_list             | 0
 bt5/erp5_immobilisation/bt/template_property_sheet_id_list      | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_immobilisation/bt/template_role_list                   | 0
 bt5/erp5_immobilisation/bt/template_site_property_id_list       | 0
 bt5/erp5_immobilisation/bt/template_test_id_list                | 0
 bt5/erp5_immobilisation/bt/template_tool_id_list                | 0
 bt5/erp5_ingestion/bt/categories_list                           | 0
 bt5/erp5_ingestion/bt/comment                                   | 0
 bt5/erp5_ingestion/bt/provision_list                            | 0
 bt5/erp5_ingestion/bt/revision                                  | 2 +-
 bt5/erp5_ingestion/bt/template_catalog_datetime_key_list        | 0
 bt5/erp5_ingestion/bt/template_catalog_full_text_key_list       | 0
 bt5/erp5_ingestion/bt/template_catalog_keyword_key_list         | 0
 bt5/erp5_ingestion/bt/template_catalog_local_role_key_list      | 0
 bt5/erp5_ingestion/bt/template_catalog_method_id_list           | 0
 bt5/erp5_ingestion/bt/template_catalog_multivalue_key_list      | 0
 bt5/erp5_ingestion/bt/template_catalog_related_key_list         | 0
 bt5/erp5_ingestion/bt/template_catalog_request_key_list         | 0
 bt5/erp5_ingestion/bt/template_catalog_result_key_list          | 0
 bt5/erp5_ingestion/bt/template_catalog_result_table_list        | 0
 bt5/erp5_ingestion/bt/template_catalog_role_key_list            | 0
 bt5/erp5_ingestion/bt/template_catalog_scriptable_key_list      | 0
 bt5/erp5_ingestion/bt/template_catalog_topic_key_list           | 0
 bt5/erp5_ingestion/bt/template_constraint_id_list               | 0
 bt5/erp5_ingestion/bt/template_document_id_list                 | 0
 bt5/erp5_ingestion/bt/template_extension_id_list                | 0
 bt5/erp5_ingestion/bt/template_local_role_list                  | 0
 bt5/erp5_ingestion/bt/template_local_roles_list                 | 0
 bt5/erp5_ingestion/bt/template_message_translation_list         | 0
 bt5/erp5_ingestion/bt/template_module_id_list                   | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_ingestion/bt/template_portal_type_base_category_list   | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_ingestion/bt/template_portal_type_property_sheet_list  | 0
 bt5/erp5_ingestion/bt/template_portal_type_role_list            | 0
 bt5/erp5_ingestion/bt/template_portal_type_roles_list           | 0
 bt5/erp5_ingestion/bt/template_portal_type_workflow_chain_list  | 0
 bt5/erp5_ingestion/bt/template_preference_list                  | 0
 bt5/erp5_ingestion/bt/template_product_id_list                  | 0
 bt5/erp5_ingestion/bt/template_property_sheet_id_list           | 0
 bt5/erp5_ingestion/bt/template_registered_skin_selection_list   | 0
 bt5/erp5_ingestion/bt/template_role_list                        | 0
 bt5/erp5_ingestion/bt/template_site_property_id_list            | 0
 bt5/erp5_ingestion/bt/template_workflow_id_list                 | 0
 bt5/erp5_ingestion_mysql_innodb_catalog/bt/categories_list      | 0
 bt5/erp5_ingestion_mysql_innodb_catalog/bt/comment              | 0
 bt5/erp5_ingestion_mysql_innodb_catalog/bt/dependency_list      | 0
 bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision             | 2 +-
 .../bt/template_action_path_list                                | 0
 .../bt/template_base_category_list                              | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 .../bt/template_constraint_id_list                              | 0
 .../bt/template_document_id_list                                | 0
 .../bt/template_extension_id_list                               | 0
 .../bt/template_local_role_list                                 | 0
 .../bt/template_local_roles_list                                | 0
 .../bt/template_message_translation_list                        | 0
 .../bt/template_module_id_list                                  | 0
 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_path_list   | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_id_list                             | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_role_list                           | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 .../bt/template_preference_list                                 | 0
 .../bt/template_product_id_list                                 | 0
 .../bt/template_property_sheet_id_list                          | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_role_list   | 0
 .../bt/template_site_property_id_list                           | 0
 .../bt/template_skin_id_list                                    | 0
 .../bt/template_test_id_list                                    | 0
 .../bt/template_tool_id_list                                    | 0
 .../bt/template_workflow_id_list                                | 0
 bt5/erp5_invoicing/bt/categories_list                           | 0
 bt5/erp5_invoicing/bt/comment                                   | 0
 bt5/erp5_invoicing/bt/provision_list                            | 0
 bt5/erp5_invoicing/bt/revision                                  | 2 +-
 bt5/erp5_invoicing/bt/template_catalog_datetime_key_list        | 0
 bt5/erp5_invoicing/bt/template_catalog_full_text_key_list       | 0
 bt5/erp5_invoicing/bt/template_catalog_keyword_key_list         | 0
 bt5/erp5_invoicing/bt/template_catalog_local_role_key_list      | 0
 bt5/erp5_invoicing/bt/template_catalog_multivalue_key_list      | 0
 bt5/erp5_invoicing/bt/template_catalog_request_key_list         | 0
 bt5/erp5_invoicing/bt/template_catalog_result_key_list          | 0
 bt5/erp5_invoicing/bt/template_catalog_result_table_list        | 0
 bt5/erp5_invoicing/bt/template_catalog_role_key_list            | 0
 bt5/erp5_invoicing/bt/template_catalog_scriptable_key_list      | 0
 bt5/erp5_invoicing/bt/template_catalog_topic_key_list           | 0
 bt5/erp5_invoicing/bt/template_constraint_id_list               | 0
 bt5/erp5_invoicing/bt/template_document_id_list                 | 0
 bt5/erp5_invoicing/bt/template_extension_id_list                | 0
 bt5/erp5_invoicing/bt/template_local_role_list                  | 0
 bt5/erp5_invoicing/bt/template_local_roles_list                 | 0
 bt5/erp5_invoicing/bt/template_message_translation_list         | 0
 bt5/erp5_invoicing/bt/template_module_id_list                   | 0
 bt5/erp5_invoicing/bt/template_portal_type_base_category_list   | 0
 bt5/erp5_invoicing/bt/template_portal_type_property_sheet_list  | 0
 bt5/erp5_invoicing/bt/template_portal_type_role_list            | 0
 bt5/erp5_invoicing/bt/template_portal_type_roles_list           | 0
 bt5/erp5_invoicing/bt/template_preference_list                  | 0
 bt5/erp5_invoicing/bt/template_product_id_list                  | 0
 bt5/erp5_invoicing/bt/template_property_sheet_id_list           | 0
 bt5/erp5_invoicing/bt/template_registered_skin_selection_list   | 0
 bt5/erp5_invoicing/bt/template_role_list                        | 0
 bt5/erp5_invoicing/bt/template_site_property_id_list            | 0
 bt5/erp5_invoicing/bt/template_test_id_list                     | 0
 bt5/erp5_invoicing/bt/template_tool_id_list                     | 0
 bt5/erp5_invoicing/bt/template_workflow_id_list                 | 0
 bt5/erp5_item/bt/categories_list                                | 0
 bt5/erp5_item/bt/comment                                        | 0
 bt5/erp5_item/bt/maintainer_list                                | 0
 bt5/erp5_item/bt/provision_list                                 | 0
 bt5/erp5_item/bt/revision                                       | 2 +-
 bt5/erp5_item/bt/template_base_category_list                    | 0
 bt5/erp5_item/bt/template_catalog_datetime_key_list             | 0
 bt5/erp5_item/bt/template_catalog_full_text_key_list            | 0
 bt5/erp5_item/bt/template_catalog_keyword_key_list              | 0
 bt5/erp5_item/bt/template_catalog_local_role_key_list           | 0
 bt5/erp5_item/bt/template_catalog_multivalue_key_list           | 0
 bt5/erp5_item/bt/template_catalog_request_key_list              | 0
 bt5/erp5_item/bt/template_catalog_result_key_list               | 0
 bt5/erp5_item/bt/template_catalog_result_table_list             | 0
 bt5/erp5_item/bt/template_catalog_role_key_list                 | 0
 bt5/erp5_item/bt/template_catalog_scriptable_key_list           | 0
 bt5/erp5_item/bt/template_catalog_topic_key_list                | 0
 bt5/erp5_item/bt/template_constraint_id_list                    | 0
 bt5/erp5_item/bt/template_document_id_list                      | 0
 bt5/erp5_item/bt/template_extension_id_list                     | 0
 bt5/erp5_item/bt/template_local_role_list                       | 0
 bt5/erp5_item/bt/template_local_roles_list                      | 0
 bt5/erp5_item/bt/template_message_translation_list              | 0
 bt5/erp5_item/bt/template_path_list                             | 0
 bt5/erp5_item/bt/template_portal_type_base_category_list        | 0
 bt5/erp5_item/bt/template_portal_type_property_sheet_list       | 0
 bt5/erp5_item/bt/template_portal_type_role_list                 | 0
 bt5/erp5_item/bt/template_portal_type_roles_list                | 0
 bt5/erp5_item/bt/template_preference_list                       | 0
 bt5/erp5_item/bt/template_product_id_list                       | 0
 bt5/erp5_item/bt/template_property_sheet_id_list                | 0
 bt5/erp5_item/bt/template_registered_skin_selection_list        | 0
 bt5/erp5_item/bt/template_role_list                             | 0
 bt5/erp5_item/bt/template_site_property_id_list                 | 0
 bt5/erp5_item/bt/template_test_id_list                          | 0
 bt5/erp5_item/bt/template_tool_id_list                          | 0
 bt5/erp5_jquery/bt/categories_list                              | 0
 bt5/erp5_jquery/bt/provision_list                               | 0
 bt5/erp5_jquery/bt/revision                                     | 2 +-
 bt5/erp5_jquery/bt/template_action_path_list                    | 0
 bt5/erp5_jquery/bt/template_base_category_list                  | 0
 bt5/erp5_jquery/bt/template_catalog_datetime_key_list           | 0
 bt5/erp5_jquery/bt/template_catalog_full_text_key_list          | 0
 bt5/erp5_jquery/bt/template_catalog_keyword_key_list            | 0
 bt5/erp5_jquery/bt/template_catalog_local_role_key_list         | 0
 bt5/erp5_jquery/bt/template_catalog_method_id_list              | 0
 bt5/erp5_jquery/bt/template_catalog_multivalue_key_list         | 0
 bt5/erp5_jquery/bt/template_catalog_related_key_list            | 0
 bt5/erp5_jquery/bt/template_catalog_request_key_list            | 0
 bt5/erp5_jquery/bt/template_catalog_result_key_list             | 0
 bt5/erp5_jquery/bt/template_catalog_result_table_list           | 0
 bt5/erp5_jquery/bt/template_catalog_role_key_list               | 0
 bt5/erp5_jquery/bt/template_catalog_scriptable_key_list         | 0
 bt5/erp5_jquery/bt/template_catalog_topic_key_list              | 0
 bt5/erp5_jquery/bt/template_constraint_id_list                  | 0
 bt5/erp5_jquery/bt/template_document_id_list                    | 0
 bt5/erp5_jquery/bt/template_extension_id_list                   | 0
 bt5/erp5_jquery/bt/template_local_role_list                     | 0
 bt5/erp5_jquery/bt/template_local_roles_list                    | 0
 bt5/erp5_jquery/bt/template_message_translation_list            | 0
 bt5/erp5_jquery/bt/template_module_id_list                      | 0
 bt5/erp5_jquery/bt/template_path_list                           | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_jquery/bt/template_portal_type_base_category_list      | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_jquery/bt/template_portal_type_id_list                 | 0
 bt5/erp5_jquery/bt/template_portal_type_property_sheet_list     | 0
 bt5/erp5_jquery/bt/template_portal_type_role_list               | 0
 bt5/erp5_jquery/bt/template_portal_type_roles_list              | 0
 bt5/erp5_jquery/bt/template_portal_type_workflow_chain_list     | 0
 bt5/erp5_jquery/bt/template_preference_list                     | 0
 bt5/erp5_jquery/bt/template_product_id_list                     | 0
 bt5/erp5_jquery/bt/template_property_sheet_id_list              | 0
 bt5/erp5_jquery/bt/template_role_list                           | 0
 bt5/erp5_jquery/bt/template_site_property_id_list               | 0
 bt5/erp5_jquery/bt/template_test_id_list                        | 0
 bt5/erp5_jquery/bt/template_tool_id_list                        | 0
 bt5/erp5_jquery/bt/template_workflow_id_list                    | 0
 bt5/erp5_km/bt/categories_list                                  | 0
 bt5/erp5_km/bt/provision_list                                   | 0
 bt5/erp5_km/bt/revision                                         | 2 +-
 bt5/erp5_km/bt/template_base_category_list                      | 0
 bt5/erp5_km/bt/template_catalog_datetime_key_list               | 0
 bt5/erp5_km/bt/template_catalog_full_text_key_list              | 0
 bt5/erp5_km/bt/template_catalog_keyword_key_list                | 0
 bt5/erp5_km/bt/template_catalog_local_role_key_list             | 0
 bt5/erp5_km/bt/template_catalog_method_id_list                  | 0
 bt5/erp5_km/bt/template_catalog_multivalue_key_list             | 0
 bt5/erp5_km/bt/template_catalog_related_key_list                | 0
 bt5/erp5_km/bt/template_catalog_request_key_list                | 0
 bt5/erp5_km/bt/template_catalog_result_key_list                 | 0
 bt5/erp5_km/bt/template_catalog_result_table_list               | 0
 bt5/erp5_km/bt/template_catalog_role_key_list                   | 0
 bt5/erp5_km/bt/template_catalog_scriptable_key_list             | 0
 bt5/erp5_km/bt/template_catalog_search_key_list                 | 0
 bt5/erp5_km/bt/template_catalog_topic_key_list                  | 0
 bt5/erp5_km/bt/template_constraint_id_list                      | 0
 bt5/erp5_km/bt/template_document_id_list                        | 0
 bt5/erp5_km/bt/template_extension_id_list                       | 0
 bt5/erp5_km/bt/template_local_role_list                         | 0
 bt5/erp5_km/bt/template_local_roles_list                        | 0
 bt5/erp5_km/bt/template_message_translation_list                | 0
 bt5/erp5_km/bt/template_module_id_list                          | 0
 bt5/erp5_km/bt/template_portal_type_allowed_content_type_list   | 0
 bt5/erp5_km/bt/template_portal_type_base_category_list          | 0
 bt5/erp5_km/bt/template_portal_type_hidden_content_type_list    | 0
 bt5/erp5_km/bt/template_portal_type_id_list                     | 0
 bt5/erp5_km/bt/template_portal_type_property_sheet_list         | 0
 bt5/erp5_km/bt/template_portal_type_role_list                   | 0
 bt5/erp5_km/bt/template_portal_type_roles_list                  | 0
 bt5/erp5_km/bt/template_preference_list                         | 0
 bt5/erp5_km/bt/template_product_id_list                         | 0
 bt5/erp5_km/bt/template_property_sheet_id_list                  | 0
 bt5/erp5_km/bt/template_role_list                               | 0
 bt5/erp5_km/bt/template_site_property_id_list                   | 0
 bt5/erp5_km/bt/template_test_id_list                            | 0
 bt5/erp5_km/bt/template_tool_id_list                            | 0
 bt5/erp5_km/bt/template_workflow_id_list                        | 0
 bt5/erp5_km_ui_test/bt/categories_list                          | 0
 bt5/erp5_km_ui_test/bt/comment                                  | 0
 bt5/erp5_km_ui_test/bt/provision_list                           | 0
 bt5/erp5_km_ui_test/bt/revision                                 | 2 +-
 bt5/erp5_km_ui_test/bt/template_action_path_list                | 0
 bt5/erp5_km_ui_test/bt/template_base_category_list              | 0
 bt5/erp5_km_ui_test/bt/template_catalog_datetime_key_list       | 0
 bt5/erp5_km_ui_test/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_km_ui_test/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_km_ui_test/bt/template_catalog_local_role_key_list     | 0
 bt5/erp5_km_ui_test/bt/template_catalog_method_id_list          | 0
 bt5/erp5_km_ui_test/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_km_ui_test/bt/template_catalog_related_key_list        | 0
 bt5/erp5_km_ui_test/bt/template_catalog_request_key_list        | 0
 bt5/erp5_km_ui_test/bt/template_catalog_result_key_list         | 0
 bt5/erp5_km_ui_test/bt/template_catalog_result_table_list       | 0
 bt5/erp5_km_ui_test/bt/template_catalog_role_key_list           | 0
 bt5/erp5_km_ui_test/bt/template_catalog_scriptable_key_list     | 0
 bt5/erp5_km_ui_test/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_km_ui_test/bt/template_constraint_id_list              | 0
 bt5/erp5_km_ui_test/bt/template_document_id_list                | 0
 bt5/erp5_km_ui_test/bt/template_extension_id_list               | 0
 bt5/erp5_km_ui_test/bt/template_local_role_list                 | 0
 bt5/erp5_km_ui_test/bt/template_local_roles_list                | 0
 bt5/erp5_km_ui_test/bt/template_message_translation_list        | 0
 bt5/erp5_km_ui_test/bt/template_module_id_list                  | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_km_ui_test/bt/template_portal_type_base_category_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_km_ui_test/bt/template_portal_type_id_list             | 0
 bt5/erp5_km_ui_test/bt/template_portal_type_property_sheet_list | 0
 bt5/erp5_km_ui_test/bt/template_portal_type_role_list           | 0
 bt5/erp5_km_ui_test/bt/template_portal_type_roles_list          | 0
 bt5/erp5_km_ui_test/bt/template_portal_type_workflow_chain_list | 0
 bt5/erp5_km_ui_test/bt/template_preference_list                 | 0
 bt5/erp5_km_ui_test/bt/template_product_id_list                 | 0
 bt5/erp5_km_ui_test/bt/template_property_sheet_id_list          | 0
 bt5/erp5_km_ui_test/bt/template_registered_skin_selection_list  | 0
 bt5/erp5_km_ui_test/bt/template_role_list                       | 0
 bt5/erp5_km_ui_test/bt/template_site_property_id_list           | 0
 bt5/erp5_km_ui_test/bt/template_test_id_list                    | 0
 bt5/erp5_km_ui_test/bt/template_tool_id_list                    | 0
 bt5/erp5_km_ui_test/bt/template_workflow_id_list                | 0
 bt5/erp5_knowledge_pad/bt/categories_list                       | 0
 bt5/erp5_knowledge_pad/bt/dependency_list                       | 0
 bt5/erp5_knowledge_pad/bt/provision_list                        | 0
 bt5/erp5_knowledge_pad/bt/revision                              | 2 +-
 bt5/erp5_knowledge_pad/bt/template_catalog_datetime_key_list    | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_full_text_key_list   | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_keyword_key_list     | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_local_role_key_list  | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_method_id_list       | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_multivalue_key_list  | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_related_key_list     | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_request_key_list     | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_result_key_list      | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_result_table_list    | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_role_key_list        | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_scriptable_key_list  | 0
 bt5/erp5_knowledge_pad/bt/template_catalog_topic_key_list       | 0
 bt5/erp5_knowledge_pad/bt/template_constraint_id_list           | 0
 bt5/erp5_knowledge_pad/bt/template_document_id_list             | 0
 bt5/erp5_knowledge_pad/bt/template_local_role_list              | 0
 bt5/erp5_knowledge_pad/bt/template_local_roles_list             | 0
 bt5/erp5_knowledge_pad/bt/template_message_translation_list     | 0
 bt5/erp5_knowledge_pad/bt/template_portal_type_role_list        | 0
 bt5/erp5_knowledge_pad/bt/template_portal_type_roles_list       | 0
 bt5/erp5_knowledge_pad/bt/template_preference_list              | 0
 bt5/erp5_knowledge_pad/bt/template_product_id_list              | 0
 bt5/erp5_knowledge_pad/bt/template_property_sheet_id_list       | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_knowledge_pad/bt/template_role_list                    | 0
 bt5/erp5_knowledge_pad/bt/template_site_property_id_list        | 0
 bt5/erp5_knowledge_pad/bt/template_test_id_list                 | 0
 bt5/erp5_knowledge_pad_ui_test/bt/categories_list               | 0
 bt5/erp5_knowledge_pad_ui_test/bt/comment                       | 0
 bt5/erp5_knowledge_pad_ui_test/bt/provision_list                | 0
 bt5/erp5_knowledge_pad_ui_test/bt/revision                      | 2 +-
 bt5/erp5_knowledge_pad_ui_test/bt/template_action_path_list     | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_base_category_list   | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_search_key_list                         | 0
 .../bt/template_catalog_topic_key_list                          | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_constraint_id_list   | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_document_id_list     | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_extension_id_list    | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_local_role_list      | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_local_roles_list     | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_module_id_list       | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_id_list  | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_role_list                           | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_preference_list      | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_product_id_list      | 0
 .../bt/template_property_sheet_id_list                          | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_role_list            | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_test_id_list         | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_tool_id_list         | 0
 bt5/erp5_knowledge_pad_ui_test/bt/template_workflow_id_list     | 0
 bt5/erp5_knowledge_pad_ui_test/bt/version                       | 0
 bt5/erp5_l10n_fr/bt/categories_list                             | 0
 bt5/erp5_l10n_fr/bt/comment                                     | 0
 bt5/erp5_l10n_fr/bt/dependency_list                             | 0
 bt5/erp5_l10n_fr/bt/maintainer_list                             | 0
 bt5/erp5_l10n_fr/bt/provision_list                              | 0
 bt5/erp5_l10n_fr/bt/revision                                    | 2 +-
 bt5/erp5_l10n_fr/bt/template_action_path_list                   | 0
 bt5/erp5_l10n_fr/bt/template_base_category_list                 | 0
 bt5/erp5_l10n_fr/bt/template_catalog_datetime_key_list          | 0
 bt5/erp5_l10n_fr/bt/template_catalog_full_text_key_list         | 0
 bt5/erp5_l10n_fr/bt/template_catalog_keyword_key_list           | 0
 bt5/erp5_l10n_fr/bt/template_catalog_method_id_list             | 0
 bt5/erp5_l10n_fr/bt/template_catalog_multivalue_key_list        | 0
 bt5/erp5_l10n_fr/bt/template_catalog_related_key_list           | 0
 bt5/erp5_l10n_fr/bt/template_catalog_request_key_list           | 0
 bt5/erp5_l10n_fr/bt/template_catalog_result_key_list            | 0
 bt5/erp5_l10n_fr/bt/template_catalog_result_table_list          | 0
 bt5/erp5_l10n_fr/bt/template_catalog_scriptable_key_list        | 0
 bt5/erp5_l10n_fr/bt/template_catalog_topic_key_list             | 0
 bt5/erp5_l10n_fr/bt/template_constraint_id_list                 | 0
 bt5/erp5_l10n_fr/bt/template_document_id_list                   | 0
 bt5/erp5_l10n_fr/bt/template_extension_id_list                  | 0
 bt5/erp5_l10n_fr/bt/template_local_roles_list                   | 0
 bt5/erp5_l10n_fr/bt/template_module_id_list                     | 0
 bt5/erp5_l10n_fr/bt/template_path_list                          | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_l10n_fr/bt/template_portal_type_base_category_list     | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_l10n_fr/bt/template_portal_type_id_list                | 0
 bt5/erp5_l10n_fr/bt/template_portal_type_property_sheet_list    | 0
 bt5/erp5_l10n_fr/bt/template_portal_type_roles_list             | 0
 bt5/erp5_l10n_fr/bt/template_portal_type_workflow_chain_list    | 0
 bt5/erp5_l10n_fr/bt/template_preference_list                    | 0
 bt5/erp5_l10n_fr/bt/template_product_id_list                    | 0
 bt5/erp5_l10n_fr/bt/template_property_sheet_id_list             | 0
 bt5/erp5_l10n_fr/bt/template_role_list                          | 0
 bt5/erp5_l10n_fr/bt/template_site_property_id_list              | 0
 bt5/erp5_l10n_fr/bt/template_skin_id_list                       | 0
 bt5/erp5_l10n_fr/bt/template_test_id_list                       | 0
 bt5/erp5_l10n_fr/bt/template_tool_id_list                       | 0
 bt5/erp5_l10n_fr/bt/template_workflow_id_list                   | 0
 bt5/erp5_l10n_ja/bt/categories_list                             | 0
 bt5/erp5_l10n_ja/bt/dependency_list                             | 0
 bt5/erp5_l10n_ja/bt/revision                                    | 2 +-
 bt5/erp5_l10n_ja/bt/template_action_path_list                   | 0
 bt5/erp5_l10n_ja/bt/template_base_category_list                 | 0
 bt5/erp5_l10n_ja/bt/template_catalog_full_text_key_list         | 0
 bt5/erp5_l10n_ja/bt/template_catalog_keyword_key_list           | 0
 bt5/erp5_l10n_ja/bt/template_catalog_method_id_list             | 0
 bt5/erp5_l10n_ja/bt/template_catalog_multivalue_key_list        | 0
 bt5/erp5_l10n_ja/bt/template_catalog_related_key_list           | 0
 bt5/erp5_l10n_ja/bt/template_catalog_request_key_list           | 0
 bt5/erp5_l10n_ja/bt/template_catalog_result_key_list            | 0
 bt5/erp5_l10n_ja/bt/template_catalog_result_table_list          | 0
 bt5/erp5_l10n_ja/bt/template_catalog_topic_key_list             | 0
 bt5/erp5_l10n_ja/bt/template_constraint_id_list                 | 0
 bt5/erp5_l10n_ja/bt/template_document_id_list                   | 0
 bt5/erp5_l10n_ja/bt/template_extension_id_list                  | 0
 bt5/erp5_l10n_ja/bt/template_local_roles_list                   | 0
 bt5/erp5_l10n_ja/bt/template_module_id_list                     | 0
 bt5/erp5_l10n_ja/bt/template_path_list                          | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_l10n_ja/bt/template_portal_type_base_category_list     | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_l10n_ja/bt/template_portal_type_id_list                | 0
 bt5/erp5_l10n_ja/bt/template_portal_type_property_sheet_list    | 0
 bt5/erp5_l10n_ja/bt/template_portal_type_roles_list             | 0
 bt5/erp5_l10n_ja/bt/template_portal_type_workflow_chain_list    | 0
 bt5/erp5_l10n_ja/bt/template_product_id_list                    | 0
 bt5/erp5_l10n_ja/bt/template_property_sheet_id_list             | 0
 bt5/erp5_l10n_ja/bt/template_role_list                          | 0
 bt5/erp5_l10n_ja/bt/template_site_property_id_list              | 0
 bt5/erp5_l10n_ja/bt/template_skin_id_list                       | 0
 bt5/erp5_l10n_ja/bt/template_test_id_list                       | 0
 bt5/erp5_l10n_ja/bt/template_workflow_id_list                   | 0
 bt5/erp5_l10n_ko/bt/categories_list                             | 0
 bt5/erp5_l10n_ko/bt/comment                                     | 0
 bt5/erp5_l10n_ko/bt/dependency_list                             | 0
 bt5/erp5_l10n_ko/bt/provision_list                              | 0
 bt5/erp5_l10n_ko/bt/revision                                    | 2 +-
 bt5/erp5_l10n_ko/bt/template_action_path_list                   | 0
 bt5/erp5_l10n_ko/bt/template_base_category_list                 | 0
 bt5/erp5_l10n_ko/bt/template_catalog_datetime_key_list          | 0
 bt5/erp5_l10n_ko/bt/template_catalog_full_text_key_list         | 0
 bt5/erp5_l10n_ko/bt/template_catalog_keyword_key_list           | 0
 bt5/erp5_l10n_ko/bt/template_catalog_local_role_key_list        | 0
 bt5/erp5_l10n_ko/bt/template_catalog_method_id_list             | 0
 bt5/erp5_l10n_ko/bt/template_catalog_multivalue_key_list        | 0
 bt5/erp5_l10n_ko/bt/template_catalog_related_key_list           | 0
 bt5/erp5_l10n_ko/bt/template_catalog_request_key_list           | 0
 bt5/erp5_l10n_ko/bt/template_catalog_result_key_list            | 0
 bt5/erp5_l10n_ko/bt/template_catalog_result_table_list          | 0
 bt5/erp5_l10n_ko/bt/template_catalog_role_key_list              | 0
 bt5/erp5_l10n_ko/bt/template_catalog_scriptable_key_list        | 0
 bt5/erp5_l10n_ko/bt/template_catalog_topic_key_list             | 0
 bt5/erp5_l10n_ko/bt/template_constraint_id_list                 | 0
 bt5/erp5_l10n_ko/bt/template_document_id_list                   | 0
 bt5/erp5_l10n_ko/bt/template_extension_id_list                  | 0
 bt5/erp5_l10n_ko/bt/template_local_roles_list                   | 0
 bt5/erp5_l10n_ko/bt/template_module_id_list                     | 0
 bt5/erp5_l10n_ko/bt/template_path_list                          | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_l10n_ko/bt/template_portal_type_base_category_list     | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_l10n_ko/bt/template_portal_type_id_list                | 0
 bt5/erp5_l10n_ko/bt/template_portal_type_property_sheet_list    | 0
 bt5/erp5_l10n_ko/bt/template_portal_type_roles_list             | 0
 bt5/erp5_l10n_ko/bt/template_portal_type_workflow_chain_list    | 0
 bt5/erp5_l10n_ko/bt/template_preference_list                    | 0
 bt5/erp5_l10n_ko/bt/template_product_id_list                    | 0
 bt5/erp5_l10n_ko/bt/template_property_sheet_id_list             | 0
 bt5/erp5_l10n_ko/bt/template_role_list                          | 0
 bt5/erp5_l10n_ko/bt/template_site_property_id_list              | 0
 bt5/erp5_l10n_ko/bt/template_skin_id_list                       | 0
 bt5/erp5_l10n_ko/bt/template_test_id_list                       | 0
 bt5/erp5_l10n_ko/bt/template_tool_id_list                       | 0
 bt5/erp5_l10n_ko/bt/template_workflow_id_list                   | 0
 bt5/erp5_l10n_pl_PL/bt/categories_list                          | 0
 bt5/erp5_l10n_pl_PL/bt/comment                                  | 0
 bt5/erp5_l10n_pl_PL/bt/copyright_list                           | 0
 bt5/erp5_l10n_pl_PL/bt/dependency_list                          | 0
 bt5/erp5_l10n_pl_PL/bt/provision_list                           | 0
 bt5/erp5_l10n_pl_PL/bt/revision                                 | 2 +-
 bt5/erp5_l10n_pl_PL/bt/template_action_path_list                | 0
 bt5/erp5_l10n_pl_PL/bt/template_base_category_list              | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_datetime_key_list       | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_local_role_key_list     | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_method_id_list          | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_related_key_list        | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_request_key_list        | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_result_key_list         | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_result_table_list       | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_role_key_list           | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_scriptable_key_list     | 0
 bt5/erp5_l10n_pl_PL/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_l10n_pl_PL/bt/template_constraint_id_list              | 0
 bt5/erp5_l10n_pl_PL/bt/template_document_id_list                | 0
 bt5/erp5_l10n_pl_PL/bt/template_extension_id_list               | 0
 bt5/erp5_l10n_pl_PL/bt/template_local_role_list                 | 0
 bt5/erp5_l10n_pl_PL/bt/template_local_roles_list                | 0
 bt5/erp5_l10n_pl_PL/bt/template_module_id_list                  | 0
 bt5/erp5_l10n_pl_PL/bt/template_path_list                       | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_l10n_pl_PL/bt/template_portal_type_base_category_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_l10n_pl_PL/bt/template_portal_type_id_list             | 0
 bt5/erp5_l10n_pl_PL/bt/template_portal_type_property_sheet_list | 0
 bt5/erp5_l10n_pl_PL/bt/template_portal_type_role_list           | 0
 bt5/erp5_l10n_pl_PL/bt/template_portal_type_roles_list          | 0
 bt5/erp5_l10n_pl_PL/bt/template_portal_type_workflow_chain_list | 0
 bt5/erp5_l10n_pl_PL/bt/template_preference_list                 | 0
 bt5/erp5_l10n_pl_PL/bt/template_product_id_list                 | 0
 bt5/erp5_l10n_pl_PL/bt/template_property_sheet_id_list          | 0
 bt5/erp5_l10n_pl_PL/bt/template_role_list                       | 0
 bt5/erp5_l10n_pl_PL/bt/template_site_property_id_list           | 0
 bt5/erp5_l10n_pl_PL/bt/template_test_id_list                    | 0
 bt5/erp5_l10n_pl_PL/bt/template_tool_id_list                    | 0
 bt5/erp5_l10n_pl_PL/bt/template_workflow_id_list                | 0
 bt5/erp5_l10n_pt-BR/bt/categories_list                          | 0
 bt5/erp5_l10n_pt-BR/bt/comment                                  | 0
 bt5/erp5_l10n_pt-BR/bt/dependency_list                          | 0
 bt5/erp5_l10n_pt-BR/bt/provision_list                           | 0
 bt5/erp5_l10n_pt-BR/bt/revision                                 | 2 +-
 bt5/erp5_l10n_pt-BR/bt/template_action_path_list                | 0
 bt5/erp5_l10n_pt-BR/bt/template_base_category_list              | 0
 bt5/erp5_l10n_pt-BR/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_l10n_pt-BR/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_l10n_pt-BR/bt/template_catalog_method_id_list          | 0
 bt5/erp5_l10n_pt-BR/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_l10n_pt-BR/bt/template_catalog_related_key_list        | 0
 bt5/erp5_l10n_pt-BR/bt/template_catalog_request_key_list        | 0
 bt5/erp5_l10n_pt-BR/bt/template_catalog_result_key_list         | 0
 bt5/erp5_l10n_pt-BR/bt/template_catalog_result_table_list       | 0
 bt5/erp5_l10n_pt-BR/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_l10n_pt-BR/bt/template_constraint_id_list              | 0
 bt5/erp5_l10n_pt-BR/bt/template_document_id_list                | 0
 bt5/erp5_l10n_pt-BR/bt/template_extension_id_list               | 0
 bt5/erp5_l10n_pt-BR/bt/template_local_roles_list                | 0
 bt5/erp5_l10n_pt-BR/bt/template_module_id_list                  | 0
 bt5/erp5_l10n_pt-BR/bt/template_path_list                       | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_l10n_pt-BR/bt/template_portal_type_base_category_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_l10n_pt-BR/bt/template_portal_type_id_list             | 0
 bt5/erp5_l10n_pt-BR/bt/template_portal_type_property_sheet_list | 0
 bt5/erp5_l10n_pt-BR/bt/template_portal_type_roles_list          | 0
 bt5/erp5_l10n_pt-BR/bt/template_portal_type_workflow_chain_list | 0
 bt5/erp5_l10n_pt-BR/bt/template_preference_list                 | 0
 bt5/erp5_l10n_pt-BR/bt/template_product_id_list                 | 0
 bt5/erp5_l10n_pt-BR/bt/template_property_sheet_id_list          | 0
 bt5/erp5_l10n_pt-BR/bt/template_role_list                       | 0
 bt5/erp5_l10n_pt-BR/bt/template_site_property_id_list           | 0
 bt5/erp5_l10n_pt-BR/bt/template_skin_id_list                    | 0
 bt5/erp5_l10n_pt-BR/bt/template_test_id_list                    | 0
 bt5/erp5_l10n_pt-BR/bt/template_workflow_id_list                | 0
 bt5/erp5_ldap_catalog/bt/categories_list                        | 0
 bt5/erp5_ldap_catalog/bt/comment                                | 0
 bt5/erp5_ldap_catalog/bt/copyright_list                         | 0
 bt5/erp5_ldap_catalog/bt/license                                | 0
 bt5/erp5_ldap_catalog/bt/provision_list                         | 0
 bt5/erp5_ldap_catalog/bt/revision                               | 2 +-
 bt5/erp5_ldap_catalog/bt/template_action_path_list              | 0
 bt5/erp5_ldap_catalog/bt/template_base_category_list            | 0
 bt5/erp5_ldap_catalog/bt/template_catalog_datetime_key_list     | 0
 bt5/erp5_ldap_catalog/bt/template_catalog_full_text_key_list    | 0
 bt5/erp5_ldap_catalog/bt/template_catalog_keyword_key_list      | 0
 bt5/erp5_ldap_catalog/bt/template_catalog_multivalue_key_list   | 0
 bt5/erp5_ldap_catalog/bt/template_catalog_related_key_list      | 0
 bt5/erp5_ldap_catalog/bt/template_catalog_request_key_list      | 0
 bt5/erp5_ldap_catalog/bt/template_catalog_result_key_list       | 0
 bt5/erp5_ldap_catalog/bt/template_catalog_result_table_list     | 0
 bt5/erp5_ldap_catalog/bt/template_catalog_scriptable_key_list   | 0
 bt5/erp5_ldap_catalog/bt/template_catalog_topic_key_list        | 0
 bt5/erp5_ldap_catalog/bt/template_constraint_id_list            | 0
 bt5/erp5_ldap_catalog/bt/template_document_id_list              | 0
 bt5/erp5_ldap_catalog/bt/template_extension_id_list             | 0
 bt5/erp5_ldap_catalog/bt/template_local_roles_list              | 0
 bt5/erp5_ldap_catalog/bt/template_message_translation_list      | 0
 bt5/erp5_ldap_catalog/bt/template_module_id_list                | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_ldap_catalog/bt/template_portal_type_id_list           | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_ldap_catalog/bt/template_portal_type_roles_list        | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_ldap_catalog/bt/template_preference_list               | 0
 bt5/erp5_ldap_catalog/bt/template_product_id_list               | 0
 bt5/erp5_ldap_catalog/bt/template_property_sheet_id_list        | 0
 bt5/erp5_ldap_catalog/bt/template_role_list                     | 0
 bt5/erp5_ldap_catalog/bt/template_site_property_id_list         | 0
 bt5/erp5_ldap_catalog/bt/template_test_id_list                  | 0
 bt5/erp5_ldap_catalog/bt/template_tool_id_list                  | 0
 bt5/erp5_ldap_catalog/bt/template_workflow_id_list              | 0
 bt5/erp5_ldap_catalog/bt/version                                | 0
 bt5/erp5_legacy_tax_system/bt/categories_list                   | 0
 bt5/erp5_legacy_tax_system/bt/comment                           | 0
 bt5/erp5_legacy_tax_system/bt/maintainer_list                   | 0
 bt5/erp5_legacy_tax_system/bt/provision_list                    | 0
 bt5/erp5_legacy_tax_system/bt/revision                          | 2 +-
 bt5/erp5_legacy_tax_system/bt/template_base_category_list       | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 bt5/erp5_legacy_tax_system/bt/template_catalog_keyword_key_list | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_legacy_tax_system/bt/template_catalog_method_id_list   | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 bt5/erp5_legacy_tax_system/bt/template_catalog_related_key_list | 0
 bt5/erp5_legacy_tax_system/bt/template_catalog_request_key_list | 0
 bt5/erp5_legacy_tax_system/bt/template_catalog_result_key_list  | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_legacy_tax_system/bt/template_catalog_role_key_list    | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_legacy_tax_system/bt/template_catalog_topic_key_list   | 0
 bt5/erp5_legacy_tax_system/bt/template_constraint_id_list       | 0
 bt5/erp5_legacy_tax_system/bt/template_document_id_list         | 0
 bt5/erp5_legacy_tax_system/bt/template_extension_id_list        | 0
 bt5/erp5_legacy_tax_system/bt/template_local_role_list          | 0
 bt5/erp5_legacy_tax_system/bt/template_local_roles_list         | 0
 bt5/erp5_legacy_tax_system/bt/template_message_translation_list | 0
 bt5/erp5_legacy_tax_system/bt/template_module_id_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_legacy_tax_system/bt/template_portal_type_role_list    | 0
 bt5/erp5_legacy_tax_system/bt/template_portal_type_roles_list   | 0
 bt5/erp5_legacy_tax_system/bt/template_preference_list          | 0
 bt5/erp5_legacy_tax_system/bt/template_product_id_list          | 0
 bt5/erp5_legacy_tax_system/bt/template_property_sheet_id_list   | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_legacy_tax_system/bt/template_role_list                | 0
 bt5/erp5_legacy_tax_system/bt/template_site_property_id_list    | 0
 bt5/erp5_legacy_tax_system/bt/template_test_id_list             | 0
 bt5/erp5_legacy_tax_system/bt/template_tool_id_list             | 0
 bt5/erp5_mobile/bt/categories_list                              | 0
 bt5/erp5_mobile/bt/comment                                      | 0
 bt5/erp5_mobile/bt/dependency_list                              | 0
 bt5/erp5_mobile/bt/provision_list                               | 0
 bt5/erp5_mobile/bt/revision                                     | 2 +-
 bt5/erp5_mobile/bt/template_action_path_list                    | 0
 bt5/erp5_mobile/bt/template_base_category_list                  | 0
 bt5/erp5_mobile/bt/template_catalog_datetime_key_list           | 0
 bt5/erp5_mobile/bt/template_catalog_full_text_key_list          | 0
 bt5/erp5_mobile/bt/template_catalog_keyword_key_list            | 0
 bt5/erp5_mobile/bt/template_catalog_local_role_key_list         | 0
 bt5/erp5_mobile/bt/template_catalog_method_id_list              | 0
 bt5/erp5_mobile/bt/template_catalog_multivalue_key_list         | 0
 bt5/erp5_mobile/bt/template_catalog_related_key_list            | 0
 bt5/erp5_mobile/bt/template_catalog_request_key_list            | 0
 bt5/erp5_mobile/bt/template_catalog_result_key_list             | 0
 bt5/erp5_mobile/bt/template_catalog_result_table_list           | 0
 bt5/erp5_mobile/bt/template_catalog_role_key_list               | 0
 bt5/erp5_mobile/bt/template_catalog_scriptable_key_list         | 0
 bt5/erp5_mobile/bt/template_catalog_topic_key_list              | 0
 bt5/erp5_mobile/bt/template_constraint_id_list                  | 0
 bt5/erp5_mobile/bt/template_document_id_list                    | 0
 bt5/erp5_mobile/bt/template_local_roles_list                    | 0
 bt5/erp5_mobile/bt/template_message_translation_list            | 0
 bt5/erp5_mobile/bt/template_module_id_list                      | 0
 bt5/erp5_mobile/bt/template_path_list                           | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_mobile/bt/template_portal_type_base_category_list      | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_mobile/bt/template_portal_type_id_list                 | 0
 bt5/erp5_mobile/bt/template_portal_type_property_sheet_list     | 0
 bt5/erp5_mobile/bt/template_portal_type_roles_list              | 0
 bt5/erp5_mobile/bt/template_portal_type_workflow_chain_list     | 0
 bt5/erp5_mobile/bt/template_preference_list                     | 0
 bt5/erp5_mobile/bt/template_product_id_list                     | 0
 bt5/erp5_mobile/bt/template_property_sheet_id_list              | 0
 bt5/erp5_mobile/bt/template_role_list                           | 0
 bt5/erp5_mobile/bt/template_site_property_id_list               | 0
 bt5/erp5_mobile/bt/template_test_id_list                        | 0
 bt5/erp5_mobile/bt/template_tool_id_list                        | 0
 bt5/erp5_mobile/bt/template_workflow_id_list                    | 0
 bt5/erp5_mobile_ui_test/bt/categories_list                      | 0
 bt5/erp5_mobile_ui_test/bt/comment                              | 0
 bt5/erp5_mobile_ui_test/bt/provision_list                       | 0
 bt5/erp5_mobile_ui_test/bt/revision                             | 2 +-
 bt5/erp5_mobile_ui_test/bt/template_action_path_list            | 0
 bt5/erp5_mobile_ui_test/bt/template_base_category_list          | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_datetime_key_list   | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_full_text_key_list  | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_keyword_key_list    | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_local_role_key_list | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_method_id_list      | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_multivalue_key_list | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_related_key_list    | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_request_key_list    | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_result_key_list     | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_result_table_list   | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_role_key_list       | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_scriptable_key_list | 0
 bt5/erp5_mobile_ui_test/bt/template_catalog_topic_key_list      | 0
 bt5/erp5_mobile_ui_test/bt/template_constraint_id_list          | 0
 bt5/erp5_mobile_ui_test/bt/template_document_id_list            | 0
 bt5/erp5_mobile_ui_test/bt/template_extension_id_list           | 0
 bt5/erp5_mobile_ui_test/bt/template_local_roles_list            | 0
 bt5/erp5_mobile_ui_test/bt/template_message_translation_list    | 0
 bt5/erp5_mobile_ui_test/bt/template_module_id_list              | 0
 bt5/erp5_mobile_ui_test/bt/template_path_list                   | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_mobile_ui_test/bt/template_portal_type_id_list         | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_mobile_ui_test/bt/template_portal_type_roles_list      | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_mobile_ui_test/bt/template_preference_list             | 0
 bt5/erp5_mobile_ui_test/bt/template_product_id_list             | 0
 bt5/erp5_mobile_ui_test/bt/template_property_sheet_id_list      | 0
 bt5/erp5_mobile_ui_test/bt/template_role_list                   | 0
 bt5/erp5_mobile_ui_test/bt/template_site_property_id_list       | 0
 bt5/erp5_mobile_ui_test/bt/template_tool_id_list                | 0
 bt5/erp5_mobile_ui_test/bt/template_workflow_id_list            | 0
 bt5/erp5_mrp/bt/categories_list                                 | 0
 bt5/erp5_mrp/bt/provision_list                                  | 0
 bt5/erp5_mrp/bt/revision                                        | 2 +-
 bt5/erp5_mrp/bt/template_base_category_list                     | 0
 bt5/erp5_mrp/bt/template_catalog_datetime_key_list              | 0
 bt5/erp5_mrp/bt/template_catalog_full_text_key_list             | 0
 bt5/erp5_mrp/bt/template_catalog_keyword_key_list               | 0
 bt5/erp5_mrp/bt/template_catalog_local_role_key_list            | 0
 bt5/erp5_mrp/bt/template_catalog_method_id_list                 | 0
 bt5/erp5_mrp/bt/template_catalog_multivalue_key_list            | 0
 bt5/erp5_mrp/bt/template_catalog_related_key_list               | 0
 bt5/erp5_mrp/bt/template_catalog_request_key_list               | 0
 bt5/erp5_mrp/bt/template_catalog_result_key_list                | 0
 bt5/erp5_mrp/bt/template_catalog_result_table_list              | 0
 bt5/erp5_mrp/bt/template_catalog_role_key_list                  | 0
 bt5/erp5_mrp/bt/template_catalog_scriptable_key_list            | 0
 bt5/erp5_mrp/bt/template_catalog_topic_key_list                 | 0
 bt5/erp5_mrp/bt/template_constraint_id_list                     | 0
 bt5/erp5_mrp/bt/template_document_id_list                       | 0
 bt5/erp5_mrp/bt/template_extension_id_list                      | 0
 bt5/erp5_mrp/bt/template_local_role_list                        | 0
 bt5/erp5_mrp/bt/template_local_roles_list                       | 0
 bt5/erp5_mrp/bt/template_message_translation_list               | 0
 bt5/erp5_mrp/bt/template_portal_type_property_sheet_list        | 0
 bt5/erp5_mrp/bt/template_portal_type_role_list                  | 0
 bt5/erp5_mrp/bt/template_portal_type_roles_list                 | 0
 bt5/erp5_mrp/bt/template_preference_list                        | 0
 bt5/erp5_mrp/bt/template_product_id_list                        | 0
 bt5/erp5_mrp/bt/template_property_sheet_id_list                 | 0
 bt5/erp5_mrp/bt/template_registered_skin_selection_list         | 0
 bt5/erp5_mrp/bt/template_role_list                              | 0
 bt5/erp5_mrp/bt/template_site_property_id_list                  | 0
 bt5/erp5_mrp/bt/template_test_id_list                           | 0
 bt5/erp5_mrp/bt/template_tool_id_list                           | 0
 bt5/erp5_ods_style/bt/categories_list                           | 0
 bt5/erp5_ods_style/bt/comment                                   | 0
 bt5/erp5_ods_style/bt/provision_list                            | 0
 bt5/erp5_ods_style/bt/revision                                  | 2 +-
 bt5/erp5_ods_style/bt/template_base_category_list               | 0
 bt5/erp5_ods_style/bt/template_catalog_datetime_key_list        | 0
 bt5/erp5_ods_style/bt/template_catalog_full_text_key_list       | 0
 bt5/erp5_ods_style/bt/template_catalog_keyword_key_list         | 0
 bt5/erp5_ods_style/bt/template_catalog_local_role_key_list      | 0
 bt5/erp5_ods_style/bt/template_catalog_method_id_list           | 0
 bt5/erp5_ods_style/bt/template_catalog_multivalue_key_list      | 0
 bt5/erp5_ods_style/bt/template_catalog_related_key_list         | 0
 bt5/erp5_ods_style/bt/template_catalog_request_key_list         | 0
 bt5/erp5_ods_style/bt/template_catalog_result_key_list          | 0
 bt5/erp5_ods_style/bt/template_catalog_result_table_list        | 0
 bt5/erp5_ods_style/bt/template_catalog_role_key_list            | 0
 bt5/erp5_ods_style/bt/template_catalog_scriptable_key_list      | 0
 bt5/erp5_ods_style/bt/template_catalog_topic_key_list           | 0
 bt5/erp5_ods_style/bt/template_constraint_id_list               | 0
 bt5/erp5_ods_style/bt/template_document_id_list                 | 0
 bt5/erp5_ods_style/bt/template_extension_id_list                | 0
 bt5/erp5_ods_style/bt/template_local_role_list                  | 0
 bt5/erp5_ods_style/bt/template_local_roles_list                 | 0
 bt5/erp5_ods_style/bt/template_message_translation_list         | 0
 bt5/erp5_ods_style/bt/template_module_id_list                   | 0
 bt5/erp5_ods_style/bt/template_path_list                        | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_ods_style/bt/template_portal_type_base_category_list   | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_ods_style/bt/template_portal_type_id_list              | 0
 bt5/erp5_ods_style/bt/template_portal_type_property_sheet_list  | 0
 bt5/erp5_ods_style/bt/template_portal_type_role_list            | 0
 bt5/erp5_ods_style/bt/template_portal_type_roles_list           | 0
 bt5/erp5_ods_style/bt/template_portal_type_workflow_chain_list  | 0
 bt5/erp5_ods_style/bt/template_preference_list                  | 0
 bt5/erp5_ods_style/bt/template_product_id_list                  | 0
 bt5/erp5_ods_style/bt/template_property_sheet_id_list           | 0
 bt5/erp5_ods_style/bt/template_role_list                        | 0
 bt5/erp5_ods_style/bt/template_site_property_id_list            | 0
 bt5/erp5_ods_style/bt/template_test_id_list                     | 0
 bt5/erp5_ods_style/bt/template_tool_id_list                     | 0
 bt5/erp5_ods_style/bt/template_workflow_id_list                 | 0
 bt5/erp5_odt_style/bt/categories_list                           | 0
 bt5/erp5_odt_style/bt/comment                                   | 0
 bt5/erp5_odt_style/bt/provision_list                            | 0
 bt5/erp5_odt_style/bt/revision                                  | 2 +-
 bt5/erp5_odt_style/bt/template_base_category_list               | 0
 bt5/erp5_odt_style/bt/template_catalog_datetime_key_list        | 0
 bt5/erp5_odt_style/bt/template_catalog_full_text_key_list       | 0
 bt5/erp5_odt_style/bt/template_catalog_keyword_key_list         | 0
 bt5/erp5_odt_style/bt/template_catalog_local_role_key_list      | 0
 bt5/erp5_odt_style/bt/template_catalog_method_id_list           | 0
 bt5/erp5_odt_style/bt/template_catalog_multivalue_key_list      | 0
 bt5/erp5_odt_style/bt/template_catalog_related_key_list         | 0
 bt5/erp5_odt_style/bt/template_catalog_request_key_list         | 0
 bt5/erp5_odt_style/bt/template_catalog_result_key_list          | 0
 bt5/erp5_odt_style/bt/template_catalog_result_table_list        | 0
 bt5/erp5_odt_style/bt/template_catalog_role_key_list            | 0
 bt5/erp5_odt_style/bt/template_catalog_scriptable_key_list      | 0
 bt5/erp5_odt_style/bt/template_catalog_topic_key_list           | 0
 bt5/erp5_odt_style/bt/template_constraint_id_list               | 0
 bt5/erp5_odt_style/bt/template_document_id_list                 | 0
 bt5/erp5_odt_style/bt/template_extension_id_list                | 0
 bt5/erp5_odt_style/bt/template_local_role_list                  | 0
 bt5/erp5_odt_style/bt/template_local_roles_list                 | 0
 bt5/erp5_odt_style/bt/template_message_translation_list         | 0
 bt5/erp5_odt_style/bt/template_module_id_list                   | 0
 bt5/erp5_odt_style/bt/template_path_list                        | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_odt_style/bt/template_portal_type_base_category_list   | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_odt_style/bt/template_portal_type_id_list              | 0
 bt5/erp5_odt_style/bt/template_portal_type_property_sheet_list  | 0
 bt5/erp5_odt_style/bt/template_portal_type_role_list            | 0
 bt5/erp5_odt_style/bt/template_portal_type_roles_list           | 0
 bt5/erp5_odt_style/bt/template_portal_type_workflow_chain_list  | 0
 bt5/erp5_odt_style/bt/template_preference_list                  | 0
 bt5/erp5_odt_style/bt/template_product_id_list                  | 0
 bt5/erp5_odt_style/bt/template_property_sheet_id_list           | 0
 bt5/erp5_odt_style/bt/template_role_list                        | 0
 bt5/erp5_odt_style/bt/template_site_property_id_list            | 0
 bt5/erp5_odt_style/bt/template_test_id_list                     | 0
 bt5/erp5_odt_style/bt/template_tool_id_list                     | 0
 bt5/erp5_odt_style/bt/template_workflow_id_list                 | 0
 bt5/erp5_ooo_import/bt/categories_list                          | 0
 bt5/erp5_ooo_import/bt/comment                                  | 0
 bt5/erp5_ooo_import/bt/dependency_list                          | 0
 bt5/erp5_ooo_import/bt/description                              | 0
 bt5/erp5_ooo_import/bt/provision_list                           | 0
 bt5/erp5_ooo_import/bt/revision                                 | 2 +-
 bt5/erp5_ooo_import/bt/template_base_category_list              | 0
 bt5/erp5_ooo_import/bt/template_catalog_datetime_key_list       | 0
 bt5/erp5_ooo_import/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_ooo_import/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_ooo_import/bt/template_catalog_local_role_key_list     | 0
 bt5/erp5_ooo_import/bt/template_catalog_method_id_list          | 0
 bt5/erp5_ooo_import/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_ooo_import/bt/template_catalog_related_key_list        | 0
 bt5/erp5_ooo_import/bt/template_catalog_request_key_list        | 0
 bt5/erp5_ooo_import/bt/template_catalog_result_key_list         | 0
 bt5/erp5_ooo_import/bt/template_catalog_result_table_list       | 0
 bt5/erp5_ooo_import/bt/template_catalog_role_key_list           | 0
 bt5/erp5_ooo_import/bt/template_catalog_scriptable_key_list     | 0
 bt5/erp5_ooo_import/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_ooo_import/bt/template_constraint_id_list              | 0
 bt5/erp5_ooo_import/bt/template_document_id_list                | 0
 bt5/erp5_ooo_import/bt/template_extension_id_list               | 0
 bt5/erp5_ooo_import/bt/template_local_role_list                 | 0
 bt5/erp5_ooo_import/bt/template_local_roles_list                | 0
 bt5/erp5_ooo_import/bt/template_message_translation_list        | 0
 bt5/erp5_ooo_import/bt/template_module_id_list                  | 0
 bt5/erp5_ooo_import/bt/template_path_list                       | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_ooo_import/bt/template_portal_type_base_category_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_ooo_import/bt/template_portal_type_id_list             | 0
 bt5/erp5_ooo_import/bt/template_portal_type_property_sheet_list | 0
 bt5/erp5_ooo_import/bt/template_portal_type_role_list           | 0
 bt5/erp5_ooo_import/bt/template_portal_type_roles_list          | 0
 bt5/erp5_ooo_import/bt/template_portal_type_workflow_chain_list | 0
 bt5/erp5_ooo_import/bt/template_preference_list                 | 0
 bt5/erp5_ooo_import/bt/template_product_id_list                 | 0
 bt5/erp5_ooo_import/bt/template_property_sheet_id_list          | 0
 bt5/erp5_ooo_import/bt/template_registered_skin_selection_list  | 0
 bt5/erp5_ooo_import/bt/template_role_list                       | 0
 bt5/erp5_ooo_import/bt/template_site_property_id_list           | 0
 bt5/erp5_ooo_import/bt/template_test_id_list                    | 0
 bt5/erp5_ooo_import/bt/template_tool_id_list                    | 0
 bt5/erp5_ooo_import/bt/template_workflow_id_list                | 0
 bt5/erp5_open_trade/bt/categories_list                          | 0
 bt5/erp5_open_trade/bt/copyright_list                           | 0
 bt5/erp5_open_trade/bt/dependency_list                          | 0
 bt5/erp5_open_trade/bt/provision_list                           | 0
 bt5/erp5_open_trade/bt/revision                                 | 2 +-
 bt5/erp5_open_trade/bt/template_base_category_list              | 0
 bt5/erp5_open_trade/bt/template_catalog_datetime_key_list       | 0
 bt5/erp5_open_trade/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_open_trade/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_open_trade/bt/template_catalog_local_role_key_list     | 0
 bt5/erp5_open_trade/bt/template_catalog_method_id_list          | 0
 bt5/erp5_open_trade/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_open_trade/bt/template_catalog_related_key_list        | 0
 bt5/erp5_open_trade/bt/template_catalog_request_key_list        | 0
 bt5/erp5_open_trade/bt/template_catalog_result_key_list         | 0
 bt5/erp5_open_trade/bt/template_catalog_result_table_list       | 0
 bt5/erp5_open_trade/bt/template_catalog_role_key_list           | 0
 bt5/erp5_open_trade/bt/template_catalog_scriptable_key_list     | 0
 bt5/erp5_open_trade/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_open_trade/bt/template_constraint_id_list              | 0
 bt5/erp5_open_trade/bt/template_document_id_list                | 0
 bt5/erp5_open_trade/bt/template_extension_id_list               | 0
 bt5/erp5_open_trade/bt/template_local_role_list                 | 0
 bt5/erp5_open_trade/bt/template_local_roles_list                | 0
 bt5/erp5_open_trade/bt/template_message_translation_list        | 0
 bt5/erp5_open_trade/bt/template_portal_type_base_category_list  | 0
 bt5/erp5_open_trade/bt/template_portal_type_role_list           | 0
 bt5/erp5_open_trade/bt/template_portal_type_roles_list          | 0
 bt5/erp5_open_trade/bt/template_preference_list                 | 0
 bt5/erp5_open_trade/bt/template_product_id_list                 | 0
 bt5/erp5_open_trade/bt/template_property_sheet_id_list          | 0
 bt5/erp5_open_trade/bt/template_registered_skin_selection_list  | 0
 bt5/erp5_open_trade/bt/template_role_list                       | 0
 bt5/erp5_open_trade/bt/template_site_property_id_list           | 0
 bt5/erp5_open_trade/bt/template_test_id_list                    | 0
 bt5/erp5_open_trade/bt/template_tool_id_list                    | 0
 bt5/erp5_open_trade_legacy_tax_system/bt/categories_list        | 0
 bt5/erp5_open_trade_legacy_tax_system/bt/comment                | 0
 bt5/erp5_open_trade_legacy_tax_system/bt/copyright_list         | 0
 bt5/erp5_open_trade_legacy_tax_system/bt/maintainer_list        | 0
 bt5/erp5_open_trade_legacy_tax_system/bt/provision_list         | 0
 bt5/erp5_open_trade_legacy_tax_system/bt/revision               | 2 +-
 .../bt/template_base_category_list                              | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 .../bt/template_constraint_id_list                              | 0
 .../bt/template_document_id_list                                | 0
 .../bt/template_extension_id_list                               | 0
 .../bt/template_local_role_list                                 | 0
 .../bt/template_local_roles_list                                | 0
 .../bt/template_message_translation_list                        | 0
 .../bt/template_module_id_list                                  | 0
 bt5/erp5_open_trade_legacy_tax_system/bt/template_path_list     | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_id_list                             | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_role_list                           | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_preference_list                                 | 0
 .../bt/template_product_id_list                                 | 0
 .../bt/template_property_sheet_id_list                          | 0
 bt5/erp5_open_trade_legacy_tax_system/bt/template_role_list     | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_open_trade_legacy_tax_system/bt/template_skin_id_list  | 0
 bt5/erp5_open_trade_legacy_tax_system/bt/template_test_id_list  | 0
 bt5/erp5_open_trade_legacy_tax_system/bt/template_tool_id_list  | 0
 .../bt/template_workflow_id_list                                | 0
 bt5/erp5_payroll/bt/categories_list                             | 0
 bt5/erp5_payroll/bt/provision_list                              | 0
 bt5/erp5_payroll/bt/revision                                    | 2 +-
 bt5/erp5_payroll/bt/template_catalog_datetime_key_list          | 0
 bt5/erp5_payroll/bt/template_catalog_full_text_key_list         | 0
 bt5/erp5_payroll/bt/template_catalog_keyword_key_list           | 0
 bt5/erp5_payroll/bt/template_catalog_local_role_key_list        | 0
 bt5/erp5_payroll/bt/template_catalog_multivalue_key_list        | 0
 bt5/erp5_payroll/bt/template_catalog_request_key_list           | 0
 bt5/erp5_payroll/bt/template_catalog_result_key_list            | 0
 bt5/erp5_payroll/bt/template_catalog_result_table_list          | 0
 bt5/erp5_payroll/bt/template_catalog_role_key_list              | 0
 bt5/erp5_payroll/bt/template_catalog_scriptable_key_list        | 0
 bt5/erp5_payroll/bt/template_catalog_topic_key_list             | 0
 bt5/erp5_payroll/bt/template_constraint_id_list                 | 0
 bt5/erp5_payroll/bt/template_document_id_list                   | 0
 bt5/erp5_payroll/bt/template_extension_id_list                  | 0
 bt5/erp5_payroll/bt/template_local_role_list                    | 0
 bt5/erp5_payroll/bt/template_local_roles_list                   | 0
 bt5/erp5_payroll/bt/template_message_translation_list           | 0
 bt5/erp5_payroll/bt/template_portal_type_role_list              | 0
 bt5/erp5_payroll/bt/template_portal_type_roles_list             | 0
 bt5/erp5_payroll/bt/template_preference_list                    | 0
 bt5/erp5_payroll/bt/template_product_id_list                    | 0
 bt5/erp5_payroll/bt/template_property_sheet_id_list             | 0
 bt5/erp5_payroll/bt/template_registered_skin_selection_list     | 0
 bt5/erp5_payroll/bt/template_role_list                          | 0
 bt5/erp5_payroll/bt/template_site_property_id_list              | 0
 bt5/erp5_payroll/bt/template_test_id_list                       | 0
 bt5/erp5_payroll/bt/template_tool_id_list                       | 0
 bt5/erp5_payroll_l10n_fr/bt/categories_list                     | 0
 bt5/erp5_payroll_l10n_fr/bt/comment                             | 0
 bt5/erp5_payroll_l10n_fr/bt/provision_list                      | 0
 bt5/erp5_payroll_l10n_fr/bt/revision                            | 2 +-
 bt5/erp5_payroll_l10n_fr/bt/template_action_path_list           | 0
 bt5/erp5_payroll_l10n_fr/bt/template_base_category_list         | 0
 bt5/erp5_payroll_l10n_fr/bt/template_catalog_datetime_key_list  | 0
 bt5/erp5_payroll_l10n_fr/bt/template_catalog_full_text_key_list | 0
 bt5/erp5_payroll_l10n_fr/bt/template_catalog_keyword_key_list   | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_payroll_l10n_fr/bt/template_catalog_method_id_list     | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 bt5/erp5_payroll_l10n_fr/bt/template_catalog_related_key_list   | 0
 bt5/erp5_payroll_l10n_fr/bt/template_catalog_request_key_list   | 0
 bt5/erp5_payroll_l10n_fr/bt/template_catalog_result_key_list    | 0
 bt5/erp5_payroll_l10n_fr/bt/template_catalog_result_table_list  | 0
 bt5/erp5_payroll_l10n_fr/bt/template_catalog_role_key_list      | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_payroll_l10n_fr/bt/template_catalog_topic_key_list     | 0
 bt5/erp5_payroll_l10n_fr/bt/template_constraint_id_list         | 0
 bt5/erp5_payroll_l10n_fr/bt/template_document_id_list           | 0
 bt5/erp5_payroll_l10n_fr/bt/template_extension_id_list          | 0
 bt5/erp5_payroll_l10n_fr/bt/template_local_role_list            | 0
 bt5/erp5_payroll_l10n_fr/bt/template_local_roles_list           | 0
 bt5/erp5_payroll_l10n_fr/bt/template_message_translation_list   | 0
 bt5/erp5_payroll_l10n_fr/bt/template_module_id_list             | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_payroll_l10n_fr/bt/template_portal_type_id_list        | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_payroll_l10n_fr/bt/template_portal_type_role_list      | 0
 bt5/erp5_payroll_l10n_fr/bt/template_portal_type_roles_list     | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_payroll_l10n_fr/bt/template_preference_list            | 0
 bt5/erp5_payroll_l10n_fr/bt/template_product_id_list            | 0
 bt5/erp5_payroll_l10n_fr/bt/template_property_sheet_id_list     | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_payroll_l10n_fr/bt/template_role_list                  | 0
 bt5/erp5_payroll_l10n_fr/bt/template_site_property_id_list      | 0
 bt5/erp5_payroll_l10n_fr/bt/template_test_id_list               | 0
 bt5/erp5_payroll_l10n_fr/bt/template_tool_id_list               | 0
 bt5/erp5_payroll_l10n_fr/bt/template_workflow_id_list           | 0
 bt5/erp5_payroll_l10n_jp/bt/categories_list                     | 0
 bt5/erp5_payroll_l10n_jp/bt/comment                             | 0
 bt5/erp5_payroll_l10n_jp/bt/provision_list                      | 0
 bt5/erp5_payroll_l10n_jp/bt/revision                            | 2 +-
 bt5/erp5_payroll_l10n_jp/bt/template_action_path_list           | 0
 bt5/erp5_payroll_l10n_jp/bt/template_base_category_list         | 0
 bt5/erp5_payroll_l10n_jp/bt/template_catalog_datetime_key_list  | 0
 bt5/erp5_payroll_l10n_jp/bt/template_catalog_full_text_key_list | 0
 bt5/erp5_payroll_l10n_jp/bt/template_catalog_keyword_key_list   | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_payroll_l10n_jp/bt/template_catalog_method_id_list     | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 bt5/erp5_payroll_l10n_jp/bt/template_catalog_related_key_list   | 0
 bt5/erp5_payroll_l10n_jp/bt/template_catalog_request_key_list   | 0
 bt5/erp5_payroll_l10n_jp/bt/template_catalog_result_key_list    | 0
 bt5/erp5_payroll_l10n_jp/bt/template_catalog_result_table_list  | 0
 bt5/erp5_payroll_l10n_jp/bt/template_catalog_role_key_list      | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_payroll_l10n_jp/bt/template_catalog_topic_key_list     | 0
 bt5/erp5_payroll_l10n_jp/bt/template_constraint_id_list         | 0
 bt5/erp5_payroll_l10n_jp/bt/template_document_id_list           | 0
 bt5/erp5_payroll_l10n_jp/bt/template_extension_id_list          | 0
 bt5/erp5_payroll_l10n_jp/bt/template_local_role_list            | 0
 bt5/erp5_payroll_l10n_jp/bt/template_local_roles_list           | 0
 bt5/erp5_payroll_l10n_jp/bt/template_message_translation_list   | 0
 bt5/erp5_payroll_l10n_jp/bt/template_module_id_list             | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_payroll_l10n_jp/bt/template_portal_type_id_list        | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_payroll_l10n_jp/bt/template_portal_type_role_list      | 0
 bt5/erp5_payroll_l10n_jp/bt/template_portal_type_roles_list     | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_payroll_l10n_jp/bt/template_preference_list            | 0
 bt5/erp5_payroll_l10n_jp/bt/template_product_id_list            | 0
 bt5/erp5_payroll_l10n_jp/bt/template_property_sheet_id_list     | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_payroll_l10n_jp/bt/template_role_list                  | 0
 bt5/erp5_payroll_l10n_jp/bt/template_site_property_id_list      | 0
 bt5/erp5_payroll_l10n_jp/bt/template_test_id_list               | 0
 bt5/erp5_payroll_l10n_jp/bt/template_tool_id_list               | 0
 bt5/erp5_payroll_l10n_jp/bt/template_workflow_id_list           | 0
 bt5/erp5_payroll_ui_test/bt/categories_list                     | 0
 bt5/erp5_payroll_ui_test/bt/provision_list                      | 0
 bt5/erp5_payroll_ui_test/bt/revision                            | 2 +-
 bt5/erp5_payroll_ui_test/bt/template_action_path_list           | 0
 bt5/erp5_payroll_ui_test/bt/template_base_category_list         | 0
 bt5/erp5_payroll_ui_test/bt/template_catalog_full_text_key_list | 0
 bt5/erp5_payroll_ui_test/bt/template_catalog_keyword_key_list   | 0
 bt5/erp5_payroll_ui_test/bt/template_catalog_method_id_list     | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 bt5/erp5_payroll_ui_test/bt/template_catalog_related_key_list   | 0
 bt5/erp5_payroll_ui_test/bt/template_catalog_request_key_list   | 0
 bt5/erp5_payroll_ui_test/bt/template_catalog_result_key_list    | 0
 bt5/erp5_payroll_ui_test/bt/template_catalog_result_table_list  | 0
 bt5/erp5_payroll_ui_test/bt/template_catalog_topic_key_list     | 0
 bt5/erp5_payroll_ui_test/bt/template_constraint_id_list         | 0
 bt5/erp5_payroll_ui_test/bt/template_document_id_list           | 0
 bt5/erp5_payroll_ui_test/bt/template_extension_id_list          | 0
 bt5/erp5_payroll_ui_test/bt/template_local_roles_list           | 0
 bt5/erp5_payroll_ui_test/bt/template_message_translation_list   | 0
 bt5/erp5_payroll_ui_test/bt/template_module_id_list             | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_payroll_ui_test/bt/template_portal_type_id_list        | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_payroll_ui_test/bt/template_portal_type_roles_list     | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_payroll_ui_test/bt/template_preference_list            | 0
 bt5/erp5_payroll_ui_test/bt/template_product_id_list            | 0
 bt5/erp5_payroll_ui_test/bt/template_property_sheet_id_list     | 0
 bt5/erp5_payroll_ui_test/bt/template_role_list                  | 0
 bt5/erp5_payroll_ui_test/bt/template_site_property_id_list      | 0
 bt5/erp5_payroll_ui_test/bt/template_skin_id_list               | 0
 bt5/erp5_payroll_ui_test/bt/template_test_id_list               | 0
 bt5/erp5_payroll_ui_test/bt/template_workflow_id_list           | 0
 bt5/erp5_pdf_editor/bt/categories_list                          | 0
 bt5/erp5_pdf_editor/bt/comment                                  | 0
 bt5/erp5_pdf_editor/bt/provision_list                           | 0
 bt5/erp5_pdf_editor/bt/revision                                 | 2 +-
 bt5/erp5_pdf_editor/bt/template_base_category_list              | 0
 bt5/erp5_pdf_editor/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_pdf_editor/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_pdf_editor/bt/template_catalog_method_id_list          | 0
 bt5/erp5_pdf_editor/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_pdf_editor/bt/template_catalog_related_key_list        | 0
 bt5/erp5_pdf_editor/bt/template_catalog_request_key_list        | 0
 bt5/erp5_pdf_editor/bt/template_catalog_result_key_list         | 0
 bt5/erp5_pdf_editor/bt/template_catalog_result_table_list       | 0
 bt5/erp5_pdf_editor/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_pdf_editor/bt/template_constraint_id_list              | 0
 bt5/erp5_pdf_editor/bt/template_document_id_list                | 0
 bt5/erp5_pdf_editor/bt/template_extension_id_list               | 0
 bt5/erp5_pdf_editor/bt/template_local_roles_list                | 0
 bt5/erp5_pdf_editor/bt/template_message_translation_list        | 0
 bt5/erp5_pdf_editor/bt/template_module_id_list                  | 0
 bt5/erp5_pdf_editor/bt/template_path_list                       | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_pdf_editor/bt/template_portal_type_base_category_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_pdf_editor/bt/template_portal_type_id_list             | 0
 bt5/erp5_pdf_editor/bt/template_portal_type_property_sheet_list | 0
 bt5/erp5_pdf_editor/bt/template_portal_type_roles_list          | 0
 bt5/erp5_pdf_editor/bt/template_portal_type_workflow_chain_list | 0
 bt5/erp5_pdf_editor/bt/template_preference_list                 | 0
 bt5/erp5_pdf_editor/bt/template_product_id_list                 | 0
 bt5/erp5_pdf_editor/bt/template_property_sheet_id_list          | 0
 bt5/erp5_pdf_editor/bt/template_role_list                       | 0
 bt5/erp5_pdf_editor/bt/template_site_property_id_list           | 0
 bt5/erp5_pdf_editor/bt/template_test_id_list                    | 0
 bt5/erp5_pdf_editor/bt/template_tool_id_list                    | 0
 bt5/erp5_pdf_editor/bt/template_workflow_id_list                | 0
 bt5/erp5_pdf_style/bt/categories_list                           | 0
 bt5/erp5_pdf_style/bt/comment                                   | 0
 bt5/erp5_pdf_style/bt/dependency_list                           | 0
 bt5/erp5_pdf_style/bt/provision_list                            | 0
 bt5/erp5_pdf_style/bt/revision                                  | 2 +-
 bt5/erp5_pdf_style/bt/template_base_category_list               | 0
 bt5/erp5_pdf_style/bt/template_catalog_datetime_key_list        | 0
 bt5/erp5_pdf_style/bt/template_catalog_full_text_key_list       | 0
 bt5/erp5_pdf_style/bt/template_catalog_keyword_key_list         | 0
 bt5/erp5_pdf_style/bt/template_catalog_local_role_key_list      | 0
 bt5/erp5_pdf_style/bt/template_catalog_method_id_list           | 0
 bt5/erp5_pdf_style/bt/template_catalog_multivalue_key_list      | 0
 bt5/erp5_pdf_style/bt/template_catalog_related_key_list         | 0
 bt5/erp5_pdf_style/bt/template_catalog_request_key_list         | 0
 bt5/erp5_pdf_style/bt/template_catalog_result_key_list          | 0
 bt5/erp5_pdf_style/bt/template_catalog_result_table_list        | 0
 bt5/erp5_pdf_style/bt/template_catalog_role_key_list            | 0
 bt5/erp5_pdf_style/bt/template_catalog_scriptable_key_list      | 0
 bt5/erp5_pdf_style/bt/template_catalog_topic_key_list           | 0
 bt5/erp5_pdf_style/bt/template_constraint_id_list               | 0
 bt5/erp5_pdf_style/bt/template_document_id_list                 | 0
 bt5/erp5_pdf_style/bt/template_extension_id_list                | 0
 bt5/erp5_pdf_style/bt/template_local_roles_list                 | 0
 bt5/erp5_pdf_style/bt/template_message_translation_list         | 0
 bt5/erp5_pdf_style/bt/template_module_id_list                   | 0
 bt5/erp5_pdf_style/bt/template_path_list                        | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_pdf_style/bt/template_portal_type_base_category_list   | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_pdf_style/bt/template_portal_type_id_list              | 0
 bt5/erp5_pdf_style/bt/template_portal_type_property_sheet_list  | 0
 bt5/erp5_pdf_style/bt/template_portal_type_roles_list           | 0
 bt5/erp5_pdf_style/bt/template_portal_type_workflow_chain_list  | 0
 bt5/erp5_pdf_style/bt/template_preference_list                  | 0
 bt5/erp5_pdf_style/bt/template_product_id_list                  | 0
 bt5/erp5_pdf_style/bt/template_property_sheet_id_list           | 0
 bt5/erp5_pdf_style/bt/template_role_list                        | 0
 bt5/erp5_pdf_style/bt/template_site_property_id_list            | 0
 bt5/erp5_pdf_style/bt/template_test_id_list                     | 0
 bt5/erp5_pdf_style/bt/template_tool_id_list                     | 0
 bt5/erp5_pdf_style/bt/template_workflow_id_list                 | 0
 bt5/erp5_pdm/bt/categories_list                                 | 0
 bt5/erp5_pdm/bt/provision_list                                  | 0
 bt5/erp5_pdm/bt/revision                                        | 2 +-
 bt5/erp5_pdm/bt/template_catalog_datetime_key_list              | 0
 bt5/erp5_pdm/bt/template_catalog_full_text_key_list             | 0
 bt5/erp5_pdm/bt/template_catalog_keyword_key_list               | 0
 bt5/erp5_pdm/bt/template_catalog_local_role_key_list            | 0
 bt5/erp5_pdm/bt/template_catalog_method_id_list                 | 0
 bt5/erp5_pdm/bt/template_catalog_multivalue_key_list            | 0
 bt5/erp5_pdm/bt/template_catalog_related_key_list               | 0
 bt5/erp5_pdm/bt/template_catalog_request_key_list               | 0
 bt5/erp5_pdm/bt/template_catalog_result_key_list                | 0
 bt5/erp5_pdm/bt/template_catalog_result_table_list              | 0
 bt5/erp5_pdm/bt/template_catalog_role_key_list                  | 0
 bt5/erp5_pdm/bt/template_catalog_scriptable_key_list            | 0
 bt5/erp5_pdm/bt/template_catalog_topic_key_list                 | 0
 bt5/erp5_pdm/bt/template_constraint_id_list                     | 0
 bt5/erp5_pdm/bt/template_document_id_list                       | 0
 bt5/erp5_pdm/bt/template_extension_id_list                      | 0
 bt5/erp5_pdm/bt/template_local_role_list                        | 0
 bt5/erp5_pdm/bt/template_local_roles_list                       | 0
 bt5/erp5_pdm/bt/template_message_translation_list               | 0
 bt5/erp5_pdm/bt/template_path_list                              | 0
 bt5/erp5_pdm/bt/template_portal_type_role_list                  | 0
 bt5/erp5_pdm/bt/template_portal_type_roles_list                 | 0
 bt5/erp5_pdm/bt/template_preference_list                        | 0
 bt5/erp5_pdm/bt/template_product_id_list                        | 0
 bt5/erp5_pdm/bt/template_property_sheet_id_list                 | 0
 bt5/erp5_pdm/bt/template_registered_skin_selection_list         | 0
 bt5/erp5_pdm/bt/template_role_list                              | 0
 bt5/erp5_pdm/bt/template_site_property_id_list                  | 0
 bt5/erp5_pdm/bt/template_test_id_list                           | 0
 bt5/erp5_pdm/bt/template_tool_id_list                           | 0
 bt5/erp5_pdm_ui_test/bt/categories_list                         | 0
 bt5/erp5_pdm_ui_test/bt/comment                                 | 0
 bt5/erp5_pdm_ui_test/bt/provision_list                          | 0
 bt5/erp5_pdm_ui_test/bt/revision                                | 2 +-
 bt5/erp5_pdm_ui_test/bt/template_action_path_list               | 0
 bt5/erp5_pdm_ui_test/bt/template_base_category_list             | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_datetime_key_list      | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_full_text_key_list     | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_keyword_key_list       | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_local_role_key_list    | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_method_id_list         | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_multivalue_key_list    | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_related_key_list       | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_request_key_list       | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_result_key_list        | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_result_table_list      | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_role_key_list          | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_scriptable_key_list    | 0
 bt5/erp5_pdm_ui_test/bt/template_catalog_topic_key_list         | 0
 bt5/erp5_pdm_ui_test/bt/template_constraint_id_list             | 0
 bt5/erp5_pdm_ui_test/bt/template_document_id_list               | 0
 bt5/erp5_pdm_ui_test/bt/template_extension_id_list              | 0
 bt5/erp5_pdm_ui_test/bt/template_local_role_list                | 0
 bt5/erp5_pdm_ui_test/bt/template_local_roles_list               | 0
 bt5/erp5_pdm_ui_test/bt/template_message_translation_list       | 0
 bt5/erp5_pdm_ui_test/bt/template_module_id_list                 | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_pdm_ui_test/bt/template_portal_type_base_category_list | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_pdm_ui_test/bt/template_portal_type_id_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_pdm_ui_test/bt/template_portal_type_role_list          | 0
 bt5/erp5_pdm_ui_test/bt/template_portal_type_roles_list         | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_pdm_ui_test/bt/template_preference_list                | 0
 bt5/erp5_pdm_ui_test/bt/template_product_id_list                | 0
 bt5/erp5_pdm_ui_test/bt/template_property_sheet_id_list         | 0
 bt5/erp5_pdm_ui_test/bt/template_registered_skin_selection_list | 0
 bt5/erp5_pdm_ui_test/bt/template_role_list                      | 0
 bt5/erp5_pdm_ui_test/bt/template_site_property_id_list          | 0
 bt5/erp5_pdm_ui_test/bt/template_test_id_list                   | 0
 bt5/erp5_pdm_ui_test/bt/template_tool_id_list                   | 0
 bt5/erp5_pdm_ui_test/bt/template_workflow_id_list               | 0
 bt5/erp5_popup_ui/bt/categories_list                            | 0
 bt5/erp5_popup_ui/bt/comment                                    | 0
 bt5/erp5_popup_ui/bt/provision_list                             | 0
 bt5/erp5_popup_ui/bt/revision                                   | 2 +-
 bt5/erp5_popup_ui/bt/template_action_path_list                  | 0
 bt5/erp5_popup_ui/bt/template_base_category_list                | 0
 bt5/erp5_popup_ui/bt/template_catalog_datetime_key_list         | 0
 bt5/erp5_popup_ui/bt/template_catalog_full_text_key_list        | 0
 bt5/erp5_popup_ui/bt/template_catalog_keyword_key_list          | 0
 bt5/erp5_popup_ui/bt/template_catalog_local_role_key_list       | 0
 bt5/erp5_popup_ui/bt/template_catalog_method_id_list            | 0
 bt5/erp5_popup_ui/bt/template_catalog_multivalue_key_list       | 0
 bt5/erp5_popup_ui/bt/template_catalog_related_key_list          | 0
 bt5/erp5_popup_ui/bt/template_catalog_request_key_list          | 0
 bt5/erp5_popup_ui/bt/template_catalog_result_key_list           | 0
 bt5/erp5_popup_ui/bt/template_catalog_result_table_list         | 0
 bt5/erp5_popup_ui/bt/template_catalog_role_key_list             | 0
 bt5/erp5_popup_ui/bt/template_catalog_scriptable_key_list       | 0
 bt5/erp5_popup_ui/bt/template_catalog_topic_key_list            | 0
 bt5/erp5_popup_ui/bt/template_constraint_id_list                | 0
 bt5/erp5_popup_ui/bt/template_document_id_list                  | 0
 bt5/erp5_popup_ui/bt/template_extension_id_list                 | 0
 bt5/erp5_popup_ui/bt/template_local_role_list                   | 0
 bt5/erp5_popup_ui/bt/template_local_roles_list                  | 0
 bt5/erp5_popup_ui/bt/template_message_translation_list          | 0
 bt5/erp5_popup_ui/bt/template_module_id_list                    | 0
 bt5/erp5_popup_ui/bt/template_path_list                         | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_popup_ui/bt/template_portal_type_base_category_list    | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_popup_ui/bt/template_portal_type_id_list               | 0
 bt5/erp5_popup_ui/bt/template_portal_type_property_sheet_list   | 0
 bt5/erp5_popup_ui/bt/template_portal_type_role_list             | 0
 bt5/erp5_popup_ui/bt/template_portal_type_roles_list            | 0
 bt5/erp5_popup_ui/bt/template_portal_type_workflow_chain_list   | 0
 bt5/erp5_popup_ui/bt/template_preference_list                   | 0
 bt5/erp5_popup_ui/bt/template_product_id_list                   | 0
 bt5/erp5_popup_ui/bt/template_property_sheet_id_list            | 0
 bt5/erp5_popup_ui/bt/template_role_list                         | 0
 bt5/erp5_popup_ui/bt/template_site_property_id_list             | 0
 bt5/erp5_popup_ui/bt/template_test_id_list                      | 0
 bt5/erp5_popup_ui/bt/template_tool_id_list                      | 0
 bt5/erp5_popup_ui/bt/template_workflow_id_list                  | 0
 bt5/erp5_project/bt/categories_list                             | 0
 bt5/erp5_project/bt/comment                                     | 0
 bt5/erp5_project/bt/provision_list                              | 0
 bt5/erp5_project/bt/revision                                    | 2 +-
 bt5/erp5_project/bt/template_catalog_datetime_key_list          | 0
 bt5/erp5_project/bt/template_catalog_full_text_key_list         | 0
 bt5/erp5_project/bt/template_catalog_keyword_key_list           | 0
 bt5/erp5_project/bt/template_catalog_local_role_key_list        | 0
 bt5/erp5_project/bt/template_catalog_multivalue_key_list        | 0
 bt5/erp5_project/bt/template_catalog_request_key_list           | 0
 bt5/erp5_project/bt/template_catalog_result_key_list            | 0
 bt5/erp5_project/bt/template_catalog_result_table_list          | 0
 bt5/erp5_project/bt/template_catalog_role_key_list              | 0
 bt5/erp5_project/bt/template_catalog_scriptable_key_list        | 0
 bt5/erp5_project/bt/template_catalog_topic_key_list             | 0
 bt5/erp5_project/bt/template_constraint_id_list                 | 0
 bt5/erp5_project/bt/template_document_id_list                   | 0
 bt5/erp5_project/bt/template_extension_id_list                  | 0
 bt5/erp5_project/bt/template_local_role_list                    | 0
 bt5/erp5_project/bt/template_local_roles_list                   | 0
 bt5/erp5_project/bt/template_message_translation_list           | 0
 bt5/erp5_project/bt/template_portal_type_role_list              | 0
 bt5/erp5_project/bt/template_portal_type_roles_list             | 0
 bt5/erp5_project/bt/template_preference_list                    | 0
 bt5/erp5_project/bt/template_product_id_list                    | 0
 bt5/erp5_project/bt/template_registered_skin_selection_list     | 0
 bt5/erp5_project/bt/template_role_list                          | 0
 bt5/erp5_project/bt/template_site_property_id_list              | 0
 bt5/erp5_project/bt/template_test_id_list                       | 0
 bt5/erp5_project/bt/template_tool_id_list                       | 0
 bt5/erp5_project_mysql_innodb_catalog/bt/categories_list        | 0
 bt5/erp5_project_mysql_innodb_catalog/bt/comment                | 0
 bt5/erp5_project_mysql_innodb_catalog/bt/dependency_list        | 0
 bt5/erp5_project_mysql_innodb_catalog/bt/revision               | 2 +-
 .../bt/template_action_path_list                                | 0
 .../bt/template_base_category_list                              | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 .../bt/template_constraint_id_list                              | 0
 .../bt/template_document_id_list                                | 0
 .../bt/template_extension_id_list                               | 0
 .../bt/template_local_role_list                                 | 0
 .../bt/template_local_roles_list                                | 0
 .../bt/template_message_translation_list                        | 0
 .../bt/template_module_id_list                                  | 0
 bt5/erp5_project_mysql_innodb_catalog/bt/template_path_list     | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_id_list                             | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_role_list                           | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 .../bt/template_preference_list                                 | 0
 .../bt/template_product_id_list                                 | 0
 .../bt/template_property_sheet_id_list                          | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_project_mysql_innodb_catalog/bt/template_role_list     | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_project_mysql_innodb_catalog/bt/template_skin_id_list  | 0
 bt5/erp5_project_mysql_innodb_catalog/bt/template_test_id_list  | 0
 bt5/erp5_project_mysql_innodb_catalog/bt/template_tool_id_list  | 0
 .../bt/template_workflow_id_list                                | 0
 bt5/erp5_project_ui_test/bt/categories_list                     | 0
 bt5/erp5_project_ui_test/bt/provision_list                      | 0
 bt5/erp5_project_ui_test/bt/revision                            | 2 +-
 bt5/erp5_project_ui_test/bt/template_action_path_list           | 0
 bt5/erp5_project_ui_test/bt/template_base_category_list         | 0
 bt5/erp5_project_ui_test/bt/template_catalog_datetime_key_list  | 0
 bt5/erp5_project_ui_test/bt/template_catalog_full_text_key_list | 0
 bt5/erp5_project_ui_test/bt/template_catalog_keyword_key_list   | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_project_ui_test/bt/template_catalog_method_id_list     | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 bt5/erp5_project_ui_test/bt/template_catalog_related_key_list   | 0
 bt5/erp5_project_ui_test/bt/template_catalog_request_key_list   | 0
 bt5/erp5_project_ui_test/bt/template_catalog_result_key_list    | 0
 bt5/erp5_project_ui_test/bt/template_catalog_result_table_list  | 0
 bt5/erp5_project_ui_test/bt/template_catalog_role_key_list      | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_project_ui_test/bt/template_catalog_topic_key_list     | 0
 bt5/erp5_project_ui_test/bt/template_constraint_id_list         | 0
 bt5/erp5_project_ui_test/bt/template_document_id_list           | 0
 bt5/erp5_project_ui_test/bt/template_extension_id_list          | 0
 bt5/erp5_project_ui_test/bt/template_local_role_list            | 0
 bt5/erp5_project_ui_test/bt/template_local_roles_list           | 0
 bt5/erp5_project_ui_test/bt/template_message_translation_list   | 0
 bt5/erp5_project_ui_test/bt/template_module_id_list             | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_project_ui_test/bt/template_portal_type_id_list        | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_project_ui_test/bt/template_portal_type_role_list      | 0
 bt5/erp5_project_ui_test/bt/template_portal_type_roles_list     | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_project_ui_test/bt/template_preference_list            | 0
 bt5/erp5_project_ui_test/bt/template_product_id_list            | 0
 bt5/erp5_project_ui_test/bt/template_property_sheet_id_list     | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_project_ui_test/bt/template_role_list                  | 0
 bt5/erp5_project_ui_test/bt/template_site_property_id_list      | 0
 bt5/erp5_project_ui_test/bt/template_test_id_list               | 0
 bt5/erp5_project_ui_test/bt/template_tool_id_list               | 0
 bt5/erp5_project_ui_test/bt/template_workflow_id_list           | 0
 bt5/erp5_public_accounting_budget/bt/categories_list            | 0
 bt5/erp5_public_accounting_budget/bt/comment                    | 0
 bt5/erp5_public_accounting_budget/bt/provision_list             | 0
 bt5/erp5_public_accounting_budget/bt/revision                   | 2 +-
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 .../bt/template_constraint_id_list                              | 0
 bt5/erp5_public_accounting_budget/bt/template_document_id_list  | 0
 bt5/erp5_public_accounting_budget/bt/template_extension_id_list | 0
 bt5/erp5_public_accounting_budget/bt/template_local_roles_list  | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_public_accounting_budget/bt/template_module_id_list    | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_id_list                             | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_public_accounting_budget/bt/template_preference_list   | 0
 bt5/erp5_public_accounting_budget/bt/template_product_id_list   | 0
 .../bt/template_property_sheet_id_list                          | 0
 bt5/erp5_public_accounting_budget/bt/template_role_list         | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_public_accounting_budget/bt/template_test_id_list      | 0
 bt5/erp5_public_accounting_budget/bt/template_tool_id_list      | 0
 bt5/erp5_public_accounting_budget/bt/template_workflow_id_list  | 0
 bt5/erp5_publication/bt/categories_list                         | 0
 bt5/erp5_publication/bt/comment                                 | 0
 bt5/erp5_publication/bt/dependency_list                         | 0
 bt5/erp5_publication/bt/provision_list                          | 0
 bt5/erp5_publication/bt/revision                                | 2 +-
 bt5/erp5_publication/bt/template_action_path_list               | 0
 bt5/erp5_publication/bt/template_base_category_list             | 0
 bt5/erp5_publication/bt/template_catalog_datetime_key_list      | 0
 bt5/erp5_publication/bt/template_catalog_full_text_key_list     | 0
 bt5/erp5_publication/bt/template_catalog_keyword_key_list       | 0
 bt5/erp5_publication/bt/template_catalog_local_role_key_list    | 0
 bt5/erp5_publication/bt/template_catalog_method_id_list         | 0
 bt5/erp5_publication/bt/template_catalog_multivalue_key_list    | 0
 bt5/erp5_publication/bt/template_catalog_related_key_list       | 0
 bt5/erp5_publication/bt/template_catalog_request_key_list       | 0
 bt5/erp5_publication/bt/template_catalog_result_key_list        | 0
 bt5/erp5_publication/bt/template_catalog_result_table_list      | 0
 bt5/erp5_publication/bt/template_catalog_role_key_list          | 0
 bt5/erp5_publication/bt/template_catalog_scriptable_key_list    | 0
 bt5/erp5_publication/bt/template_catalog_topic_key_list         | 0
 bt5/erp5_publication/bt/template_constraint_id_list             | 0
 bt5/erp5_publication/bt/template_document_id_list               | 0
 bt5/erp5_publication/bt/template_extension_id_list              | 0
 bt5/erp5_publication/bt/template_local_roles_list               | 0
 bt5/erp5_publication/bt/template_message_translation_list       | 0
 bt5/erp5_publication/bt/template_path_list                      | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_publication/bt/template_portal_type_base_category_list | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_publication/bt/template_portal_type_roles_list         | 0
 bt5/erp5_publication/bt/template_preference_list                | 0
 bt5/erp5_publication/bt/template_product_id_list                | 0
 bt5/erp5_publication/bt/template_property_sheet_id_list         | 0
 bt5/erp5_publication/bt/template_role_list                      | 0
 bt5/erp5_publication/bt/template_site_property_id_list          | 0
 bt5/erp5_publication/bt/template_test_id_list                   | 0
 bt5/erp5_publication/bt/template_tool_id_list                   | 0
 bt5/erp5_registry_ohada/bt/categories_list                      | 0
 bt5/erp5_registry_ohada/bt/comment                              | 0
 bt5/erp5_registry_ohada/bt/provision_list                       | 0
 bt5/erp5_registry_ohada/bt/revision                             | 2 +-
 bt5/erp5_registry_ohada/bt/template_base_category_list          | 0
 bt5/erp5_registry_ohada/bt/template_catalog_datetime_key_list   | 0
 bt5/erp5_registry_ohada/bt/template_catalog_full_text_key_list  | 0
 bt5/erp5_registry_ohada/bt/template_catalog_keyword_key_list    | 0
 bt5/erp5_registry_ohada/bt/template_catalog_local_role_key_list | 0
 bt5/erp5_registry_ohada/bt/template_catalog_method_id_list      | 0
 bt5/erp5_registry_ohada/bt/template_catalog_multivalue_key_list | 0
 bt5/erp5_registry_ohada/bt/template_catalog_related_key_list    | 0
 bt5/erp5_registry_ohada/bt/template_catalog_request_key_list    | 0
 bt5/erp5_registry_ohada/bt/template_catalog_result_key_list     | 0
 bt5/erp5_registry_ohada/bt/template_catalog_result_table_list   | 0
 bt5/erp5_registry_ohada/bt/template_catalog_role_key_list       | 0
 bt5/erp5_registry_ohada/bt/template_catalog_scriptable_key_list | 0
 bt5/erp5_registry_ohada/bt/template_catalog_topic_key_list      | 0
 bt5/erp5_registry_ohada/bt/template_constraint_id_list          | 0
 bt5/erp5_registry_ohada/bt/template_local_roles_list            | 0
 bt5/erp5_registry_ohada/bt/template_message_translation_list    | 0
 bt5/erp5_registry_ohada/bt/template_path_list                   | 0
 bt5/erp5_registry_ohada/bt/template_portal_type_roles_list      | 0
 bt5/erp5_registry_ohada/bt/template_preference_list             | 0
 bt5/erp5_registry_ohada/bt/template_product_id_list             | 0
 bt5/erp5_registry_ohada/bt/template_role_list                   | 0
 bt5/erp5_registry_ohada/bt/template_site_property_id_list       | 0
 bt5/erp5_registry_ohada/bt/template_test_id_list                | 0
 bt5/erp5_registry_ohada/bt/template_tool_id_list                | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/categories_list              | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/comment                      | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/maintainer_list              | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/provision_list               | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/revision                     | 2 +-
 bt5/erp5_registry_ohada_l10n_fr/bt/template_action_path_list    | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_base_category_list  | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_constraint_id_list  | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_document_id_list    | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_extension_id_list   | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_local_roles_list    | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_module_id_list      | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_path_list           | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_id_list | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_preference_list     | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_product_id_list     | 0
 .../bt/template_property_sheet_id_list                          | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_role_list           | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_skin_id_list        | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_test_id_list        | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_tool_id_list        | 0
 bt5/erp5_registry_ohada_l10n_fr/bt/template_workflow_id_list    | 0
 bt5/erp5_rss_reader/bt/categories_list                          | 0
 bt5/erp5_rss_reader/bt/provision_list                           | 0
 bt5/erp5_rss_reader/bt/revision                                 | 2 +-
 bt5/erp5_rss_reader/bt/template_catalog_datetime_key_list       | 0
 bt5/erp5_rss_reader/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_rss_reader/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_rss_reader/bt/template_catalog_local_role_key_list     | 0
 bt5/erp5_rss_reader/bt/template_catalog_method_id_list          | 0
 bt5/erp5_rss_reader/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_rss_reader/bt/template_catalog_related_key_list        | 0
 bt5/erp5_rss_reader/bt/template_catalog_request_key_list        | 0
 bt5/erp5_rss_reader/bt/template_catalog_result_key_list         | 0
 bt5/erp5_rss_reader/bt/template_catalog_result_table_list       | 0
 bt5/erp5_rss_reader/bt/template_catalog_role_key_list           | 0
 bt5/erp5_rss_reader/bt/template_catalog_scriptable_key_list     | 0
 bt5/erp5_rss_reader/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_rss_reader/bt/template_constraint_id_list              | 0
 bt5/erp5_rss_reader/bt/template_document_id_list                | 0
 bt5/erp5_rss_reader/bt/template_local_roles_list                | 0
 bt5/erp5_rss_reader/bt/template_message_translation_list        | 0
 bt5/erp5_rss_reader/bt/template_module_id_list                  | 0
 bt5/erp5_rss_reader/bt/template_portal_type_base_category_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_rss_reader/bt/template_portal_type_roles_list          | 0
 bt5/erp5_rss_reader/bt/template_preference_list                 | 0
 bt5/erp5_rss_reader/bt/template_product_id_list                 | 0
 bt5/erp5_rss_reader/bt/template_role_list                       | 0
 bt5/erp5_rss_reader/bt/template_site_property_id_list           | 0
 bt5/erp5_rss_reader/bt/template_test_id_list                    | 0
 bt5/erp5_rss_reader/bt/template_tool_id_list                    | 0
 bt5/erp5_rss_reader/bt/template_workflow_id_list                | 0
 bt5/erp5_rss_style/bt/categories_list                           | 0
 bt5/erp5_rss_style/bt/comment                                   | 0
 bt5/erp5_rss_style/bt/dependency_list                           | 0
 bt5/erp5_rss_style/bt/provision_list                            | 0
 bt5/erp5_rss_style/bt/revision                                  | 2 +-
 bt5/erp5_rss_style/bt/template_action_path_list                 | 0
 bt5/erp5_rss_style/bt/template_base_category_list               | 0
 bt5/erp5_rss_style/bt/template_catalog_datetime_key_list        | 0
 bt5/erp5_rss_style/bt/template_catalog_full_text_key_list       | 0
 bt5/erp5_rss_style/bt/template_catalog_keyword_key_list         | 0
 bt5/erp5_rss_style/bt/template_catalog_local_role_key_list      | 0
 bt5/erp5_rss_style/bt/template_catalog_method_id_list           | 0
 bt5/erp5_rss_style/bt/template_catalog_multivalue_key_list      | 0
 bt5/erp5_rss_style/bt/template_catalog_related_key_list         | 0
 bt5/erp5_rss_style/bt/template_catalog_request_key_list         | 0
 bt5/erp5_rss_style/bt/template_catalog_result_key_list          | 0
 bt5/erp5_rss_style/bt/template_catalog_result_table_list        | 0
 bt5/erp5_rss_style/bt/template_catalog_role_key_list            | 0
 bt5/erp5_rss_style/bt/template_catalog_scriptable_key_list      | 0
 bt5/erp5_rss_style/bt/template_catalog_topic_key_list           | 0
 bt5/erp5_rss_style/bt/template_constraint_id_list               | 0
 bt5/erp5_rss_style/bt/template_document_id_list                 | 0
 bt5/erp5_rss_style/bt/template_extension_id_list                | 0
 bt5/erp5_rss_style/bt/template_local_role_list                  | 0
 bt5/erp5_rss_style/bt/template_local_roles_list                 | 0
 bt5/erp5_rss_style/bt/template_message_translation_list         | 0
 bt5/erp5_rss_style/bt/template_module_id_list                   | 0
 bt5/erp5_rss_style/bt/template_path_list                        | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_rss_style/bt/template_portal_type_base_category_list   | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_rss_style/bt/template_portal_type_id_list              | 0
 bt5/erp5_rss_style/bt/template_portal_type_property_sheet_list  | 0
 bt5/erp5_rss_style/bt/template_portal_type_role_list            | 0
 bt5/erp5_rss_style/bt/template_portal_type_roles_list           | 0
 bt5/erp5_rss_style/bt/template_portal_type_workflow_chain_list  | 0
 bt5/erp5_rss_style/bt/template_preference_list                  | 0
 bt5/erp5_rss_style/bt/template_product_id_list                  | 0
 bt5/erp5_rss_style/bt/template_property_sheet_id_list           | 0
 bt5/erp5_rss_style/bt/template_role_list                        | 0
 bt5/erp5_rss_style/bt/template_site_property_id_list            | 0
 bt5/erp5_rss_style/bt/template_test_id_list                     | 0
 bt5/erp5_rss_style/bt/template_tool_id_list                     | 0
 bt5/erp5_rss_style/bt/template_workflow_id_list                 | 0
 bt5/erp5_simplified_invoicing/bt/categories_list                | 0
 bt5/erp5_simplified_invoicing/bt/comment                        | 0
 bt5/erp5_simplified_invoicing/bt/provision_list                 | 0
 bt5/erp5_simplified_invoicing/bt/revision                       | 2 +-
 bt5/erp5_simplified_invoicing/bt/template_base_category_list    | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_simplified_invoicing/bt/template_catalog_role_key_list | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 bt5/erp5_simplified_invoicing/bt/template_constraint_id_list    | 0
 bt5/erp5_simplified_invoicing/bt/template_document_id_list      | 0
 bt5/erp5_simplified_invoicing/bt/template_extension_id_list     | 0
 bt5/erp5_simplified_invoicing/bt/template_local_role_list       | 0
 bt5/erp5_simplified_invoicing/bt/template_local_roles_list      | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_simplified_invoicing/bt/template_module_id_list        | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_simplified_invoicing/bt/template_portal_type_id_list   | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_simplified_invoicing/bt/template_portal_type_role_list | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_simplified_invoicing/bt/template_preference_list       | 0
 bt5/erp5_simplified_invoicing/bt/template_product_id_list       | 0
 .../bt/template_property_sheet_id_list                          | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_simplified_invoicing/bt/template_role_list             | 0
 bt5/erp5_simplified_invoicing/bt/template_site_property_id_list | 0
 bt5/erp5_simplified_invoicing/bt/template_test_id_list          | 0
 bt5/erp5_simplified_invoicing/bt/template_tool_id_list          | 0
 bt5/erp5_simplified_invoicing/bt/template_workflow_id_list      | 0
 bt5/erp5_simulation/bt/categories_list                          | 0
 bt5/erp5_simulation/bt/copyright_list                           | 0
 bt5/erp5_simulation/bt/maintainer_list                          | 0
 bt5/erp5_simulation/bt/provision_list                           | 0
 bt5/erp5_simulation/bt/revision                                 | 2 +-
 bt5/erp5_simulation/bt/template_base_category_list              | 0
 bt5/erp5_simulation/bt/template_catalog_datetime_key_list       | 0
 bt5/erp5_simulation/bt/template_catalog_full_text_key_list      | 0
 bt5/erp5_simulation/bt/template_catalog_keyword_key_list        | 0
 bt5/erp5_simulation/bt/template_catalog_local_role_key_list     | 0
 bt5/erp5_simulation/bt/template_catalog_method_id_list          | 0
 bt5/erp5_simulation/bt/template_catalog_multivalue_key_list     | 0
 bt5/erp5_simulation/bt/template_catalog_related_key_list        | 0
 bt5/erp5_simulation/bt/template_catalog_request_key_list        | 0
 bt5/erp5_simulation/bt/template_catalog_result_key_list         | 0
 bt5/erp5_simulation/bt/template_catalog_result_table_list       | 0
 bt5/erp5_simulation/bt/template_catalog_role_key_list           | 0
 bt5/erp5_simulation/bt/template_catalog_scriptable_key_list     | 0
 bt5/erp5_simulation/bt/template_catalog_topic_key_list          | 0
 bt5/erp5_simulation/bt/template_constraint_id_list              | 0
 bt5/erp5_simulation/bt/template_extension_id_list               | 0
 bt5/erp5_simulation/bt/template_local_role_list                 | 0
 bt5/erp5_simulation/bt/template_local_roles_list                | 0
 bt5/erp5_simulation/bt/template_message_translation_list        | 0
 bt5/erp5_simulation/bt/template_module_id_list                  | 0
 bt5/erp5_simulation/bt/template_portal_type_base_category_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_simulation/bt/template_portal_type_property_sheet_list | 0
 bt5/erp5_simulation/bt/template_portal_type_role_list           | 0
 bt5/erp5_simulation/bt/template_portal_type_roles_list          | 0
 bt5/erp5_simulation/bt/template_preference_list                 | 0
 bt5/erp5_simulation/bt/template_product_id_list                 | 0
 bt5/erp5_simulation/bt/template_property_sheet_id_list          | 0
 bt5/erp5_simulation/bt/template_registered_skin_selection_list  | 0
 bt5/erp5_simulation/bt/template_role_list                       | 0
 bt5/erp5_simulation/bt/template_site_property_id_list           | 0
 bt5/erp5_simulation/bt/template_test_id_list                    | 0
 bt5/erp5_simulation/bt/template_tool_id_list                    | 0
 bt5/erp5_simulation/bt/template_workflow_id_list                | 0
 bt5/erp5_simulation_performance_test/bt/categories_list         | 0
 bt5/erp5_simulation_performance_test/bt/comment                 | 0
 bt5/erp5_simulation_performance_test/bt/provision_list          | 0
 bt5/erp5_simulation_performance_test/bt/revision                | 2 +-
 .../bt/template_action_path_list                                | 0
 .../bt/template_base_category_list                              | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_search_key_list                         | 0
 .../bt/template_catalog_topic_key_list                          | 0
 .../bt/template_constraint_id_list                              | 0
 .../bt/template_document_id_list                                | 0
 .../bt/template_extension_id_list                               | 0
 .../bt/template_local_role_list                                 | 0
 .../bt/template_local_roles_list                                | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_simulation_performance_test/bt/template_module_id_list | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_id_list                             | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_role_list                           | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_preference_list                                 | 0
 .../bt/template_product_id_list                                 | 0
 .../bt/template_property_sheet_id_list                          | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_simulation_performance_test/bt/template_role_list      | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_simulation_performance_test/bt/template_test_id_list   | 0
 bt5/erp5_simulation_performance_test/bt/template_tool_id_list   | 0
 bt5/erp5_social_contracts/bt/categories_list                    | 0
 bt5/erp5_social_contracts/bt/comment                            | 0
 bt5/erp5_social_contracts/bt/provision_list                     | 0
 bt5/erp5_social_contracts/bt/revision                           | 2 +-
 bt5/erp5_social_contracts/bt/template_catalog_datetime_key_list | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 bt5/erp5_social_contracts/bt/template_catalog_keyword_key_list  | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 bt5/erp5_social_contracts/bt/template_catalog_method_id_list    | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 bt5/erp5_social_contracts/bt/template_catalog_related_key_list  | 0
 bt5/erp5_social_contracts/bt/template_catalog_request_key_list  | 0
 bt5/erp5_social_contracts/bt/template_catalog_result_key_list   | 0
 bt5/erp5_social_contracts/bt/template_catalog_result_table_list | 0
 bt5/erp5_social_contracts/bt/template_catalog_role_key_list     | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 bt5/erp5_social_contracts/bt/template_catalog_topic_key_list    | 0
 bt5/erp5_social_contracts/bt/template_constraint_id_list        | 0
 bt5/erp5_social_contracts/bt/template_document_id_list          | 0
 bt5/erp5_social_contracts/bt/template_extension_id_list         | 0
 bt5/erp5_social_contracts/bt/template_local_roles_list          | 0
 bt5/erp5_social_contracts/bt/template_message_translation_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_social_contracts/bt/template_portal_type_roles_list    | 0
 bt5/erp5_social_contracts/bt/template_preference_list           | 0
 bt5/erp5_social_contracts/bt/template_product_id_list           | 0
 bt5/erp5_social_contracts/bt/template_property_sheet_id_list    | 0
 bt5/erp5_social_contracts/bt/template_role_list                 | 0
 bt5/erp5_social_contracts/bt/template_site_property_id_list     | 0
 bt5/erp5_social_contracts/bt/template_tool_id_list              | 0
 bt5/erp5_social_contracts/bt/template_workflow_id_list          | 0
 bt5/erp5_software_pdm/bt/categories_list                        | 0
 bt5/erp5_software_pdm/bt/comment                                | 0
 bt5/erp5_software_pdm/bt/copyright_list                         | 0
 bt5/erp5_software_pdm/bt/provision_list                         | 0
 bt5/erp5_software_pdm/bt/revision                               | 2 +-
 bt5/erp5_software_pdm/bt/template_base_category_list            | 0
 bt5/erp5_software_pdm/bt/template_catalog_datetime_key_list     | 0
 bt5/erp5_software_pdm/bt/template_catalog_full_text_key_list    | 0
 bt5/erp5_software_pdm/bt/template_catalog_keyword_key_list      | 0
 bt5/erp5_software_pdm/bt/template_catalog_local_role_key_list   | 0
 bt5/erp5_software_pdm/bt/template_catalog_method_id_list        | 0
 bt5/erp5_software_pdm/bt/template_catalog_multivalue_key_list   | 0
 bt5/erp5_software_pdm/bt/template_catalog_related_key_list      | 0
 bt5/erp5_software_pdm/bt/template_catalog_request_key_list      | 0
 bt5/erp5_software_pdm/bt/template_catalog_result_key_list       | 0
 bt5/erp5_software_pdm/bt/template_catalog_result_table_list     | 0
 bt5/erp5_software_pdm/bt/template_catalog_role_key_list         | 0
 bt5/erp5_software_pdm/bt/template_catalog_scriptable_key_list   | 0
 bt5/erp5_software_pdm/bt/template_catalog_topic_key_list        | 0
 bt5/erp5_software_pdm/bt/template_constraint_id_list            | 0
 bt5/erp5_software_pdm/bt/template_extension_id_list             | 0
 bt5/erp5_software_pdm/bt/template_local_role_list               | 0
 bt5/erp5_software_pdm/bt/template_local_roles_list              | 0
 bt5/erp5_software_pdm/bt/template_message_translation_list      | 0
 bt5/erp5_software_pdm/bt/template_path_list                     | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_software_pdm/bt/template_preference_list               | 0
 bt5/erp5_software_pdm/bt/template_product_id_list               | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_software_pdm/bt/template_role_list                     | 0
 bt5/erp5_software_pdm/bt/template_site_property_id_list         | 0
 bt5/erp5_software_pdm/bt/template_test_id_list                  | 0
 bt5/erp5_software_pdm/bt/template_tool_id_list                  | 0
 bt5/erp5_software_pdm/bt/template_workflow_id_list              | 0
 bt5/erp5_syncml/bt/categories_list                              | 0
 bt5/erp5_syncml/bt/change_log                                   | 0
 bt5/erp5_syncml/bt/copyright_list                               | 0
 bt5/erp5_syncml/bt/dependency_list                              | 0
 bt5/erp5_syncml/bt/description                                  | 0
 bt5/erp5_syncml/bt/maintainer_list                              | 0
 bt5/erp5_syncml/bt/provision_list                               | 0
 bt5/erp5_syncml/bt/revision                                     | 2 +-
 bt5/erp5_syncml/bt/template_action_path_list                    | 0
 bt5/erp5_syncml/bt/template_base_category_list                  | 0
 bt5/erp5_syncml/bt/template_catalog_full_text_key_list          | 0
 bt5/erp5_syncml/bt/template_catalog_keyword_key_list            | 0
 bt5/erp5_syncml/bt/template_catalog_method_id_list              | 0
 bt5/erp5_syncml/bt/template_catalog_multivalue_key_list         | 0
 bt5/erp5_syncml/bt/template_catalog_related_key_list            | 0
 bt5/erp5_syncml/bt/template_catalog_request_key_list            | 0
 bt5/erp5_syncml/bt/template_catalog_result_key_list             | 0
 bt5/erp5_syncml/bt/template_catalog_result_table_list           | 0
 bt5/erp5_syncml/bt/template_catalog_topic_key_list              | 0
 bt5/erp5_syncml/bt/template_constraint_id_list                  | 0
 bt5/erp5_syncml/bt/template_document_id_list                    | 0
 bt5/erp5_syncml/bt/template_extension_id_list                   | 0
 bt5/erp5_syncml/bt/template_local_roles_list                    | 0
 bt5/erp5_syncml/bt/template_message_translation_list            | 0
 bt5/erp5_syncml/bt/template_module_id_list                      | 0
 bt5/erp5_syncml/bt/template_path_list                           | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_syncml/bt/template_portal_type_base_category_list      | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_syncml/bt/template_portal_type_id_list                 | 0
 bt5/erp5_syncml/bt/template_portal_type_property_sheet_list     | 0
 bt5/erp5_syncml/bt/template_portal_type_roles_list              | 0
 bt5/erp5_syncml/bt/template_portal_type_workflow_chain_list     | 0
 bt5/erp5_syncml/bt/template_preference_list                     | 0
 bt5/erp5_syncml/bt/template_product_id_list                     | 0
 bt5/erp5_syncml/bt/template_property_sheet_id_list              | 0
 bt5/erp5_syncml/bt/template_role_list                           | 0
 bt5/erp5_syncml/bt/template_site_property_id_list               | 0
 bt5/erp5_syncml/bt/template_test_id_list                        | 0
 bt5/erp5_syncml/bt/template_workflow_id_list                    | 0
 bt5/erp5_tax_resource/bt/categories_list                        | 0
 bt5/erp5_tax_resource/bt/comment                                | 0
 bt5/erp5_tax_resource/bt/maintainer_list                        | 0
 bt5/erp5_tax_resource/bt/provision_list                         | 0
 bt5/erp5_tax_resource/bt/revision                               | 2 +-
 bt5/erp5_tax_resource/bt/template_base_category_list            | 0
 bt5/erp5_tax_resource/bt/template_catalog_datetime_key_list     | 0
 bt5/erp5_tax_resource/bt/template_catalog_full_text_key_list    | 0
 bt5/erp5_tax_resource/bt/template_catalog_keyword_key_list      | 0
 bt5/erp5_tax_resource/bt/template_catalog_local_role_key_list   | 0
 bt5/erp5_tax_resource/bt/template_catalog_method_id_list        | 0
 bt5/erp5_tax_resource/bt/template_catalog_multivalue_key_list   | 0
 bt5/erp5_tax_resource/bt/template_catalog_related_key_list      | 0
 bt5/erp5_tax_resource/bt/template_catalog_request_key_list      | 0
 bt5/erp5_tax_resource/bt/template_catalog_result_key_list       | 0
 bt5/erp5_tax_resource/bt/template_catalog_result_table_list     | 0
 bt5/erp5_tax_resource/bt/template_catalog_role_key_list         | 0
 bt5/erp5_tax_resource/bt/template_catalog_scriptable_key_list   | 0
 bt5/erp5_tax_resource/bt/template_catalog_topic_key_list        | 0
 bt5/erp5_tax_resource/bt/template_constraint_id_list            | 0
 bt5/erp5_tax_resource/bt/template_document_id_list              | 0
 bt5/erp5_tax_resource/bt/template_extension_id_list             | 0
 bt5/erp5_tax_resource/bt/template_local_role_list               | 0
 bt5/erp5_tax_resource/bt/template_local_roles_list              | 0
 bt5/erp5_tax_resource/bt/template_message_translation_list      | 0
 bt5/erp5_tax_resource/bt/template_path_list                     | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_tax_resource/bt/template_portal_type_role_list         | 0
 bt5/erp5_tax_resource/bt/template_portal_type_roles_list        | 0
 bt5/erp5_tax_resource/bt/template_preference_list               | 0
 bt5/erp5_tax_resource/bt/template_product_id_list               | 0
 bt5/erp5_tax_resource/bt/template_property_sheet_id_list        | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_tax_resource/bt/template_role_list                     | 0
 bt5/erp5_tax_resource/bt/template_site_property_id_list         | 0
 bt5/erp5_tax_resource/bt/template_test_id_list                  | 0
 bt5/erp5_tax_resource/bt/template_tool_id_list                  | 0
 bt5/erp5_tax_resource/bt/template_workflow_id_list              | 0
 bt5/erp5_trade/bt/categories_list                               | 0
 bt5/erp5_trade/bt/comment                                       | 0
 bt5/erp5_trade/bt/provision_list                                | 0
 bt5/erp5_trade/bt/revision                                      | 2 +-
 bt5/erp5_trade/bt/template_catalog_datetime_key_list            | 0
 bt5/erp5_trade/bt/template_catalog_full_text_key_list           | 0
 bt5/erp5_trade/bt/template_catalog_keyword_key_list             | 0
 bt5/erp5_trade/bt/template_catalog_local_role_key_list          | 0
 bt5/erp5_trade/bt/template_catalog_method_id_list               | 0
 bt5/erp5_trade/bt/template_catalog_multivalue_key_list          | 0
 bt5/erp5_trade/bt/template_catalog_related_key_list             | 0
 bt5/erp5_trade/bt/template_catalog_request_key_list             | 0
 bt5/erp5_trade/bt/template_catalog_result_key_list              | 0
 bt5/erp5_trade/bt/template_catalog_result_table_list            | 0
 bt5/erp5_trade/bt/template_catalog_role_key_list                | 0
 bt5/erp5_trade/bt/template_catalog_scriptable_key_list          | 0
 bt5/erp5_trade/bt/template_catalog_search_key_list              | 0
 bt5/erp5_trade/bt/template_catalog_topic_key_list               | 0
 bt5/erp5_trade/bt/template_document_id_list                     | 0
 bt5/erp5_trade/bt/template_extension_id_list                    | 0
 bt5/erp5_trade/bt/template_local_role_list                      | 0
 bt5/erp5_trade/bt/template_local_roles_list                     | 0
 bt5/erp5_trade/bt/template_message_translation_list             | 0
 bt5/erp5_trade/bt/template_portal_type_role_list                | 0
 bt5/erp5_trade/bt/template_portal_type_roles_list               | 0
 bt5/erp5_trade/bt/template_preference_list                      | 0
 bt5/erp5_trade/bt/template_product_id_list                      | 0
 bt5/erp5_trade/bt/template_registered_skin_selection_list       | 0
 bt5/erp5_trade/bt/template_role_list                            | 0
 bt5/erp5_trade/bt/template_site_property_id_list                | 0
 bt5/erp5_trade/bt/template_test_id_list                         | 0
 bt5/erp5_trade/bt/template_tool_id_list                         | 0
 bt5/erp5_trade_proxy_field_legacy/bt/categories_list            | 0
 bt5/erp5_trade_proxy_field_legacy/bt/comment                    | 0
 bt5/erp5_trade_proxy_field_legacy/bt/dependency_list            | 0
 bt5/erp5_trade_proxy_field_legacy/bt/provision_list             | 0
 bt5/erp5_trade_proxy_field_legacy/bt/revision                   | 2 +-
 bt5/erp5_trade_proxy_field_legacy/bt/template_action_path_list  | 0
 .../bt/template_base_category_list                              | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 .../bt/template_catalog_role_key_list                           | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 .../bt/template_constraint_id_list                              | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_document_id_list  | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_extension_id_list | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_local_role_list   | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_local_roles_list  | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_module_id_list    | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_path_list         | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bt/template_portal_type_id_list                             | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_role_list                           | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_preference_list   | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_product_id_list   | 0
 .../bt/template_property_sheet_id_list                          | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_role_list         | 0
 .../bt/template_site_property_id_list                           | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_test_id_list      | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_tool_id_list      | 0
 bt5/erp5_trade_proxy_field_legacy/bt/template_workflow_id_list  | 0
 bt5/erp5_trade_ui_test/bt/categories_list                       | 0
 bt5/erp5_trade_ui_test/bt/provision_list                        | 0
 bt5/erp5_trade_ui_test/bt/revision                              | 2 +-
 bt5/erp5_trade_ui_test/bt/template_action_path_list             | 0
 bt5/erp5_trade_ui_test/bt/template_base_category_list           | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_datetime_key_list    | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_full_text_key_list   | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_keyword_key_list     | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_local_role_key_list  | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_method_id_list       | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_multivalue_key_list  | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_related_key_list     | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_request_key_list     | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_result_key_list      | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_result_table_list    | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_role_key_list        | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_scriptable_key_list  | 0
 bt5/erp5_trade_ui_test/bt/template_catalog_topic_key_list       | 0
 bt5/erp5_trade_ui_test/bt/template_constraint_id_list           | 0
 bt5/erp5_trade_ui_test/bt/template_document_id_list             | 0
 bt5/erp5_trade_ui_test/bt/template_extension_id_list            | 0
 bt5/erp5_trade_ui_test/bt/template_local_role_list              | 0
 bt5/erp5_trade_ui_test/bt/template_local_roles_list             | 0
 bt5/erp5_trade_ui_test/bt/template_message_translation_list     | 0
 bt5/erp5_trade_ui_test/bt/template_module_id_list               | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_trade_ui_test/bt/template_portal_type_id_list          | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_trade_ui_test/bt/template_portal_type_role_list        | 0
 bt5/erp5_trade_ui_test/bt/template_portal_type_roles_list       | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_trade_ui_test/bt/template_preference_list              | 0
 bt5/erp5_trade_ui_test/bt/template_product_id_list              | 0
 bt5/erp5_trade_ui_test/bt/template_property_sheet_id_list       | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_trade_ui_test/bt/template_role_list                    | 0
 bt5/erp5_trade_ui_test/bt/template_site_property_id_list        | 0
 bt5/erp5_trade_ui_test/bt/template_test_id_list                 | 0
 bt5/erp5_trade_ui_test/bt/template_tool_id_list                 | 0
 bt5/erp5_trade_ui_test/bt/template_workflow_id_list             | 0
 bt5/erp5_ui_test/bt/categories_list                             | 0
 bt5/erp5_ui_test/bt/comment                                     | 0
 bt5/erp5_ui_test/bt/provision_list                              | 0
 bt5/erp5_ui_test/bt/revision                                    | 2 +-
 bt5/erp5_ui_test/bt/template_catalog_datetime_key_list          | 0
 bt5/erp5_ui_test/bt/template_catalog_full_text_key_list         | 0
 bt5/erp5_ui_test/bt/template_catalog_keyword_key_list           | 0
 bt5/erp5_ui_test/bt/template_catalog_local_role_key_list        | 0
 bt5/erp5_ui_test/bt/template_catalog_method_id_list             | 0
 bt5/erp5_ui_test/bt/template_catalog_multivalue_key_list        | 0
 bt5/erp5_ui_test/bt/template_catalog_related_key_list           | 0
 bt5/erp5_ui_test/bt/template_catalog_request_key_list           | 0
 bt5/erp5_ui_test/bt/template_catalog_result_key_list            | 0
 bt5/erp5_ui_test/bt/template_catalog_result_table_list          | 0
 bt5/erp5_ui_test/bt/template_catalog_role_key_list              | 0
 bt5/erp5_ui_test/bt/template_catalog_scriptable_key_list        | 0
 bt5/erp5_ui_test/bt/template_catalog_topic_key_list             | 0
 bt5/erp5_ui_test/bt/template_constraint_id_list                 | 0
 bt5/erp5_ui_test/bt/template_document_id_list                   | 0
 bt5/erp5_ui_test/bt/template_extension_id_list                  | 0
 bt5/erp5_ui_test/bt/template_local_role_list                    | 0
 bt5/erp5_ui_test/bt/template_local_roles_list                   | 0
 bt5/erp5_ui_test/bt/template_message_translation_list           | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_ui_test/bt/template_portal_type_role_list              | 0
 bt5/erp5_ui_test/bt/template_portal_type_roles_list             | 0
 bt5/erp5_ui_test/bt/template_preference_list                    | 0
 bt5/erp5_ui_test/bt/template_product_id_list                    | 0
 bt5/erp5_ui_test/bt/template_property_sheet_id_list             | 0
 bt5/erp5_ui_test/bt/template_registered_skin_selection_list     | 0
 bt5/erp5_ui_test/bt/template_role_list                          | 0
 bt5/erp5_ui_test/bt/template_site_property_id_list              | 0
 bt5/erp5_ui_test/bt/template_test_id_list                       | 0
 bt5/erp5_ui_test/bt/template_tool_id_list                       | 0
 bt5/erp5_ui_test_core/bt/categories_list                        | 0
 bt5/erp5_ui_test_core/bt/comment                                | 0
 bt5/erp5_ui_test_core/bt/provision_list                         | 0
 bt5/erp5_ui_test_core/bt/revision                               | 2 +-
 bt5/erp5_ui_test_core/bt/template_action_path_list              | 0
 bt5/erp5_ui_test_core/bt/template_base_category_list            | 0
 bt5/erp5_ui_test_core/bt/template_catalog_datetime_key_list     | 0
 bt5/erp5_ui_test_core/bt/template_catalog_full_text_key_list    | 0
 bt5/erp5_ui_test_core/bt/template_catalog_keyword_key_list      | 0
 bt5/erp5_ui_test_core/bt/template_catalog_local_role_key_list   | 0
 bt5/erp5_ui_test_core/bt/template_catalog_method_id_list        | 0
 bt5/erp5_ui_test_core/bt/template_catalog_multivalue_key_list   | 0
 bt5/erp5_ui_test_core/bt/template_catalog_related_key_list      | 0
 bt5/erp5_ui_test_core/bt/template_catalog_request_key_list      | 0
 bt5/erp5_ui_test_core/bt/template_catalog_result_key_list       | 0
 bt5/erp5_ui_test_core/bt/template_catalog_result_table_list     | 0
 bt5/erp5_ui_test_core/bt/template_catalog_role_key_list         | 0
 bt5/erp5_ui_test_core/bt/template_catalog_scriptable_key_list   | 0
 bt5/erp5_ui_test_core/bt/template_catalog_topic_key_list        | 0
 bt5/erp5_ui_test_core/bt/template_constraint_id_list            | 0
 bt5/erp5_ui_test_core/bt/template_document_id_list              | 0
 bt5/erp5_ui_test_core/bt/template_local_role_list               | 0
 bt5/erp5_ui_test_core/bt/template_local_roles_list              | 0
 bt5/erp5_ui_test_core/bt/template_message_translation_list      | 0
 bt5/erp5_ui_test_core/bt/template_module_id_list                | 0
 bt5/erp5_ui_test_core/bt/template_path_list                     | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_ui_test_core/bt/template_portal_type_id_list           | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_ui_test_core/bt/template_portal_type_role_list         | 0
 bt5/erp5_ui_test_core/bt/template_portal_type_roles_list        | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_ui_test_core/bt/template_preference_list               | 0
 bt5/erp5_ui_test_core/bt/template_product_id_list               | 0
 bt5/erp5_ui_test_core/bt/template_property_sheet_id_list        | 0
 .../bt/template_registered_skin_selection_list                  | 0
 bt5/erp5_ui_test_core/bt/template_role_list                     | 0
 bt5/erp5_ui_test_core/bt/template_site_property_id_list         | 0
 bt5/erp5_ui_test_core/bt/template_test_id_list                  | 0
 bt5/erp5_ui_test_core/bt/template_tool_id_list                  | 0
 bt5/erp5_ui_test_core/bt/template_workflow_id_list              | 0
 bt5/erp5_upgrader/bt/categories_list                            | 0
 bt5/erp5_upgrader/bt/dependency_list                            | 0
 bt5/erp5_upgrader/bt/license                                    | 0
 bt5/erp5_upgrader/bt/provision_list                             | 0
 bt5/erp5_upgrader/bt/revision                                   | 2 +-
 bt5/erp5_upgrader/bt/template_action_path_list                  | 0
 bt5/erp5_upgrader/bt/template_base_category_list                | 0
 bt5/erp5_upgrader/bt/template_catalog_datetime_key_list         | 0
 bt5/erp5_upgrader/bt/template_catalog_full_text_key_list        | 0
 bt5/erp5_upgrader/bt/template_catalog_keyword_key_list          | 0
 bt5/erp5_upgrader/bt/template_catalog_local_role_key_list       | 0
 bt5/erp5_upgrader/bt/template_catalog_method_id_list            | 0
 bt5/erp5_upgrader/bt/template_catalog_multivalue_key_list       | 0
 bt5/erp5_upgrader/bt/template_catalog_related_key_list          | 0
 bt5/erp5_upgrader/bt/template_catalog_request_key_list          | 0
 bt5/erp5_upgrader/bt/template_catalog_result_key_list           | 0
 bt5/erp5_upgrader/bt/template_catalog_result_table_list         | 0
 bt5/erp5_upgrader/bt/template_catalog_role_key_list             | 0
 bt5/erp5_upgrader/bt/template_catalog_scriptable_key_list       | 0
 bt5/erp5_upgrader/bt/template_catalog_topic_key_list            | 0
 bt5/erp5_upgrader/bt/template_constraint_id_list                | 0
 bt5/erp5_upgrader/bt/template_document_id_list                  | 0
 bt5/erp5_upgrader/bt/template_local_role_list                   | 0
 bt5/erp5_upgrader/bt/template_local_roles_list                  | 0
 bt5/erp5_upgrader/bt/template_message_translation_list          | 0
 bt5/erp5_upgrader/bt/template_module_id_list                    | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_upgrader/bt/template_portal_type_base_category_list    | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_upgrader/bt/template_portal_type_id_list               | 0
 bt5/erp5_upgrader/bt/template_portal_type_property_sheet_list   | 0
 bt5/erp5_upgrader/bt/template_portal_type_role_list             | 0
 bt5/erp5_upgrader/bt/template_portal_type_roles_list            | 0
 bt5/erp5_upgrader/bt/template_portal_type_workflow_chain_list   | 0
 bt5/erp5_upgrader/bt/template_preference_list                   | 0
 bt5/erp5_upgrader/bt/template_product_id_list                   | 0
 bt5/erp5_upgrader/bt/template_property_sheet_id_list            | 0
 bt5/erp5_upgrader/bt/template_registered_skin_selection_list    | 0
 bt5/erp5_upgrader/bt/template_role_list                         | 0
 bt5/erp5_upgrader/bt/template_site_property_id_list             | 0
 bt5/erp5_upgrader/bt/template_test_id_list                      | 0
 bt5/erp5_upgrader/bt/template_tool_id_list                      | 0
 bt5/erp5_upgrader/bt/template_workflow_id_list                  | 0
 bt5/erp5_utils/bt/categories_list                               | 0
 bt5/erp5_utils/bt/dependency_list                               | 0
 bt5/erp5_utils/bt/provision_list                                | 0
 bt5/erp5_utils/bt/revision                                      | 2 +-
 bt5/erp5_utils/bt/template_action_path_list                     | 0
 bt5/erp5_utils/bt/template_base_category_list                   | 0
 bt5/erp5_utils/bt/template_catalog_full_text_key_list           | 0
 bt5/erp5_utils/bt/template_catalog_keyword_key_list             | 0
 bt5/erp5_utils/bt/template_catalog_method_id_list               | 0
 bt5/erp5_utils/bt/template_catalog_multivalue_key_list          | 0
 bt5/erp5_utils/bt/template_catalog_related_key_list             | 0
 bt5/erp5_utils/bt/template_catalog_request_key_list             | 0
 bt5/erp5_utils/bt/template_catalog_result_key_list              | 0
 bt5/erp5_utils/bt/template_catalog_result_table_list            | 0
 bt5/erp5_utils/bt/template_catalog_topic_key_list               | 0
 bt5/erp5_utils/bt/template_constraint_id_list                   | 0
 bt5/erp5_utils/bt/template_document_id_list                     | 0
 bt5/erp5_utils/bt/template_extension_id_list                    | 0
 bt5/erp5_utils/bt/template_local_roles_list                     | 0
 bt5/erp5_utils/bt/template_message_translation_list             | 0
 bt5/erp5_utils/bt/template_module_id_list                       | 0
 bt5/erp5_utils/bt/template_path_list                            | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_utils/bt/template_portal_type_base_category_list       | 0
 bt5/erp5_utils/bt/template_portal_type_hidden_content_type_list | 0
 bt5/erp5_utils/bt/template_portal_type_id_list                  | 0
 bt5/erp5_utils/bt/template_portal_type_property_sheet_list      | 0
 bt5/erp5_utils/bt/template_portal_type_roles_list               | 0
 bt5/erp5_utils/bt/template_portal_type_workflow_chain_list      | 0
 bt5/erp5_utils/bt/template_preference_list                      | 0
 bt5/erp5_utils/bt/template_product_id_list                      | 0
 bt5/erp5_utils/bt/template_property_sheet_id_list               | 0
 bt5/erp5_utils/bt/template_role_list                            | 0
 bt5/erp5_utils/bt/template_site_property_id_list                | 0
 bt5/erp5_utils/bt/template_test_id_list                         | 0
 bt5/erp5_utils/bt/template_workflow_id_list                     | 0
 bt5/erp5_web/bt/categories_list                                 | 0
 bt5/erp5_web/bt/comment                                         | 0
 bt5/erp5_web/bt/provision_list                                  | 0
 bt5/erp5_web/bt/revision                                        | 2 +-
 bt5/erp5_web/bt/template_catalog_datetime_key_list              | 0
 bt5/erp5_web/bt/template_catalog_full_text_key_list             | 0
 bt5/erp5_web/bt/template_catalog_keyword_key_list               | 0
 bt5/erp5_web/bt/template_catalog_local_role_key_list            | 0
 bt5/erp5_web/bt/template_catalog_method_id_list                 | 0
 bt5/erp5_web/bt/template_catalog_multivalue_key_list            | 0
 bt5/erp5_web/bt/template_catalog_related_key_list               | 0
 bt5/erp5_web/bt/template_catalog_request_key_list               | 0
 bt5/erp5_web/bt/template_catalog_result_key_list                | 0
 bt5/erp5_web/bt/template_catalog_result_table_list              | 0
 bt5/erp5_web/bt/template_catalog_role_key_list                  | 0
 bt5/erp5_web/bt/template_catalog_scriptable_key_list            | 0
 bt5/erp5_web/bt/template_catalog_search_key_list                | 0
 bt5/erp5_web/bt/template_catalog_topic_key_list                 | 0
 bt5/erp5_web/bt/template_constraint_id_list                     | 0
 bt5/erp5_web/bt/template_document_id_list                       | 0
 bt5/erp5_web/bt/template_extension_id_list                      | 0
 bt5/erp5_web/bt/template_local_role_list                        | 0
 bt5/erp5_web/bt/template_local_roles_list                       | 0
 bt5/erp5_web/bt/template_message_translation_list               | 0
 bt5/erp5_web/bt/template_portal_type_hidden_content_type_list   | 0
 bt5/erp5_web/bt/template_portal_type_role_list                  | 0
 bt5/erp5_web/bt/template_portal_type_roles_list                 | 0
 bt5/erp5_web/bt/template_preference_list                        | 0
 bt5/erp5_web/bt/template_product_id_list                        | 0
 bt5/erp5_web/bt/template_property_sheet_id_list                 | 0
 bt5/erp5_web/bt/template_registered_skin_selection_list         | 0
 bt5/erp5_web/bt/template_role_list                              | 0
 bt5/erp5_web/bt/template_site_property_id_list                  | 0
 bt5/erp5_web/bt/template_test_id_list                           | 0
 bt5/erp5_web_blog/bt/categories_list                            | 0
 bt5/erp5_web_blog/bt/change_log                                 | 0
 bt5/erp5_web_blog/bt/copyright_list                             | 0
 bt5/erp5_web_blog/bt/provision_list                             | 0
 bt5/erp5_web_blog/bt/revision                                   | 2 +-
 bt5/erp5_web_blog/bt/template_action_path_list                  | 0
 bt5/erp5_web_blog/bt/template_base_category_list                | 0
 bt5/erp5_web_blog/bt/template_catalog_datetime_key_list         | 0
 bt5/erp5_web_blog/bt/template_catalog_full_text_key_list        | 0
 bt5/erp5_web_blog/bt/template_catalog_keyword_key_list          | 0
 bt5/erp5_web_blog/bt/template_catalog_local_role_key_list       | 0
 bt5/erp5_web_blog/bt/template_catalog_method_id_list            | 0
 bt5/erp5_web_blog/bt/template_catalog_multivalue_key_list       | 0
 bt5/erp5_web_blog/bt/template_catalog_related_key_list          | 0
 bt5/erp5_web_blog/bt/template_catalog_request_key_list          | 0
 bt5/erp5_web_blog/bt/template_catalog_result_key_list           | 0
 bt5/erp5_web_blog/bt/template_catalog_result_table_list         | 0
 bt5/erp5_web_blog/bt/template_catalog_role_key_list             | 0
 bt5/erp5_web_blog/bt/template_catalog_scriptable_key_list       | 0
 bt5/erp5_web_blog/bt/template_catalog_topic_key_list            | 0
 bt5/erp5_web_blog/bt/template_constraint_id_list                | 0
 bt5/erp5_web_blog/bt/template_document_id_list                  | 0
 bt5/erp5_web_blog/bt/template_extension_id_list                 | 0
 bt5/erp5_web_blog/bt/template_local_role_list                   | 0
 bt5/erp5_web_blog/bt/template_local_roles_list                  | 0
 bt5/erp5_web_blog/bt/template_message_translation_list          | 0
 bt5/erp5_web_blog/bt/template_module_id_list                    | 0
 bt5/erp5_web_blog/bt/template_path_list                         | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_web_blog/bt/template_portal_type_base_category_list    | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_web_blog/bt/template_portal_type_id_list               | 0
 bt5/erp5_web_blog/bt/template_portal_type_property_sheet_list   | 0
 bt5/erp5_web_blog/bt/template_portal_type_role_list             | 0
 bt5/erp5_web_blog/bt/template_portal_type_roles_list            | 0
 bt5/erp5_web_blog/bt/template_portal_type_workflow_chain_list   | 0
 bt5/erp5_web_blog/bt/template_preference_list                   | 0
 bt5/erp5_web_blog/bt/template_product_id_list                   | 0
 bt5/erp5_web_blog/bt/template_property_sheet_id_list            | 0
 bt5/erp5_web_blog/bt/template_registered_skin_selection_list    | 0
 bt5/erp5_web_blog/bt/template_role_list                         | 0
 bt5/erp5_web_blog/bt/template_site_property_id_list             | 0
 bt5/erp5_web_blog/bt/template_test_id_list                      | 0
 bt5/erp5_web_blog/bt/template_tool_id_list                      | 0
 bt5/erp5_web_blog/bt/template_workflow_id_list                  | 0
 bt5/erp5_web_multiflex5_theme/bt/categories_list                | 0
 bt5/erp5_web_multiflex5_theme/bt/copyright_list                 | 0
 bt5/erp5_web_multiflex5_theme/bt/provision_list                 | 0
 bt5/erp5_web_multiflex5_theme/bt/revision                       | 2 +-
 bt5/erp5_web_multiflex5_theme/bt/template_action_path_list      | 0
 bt5/erp5_web_multiflex5_theme/bt/template_base_category_list    | 0
 .../bt/template_catalog_datetime_key_list                       | 0
 .../bt/template_catalog_full_text_key_list                      | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_method_id_list                          | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_related_key_list                        | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_result_key_list                         | 0
 .../bt/template_catalog_result_table_list                       | 0
 bt5/erp5_web_multiflex5_theme/bt/template_catalog_role_key_list | 0
 .../bt/template_catalog_scriptable_key_list                     | 0
 .../bt/template_catalog_topic_key_list                          | 0
 bt5/erp5_web_multiflex5_theme/bt/template_constraint_id_list    | 0
 bt5/erp5_web_multiflex5_theme/bt/template_document_id_list      | 0
 bt5/erp5_web_multiflex5_theme/bt/template_extension_id_list     | 0
 bt5/erp5_web_multiflex5_theme/bt/template_local_role_list       | 0
 bt5/erp5_web_multiflex5_theme/bt/template_local_roles_list      | 0
 .../bt/template_message_translation_list                        | 0
 bt5/erp5_web_multiflex5_theme/bt/template_module_id_list        | 0
 bt5/erp5_web_multiflex5_theme/bt/template_path_list             | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_web_multiflex5_theme/bt/template_portal_type_id_list   | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_web_multiflex5_theme/bt/template_portal_type_role_list | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_web_multiflex5_theme/bt/template_preference_list       | 0
 bt5/erp5_web_multiflex5_theme/bt/template_product_id_list       | 0
 .../bt/template_property_sheet_id_list                          | 0
 bt5/erp5_web_multiflex5_theme/bt/template_role_list             | 0
 bt5/erp5_web_multiflex5_theme/bt/template_site_property_id_list | 0
 bt5/erp5_web_multiflex5_theme/bt/template_test_id_list          | 0
 bt5/erp5_web_multiflex5_theme/bt/template_tool_id_list          | 0
 bt5/erp5_web_multiflex5_theme/bt/template_workflow_id_list      | 0
 bt5/erp5_web_ui_test/bt/categories_list                         | 0
 bt5/erp5_web_ui_test/bt/comment                                 | 0
 bt5/erp5_web_ui_test/bt/provision_list                          | 0
 bt5/erp5_web_ui_test/bt/revision                                | 2 +-
 bt5/erp5_web_ui_test/bt/template_action_path_list               | 0
 bt5/erp5_web_ui_test/bt/template_base_category_list             | 0
 bt5/erp5_web_ui_test/bt/template_catalog_datetime_key_list      | 0
 bt5/erp5_web_ui_test/bt/template_catalog_full_text_key_list     | 0
 bt5/erp5_web_ui_test/bt/template_catalog_keyword_key_list       | 0
 bt5/erp5_web_ui_test/bt/template_catalog_local_role_key_list    | 0
 bt5/erp5_web_ui_test/bt/template_catalog_method_id_list         | 0
 bt5/erp5_web_ui_test/bt/template_catalog_multivalue_key_list    | 0
 bt5/erp5_web_ui_test/bt/template_catalog_related_key_list       | 0
 bt5/erp5_web_ui_test/bt/template_catalog_request_key_list       | 0
 bt5/erp5_web_ui_test/bt/template_catalog_result_key_list        | 0
 bt5/erp5_web_ui_test/bt/template_catalog_result_table_list      | 0
 bt5/erp5_web_ui_test/bt/template_catalog_role_key_list          | 0
 bt5/erp5_web_ui_test/bt/template_catalog_scriptable_key_list    | 0
 bt5/erp5_web_ui_test/bt/template_catalog_topic_key_list         | 0
 bt5/erp5_web_ui_test/bt/template_constraint_id_list             | 0
 bt5/erp5_web_ui_test/bt/template_document_id_list               | 0
 bt5/erp5_web_ui_test/bt/template_extension_id_list              | 0
 bt5/erp5_web_ui_test/bt/template_message_translation_list       | 0
 bt5/erp5_web_ui_test/bt/template_module_id_list                 | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_web_ui_test/bt/template_portal_type_base_category_list | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_web_ui_test/bt/template_portal_type_id_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_web_ui_test/bt/template_preference_list                | 0
 bt5/erp5_web_ui_test/bt/template_product_id_list                | 0
 bt5/erp5_web_ui_test/bt/template_property_sheet_id_list         | 0
 bt5/erp5_web_ui_test/bt/template_registered_skin_selection_list | 0
 bt5/erp5_web_ui_test/bt/template_role_list                      | 0
 bt5/erp5_web_ui_test/bt/template_site_property_id_list          | 0
 bt5/erp5_web_ui_test/bt/template_test_id_list                   | 0
 bt5/erp5_web_ui_test/bt/template_tool_id_list                   | 0
 bt5/erp5_web_ui_test/bt/template_workflow_id_list               | 0
 bt5/erp5_wizard/bt/categories_list                              | 0
 bt5/erp5_wizard/bt/comment                                      | 0
 bt5/erp5_wizard/bt/dependency_list                              | 0
 bt5/erp5_wizard/bt/provision_list                               | 0
 bt5/erp5_wizard/bt/revision                                     | 2 +-
 bt5/erp5_wizard/bt/template_base_category_list                  | 0
 bt5/erp5_wizard/bt/template_catalog_datetime_key_list           | 0
 bt5/erp5_wizard/bt/template_catalog_full_text_key_list          | 0
 bt5/erp5_wizard/bt/template_catalog_keyword_key_list            | 0
 bt5/erp5_wizard/bt/template_catalog_local_role_key_list         | 0
 bt5/erp5_wizard/bt/template_catalog_method_id_list              | 0
 bt5/erp5_wizard/bt/template_catalog_multivalue_key_list         | 0
 bt5/erp5_wizard/bt/template_catalog_related_key_list            | 0
 bt5/erp5_wizard/bt/template_catalog_request_key_list            | 0
 bt5/erp5_wizard/bt/template_catalog_result_key_list             | 0
 bt5/erp5_wizard/bt/template_catalog_result_table_list           | 0
 bt5/erp5_wizard/bt/template_catalog_role_key_list               | 0
 bt5/erp5_wizard/bt/template_catalog_scriptable_key_list         | 0
 bt5/erp5_wizard/bt/template_catalog_topic_key_list              | 0
 bt5/erp5_wizard/bt/template_constraint_id_list                  | 0
 bt5/erp5_wizard/bt/template_document_id_list                    | 0
 bt5/erp5_wizard/bt/template_extension_id_list                   | 0
 bt5/erp5_wizard/bt/template_local_role_list                     | 0
 bt5/erp5_wizard/bt/template_local_roles_list                    | 0
 bt5/erp5_wizard/bt/template_message_translation_list            | 0
 bt5/erp5_wizard/bt/template_module_id_list                      | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/erp5_wizard/bt/template_portal_type_base_category_list      | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_wizard/bt/template_portal_type_property_sheet_list     | 0
 bt5/erp5_wizard/bt/template_portal_type_role_list               | 0
 bt5/erp5_wizard/bt/template_portal_type_roles_list              | 0
 bt5/erp5_wizard/bt/template_portal_type_workflow_chain_list     | 0
 bt5/erp5_wizard/bt/template_preference_list                     | 0
 bt5/erp5_wizard/bt/template_product_id_list                     | 0
 bt5/erp5_wizard/bt/template_property_sheet_id_list              | 0
 bt5/erp5_wizard/bt/template_registered_skin_selection_list      | 0
 bt5/erp5_wizard/bt/template_role_list                           | 0
 bt5/erp5_wizard/bt/template_site_property_id_list               | 0
 bt5/erp5_wizard/bt/template_test_id_list                        | 0
 bt5/erp5_wizard/bt/template_workflow_id_list                    | 0
 bt5/erp5_worklist_sql/bt/categories_list                        | 0
 bt5/erp5_worklist_sql/bt/provision_list                         | 0
 bt5/erp5_worklist_sql/bt/revision                               | 2 +-
 bt5/erp5_worklist_sql/bt/template_action_path_list              | 0
 bt5/erp5_worklist_sql/bt/template_base_category_list            | 0
 bt5/erp5_worklist_sql/bt/template_catalog_datetime_key_list     | 0
 bt5/erp5_worklist_sql/bt/template_catalog_full_text_key_list    | 0
 bt5/erp5_worklist_sql/bt/template_catalog_keyword_key_list      | 0
 bt5/erp5_worklist_sql/bt/template_catalog_local_role_key_list   | 0
 bt5/erp5_worklist_sql/bt/template_catalog_method_id_list        | 0
 bt5/erp5_worklist_sql/bt/template_catalog_multivalue_key_list   | 0
 bt5/erp5_worklist_sql/bt/template_catalog_related_key_list      | 0
 bt5/erp5_worklist_sql/bt/template_catalog_request_key_list      | 0
 bt5/erp5_worklist_sql/bt/template_catalog_result_key_list       | 0
 bt5/erp5_worklist_sql/bt/template_catalog_result_table_list     | 0
 bt5/erp5_worklist_sql/bt/template_catalog_role_key_list         | 0
 bt5/erp5_worklist_sql/bt/template_catalog_scriptable_key_list   | 0
 bt5/erp5_worklist_sql/bt/template_catalog_topic_key_list        | 0
 bt5/erp5_worklist_sql/bt/template_constraint_id_list            | 0
 bt5/erp5_worklist_sql/bt/template_document_id_list              | 0
 bt5/erp5_worklist_sql/bt/template_extension_id_list             | 0
 bt5/erp5_worklist_sql/bt/template_local_roles_list              | 0
 bt5/erp5_worklist_sql/bt/template_message_translation_list      | 0
 bt5/erp5_worklist_sql/bt/template_module_id_list                | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/erp5_worklist_sql/bt/template_portal_type_id_list           | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/erp5_worklist_sql/bt/template_portal_type_roles_list        | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/erp5_worklist_sql/bt/template_preference_list               | 0
 bt5/erp5_worklist_sql/bt/template_product_id_list               | 0
 bt5/erp5_worklist_sql/bt/template_property_sheet_id_list        | 0
 bt5/erp5_worklist_sql/bt/template_role_list                     | 0
 bt5/erp5_worklist_sql/bt/template_site_property_id_list         | 0
 bt5/erp5_worklist_sql/bt/template_test_id_list                  | 0
 bt5/erp5_worklist_sql/bt/template_tool_id_list                  | 0
 bt5/erp5_worklist_sql/bt/template_workflow_id_list              | 0
 bt5/test_accounting/bt/categories_list                          | 0
 bt5/test_accounting/bt/change_log                               | 0
 bt5/test_accounting/bt/copyright_list                           | 0
 bt5/test_accounting/bt/description                              | 0
 bt5/test_accounting/bt/license                                  | 0
 bt5/test_accounting/bt/maintainer_list                          | 0
 bt5/test_accounting/bt/provision_list                           | 0
 bt5/test_accounting/bt/revision                                 | 2 +-
 bt5/test_accounting/bt/template_action_path_list                | 0
 bt5/test_accounting/bt/template_base_category_list              | 0
 bt5/test_accounting/bt/template_catalog_full_text_key_list      | 0
 bt5/test_accounting/bt/template_catalog_keyword_key_list        | 0
 bt5/test_accounting/bt/template_catalog_method_id_list          | 0
 bt5/test_accounting/bt/template_catalog_multivalue_key_list     | 0
 bt5/test_accounting/bt/template_catalog_related_key_list        | 0
 bt5/test_accounting/bt/template_catalog_request_key_list        | 0
 bt5/test_accounting/bt/template_catalog_result_key_list         | 0
 bt5/test_accounting/bt/template_catalog_result_table_list       | 0
 bt5/test_accounting/bt/template_catalog_topic_key_list          | 0
 bt5/test_accounting/bt/template_constraint_id_list              | 0
 bt5/test_accounting/bt/template_document_id_list                | 0
 bt5/test_accounting/bt/template_extension_id_list               | 0
 bt5/test_accounting/bt/template_local_roles_list                | 0
 bt5/test_accounting/bt/template_message_translation_list        | 0
 bt5/test_accounting/bt/template_module_id_list                  | 0
 bt5/test_accounting/bt/template_path_list                       | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/test_accounting/bt/template_portal_type_base_category_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/test_accounting/bt/template_portal_type_id_list             | 0
 bt5/test_accounting/bt/template_portal_type_property_sheet_list | 0
 bt5/test_accounting/bt/template_portal_type_roles_list          | 0
 bt5/test_accounting/bt/template_portal_type_workflow_chain_list | 0
 bt5/test_accounting/bt/template_preference_list                 | 0
 bt5/test_accounting/bt/template_product_id_list                 | 0
 bt5/test_accounting/bt/template_property_sheet_id_list          | 0
 bt5/test_accounting/bt/template_role_list                       | 0
 bt5/test_accounting/bt/template_site_property_id_list           | 0
 bt5/test_accounting/bt/template_skin_id_list                    | 0
 bt5/test_accounting/bt/template_test_id_list                    | 0
 bt5/test_accounting/bt/template_workflow_id_list                | 0
 bt5/test_accounting_fr/bt/categories_list                       | 0
 bt5/test_accounting_fr/bt/change_log                            | 0
 bt5/test_accounting_fr/bt/copyright_list                        | 0
 bt5/test_accounting_fr/bt/description                           | 0
 bt5/test_accounting_fr/bt/license                               | 0
 bt5/test_accounting_fr/bt/maintainer_list                       | 0
 bt5/test_accounting_fr/bt/provision_list                        | 0
 bt5/test_accounting_fr/bt/revision                              | 2 +-
 bt5/test_accounting_fr/bt/template_action_path_list             | 0
 bt5/test_accounting_fr/bt/template_base_category_list           | 0
 bt5/test_accounting_fr/bt/template_catalog_full_text_key_list   | 0
 bt5/test_accounting_fr/bt/template_catalog_keyword_key_list     | 0
 bt5/test_accounting_fr/bt/template_catalog_method_id_list       | 0
 bt5/test_accounting_fr/bt/template_catalog_multivalue_key_list  | 0
 bt5/test_accounting_fr/bt/template_catalog_related_key_list     | 0
 bt5/test_accounting_fr/bt/template_catalog_request_key_list     | 0
 bt5/test_accounting_fr/bt/template_catalog_result_key_list      | 0
 bt5/test_accounting_fr/bt/template_catalog_result_table_list    | 0
 bt5/test_accounting_fr/bt/template_catalog_topic_key_list       | 0
 bt5/test_accounting_fr/bt/template_constraint_id_list           | 0
 bt5/test_accounting_fr/bt/template_document_id_list             | 0
 bt5/test_accounting_fr/bt/template_extension_id_list            | 0
 bt5/test_accounting_fr/bt/template_local_roles_list             | 0
 bt5/test_accounting_fr/bt/template_message_translation_list     | 0
 bt5/test_accounting_fr/bt/template_module_id_list               | 0
 bt5/test_accounting_fr/bt/template_path_list                    | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/test_accounting_fr/bt/template_portal_type_id_list          | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/test_accounting_fr/bt/template_portal_type_roles_list       | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/test_accounting_fr/bt/template_preference_list              | 0
 bt5/test_accounting_fr/bt/template_product_id_list              | 0
 bt5/test_accounting_fr/bt/template_property_sheet_id_list       | 0
 bt5/test_accounting_fr/bt/template_role_list                    | 0
 bt5/test_accounting_fr/bt/template_site_property_id_list        | 0
 bt5/test_accounting_fr/bt/template_skin_id_list                 | 0
 bt5/test_accounting_fr/bt/template_test_id_list                 | 0
 bt5/test_accounting_fr/bt/template_workflow_id_list             | 0
 bt5/test_accounting_in/bt/categories_list                       | 0
 bt5/test_accounting_in/bt/change_log                            | 0
 bt5/test_accounting_in/bt/copyright_list                        | 0
 bt5/test_accounting_in/bt/description                           | 0
 bt5/test_accounting_in/bt/license                               | 0
 bt5/test_accounting_in/bt/maintainer_list                       | 0
 bt5/test_accounting_in/bt/provision_list                        | 0
 bt5/test_accounting_in/bt/revision                              | 2 +-
 bt5/test_accounting_in/bt/template_action_path_list             | 0
 bt5/test_accounting_in/bt/template_base_category_list           | 0
 bt5/test_accounting_in/bt/template_catalog_full_text_key_list   | 0
 bt5/test_accounting_in/bt/template_catalog_keyword_key_list     | 0
 bt5/test_accounting_in/bt/template_catalog_method_id_list       | 0
 bt5/test_accounting_in/bt/template_catalog_multivalue_key_list  | 0
 bt5/test_accounting_in/bt/template_catalog_related_key_list     | 0
 bt5/test_accounting_in/bt/template_catalog_request_key_list     | 0
 bt5/test_accounting_in/bt/template_catalog_result_key_list      | 0
 bt5/test_accounting_in/bt/template_catalog_result_table_list    | 0
 bt5/test_accounting_in/bt/template_catalog_topic_key_list       | 0
 bt5/test_accounting_in/bt/template_constraint_id_list           | 0
 bt5/test_accounting_in/bt/template_document_id_list             | 0
 bt5/test_accounting_in/bt/template_extension_id_list            | 0
 bt5/test_accounting_in/bt/template_local_roles_list             | 0
 bt5/test_accounting_in/bt/template_message_translation_list     | 0
 bt5/test_accounting_in/bt/template_module_id_list               | 0
 bt5/test_accounting_in/bt/template_path_list                    | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/test_accounting_in/bt/template_portal_type_id_list          | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/test_accounting_in/bt/template_portal_type_roles_list       | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/test_accounting_in/bt/template_preference_list              | 0
 bt5/test_accounting_in/bt/template_product_id_list              | 0
 bt5/test_accounting_in/bt/template_property_sheet_id_list       | 0
 bt5/test_accounting_in/bt/template_role_list                    | 0
 bt5/test_accounting_in/bt/template_site_property_id_list        | 0
 bt5/test_accounting_in/bt/template_skin_id_list                 | 0
 bt5/test_accounting_in/bt/template_test_id_list                 | 0
 bt5/test_accounting_in/bt/template_workflow_id_list             | 0
 bt5/test_accounting_pl/bt/categories_list                       | 0
 bt5/test_accounting_pl/bt/change_log                            | 0
 bt5/test_accounting_pl/bt/copyright_list                        | 0
 bt5/test_accounting_pl/bt/description                           | 0
 bt5/test_accounting_pl/bt/license                               | 0
 bt5/test_accounting_pl/bt/maintainer_list                       | 0
 bt5/test_accounting_pl/bt/provision_list                        | 0
 bt5/test_accounting_pl/bt/revision                              | 2 +-
 bt5/test_accounting_pl/bt/template_action_path_list             | 0
 bt5/test_accounting_pl/bt/template_base_category_list           | 0
 bt5/test_accounting_pl/bt/template_catalog_full_text_key_list   | 0
 bt5/test_accounting_pl/bt/template_catalog_keyword_key_list     | 0
 bt5/test_accounting_pl/bt/template_catalog_method_id_list       | 0
 bt5/test_accounting_pl/bt/template_catalog_multivalue_key_list  | 0
 bt5/test_accounting_pl/bt/template_catalog_related_key_list     | 0
 bt5/test_accounting_pl/bt/template_catalog_request_key_list     | 0
 bt5/test_accounting_pl/bt/template_catalog_result_key_list      | 0
 bt5/test_accounting_pl/bt/template_catalog_result_table_list    | 0
 bt5/test_accounting_pl/bt/template_catalog_topic_key_list       | 0
 bt5/test_accounting_pl/bt/template_constraint_id_list           | 0
 bt5/test_accounting_pl/bt/template_document_id_list             | 0
 bt5/test_accounting_pl/bt/template_extension_id_list            | 0
 bt5/test_accounting_pl/bt/template_local_roles_list             | 0
 bt5/test_accounting_pl/bt/template_message_translation_list     | 0
 bt5/test_accounting_pl/bt/template_module_id_list               | 0
 bt5/test_accounting_pl/bt/template_path_list                    | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/test_accounting_pl/bt/template_portal_type_id_list          | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/test_accounting_pl/bt/template_portal_type_roles_list       | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/test_accounting_pl/bt/template_preference_list              | 0
 bt5/test_accounting_pl/bt/template_product_id_list              | 0
 bt5/test_accounting_pl/bt/template_property_sheet_id_list       | 0
 bt5/test_accounting_pl/bt/template_role_list                    | 0
 bt5/test_accounting_pl/bt/template_site_property_id_list        | 0
 bt5/test_accounting_pl/bt/template_skin_id_list                 | 0
 bt5/test_accounting_pl/bt/template_test_id_list                 | 0
 bt5/test_accounting_pl/bt/template_workflow_id_list             | 0
 bt5/test_core/bt/categories_list                                | 0
 bt5/test_core/bt/change_log                                     | 0
 bt5/test_core/bt/copyright_list                                 | 0
 bt5/test_core/bt/dependency_list                                | 0
 bt5/test_core/bt/description                                    | 0
 bt5/test_core/bt/license                                        | 0
 bt5/test_core/bt/maintainer_list                                | 0
 bt5/test_core/bt/provision_list                                 | 0
 bt5/test_core/bt/revision                                       | 2 +-
 bt5/test_core/bt/template_action_path_list                      | 0
 bt5/test_core/bt/template_base_category_list                    | 0
 bt5/test_core/bt/template_catalog_full_text_key_list            | 0
 bt5/test_core/bt/template_catalog_keyword_key_list              | 0
 bt5/test_core/bt/template_catalog_method_id_list                | 0
 bt5/test_core/bt/template_catalog_multivalue_key_list           | 0
 bt5/test_core/bt/template_catalog_related_key_list              | 0
 bt5/test_core/bt/template_catalog_request_key_list              | 0
 bt5/test_core/bt/template_catalog_result_key_list               | 0
 bt5/test_core/bt/template_catalog_result_table_list             | 0
 bt5/test_core/bt/template_catalog_topic_key_list                | 0
 bt5/test_core/bt/template_constraint_id_list                    | 0
 bt5/test_core/bt/template_document_id_list                      | 0
 bt5/test_core/bt/template_extension_id_list                     | 0
 bt5/test_core/bt/template_local_roles_list                      | 0
 bt5/test_core/bt/template_message_translation_list              | 0
 bt5/test_core/bt/template_module_id_list                        | 0
 bt5/test_core/bt/template_path_list                             | 0
 bt5/test_core/bt/template_portal_type_allowed_content_type_list | 0
 bt5/test_core/bt/template_portal_type_base_category_list        | 0
 bt5/test_core/bt/template_portal_type_hidden_content_type_list  | 0
 bt5/test_core/bt/template_portal_type_id_list                   | 0
 bt5/test_core/bt/template_portal_type_property_sheet_list       | 0
 bt5/test_core/bt/template_portal_type_roles_list                | 0
 bt5/test_core/bt/template_portal_type_workflow_chain_list       | 0
 bt5/test_core/bt/template_preference_list                       | 0
 bt5/test_core/bt/template_product_id_list                       | 0
 bt5/test_core/bt/template_property_sheet_id_list                | 0
 bt5/test_core/bt/template_role_list                             | 0
 bt5/test_core/bt/template_site_property_id_list                 | 0
 bt5/test_core/bt/template_test_id_list                          | 0
 bt5/test_core/bt/template_workflow_id_list                      | 0
 bt5/test_html_style/bt/categories_list                          | 0
 bt5/test_html_style/bt/change_log                               | 0
 bt5/test_html_style/bt/copyright_list                           | 0
 bt5/test_html_style/bt/dependency_list                          | 0
 bt5/test_html_style/bt/description                              | 0
 bt5/test_html_style/bt/license                                  | 0
 bt5/test_html_style/bt/maintainer_list                          | 0
 bt5/test_html_style/bt/revision                                 | 2 +-
 bt5/test_html_style/bt/template_action_path_list                | 0
 bt5/test_html_style/bt/template_base_category_list              | 0
 bt5/test_html_style/bt/template_catalog_full_text_key_list      | 0
 bt5/test_html_style/bt/template_catalog_keyword_key_list        | 0
 bt5/test_html_style/bt/template_catalog_method_id_list          | 0
 bt5/test_html_style/bt/template_catalog_multivalue_key_list     | 0
 bt5/test_html_style/bt/template_catalog_related_key_list        | 0
 bt5/test_html_style/bt/template_catalog_request_key_list        | 0
 bt5/test_html_style/bt/template_catalog_result_key_list         | 0
 bt5/test_html_style/bt/template_catalog_result_table_list       | 0
 bt5/test_html_style/bt/template_catalog_topic_key_list          | 0
 bt5/test_html_style/bt/template_constraint_id_list              | 0
 bt5/test_html_style/bt/template_document_id_list                | 0
 bt5/test_html_style/bt/template_extension_id_list               | 0
 bt5/test_html_style/bt/template_local_roles_list                | 0
 bt5/test_html_style/bt/template_message_translation_list        | 0
 bt5/test_html_style/bt/template_module_id_list                  | 0
 bt5/test_html_style/bt/template_path_list                       | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/test_html_style/bt/template_portal_type_base_category_list  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/test_html_style/bt/template_portal_type_id_list             | 0
 bt5/test_html_style/bt/template_portal_type_property_sheet_list | 0
 bt5/test_html_style/bt/template_portal_type_roles_list          | 0
 bt5/test_html_style/bt/template_portal_type_workflow_chain_list | 0
 bt5/test_html_style/bt/template_preference_list                 | 0
 bt5/test_html_style/bt/template_product_id_list                 | 0
 bt5/test_html_style/bt/template_property_sheet_id_list          | 0
 bt5/test_html_style/bt/template_role_list                       | 0
 bt5/test_html_style/bt/template_site_property_id_list           | 0
 bt5/test_html_style/bt/template_skin_id_list                    | 0
 bt5/test_html_style/bt/template_test_id_list                    | 0
 bt5/test_html_style/bt/template_workflow_id_list                | 0
 bt5/test_web/bt/categories_list                                 | 0
 bt5/test_web/bt/change_log                                      | 0
 bt5/test_web/bt/copyright_list                                  | 0
 bt5/test_web/bt/description                                     | 0
 bt5/test_web/bt/license                                         | 0
 bt5/test_web/bt/maintainer_list                                 | 0
 bt5/test_web/bt/provision_list                                  | 0
 bt5/test_web/bt/revision                                        | 2 +-
 bt5/test_web/bt/template_action_path_list                       | 0
 bt5/test_web/bt/template_base_category_list                     | 0
 bt5/test_web/bt/template_catalog_full_text_key_list             | 0
 bt5/test_web/bt/template_catalog_keyword_key_list               | 0
 bt5/test_web/bt/template_catalog_method_id_list                 | 0
 bt5/test_web/bt/template_catalog_multivalue_key_list            | 0
 bt5/test_web/bt/template_catalog_related_key_list               | 0
 bt5/test_web/bt/template_catalog_request_key_list               | 0
 bt5/test_web/bt/template_catalog_result_key_list                | 0
 bt5/test_web/bt/template_catalog_result_table_list              | 0
 bt5/test_web/bt/template_catalog_topic_key_list                 | 0
 bt5/test_web/bt/template_constraint_id_list                     | 0
 bt5/test_web/bt/template_document_id_list                       | 0
 bt5/test_web/bt/template_extension_id_list                      | 0
 bt5/test_web/bt/template_local_roles_list                       | 0
 bt5/test_web/bt/template_message_translation_list               | 0
 bt5/test_web/bt/template_module_id_list                         | 0
 bt5/test_web/bt/template_path_list                              | 0
 bt5/test_web/bt/template_portal_type_allowed_content_type_list  | 0
 bt5/test_web/bt/template_portal_type_base_category_list         | 0
 bt5/test_web/bt/template_portal_type_hidden_content_type_list   | 0
 bt5/test_web/bt/template_portal_type_id_list                    | 0
 bt5/test_web/bt/template_portal_type_property_sheet_list        | 0
 bt5/test_web/bt/template_portal_type_roles_list                 | 0
 bt5/test_web/bt/template_portal_type_workflow_chain_list        | 0
 bt5/test_web/bt/template_preference_list                        | 0
 bt5/test_web/bt/template_product_id_list                        | 0
 bt5/test_web/bt/template_property_sheet_id_list                 | 0
 bt5/test_web/bt/template_role_list                              | 0
 bt5/test_web/bt/template_site_property_id_list                  | 0
 bt5/test_web/bt/template_skin_id_list                           | 0
 bt5/test_web/bt/template_test_id_list                           | 0
 bt5/test_web/bt/template_workflow_id_list                       | 0
 bt5/test_web/bt/version                                         | 0
 bt5/test_xhtml_style/bt/categories_list                         | 0
 bt5/test_xhtml_style/bt/change_log                              | 0
 bt5/test_xhtml_style/bt/copyright_list                          | 0
 bt5/test_xhtml_style/bt/dependency_list                         | 0
 bt5/test_xhtml_style/bt/description                             | 0
 bt5/test_xhtml_style/bt/license                                 | 0
 bt5/test_xhtml_style/bt/maintainer_list                         | 0
 bt5/test_xhtml_style/bt/revision                                | 2 +-
 bt5/test_xhtml_style/bt/template_action_path_list               | 0
 bt5/test_xhtml_style/bt/template_base_category_list             | 0
 bt5/test_xhtml_style/bt/template_catalog_full_text_key_list     | 0
 bt5/test_xhtml_style/bt/template_catalog_keyword_key_list       | 0
 bt5/test_xhtml_style/bt/template_catalog_method_id_list         | 0
 bt5/test_xhtml_style/bt/template_catalog_multivalue_key_list    | 0
 bt5/test_xhtml_style/bt/template_catalog_related_key_list       | 0
 bt5/test_xhtml_style/bt/template_catalog_request_key_list       | 0
 bt5/test_xhtml_style/bt/template_catalog_result_key_list        | 0
 bt5/test_xhtml_style/bt/template_catalog_result_table_list      | 0
 bt5/test_xhtml_style/bt/template_catalog_topic_key_list         | 0
 bt5/test_xhtml_style/bt/template_constraint_id_list             | 0
 bt5/test_xhtml_style/bt/template_document_id_list               | 0
 bt5/test_xhtml_style/bt/template_extension_id_list              | 0
 bt5/test_xhtml_style/bt/template_local_roles_list               | 0
 bt5/test_xhtml_style/bt/template_message_translation_list       | 0
 bt5/test_xhtml_style/bt/template_module_id_list                 | 0
 bt5/test_xhtml_style/bt/template_path_list                      | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/test_xhtml_style/bt/template_portal_type_base_category_list | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/test_xhtml_style/bt/template_portal_type_id_list            | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 bt5/test_xhtml_style/bt/template_portal_type_roles_list         | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 bt5/test_xhtml_style/bt/template_preference_list                | 0
 bt5/test_xhtml_style/bt/template_product_id_list                | 0
 bt5/test_xhtml_style/bt/template_property_sheet_id_list         | 0
 bt5/test_xhtml_style/bt/template_role_list                      | 0
 bt5/test_xhtml_style/bt/template_site_property_id_list          | 0
 bt5/test_xhtml_style/bt/template_skin_id_list                   | 0
 bt5/test_xhtml_style/bt/template_test_id_list                   | 0
 bt5/test_xhtml_style/bt/template_workflow_id_list               | 0
 bt5/tiolive_base/bt/categories_list                             | 0
 bt5/tiolive_base/bt/comment                                     | 0
 bt5/tiolive_base/bt/copyright_list                              | 0
 bt5/tiolive_base/bt/provision_list                              | 0
 bt5/tiolive_base/bt/revision                                    | 2 +-
 bt5/tiolive_base/bt/template_base_category_list                 | 0
 bt5/tiolive_base/bt/template_catalog_datetime_key_list          | 0
 bt5/tiolive_base/bt/template_catalog_full_text_key_list         | 0
 bt5/tiolive_base/bt/template_catalog_keyword_key_list           | 0
 bt5/tiolive_base/bt/template_catalog_local_role_key_list        | 0
 bt5/tiolive_base/bt/template_catalog_method_id_list             | 0
 bt5/tiolive_base/bt/template_catalog_multivalue_key_list        | 0
 bt5/tiolive_base/bt/template_catalog_related_key_list           | 0
 bt5/tiolive_base/bt/template_catalog_request_key_list           | 0
 bt5/tiolive_base/bt/template_catalog_result_key_list            | 0
 bt5/tiolive_base/bt/template_catalog_result_table_list          | 0
 bt5/tiolive_base/bt/template_catalog_role_key_list              | 0
 bt5/tiolive_base/bt/template_catalog_scriptable_key_list        | 0
 bt5/tiolive_base/bt/template_catalog_topic_key_list             | 0
 bt5/tiolive_base/bt/template_constraint_id_list                 | 0
 bt5/tiolive_base/bt/template_document_id_list                   | 0
 bt5/tiolive_base/bt/template_extension_id_list                  | 0
 bt5/tiolive_base/bt/template_local_role_list                    | 0
 bt5/tiolive_base/bt/template_local_roles_list                   | 0
 bt5/tiolive_base/bt/template_message_translation_list           | 0
 bt5/tiolive_base/bt/template_module_id_list                     | 0
 bt5/tiolive_base/bt/template_path_list                          | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 bt5/tiolive_base/bt/template_portal_type_base_category_list     | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 bt5/tiolive_base/bt/template_portal_type_id_list                | 0
 bt5/tiolive_base/bt/template_portal_type_property_sheet_list    | 0
 bt5/tiolive_base/bt/template_portal_type_role_list              | 0
 bt5/tiolive_base/bt/template_portal_type_roles_list             | 0
 bt5/tiolive_base/bt/template_portal_type_workflow_chain_list    | 0
 bt5/tiolive_base/bt/template_preference_list                    | 0
 bt5/tiolive_base/bt/template_product_id_list                    | 0
 bt5/tiolive_base/bt/template_property_sheet_id_list             | 0
 bt5/tiolive_base/bt/template_role_list                          | 0
 bt5/tiolive_base/bt/template_site_property_id_list              | 0
 bt5/tiolive_base/bt/template_test_id_list                       | 0
 bt5/tiolive_base/bt/template_tool_id_list                       | 0
 bt5/tiolive_base/bt/template_workflow_id_list                   | 0
 5003 files changed, 130 insertions(+), 130 deletions(-)
 delete mode 100644 bt5/delivery_patch/bt/categories_list
 delete mode 100644 bt5/delivery_patch/bt/dependency_list
 delete mode 100644 bt5/delivery_patch/bt/provision_list
 delete mode 100644 bt5/delivery_patch/bt/template_base_category_list
 delete mode 100644 bt5/delivery_patch/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/delivery_patch/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/delivery_patch/bt/template_catalog_method_id_list
 delete mode 100644 bt5/delivery_patch/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/delivery_patch/bt/template_catalog_related_key_list
 delete mode 100644 bt5/delivery_patch/bt/template_catalog_request_key_list
 delete mode 100644 bt5/delivery_patch/bt/template_catalog_result_key_list
 delete mode 100644 bt5/delivery_patch/bt/template_catalog_result_table_list
 delete mode 100644 bt5/delivery_patch/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/delivery_patch/bt/template_constraint_id_list
 delete mode 100644 bt5/delivery_patch/bt/template_document_id_list
 delete mode 100644 bt5/delivery_patch/bt/template_extension_id_list
 delete mode 100644 bt5/delivery_patch/bt/template_local_roles_list
 delete mode 100644 bt5/delivery_patch/bt/template_message_translation_list
 delete mode 100644 bt5/delivery_patch/bt/template_path_list
 delete mode 100644 bt5/delivery_patch/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/delivery_patch/bt/template_portal_type_roles_list
 delete mode 100644 bt5/delivery_patch/bt/template_preference_list
 delete mode 100644 bt5/delivery_patch/bt/template_product_id_list
 delete mode 100644 bt5/delivery_patch/bt/template_property_sheet_id_list
 delete mode 100644 bt5/delivery_patch/bt/template_role_list
 delete mode 100644 bt5/delivery_patch/bt/template_site_property_id_list
 delete mode 100644 bt5/delivery_patch/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting/bt/categories_list
 delete mode 100644 bt5/erp5_accounting/bt/provision_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_accounting/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting/bt/template_local_role_list
 delete mode 100644 bt5/erp5_accounting/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_accounting/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_accounting/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/comment
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_action_path_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/comment
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_action_path_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/comment
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_action_path_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/comment
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_action_path_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/comment
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/copyright_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/license
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/maintainer_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_action_path_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_local_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/comment
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_action_path_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/comment
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/comment
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/maintainer_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_local_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/comment
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_action_path_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_local_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_path_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/comment
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/copyright_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/dependency_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/description
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/license
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/maintainer_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_action_path_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_action_path_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/comment
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_local_role_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_administration/bt/categories_list
 delete mode 100644 bt5/erp5_administration/bt/comment
 delete mode 100644 bt5/erp5_administration/bt/dependency_list
 delete mode 100644 bt5/erp5_administration/bt/maintainer_list
 delete mode 100644 bt5/erp5_administration/bt/provision_list
 delete mode 100644 bt5/erp5_administration/bt/template_base_category_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_administration/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_administration/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_administration/bt/template_document_id_list
 delete mode 100644 bt5/erp5_administration/bt/template_local_role_list
 delete mode 100644 bt5/erp5_administration/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_administration/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_administration/bt/template_module_id_list
 delete mode 100644 bt5/erp5_administration/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_administration/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_administration/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_administration/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_administration/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_administration/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_administration/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_administration/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_administration/bt/template_preference_list
 delete mode 100644 bt5/erp5_administration/bt/template_product_id_list
 delete mode 100644 bt5/erp5_administration/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_administration/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_administration/bt/template_role_list
 delete mode 100644 bt5/erp5_administration/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_administration/bt/template_test_id_list
 delete mode 100644 bt5/erp5_administration/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_administration/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/categories_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/comment
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/provision_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_base_category_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_document_id_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_local_role_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_preference_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_product_id_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_role_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_test_id_list
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_apparel/bt/categories_list
 delete mode 100644 bt5/erp5_apparel/bt/comment
 delete mode 100644 bt5/erp5_apparel/bt/provision_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_apparel/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_apparel/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_apparel/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_apparel/bt/template_local_role_list
 delete mode 100644 bt5/erp5_apparel/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_apparel/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_apparel/bt/template_path_list
 delete mode 100644 bt5/erp5_apparel/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_apparel/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_apparel/bt/template_preference_list
 delete mode 100644 bt5/erp5_apparel/bt/template_product_id_list
 delete mode 100644 bt5/erp5_apparel/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_apparel/bt/template_role_list
 delete mode 100644 bt5/erp5_apparel/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_apparel/bt/template_test_id_list
 delete mode 100644 bt5/erp5_apparel/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_archive/bt/categories_list
 delete mode 100644 bt5/erp5_archive/bt/comment
 delete mode 100644 bt5/erp5_archive/bt/provision_list
 delete mode 100644 bt5/erp5_archive/bt/template_base_category_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_archive/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_archive/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_archive/bt/template_document_id_list
 delete mode 100644 bt5/erp5_archive/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_archive/bt/template_local_role_list
 delete mode 100644 bt5/erp5_archive/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_archive/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_archive/bt/template_path_list
 delete mode 100644 bt5/erp5_archive/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_archive/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_archive/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_archive/bt/template_preference_list
 delete mode 100644 bt5/erp5_archive/bt/template_product_id_list
 delete mode 100644 bt5/erp5_archive/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_archive/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_archive/bt/template_role_list
 delete mode 100644 bt5/erp5_archive/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_archive/bt/template_test_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/categories_list
 delete mode 100644 bt5/erp5_auto_logout/bt/comment
 delete mode 100644 bt5/erp5_auto_logout/bt/dependency_list
 delete mode 100644 bt5/erp5_auto_logout/bt/provision_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_action_path_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_base_category_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_document_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_module_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_path_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_preference_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_product_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_role_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_test_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_auto_logout/bt/version
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/categories_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/comment
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/provision_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_action_path_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_base_category_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_document_id_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_local_role_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_module_id_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_path_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_preference_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_product_id_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_role_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_test_id_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_banking_cash/bt/categories_list
 delete mode 100644 bt5/erp5_banking_cash/bt/comment
 delete mode 100644 bt5/erp5_banking_cash/bt/provision_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_document_id_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_local_role_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_path_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_preference_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_product_id_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_role_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_test_id_list
 delete mode 100644 bt5/erp5_banking_cash/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_banking_check/bt/categories_list
 delete mode 100644 bt5/erp5_banking_check/bt/comment
 delete mode 100644 bt5/erp5_banking_check/bt/provision_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_base_category_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_document_id_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_local_role_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_path_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_preference_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_product_id_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_role_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_test_id_list
 delete mode 100644 bt5/erp5_banking_check/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_banking_core/bt/categories_list
 delete mode 100644 bt5/erp5_banking_core/bt/comment
 delete mode 100644 bt5/erp5_banking_core/bt/provision_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_document_id_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_local_role_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_preference_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_product_id_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_role_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_test_id_list
 delete mode 100644 bt5/erp5_banking_core/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/categories_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/comment
 delete mode 100644 bt5/erp5_banking_inventory/bt/provision_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_base_category_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_document_id_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_local_role_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_path_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_preference_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_product_id_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_role_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_test_id_list
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_barcode/bt/categories_list
 delete mode 100644 bt5/erp5_barcode/bt/comment
 delete mode 100644 bt5/erp5_barcode/bt/copyright_list
 delete mode 100644 bt5/erp5_barcode/bt/dependency_list
 delete mode 100644 bt5/erp5_barcode/bt/license
 delete mode 100644 bt5/erp5_barcode/bt/provision_list
 delete mode 100644 bt5/erp5_barcode/bt/template_base_category_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_barcode/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_barcode/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_barcode/bt/template_document_id_list
 delete mode 100644 bt5/erp5_barcode/bt/template_local_role_list
 delete mode 100644 bt5/erp5_barcode/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_barcode/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_barcode/bt/template_path_list
 delete mode 100644 bt5/erp5_barcode/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_barcode/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_barcode/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_barcode/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_barcode/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_barcode/bt/template_preference_list
 delete mode 100644 bt5/erp5_barcode/bt/template_product_id_list
 delete mode 100644 bt5/erp5_barcode/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_barcode/bt/template_role_list
 delete mode 100644 bt5/erp5_barcode/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_barcode/bt/template_test_id_list
 delete mode 100644 bt5/erp5_barcode/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_barcode/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_base/bt/categories_list
 delete mode 100644 bt5/erp5_base/bt/comment
 delete mode 100644 bt5/erp5_base/bt/provision_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_base/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_base/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_base/bt/template_document_id_list
 delete mode 100644 bt5/erp5_base/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_base/bt/template_local_role_list
 delete mode 100644 bt5/erp5_base/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_base/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_base/bt/template_preference_list
 delete mode 100644 bt5/erp5_base/bt/template_product_id_list
 delete mode 100644 bt5/erp5_base/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_base/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_base/bt/template_role_list
 delete mode 100644 bt5/erp5_base/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_base/bt/template_test_id_list
 delete mode 100644 bt5/erp5_bespin/bt/categories_list
 delete mode 100644 bt5/erp5_bespin/bt/provision_list
 delete mode 100644 bt5/erp5_bespin/bt/template_action_path_list
 delete mode 100644 bt5/erp5_bespin/bt/template_base_category_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_bespin/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_bespin/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_bespin/bt/template_document_id_list
 delete mode 100644 bt5/erp5_bespin/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_bespin/bt/template_local_role_list
 delete mode 100644 bt5/erp5_bespin/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_bespin/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_bespin/bt/template_module_id_list
 delete mode 100644 bt5/erp5_bespin/bt/template_path_list
 delete mode 100644 bt5/erp5_bespin/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_bespin/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_bespin/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_bespin/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_bespin/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_bespin/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_bespin/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_bespin/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_bespin/bt/template_preference_list
 delete mode 100644 bt5/erp5_bespin/bt/template_product_id_list
 delete mode 100644 bt5/erp5_bespin/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_bespin/bt/template_role_list
 delete mode 100644 bt5/erp5_bespin/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_bespin/bt/template_test_id_list
 delete mode 100644 bt5/erp5_bespin/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_bespin/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_bpm/bt/categories_list
 delete mode 100644 bt5/erp5_bpm/bt/comment
 delete mode 100644 bt5/erp5_bpm/bt/provision_list
 delete mode 100644 bt5/erp5_bpm/bt/template_base_category_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_bpm/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_bpm/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_bpm/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_bpm/bt/template_local_role_list
 delete mode 100644 bt5/erp5_bpm/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_bpm/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_bpm/bt/template_module_id_list
 delete mode 100644 bt5/erp5_bpm/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_bpm/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_bpm/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_bpm/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_bpm/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_bpm/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_bpm/bt/template_preference_list
 delete mode 100644 bt5/erp5_bpm/bt/template_product_id_list
 delete mode 100644 bt5/erp5_bpm/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_bpm/bt/template_role_list
 delete mode 100644 bt5/erp5_bpm/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_bpm/bt/template_test_id_list
 delete mode 100644 bt5/erp5_bpm/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_budget/bt/categories_list
 delete mode 100644 bt5/erp5_budget/bt/comment
 delete mode 100644 bt5/erp5_budget/bt/description
 delete mode 100644 bt5/erp5_budget/bt/provision_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_budget/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_budget/bt/template_document_id_list
 delete mode 100644 bt5/erp5_budget/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_budget/bt/template_local_role_list
 delete mode 100644 bt5/erp5_budget/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_budget/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_budget/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_budget/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_budget/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_budget/bt/template_preference_list
 delete mode 100644 bt5/erp5_budget/bt/template_product_id_list
 delete mode 100644 bt5/erp5_budget/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_budget/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_budget/bt/template_role_list
 delete mode 100644 bt5/erp5_budget/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_budget/bt/template_test_id_list
 delete mode 100644 bt5/erp5_budget/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_calendar/bt/categories_list
 delete mode 100644 bt5/erp5_calendar/bt/comment
 delete mode 100644 bt5/erp5_calendar/bt/dependency_list
 delete mode 100644 bt5/erp5_calendar/bt/provision_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_calendar/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_calendar/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_calendar/bt/template_document_id_list
 delete mode 100644 bt5/erp5_calendar/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_calendar/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_calendar/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_calendar/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_calendar/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_calendar/bt/template_preference_list
 delete mode 100644 bt5/erp5_calendar/bt/template_product_id_list
 delete mode 100644 bt5/erp5_calendar/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_calendar/bt/template_role_list
 delete mode 100644 bt5/erp5_calendar/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_calendar/bt/template_test_id_list
 delete mode 100644 bt5/erp5_calendar/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_commerce/bt/categories_list
 delete mode 100644 bt5/erp5_commerce/bt/provision_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_commerce/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_commerce/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_commerce/bt/template_document_id_list
 delete mode 100644 bt5/erp5_commerce/bt/template_local_role_list
 delete mode 100644 bt5/erp5_commerce/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_commerce/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_commerce/bt/template_module_id_list
 delete mode 100644 bt5/erp5_commerce/bt/template_path_list
 delete mode 100644 bt5/erp5_commerce/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_commerce/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_commerce/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_commerce/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_commerce/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_commerce/bt/template_preference_list
 delete mode 100644 bt5/erp5_commerce/bt/template_product_id_list
 delete mode 100644 bt5/erp5_commerce/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_commerce/bt/template_role_list
 delete mode 100644 bt5/erp5_commerce/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_commerce/bt/template_test_id_list
 delete mode 100644 bt5/erp5_commerce/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/categories_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/comment
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/provision_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_base_category_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_document_id_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_local_role_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_path_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_preference_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_product_id_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_role_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_test_id_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_consulting/bt/categories_list
 delete mode 100644 bt5/erp5_consulting/bt/comment
 delete mode 100644 bt5/erp5_consulting/bt/dependency_list
 delete mode 100644 bt5/erp5_consulting/bt/provision_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_consulting/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_consulting/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_consulting/bt/template_document_id_list
 delete mode 100644 bt5/erp5_consulting/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_consulting/bt/template_local_role_list
 delete mode 100644 bt5/erp5_consulting/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_consulting/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_consulting/bt/template_path_list
 delete mode 100644 bt5/erp5_consulting/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_consulting/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_consulting/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_consulting/bt/template_preference_list
 delete mode 100644 bt5/erp5_consulting/bt/template_product_id_list
 delete mode 100644 bt5/erp5_consulting/bt/template_role_list
 delete mode 100644 bt5/erp5_consulting/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_consulting/bt/template_test_id_list
 delete mode 100644 bt5/erp5_consulting/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_content_translation/bt/categories_list
 delete mode 100644 bt5/erp5_content_translation/bt/comment
 delete mode 100644 bt5/erp5_content_translation/bt/copyright_list
 delete mode 100644 bt5/erp5_content_translation/bt/license
 delete mode 100644 bt5/erp5_content_translation/bt/provision_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_base_category_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_document_id_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_local_role_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_module_id_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_path_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_preference_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_product_id_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_role_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_test_id_list
 delete mode 100644 bt5/erp5_content_translation/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_crm/bt/categories_list
 delete mode 100644 bt5/erp5_crm/bt/comment
 delete mode 100644 bt5/erp5_crm/bt/provision_list
 delete mode 100644 bt5/erp5_crm/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_crm/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_crm/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_crm/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_crm/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_crm/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_crm/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_crm/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_crm/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_crm/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_crm/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_crm/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_crm/bt/template_document_id_list
 delete mode 100644 bt5/erp5_crm/bt/template_local_role_list
 delete mode 100644 bt5/erp5_crm/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_crm/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_crm/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_crm/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_crm/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_crm/bt/template_preference_list
 delete mode 100644 bt5/erp5_crm/bt/template_product_id_list
 delete mode 100644 bt5/erp5_crm/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_crm/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_crm/bt/template_role_list
 delete mode 100644 bt5/erp5_crm/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_crm/bt/template_test_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/categories_list
 delete mode 100644 bt5/erp5_csv_style/bt/comment
 delete mode 100644 bt5/erp5_csv_style/bt/dependency_list
 delete mode 100644 bt5/erp5_csv_style/bt/provision_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_base_category_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_document_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_module_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_path_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_preference_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_product_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_role_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_test_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_csv_style/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_data_protection/bt/categories_list
 delete mode 100644 bt5/erp5_data_protection/bt/comment
 delete mode 100644 bt5/erp5_data_protection/bt/dependency_list
 delete mode 100644 bt5/erp5_data_protection/bt/maintainer_list
 delete mode 100644 bt5/erp5_data_protection/bt/provision_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_base_category_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_document_id_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_local_role_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_path_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_preference_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_product_id_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_role_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_test_id_list
 delete mode 100644 bt5/erp5_data_protection/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_data_protection/bt/version
 delete mode 100644 bt5/erp5_deferred_style/bt/categories_list
 delete mode 100644 bt5/erp5_deferred_style/bt/provision_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_action_path_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_base_category_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_document_id_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_local_role_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_module_id_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_path_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_preference_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_product_id_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_role_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_test_id_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_deferred_style/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_development_wizard/bt/categories_list
 delete mode 100644 bt5/erp5_development_wizard/bt/provision_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_base_category_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_document_id_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_local_role_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_module_id_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_path_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_preference_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_product_id_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_role_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_test_id_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_development_wizard/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/categories_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/comment
 delete mode 100644 bt5/erp5_dhtml_style/bt/provision_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_action_path_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_base_category_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_document_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_local_role_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_module_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_path_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_preference_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_product_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_role_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_test_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/comment
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_local_role_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_discount_resource/bt/categories_list
 delete mode 100644 bt5/erp5_discount_resource/bt/comment
 delete mode 100644 bt5/erp5_discount_resource/bt/maintainer_list
 delete mode 100644 bt5/erp5_discount_resource/bt/provision_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_base_category_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_document_id_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_local_role_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_path_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_preference_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_product_id_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_role_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_test_id_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_discount_resource/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_discussion/bt/categories_list
 delete mode 100644 bt5/erp5_discussion/bt/comment
 delete mode 100644 bt5/erp5_discussion/bt/license
 delete mode 100644 bt5/erp5_discussion/bt/provision_list
 delete mode 100644 bt5/erp5_discussion/bt/template_base_category_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_discussion/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_discussion/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_discussion/bt/template_document_id_list
 delete mode 100644 bt5/erp5_discussion/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_discussion/bt/template_local_role_list
 delete mode 100644 bt5/erp5_discussion/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_discussion/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_discussion/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_discussion/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_discussion/bt/template_preference_list
 delete mode 100644 bt5/erp5_discussion/bt/template_product_id_list
 delete mode 100644 bt5/erp5_discussion/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_discussion/bt/template_role_list
 delete mode 100644 bt5/erp5_discussion/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_discussion/bt/template_test_id_list
 delete mode 100644 bt5/erp5_discussion/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_discussion/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_dms/bt/categories_list
 delete mode 100644 bt5/erp5_dms/bt/comment
 delete mode 100644 bt5/erp5_dms/bt/provision_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_dms/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_dms/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_dms/bt/template_document_id_list
 delete mode 100644 bt5/erp5_dms/bt/template_local_role_list
 delete mode 100644 bt5/erp5_dms/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_dms/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_dms/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_dms/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_dms/bt/template_preference_list
 delete mode 100644 bt5/erp5_dms/bt/template_product_id_list
 delete mode 100644 bt5/erp5_dms/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_dms/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_dms/bt/template_role_list
 delete mode 100644 bt5/erp5_dms/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_dms/bt/template_test_id_list
 delete mode 100644 bt5/erp5_dms/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/comment
 delete mode 100644 bt5/erp5_dms_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_local_role_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_documentation/bt/categories_list
 delete mode 100644 bt5/erp5_documentation/bt/provision_list
 delete mode 100644 bt5/erp5_documentation/bt/template_base_category_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_documentation/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_documentation/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_documentation/bt/template_document_id_list
 delete mode 100644 bt5/erp5_documentation/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_documentation/bt/template_local_role_list
 delete mode 100644 bt5/erp5_documentation/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_documentation/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_documentation/bt/template_module_id_list
 delete mode 100644 bt5/erp5_documentation/bt/template_path_list
 delete mode 100644 bt5/erp5_documentation/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_documentation/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_documentation/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_documentation/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_documentation/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_documentation/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_documentation/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_documentation/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_documentation/bt/template_preference_list
 delete mode 100644 bt5/erp5_documentation/bt/template_product_id_list
 delete mode 100644 bt5/erp5_documentation/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_documentation/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_documentation/bt/template_role_list
 delete mode 100644 bt5/erp5_documentation/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_documentation/bt/template_test_id_list
 delete mode 100644 bt5/erp5_documentation/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_documentation/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/categories_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/comment
 delete mode 100644 bt5/erp5_dummy_movement/bt/copyright_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/provision_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_action_path_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_base_category_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_local_role_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_module_id_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_path_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_preference_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_product_id_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_role_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_test_id_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_egov/bt/categories_list
 delete mode 100644 bt5/erp5_egov/bt/provision_list
 delete mode 100644 bt5/erp5_egov/bt/template_base_category_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_egov/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_egov/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_egov/bt/template_local_role_list
 delete mode 100644 bt5/erp5_egov/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_egov/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_egov/bt/template_module_id_list
 delete mode 100644 bt5/erp5_egov/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_egov/bt/template_preference_list
 delete mode 100644 bt5/erp5_egov/bt/template_product_id_list
 delete mode 100644 bt5/erp5_egov/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/categories_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/comment
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/provision_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_action_path_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_base_category_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_document_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_module_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_path_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_preference_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_product_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_role_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_test_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/categories_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/comment
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/dependency_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_action_path_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_base_category_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_document_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_local_role_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_module_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_path_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_preference_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_product_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_role_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_test_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_forge/bt/categories_list
 delete mode 100644 bt5/erp5_forge/bt/provision_list
 delete mode 100644 bt5/erp5_forge/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_forge/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_forge/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_forge/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_forge/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_forge/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_forge/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_forge/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_forge/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_forge/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_forge/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_forge/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_forge/bt/template_document_id_list
 delete mode 100644 bt5/erp5_forge/bt/template_local_role_list
 delete mode 100644 bt5/erp5_forge/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_forge/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_forge/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_forge/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_forge/bt/template_preference_list
 delete mode 100644 bt5/erp5_forge/bt/template_product_id_list
 delete mode 100644 bt5/erp5_forge/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_forge/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_forge/bt/template_role_list
 delete mode 100644 bt5/erp5_forge/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_forge/bt/template_test_id_list
 delete mode 100644 bt5/erp5_forge/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_forge_release/bt/categories_list
 delete mode 100644 bt5/erp5_forge_release/bt/provision_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_base_category_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_document_id_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_local_role_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_path_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_preference_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_product_id_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_role_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_test_id_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_forge_release/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/categories_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/comment
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/dependency_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/maintainer_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/provision_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_action_path_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_base_category_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_document_id_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_local_role_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_module_id_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_path_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_preference_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_product_id_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_role_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_test_id_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_hr/bt/categories_list
 delete mode 100644 bt5/erp5_hr/bt/comment
 delete mode 100644 bt5/erp5_hr/bt/provision_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_hr/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_hr/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_hr/bt/template_document_id_list
 delete mode 100644 bt5/erp5_hr/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_hr/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_hr/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_hr/bt/template_path_list
 delete mode 100644 bt5/erp5_hr/bt/template_preference_list
 delete mode 100644 bt5/erp5_hr/bt/template_product_id_list
 delete mode 100644 bt5/erp5_hr/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_hr/bt/template_role_list
 delete mode 100644 bt5/erp5_hr/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_hr/bt/template_test_id_list
 delete mode 100644 bt5/erp5_hr/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/categories_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/comment
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/dependency_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/provision_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_base_category_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_document_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_local_role_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_module_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_path_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_preference_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_product_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_role_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_test_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/categories_list
 delete mode 100644 bt5/erp5_ical_style/bt/comment
 delete mode 100644 bt5/erp5_ical_style/bt/dependency_list
 delete mode 100644 bt5/erp5_ical_style/bt/provision_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_action_path_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_base_category_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_document_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_module_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_path_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_preference_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_product_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_role_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_test_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_ical_style/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_immobilisation/bt/categories_list
 delete mode 100644 bt5/erp5_immobilisation/bt/copyright_list
 delete mode 100644 bt5/erp5_immobilisation/bt/maintainer_list
 delete mode 100644 bt5/erp5_immobilisation/bt/provision_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_document_id_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_local_role_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_preference_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_product_id_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_role_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_test_id_list
 delete mode 100644 bt5/erp5_immobilisation/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_ingestion/bt/categories_list
 delete mode 100644 bt5/erp5_ingestion/bt/comment
 delete mode 100644 bt5/erp5_ingestion/bt/provision_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_document_id_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_local_role_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_module_id_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_preference_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_product_id_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_role_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_ingestion/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/categories_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/comment
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/dependency_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_action_path_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_base_category_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_document_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_local_role_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_module_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_path_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_preference_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_product_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_role_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_test_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_invoicing/bt/categories_list
 delete mode 100644 bt5/erp5_invoicing/bt/comment
 delete mode 100644 bt5/erp5_invoicing/bt/provision_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_document_id_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_local_role_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_module_id_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_preference_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_product_id_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_role_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_test_id_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_invoicing/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_item/bt/categories_list
 delete mode 100644 bt5/erp5_item/bt/comment
 delete mode 100644 bt5/erp5_item/bt/maintainer_list
 delete mode 100644 bt5/erp5_item/bt/provision_list
 delete mode 100644 bt5/erp5_item/bt/template_base_category_list
 delete mode 100644 bt5/erp5_item/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_item/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_item/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_item/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_item/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_item/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_item/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_item/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_item/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_item/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_item/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_item/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_item/bt/template_document_id_list
 delete mode 100644 bt5/erp5_item/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_item/bt/template_local_role_list
 delete mode 100644 bt5/erp5_item/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_item/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_item/bt/template_path_list
 delete mode 100644 bt5/erp5_item/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_item/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_item/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_item/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_item/bt/template_preference_list
 delete mode 100644 bt5/erp5_item/bt/template_product_id_list
 delete mode 100644 bt5/erp5_item/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_item/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_item/bt/template_role_list
 delete mode 100644 bt5/erp5_item/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_item/bt/template_test_id_list
 delete mode 100644 bt5/erp5_item/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_jquery/bt/categories_list
 delete mode 100644 bt5/erp5_jquery/bt/provision_list
 delete mode 100644 bt5/erp5_jquery/bt/template_action_path_list
 delete mode 100644 bt5/erp5_jquery/bt/template_base_category_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_jquery/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_jquery/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_jquery/bt/template_document_id_list
 delete mode 100644 bt5/erp5_jquery/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_jquery/bt/template_local_role_list
 delete mode 100644 bt5/erp5_jquery/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_jquery/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_jquery/bt/template_module_id_list
 delete mode 100644 bt5/erp5_jquery/bt/template_path_list
 delete mode 100644 bt5/erp5_jquery/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_jquery/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_jquery/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_jquery/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_jquery/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_jquery/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_jquery/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_jquery/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_jquery/bt/template_preference_list
 delete mode 100644 bt5/erp5_jquery/bt/template_product_id_list
 delete mode 100644 bt5/erp5_jquery/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_jquery/bt/template_role_list
 delete mode 100644 bt5/erp5_jquery/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_jquery/bt/template_test_id_list
 delete mode 100644 bt5/erp5_jquery/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_jquery/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_km/bt/categories_list
 delete mode 100644 bt5/erp5_km/bt/provision_list
 delete mode 100644 bt5/erp5_km/bt/template_base_category_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_km/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_km/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_km/bt/template_document_id_list
 delete mode 100644 bt5/erp5_km/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_km/bt/template_local_role_list
 delete mode 100644 bt5/erp5_km/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_km/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_km/bt/template_module_id_list
 delete mode 100644 bt5/erp5_km/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_km/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_km/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_km/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_km/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_km/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_km/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_km/bt/template_preference_list
 delete mode 100644 bt5/erp5_km/bt/template_product_id_list
 delete mode 100644 bt5/erp5_km/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_km/bt/template_role_list
 delete mode 100644 bt5/erp5_km/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_km/bt/template_test_id_list
 delete mode 100644 bt5/erp5_km/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_km/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/comment
 delete mode 100644 bt5/erp5_km_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_local_role_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/categories_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/dependency_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/provision_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_document_id_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_local_role_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_preference_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_product_id_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_role_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_test_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/comment
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_local_role_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/version
 delete mode 100644 bt5/erp5_l10n_fr/bt/categories_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/comment
 delete mode 100644 bt5/erp5_l10n_fr/bt/dependency_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/maintainer_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/provision_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_action_path_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_base_category_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_document_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_module_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_path_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_preference_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_product_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_role_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_test_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/categories_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/dependency_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_action_path_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_base_category_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_document_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_module_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_path_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_product_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_role_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_test_id_list
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/categories_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/comment
 delete mode 100644 bt5/erp5_l10n_ko/bt/dependency_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/provision_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_action_path_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_base_category_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_document_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_module_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_path_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_preference_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_product_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_role_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_test_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/categories_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/comment
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/copyright_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/dependency_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/provision_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_action_path_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_base_category_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_document_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_local_role_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_module_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_path_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_preference_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_product_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_role_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_test_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/categories_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/comment
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/dependency_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/provision_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_action_path_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_base_category_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_document_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_module_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_path_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_preference_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_product_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_role_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_test_id_list
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/categories_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/comment
 delete mode 100644 bt5/erp5_ldap_catalog/bt/copyright_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/license
 delete mode 100644 bt5/erp5_ldap_catalog/bt/provision_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_action_path_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_base_category_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_document_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_module_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_preference_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_product_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_role_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_test_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_ldap_catalog/bt/version
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/categories_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/comment
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/maintainer_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/provision_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_base_category_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_document_id_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_local_role_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_module_id_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_preference_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_product_id_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_role_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_test_id_list
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_mobile/bt/categories_list
 delete mode 100644 bt5/erp5_mobile/bt/comment
 delete mode 100644 bt5/erp5_mobile/bt/dependency_list
 delete mode 100644 bt5/erp5_mobile/bt/provision_list
 delete mode 100644 bt5/erp5_mobile/bt/template_action_path_list
 delete mode 100644 bt5/erp5_mobile/bt/template_base_category_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_mobile/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_mobile/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_mobile/bt/template_document_id_list
 delete mode 100644 bt5/erp5_mobile/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_mobile/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_mobile/bt/template_module_id_list
 delete mode 100644 bt5/erp5_mobile/bt/template_path_list
 delete mode 100644 bt5/erp5_mobile/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_mobile/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_mobile/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_mobile/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_mobile/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_mobile/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_mobile/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_mobile/bt/template_preference_list
 delete mode 100644 bt5/erp5_mobile/bt/template_product_id_list
 delete mode 100644 bt5/erp5_mobile/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_mobile/bt/template_role_list
 delete mode 100644 bt5/erp5_mobile/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_mobile/bt/template_test_id_list
 delete mode 100644 bt5/erp5_mobile/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_mobile/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/comment
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_path_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_mrp/bt/categories_list
 delete mode 100644 bt5/erp5_mrp/bt/provision_list
 delete mode 100644 bt5/erp5_mrp/bt/template_base_category_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_mrp/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_mrp/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_mrp/bt/template_document_id_list
 delete mode 100644 bt5/erp5_mrp/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_mrp/bt/template_local_role_list
 delete mode 100644 bt5/erp5_mrp/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_mrp/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_mrp/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_mrp/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_mrp/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_mrp/bt/template_preference_list
 delete mode 100644 bt5/erp5_mrp/bt/template_product_id_list
 delete mode 100644 bt5/erp5_mrp/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_mrp/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_mrp/bt/template_role_list
 delete mode 100644 bt5/erp5_mrp/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_mrp/bt/template_test_id_list
 delete mode 100644 bt5/erp5_mrp/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/categories_list
 delete mode 100644 bt5/erp5_ods_style/bt/comment
 delete mode 100644 bt5/erp5_ods_style/bt/provision_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_base_category_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_document_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_local_role_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_module_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_path_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_preference_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_product_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_role_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_test_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_ods_style/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/categories_list
 delete mode 100644 bt5/erp5_odt_style/bt/comment
 delete mode 100644 bt5/erp5_odt_style/bt/provision_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_base_category_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_document_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_local_role_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_module_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_path_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_preference_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_product_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_role_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_test_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_odt_style/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/categories_list
 delete mode 100644 bt5/erp5_ooo_import/bt/comment
 delete mode 100644 bt5/erp5_ooo_import/bt/dependency_list
 delete mode 100644 bt5/erp5_ooo_import/bt/description
 delete mode 100644 bt5/erp5_ooo_import/bt/provision_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_base_category_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_document_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_local_role_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_module_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_path_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_preference_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_product_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_role_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_test_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_ooo_import/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_open_trade/bt/categories_list
 delete mode 100644 bt5/erp5_open_trade/bt/copyright_list
 delete mode 100644 bt5/erp5_open_trade/bt/dependency_list
 delete mode 100644 bt5/erp5_open_trade/bt/provision_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_base_category_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_document_id_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_local_role_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_preference_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_product_id_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_role_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_test_id_list
 delete mode 100644 bt5/erp5_open_trade/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/categories_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/comment
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/copyright_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/maintainer_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/provision_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_base_category_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_document_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_local_role_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_module_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_path_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_preference_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_product_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_role_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_test_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_payroll/bt/categories_list
 delete mode 100644 bt5/erp5_payroll/bt/provision_list
 delete mode 100644 bt5/erp5_payroll/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_payroll/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_payroll/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_payroll/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_payroll/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_payroll/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_payroll/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_payroll/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_payroll/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_payroll/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_payroll/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_payroll/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_payroll/bt/template_document_id_list
 delete mode 100644 bt5/erp5_payroll/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_payroll/bt/template_local_role_list
 delete mode 100644 bt5/erp5_payroll/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_payroll/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_payroll/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_payroll/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_payroll/bt/template_preference_list
 delete mode 100644 bt5/erp5_payroll/bt/template_product_id_list
 delete mode 100644 bt5/erp5_payroll/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_payroll/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_payroll/bt/template_role_list
 delete mode 100644 bt5/erp5_payroll/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_payroll/bt/template_test_id_list
 delete mode 100644 bt5/erp5_payroll/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/categories_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/comment
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/provision_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_action_path_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_base_category_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_document_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_local_role_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_module_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_preference_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_product_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_role_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_test_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/categories_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/comment
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/provision_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_action_path_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_base_category_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_document_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_local_role_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_module_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_preference_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_product_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_role_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_test_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/categories_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/comment
 delete mode 100644 bt5/erp5_pdf_editor/bt/provision_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_base_category_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_document_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_module_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_path_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_preference_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_product_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_role_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_test_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/categories_list
 delete mode 100644 bt5/erp5_pdf_style/bt/comment
 delete mode 100644 bt5/erp5_pdf_style/bt/dependency_list
 delete mode 100644 bt5/erp5_pdf_style/bt/provision_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_base_category_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_document_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_module_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_path_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_preference_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_product_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_role_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_test_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_pdf_style/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_pdm/bt/categories_list
 delete mode 100644 bt5/erp5_pdm/bt/provision_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_pdm/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_pdm/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_pdm/bt/template_document_id_list
 delete mode 100644 bt5/erp5_pdm/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_pdm/bt/template_local_role_list
 delete mode 100644 bt5/erp5_pdm/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_pdm/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_pdm/bt/template_path_list
 delete mode 100644 bt5/erp5_pdm/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_pdm/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_pdm/bt/template_preference_list
 delete mode 100644 bt5/erp5_pdm/bt/template_product_id_list
 delete mode 100644 bt5/erp5_pdm/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_pdm/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_pdm/bt/template_role_list
 delete mode 100644 bt5/erp5_pdm/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_pdm/bt/template_test_id_list
 delete mode 100644 bt5/erp5_pdm/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/comment
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_local_role_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/categories_list
 delete mode 100644 bt5/erp5_popup_ui/bt/comment
 delete mode 100644 bt5/erp5_popup_ui/bt/provision_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_action_path_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_base_category_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_document_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_local_role_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_module_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_path_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_preference_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_product_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_role_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_test_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_popup_ui/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_project/bt/categories_list
 delete mode 100644 bt5/erp5_project/bt/comment
 delete mode 100644 bt5/erp5_project/bt/provision_list
 delete mode 100644 bt5/erp5_project/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_project/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_project/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_project/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_project/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_project/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_project/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_project/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_project/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_project/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_project/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_project/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_project/bt/template_document_id_list
 delete mode 100644 bt5/erp5_project/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_project/bt/template_local_role_list
 delete mode 100644 bt5/erp5_project/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_project/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_project/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_project/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_project/bt/template_preference_list
 delete mode 100644 bt5/erp5_project/bt/template_product_id_list
 delete mode 100644 bt5/erp5_project/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_project/bt/template_role_list
 delete mode 100644 bt5/erp5_project/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_project/bt/template_test_id_list
 delete mode 100644 bt5/erp5_project/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/categories_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/comment
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/dependency_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_action_path_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_base_category_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_document_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_local_role_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_module_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_path_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_preference_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_product_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_role_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_test_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_local_role_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/categories_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/comment
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/provision_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_document_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_module_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_preference_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_product_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_role_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_test_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_publication/bt/categories_list
 delete mode 100644 bt5/erp5_publication/bt/comment
 delete mode 100644 bt5/erp5_publication/bt/dependency_list
 delete mode 100644 bt5/erp5_publication/bt/provision_list
 delete mode 100644 bt5/erp5_publication/bt/template_action_path_list
 delete mode 100644 bt5/erp5_publication/bt/template_base_category_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_publication/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_publication/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_publication/bt/template_document_id_list
 delete mode 100644 bt5/erp5_publication/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_publication/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_publication/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_publication/bt/template_path_list
 delete mode 100644 bt5/erp5_publication/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_publication/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_publication/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_publication/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_publication/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_publication/bt/template_preference_list
 delete mode 100644 bt5/erp5_publication/bt/template_product_id_list
 delete mode 100644 bt5/erp5_publication/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_publication/bt/template_role_list
 delete mode 100644 bt5/erp5_publication/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_publication/bt/template_test_id_list
 delete mode 100644 bt5/erp5_publication/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/categories_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/comment
 delete mode 100644 bt5/erp5_registry_ohada/bt/provision_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_base_category_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_path_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_preference_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_product_id_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_role_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_test_id_list
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/categories_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/comment
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/maintainer_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/provision_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_action_path_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_base_category_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_document_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_module_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_path_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_preference_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_product_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_role_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_skin_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_test_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_rss_reader/bt/categories_list
 delete mode 100644 bt5/erp5_rss_reader/bt/provision_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_document_id_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_module_id_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_preference_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_product_id_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_role_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_test_id_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_rss_reader/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/categories_list
 delete mode 100644 bt5/erp5_rss_style/bt/comment
 delete mode 100644 bt5/erp5_rss_style/bt/dependency_list
 delete mode 100644 bt5/erp5_rss_style/bt/provision_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_action_path_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_base_category_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_document_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_local_role_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_module_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_path_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_preference_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_product_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_role_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_test_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_rss_style/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/categories_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/comment
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/provision_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_base_category_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_document_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_local_role_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_module_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_preference_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_product_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_role_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_test_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_simulation/bt/categories_list
 delete mode 100644 bt5/erp5_simulation/bt/copyright_list
 delete mode 100644 bt5/erp5_simulation/bt/maintainer_list
 delete mode 100644 bt5/erp5_simulation/bt/provision_list
 delete mode 100644 bt5/erp5_simulation/bt/template_base_category_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_simulation/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_simulation/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_simulation/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_simulation/bt/template_local_role_list
 delete mode 100644 bt5/erp5_simulation/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_simulation/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_simulation/bt/template_module_id_list
 delete mode 100644 bt5/erp5_simulation/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_simulation/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_simulation/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_simulation/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_simulation/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_simulation/bt/template_preference_list
 delete mode 100644 bt5/erp5_simulation/bt/template_product_id_list
 delete mode 100644 bt5/erp5_simulation/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_simulation/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_simulation/bt/template_role_list
 delete mode 100644 bt5/erp5_simulation/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_simulation/bt/template_test_id_list
 delete mode 100644 bt5/erp5_simulation/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_simulation/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/categories_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/comment
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/provision_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_local_role_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_role_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_social_contracts/bt/categories_list
 delete mode 100644 bt5/erp5_social_contracts/bt/comment
 delete mode 100644 bt5/erp5_social_contracts/bt/provision_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_document_id_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_preference_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_product_id_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_role_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_social_contracts/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_software_pdm/bt/categories_list
 delete mode 100644 bt5/erp5_software_pdm/bt/comment
 delete mode 100644 bt5/erp5_software_pdm/bt/copyright_list
 delete mode 100644 bt5/erp5_software_pdm/bt/provision_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_base_category_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_local_role_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_path_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_preference_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_product_id_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_role_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_test_id_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_software_pdm/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_syncml/bt/categories_list
 delete mode 100644 bt5/erp5_syncml/bt/change_log
 delete mode 100644 bt5/erp5_syncml/bt/copyright_list
 delete mode 100644 bt5/erp5_syncml/bt/dependency_list
 delete mode 100644 bt5/erp5_syncml/bt/description
 delete mode 100644 bt5/erp5_syncml/bt/maintainer_list
 delete mode 100644 bt5/erp5_syncml/bt/provision_list
 delete mode 100644 bt5/erp5_syncml/bt/template_action_path_list
 delete mode 100644 bt5/erp5_syncml/bt/template_base_category_list
 delete mode 100644 bt5/erp5_syncml/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_syncml/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_syncml/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_syncml/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_syncml/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_syncml/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_syncml/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_syncml/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_syncml/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_syncml/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_syncml/bt/template_document_id_list
 delete mode 100644 bt5/erp5_syncml/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_syncml/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_syncml/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_syncml/bt/template_module_id_list
 delete mode 100644 bt5/erp5_syncml/bt/template_path_list
 delete mode 100644 bt5/erp5_syncml/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_syncml/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_syncml/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_syncml/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_syncml/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_syncml/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_syncml/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_syncml/bt/template_preference_list
 delete mode 100644 bt5/erp5_syncml/bt/template_product_id_list
 delete mode 100644 bt5/erp5_syncml/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_syncml/bt/template_role_list
 delete mode 100644 bt5/erp5_syncml/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_syncml/bt/template_test_id_list
 delete mode 100644 bt5/erp5_syncml/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_tax_resource/bt/categories_list
 delete mode 100644 bt5/erp5_tax_resource/bt/comment
 delete mode 100644 bt5/erp5_tax_resource/bt/maintainer_list
 delete mode 100644 bt5/erp5_tax_resource/bt/provision_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_base_category_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_document_id_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_local_role_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_path_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_preference_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_product_id_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_role_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_test_id_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_tax_resource/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_trade/bt/categories_list
 delete mode 100644 bt5/erp5_trade/bt/comment
 delete mode 100644 bt5/erp5_trade/bt/provision_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_trade/bt/template_document_id_list
 delete mode 100644 bt5/erp5_trade/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_trade/bt/template_local_role_list
 delete mode 100644 bt5/erp5_trade/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_trade/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_trade/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_trade/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_trade/bt/template_preference_list
 delete mode 100644 bt5/erp5_trade/bt/template_product_id_list
 delete mode 100644 bt5/erp5_trade/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_trade/bt/template_role_list
 delete mode 100644 bt5/erp5_trade/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_trade/bt/template_test_id_list
 delete mode 100644 bt5/erp5_trade/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/categories_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/comment
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/dependency_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/provision_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_action_path_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_base_category_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_document_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_local_role_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_module_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_path_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_preference_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_product_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_role_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_test_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_local_role_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_ui_test/bt/comment
 delete mode 100644 bt5/erp5_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_local_role_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_ui_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/categories_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/comment
 delete mode 100644 bt5/erp5_ui_test_core/bt/provision_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_action_path_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_base_category_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_document_id_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_local_role_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_module_id_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_path_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_preference_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_product_id_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_role_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_test_id_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_upgrader/bt/categories_list
 delete mode 100644 bt5/erp5_upgrader/bt/dependency_list
 delete mode 100644 bt5/erp5_upgrader/bt/license
 delete mode 100644 bt5/erp5_upgrader/bt/provision_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_action_path_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_base_category_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_document_id_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_local_role_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_module_id_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_preference_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_product_id_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_role_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_test_id_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_upgrader/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_utils/bt/categories_list
 delete mode 100644 bt5/erp5_utils/bt/dependency_list
 delete mode 100644 bt5/erp5_utils/bt/provision_list
 delete mode 100644 bt5/erp5_utils/bt/template_action_path_list
 delete mode 100644 bt5/erp5_utils/bt/template_base_category_list
 delete mode 100644 bt5/erp5_utils/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_utils/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_utils/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_utils/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_utils/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_utils/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_utils/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_utils/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_utils/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_utils/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_utils/bt/template_document_id_list
 delete mode 100644 bt5/erp5_utils/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_utils/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_utils/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_utils/bt/template_module_id_list
 delete mode 100644 bt5/erp5_utils/bt/template_path_list
 delete mode 100644 bt5/erp5_utils/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_utils/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_utils/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_utils/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_utils/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_utils/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_utils/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_utils/bt/template_preference_list
 delete mode 100644 bt5/erp5_utils/bt/template_product_id_list
 delete mode 100644 bt5/erp5_utils/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_utils/bt/template_role_list
 delete mode 100644 bt5/erp5_utils/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_utils/bt/template_test_id_list
 delete mode 100644 bt5/erp5_utils/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_web/bt/categories_list
 delete mode 100644 bt5/erp5_web/bt/comment
 delete mode 100644 bt5/erp5_web/bt/provision_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_search_key_list
 delete mode 100644 bt5/erp5_web/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_web/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_web/bt/template_document_id_list
 delete mode 100644 bt5/erp5_web/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_web/bt/template_local_role_list
 delete mode 100644 bt5/erp5_web/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_web/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_web/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_web/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_web/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_web/bt/template_preference_list
 delete mode 100644 bt5/erp5_web/bt/template_product_id_list
 delete mode 100644 bt5/erp5_web/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_web/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_web/bt/template_role_list
 delete mode 100644 bt5/erp5_web/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_web/bt/template_test_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/categories_list
 delete mode 100644 bt5/erp5_web_blog/bt/change_log
 delete mode 100644 bt5/erp5_web_blog/bt/copyright_list
 delete mode 100644 bt5/erp5_web_blog/bt/provision_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_action_path_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_base_category_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_document_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_local_role_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_module_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_path_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_preference_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_product_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_role_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_test_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_web_blog/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/categories_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/copyright_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/provision_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_action_path_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_base_category_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_document_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_local_role_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_module_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_path_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_preference_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_product_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_role_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_test_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/categories_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/comment
 delete mode 100644 bt5/erp5_web_ui_test/bt/provision_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_action_path_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_base_category_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_document_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_module_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_preference_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_product_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_role_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_test_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_wizard/bt/categories_list
 delete mode 100644 bt5/erp5_wizard/bt/comment
 delete mode 100644 bt5/erp5_wizard/bt/dependency_list
 delete mode 100644 bt5/erp5_wizard/bt/provision_list
 delete mode 100644 bt5/erp5_wizard/bt/template_base_category_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_wizard/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_wizard/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_wizard/bt/template_document_id_list
 delete mode 100644 bt5/erp5_wizard/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_wizard/bt/template_local_role_list
 delete mode 100644 bt5/erp5_wizard/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_wizard/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_wizard/bt/template_module_id_list
 delete mode 100644 bt5/erp5_wizard/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_wizard/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_wizard/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_wizard/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_wizard/bt/template_portal_type_role_list
 delete mode 100644 bt5/erp5_wizard/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_wizard/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_wizard/bt/template_preference_list
 delete mode 100644 bt5/erp5_wizard/bt/template_product_id_list
 delete mode 100644 bt5/erp5_wizard/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_wizard/bt/template_registered_skin_selection_list
 delete mode 100644 bt5/erp5_wizard/bt/template_role_list
 delete mode 100644 bt5/erp5_wizard/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_wizard/bt/template_test_id_list
 delete mode 100644 bt5/erp5_wizard/bt/template_workflow_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/categories_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/provision_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_action_path_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_base_category_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_method_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_related_key_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_request_key_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_result_key_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_result_table_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_role_key_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_constraint_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_document_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_extension_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_local_roles_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_message_translation_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_module_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_portal_type_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_portal_type_roles_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_preference_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_product_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_property_sheet_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_role_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_site_property_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_test_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_tool_id_list
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_workflow_id_list
 delete mode 100644 bt5/test_accounting/bt/categories_list
 delete mode 100644 bt5/test_accounting/bt/change_log
 delete mode 100644 bt5/test_accounting/bt/copyright_list
 delete mode 100644 bt5/test_accounting/bt/description
 delete mode 100644 bt5/test_accounting/bt/license
 delete mode 100644 bt5/test_accounting/bt/maintainer_list
 delete mode 100644 bt5/test_accounting/bt/provision_list
 delete mode 100644 bt5/test_accounting/bt/template_action_path_list
 delete mode 100644 bt5/test_accounting/bt/template_base_category_list
 delete mode 100644 bt5/test_accounting/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/test_accounting/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/test_accounting/bt/template_catalog_method_id_list
 delete mode 100644 bt5/test_accounting/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/test_accounting/bt/template_catalog_related_key_list
 delete mode 100644 bt5/test_accounting/bt/template_catalog_request_key_list
 delete mode 100644 bt5/test_accounting/bt/template_catalog_result_key_list
 delete mode 100644 bt5/test_accounting/bt/template_catalog_result_table_list
 delete mode 100644 bt5/test_accounting/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/test_accounting/bt/template_constraint_id_list
 delete mode 100644 bt5/test_accounting/bt/template_document_id_list
 delete mode 100644 bt5/test_accounting/bt/template_extension_id_list
 delete mode 100644 bt5/test_accounting/bt/template_local_roles_list
 delete mode 100644 bt5/test_accounting/bt/template_message_translation_list
 delete mode 100644 bt5/test_accounting/bt/template_module_id_list
 delete mode 100644 bt5/test_accounting/bt/template_path_list
 delete mode 100644 bt5/test_accounting/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/test_accounting/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/test_accounting/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/test_accounting/bt/template_portal_type_id_list
 delete mode 100644 bt5/test_accounting/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/test_accounting/bt/template_portal_type_roles_list
 delete mode 100644 bt5/test_accounting/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/test_accounting/bt/template_preference_list
 delete mode 100644 bt5/test_accounting/bt/template_product_id_list
 delete mode 100644 bt5/test_accounting/bt/template_property_sheet_id_list
 delete mode 100644 bt5/test_accounting/bt/template_role_list
 delete mode 100644 bt5/test_accounting/bt/template_site_property_id_list
 delete mode 100644 bt5/test_accounting/bt/template_skin_id_list
 delete mode 100644 bt5/test_accounting/bt/template_test_id_list
 delete mode 100644 bt5/test_accounting/bt/template_workflow_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/categories_list
 delete mode 100644 bt5/test_accounting_fr/bt/change_log
 delete mode 100644 bt5/test_accounting_fr/bt/copyright_list
 delete mode 100644 bt5/test_accounting_fr/bt/description
 delete mode 100644 bt5/test_accounting_fr/bt/license
 delete mode 100644 bt5/test_accounting_fr/bt/maintainer_list
 delete mode 100644 bt5/test_accounting_fr/bt/provision_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_action_path_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_base_category_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_catalog_method_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_catalog_related_key_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_catalog_request_key_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_catalog_result_key_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_catalog_result_table_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_constraint_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_document_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_extension_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_local_roles_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_message_translation_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_module_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_path_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_portal_type_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_portal_type_roles_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_preference_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_product_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_property_sheet_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_role_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_site_property_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_skin_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_test_id_list
 delete mode 100644 bt5/test_accounting_fr/bt/template_workflow_id_list
 delete mode 100644 bt5/test_accounting_in/bt/categories_list
 delete mode 100644 bt5/test_accounting_in/bt/change_log
 delete mode 100644 bt5/test_accounting_in/bt/copyright_list
 delete mode 100644 bt5/test_accounting_in/bt/description
 delete mode 100644 bt5/test_accounting_in/bt/license
 delete mode 100644 bt5/test_accounting_in/bt/maintainer_list
 delete mode 100644 bt5/test_accounting_in/bt/provision_list
 delete mode 100644 bt5/test_accounting_in/bt/template_action_path_list
 delete mode 100644 bt5/test_accounting_in/bt/template_base_category_list
 delete mode 100644 bt5/test_accounting_in/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/test_accounting_in/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/test_accounting_in/bt/template_catalog_method_id_list
 delete mode 100644 bt5/test_accounting_in/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/test_accounting_in/bt/template_catalog_related_key_list
 delete mode 100644 bt5/test_accounting_in/bt/template_catalog_request_key_list
 delete mode 100644 bt5/test_accounting_in/bt/template_catalog_result_key_list
 delete mode 100644 bt5/test_accounting_in/bt/template_catalog_result_table_list
 delete mode 100644 bt5/test_accounting_in/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/test_accounting_in/bt/template_constraint_id_list
 delete mode 100644 bt5/test_accounting_in/bt/template_document_id_list
 delete mode 100644 bt5/test_accounting_in/bt/template_extension_id_list
 delete mode 100644 bt5/test_accounting_in/bt/template_local_roles_list
 delete mode 100644 bt5/test_accounting_in/bt/template_message_translation_list
 delete mode 100644 bt5/test_accounting_in/bt/template_module_id_list
 delete mode 100644 bt5/test_accounting_in/bt/template_path_list
 delete mode 100644 bt5/test_accounting_in/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/test_accounting_in/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/test_accounting_in/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/test_accounting_in/bt/template_portal_type_id_list
 delete mode 100644 bt5/test_accounting_in/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/test_accounting_in/bt/template_portal_type_roles_list
 delete mode 100644 bt5/test_accounting_in/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/test_accounting_in/bt/template_preference_list
 delete mode 100644 bt5/test_accounting_in/bt/template_product_id_list
 delete mode 100644 bt5/test_accounting_in/bt/template_property_sheet_id_list
 delete mode 100644 bt5/test_accounting_in/bt/template_role_list
 delete mode 100644 bt5/test_accounting_in/bt/template_site_property_id_list
 delete mode 100644 bt5/test_accounting_in/bt/template_skin_id_list
 delete mode 100644 bt5/test_accounting_in/bt/template_test_id_list
 delete mode 100644 bt5/test_accounting_in/bt/template_workflow_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/categories_list
 delete mode 100644 bt5/test_accounting_pl/bt/change_log
 delete mode 100644 bt5/test_accounting_pl/bt/copyright_list
 delete mode 100644 bt5/test_accounting_pl/bt/description
 delete mode 100644 bt5/test_accounting_pl/bt/license
 delete mode 100644 bt5/test_accounting_pl/bt/maintainer_list
 delete mode 100644 bt5/test_accounting_pl/bt/provision_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_action_path_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_base_category_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_catalog_method_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_catalog_related_key_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_catalog_request_key_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_catalog_result_key_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_catalog_result_table_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_constraint_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_document_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_extension_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_local_roles_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_message_translation_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_module_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_path_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_portal_type_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_portal_type_roles_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_preference_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_product_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_property_sheet_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_role_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_site_property_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_skin_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_test_id_list
 delete mode 100644 bt5/test_accounting_pl/bt/template_workflow_id_list
 delete mode 100644 bt5/test_core/bt/categories_list
 delete mode 100644 bt5/test_core/bt/change_log
 delete mode 100644 bt5/test_core/bt/copyright_list
 delete mode 100644 bt5/test_core/bt/dependency_list
 delete mode 100644 bt5/test_core/bt/description
 delete mode 100644 bt5/test_core/bt/license
 delete mode 100644 bt5/test_core/bt/maintainer_list
 delete mode 100644 bt5/test_core/bt/provision_list
 delete mode 100644 bt5/test_core/bt/template_action_path_list
 delete mode 100644 bt5/test_core/bt/template_base_category_list
 delete mode 100644 bt5/test_core/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/test_core/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/test_core/bt/template_catalog_method_id_list
 delete mode 100644 bt5/test_core/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/test_core/bt/template_catalog_related_key_list
 delete mode 100644 bt5/test_core/bt/template_catalog_request_key_list
 delete mode 100644 bt5/test_core/bt/template_catalog_result_key_list
 delete mode 100644 bt5/test_core/bt/template_catalog_result_table_list
 delete mode 100644 bt5/test_core/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/test_core/bt/template_constraint_id_list
 delete mode 100644 bt5/test_core/bt/template_document_id_list
 delete mode 100644 bt5/test_core/bt/template_extension_id_list
 delete mode 100644 bt5/test_core/bt/template_local_roles_list
 delete mode 100644 bt5/test_core/bt/template_message_translation_list
 delete mode 100644 bt5/test_core/bt/template_module_id_list
 delete mode 100644 bt5/test_core/bt/template_path_list
 delete mode 100644 bt5/test_core/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/test_core/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/test_core/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/test_core/bt/template_portal_type_id_list
 delete mode 100644 bt5/test_core/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/test_core/bt/template_portal_type_roles_list
 delete mode 100644 bt5/test_core/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/test_core/bt/template_preference_list
 delete mode 100644 bt5/test_core/bt/template_product_id_list
 delete mode 100644 bt5/test_core/bt/template_property_sheet_id_list
 delete mode 100644 bt5/test_core/bt/template_role_list
 delete mode 100644 bt5/test_core/bt/template_site_property_id_list
 delete mode 100644 bt5/test_core/bt/template_test_id_list
 delete mode 100644 bt5/test_core/bt/template_workflow_id_list
 delete mode 100644 bt5/test_html_style/bt/categories_list
 delete mode 100644 bt5/test_html_style/bt/change_log
 delete mode 100644 bt5/test_html_style/bt/copyright_list
 delete mode 100644 bt5/test_html_style/bt/dependency_list
 delete mode 100644 bt5/test_html_style/bt/description
 delete mode 100644 bt5/test_html_style/bt/license
 delete mode 100644 bt5/test_html_style/bt/maintainer_list
 delete mode 100644 bt5/test_html_style/bt/template_action_path_list
 delete mode 100644 bt5/test_html_style/bt/template_base_category_list
 delete mode 100644 bt5/test_html_style/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/test_html_style/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/test_html_style/bt/template_catalog_method_id_list
 delete mode 100644 bt5/test_html_style/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/test_html_style/bt/template_catalog_related_key_list
 delete mode 100644 bt5/test_html_style/bt/template_catalog_request_key_list
 delete mode 100644 bt5/test_html_style/bt/template_catalog_result_key_list
 delete mode 100644 bt5/test_html_style/bt/template_catalog_result_table_list
 delete mode 100644 bt5/test_html_style/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/test_html_style/bt/template_constraint_id_list
 delete mode 100644 bt5/test_html_style/bt/template_document_id_list
 delete mode 100644 bt5/test_html_style/bt/template_extension_id_list
 delete mode 100644 bt5/test_html_style/bt/template_local_roles_list
 delete mode 100644 bt5/test_html_style/bt/template_message_translation_list
 delete mode 100644 bt5/test_html_style/bt/template_module_id_list
 delete mode 100644 bt5/test_html_style/bt/template_path_list
 delete mode 100644 bt5/test_html_style/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/test_html_style/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/test_html_style/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/test_html_style/bt/template_portal_type_id_list
 delete mode 100644 bt5/test_html_style/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/test_html_style/bt/template_portal_type_roles_list
 delete mode 100644 bt5/test_html_style/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/test_html_style/bt/template_preference_list
 delete mode 100644 bt5/test_html_style/bt/template_product_id_list
 delete mode 100644 bt5/test_html_style/bt/template_property_sheet_id_list
 delete mode 100644 bt5/test_html_style/bt/template_role_list
 delete mode 100644 bt5/test_html_style/bt/template_site_property_id_list
 delete mode 100644 bt5/test_html_style/bt/template_skin_id_list
 delete mode 100644 bt5/test_html_style/bt/template_test_id_list
 delete mode 100644 bt5/test_html_style/bt/template_workflow_id_list
 delete mode 100644 bt5/test_web/bt/categories_list
 delete mode 100644 bt5/test_web/bt/change_log
 delete mode 100644 bt5/test_web/bt/copyright_list
 delete mode 100644 bt5/test_web/bt/description
 delete mode 100644 bt5/test_web/bt/license
 delete mode 100644 bt5/test_web/bt/maintainer_list
 delete mode 100644 bt5/test_web/bt/provision_list
 delete mode 100644 bt5/test_web/bt/template_action_path_list
 delete mode 100644 bt5/test_web/bt/template_base_category_list
 delete mode 100644 bt5/test_web/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/test_web/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/test_web/bt/template_catalog_method_id_list
 delete mode 100644 bt5/test_web/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/test_web/bt/template_catalog_related_key_list
 delete mode 100644 bt5/test_web/bt/template_catalog_request_key_list
 delete mode 100644 bt5/test_web/bt/template_catalog_result_key_list
 delete mode 100644 bt5/test_web/bt/template_catalog_result_table_list
 delete mode 100644 bt5/test_web/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/test_web/bt/template_constraint_id_list
 delete mode 100644 bt5/test_web/bt/template_document_id_list
 delete mode 100644 bt5/test_web/bt/template_extension_id_list
 delete mode 100644 bt5/test_web/bt/template_local_roles_list
 delete mode 100644 bt5/test_web/bt/template_message_translation_list
 delete mode 100644 bt5/test_web/bt/template_module_id_list
 delete mode 100644 bt5/test_web/bt/template_path_list
 delete mode 100644 bt5/test_web/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/test_web/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/test_web/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/test_web/bt/template_portal_type_id_list
 delete mode 100644 bt5/test_web/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/test_web/bt/template_portal_type_roles_list
 delete mode 100644 bt5/test_web/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/test_web/bt/template_preference_list
 delete mode 100644 bt5/test_web/bt/template_product_id_list
 delete mode 100644 bt5/test_web/bt/template_property_sheet_id_list
 delete mode 100644 bt5/test_web/bt/template_role_list
 delete mode 100644 bt5/test_web/bt/template_site_property_id_list
 delete mode 100644 bt5/test_web/bt/template_skin_id_list
 delete mode 100644 bt5/test_web/bt/template_test_id_list
 delete mode 100644 bt5/test_web/bt/template_workflow_id_list
 delete mode 100644 bt5/test_web/bt/version
 delete mode 100644 bt5/test_xhtml_style/bt/categories_list
 delete mode 100644 bt5/test_xhtml_style/bt/change_log
 delete mode 100644 bt5/test_xhtml_style/bt/copyright_list
 delete mode 100644 bt5/test_xhtml_style/bt/dependency_list
 delete mode 100644 bt5/test_xhtml_style/bt/description
 delete mode 100644 bt5/test_xhtml_style/bt/license
 delete mode 100644 bt5/test_xhtml_style/bt/maintainer_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_action_path_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_base_category_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_catalog_method_id_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_catalog_related_key_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_catalog_request_key_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_catalog_result_key_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_catalog_result_table_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_constraint_id_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_document_id_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_extension_id_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_local_roles_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_message_translation_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_module_id_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_path_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_portal_type_id_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_portal_type_roles_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_preference_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_product_id_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_property_sheet_id_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_role_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_site_property_id_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_skin_id_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_test_id_list
 delete mode 100644 bt5/test_xhtml_style/bt/template_workflow_id_list
 delete mode 100644 bt5/tiolive_base/bt/categories_list
 delete mode 100644 bt5/tiolive_base/bt/comment
 delete mode 100644 bt5/tiolive_base/bt/copyright_list
 delete mode 100644 bt5/tiolive_base/bt/provision_list
 delete mode 100644 bt5/tiolive_base/bt/template_base_category_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_datetime_key_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_full_text_key_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_keyword_key_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_local_role_key_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_method_id_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_multivalue_key_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_related_key_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_request_key_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_result_key_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_result_table_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_role_key_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_scriptable_key_list
 delete mode 100644 bt5/tiolive_base/bt/template_catalog_topic_key_list
 delete mode 100644 bt5/tiolive_base/bt/template_constraint_id_list
 delete mode 100644 bt5/tiolive_base/bt/template_document_id_list
 delete mode 100644 bt5/tiolive_base/bt/template_extension_id_list
 delete mode 100644 bt5/tiolive_base/bt/template_local_role_list
 delete mode 100644 bt5/tiolive_base/bt/template_local_roles_list
 delete mode 100644 bt5/tiolive_base/bt/template_message_translation_list
 delete mode 100644 bt5/tiolive_base/bt/template_module_id_list
 delete mode 100644 bt5/tiolive_base/bt/template_path_list
 delete mode 100644 bt5/tiolive_base/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 bt5/tiolive_base/bt/template_portal_type_base_category_list
 delete mode 100644 bt5/tiolive_base/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 bt5/tiolive_base/bt/template_portal_type_id_list
 delete mode 100644 bt5/tiolive_base/bt/template_portal_type_property_sheet_list
 delete mode 100644 bt5/tiolive_base/bt/template_portal_type_role_list
 delete mode 100644 bt5/tiolive_base/bt/template_portal_type_roles_list
 delete mode 100644 bt5/tiolive_base/bt/template_portal_type_workflow_chain_list
 delete mode 100644 bt5/tiolive_base/bt/template_preference_list
 delete mode 100644 bt5/tiolive_base/bt/template_product_id_list
 delete mode 100644 bt5/tiolive_base/bt/template_property_sheet_id_list
 delete mode 100644 bt5/tiolive_base/bt/template_role_list
 delete mode 100644 bt5/tiolive_base/bt/template_site_property_id_list
 delete mode 100644 bt5/tiolive_base/bt/template_test_id_list
 delete mode 100644 bt5/tiolive_base/bt/template_tool_id_list
 delete mode 100644 bt5/tiolive_base/bt/template_workflow_id_list

diff --git a/bt5/delivery_patch/bt/categories_list b/bt5/delivery_patch/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/dependency_list b/bt5/delivery_patch/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/provision_list b/bt5/delivery_patch/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/revision b/bt5/delivery_patch/bt/revision
index 9a037142aa..9d607966b7 100644
--- a/bt5/delivery_patch/bt/revision
+++ b/bt5/delivery_patch/bt/revision
@@ -1 +1 @@
-10
\ No newline at end of file
+11
\ No newline at end of file
diff --git a/bt5/delivery_patch/bt/template_base_category_list b/bt5/delivery_patch/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_catalog_full_text_key_list b/bt5/delivery_patch/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_catalog_keyword_key_list b/bt5/delivery_patch/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_catalog_method_id_list b/bt5/delivery_patch/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_catalog_multivalue_key_list b/bt5/delivery_patch/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_catalog_related_key_list b/bt5/delivery_patch/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_catalog_request_key_list b/bt5/delivery_patch/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_catalog_result_key_list b/bt5/delivery_patch/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_catalog_result_table_list b/bt5/delivery_patch/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_catalog_topic_key_list b/bt5/delivery_patch/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_constraint_id_list b/bt5/delivery_patch/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_document_id_list b/bt5/delivery_patch/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_extension_id_list b/bt5/delivery_patch/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_local_roles_list b/bt5/delivery_patch/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_message_translation_list b/bt5/delivery_patch/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_path_list b/bt5/delivery_patch/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_portal_type_base_category_list b/bt5/delivery_patch/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_portal_type_roles_list b/bt5/delivery_patch/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_preference_list b/bt5/delivery_patch/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_product_id_list b/bt5/delivery_patch/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_property_sheet_id_list b/bt5/delivery_patch/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_role_list b/bt5/delivery_patch/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_site_property_id_list b/bt5/delivery_patch/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/delivery_patch/bt/template_test_id_list b/bt5/delivery_patch/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/categories_list b/bt5/erp5_accounting/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/provision_list b/bt5/erp5_accounting/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 9b1ba7c848..1d02267183 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1370
\ No newline at end of file
+1371
\ No newline at end of file
diff --git a/bt5/erp5_accounting/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_catalog_request_key_list b/bt5/erp5_accounting/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_catalog_result_key_list b/bt5/erp5_accounting/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_catalog_result_table_list b/bt5/erp5_accounting/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_catalog_role_key_list b/bt5/erp5_accounting/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_catalog_search_key_list b/bt5/erp5_accounting/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_catalog_topic_key_list b/bt5/erp5_accounting/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_constraint_id_list b/bt5/erp5_accounting/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_document_id_list b/bt5/erp5_accounting/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_extension_id_list b/bt5/erp5_accounting/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_local_role_list b/bt5/erp5_accounting/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_local_roles_list b/bt5/erp5_accounting/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_message_translation_list b/bt5/erp5_accounting/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_portal_type_role_list b/bt5/erp5_accounting/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_portal_type_roles_list b/bt5/erp5_accounting/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_preference_list b/bt5/erp5_accounting/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_product_id_list b/bt5/erp5_accounting/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_property_sheet_id_list b/bt5/erp5_accounting/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_registered_skin_selection_list b/bt5/erp5_accounting/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_role_list b/bt5/erp5_accounting/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_site_property_id_list b/bt5/erp5_accounting/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_test_id_list b/bt5/erp5_accounting/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting/bt/template_tool_id_list b/bt5/erp5_accounting/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/categories_list b/bt5/erp5_accounting_l10n_br_extend/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/comment b/bt5/erp5_accounting_l10n_br_extend/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/provision_list b/bt5/erp5_accounting_l10n_br_extend/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/revision b/bt5/erp5_accounting_l10n_br_extend/bt/revision
index 8e2afd3427..25bf17fc5a 100644
--- a/bt5/erp5_accounting_l10n_br_extend/bt/revision
+++ b/bt5/erp5_accounting_l10n_br_extend/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_action_path_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_role_key_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_document_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_module_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_preference_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_product_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_role_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_test_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_tool_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_br_extend/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/categories_list b/bt5/erp5_accounting_l10n_br_sme/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/comment b/bt5/erp5_accounting_l10n_br_sme/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/provision_list b/bt5/erp5_accounting_l10n_br_sme/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/revision b/bt5/erp5_accounting_l10n_br_sme/bt/revision
index ca7bf83ac5..da2d3988d7 100644
--- a/bt5/erp5_accounting_l10n_br_sme/bt/revision
+++ b/bt5/erp5_accounting_l10n_br_sme/bt/revision
@@ -1 +1 @@
-13
\ No newline at end of file
+14
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_action_path_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_role_key_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_document_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_module_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_preference_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_product_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_role_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_test_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_tool_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_br_sme/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/categories_list b/bt5/erp5_accounting_l10n_fr/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/comment b/bt5/erp5_accounting_l10n_fr/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/provision_list b/bt5/erp5_accounting_l10n_fr/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/revision b/bt5/erp5_accounting_l10n_fr/bt/revision
index b5045cc404..8fdd954df9 100644
--- a/bt5/erp5_accounting_l10n_fr/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr/bt/revision
@@ -1 +1 @@
-21
\ No newline at end of file
+22
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_role_key_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_fr/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_document_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_fr/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_fr/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_module_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_fr/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_preference_list b/bt5/erp5_accounting_l10n_fr/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_product_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_role_list b/bt5/erp5_accounting_l10n_fr/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_test_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_tool_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_fr/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/categories_list b/bt5/erp5_accounting_l10n_fr_m14/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/revision b/bt5/erp5_accounting_l10n_fr_m14/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/erp5_accounting_l10n_fr_m14/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr_m14/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_action_path_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_document_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_module_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_product_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_role_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_skin_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_test_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_fr_m14/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/categories_list b/bt5/erp5_accounting_l10n_fr_m4/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/comment b/bt5/erp5_accounting_l10n_fr_m4/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/provision_list b/bt5/erp5_accounting_l10n_fr_m4/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/revision b/bt5/erp5_accounting_l10n_fr_m4/bt/revision
index 19c7bdba7b..8e2afd3427 100644
--- a/bt5/erp5_accounting_l10n_fr_m4/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr_m4/bt/revision
@@ -1 +1 @@
-16
\ No newline at end of file
+17
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_action_path_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_role_key_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_document_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_module_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_preference_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_product_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_role_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_skin_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_test_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_tool_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_fr_m4/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/categories_list b/bt5/erp5_accounting_l10n_fr_pca/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/comment b/bt5/erp5_accounting_l10n_fr_pca/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/copyright_list b/bt5/erp5_accounting_l10n_fr_pca/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/license b/bt5/erp5_accounting_l10n_fr_pca/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/maintainer_list b/bt5/erp5_accounting_l10n_fr_pca/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/provision_list b/bt5/erp5_accounting_l10n_fr_pca/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/revision b/bt5/erp5_accounting_l10n_fr_pca/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_accounting_l10n_fr_pca/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr_pca/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_action_path_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_role_key_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_document_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_local_role_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_module_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_role_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_preference_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_product_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_registered_skin_selection_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_role_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_skin_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_test_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_tool_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_fr_pca/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/categories_list b/bt5/erp5_accounting_l10n_ifrs/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/comment b/bt5/erp5_accounting_l10n_ifrs/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/provision_list b/bt5/erp5_accounting_l10n_ifrs/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/revision b/bt5/erp5_accounting_l10n_ifrs/bt/revision
index 301160a930..f11c82a4cb 100644
--- a/bt5/erp5_accounting_l10n_ifrs/bt/revision
+++ b/bt5/erp5_accounting_l10n_ifrs/bt/revision
@@ -1 +1 @@
-8
\ No newline at end of file
+9
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_action_path_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_role_key_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_document_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_module_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_preference_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_product_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_role_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_skin_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_test_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_tool_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_ifrs/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/categories_list b/bt5/erp5_accounting_l10n_in/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/comment b/bt5/erp5_accounting_l10n_in/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/provision_list b/bt5/erp5_accounting_l10n_in/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/revision b/bt5/erp5_accounting_l10n_in/bt/revision
index 3f10ffe7a4..19c7bdba7b 100644
--- a/bt5/erp5_accounting_l10n_in/bt/revision
+++ b/bt5/erp5_accounting_l10n_in/bt/revision
@@ -1 +1 @@
-15
\ No newline at end of file
+16
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_l10n_in/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_in/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_in/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_in/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_in/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_in/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_in/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_in/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_in/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_l10n_in/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_in/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_in/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_document_id_list b/bt5/erp5_accounting_l10n_in/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_in/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_in/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_in/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_module_id_list b/bt5/erp5_accounting_l10n_in/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_in/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_in/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_in/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_in/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_in/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_in/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_in/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_preference_list b/bt5/erp5_accounting_l10n_in/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_product_id_list b/bt5/erp5_accounting_l10n_in/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_in/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_role_list b/bt5/erp5_accounting_l10n_in/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_in/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_test_id_list b/bt5/erp5_accounting_l10n_in/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_tool_id_list b/bt5/erp5_accounting_l10n_in/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_in/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/categories_list b/bt5/erp5_accounting_l10n_jp/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/comment b/bt5/erp5_accounting_l10n_jp/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/maintainer_list b/bt5/erp5_accounting_l10n_jp/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/provision_list b/bt5/erp5_accounting_l10n_jp/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/revision b/bt5/erp5_accounting_l10n_jp/bt/revision
index d99e90eb96..8580e7b684 100644
--- a/bt5/erp5_accounting_l10n_jp/bt/revision
+++ b/bt5/erp5_accounting_l10n_jp/bt/revision
@@ -1 +1 @@
-29
\ No newline at end of file
+30
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_role_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_search_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_jp/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_document_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_local_role_list b/bt5/erp5_accounting_l10n_jp/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_jp/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_jp/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_module_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_role_list b/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_jp/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_preference_list b/bt5/erp5_accounting_l10n_jp/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_product_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_registered_skin_selection_list b/bt5/erp5_accounting_l10n_jp/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_role_list b/bt5/erp5_accounting_l10n_jp/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_test_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_tool_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_jp/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/categories_list b/bt5/erp5_accounting_l10n_mt/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/comment b/bt5/erp5_accounting_l10n_mt/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/provision_list b/bt5/erp5_accounting_l10n_mt/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/revision b/bt5/erp5_accounting_l10n_mt/bt/revision
index 25bf17fc5a..dec2bf5d61 100644
--- a/bt5/erp5_accounting_l10n_mt/bt/revision
+++ b/bt5/erp5_accounting_l10n_mt/bt/revision
@@ -1 +1 @@
-18
\ No newline at end of file
+19
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_action_path_list b/bt5/erp5_accounting_l10n_mt/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_role_key_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_mt/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_document_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_local_role_list b/bt5/erp5_accounting_l10n_mt/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_mt/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_mt/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_module_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_role_list b/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_mt/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_preference_list b/bt5/erp5_accounting_l10n_mt/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_product_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_registered_skin_selection_list b/bt5/erp5_accounting_l10n_mt/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_role_list b/bt5/erp5_accounting_l10n_mt/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_skin_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_test_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_tool_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_mt/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/categories_list b/bt5/erp5_accounting_l10n_pl/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/provision_list b/bt5/erp5_accounting_l10n_pl/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/revision b/bt5/erp5_accounting_l10n_pl/bt/revision
index 8783e30511..43c451e0c6 100644
--- a/bt5/erp5_accounting_l10n_pl/bt/revision
+++ b/bt5/erp5_accounting_l10n_pl/bt/revision
@@ -1 +1 @@
-53
\ No newline at end of file
+54
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_role_key_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_pl/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_pl/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_document_id_list b/bt5/erp5_accounting_l10n_pl/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_pl/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_pl/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_pl/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_module_id_list b/bt5/erp5_accounting_l10n_pl/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_path_list b/bt5/erp5_accounting_l10n_pl/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_pl/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_pl/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_pl/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_pl/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_pl/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_preference_list b/bt5/erp5_accounting_l10n_pl/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_product_id_list b/bt5/erp5_accounting_l10n_pl/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_role_list b/bt5/erp5_accounting_l10n_pl/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_pl/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_test_id_list b/bt5/erp5_accounting_l10n_pl/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_tool_id_list b/bt5/erp5_accounting_l10n_pl/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_pl/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/categories_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/comment b/bt5/erp5_accounting_l10n_pl_default_gap/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/copyright_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/dependency_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/description b/bt5/erp5_accounting_l10n_pl_default_gap/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/license b/bt5/erp5_accounting_l10n_pl_default_gap/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/maintainer_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision b/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision
index 2edeafb09d..b5045cc404 100644
--- a/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision
+++ b/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision
@@ -1 +1 @@
-20
\ No newline at end of file
+21
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_action_path_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_base_category_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_role_key_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_document_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_module_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_preference_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_product_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_role_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_test_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_tool_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/categories_list b/bt5/erp5_accounting_l10n_sn/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/provision_list b/bt5/erp5_accounting_l10n_sn/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/revision b/bt5/erp5_accounting_l10n_sn/bt/revision
index c7930257df..301160a930 100644
--- a/bt5/erp5_accounting_l10n_sn/bt/revision
+++ b/bt5/erp5_accounting_l10n_sn/bt/revision
@@ -1 +1 @@
-7
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_action_path_list b/bt5/erp5_accounting_l10n_sn/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_l10n_sn/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_l10n_sn/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_catalog_method_id_list b/bt5/erp5_accounting_l10n_sn/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_l10n_sn/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_catalog_related_key_list b/bt5/erp5_accounting_l10n_sn/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_catalog_request_key_list b/bt5/erp5_accounting_l10n_sn/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_catalog_result_key_list b/bt5/erp5_accounting_l10n_sn/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_catalog_result_table_list b/bt5/erp5_accounting_l10n_sn/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_l10n_sn/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_constraint_id_list b/bt5/erp5_accounting_l10n_sn/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_document_id_list b/bt5/erp5_accounting_l10n_sn/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_extension_id_list b/bt5/erp5_accounting_l10n_sn/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_local_roles_list b/bt5/erp5_accounting_l10n_sn/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_message_translation_list b/bt5/erp5_accounting_l10n_sn/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_module_id_list b/bt5/erp5_accounting_l10n_sn/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_id_list b/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_roles_list b/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_l10n_sn/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_preference_list b/bt5/erp5_accounting_l10n_sn/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_product_id_list b/bt5/erp5_accounting_l10n_sn/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_property_sheet_id_list b/bt5/erp5_accounting_l10n_sn/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_role_list b/bt5/erp5_accounting_l10n_sn/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_site_property_id_list b/bt5/erp5_accounting_l10n_sn/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_test_id_list b/bt5/erp5_accounting_l10n_sn/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_workflow_id_list b/bt5/erp5_accounting_l10n_sn/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/categories_list b/bt5/erp5_accounting_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/comment b/bt5/erp5_accounting_ui_test/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/provision_list b/bt5/erp5_accounting_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/revision b/bt5/erp5_accounting_ui_test/bt/revision
index a6b4ce8401..12e2555919 100644
--- a/bt5/erp5_accounting_ui_test/bt/revision
+++ b/bt5/erp5_accounting_ui_test/bt/revision
@@ -1 +1 @@
-176
\ No newline at end of file
+177
\ No newline at end of file
diff --git a/bt5/erp5_accounting_ui_test/bt/template_action_path_list b/bt5/erp5_accounting_ui_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_base_category_list b/bt5/erp5_accounting_ui_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_datetime_key_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_local_role_key_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_role_key_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_accounting_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_constraint_id_list b/bt5/erp5_accounting_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_document_id_list b/bt5/erp5_accounting_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_extension_id_list b/bt5/erp5_accounting_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_local_role_list b/bt5/erp5_accounting_ui_test/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_local_roles_list b/bt5/erp5_accounting_ui_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_message_translation_list b/bt5/erp5_accounting_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_module_id_list b/bt5/erp5_accounting_ui_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_accounting_ui_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_portal_type_base_category_list b/bt5/erp5_accounting_ui_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_accounting_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_portal_type_id_list b/bt5/erp5_accounting_ui_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_accounting_ui_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_portal_type_role_list b/bt5/erp5_accounting_ui_test/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_portal_type_roles_list b/bt5/erp5_accounting_ui_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_accounting_ui_test/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_preference_list b/bt5/erp5_accounting_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_product_id_list b/bt5/erp5_accounting_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_accounting_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_registered_skin_selection_list b/bt5/erp5_accounting_ui_test/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_role_list b/bt5/erp5_accounting_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_site_property_id_list b/bt5/erp5_accounting_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_test_id_list b/bt5/erp5_accounting_ui_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_tool_id_list b/bt5/erp5_accounting_ui_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_accounting_ui_test/bt/template_workflow_id_list b/bt5/erp5_accounting_ui_test/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/categories_list b/bt5/erp5_administration/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/comment b/bt5/erp5_administration/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/dependency_list b/bt5/erp5_administration/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/maintainer_list b/bt5/erp5_administration/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/provision_list b/bt5/erp5_administration/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/revision b/bt5/erp5_administration/bt/revision
index a09fd8ad47..00c98bb3ad 100644
--- a/bt5/erp5_administration/bt/revision
+++ b/bt5/erp5_administration/bt/revision
@@ -1 +1 @@
-124
\ No newline at end of file
+125
\ No newline at end of file
diff --git a/bt5/erp5_administration/bt/template_base_category_list b/bt5/erp5_administration/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_datetime_key_list b/bt5/erp5_administration/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_full_text_key_list b/bt5/erp5_administration/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_keyword_key_list b/bt5/erp5_administration/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_local_role_key_list b/bt5/erp5_administration/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_method_id_list b/bt5/erp5_administration/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_multivalue_key_list b/bt5/erp5_administration/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_related_key_list b/bt5/erp5_administration/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_request_key_list b/bt5/erp5_administration/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_result_key_list b/bt5/erp5_administration/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_result_table_list b/bt5/erp5_administration/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_role_key_list b/bt5/erp5_administration/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_scriptable_key_list b/bt5/erp5_administration/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_catalog_topic_key_list b/bt5/erp5_administration/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_constraint_id_list b/bt5/erp5_administration/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_document_id_list b/bt5/erp5_administration/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_local_role_list b/bt5/erp5_administration/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_local_roles_list b/bt5/erp5_administration/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_message_translation_list b/bt5/erp5_administration/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_module_id_list b/bt5/erp5_administration/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_administration/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_portal_type_base_category_list b/bt5/erp5_administration/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_administration/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_portal_type_id_list b/bt5/erp5_administration/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_portal_type_property_sheet_list b/bt5/erp5_administration/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_portal_type_role_list b/bt5/erp5_administration/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_portal_type_roles_list b/bt5/erp5_administration/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_portal_type_workflow_chain_list b/bt5/erp5_administration/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_preference_list b/bt5/erp5_administration/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_product_id_list b/bt5/erp5_administration/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_property_sheet_id_list b/bt5/erp5_administration/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_registered_skin_selection_list b/bt5/erp5_administration/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_role_list b/bt5/erp5_administration/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_site_property_id_list b/bt5/erp5_administration/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_test_id_list b/bt5/erp5_administration/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_tool_id_list b/bt5/erp5_administration/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_administration/bt/template_workflow_id_list b/bt5/erp5_administration/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/categories_list b/bt5/erp5_advanced_invoicing/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/comment b/bt5/erp5_advanced_invoicing/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/provision_list b/bt5/erp5_advanced_invoicing/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/revision b/bt5/erp5_advanced_invoicing/bt/revision
index a46c9d2265..69226f7293 100644
--- a/bt5/erp5_advanced_invoicing/bt/revision
+++ b/bt5/erp5_advanced_invoicing/bt/revision
@@ -1 +1 @@
-91
\ No newline at end of file
+92
\ No newline at end of file
diff --git a/bt5/erp5_advanced_invoicing/bt/template_base_category_list b/bt5/erp5_advanced_invoicing/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_datetime_key_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_full_text_key_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_keyword_key_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_local_role_key_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_method_id_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_multivalue_key_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_related_key_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_request_key_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_result_key_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_result_table_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_role_key_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_scriptable_key_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_catalog_topic_key_list b/bt5/erp5_advanced_invoicing/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_constraint_id_list b/bt5/erp5_advanced_invoicing/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_document_id_list b/bt5/erp5_advanced_invoicing/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_extension_id_list b/bt5/erp5_advanced_invoicing/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_local_role_list b/bt5/erp5_advanced_invoicing/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_local_roles_list b/bt5/erp5_advanced_invoicing/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_message_translation_list b/bt5/erp5_advanced_invoicing/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_advanced_invoicing/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_portal_type_role_list b/bt5/erp5_advanced_invoicing/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_portal_type_roles_list b/bt5/erp5_advanced_invoicing/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_preference_list b/bt5/erp5_advanced_invoicing/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_product_id_list b/bt5/erp5_advanced_invoicing/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_property_sheet_id_list b/bt5/erp5_advanced_invoicing/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_registered_skin_selection_list b/bt5/erp5_advanced_invoicing/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_role_list b/bt5/erp5_advanced_invoicing/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_site_property_id_list b/bt5/erp5_advanced_invoicing/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_test_id_list b/bt5/erp5_advanced_invoicing/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_advanced_invoicing/bt/template_tool_id_list b/bt5/erp5_advanced_invoicing/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/categories_list b/bt5/erp5_apparel/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/comment b/bt5/erp5_apparel/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/provision_list b/bt5/erp5_apparel/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/revision b/bt5/erp5_apparel/bt/revision
index 02225a563f..a36df4ef7e 100644
--- a/bt5/erp5_apparel/bt/revision
+++ b/bt5/erp5_apparel/bt/revision
@@ -1 +1 @@
-268
\ No newline at end of file
+269
\ No newline at end of file
diff --git a/bt5/erp5_apparel/bt/template_catalog_datetime_key_list b/bt5/erp5_apparel/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_full_text_key_list b/bt5/erp5_apparel/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_keyword_key_list b/bt5/erp5_apparel/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_local_role_key_list b/bt5/erp5_apparel/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_method_id_list b/bt5/erp5_apparel/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_multivalue_key_list b/bt5/erp5_apparel/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_related_key_list b/bt5/erp5_apparel/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_request_key_list b/bt5/erp5_apparel/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_result_key_list b/bt5/erp5_apparel/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_result_table_list b/bt5/erp5_apparel/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_role_key_list b/bt5/erp5_apparel/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_scriptable_key_list b/bt5/erp5_apparel/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_catalog_topic_key_list b/bt5/erp5_apparel/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_constraint_id_list b/bt5/erp5_apparel/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_extension_id_list b/bt5/erp5_apparel/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_local_role_list b/bt5/erp5_apparel/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_local_roles_list b/bt5/erp5_apparel/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_message_translation_list b/bt5/erp5_apparel/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_path_list b/bt5/erp5_apparel/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_portal_type_role_list b/bt5/erp5_apparel/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_portal_type_roles_list b/bt5/erp5_apparel/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_preference_list b/bt5/erp5_apparel/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_product_id_list b/bt5/erp5_apparel/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_registered_skin_selection_list b/bt5/erp5_apparel/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_role_list b/bt5/erp5_apparel/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_site_property_id_list b/bt5/erp5_apparel/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_test_id_list b/bt5/erp5_apparel/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_apparel/bt/template_tool_id_list b/bt5/erp5_apparel/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/categories_list b/bt5/erp5_archive/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/comment b/bt5/erp5_archive/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/provision_list b/bt5/erp5_archive/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/revision b/bt5/erp5_archive/bt/revision
index eaf7a13d15..9f72858795 100644
--- a/bt5/erp5_archive/bt/revision
+++ b/bt5/erp5_archive/bt/revision
@@ -1 +1 @@
-87
\ No newline at end of file
+88
\ No newline at end of file
diff --git a/bt5/erp5_archive/bt/template_base_category_list b/bt5/erp5_archive/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_datetime_key_list b/bt5/erp5_archive/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_full_text_key_list b/bt5/erp5_archive/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_keyword_key_list b/bt5/erp5_archive/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_local_role_key_list b/bt5/erp5_archive/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_method_id_list b/bt5/erp5_archive/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_multivalue_key_list b/bt5/erp5_archive/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_related_key_list b/bt5/erp5_archive/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_request_key_list b/bt5/erp5_archive/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_result_key_list b/bt5/erp5_archive/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_result_table_list b/bt5/erp5_archive/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_role_key_list b/bt5/erp5_archive/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_scriptable_key_list b/bt5/erp5_archive/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_catalog_topic_key_list b/bt5/erp5_archive/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_constraint_id_list b/bt5/erp5_archive/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_document_id_list b/bt5/erp5_archive/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_extension_id_list b/bt5/erp5_archive/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_local_role_list b/bt5/erp5_archive/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_local_roles_list b/bt5/erp5_archive/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_message_translation_list b/bt5/erp5_archive/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_path_list b/bt5/erp5_archive/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_portal_type_base_category_list b/bt5/erp5_archive/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_portal_type_role_list b/bt5/erp5_archive/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_portal_type_roles_list b/bt5/erp5_archive/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_preference_list b/bt5/erp5_archive/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_product_id_list b/bt5/erp5_archive/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_property_sheet_id_list b/bt5/erp5_archive/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_registered_skin_selection_list b/bt5/erp5_archive/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_role_list b/bt5/erp5_archive/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_site_property_id_list b/bt5/erp5_archive/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_archive/bt/template_test_id_list b/bt5/erp5_archive/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/categories_list b/bt5/erp5_auto_logout/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/comment b/bt5/erp5_auto_logout/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/dependency_list b/bt5/erp5_auto_logout/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/provision_list b/bt5/erp5_auto_logout/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/revision b/bt5/erp5_auto_logout/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/erp5_auto_logout/bt/revision
+++ b/bt5/erp5_auto_logout/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/erp5_auto_logout/bt/template_action_path_list b/bt5/erp5_auto_logout/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_base_category_list b/bt5/erp5_auto_logout/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_datetime_key_list b/bt5/erp5_auto_logout/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_full_text_key_list b/bt5/erp5_auto_logout/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_keyword_key_list b/bt5/erp5_auto_logout/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_local_role_key_list b/bt5/erp5_auto_logout/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_method_id_list b/bt5/erp5_auto_logout/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_multivalue_key_list b/bt5/erp5_auto_logout/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_related_key_list b/bt5/erp5_auto_logout/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_request_key_list b/bt5/erp5_auto_logout/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_result_key_list b/bt5/erp5_auto_logout/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_result_table_list b/bt5/erp5_auto_logout/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_role_key_list b/bt5/erp5_auto_logout/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_scriptable_key_list b/bt5/erp5_auto_logout/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_catalog_topic_key_list b/bt5/erp5_auto_logout/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_constraint_id_list b/bt5/erp5_auto_logout/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_document_id_list b/bt5/erp5_auto_logout/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_extension_id_list b/bt5/erp5_auto_logout/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_local_roles_list b/bt5/erp5_auto_logout/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_message_translation_list b/bt5/erp5_auto_logout/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_module_id_list b/bt5/erp5_auto_logout/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_path_list b/bt5/erp5_auto_logout/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_auto_logout/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_portal_type_base_category_list b/bt5/erp5_auto_logout/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_auto_logout/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_portal_type_id_list b/bt5/erp5_auto_logout/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_portal_type_property_sheet_list b/bt5/erp5_auto_logout/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_portal_type_roles_list b/bt5/erp5_auto_logout/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_portal_type_workflow_chain_list b/bt5/erp5_auto_logout/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_preference_list b/bt5/erp5_auto_logout/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_product_id_list b/bt5/erp5_auto_logout/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_property_sheet_id_list b/bt5/erp5_auto_logout/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_role_list b/bt5/erp5_auto_logout/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_site_property_id_list b/bt5/erp5_auto_logout/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_test_id_list b/bt5/erp5_auto_logout/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_tool_id_list b/bt5/erp5_auto_logout/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/template_workflow_id_list b/bt5/erp5_auto_logout/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_auto_logout/bt/version b/bt5/erp5_auto_logout/bt/version
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/categories_list b/bt5/erp5_autocompletion_ui/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/comment b/bt5/erp5_autocompletion_ui/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/provision_list b/bt5/erp5_autocompletion_ui/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/revision b/bt5/erp5_autocompletion_ui/bt/revision
index d8263ee986..e440e5c842 100644
--- a/bt5/erp5_autocompletion_ui/bt/revision
+++ b/bt5/erp5_autocompletion_ui/bt/revision
@@ -1 +1 @@
-2
\ No newline at end of file
+3
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/template_action_path_list b/bt5/erp5_autocompletion_ui/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_base_category_list b/bt5/erp5_autocompletion_ui/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_datetime_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_full_text_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_keyword_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_local_role_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_method_id_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_multivalue_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_related_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_request_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_result_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_result_table_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_role_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_scriptable_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_catalog_topic_key_list b/bt5/erp5_autocompletion_ui/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_constraint_id_list b/bt5/erp5_autocompletion_ui/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_document_id_list b/bt5/erp5_autocompletion_ui/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_extension_id_list b/bt5/erp5_autocompletion_ui/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_local_role_list b/bt5/erp5_autocompletion_ui/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_local_roles_list b/bt5/erp5_autocompletion_ui/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_message_translation_list b/bt5/erp5_autocompletion_ui/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_module_id_list b/bt5/erp5_autocompletion_ui/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_path_list b/bt5/erp5_autocompletion_ui/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_base_category_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_id_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_property_sheet_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_role_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_roles_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_portal_type_workflow_chain_list b/bt5/erp5_autocompletion_ui/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_preference_list b/bt5/erp5_autocompletion_ui/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_product_id_list b/bt5/erp5_autocompletion_ui/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_property_sheet_id_list b/bt5/erp5_autocompletion_ui/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_role_list b/bt5/erp5_autocompletion_ui/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_site_property_id_list b/bt5/erp5_autocompletion_ui/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_test_id_list b/bt5/erp5_autocompletion_ui/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_tool_id_list b/bt5/erp5_autocompletion_ui/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_autocompletion_ui/bt/template_workflow_id_list b/bt5/erp5_autocompletion_ui/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/categories_list b/bt5/erp5_banking_cash/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/comment b/bt5/erp5_banking_cash/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/provision_list b/bt5/erp5_banking_cash/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/revision b/bt5/erp5_banking_cash/bt/revision
index 8a2602231b..6e1d38407b 100644
--- a/bt5/erp5_banking_cash/bt/revision
+++ b/bt5/erp5_banking_cash/bt/revision
@@ -1 +1 @@
-686
\ No newline at end of file
+687
\ No newline at end of file
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_datetime_key_list b/bt5/erp5_banking_cash/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_full_text_key_list b/bt5/erp5_banking_cash/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_keyword_key_list b/bt5/erp5_banking_cash/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_local_role_key_list b/bt5/erp5_banking_cash/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_method_id_list b/bt5/erp5_banking_cash/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_multivalue_key_list b/bt5/erp5_banking_cash/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_related_key_list b/bt5/erp5_banking_cash/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_request_key_list b/bt5/erp5_banking_cash/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_result_key_list b/bt5/erp5_banking_cash/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_result_table_list b/bt5/erp5_banking_cash/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_role_key_list b/bt5/erp5_banking_cash/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_scriptable_key_list b/bt5/erp5_banking_cash/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_catalog_topic_key_list b/bt5/erp5_banking_cash/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_constraint_id_list b/bt5/erp5_banking_cash/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_document_id_list b/bt5/erp5_banking_cash/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_extension_id_list b/bt5/erp5_banking_cash/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_local_role_list b/bt5/erp5_banking_cash/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_local_roles_list b/bt5/erp5_banking_cash/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_message_translation_list b/bt5/erp5_banking_cash/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_path_list b/bt5/erp5_banking_cash/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_portal_type_role_list b/bt5/erp5_banking_cash/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_portal_type_roles_list b/bt5/erp5_banking_cash/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_preference_list b/bt5/erp5_banking_cash/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_product_id_list b/bt5/erp5_banking_cash/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_registered_skin_selection_list b/bt5/erp5_banking_cash/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_role_list b/bt5/erp5_banking_cash/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_site_property_id_list b/bt5/erp5_banking_cash/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_test_id_list b/bt5/erp5_banking_cash/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_cash/bt/template_tool_id_list b/bt5/erp5_banking_cash/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/categories_list b/bt5/erp5_banking_check/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/comment b/bt5/erp5_banking_check/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/provision_list b/bt5/erp5_banking_check/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/revision b/bt5/erp5_banking_check/bt/revision
index 3b7560b755..95bae2dc25 100644
--- a/bt5/erp5_banking_check/bt/revision
+++ b/bt5/erp5_banking_check/bt/revision
@@ -1 +1 @@
-445
\ No newline at end of file
+446
\ No newline at end of file
diff --git a/bt5/erp5_banking_check/bt/template_base_category_list b/bt5/erp5_banking_check/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_datetime_key_list b/bt5/erp5_banking_check/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_full_text_key_list b/bt5/erp5_banking_check/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_keyword_key_list b/bt5/erp5_banking_check/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_local_role_key_list b/bt5/erp5_banking_check/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_method_id_list b/bt5/erp5_banking_check/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_multivalue_key_list b/bt5/erp5_banking_check/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_related_key_list b/bt5/erp5_banking_check/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_request_key_list b/bt5/erp5_banking_check/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_result_key_list b/bt5/erp5_banking_check/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_result_table_list b/bt5/erp5_banking_check/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_role_key_list b/bt5/erp5_banking_check/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_scriptable_key_list b/bt5/erp5_banking_check/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_catalog_topic_key_list b/bt5/erp5_banking_check/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_constraint_id_list b/bt5/erp5_banking_check/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_document_id_list b/bt5/erp5_banking_check/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_local_role_list b/bt5/erp5_banking_check/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_local_roles_list b/bt5/erp5_banking_check/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_message_translation_list b/bt5/erp5_banking_check/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_path_list b/bt5/erp5_banking_check/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_portal_type_role_list b/bt5/erp5_banking_check/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_portal_type_roles_list b/bt5/erp5_banking_check/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_preference_list b/bt5/erp5_banking_check/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_product_id_list b/bt5/erp5_banking_check/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_registered_skin_selection_list b/bt5/erp5_banking_check/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_role_list b/bt5/erp5_banking_check/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_site_property_id_list b/bt5/erp5_banking_check/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_test_id_list b/bt5/erp5_banking_check/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_check/bt/template_tool_id_list b/bt5/erp5_banking_check/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/categories_list b/bt5/erp5_banking_core/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/comment b/bt5/erp5_banking_core/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/provision_list b/bt5/erp5_banking_core/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/revision b/bt5/erp5_banking_core/bt/revision
index 64ae959863..ea5ca3642f 100644
--- a/bt5/erp5_banking_core/bt/revision
+++ b/bt5/erp5_banking_core/bt/revision
@@ -1 +1 @@
-546
\ No newline at end of file
+547
\ No newline at end of file
diff --git a/bt5/erp5_banking_core/bt/template_catalog_datetime_key_list b/bt5/erp5_banking_core/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_catalog_full_text_key_list b/bt5/erp5_banking_core/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_catalog_keyword_key_list b/bt5/erp5_banking_core/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_catalog_local_role_key_list b/bt5/erp5_banking_core/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_catalog_multivalue_key_list b/bt5/erp5_banking_core/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_catalog_request_key_list b/bt5/erp5_banking_core/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_catalog_result_key_list b/bt5/erp5_banking_core/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_catalog_result_table_list b/bt5/erp5_banking_core/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_catalog_role_key_list b/bt5/erp5_banking_core/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_catalog_scriptable_key_list b/bt5/erp5_banking_core/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_catalog_topic_key_list b/bt5/erp5_banking_core/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_document_id_list b/bt5/erp5_banking_core/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_extension_id_list b/bt5/erp5_banking_core/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_local_role_list b/bt5/erp5_banking_core/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_local_roles_list b/bt5/erp5_banking_core/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_message_translation_list b/bt5/erp5_banking_core/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_portal_type_role_list b/bt5/erp5_banking_core/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_portal_type_roles_list b/bt5/erp5_banking_core/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_preference_list b/bt5/erp5_banking_core/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_product_id_list b/bt5/erp5_banking_core/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_registered_skin_selection_list b/bt5/erp5_banking_core/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_role_list b/bt5/erp5_banking_core/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_site_property_id_list b/bt5/erp5_banking_core/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_test_id_list b/bt5/erp5_banking_core/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_core/bt/template_tool_id_list b/bt5/erp5_banking_core/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/categories_list b/bt5/erp5_banking_inventory/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/comment b/bt5/erp5_banking_inventory/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/provision_list b/bt5/erp5_banking_inventory/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/revision b/bt5/erp5_banking_inventory/bt/revision
index abc4eff6ac..801f180102 100644
--- a/bt5/erp5_banking_inventory/bt/revision
+++ b/bt5/erp5_banking_inventory/bt/revision
@@ -1 +1 @@
-46
\ No newline at end of file
+47
\ No newline at end of file
diff --git a/bt5/erp5_banking_inventory/bt/template_base_category_list b/bt5/erp5_banking_inventory/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_datetime_key_list b/bt5/erp5_banking_inventory/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_full_text_key_list b/bt5/erp5_banking_inventory/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_keyword_key_list b/bt5/erp5_banking_inventory/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_local_role_key_list b/bt5/erp5_banking_inventory/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_method_id_list b/bt5/erp5_banking_inventory/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_multivalue_key_list b/bt5/erp5_banking_inventory/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_related_key_list b/bt5/erp5_banking_inventory/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_request_key_list b/bt5/erp5_banking_inventory/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_result_key_list b/bt5/erp5_banking_inventory/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_result_table_list b/bt5/erp5_banking_inventory/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_role_key_list b/bt5/erp5_banking_inventory/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_scriptable_key_list b/bt5/erp5_banking_inventory/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_catalog_topic_key_list b/bt5/erp5_banking_inventory/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_constraint_id_list b/bt5/erp5_banking_inventory/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_document_id_list b/bt5/erp5_banking_inventory/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_extension_id_list b/bt5/erp5_banking_inventory/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_local_role_list b/bt5/erp5_banking_inventory/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_local_roles_list b/bt5/erp5_banking_inventory/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_message_translation_list b/bt5/erp5_banking_inventory/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_path_list b/bt5/erp5_banking_inventory/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_portal_type_role_list b/bt5/erp5_banking_inventory/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_portal_type_roles_list b/bt5/erp5_banking_inventory/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_preference_list b/bt5/erp5_banking_inventory/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_product_id_list b/bt5/erp5_banking_inventory/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_property_sheet_id_list b/bt5/erp5_banking_inventory/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_registered_skin_selection_list b/bt5/erp5_banking_inventory/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_role_list b/bt5/erp5_banking_inventory/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_site_property_id_list b/bt5/erp5_banking_inventory/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_test_id_list b/bt5/erp5_banking_inventory/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_banking_inventory/bt/template_tool_id_list b/bt5/erp5_banking_inventory/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/categories_list b/bt5/erp5_barcode/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/comment b/bt5/erp5_barcode/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/copyright_list b/bt5/erp5_barcode/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/dependency_list b/bt5/erp5_barcode/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/license b/bt5/erp5_barcode/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/provision_list b/bt5/erp5_barcode/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/revision b/bt5/erp5_barcode/bt/revision
index 19c7bdba7b..8e2afd3427 100644
--- a/bt5/erp5_barcode/bt/revision
+++ b/bt5/erp5_barcode/bt/revision
@@ -1 +1 @@
-16
\ No newline at end of file
+17
\ No newline at end of file
diff --git a/bt5/erp5_barcode/bt/template_base_category_list b/bt5/erp5_barcode/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_datetime_key_list b/bt5/erp5_barcode/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_full_text_key_list b/bt5/erp5_barcode/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_keyword_key_list b/bt5/erp5_barcode/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_local_role_key_list b/bt5/erp5_barcode/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_method_id_list b/bt5/erp5_barcode/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_multivalue_key_list b/bt5/erp5_barcode/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_related_key_list b/bt5/erp5_barcode/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_request_key_list b/bt5/erp5_barcode/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_result_key_list b/bt5/erp5_barcode/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_result_table_list b/bt5/erp5_barcode/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_role_key_list b/bt5/erp5_barcode/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_scriptable_key_list b/bt5/erp5_barcode/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_catalog_topic_key_list b/bt5/erp5_barcode/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_constraint_id_list b/bt5/erp5_barcode/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_document_id_list b/bt5/erp5_barcode/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_local_role_list b/bt5/erp5_barcode/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_local_roles_list b/bt5/erp5_barcode/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_message_translation_list b/bt5/erp5_barcode/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_path_list b/bt5/erp5_barcode/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_portal_type_base_category_list b/bt5/erp5_barcode/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_barcode/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_portal_type_role_list b/bt5/erp5_barcode/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_portal_type_roles_list b/bt5/erp5_barcode/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_portal_type_workflow_chain_list b/bt5/erp5_barcode/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_preference_list b/bt5/erp5_barcode/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_product_id_list b/bt5/erp5_barcode/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_registered_skin_selection_list b/bt5/erp5_barcode/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_role_list b/bt5/erp5_barcode/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_site_property_id_list b/bt5/erp5_barcode/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_test_id_list b/bt5/erp5_barcode/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_tool_id_list b/bt5/erp5_barcode/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_barcode/bt/template_workflow_id_list b/bt5/erp5_barcode/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/categories_list b/bt5/erp5_base/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/comment b/bt5/erp5_base/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/provision_list b/bt5/erp5_base/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 54d5fa6f52..fea1e3e73c 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-881
\ No newline at end of file
+882
\ No newline at end of file
diff --git a/bt5/erp5_base/bt/template_catalog_datetime_key_list b/bt5/erp5_base/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_catalog_full_text_key_list b/bt5/erp5_base/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_catalog_keyword_key_list b/bt5/erp5_base/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_catalog_local_role_key_list b/bt5/erp5_base/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_catalog_multivalue_key_list b/bt5/erp5_base/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_catalog_request_key_list b/bt5/erp5_base/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_catalog_result_key_list b/bt5/erp5_base/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_catalog_result_table_list b/bt5/erp5_base/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_catalog_role_key_list b/bt5/erp5_base/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_catalog_scriptable_key_list b/bt5/erp5_base/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_catalog_search_key_list b/bt5/erp5_base/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_catalog_topic_key_list b/bt5/erp5_base/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_constraint_id_list b/bt5/erp5_base/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_document_id_list b/bt5/erp5_base/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_extension_id_list b/bt5/erp5_base/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_local_role_list b/bt5/erp5_base/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_local_roles_list b/bt5/erp5_base/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_message_translation_list b/bt5/erp5_base/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_preference_list b/bt5/erp5_base/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_product_id_list b/bt5/erp5_base/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_property_sheet_id_list b/bt5/erp5_base/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_registered_skin_selection_list b/bt5/erp5_base/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_role_list b/bt5/erp5_base/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_site_property_id_list b/bt5/erp5_base/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_base/bt/template_test_id_list b/bt5/erp5_base/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/categories_list b/bt5/erp5_bespin/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/provision_list b/bt5/erp5_bespin/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/revision b/bt5/erp5_bespin/bt/revision
index 3cacc0b93c..ca7bf83ac5 100644
--- a/bt5/erp5_bespin/bt/revision
+++ b/bt5/erp5_bespin/bt/revision
@@ -1 +1 @@
-12
\ No newline at end of file
+13
\ No newline at end of file
diff --git a/bt5/erp5_bespin/bt/template_action_path_list b/bt5/erp5_bespin/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_base_category_list b/bt5/erp5_bespin/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_datetime_key_list b/bt5/erp5_bespin/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_full_text_key_list b/bt5/erp5_bespin/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_keyword_key_list b/bt5/erp5_bespin/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_local_role_key_list b/bt5/erp5_bespin/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_method_id_list b/bt5/erp5_bespin/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_multivalue_key_list b/bt5/erp5_bespin/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_related_key_list b/bt5/erp5_bespin/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_request_key_list b/bt5/erp5_bespin/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_result_key_list b/bt5/erp5_bespin/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_result_table_list b/bt5/erp5_bespin/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_role_key_list b/bt5/erp5_bespin/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_scriptable_key_list b/bt5/erp5_bespin/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_catalog_topic_key_list b/bt5/erp5_bespin/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_constraint_id_list b/bt5/erp5_bespin/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_document_id_list b/bt5/erp5_bespin/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_extension_id_list b/bt5/erp5_bespin/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_local_role_list b/bt5/erp5_bespin/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_local_roles_list b/bt5/erp5_bespin/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_message_translation_list b/bt5/erp5_bespin/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_module_id_list b/bt5/erp5_bespin/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_path_list b/bt5/erp5_bespin/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_bespin/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_portal_type_base_category_list b/bt5/erp5_bespin/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_bespin/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_portal_type_id_list b/bt5/erp5_bespin/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_portal_type_property_sheet_list b/bt5/erp5_bespin/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_portal_type_role_list b/bt5/erp5_bespin/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_portal_type_roles_list b/bt5/erp5_bespin/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_portal_type_workflow_chain_list b/bt5/erp5_bespin/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_preference_list b/bt5/erp5_bespin/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_product_id_list b/bt5/erp5_bespin/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_property_sheet_id_list b/bt5/erp5_bespin/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_role_list b/bt5/erp5_bespin/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_site_property_id_list b/bt5/erp5_bespin/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_test_id_list b/bt5/erp5_bespin/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_tool_id_list b/bt5/erp5_bespin/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bespin/bt/template_workflow_id_list b/bt5/erp5_bespin/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/categories_list b/bt5/erp5_bpm/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/comment b/bt5/erp5_bpm/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/provision_list b/bt5/erp5_bpm/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/revision b/bt5/erp5_bpm/bt/revision
index a9d8b73e69..ce83bd94b3 100644
--- a/bt5/erp5_bpm/bt/revision
+++ b/bt5/erp5_bpm/bt/revision
@@ -1 +1 @@
-257
\ No newline at end of file
+258
\ No newline at end of file
diff --git a/bt5/erp5_bpm/bt/template_base_category_list b/bt5/erp5_bpm/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_datetime_key_list b/bt5/erp5_bpm/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_full_text_key_list b/bt5/erp5_bpm/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_keyword_key_list b/bt5/erp5_bpm/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_local_role_key_list b/bt5/erp5_bpm/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_multivalue_key_list b/bt5/erp5_bpm/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_related_key_list b/bt5/erp5_bpm/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_request_key_list b/bt5/erp5_bpm/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_result_key_list b/bt5/erp5_bpm/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_result_table_list b/bt5/erp5_bpm/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_role_key_list b/bt5/erp5_bpm/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_scriptable_key_list b/bt5/erp5_bpm/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_catalog_topic_key_list b/bt5/erp5_bpm/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_constraint_id_list b/bt5/erp5_bpm/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_extension_id_list b/bt5/erp5_bpm/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_local_role_list b/bt5/erp5_bpm/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_local_roles_list b/bt5/erp5_bpm/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_message_translation_list b/bt5/erp5_bpm/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_module_id_list b/bt5/erp5_bpm/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_bpm/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_portal_type_base_category_list b/bt5/erp5_bpm/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_bpm/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_portal_type_property_sheet_list b/bt5/erp5_bpm/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_portal_type_role_list b/bt5/erp5_bpm/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_portal_type_roles_list b/bt5/erp5_bpm/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_preference_list b/bt5/erp5_bpm/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_product_id_list b/bt5/erp5_bpm/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_property_sheet_id_list b/bt5/erp5_bpm/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_role_list b/bt5/erp5_bpm/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_site_property_id_list b/bt5/erp5_bpm/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_test_id_list b/bt5/erp5_bpm/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_bpm/bt/template_tool_id_list b/bt5/erp5_bpm/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/categories_list b/bt5/erp5_budget/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/comment b/bt5/erp5_budget/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/description b/bt5/erp5_budget/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/provision_list b/bt5/erp5_budget/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index ef491079a3..4b74f2216d 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-337
\ No newline at end of file
+338
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_catalog_datetime_key_list b/bt5/erp5_budget/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_full_text_key_list b/bt5/erp5_budget/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_keyword_key_list b/bt5/erp5_budget/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_local_role_key_list b/bt5/erp5_budget/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_method_id_list b/bt5/erp5_budget/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_multivalue_key_list b/bt5/erp5_budget/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_related_key_list b/bt5/erp5_budget/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_request_key_list b/bt5/erp5_budget/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_result_key_list b/bt5/erp5_budget/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_result_table_list b/bt5/erp5_budget/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_role_key_list b/bt5/erp5_budget/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_scriptable_key_list b/bt5/erp5_budget/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_search_key_list b/bt5/erp5_budget/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_catalog_topic_key_list b/bt5/erp5_budget/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_constraint_id_list b/bt5/erp5_budget/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_document_id_list b/bt5/erp5_budget/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_extension_id_list b/bt5/erp5_budget/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_local_role_list b/bt5/erp5_budget/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_local_roles_list b/bt5/erp5_budget/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_message_translation_list b/bt5/erp5_budget/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_portal_type_property_sheet_list b/bt5/erp5_budget/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_portal_type_role_list b/bt5/erp5_budget/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_portal_type_roles_list b/bt5/erp5_budget/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_preference_list b/bt5/erp5_budget/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_product_id_list b/bt5/erp5_budget/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_property_sheet_id_list b/bt5/erp5_budget/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_registered_skin_selection_list b/bt5/erp5_budget/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_role_list b/bt5/erp5_budget/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_site_property_id_list b/bt5/erp5_budget/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_test_id_list b/bt5/erp5_budget/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_budget/bt/template_tool_id_list b/bt5/erp5_budget/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/categories_list b/bt5/erp5_calendar/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/comment b/bt5/erp5_calendar/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/dependency_list b/bt5/erp5_calendar/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/provision_list b/bt5/erp5_calendar/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/revision b/bt5/erp5_calendar/bt/revision
index 755152b7ef..4f36264f98 100644
--- a/bt5/erp5_calendar/bt/revision
+++ b/bt5/erp5_calendar/bt/revision
@@ -1 +1 @@
-359
\ No newline at end of file
+360
\ No newline at end of file
diff --git a/bt5/erp5_calendar/bt/template_catalog_datetime_key_list b/bt5/erp5_calendar/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_catalog_full_text_key_list b/bt5/erp5_calendar/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_catalog_keyword_key_list b/bt5/erp5_calendar/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_catalog_local_role_key_list b/bt5/erp5_calendar/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_catalog_multivalue_key_list b/bt5/erp5_calendar/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_catalog_related_key_list b/bt5/erp5_calendar/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_catalog_request_key_list b/bt5/erp5_calendar/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_catalog_result_key_list b/bt5/erp5_calendar/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_catalog_result_table_list b/bt5/erp5_calendar/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_catalog_role_key_list b/bt5/erp5_calendar/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_catalog_scriptable_key_list b/bt5/erp5_calendar/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_catalog_topic_key_list b/bt5/erp5_calendar/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_constraint_id_list b/bt5/erp5_calendar/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_document_id_list b/bt5/erp5_calendar/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_extension_id_list b/bt5/erp5_calendar/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_local_roles_list b/bt5/erp5_calendar/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_message_translation_list b/bt5/erp5_calendar/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_calendar/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_portal_type_roles_list b/bt5/erp5_calendar/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_preference_list b/bt5/erp5_calendar/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_product_id_list b/bt5/erp5_calendar/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_property_sheet_id_list b/bt5/erp5_calendar/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_role_list b/bt5/erp5_calendar/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_site_property_id_list b/bt5/erp5_calendar/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_test_id_list b/bt5/erp5_calendar/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_calendar/bt/template_tool_id_list b/bt5/erp5_calendar/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/categories_list b/bt5/erp5_commerce/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/provision_list b/bt5/erp5_commerce/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/revision b/bt5/erp5_commerce/bt/revision
index bb81456fa1..680cc9c31b 100644
--- a/bt5/erp5_commerce/bt/revision
+++ b/bt5/erp5_commerce/bt/revision
@@ -1 +1 @@
-262
\ No newline at end of file
+263
\ No newline at end of file
diff --git a/bt5/erp5_commerce/bt/template_catalog_datetime_key_list b/bt5/erp5_commerce/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_full_text_key_list b/bt5/erp5_commerce/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_keyword_key_list b/bt5/erp5_commerce/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_local_role_key_list b/bt5/erp5_commerce/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_method_id_list b/bt5/erp5_commerce/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_multivalue_key_list b/bt5/erp5_commerce/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_related_key_list b/bt5/erp5_commerce/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_request_key_list b/bt5/erp5_commerce/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_result_key_list b/bt5/erp5_commerce/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_result_table_list b/bt5/erp5_commerce/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_role_key_list b/bt5/erp5_commerce/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_scriptable_key_list b/bt5/erp5_commerce/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_catalog_topic_key_list b/bt5/erp5_commerce/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_constraint_id_list b/bt5/erp5_commerce/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_document_id_list b/bt5/erp5_commerce/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_local_role_list b/bt5/erp5_commerce/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_local_roles_list b/bt5/erp5_commerce/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_message_translation_list b/bt5/erp5_commerce/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_module_id_list b/bt5/erp5_commerce/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_path_list b/bt5/erp5_commerce/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_commerce/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_portal_type_base_category_list b/bt5/erp5_commerce/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_commerce/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_portal_type_id_list b/bt5/erp5_commerce/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_portal_type_property_sheet_list b/bt5/erp5_commerce/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_preference_list b/bt5/erp5_commerce/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_product_id_list b/bt5/erp5_commerce/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_property_sheet_id_list b/bt5/erp5_commerce/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_role_list b/bt5/erp5_commerce/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_site_property_id_list b/bt5/erp5_commerce/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_test_id_list b/bt5/erp5_commerce/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_commerce/bt/template_tool_id_list b/bt5/erp5_commerce/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/categories_list b/bt5/erp5_computer_immobilisation/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/comment b/bt5/erp5_computer_immobilisation/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/provision_list b/bt5/erp5_computer_immobilisation/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/revision b/bt5/erp5_computer_immobilisation/bt/revision
index 8580e7b684..b74e882ae3 100644
--- a/bt5/erp5_computer_immobilisation/bt/revision
+++ b/bt5/erp5_computer_immobilisation/bt/revision
@@ -1 +1 @@
-30
\ No newline at end of file
+31
\ No newline at end of file
diff --git a/bt5/erp5_computer_immobilisation/bt/template_base_category_list b/bt5/erp5_computer_immobilisation/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_datetime_key_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_full_text_key_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_keyword_key_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_local_role_key_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_method_id_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_multivalue_key_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_related_key_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_request_key_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_result_key_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_result_table_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_role_key_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_scriptable_key_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_catalog_topic_key_list b/bt5/erp5_computer_immobilisation/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_constraint_id_list b/bt5/erp5_computer_immobilisation/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_document_id_list b/bt5/erp5_computer_immobilisation/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_extension_id_list b/bt5/erp5_computer_immobilisation/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_local_role_list b/bt5/erp5_computer_immobilisation/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_local_roles_list b/bt5/erp5_computer_immobilisation/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_message_translation_list b/bt5/erp5_computer_immobilisation/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_path_list b/bt5/erp5_computer_immobilisation/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_portal_type_base_category_list b/bt5/erp5_computer_immobilisation/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_computer_immobilisation/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_portal_type_property_sheet_list b/bt5/erp5_computer_immobilisation/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_portal_type_role_list b/bt5/erp5_computer_immobilisation/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_portal_type_roles_list b/bt5/erp5_computer_immobilisation/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_preference_list b/bt5/erp5_computer_immobilisation/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_product_id_list b/bt5/erp5_computer_immobilisation/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_property_sheet_id_list b/bt5/erp5_computer_immobilisation/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_registered_skin_selection_list b/bt5/erp5_computer_immobilisation/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_role_list b/bt5/erp5_computer_immobilisation/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_site_property_id_list b/bt5/erp5_computer_immobilisation/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_test_id_list b/bt5/erp5_computer_immobilisation/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_tool_id_list b/bt5/erp5_computer_immobilisation/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_computer_immobilisation/bt/template_workflow_id_list b/bt5/erp5_computer_immobilisation/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/categories_list b/bt5/erp5_consulting/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/comment b/bt5/erp5_consulting/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/dependency_list b/bt5/erp5_consulting/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/provision_list b/bt5/erp5_consulting/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/revision b/bt5/erp5_consulting/bt/revision
index f0b5c72cad..4800c7da68 100644
--- a/bt5/erp5_consulting/bt/revision
+++ b/bt5/erp5_consulting/bt/revision
@@ -1 +1 @@
-57
\ No newline at end of file
+58
\ No newline at end of file
diff --git a/bt5/erp5_consulting/bt/template_catalog_datetime_key_list b/bt5/erp5_consulting/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_full_text_key_list b/bt5/erp5_consulting/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_keyword_key_list b/bt5/erp5_consulting/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_local_role_key_list b/bt5/erp5_consulting/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_method_id_list b/bt5/erp5_consulting/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_multivalue_key_list b/bt5/erp5_consulting/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_related_key_list b/bt5/erp5_consulting/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_request_key_list b/bt5/erp5_consulting/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_result_key_list b/bt5/erp5_consulting/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_result_table_list b/bt5/erp5_consulting/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_role_key_list b/bt5/erp5_consulting/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_scriptable_key_list b/bt5/erp5_consulting/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_catalog_topic_key_list b/bt5/erp5_consulting/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_constraint_id_list b/bt5/erp5_consulting/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_document_id_list b/bt5/erp5_consulting/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_extension_id_list b/bt5/erp5_consulting/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_local_role_list b/bt5/erp5_consulting/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_local_roles_list b/bt5/erp5_consulting/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_message_translation_list b/bt5/erp5_consulting/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_path_list b/bt5/erp5_consulting/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_consulting/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_portal_type_role_list b/bt5/erp5_consulting/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_portal_type_roles_list b/bt5/erp5_consulting/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_preference_list b/bt5/erp5_consulting/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_product_id_list b/bt5/erp5_consulting/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_role_list b/bt5/erp5_consulting/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_site_property_id_list b/bt5/erp5_consulting/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_test_id_list b/bt5/erp5_consulting/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_consulting/bt/template_tool_id_list b/bt5/erp5_consulting/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/categories_list b/bt5/erp5_content_translation/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/comment b/bt5/erp5_content_translation/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/copyright_list b/bt5/erp5_content_translation/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/license b/bt5/erp5_content_translation/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/provision_list b/bt5/erp5_content_translation/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/revision b/bt5/erp5_content_translation/bt/revision
index 1758dddcce..dc7b54ad01 100644
--- a/bt5/erp5_content_translation/bt/revision
+++ b/bt5/erp5_content_translation/bt/revision
@@ -1 +1 @@
-32
\ No newline at end of file
+33
\ No newline at end of file
diff --git a/bt5/erp5_content_translation/bt/template_base_category_list b/bt5/erp5_content_translation/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_catalog_datetime_key_list b/bt5/erp5_content_translation/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_catalog_full_text_key_list b/bt5/erp5_content_translation/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_catalog_keyword_key_list b/bt5/erp5_content_translation/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_catalog_local_role_key_list b/bt5/erp5_content_translation/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_catalog_multivalue_key_list b/bt5/erp5_content_translation/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_catalog_related_key_list b/bt5/erp5_content_translation/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_catalog_request_key_list b/bt5/erp5_content_translation/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_catalog_result_key_list b/bt5/erp5_content_translation/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_catalog_role_key_list b/bt5/erp5_content_translation/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_catalog_topic_key_list b/bt5/erp5_content_translation/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_constraint_id_list b/bt5/erp5_content_translation/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_document_id_list b/bt5/erp5_content_translation/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_extension_id_list b/bt5/erp5_content_translation/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_local_role_list b/bt5/erp5_content_translation/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_local_roles_list b/bt5/erp5_content_translation/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_message_translation_list b/bt5/erp5_content_translation/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_module_id_list b/bt5/erp5_content_translation/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_path_list b/bt5/erp5_content_translation/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_content_translation/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_portal_type_base_category_list b/bt5/erp5_content_translation/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_content_translation/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_portal_type_id_list b/bt5/erp5_content_translation/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_portal_type_property_sheet_list b/bt5/erp5_content_translation/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_portal_type_role_list b/bt5/erp5_content_translation/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_portal_type_roles_list b/bt5/erp5_content_translation/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_preference_list b/bt5/erp5_content_translation/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_product_id_list b/bt5/erp5_content_translation/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_property_sheet_id_list b/bt5/erp5_content_translation/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_registered_skin_selection_list b/bt5/erp5_content_translation/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_role_list b/bt5/erp5_content_translation/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_site_property_id_list b/bt5/erp5_content_translation/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_test_id_list b/bt5/erp5_content_translation/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_content_translation/bt/template_tool_id_list b/bt5/erp5_content_translation/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/categories_list b/bt5/erp5_crm/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/comment b/bt5/erp5_crm/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/provision_list b/bt5/erp5_crm/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/revision b/bt5/erp5_crm/bt/revision
index 560731b56b..5c84cf6fdb 100644
--- a/bt5/erp5_crm/bt/revision
+++ b/bt5/erp5_crm/bt/revision
@@ -1 +1 @@
-490
\ No newline at end of file
+491
\ No newline at end of file
diff --git a/bt5/erp5_crm/bt/template_catalog_datetime_key_list b/bt5/erp5_crm/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_catalog_full_text_key_list b/bt5/erp5_crm/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_catalog_keyword_key_list b/bt5/erp5_crm/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_catalog_local_role_key_list b/bt5/erp5_crm/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_catalog_multivalue_key_list b/bt5/erp5_crm/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_catalog_request_key_list b/bt5/erp5_crm/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_catalog_result_key_list b/bt5/erp5_crm/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_catalog_result_table_list b/bt5/erp5_crm/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_catalog_role_key_list b/bt5/erp5_crm/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_catalog_scriptable_key_list b/bt5/erp5_crm/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_catalog_topic_key_list b/bt5/erp5_crm/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_constraint_id_list b/bt5/erp5_crm/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_document_id_list b/bt5/erp5_crm/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_local_role_list b/bt5/erp5_crm/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_local_roles_list b/bt5/erp5_crm/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_message_translation_list b/bt5/erp5_crm/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_crm/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_portal_type_role_list b/bt5/erp5_crm/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_portal_type_roles_list b/bt5/erp5_crm/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_preference_list b/bt5/erp5_crm/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_product_id_list b/bt5/erp5_crm/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_property_sheet_id_list b/bt5/erp5_crm/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_registered_skin_selection_list b/bt5/erp5_crm/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_role_list b/bt5/erp5_crm/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_site_property_id_list b/bt5/erp5_crm/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_crm/bt/template_test_id_list b/bt5/erp5_crm/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/categories_list b/bt5/erp5_csv_style/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/comment b/bt5/erp5_csv_style/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/dependency_list b/bt5/erp5_csv_style/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/provision_list b/bt5/erp5_csv_style/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/revision b/bt5/erp5_csv_style/bt/revision
index f11c82a4cb..9a037142aa 100644
--- a/bt5/erp5_csv_style/bt/revision
+++ b/bt5/erp5_csv_style/bt/revision
@@ -1 +1 @@
-9
\ No newline at end of file
+10
\ No newline at end of file
diff --git a/bt5/erp5_csv_style/bt/template_base_category_list b/bt5/erp5_csv_style/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_catalog_full_text_key_list b/bt5/erp5_csv_style/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_catalog_keyword_key_list b/bt5/erp5_csv_style/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_catalog_method_id_list b/bt5/erp5_csv_style/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_catalog_multivalue_key_list b/bt5/erp5_csv_style/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_catalog_related_key_list b/bt5/erp5_csv_style/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_catalog_request_key_list b/bt5/erp5_csv_style/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_catalog_result_key_list b/bt5/erp5_csv_style/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_catalog_result_table_list b/bt5/erp5_csv_style/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_catalog_topic_key_list b/bt5/erp5_csv_style/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_constraint_id_list b/bt5/erp5_csv_style/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_document_id_list b/bt5/erp5_csv_style/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_extension_id_list b/bt5/erp5_csv_style/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_local_roles_list b/bt5/erp5_csv_style/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_message_translation_list b/bt5/erp5_csv_style/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_module_id_list b/bt5/erp5_csv_style/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_path_list b/bt5/erp5_csv_style/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_csv_style/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_portal_type_base_category_list b/bt5/erp5_csv_style/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_csv_style/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_portal_type_id_list b/bt5/erp5_csv_style/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_portal_type_property_sheet_list b/bt5/erp5_csv_style/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_portal_type_roles_list b/bt5/erp5_csv_style/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_portal_type_workflow_chain_list b/bt5/erp5_csv_style/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_preference_list b/bt5/erp5_csv_style/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_product_id_list b/bt5/erp5_csv_style/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_property_sheet_id_list b/bt5/erp5_csv_style/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_role_list b/bt5/erp5_csv_style/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_site_property_id_list b/bt5/erp5_csv_style/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_test_id_list b/bt5/erp5_csv_style/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_tool_id_list b/bt5/erp5_csv_style/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_csv_style/bt/template_workflow_id_list b/bt5/erp5_csv_style/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/categories_list b/bt5/erp5_data_protection/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/comment b/bt5/erp5_data_protection/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/dependency_list b/bt5/erp5_data_protection/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/maintainer_list b/bt5/erp5_data_protection/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/provision_list b/bt5/erp5_data_protection/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/revision b/bt5/erp5_data_protection/bt/revision
index dce6588ca1..7c091989d0 100644
--- a/bt5/erp5_data_protection/bt/revision
+++ b/bt5/erp5_data_protection/bt/revision
@@ -1 +1 @@
-36
\ No newline at end of file
+37
\ No newline at end of file
diff --git a/bt5/erp5_data_protection/bt/template_base_category_list b/bt5/erp5_data_protection/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_datetime_key_list b/bt5/erp5_data_protection/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_full_text_key_list b/bt5/erp5_data_protection/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_keyword_key_list b/bt5/erp5_data_protection/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_local_role_key_list b/bt5/erp5_data_protection/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_method_id_list b/bt5/erp5_data_protection/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_multivalue_key_list b/bt5/erp5_data_protection/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_related_key_list b/bt5/erp5_data_protection/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_request_key_list b/bt5/erp5_data_protection/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_result_key_list b/bt5/erp5_data_protection/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_result_table_list b/bt5/erp5_data_protection/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_role_key_list b/bt5/erp5_data_protection/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_scriptable_key_list b/bt5/erp5_data_protection/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_catalog_topic_key_list b/bt5/erp5_data_protection/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_constraint_id_list b/bt5/erp5_data_protection/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_document_id_list b/bt5/erp5_data_protection/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_local_role_list b/bt5/erp5_data_protection/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_local_roles_list b/bt5/erp5_data_protection/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_message_translation_list b/bt5/erp5_data_protection/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_path_list b/bt5/erp5_data_protection/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_portal_type_role_list b/bt5/erp5_data_protection/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_portal_type_roles_list b/bt5/erp5_data_protection/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_preference_list b/bt5/erp5_data_protection/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_product_id_list b/bt5/erp5_data_protection/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_property_sheet_id_list b/bt5/erp5_data_protection/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_registered_skin_selection_list b/bt5/erp5_data_protection/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_role_list b/bt5/erp5_data_protection/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_site_property_id_list b/bt5/erp5_data_protection/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_test_id_list b/bt5/erp5_data_protection/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/template_tool_id_list b/bt5/erp5_data_protection/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_data_protection/bt/version b/bt5/erp5_data_protection/bt/version
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/categories_list b/bt5/erp5_deferred_style/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/provision_list b/bt5/erp5_deferred_style/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/revision b/bt5/erp5_deferred_style/bt/revision
index d97edbb29f..105d7d9ad3 100644
--- a/bt5/erp5_deferred_style/bt/revision
+++ b/bt5/erp5_deferred_style/bt/revision
@@ -1 +1 @@
-99
\ No newline at end of file
+100
\ No newline at end of file
diff --git a/bt5/erp5_deferred_style/bt/template_action_path_list b/bt5/erp5_deferred_style/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_base_category_list b/bt5/erp5_deferred_style/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_datetime_key_list b/bt5/erp5_deferred_style/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_full_text_key_list b/bt5/erp5_deferred_style/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_keyword_key_list b/bt5/erp5_deferred_style/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_local_role_key_list b/bt5/erp5_deferred_style/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_method_id_list b/bt5/erp5_deferred_style/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_multivalue_key_list b/bt5/erp5_deferred_style/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_related_key_list b/bt5/erp5_deferred_style/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_request_key_list b/bt5/erp5_deferred_style/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_result_key_list b/bt5/erp5_deferred_style/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_result_table_list b/bt5/erp5_deferred_style/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_role_key_list b/bt5/erp5_deferred_style/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_scriptable_key_list b/bt5/erp5_deferred_style/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_catalog_topic_key_list b/bt5/erp5_deferred_style/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_constraint_id_list b/bt5/erp5_deferred_style/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_document_id_list b/bt5/erp5_deferred_style/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_extension_id_list b/bt5/erp5_deferred_style/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_local_role_list b/bt5/erp5_deferred_style/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_local_roles_list b/bt5/erp5_deferred_style/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_message_translation_list b/bt5/erp5_deferred_style/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_module_id_list b/bt5/erp5_deferred_style/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_path_list b/bt5/erp5_deferred_style/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_deferred_style/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_portal_type_base_category_list b/bt5/erp5_deferred_style/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_deferred_style/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_portal_type_id_list b/bt5/erp5_deferred_style/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_portal_type_property_sheet_list b/bt5/erp5_deferred_style/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_portal_type_role_list b/bt5/erp5_deferred_style/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_portal_type_roles_list b/bt5/erp5_deferred_style/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_portal_type_workflow_chain_list b/bt5/erp5_deferred_style/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_preference_list b/bt5/erp5_deferred_style/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_product_id_list b/bt5/erp5_deferred_style/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_property_sheet_id_list b/bt5/erp5_deferred_style/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_role_list b/bt5/erp5_deferred_style/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_site_property_id_list b/bt5/erp5_deferred_style/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_test_id_list b/bt5/erp5_deferred_style/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_tool_id_list b/bt5/erp5_deferred_style/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_deferred_style/bt/template_workflow_id_list b/bt5/erp5_deferred_style/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/categories_list b/bt5/erp5_development_wizard/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/provision_list b/bt5/erp5_development_wizard/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/revision b/bt5/erp5_development_wizard/bt/revision
index d1cbcfa540..832332893a 100644
--- a/bt5/erp5_development_wizard/bt/revision
+++ b/bt5/erp5_development_wizard/bt/revision
@@ -1 +1 @@
-66
\ No newline at end of file
+67
\ No newline at end of file
diff --git a/bt5/erp5_development_wizard/bt/template_base_category_list b/bt5/erp5_development_wizard/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_datetime_key_list b/bt5/erp5_development_wizard/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_full_text_key_list b/bt5/erp5_development_wizard/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_keyword_key_list b/bt5/erp5_development_wizard/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_local_role_key_list b/bt5/erp5_development_wizard/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_method_id_list b/bt5/erp5_development_wizard/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_multivalue_key_list b/bt5/erp5_development_wizard/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_related_key_list b/bt5/erp5_development_wizard/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_request_key_list b/bt5/erp5_development_wizard/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_result_key_list b/bt5/erp5_development_wizard/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_result_table_list b/bt5/erp5_development_wizard/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_role_key_list b/bt5/erp5_development_wizard/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_scriptable_key_list b/bt5/erp5_development_wizard/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_catalog_topic_key_list b/bt5/erp5_development_wizard/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_constraint_id_list b/bt5/erp5_development_wizard/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_document_id_list b/bt5/erp5_development_wizard/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_local_role_list b/bt5/erp5_development_wizard/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_local_roles_list b/bt5/erp5_development_wizard/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_message_translation_list b/bt5/erp5_development_wizard/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_module_id_list b/bt5/erp5_development_wizard/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_path_list b/bt5/erp5_development_wizard/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_development_wizard/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_portal_type_base_category_list b/bt5/erp5_development_wizard/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_development_wizard/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_portal_type_id_list b/bt5/erp5_development_wizard/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_portal_type_property_sheet_list b/bt5/erp5_development_wizard/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_portal_type_role_list b/bt5/erp5_development_wizard/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_portal_type_roles_list b/bt5/erp5_development_wizard/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_portal_type_workflow_chain_list b/bt5/erp5_development_wizard/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_preference_list b/bt5/erp5_development_wizard/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_product_id_list b/bt5/erp5_development_wizard/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_property_sheet_id_list b/bt5/erp5_development_wizard/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_registered_skin_selection_list b/bt5/erp5_development_wizard/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_role_list b/bt5/erp5_development_wizard/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_site_property_id_list b/bt5/erp5_development_wizard/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_test_id_list b/bt5/erp5_development_wizard/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_tool_id_list b/bt5/erp5_development_wizard/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_development_wizard/bt/template_workflow_id_list b/bt5/erp5_development_wizard/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/categories_list b/bt5/erp5_dhtml_style/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/comment b/bt5/erp5_dhtml_style/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/provision_list b/bt5/erp5_dhtml_style/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/revision b/bt5/erp5_dhtml_style/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/erp5_dhtml_style/bt/revision
+++ b/bt5/erp5_dhtml_style/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/erp5_dhtml_style/bt/template_action_path_list b/bt5/erp5_dhtml_style/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_base_category_list b/bt5/erp5_dhtml_style/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_datetime_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_full_text_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_keyword_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_local_role_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_method_id_list b/bt5/erp5_dhtml_style/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_multivalue_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_related_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_request_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_result_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_result_table_list b/bt5/erp5_dhtml_style/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_role_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_scriptable_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_search_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_catalog_topic_key_list b/bt5/erp5_dhtml_style/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_constraint_id_list b/bt5/erp5_dhtml_style/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_document_id_list b/bt5/erp5_dhtml_style/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_extension_id_list b/bt5/erp5_dhtml_style/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_local_role_list b/bt5/erp5_dhtml_style/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_local_roles_list b/bt5/erp5_dhtml_style/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_message_translation_list b/bt5/erp5_dhtml_style/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_module_id_list b/bt5/erp5_dhtml_style/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_path_list b/bt5/erp5_dhtml_style/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_dhtml_style/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_portal_type_base_category_list b/bt5/erp5_dhtml_style/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_dhtml_style/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_portal_type_id_list b/bt5/erp5_dhtml_style/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_portal_type_property_sheet_list b/bt5/erp5_dhtml_style/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_portal_type_role_list b/bt5/erp5_dhtml_style/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_portal_type_roles_list b/bt5/erp5_dhtml_style/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_portal_type_workflow_chain_list b/bt5/erp5_dhtml_style/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_preference_list b/bt5/erp5_dhtml_style/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_product_id_list b/bt5/erp5_dhtml_style/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_property_sheet_id_list b/bt5/erp5_dhtml_style/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_registered_skin_selection_list b/bt5/erp5_dhtml_style/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_role_list b/bt5/erp5_dhtml_style/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_site_property_id_list b/bt5/erp5_dhtml_style/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_test_id_list b/bt5/erp5_dhtml_style/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_tool_id_list b/bt5/erp5_dhtml_style/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_style/bt/template_workflow_id_list b/bt5/erp5_dhtml_style/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/categories_list b/bt5/erp5_dhtml_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/comment b/bt5/erp5_dhtml_ui_test/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/provision_list b/bt5/erp5_dhtml_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/revision b/bt5/erp5_dhtml_ui_test/bt/revision
index a0d1ef1a02..c8a110e7e8 100644
--- a/bt5/erp5_dhtml_ui_test/bt/revision
+++ b/bt5/erp5_dhtml_ui_test/bt/revision
@@ -1 +1 @@
-620
\ No newline at end of file
+621
\ No newline at end of file
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_action_path_list b/bt5/erp5_dhtml_ui_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_base_category_list b/bt5/erp5_dhtml_ui_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_datetime_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_local_role_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_role_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_search_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_dhtml_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_constraint_id_list b/bt5/erp5_dhtml_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_document_id_list b/bt5/erp5_dhtml_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_extension_id_list b/bt5/erp5_dhtml_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_local_role_list b/bt5/erp5_dhtml_ui_test/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_local_roles_list b/bt5/erp5_dhtml_ui_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_message_translation_list b/bt5/erp5_dhtml_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_module_id_list b/bt5/erp5_dhtml_ui_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_dhtml_ui_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_portal_type_base_category_list b/bt5/erp5_dhtml_ui_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_dhtml_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_portal_type_id_list b/bt5/erp5_dhtml_ui_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_dhtml_ui_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_portal_type_role_list b/bt5/erp5_dhtml_ui_test/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_portal_type_roles_list b/bt5/erp5_dhtml_ui_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_dhtml_ui_test/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_preference_list b/bt5/erp5_dhtml_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_product_id_list b/bt5/erp5_dhtml_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_dhtml_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_registered_skin_selection_list b/bt5/erp5_dhtml_ui_test/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_role_list b/bt5/erp5_dhtml_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_site_property_id_list b/bt5/erp5_dhtml_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_skin_id_list b/bt5/erp5_dhtml_ui_test/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_test_id_list b/bt5/erp5_dhtml_ui_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_tool_id_list b/bt5/erp5_dhtml_ui_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_workflow_id_list b/bt5/erp5_dhtml_ui_test/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/categories_list b/bt5/erp5_discount_resource/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/comment b/bt5/erp5_discount_resource/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/maintainer_list b/bt5/erp5_discount_resource/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/provision_list b/bt5/erp5_discount_resource/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/revision b/bt5/erp5_discount_resource/bt/revision
index ca7bf83ac5..da2d3988d7 100644
--- a/bt5/erp5_discount_resource/bt/revision
+++ b/bt5/erp5_discount_resource/bt/revision
@@ -1 +1 @@
-13
\ No newline at end of file
+14
\ No newline at end of file
diff --git a/bt5/erp5_discount_resource/bt/template_base_category_list b/bt5/erp5_discount_resource/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_datetime_key_list b/bt5/erp5_discount_resource/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_full_text_key_list b/bt5/erp5_discount_resource/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_keyword_key_list b/bt5/erp5_discount_resource/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_local_role_key_list b/bt5/erp5_discount_resource/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_method_id_list b/bt5/erp5_discount_resource/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_multivalue_key_list b/bt5/erp5_discount_resource/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_related_key_list b/bt5/erp5_discount_resource/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_request_key_list b/bt5/erp5_discount_resource/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_result_key_list b/bt5/erp5_discount_resource/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_result_table_list b/bt5/erp5_discount_resource/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_role_key_list b/bt5/erp5_discount_resource/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_scriptable_key_list b/bt5/erp5_discount_resource/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_catalog_topic_key_list b/bt5/erp5_discount_resource/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_constraint_id_list b/bt5/erp5_discount_resource/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_document_id_list b/bt5/erp5_discount_resource/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_extension_id_list b/bt5/erp5_discount_resource/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_local_role_list b/bt5/erp5_discount_resource/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_local_roles_list b/bt5/erp5_discount_resource/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_message_translation_list b/bt5/erp5_discount_resource/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_path_list b/bt5/erp5_discount_resource/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_discount_resource/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_portal_type_property_sheet_list b/bt5/erp5_discount_resource/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_portal_type_role_list b/bt5/erp5_discount_resource/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_portal_type_roles_list b/bt5/erp5_discount_resource/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_preference_list b/bt5/erp5_discount_resource/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_product_id_list b/bt5/erp5_discount_resource/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_property_sheet_id_list b/bt5/erp5_discount_resource/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_registered_skin_selection_list b/bt5/erp5_discount_resource/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_role_list b/bt5/erp5_discount_resource/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_site_property_id_list b/bt5/erp5_discount_resource/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_test_id_list b/bt5/erp5_discount_resource/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_tool_id_list b/bt5/erp5_discount_resource/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discount_resource/bt/template_workflow_id_list b/bt5/erp5_discount_resource/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/categories_list b/bt5/erp5_discussion/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/comment b/bt5/erp5_discussion/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/license b/bt5/erp5_discussion/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/provision_list b/bt5/erp5_discussion/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/revision b/bt5/erp5_discussion/bt/revision
index 3d9aebb2cc..8c0474e323 100644
--- a/bt5/erp5_discussion/bt/revision
+++ b/bt5/erp5_discussion/bt/revision
@@ -1 +1 @@
-68
\ No newline at end of file
+69
\ No newline at end of file
diff --git a/bt5/erp5_discussion/bt/template_base_category_list b/bt5/erp5_discussion/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_datetime_key_list b/bt5/erp5_discussion/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_full_text_key_list b/bt5/erp5_discussion/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_keyword_key_list b/bt5/erp5_discussion/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_local_role_key_list b/bt5/erp5_discussion/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_method_id_list b/bt5/erp5_discussion/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_multivalue_key_list b/bt5/erp5_discussion/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_related_key_list b/bt5/erp5_discussion/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_request_key_list b/bt5/erp5_discussion/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_result_key_list b/bt5/erp5_discussion/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_result_table_list b/bt5/erp5_discussion/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_role_key_list b/bt5/erp5_discussion/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_scriptable_key_list b/bt5/erp5_discussion/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_catalog_topic_key_list b/bt5/erp5_discussion/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_constraint_id_list b/bt5/erp5_discussion/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_document_id_list b/bt5/erp5_discussion/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_extension_id_list b/bt5/erp5_discussion/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_local_role_list b/bt5/erp5_discussion/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_local_roles_list b/bt5/erp5_discussion/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_message_translation_list b/bt5/erp5_discussion/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_portal_type_role_list b/bt5/erp5_discussion/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_portal_type_roles_list b/bt5/erp5_discussion/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_preference_list b/bt5/erp5_discussion/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_product_id_list b/bt5/erp5_discussion/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_registered_skin_selection_list b/bt5/erp5_discussion/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_role_list b/bt5/erp5_discussion/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_site_property_id_list b/bt5/erp5_discussion/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_test_id_list b/bt5/erp5_discussion/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_tool_id_list b/bt5/erp5_discussion/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_discussion/bt/template_workflow_id_list b/bt5/erp5_discussion/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/categories_list b/bt5/erp5_dms/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/comment b/bt5/erp5_dms/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/provision_list b/bt5/erp5_dms/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/revision b/bt5/erp5_dms/bt/revision
index bcdab7e487..b0ba9cece2 100644
--- a/bt5/erp5_dms/bt/revision
+++ b/bt5/erp5_dms/bt/revision
@@ -1 +1 @@
-1187
\ No newline at end of file
+1188
\ No newline at end of file
diff --git a/bt5/erp5_dms/bt/template_catalog_datetime_key_list b/bt5/erp5_dms/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_full_text_key_list b/bt5/erp5_dms/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_keyword_key_list b/bt5/erp5_dms/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_local_role_key_list b/bt5/erp5_dms/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_method_id_list b/bt5/erp5_dms/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_multivalue_key_list b/bt5/erp5_dms/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_related_key_list b/bt5/erp5_dms/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_request_key_list b/bt5/erp5_dms/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_result_key_list b/bt5/erp5_dms/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_result_table_list b/bt5/erp5_dms/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_role_key_list b/bt5/erp5_dms/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_scriptable_key_list b/bt5/erp5_dms/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_catalog_topic_key_list b/bt5/erp5_dms/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_constraint_id_list b/bt5/erp5_dms/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_document_id_list b/bt5/erp5_dms/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_local_role_list b/bt5/erp5_dms/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_local_roles_list b/bt5/erp5_dms/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_message_translation_list b/bt5/erp5_dms/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_portal_type_role_list b/bt5/erp5_dms/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_portal_type_roles_list b/bt5/erp5_dms/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_preference_list b/bt5/erp5_dms/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_product_id_list b/bt5/erp5_dms/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_property_sheet_id_list b/bt5/erp5_dms/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_registered_skin_selection_list b/bt5/erp5_dms/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_role_list b/bt5/erp5_dms/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_site_property_id_list b/bt5/erp5_dms/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_test_id_list b/bt5/erp5_dms/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms/bt/template_tool_id_list b/bt5/erp5_dms/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/categories_list b/bt5/erp5_dms_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/comment b/bt5/erp5_dms_ui_test/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/provision_list b/bt5/erp5_dms_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/revision b/bt5/erp5_dms_ui_test/bt/revision
index 25bf17fc5a..dec2bf5d61 100644
--- a/bt5/erp5_dms_ui_test/bt/revision
+++ b/bt5/erp5_dms_ui_test/bt/revision
@@ -1 +1 @@
-18
\ No newline at end of file
+19
\ No newline at end of file
diff --git a/bt5/erp5_dms_ui_test/bt/template_action_path_list b/bt5/erp5_dms_ui_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_base_category_list b/bt5/erp5_dms_ui_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_datetime_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_local_role_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_dms_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_dms_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_role_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_search_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_dms_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_constraint_id_list b/bt5/erp5_dms_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_document_id_list b/bt5/erp5_dms_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_extension_id_list b/bt5/erp5_dms_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_local_role_list b/bt5/erp5_dms_ui_test/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_local_roles_list b/bt5/erp5_dms_ui_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_message_translation_list b/bt5/erp5_dms_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_module_id_list b/bt5/erp5_dms_ui_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_dms_ui_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_portal_type_base_category_list b/bt5/erp5_dms_ui_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_dms_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_portal_type_id_list b/bt5/erp5_dms_ui_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_dms_ui_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_portal_type_role_list b/bt5/erp5_dms_ui_test/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_portal_type_roles_list b/bt5/erp5_dms_ui_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_dms_ui_test/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_preference_list b/bt5/erp5_dms_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_product_id_list b/bt5/erp5_dms_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_dms_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_registered_skin_selection_list b/bt5/erp5_dms_ui_test/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_role_list b/bt5/erp5_dms_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_site_property_id_list b/bt5/erp5_dms_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_test_id_list b/bt5/erp5_dms_ui_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_tool_id_list b/bt5/erp5_dms_ui_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dms_ui_test/bt/template_workflow_id_list b/bt5/erp5_dms_ui_test/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/categories_list b/bt5/erp5_documentation/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/provision_list b/bt5/erp5_documentation/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/revision b/bt5/erp5_documentation/bt/revision
index b7c52fb181..02cfe0b571 100644
--- a/bt5/erp5_documentation/bt/revision
+++ b/bt5/erp5_documentation/bt/revision
@@ -1 +1 @@
-212
\ No newline at end of file
+213
\ No newline at end of file
diff --git a/bt5/erp5_documentation/bt/template_base_category_list b/bt5/erp5_documentation/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_datetime_key_list b/bt5/erp5_documentation/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_full_text_key_list b/bt5/erp5_documentation/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_keyword_key_list b/bt5/erp5_documentation/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_local_role_key_list b/bt5/erp5_documentation/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_method_id_list b/bt5/erp5_documentation/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_multivalue_key_list b/bt5/erp5_documentation/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_related_key_list b/bt5/erp5_documentation/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_request_key_list b/bt5/erp5_documentation/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_result_key_list b/bt5/erp5_documentation/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_result_table_list b/bt5/erp5_documentation/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_role_key_list b/bt5/erp5_documentation/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_scriptable_key_list b/bt5/erp5_documentation/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_catalog_topic_key_list b/bt5/erp5_documentation/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_constraint_id_list b/bt5/erp5_documentation/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_document_id_list b/bt5/erp5_documentation/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_extension_id_list b/bt5/erp5_documentation/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_local_role_list b/bt5/erp5_documentation/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_local_roles_list b/bt5/erp5_documentation/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_message_translation_list b/bt5/erp5_documentation/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_module_id_list b/bt5/erp5_documentation/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_path_list b/bt5/erp5_documentation/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_documentation/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_portal_type_base_category_list b/bt5/erp5_documentation/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_documentation/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_portal_type_id_list b/bt5/erp5_documentation/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_portal_type_property_sheet_list b/bt5/erp5_documentation/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_portal_type_role_list b/bt5/erp5_documentation/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_portal_type_roles_list b/bt5/erp5_documentation/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_portal_type_workflow_chain_list b/bt5/erp5_documentation/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_preference_list b/bt5/erp5_documentation/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_product_id_list b/bt5/erp5_documentation/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_property_sheet_id_list b/bt5/erp5_documentation/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_registered_skin_selection_list b/bt5/erp5_documentation/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_role_list b/bt5/erp5_documentation/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_site_property_id_list b/bt5/erp5_documentation/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_test_id_list b/bt5/erp5_documentation/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_tool_id_list b/bt5/erp5_documentation/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_documentation/bt/template_workflow_id_list b/bt5/erp5_documentation/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/categories_list b/bt5/erp5_dummy_movement/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/comment b/bt5/erp5_dummy_movement/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/copyright_list b/bt5/erp5_dummy_movement/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/provision_list b/bt5/erp5_dummy_movement/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/revision b/bt5/erp5_dummy_movement/bt/revision
index 19c7bdba7b..8e2afd3427 100644
--- a/bt5/erp5_dummy_movement/bt/revision
+++ b/bt5/erp5_dummy_movement/bt/revision
@@ -1 +1 @@
-16
\ No newline at end of file
+17
\ No newline at end of file
diff --git a/bt5/erp5_dummy_movement/bt/template_action_path_list b/bt5/erp5_dummy_movement/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_base_category_list b/bt5/erp5_dummy_movement/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_datetime_key_list b/bt5/erp5_dummy_movement/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_full_text_key_list b/bt5/erp5_dummy_movement/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_keyword_key_list b/bt5/erp5_dummy_movement/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_local_role_key_list b/bt5/erp5_dummy_movement/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_method_id_list b/bt5/erp5_dummy_movement/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_multivalue_key_list b/bt5/erp5_dummy_movement/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_related_key_list b/bt5/erp5_dummy_movement/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_request_key_list b/bt5/erp5_dummy_movement/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_result_key_list b/bt5/erp5_dummy_movement/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_result_table_list b/bt5/erp5_dummy_movement/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_role_key_list b/bt5/erp5_dummy_movement/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_scriptable_key_list b/bt5/erp5_dummy_movement/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_catalog_topic_key_list b/bt5/erp5_dummy_movement/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_constraint_id_list b/bt5/erp5_dummy_movement/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_extension_id_list b/bt5/erp5_dummy_movement/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_local_role_list b/bt5/erp5_dummy_movement/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_local_roles_list b/bt5/erp5_dummy_movement/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_message_translation_list b/bt5/erp5_dummy_movement/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_module_id_list b/bt5/erp5_dummy_movement/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_path_list b/bt5/erp5_dummy_movement/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_portal_type_base_category_list b/bt5/erp5_dummy_movement/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_dummy_movement/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_portal_type_property_sheet_list b/bt5/erp5_dummy_movement/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_portal_type_role_list b/bt5/erp5_dummy_movement/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_portal_type_roles_list b/bt5/erp5_dummy_movement/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_portal_type_workflow_chain_list b/bt5/erp5_dummy_movement/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_preference_list b/bt5/erp5_dummy_movement/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_product_id_list b/bt5/erp5_dummy_movement/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_property_sheet_id_list b/bt5/erp5_dummy_movement/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_registered_skin_selection_list b/bt5/erp5_dummy_movement/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_role_list b/bt5/erp5_dummy_movement/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_site_property_id_list b/bt5/erp5_dummy_movement/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_skin_id_list b/bt5/erp5_dummy_movement/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_test_id_list b/bt5/erp5_dummy_movement/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_tool_id_list b/bt5/erp5_dummy_movement/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_dummy_movement/bt/template_workflow_id_list b/bt5/erp5_dummy_movement/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/categories_list b/bt5/erp5_egov/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/provision_list b/bt5/erp5_egov/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/revision b/bt5/erp5_egov/bt/revision
index ddc27b0c1a..f0a7147fa3 100644
--- a/bt5/erp5_egov/bt/revision
+++ b/bt5/erp5_egov/bt/revision
@@ -1 +1 @@
-739
\ No newline at end of file
+740
\ No newline at end of file
diff --git a/bt5/erp5_egov/bt/template_base_category_list b/bt5/erp5_egov/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_datetime_key_list b/bt5/erp5_egov/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_full_text_key_list b/bt5/erp5_egov/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_keyword_key_list b/bt5/erp5_egov/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_local_role_key_list b/bt5/erp5_egov/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_method_id_list b/bt5/erp5_egov/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_multivalue_key_list b/bt5/erp5_egov/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_related_key_list b/bt5/erp5_egov/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_request_key_list b/bt5/erp5_egov/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_result_key_list b/bt5/erp5_egov/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_result_table_list b/bt5/erp5_egov/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_role_key_list b/bt5/erp5_egov/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_scriptable_key_list b/bt5/erp5_egov/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_catalog_topic_key_list b/bt5/erp5_egov/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_constraint_id_list b/bt5/erp5_egov/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_local_role_list b/bt5/erp5_egov/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_local_roles_list b/bt5/erp5_egov/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_message_translation_list b/bt5/erp5_egov/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_module_id_list b/bt5/erp5_egov/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_portal_type_base_category_list b/bt5/erp5_egov/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_preference_list b/bt5/erp5_egov/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_product_id_list b/bt5/erp5_egov/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov/bt/template_site_property_id_list b/bt5/erp5_egov/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/categories_list b/bt5/erp5_egov_l10n_fr/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/comment b/bt5/erp5_egov_l10n_fr/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/provision_list b/bt5/erp5_egov_l10n_fr/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/revision b/bt5/erp5_egov_l10n_fr/bt/revision
index ca7bf83ac5..da2d3988d7 100644
--- a/bt5/erp5_egov_l10n_fr/bt/revision
+++ b/bt5/erp5_egov_l10n_fr/bt/revision
@@ -1 +1 @@
-13
\ No newline at end of file
+14
\ No newline at end of file
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_action_path_list b/bt5/erp5_egov_l10n_fr/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_base_category_list b/bt5/erp5_egov_l10n_fr/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_datetime_key_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_full_text_key_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_keyword_key_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_local_role_key_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_method_id_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_multivalue_key_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_related_key_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_request_key_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_result_key_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_result_table_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_role_key_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_scriptable_key_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_catalog_topic_key_list b/bt5/erp5_egov_l10n_fr/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_constraint_id_list b/bt5/erp5_egov_l10n_fr/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_document_id_list b/bt5/erp5_egov_l10n_fr/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_extension_id_list b/bt5/erp5_egov_l10n_fr/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_local_roles_list b/bt5/erp5_egov_l10n_fr/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_module_id_list b/bt5/erp5_egov_l10n_fr/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_path_list b/bt5/erp5_egov_l10n_fr/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_egov_l10n_fr/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_portal_type_base_category_list b/bt5/erp5_egov_l10n_fr/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_egov_l10n_fr/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_portal_type_id_list b/bt5/erp5_egov_l10n_fr/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_portal_type_property_sheet_list b/bt5/erp5_egov_l10n_fr/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_portal_type_roles_list b/bt5/erp5_egov_l10n_fr/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_portal_type_workflow_chain_list b/bt5/erp5_egov_l10n_fr/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_preference_list b/bt5/erp5_egov_l10n_fr/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_product_id_list b/bt5/erp5_egov_l10n_fr/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_property_sheet_id_list b/bt5/erp5_egov_l10n_fr/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_role_list b/bt5/erp5_egov_l10n_fr/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_site_property_id_list b/bt5/erp5_egov_l10n_fr/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_skin_id_list b/bt5/erp5_egov_l10n_fr/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_test_id_list b/bt5/erp5_egov_l10n_fr/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_tool_id_list b/bt5/erp5_egov_l10n_fr/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_workflow_id_list b/bt5/erp5_egov_l10n_fr/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/categories_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/comment b/bt5/erp5_egov_mysql_innodb_catalog/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/dependency_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/revision b/bt5/erp5_egov_mysql_innodb_catalog/bt/revision
index 8580e7b684..b74e882ae3 100644
--- a/bt5/erp5_egov_mysql_innodb_catalog/bt/revision
+++ b/bt5/erp5_egov_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-30
\ No newline at end of file
+31
\ No newline at end of file
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_action_path_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_base_category_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_datetime_key_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_full_text_key_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_keyword_key_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_local_role_key_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_related_key_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_request_key_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_result_key_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_role_key_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_topic_key_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_constraint_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_document_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_extension_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_local_role_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_local_roles_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_message_translation_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_module_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_path_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_base_category_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_role_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_roles_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_preference_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_product_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_property_sheet_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_registered_skin_selection_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_role_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_site_property_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_skin_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_test_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_tool_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_workflow_id_list b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/categories_list b/bt5/erp5_forge/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/provision_list b/bt5/erp5_forge/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision
index e25083957d..5156988895 100644
--- a/bt5/erp5_forge/bt/revision
+++ b/bt5/erp5_forge/bt/revision
@@ -1 +1 @@
-618
\ No newline at end of file
+619
\ No newline at end of file
diff --git a/bt5/erp5_forge/bt/template_catalog_datetime_key_list b/bt5/erp5_forge/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_catalog_full_text_key_list b/bt5/erp5_forge/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_catalog_keyword_key_list b/bt5/erp5_forge/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_catalog_local_role_key_list b/bt5/erp5_forge/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_catalog_multivalue_key_list b/bt5/erp5_forge/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_catalog_request_key_list b/bt5/erp5_forge/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_catalog_result_key_list b/bt5/erp5_forge/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_catalog_result_table_list b/bt5/erp5_forge/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_catalog_role_key_list b/bt5/erp5_forge/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_catalog_scriptable_key_list b/bt5/erp5_forge/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_catalog_topic_key_list b/bt5/erp5_forge/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_constraint_id_list b/bt5/erp5_forge/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_document_id_list b/bt5/erp5_forge/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_local_role_list b/bt5/erp5_forge/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_local_roles_list b/bt5/erp5_forge/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_message_translation_list b/bt5/erp5_forge/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_portal_type_role_list b/bt5/erp5_forge/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_portal_type_roles_list b/bt5/erp5_forge/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_preference_list b/bt5/erp5_forge/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_product_id_list b/bt5/erp5_forge/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_property_sheet_id_list b/bt5/erp5_forge/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_registered_skin_selection_list b/bt5/erp5_forge/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_role_list b/bt5/erp5_forge/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_site_property_id_list b/bt5/erp5_forge/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_test_id_list b/bt5/erp5_forge/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge/bt/template_tool_id_list b/bt5/erp5_forge/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/categories_list b/bt5/erp5_forge_release/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/provision_list b/bt5/erp5_forge_release/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/revision b/bt5/erp5_forge_release/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/erp5_forge_release/bt/revision
+++ b/bt5/erp5_forge_release/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/erp5_forge_release/bt/template_base_category_list b/bt5/erp5_forge_release/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_datetime_key_list b/bt5/erp5_forge_release/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_full_text_key_list b/bt5/erp5_forge_release/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_keyword_key_list b/bt5/erp5_forge_release/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_local_role_key_list b/bt5/erp5_forge_release/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_method_id_list b/bt5/erp5_forge_release/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_multivalue_key_list b/bt5/erp5_forge_release/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_related_key_list b/bt5/erp5_forge_release/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_request_key_list b/bt5/erp5_forge_release/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_result_key_list b/bt5/erp5_forge_release/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_result_table_list b/bt5/erp5_forge_release/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_role_key_list b/bt5/erp5_forge_release/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_scriptable_key_list b/bt5/erp5_forge_release/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_catalog_topic_key_list b/bt5/erp5_forge_release/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_constraint_id_list b/bt5/erp5_forge_release/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_document_id_list b/bt5/erp5_forge_release/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_extension_id_list b/bt5/erp5_forge_release/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_local_role_list b/bt5/erp5_forge_release/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_local_roles_list b/bt5/erp5_forge_release/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_message_translation_list b/bt5/erp5_forge_release/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_path_list b/bt5/erp5_forge_release/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_portal_type_property_sheet_list b/bt5/erp5_forge_release/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_portal_type_role_list b/bt5/erp5_forge_release/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_portal_type_roles_list b/bt5/erp5_forge_release/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_preference_list b/bt5/erp5_forge_release/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_product_id_list b/bt5/erp5_forge_release/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_property_sheet_id_list b/bt5/erp5_forge_release/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_registered_skin_selection_list b/bt5/erp5_forge_release/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_role_list b/bt5/erp5_forge_release/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_site_property_id_list b/bt5/erp5_forge_release/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_test_id_list b/bt5/erp5_forge_release/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_tool_id_list b/bt5/erp5_forge_release/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_forge_release/bt/template_workflow_id_list b/bt5/erp5_forge_release/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/categories_list b/bt5/erp5_full_text_sphinxse_catalog/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/comment b/bt5/erp5_full_text_sphinxse_catalog/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/dependency_list b/bt5/erp5_full_text_sphinxse_catalog/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/maintainer_list b/bt5/erp5_full_text_sphinxse_catalog/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/provision_list b/bt5/erp5_full_text_sphinxse_catalog/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/revision b/bt5/erp5_full_text_sphinxse_catalog/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/erp5_full_text_sphinxse_catalog/bt/revision
+++ b/bt5/erp5_full_text_sphinxse_catalog/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_action_path_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_base_category_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_datetime_key_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_full_text_key_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_keyword_key_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_local_role_key_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_multivalue_key_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_related_key_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_request_key_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_result_key_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_role_key_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_search_key_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_topic_key_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_constraint_id_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_document_id_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_extension_id_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_local_role_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_local_roles_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_message_translation_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_module_id_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_path_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_base_category_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_id_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_property_sheet_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_role_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_roles_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_workflow_chain_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_preference_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_product_id_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_property_sheet_id_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_registered_skin_selection_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_role_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_site_property_id_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_test_id_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_tool_id_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_workflow_id_list b/bt5/erp5_full_text_sphinxse_catalog/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/categories_list b/bt5/erp5_hr/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/comment b/bt5/erp5_hr/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/provision_list b/bt5/erp5_hr/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/revision b/bt5/erp5_hr/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/erp5_hr/bt/revision
+++ b/bt5/erp5_hr/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/erp5_hr/bt/template_catalog_datetime_key_list b/bt5/erp5_hr/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_full_text_key_list b/bt5/erp5_hr/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_keyword_key_list b/bt5/erp5_hr/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_local_role_key_list b/bt5/erp5_hr/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_method_id_list b/bt5/erp5_hr/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_multivalue_key_list b/bt5/erp5_hr/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_related_key_list b/bt5/erp5_hr/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_request_key_list b/bt5/erp5_hr/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_result_key_list b/bt5/erp5_hr/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_result_table_list b/bt5/erp5_hr/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_role_key_list b/bt5/erp5_hr/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_scriptable_key_list b/bt5/erp5_hr/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_catalog_topic_key_list b/bt5/erp5_hr/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_constraint_id_list b/bt5/erp5_hr/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_document_id_list b/bt5/erp5_hr/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_extension_id_list b/bt5/erp5_hr/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_local_roles_list b/bt5/erp5_hr/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_message_translation_list b/bt5/erp5_hr/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_path_list b/bt5/erp5_hr/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_preference_list b/bt5/erp5_hr/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_product_id_list b/bt5/erp5_hr/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_property_sheet_id_list b/bt5/erp5_hr/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_role_list b/bt5/erp5_hr/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_site_property_id_list b/bt5/erp5_hr/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_test_id_list b/bt5/erp5_hr/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr/bt/template_tool_id_list b/bt5/erp5_hr/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/categories_list b/bt5/erp5_hr_l10n_jp/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/comment b/bt5/erp5_hr_l10n_jp/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/dependency_list b/bt5/erp5_hr_l10n_jp/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/provision_list b/bt5/erp5_hr_l10n_jp/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/revision b/bt5/erp5_hr_l10n_jp/bt/revision
index c7930257df..301160a930 100644
--- a/bt5/erp5_hr_l10n_jp/bt/revision
+++ b/bt5/erp5_hr_l10n_jp/bt/revision
@@ -1 +1 @@
-7
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_base_category_list b/bt5/erp5_hr_l10n_jp/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_datetime_key_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_full_text_key_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_keyword_key_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_local_role_key_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_method_id_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_multivalue_key_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_related_key_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_request_key_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_result_key_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_result_table_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_role_key_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_scriptable_key_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_catalog_topic_key_list b/bt5/erp5_hr_l10n_jp/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_constraint_id_list b/bt5/erp5_hr_l10n_jp/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_document_id_list b/bt5/erp5_hr_l10n_jp/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_extension_id_list b/bt5/erp5_hr_l10n_jp/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_local_role_list b/bt5/erp5_hr_l10n_jp/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_local_roles_list b/bt5/erp5_hr_l10n_jp/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_message_translation_list b/bt5/erp5_hr_l10n_jp/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_module_id_list b/bt5/erp5_hr_l10n_jp/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_path_list b/bt5/erp5_hr_l10n_jp/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_hr_l10n_jp/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_portal_type_base_category_list b/bt5/erp5_hr_l10n_jp/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_hr_l10n_jp/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_portal_type_id_list b/bt5/erp5_hr_l10n_jp/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_portal_type_property_sheet_list b/bt5/erp5_hr_l10n_jp/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_portal_type_role_list b/bt5/erp5_hr_l10n_jp/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_portal_type_roles_list b/bt5/erp5_hr_l10n_jp/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_portal_type_workflow_chain_list b/bt5/erp5_hr_l10n_jp/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_preference_list b/bt5/erp5_hr_l10n_jp/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_product_id_list b/bt5/erp5_hr_l10n_jp/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_property_sheet_id_list b/bt5/erp5_hr_l10n_jp/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_registered_skin_selection_list b/bt5/erp5_hr_l10n_jp/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_role_list b/bt5/erp5_hr_l10n_jp/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_site_property_id_list b/bt5/erp5_hr_l10n_jp/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_test_id_list b/bt5/erp5_hr_l10n_jp/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_tool_id_list b/bt5/erp5_hr_l10n_jp/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_workflow_id_list b/bt5/erp5_hr_l10n_jp/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/categories_list b/bt5/erp5_ical_style/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/comment b/bt5/erp5_ical_style/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/dependency_list b/bt5/erp5_ical_style/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/provision_list b/bt5/erp5_ical_style/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/revision b/bt5/erp5_ical_style/bt/revision
index 25bf17fc5a..dec2bf5d61 100644
--- a/bt5/erp5_ical_style/bt/revision
+++ b/bt5/erp5_ical_style/bt/revision
@@ -1 +1 @@
-18
\ No newline at end of file
+19
\ No newline at end of file
diff --git a/bt5/erp5_ical_style/bt/template_action_path_list b/bt5/erp5_ical_style/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_base_category_list b/bt5/erp5_ical_style/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_datetime_key_list b/bt5/erp5_ical_style/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_full_text_key_list b/bt5/erp5_ical_style/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_keyword_key_list b/bt5/erp5_ical_style/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_local_role_key_list b/bt5/erp5_ical_style/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_method_id_list b/bt5/erp5_ical_style/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_multivalue_key_list b/bt5/erp5_ical_style/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_related_key_list b/bt5/erp5_ical_style/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_request_key_list b/bt5/erp5_ical_style/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_result_key_list b/bt5/erp5_ical_style/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_result_table_list b/bt5/erp5_ical_style/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_role_key_list b/bt5/erp5_ical_style/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_scriptable_key_list b/bt5/erp5_ical_style/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_catalog_topic_key_list b/bt5/erp5_ical_style/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_constraint_id_list b/bt5/erp5_ical_style/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_document_id_list b/bt5/erp5_ical_style/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_extension_id_list b/bt5/erp5_ical_style/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_local_roles_list b/bt5/erp5_ical_style/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_message_translation_list b/bt5/erp5_ical_style/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_module_id_list b/bt5/erp5_ical_style/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_path_list b/bt5/erp5_ical_style/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_ical_style/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_portal_type_base_category_list b/bt5/erp5_ical_style/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_ical_style/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_portal_type_id_list b/bt5/erp5_ical_style/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_portal_type_property_sheet_list b/bt5/erp5_ical_style/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_portal_type_roles_list b/bt5/erp5_ical_style/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_portal_type_workflow_chain_list b/bt5/erp5_ical_style/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_preference_list b/bt5/erp5_ical_style/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_product_id_list b/bt5/erp5_ical_style/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_property_sheet_id_list b/bt5/erp5_ical_style/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_role_list b/bt5/erp5_ical_style/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_site_property_id_list b/bt5/erp5_ical_style/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_test_id_list b/bt5/erp5_ical_style/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_tool_id_list b/bt5/erp5_ical_style/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ical_style/bt/template_workflow_id_list b/bt5/erp5_ical_style/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/categories_list b/bt5/erp5_immobilisation/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/copyright_list b/bt5/erp5_immobilisation/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/maintainer_list b/bt5/erp5_immobilisation/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/provision_list b/bt5/erp5_immobilisation/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/revision b/bt5/erp5_immobilisation/bt/revision
index 9a1371776c..3968aef87f 100644
--- a/bt5/erp5_immobilisation/bt/revision
+++ b/bt5/erp5_immobilisation/bt/revision
@@ -1 +1 @@
-169
\ No newline at end of file
+170
\ No newline at end of file
diff --git a/bt5/erp5_immobilisation/bt/template_catalog_datetime_key_list b/bt5/erp5_immobilisation/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_catalog_full_text_key_list b/bt5/erp5_immobilisation/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_catalog_keyword_key_list b/bt5/erp5_immobilisation/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_catalog_local_role_key_list b/bt5/erp5_immobilisation/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_catalog_multivalue_key_list b/bt5/erp5_immobilisation/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_catalog_request_key_list b/bt5/erp5_immobilisation/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_catalog_result_key_list b/bt5/erp5_immobilisation/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_catalog_result_table_list b/bt5/erp5_immobilisation/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_catalog_role_key_list b/bt5/erp5_immobilisation/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_catalog_scriptable_key_list b/bt5/erp5_immobilisation/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_catalog_topic_key_list b/bt5/erp5_immobilisation/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_constraint_id_list b/bt5/erp5_immobilisation/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_document_id_list b/bt5/erp5_immobilisation/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_extension_id_list b/bt5/erp5_immobilisation/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_local_role_list b/bt5/erp5_immobilisation/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_local_roles_list b/bt5/erp5_immobilisation/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_message_translation_list b/bt5/erp5_immobilisation/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_portal_type_base_category_list b/bt5/erp5_immobilisation/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_immobilisation/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_portal_type_property_sheet_list b/bt5/erp5_immobilisation/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_portal_type_role_list b/bt5/erp5_immobilisation/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_portal_type_roles_list b/bt5/erp5_immobilisation/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_preference_list b/bt5/erp5_immobilisation/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_product_id_list b/bt5/erp5_immobilisation/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_property_sheet_id_list b/bt5/erp5_immobilisation/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_registered_skin_selection_list b/bt5/erp5_immobilisation/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_role_list b/bt5/erp5_immobilisation/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_site_property_id_list b/bt5/erp5_immobilisation/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_test_id_list b/bt5/erp5_immobilisation/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_immobilisation/bt/template_tool_id_list b/bt5/erp5_immobilisation/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/categories_list b/bt5/erp5_ingestion/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/comment b/bt5/erp5_ingestion/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/provision_list b/bt5/erp5_ingestion/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/revision b/bt5/erp5_ingestion/bt/revision
index c9c41087e2..2702ba3d43 100644
--- a/bt5/erp5_ingestion/bt/revision
+++ b/bt5/erp5_ingestion/bt/revision
@@ -1 +1 @@
-114
\ No newline at end of file
+115
\ No newline at end of file
diff --git a/bt5/erp5_ingestion/bt/template_catalog_datetime_key_list b/bt5/erp5_ingestion/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_full_text_key_list b/bt5/erp5_ingestion/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_keyword_key_list b/bt5/erp5_ingestion/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_local_role_key_list b/bt5/erp5_ingestion/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_method_id_list b/bt5/erp5_ingestion/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_multivalue_key_list b/bt5/erp5_ingestion/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_related_key_list b/bt5/erp5_ingestion/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_request_key_list b/bt5/erp5_ingestion/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_result_key_list b/bt5/erp5_ingestion/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_result_table_list b/bt5/erp5_ingestion/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_role_key_list b/bt5/erp5_ingestion/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_scriptable_key_list b/bt5/erp5_ingestion/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_catalog_topic_key_list b/bt5/erp5_ingestion/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_constraint_id_list b/bt5/erp5_ingestion/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_document_id_list b/bt5/erp5_ingestion/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_extension_id_list b/bt5/erp5_ingestion/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_local_role_list b/bt5/erp5_ingestion/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_local_roles_list b/bt5/erp5_ingestion/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_message_translation_list b/bt5/erp5_ingestion/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_module_id_list b/bt5/erp5_ingestion/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_ingestion/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_portal_type_base_category_list b/bt5/erp5_ingestion/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_ingestion/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_portal_type_property_sheet_list b/bt5/erp5_ingestion/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_portal_type_role_list b/bt5/erp5_ingestion/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_portal_type_roles_list b/bt5/erp5_ingestion/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_portal_type_workflow_chain_list b/bt5/erp5_ingestion/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_preference_list b/bt5/erp5_ingestion/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_product_id_list b/bt5/erp5_ingestion/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_property_sheet_id_list b/bt5/erp5_ingestion/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_registered_skin_selection_list b/bt5/erp5_ingestion/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_role_list b/bt5/erp5_ingestion/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_site_property_id_list b/bt5/erp5_ingestion/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion/bt/template_workflow_id_list b/bt5/erp5_ingestion/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/categories_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/comment b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/dependency_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
index b5045cc404..8fdd954df9 100644
--- a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
+++ b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-21
\ No newline at end of file
+22
\ No newline at end of file
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_action_path_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_base_category_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_datetime_key_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_full_text_key_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_keyword_key_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_local_role_key_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_related_key_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_request_key_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_result_key_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_role_key_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_topic_key_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_constraint_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_document_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_extension_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_local_role_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_local_roles_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_message_translation_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_module_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_path_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_base_category_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_role_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_roles_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_preference_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_product_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_property_sheet_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_registered_skin_selection_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_role_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_site_property_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_skin_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_test_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_tool_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_workflow_id_list b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/categories_list b/bt5/erp5_invoicing/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/comment b/bt5/erp5_invoicing/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/provision_list b/bt5/erp5_invoicing/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/revision b/bt5/erp5_invoicing/bt/revision
index 483387c8ec..e8930b6df9 100644
--- a/bt5/erp5_invoicing/bt/revision
+++ b/bt5/erp5_invoicing/bt/revision
@@ -1 +1 @@
-363
\ No newline at end of file
+364
\ No newline at end of file
diff --git a/bt5/erp5_invoicing/bt/template_catalog_datetime_key_list b/bt5/erp5_invoicing/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_catalog_full_text_key_list b/bt5/erp5_invoicing/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_catalog_keyword_key_list b/bt5/erp5_invoicing/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_catalog_local_role_key_list b/bt5/erp5_invoicing/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_catalog_multivalue_key_list b/bt5/erp5_invoicing/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_catalog_request_key_list b/bt5/erp5_invoicing/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_catalog_result_key_list b/bt5/erp5_invoicing/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_catalog_result_table_list b/bt5/erp5_invoicing/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_catalog_role_key_list b/bt5/erp5_invoicing/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_catalog_scriptable_key_list b/bt5/erp5_invoicing/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_catalog_topic_key_list b/bt5/erp5_invoicing/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_constraint_id_list b/bt5/erp5_invoicing/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_document_id_list b/bt5/erp5_invoicing/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_extension_id_list b/bt5/erp5_invoicing/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_local_role_list b/bt5/erp5_invoicing/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_local_roles_list b/bt5/erp5_invoicing/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_message_translation_list b/bt5/erp5_invoicing/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_module_id_list b/bt5/erp5_invoicing/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_portal_type_base_category_list b/bt5/erp5_invoicing/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_portal_type_property_sheet_list b/bt5/erp5_invoicing/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_portal_type_role_list b/bt5/erp5_invoicing/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_portal_type_roles_list b/bt5/erp5_invoicing/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_preference_list b/bt5/erp5_invoicing/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_product_id_list b/bt5/erp5_invoicing/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_property_sheet_id_list b/bt5/erp5_invoicing/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_registered_skin_selection_list b/bt5/erp5_invoicing/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_role_list b/bt5/erp5_invoicing/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_site_property_id_list b/bt5/erp5_invoicing/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_test_id_list b/bt5/erp5_invoicing/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_tool_id_list b/bt5/erp5_invoicing/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_invoicing/bt/template_workflow_id_list b/bt5/erp5_invoicing/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/categories_list b/bt5/erp5_item/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/comment b/bt5/erp5_item/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/maintainer_list b/bt5/erp5_item/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/provision_list b/bt5/erp5_item/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/revision b/bt5/erp5_item/bt/revision
index 73181427a2..ae4ee13c08 100644
--- a/bt5/erp5_item/bt/revision
+++ b/bt5/erp5_item/bt/revision
@@ -1 +1 @@
-199
\ No newline at end of file
+200
\ No newline at end of file
diff --git a/bt5/erp5_item/bt/template_base_category_list b/bt5/erp5_item/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_catalog_datetime_key_list b/bt5/erp5_item/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_catalog_full_text_key_list b/bt5/erp5_item/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_catalog_keyword_key_list b/bt5/erp5_item/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_catalog_local_role_key_list b/bt5/erp5_item/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_catalog_multivalue_key_list b/bt5/erp5_item/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_catalog_request_key_list b/bt5/erp5_item/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_catalog_result_key_list b/bt5/erp5_item/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_catalog_result_table_list b/bt5/erp5_item/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_catalog_role_key_list b/bt5/erp5_item/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_catalog_scriptable_key_list b/bt5/erp5_item/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_catalog_topic_key_list b/bt5/erp5_item/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_constraint_id_list b/bt5/erp5_item/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_document_id_list b/bt5/erp5_item/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_extension_id_list b/bt5/erp5_item/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_local_role_list b/bt5/erp5_item/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_local_roles_list b/bt5/erp5_item/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_message_translation_list b/bt5/erp5_item/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_path_list b/bt5/erp5_item/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_portal_type_base_category_list b/bt5/erp5_item/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_portal_type_property_sheet_list b/bt5/erp5_item/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_portal_type_role_list b/bt5/erp5_item/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_portal_type_roles_list b/bt5/erp5_item/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_preference_list b/bt5/erp5_item/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_product_id_list b/bt5/erp5_item/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_property_sheet_id_list b/bt5/erp5_item/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_registered_skin_selection_list b/bt5/erp5_item/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_role_list b/bt5/erp5_item/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_site_property_id_list b/bt5/erp5_item/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_test_id_list b/bt5/erp5_item/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_item/bt/template_tool_id_list b/bt5/erp5_item/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/categories_list b/bt5/erp5_jquery/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/provision_list b/bt5/erp5_jquery/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/revision b/bt5/erp5_jquery/bt/revision
index ca7bf83ac5..da2d3988d7 100644
--- a/bt5/erp5_jquery/bt/revision
+++ b/bt5/erp5_jquery/bt/revision
@@ -1 +1 @@
-13
\ No newline at end of file
+14
\ No newline at end of file
diff --git a/bt5/erp5_jquery/bt/template_action_path_list b/bt5/erp5_jquery/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_base_category_list b/bt5/erp5_jquery/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_datetime_key_list b/bt5/erp5_jquery/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_full_text_key_list b/bt5/erp5_jquery/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_keyword_key_list b/bt5/erp5_jquery/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_local_role_key_list b/bt5/erp5_jquery/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_method_id_list b/bt5/erp5_jquery/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_multivalue_key_list b/bt5/erp5_jquery/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_related_key_list b/bt5/erp5_jquery/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_request_key_list b/bt5/erp5_jquery/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_result_key_list b/bt5/erp5_jquery/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_result_table_list b/bt5/erp5_jquery/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_role_key_list b/bt5/erp5_jquery/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_scriptable_key_list b/bt5/erp5_jquery/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_catalog_topic_key_list b/bt5/erp5_jquery/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_constraint_id_list b/bt5/erp5_jquery/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_document_id_list b/bt5/erp5_jquery/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_extension_id_list b/bt5/erp5_jquery/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_local_role_list b/bt5/erp5_jquery/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_local_roles_list b/bt5/erp5_jquery/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_message_translation_list b/bt5/erp5_jquery/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_module_id_list b/bt5/erp5_jquery/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_path_list b/bt5/erp5_jquery/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_jquery/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_portal_type_base_category_list b/bt5/erp5_jquery/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_jquery/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_portal_type_id_list b/bt5/erp5_jquery/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_portal_type_property_sheet_list b/bt5/erp5_jquery/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_portal_type_role_list b/bt5/erp5_jquery/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_portal_type_roles_list b/bt5/erp5_jquery/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_portal_type_workflow_chain_list b/bt5/erp5_jquery/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_preference_list b/bt5/erp5_jquery/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_product_id_list b/bt5/erp5_jquery/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_property_sheet_id_list b/bt5/erp5_jquery/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_role_list b/bt5/erp5_jquery/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_site_property_id_list b/bt5/erp5_jquery/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_test_id_list b/bt5/erp5_jquery/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_tool_id_list b/bt5/erp5_jquery/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_jquery/bt/template_workflow_id_list b/bt5/erp5_jquery/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/categories_list b/bt5/erp5_km/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/provision_list b/bt5/erp5_km/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 7dbc594e58..1f24d348d3 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1596
\ No newline at end of file
+1597
\ No newline at end of file
diff --git a/bt5/erp5_km/bt/template_base_category_list b/bt5/erp5_km/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_datetime_key_list b/bt5/erp5_km/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_full_text_key_list b/bt5/erp5_km/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_keyword_key_list b/bt5/erp5_km/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_local_role_key_list b/bt5/erp5_km/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_method_id_list b/bt5/erp5_km/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_multivalue_key_list b/bt5/erp5_km/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_related_key_list b/bt5/erp5_km/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_request_key_list b/bt5/erp5_km/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_result_key_list b/bt5/erp5_km/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_result_table_list b/bt5/erp5_km/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_role_key_list b/bt5/erp5_km/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_scriptable_key_list b/bt5/erp5_km/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_search_key_list b/bt5/erp5_km/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_catalog_topic_key_list b/bt5/erp5_km/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_constraint_id_list b/bt5/erp5_km/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_document_id_list b/bt5/erp5_km/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_extension_id_list b/bt5/erp5_km/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_local_role_list b/bt5/erp5_km/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_local_roles_list b/bt5/erp5_km/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_message_translation_list b/bt5/erp5_km/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_module_id_list b/bt5/erp5_km/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_km/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_portal_type_base_category_list b/bt5/erp5_km/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_km/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_portal_type_id_list b/bt5/erp5_km/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_portal_type_property_sheet_list b/bt5/erp5_km/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_portal_type_role_list b/bt5/erp5_km/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_portal_type_roles_list b/bt5/erp5_km/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_preference_list b/bt5/erp5_km/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_product_id_list b/bt5/erp5_km/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_property_sheet_id_list b/bt5/erp5_km/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_role_list b/bt5/erp5_km/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_site_property_id_list b/bt5/erp5_km/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_test_id_list b/bt5/erp5_km/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_tool_id_list b/bt5/erp5_km/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km/bt/template_workflow_id_list b/bt5/erp5_km/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/categories_list b/bt5/erp5_km_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/comment b/bt5/erp5_km_ui_test/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/provision_list b/bt5/erp5_km_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/revision b/bt5/erp5_km_ui_test/bt/revision
index 2702ba3d43..d2c5ed2124 100644
--- a/bt5/erp5_km_ui_test/bt/revision
+++ b/bt5/erp5_km_ui_test/bt/revision
@@ -1 +1 @@
-115
\ No newline at end of file
+116
\ No newline at end of file
diff --git a/bt5/erp5_km_ui_test/bt/template_action_path_list b/bt5/erp5_km_ui_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_base_category_list b/bt5/erp5_km_ui_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_datetime_key_list b/bt5/erp5_km_ui_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_km_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_km_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_local_role_key_list b/bt5/erp5_km_ui_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_km_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_km_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_km_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_km_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_km_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_km_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_role_key_list b/bt5/erp5_km_ui_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_km_ui_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_km_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_constraint_id_list b/bt5/erp5_km_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_document_id_list b/bt5/erp5_km_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_extension_id_list b/bt5/erp5_km_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_local_role_list b/bt5/erp5_km_ui_test/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_local_roles_list b/bt5/erp5_km_ui_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_message_translation_list b/bt5/erp5_km_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_module_id_list b/bt5/erp5_km_ui_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_km_ui_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_portal_type_base_category_list b/bt5/erp5_km_ui_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_km_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_portal_type_id_list b/bt5/erp5_km_ui_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_km_ui_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_portal_type_role_list b/bt5/erp5_km_ui_test/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_portal_type_roles_list b/bt5/erp5_km_ui_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_km_ui_test/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_preference_list b/bt5/erp5_km_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_product_id_list b/bt5/erp5_km_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_km_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_registered_skin_selection_list b/bt5/erp5_km_ui_test/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_role_list b/bt5/erp5_km_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_site_property_id_list b/bt5/erp5_km_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_test_id_list b/bt5/erp5_km_ui_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_tool_id_list b/bt5/erp5_km_ui_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_km_ui_test/bt/template_workflow_id_list b/bt5/erp5_km_ui_test/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/categories_list b/bt5/erp5_knowledge_pad/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/dependency_list b/bt5/erp5_knowledge_pad/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/provision_list b/bt5/erp5_knowledge_pad/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/revision b/bt5/erp5_knowledge_pad/bt/revision
index 4a722e9c7f..4c7798cefd 100644
--- a/bt5/erp5_knowledge_pad/bt/revision
+++ b/bt5/erp5_knowledge_pad/bt/revision
@@ -1 +1 @@
-552
\ No newline at end of file
+553
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_datetime_key_list b/bt5/erp5_knowledge_pad/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_full_text_key_list b/bt5/erp5_knowledge_pad/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_keyword_key_list b/bt5/erp5_knowledge_pad/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_local_role_key_list b/bt5/erp5_knowledge_pad/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_method_id_list b/bt5/erp5_knowledge_pad/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_multivalue_key_list b/bt5/erp5_knowledge_pad/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_related_key_list b/bt5/erp5_knowledge_pad/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_request_key_list b/bt5/erp5_knowledge_pad/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_result_key_list b/bt5/erp5_knowledge_pad/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_result_table_list b/bt5/erp5_knowledge_pad/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_role_key_list b/bt5/erp5_knowledge_pad/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_scriptable_key_list b/bt5/erp5_knowledge_pad/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_catalog_topic_key_list b/bt5/erp5_knowledge_pad/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_constraint_id_list b/bt5/erp5_knowledge_pad/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_document_id_list b/bt5/erp5_knowledge_pad/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_local_role_list b/bt5/erp5_knowledge_pad/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_local_roles_list b/bt5/erp5_knowledge_pad/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_message_translation_list b/bt5/erp5_knowledge_pad/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_portal_type_role_list b/bt5/erp5_knowledge_pad/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_portal_type_roles_list b/bt5/erp5_knowledge_pad/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_preference_list b/bt5/erp5_knowledge_pad/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_product_id_list b/bt5/erp5_knowledge_pad/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_property_sheet_id_list b/bt5/erp5_knowledge_pad/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_registered_skin_selection_list b/bt5/erp5_knowledge_pad/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_role_list b/bt5/erp5_knowledge_pad/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_site_property_id_list b/bt5/erp5_knowledge_pad/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad/bt/template_test_id_list b/bt5/erp5_knowledge_pad/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/categories_list b/bt5/erp5_knowledge_pad_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/comment b/bt5/erp5_knowledge_pad_ui_test/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/provision_list b/bt5/erp5_knowledge_pad_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/revision b/bt5/erp5_knowledge_pad_ui_test/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_knowledge_pad_ui_test/bt/revision
+++ b/bt5/erp5_knowledge_pad_ui_test/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_action_path_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_base_category_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_datetime_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_local_role_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_role_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_search_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_constraint_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_document_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_extension_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_local_role_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_local_roles_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_message_translation_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_module_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_base_category_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_role_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_roles_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_preference_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_product_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_registered_skin_selection_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_role_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_site_property_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_test_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_tool_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_workflow_id_list b/bt5/erp5_knowledge_pad_ui_test/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/version b/bt5/erp5_knowledge_pad_ui_test/bt/version
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/categories_list b/bt5/erp5_l10n_fr/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/comment b/bt5/erp5_l10n_fr/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/dependency_list b/bt5/erp5_l10n_fr/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/maintainer_list b/bt5/erp5_l10n_fr/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/provision_list b/bt5/erp5_l10n_fr/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/revision b/bt5/erp5_l10n_fr/bt/revision
index 7f3a7cc66c..05b9b66ffd 100644
--- a/bt5/erp5_l10n_fr/bt/revision
+++ b/bt5/erp5_l10n_fr/bt/revision
@@ -1 +1 @@
-161
\ No newline at end of file
+162
\ No newline at end of file
diff --git a/bt5/erp5_l10n_fr/bt/template_action_path_list b/bt5/erp5_l10n_fr/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_base_category_list b/bt5/erp5_l10n_fr/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_catalog_datetime_key_list b/bt5/erp5_l10n_fr/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_catalog_full_text_key_list b/bt5/erp5_l10n_fr/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_catalog_keyword_key_list b/bt5/erp5_l10n_fr/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_catalog_method_id_list b/bt5/erp5_l10n_fr/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_catalog_multivalue_key_list b/bt5/erp5_l10n_fr/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_catalog_related_key_list b/bt5/erp5_l10n_fr/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_catalog_request_key_list b/bt5/erp5_l10n_fr/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_catalog_result_key_list b/bt5/erp5_l10n_fr/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_catalog_result_table_list b/bt5/erp5_l10n_fr/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_catalog_scriptable_key_list b/bt5/erp5_l10n_fr/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_catalog_topic_key_list b/bt5/erp5_l10n_fr/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_constraint_id_list b/bt5/erp5_l10n_fr/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_document_id_list b/bt5/erp5_l10n_fr/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_extension_id_list b/bt5/erp5_l10n_fr/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_local_roles_list b/bt5/erp5_l10n_fr/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_module_id_list b/bt5/erp5_l10n_fr/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_path_list b/bt5/erp5_l10n_fr/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_l10n_fr/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_portal_type_base_category_list b/bt5/erp5_l10n_fr/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_l10n_fr/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_portal_type_id_list b/bt5/erp5_l10n_fr/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_portal_type_property_sheet_list b/bt5/erp5_l10n_fr/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_portal_type_roles_list b/bt5/erp5_l10n_fr/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_portal_type_workflow_chain_list b/bt5/erp5_l10n_fr/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_preference_list b/bt5/erp5_l10n_fr/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_product_id_list b/bt5/erp5_l10n_fr/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_property_sheet_id_list b/bt5/erp5_l10n_fr/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_role_list b/bt5/erp5_l10n_fr/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_site_property_id_list b/bt5/erp5_l10n_fr/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_skin_id_list b/bt5/erp5_l10n_fr/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_test_id_list b/bt5/erp5_l10n_fr/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_tool_id_list b/bt5/erp5_l10n_fr/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_fr/bt/template_workflow_id_list b/bt5/erp5_l10n_fr/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/categories_list b/bt5/erp5_l10n_ja/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/dependency_list b/bt5/erp5_l10n_ja/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/revision b/bt5/erp5_l10n_ja/bt/revision
index 597975b413..dce6588ca1 100644
--- a/bt5/erp5_l10n_ja/bt/revision
+++ b/bt5/erp5_l10n_ja/bt/revision
@@ -1 +1 @@
-35
\ No newline at end of file
+36
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ja/bt/template_action_path_list b/bt5/erp5_l10n_ja/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_base_category_list b/bt5/erp5_l10n_ja/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_catalog_full_text_key_list b/bt5/erp5_l10n_ja/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_catalog_keyword_key_list b/bt5/erp5_l10n_ja/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_catalog_method_id_list b/bt5/erp5_l10n_ja/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_catalog_multivalue_key_list b/bt5/erp5_l10n_ja/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_catalog_related_key_list b/bt5/erp5_l10n_ja/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_catalog_request_key_list b/bt5/erp5_l10n_ja/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_catalog_result_key_list b/bt5/erp5_l10n_ja/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_catalog_result_table_list b/bt5/erp5_l10n_ja/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_catalog_topic_key_list b/bt5/erp5_l10n_ja/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_constraint_id_list b/bt5/erp5_l10n_ja/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_document_id_list b/bt5/erp5_l10n_ja/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_extension_id_list b/bt5/erp5_l10n_ja/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_local_roles_list b/bt5/erp5_l10n_ja/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_module_id_list b/bt5/erp5_l10n_ja/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_path_list b/bt5/erp5_l10n_ja/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_l10n_ja/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_portal_type_base_category_list b/bt5/erp5_l10n_ja/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_l10n_ja/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_portal_type_id_list b/bt5/erp5_l10n_ja/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_portal_type_property_sheet_list b/bt5/erp5_l10n_ja/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_portal_type_roles_list b/bt5/erp5_l10n_ja/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_portal_type_workflow_chain_list b/bt5/erp5_l10n_ja/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_product_id_list b/bt5/erp5_l10n_ja/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_property_sheet_id_list b/bt5/erp5_l10n_ja/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_role_list b/bt5/erp5_l10n_ja/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_site_property_id_list b/bt5/erp5_l10n_ja/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_skin_id_list b/bt5/erp5_l10n_ja/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_test_id_list b/bt5/erp5_l10n_ja/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ja/bt/template_workflow_id_list b/bt5/erp5_l10n_ja/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/categories_list b/bt5/erp5_l10n_ko/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/comment b/bt5/erp5_l10n_ko/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/dependency_list b/bt5/erp5_l10n_ko/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/provision_list b/bt5/erp5_l10n_ko/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/revision b/bt5/erp5_l10n_ko/bt/revision
index da2d3988d7..3f10ffe7a4 100644
--- a/bt5/erp5_l10n_ko/bt/revision
+++ b/bt5/erp5_l10n_ko/bt/revision
@@ -1 +1 @@
-14
\ No newline at end of file
+15
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ko/bt/template_action_path_list b/bt5/erp5_l10n_ko/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_base_category_list b/bt5/erp5_l10n_ko/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_datetime_key_list b/bt5/erp5_l10n_ko/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_full_text_key_list b/bt5/erp5_l10n_ko/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_keyword_key_list b/bt5/erp5_l10n_ko/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_local_role_key_list b/bt5/erp5_l10n_ko/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_method_id_list b/bt5/erp5_l10n_ko/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_multivalue_key_list b/bt5/erp5_l10n_ko/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_related_key_list b/bt5/erp5_l10n_ko/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_request_key_list b/bt5/erp5_l10n_ko/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_result_key_list b/bt5/erp5_l10n_ko/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_result_table_list b/bt5/erp5_l10n_ko/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_role_key_list b/bt5/erp5_l10n_ko/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_scriptable_key_list b/bt5/erp5_l10n_ko/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_catalog_topic_key_list b/bt5/erp5_l10n_ko/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_constraint_id_list b/bt5/erp5_l10n_ko/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_document_id_list b/bt5/erp5_l10n_ko/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_extension_id_list b/bt5/erp5_l10n_ko/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_local_roles_list b/bt5/erp5_l10n_ko/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_module_id_list b/bt5/erp5_l10n_ko/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_path_list b/bt5/erp5_l10n_ko/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_l10n_ko/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_portal_type_base_category_list b/bt5/erp5_l10n_ko/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_l10n_ko/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_portal_type_id_list b/bt5/erp5_l10n_ko/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_portal_type_property_sheet_list b/bt5/erp5_l10n_ko/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_portal_type_roles_list b/bt5/erp5_l10n_ko/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_portal_type_workflow_chain_list b/bt5/erp5_l10n_ko/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_preference_list b/bt5/erp5_l10n_ko/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_product_id_list b/bt5/erp5_l10n_ko/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_property_sheet_id_list b/bt5/erp5_l10n_ko/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_role_list b/bt5/erp5_l10n_ko/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_site_property_id_list b/bt5/erp5_l10n_ko/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_skin_id_list b/bt5/erp5_l10n_ko/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_test_id_list b/bt5/erp5_l10n_ko/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_tool_id_list b/bt5/erp5_l10n_ko/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_ko/bt/template_workflow_id_list b/bt5/erp5_l10n_ko/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/categories_list b/bt5/erp5_l10n_pl_PL/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/comment b/bt5/erp5_l10n_pl_PL/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/copyright_list b/bt5/erp5_l10n_pl_PL/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/dependency_list b/bt5/erp5_l10n_pl_PL/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/provision_list b/bt5/erp5_l10n_pl_PL/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/revision b/bt5/erp5_l10n_pl_PL/bt/revision
index 1758dddcce..dc7b54ad01 100644
--- a/bt5/erp5_l10n_pl_PL/bt/revision
+++ b/bt5/erp5_l10n_pl_PL/bt/revision
@@ -1 +1 @@
-32
\ No newline at end of file
+33
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_action_path_list b/bt5/erp5_l10n_pl_PL/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_base_category_list b/bt5/erp5_l10n_pl_PL/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_datetime_key_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_full_text_key_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_keyword_key_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_local_role_key_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_method_id_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_multivalue_key_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_related_key_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_request_key_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_result_key_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_result_table_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_role_key_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_scriptable_key_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_catalog_topic_key_list b/bt5/erp5_l10n_pl_PL/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_constraint_id_list b/bt5/erp5_l10n_pl_PL/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_document_id_list b/bt5/erp5_l10n_pl_PL/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_extension_id_list b/bt5/erp5_l10n_pl_PL/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_local_role_list b/bt5/erp5_l10n_pl_PL/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_local_roles_list b/bt5/erp5_l10n_pl_PL/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_module_id_list b/bt5/erp5_l10n_pl_PL/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_path_list b/bt5/erp5_l10n_pl_PL/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_l10n_pl_PL/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_portal_type_base_category_list b/bt5/erp5_l10n_pl_PL/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_l10n_pl_PL/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_portal_type_id_list b/bt5/erp5_l10n_pl_PL/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_portal_type_property_sheet_list b/bt5/erp5_l10n_pl_PL/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_portal_type_role_list b/bt5/erp5_l10n_pl_PL/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_portal_type_roles_list b/bt5/erp5_l10n_pl_PL/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_portal_type_workflow_chain_list b/bt5/erp5_l10n_pl_PL/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_preference_list b/bt5/erp5_l10n_pl_PL/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_product_id_list b/bt5/erp5_l10n_pl_PL/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_property_sheet_id_list b/bt5/erp5_l10n_pl_PL/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_role_list b/bt5/erp5_l10n_pl_PL/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_site_property_id_list b/bt5/erp5_l10n_pl_PL/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_test_id_list b/bt5/erp5_l10n_pl_PL/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_tool_id_list b/bt5/erp5_l10n_pl_PL/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_workflow_id_list b/bt5/erp5_l10n_pl_PL/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/categories_list b/bt5/erp5_l10n_pt-BR/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/comment b/bt5/erp5_l10n_pt-BR/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/dependency_list b/bt5/erp5_l10n_pt-BR/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/provision_list b/bt5/erp5_l10n_pt-BR/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/revision b/bt5/erp5_l10n_pt-BR/bt/revision
index dec2bf5d61..2edeafb09d 100644
--- a/bt5/erp5_l10n_pt-BR/bt/revision
+++ b/bt5/erp5_l10n_pt-BR/bt/revision
@@ -1 +1 @@
-19
\ No newline at end of file
+20
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_action_path_list b/bt5/erp5_l10n_pt-BR/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_base_category_list b/bt5/erp5_l10n_pt-BR/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_catalog_full_text_key_list b/bt5/erp5_l10n_pt-BR/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_catalog_keyword_key_list b/bt5/erp5_l10n_pt-BR/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_catalog_method_id_list b/bt5/erp5_l10n_pt-BR/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_catalog_multivalue_key_list b/bt5/erp5_l10n_pt-BR/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_catalog_related_key_list b/bt5/erp5_l10n_pt-BR/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_catalog_request_key_list b/bt5/erp5_l10n_pt-BR/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_catalog_result_key_list b/bt5/erp5_l10n_pt-BR/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_catalog_result_table_list b/bt5/erp5_l10n_pt-BR/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_catalog_topic_key_list b/bt5/erp5_l10n_pt-BR/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_constraint_id_list b/bt5/erp5_l10n_pt-BR/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_document_id_list b/bt5/erp5_l10n_pt-BR/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_extension_id_list b/bt5/erp5_l10n_pt-BR/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_local_roles_list b/bt5/erp5_l10n_pt-BR/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_module_id_list b/bt5/erp5_l10n_pt-BR/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_path_list b/bt5/erp5_l10n_pt-BR/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_l10n_pt-BR/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_portal_type_base_category_list b/bt5/erp5_l10n_pt-BR/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_l10n_pt-BR/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_portal_type_id_list b/bt5/erp5_l10n_pt-BR/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_portal_type_property_sheet_list b/bt5/erp5_l10n_pt-BR/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_portal_type_roles_list b/bt5/erp5_l10n_pt-BR/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_portal_type_workflow_chain_list b/bt5/erp5_l10n_pt-BR/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_preference_list b/bt5/erp5_l10n_pt-BR/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_product_id_list b/bt5/erp5_l10n_pt-BR/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_property_sheet_id_list b/bt5/erp5_l10n_pt-BR/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_role_list b/bt5/erp5_l10n_pt-BR/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_site_property_id_list b/bt5/erp5_l10n_pt-BR/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_skin_id_list b/bt5/erp5_l10n_pt-BR/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_test_id_list b/bt5/erp5_l10n_pt-BR/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_workflow_id_list b/bt5/erp5_l10n_pt-BR/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/categories_list b/bt5/erp5_ldap_catalog/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/comment b/bt5/erp5_ldap_catalog/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/copyright_list b/bt5/erp5_ldap_catalog/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/license b/bt5/erp5_ldap_catalog/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/provision_list b/bt5/erp5_ldap_catalog/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/revision b/bt5/erp5_ldap_catalog/bt/revision
index f11c82a4cb..9a037142aa 100644
--- a/bt5/erp5_ldap_catalog/bt/revision
+++ b/bt5/erp5_ldap_catalog/bt/revision
@@ -1 +1 @@
-9
\ No newline at end of file
+10
\ No newline at end of file
diff --git a/bt5/erp5_ldap_catalog/bt/template_action_path_list b/bt5/erp5_ldap_catalog/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_base_category_list b/bt5/erp5_ldap_catalog/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_catalog_datetime_key_list b/bt5/erp5_ldap_catalog/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_catalog_full_text_key_list b/bt5/erp5_ldap_catalog/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_catalog_keyword_key_list b/bt5/erp5_ldap_catalog/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_catalog_multivalue_key_list b/bt5/erp5_ldap_catalog/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_catalog_related_key_list b/bt5/erp5_ldap_catalog/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_catalog_request_key_list b/bt5/erp5_ldap_catalog/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_catalog_result_key_list b/bt5/erp5_ldap_catalog/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_catalog_result_table_list b/bt5/erp5_ldap_catalog/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_catalog_scriptable_key_list b/bt5/erp5_ldap_catalog/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_catalog_topic_key_list b/bt5/erp5_ldap_catalog/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_constraint_id_list b/bt5/erp5_ldap_catalog/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_document_id_list b/bt5/erp5_ldap_catalog/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_extension_id_list b/bt5/erp5_ldap_catalog/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_local_roles_list b/bt5/erp5_ldap_catalog/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_message_translation_list b/bt5/erp5_ldap_catalog/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_module_id_list b/bt5/erp5_ldap_catalog/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_ldap_catalog/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_portal_type_base_category_list b/bt5/erp5_ldap_catalog/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_ldap_catalog/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_portal_type_id_list b/bt5/erp5_ldap_catalog/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_portal_type_property_sheet_list b/bt5/erp5_ldap_catalog/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_portal_type_roles_list b/bt5/erp5_ldap_catalog/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_portal_type_workflow_chain_list b/bt5/erp5_ldap_catalog/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_preference_list b/bt5/erp5_ldap_catalog/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_product_id_list b/bt5/erp5_ldap_catalog/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_property_sheet_id_list b/bt5/erp5_ldap_catalog/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_role_list b/bt5/erp5_ldap_catalog/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_site_property_id_list b/bt5/erp5_ldap_catalog/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_test_id_list b/bt5/erp5_ldap_catalog/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_tool_id_list b/bt5/erp5_ldap_catalog/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/template_workflow_id_list b/bt5/erp5_ldap_catalog/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ldap_catalog/bt/version b/bt5/erp5_ldap_catalog/bt/version
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/categories_list b/bt5/erp5_legacy_tax_system/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/comment b/bt5/erp5_legacy_tax_system/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/maintainer_list b/bt5/erp5_legacy_tax_system/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/provision_list b/bt5/erp5_legacy_tax_system/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/revision b/bt5/erp5_legacy_tax_system/bt/revision
index 8e2afd3427..25bf17fc5a 100644
--- a/bt5/erp5_legacy_tax_system/bt/revision
+++ b/bt5/erp5_legacy_tax_system/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_legacy_tax_system/bt/template_base_category_list b/bt5/erp5_legacy_tax_system/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_datetime_key_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_full_text_key_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_keyword_key_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_local_role_key_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_method_id_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_multivalue_key_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_related_key_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_request_key_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_result_key_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_result_table_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_role_key_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_scriptable_key_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_catalog_topic_key_list b/bt5/erp5_legacy_tax_system/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_constraint_id_list b/bt5/erp5_legacy_tax_system/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_document_id_list b/bt5/erp5_legacy_tax_system/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_extension_id_list b/bt5/erp5_legacy_tax_system/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_local_role_list b/bt5/erp5_legacy_tax_system/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_local_roles_list b/bt5/erp5_legacy_tax_system/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_message_translation_list b/bt5/erp5_legacy_tax_system/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_module_id_list b/bt5/erp5_legacy_tax_system/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_portal_type_base_category_list b/bt5/erp5_legacy_tax_system/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_portal_type_property_sheet_list b/bt5/erp5_legacy_tax_system/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_portal_type_role_list b/bt5/erp5_legacy_tax_system/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_portal_type_roles_list b/bt5/erp5_legacy_tax_system/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_preference_list b/bt5/erp5_legacy_tax_system/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_product_id_list b/bt5/erp5_legacy_tax_system/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_property_sheet_id_list b/bt5/erp5_legacy_tax_system/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_registered_skin_selection_list b/bt5/erp5_legacy_tax_system/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_role_list b/bt5/erp5_legacy_tax_system/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_site_property_id_list b/bt5/erp5_legacy_tax_system/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_test_id_list b/bt5/erp5_legacy_tax_system/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_legacy_tax_system/bt/template_tool_id_list b/bt5/erp5_legacy_tax_system/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/categories_list b/bt5/erp5_mobile/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/comment b/bt5/erp5_mobile/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/dependency_list b/bt5/erp5_mobile/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/provision_list b/bt5/erp5_mobile/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/revision b/bt5/erp5_mobile/bt/revision
index b2412e34df..4e9e288487 100644
--- a/bt5/erp5_mobile/bt/revision
+++ b/bt5/erp5_mobile/bt/revision
@@ -1 +1 @@
-62
\ No newline at end of file
+63
\ No newline at end of file
diff --git a/bt5/erp5_mobile/bt/template_action_path_list b/bt5/erp5_mobile/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_base_category_list b/bt5/erp5_mobile/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_datetime_key_list b/bt5/erp5_mobile/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_full_text_key_list b/bt5/erp5_mobile/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_keyword_key_list b/bt5/erp5_mobile/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_local_role_key_list b/bt5/erp5_mobile/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_method_id_list b/bt5/erp5_mobile/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_multivalue_key_list b/bt5/erp5_mobile/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_related_key_list b/bt5/erp5_mobile/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_request_key_list b/bt5/erp5_mobile/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_result_key_list b/bt5/erp5_mobile/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_result_table_list b/bt5/erp5_mobile/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_role_key_list b/bt5/erp5_mobile/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_scriptable_key_list b/bt5/erp5_mobile/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_catalog_topic_key_list b/bt5/erp5_mobile/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_constraint_id_list b/bt5/erp5_mobile/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_document_id_list b/bt5/erp5_mobile/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_local_roles_list b/bt5/erp5_mobile/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_message_translation_list b/bt5/erp5_mobile/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_module_id_list b/bt5/erp5_mobile/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_path_list b/bt5/erp5_mobile/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_mobile/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_portal_type_base_category_list b/bt5/erp5_mobile/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_mobile/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_portal_type_id_list b/bt5/erp5_mobile/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_portal_type_property_sheet_list b/bt5/erp5_mobile/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_portal_type_roles_list b/bt5/erp5_mobile/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_portal_type_workflow_chain_list b/bt5/erp5_mobile/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_preference_list b/bt5/erp5_mobile/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_product_id_list b/bt5/erp5_mobile/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_property_sheet_id_list b/bt5/erp5_mobile/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_role_list b/bt5/erp5_mobile/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_site_property_id_list b/bt5/erp5_mobile/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_test_id_list b/bt5/erp5_mobile/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_tool_id_list b/bt5/erp5_mobile/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile/bt/template_workflow_id_list b/bt5/erp5_mobile/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/categories_list b/bt5/erp5_mobile_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/comment b/bt5/erp5_mobile_ui_test/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/provision_list b/bt5/erp5_mobile_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/revision b/bt5/erp5_mobile_ui_test/bt/revision
index c7930257df..301160a930 100644
--- a/bt5/erp5_mobile_ui_test/bt/revision
+++ b/bt5/erp5_mobile_ui_test/bt/revision
@@ -1 +1 @@
-7
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/bt5/erp5_mobile_ui_test/bt/template_action_path_list b/bt5/erp5_mobile_ui_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_base_category_list b/bt5/erp5_mobile_ui_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_datetime_key_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_local_role_key_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_role_key_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_mobile_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_constraint_id_list b/bt5/erp5_mobile_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_document_id_list b/bt5/erp5_mobile_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_extension_id_list b/bt5/erp5_mobile_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_local_roles_list b/bt5/erp5_mobile_ui_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_message_translation_list b/bt5/erp5_mobile_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_module_id_list b/bt5/erp5_mobile_ui_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_path_list b/bt5/erp5_mobile_ui_test/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_mobile_ui_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_portal_type_base_category_list b/bt5/erp5_mobile_ui_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_mobile_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_portal_type_id_list b/bt5/erp5_mobile_ui_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_mobile_ui_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_portal_type_roles_list b/bt5/erp5_mobile_ui_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_mobile_ui_test/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_preference_list b/bt5/erp5_mobile_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_product_id_list b/bt5/erp5_mobile_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_mobile_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_role_list b/bt5/erp5_mobile_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_site_property_id_list b/bt5/erp5_mobile_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_tool_id_list b/bt5/erp5_mobile_ui_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mobile_ui_test/bt/template_workflow_id_list b/bt5/erp5_mobile_ui_test/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/categories_list b/bt5/erp5_mrp/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/provision_list b/bt5/erp5_mrp/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/revision b/bt5/erp5_mrp/bt/revision
index e966f9075d..4991210660 100644
--- a/bt5/erp5_mrp/bt/revision
+++ b/bt5/erp5_mrp/bt/revision
@@ -1 +1 @@
-450
\ No newline at end of file
+451
\ No newline at end of file
diff --git a/bt5/erp5_mrp/bt/template_base_category_list b/bt5/erp5_mrp/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_datetime_key_list b/bt5/erp5_mrp/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_full_text_key_list b/bt5/erp5_mrp/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_keyword_key_list b/bt5/erp5_mrp/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_local_role_key_list b/bt5/erp5_mrp/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_method_id_list b/bt5/erp5_mrp/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_multivalue_key_list b/bt5/erp5_mrp/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_related_key_list b/bt5/erp5_mrp/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_request_key_list b/bt5/erp5_mrp/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_result_key_list b/bt5/erp5_mrp/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_result_table_list b/bt5/erp5_mrp/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_role_key_list b/bt5/erp5_mrp/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_scriptable_key_list b/bt5/erp5_mrp/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_catalog_topic_key_list b/bt5/erp5_mrp/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_constraint_id_list b/bt5/erp5_mrp/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_document_id_list b/bt5/erp5_mrp/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_extension_id_list b/bt5/erp5_mrp/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_local_role_list b/bt5/erp5_mrp/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_local_roles_list b/bt5/erp5_mrp/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_message_translation_list b/bt5/erp5_mrp/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_portal_type_property_sheet_list b/bt5/erp5_mrp/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_portal_type_role_list b/bt5/erp5_mrp/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_portal_type_roles_list b/bt5/erp5_mrp/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_preference_list b/bt5/erp5_mrp/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_product_id_list b/bt5/erp5_mrp/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_property_sheet_id_list b/bt5/erp5_mrp/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_registered_skin_selection_list b/bt5/erp5_mrp/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_role_list b/bt5/erp5_mrp/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_site_property_id_list b/bt5/erp5_mrp/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_test_id_list b/bt5/erp5_mrp/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_mrp/bt/template_tool_id_list b/bt5/erp5_mrp/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/categories_list b/bt5/erp5_ods_style/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/comment b/bt5/erp5_ods_style/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/provision_list b/bt5/erp5_ods_style/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/revision b/bt5/erp5_ods_style/bt/revision
index 9ce0f492d8..b6e27607fb 100644
--- a/bt5/erp5_ods_style/bt/revision
+++ b/bt5/erp5_ods_style/bt/revision
@@ -1 +1 @@
-241
\ No newline at end of file
+242
\ No newline at end of file
diff --git a/bt5/erp5_ods_style/bt/template_base_category_list b/bt5/erp5_ods_style/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_datetime_key_list b/bt5/erp5_ods_style/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_full_text_key_list b/bt5/erp5_ods_style/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_keyword_key_list b/bt5/erp5_ods_style/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_local_role_key_list b/bt5/erp5_ods_style/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_method_id_list b/bt5/erp5_ods_style/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_multivalue_key_list b/bt5/erp5_ods_style/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_related_key_list b/bt5/erp5_ods_style/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_request_key_list b/bt5/erp5_ods_style/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_result_key_list b/bt5/erp5_ods_style/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_result_table_list b/bt5/erp5_ods_style/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_role_key_list b/bt5/erp5_ods_style/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_scriptable_key_list b/bt5/erp5_ods_style/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_catalog_topic_key_list b/bt5/erp5_ods_style/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_constraint_id_list b/bt5/erp5_ods_style/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_document_id_list b/bt5/erp5_ods_style/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_extension_id_list b/bt5/erp5_ods_style/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_local_role_list b/bt5/erp5_ods_style/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_local_roles_list b/bt5/erp5_ods_style/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_message_translation_list b/bt5/erp5_ods_style/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_module_id_list b/bt5/erp5_ods_style/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_path_list b/bt5/erp5_ods_style/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_ods_style/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_portal_type_base_category_list b/bt5/erp5_ods_style/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_ods_style/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_portal_type_id_list b/bt5/erp5_ods_style/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_portal_type_property_sheet_list b/bt5/erp5_ods_style/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_portal_type_role_list b/bt5/erp5_ods_style/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_portal_type_roles_list b/bt5/erp5_ods_style/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_portal_type_workflow_chain_list b/bt5/erp5_ods_style/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_preference_list b/bt5/erp5_ods_style/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_product_id_list b/bt5/erp5_ods_style/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_property_sheet_id_list b/bt5/erp5_ods_style/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_role_list b/bt5/erp5_ods_style/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_site_property_id_list b/bt5/erp5_ods_style/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_test_id_list b/bt5/erp5_ods_style/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_tool_id_list b/bt5/erp5_ods_style/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ods_style/bt/template_workflow_id_list b/bt5/erp5_ods_style/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/categories_list b/bt5/erp5_odt_style/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/comment b/bt5/erp5_odt_style/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/provision_list b/bt5/erp5_odt_style/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/revision b/bt5/erp5_odt_style/bt/revision
index 9d07aa0df5..d25720879e 100644
--- a/bt5/erp5_odt_style/bt/revision
+++ b/bt5/erp5_odt_style/bt/revision
@@ -1 +1 @@
-111
\ No newline at end of file
+112
\ No newline at end of file
diff --git a/bt5/erp5_odt_style/bt/template_base_category_list b/bt5/erp5_odt_style/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_datetime_key_list b/bt5/erp5_odt_style/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_full_text_key_list b/bt5/erp5_odt_style/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_keyword_key_list b/bt5/erp5_odt_style/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_local_role_key_list b/bt5/erp5_odt_style/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_method_id_list b/bt5/erp5_odt_style/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_multivalue_key_list b/bt5/erp5_odt_style/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_related_key_list b/bt5/erp5_odt_style/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_request_key_list b/bt5/erp5_odt_style/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_result_key_list b/bt5/erp5_odt_style/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_result_table_list b/bt5/erp5_odt_style/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_role_key_list b/bt5/erp5_odt_style/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_scriptable_key_list b/bt5/erp5_odt_style/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_catalog_topic_key_list b/bt5/erp5_odt_style/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_constraint_id_list b/bt5/erp5_odt_style/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_document_id_list b/bt5/erp5_odt_style/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_extension_id_list b/bt5/erp5_odt_style/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_local_role_list b/bt5/erp5_odt_style/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_local_roles_list b/bt5/erp5_odt_style/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_message_translation_list b/bt5/erp5_odt_style/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_module_id_list b/bt5/erp5_odt_style/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_path_list b/bt5/erp5_odt_style/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_odt_style/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_portal_type_base_category_list b/bt5/erp5_odt_style/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_odt_style/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_portal_type_id_list b/bt5/erp5_odt_style/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_portal_type_property_sheet_list b/bt5/erp5_odt_style/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_portal_type_role_list b/bt5/erp5_odt_style/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_portal_type_roles_list b/bt5/erp5_odt_style/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_portal_type_workflow_chain_list b/bt5/erp5_odt_style/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_preference_list b/bt5/erp5_odt_style/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_product_id_list b/bt5/erp5_odt_style/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_property_sheet_id_list b/bt5/erp5_odt_style/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_role_list b/bt5/erp5_odt_style/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_site_property_id_list b/bt5/erp5_odt_style/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_test_id_list b/bt5/erp5_odt_style/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_tool_id_list b/bt5/erp5_odt_style/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_odt_style/bt/template_workflow_id_list b/bt5/erp5_odt_style/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/categories_list b/bt5/erp5_ooo_import/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/comment b/bt5/erp5_ooo_import/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/dependency_list b/bt5/erp5_ooo_import/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/description b/bt5/erp5_ooo_import/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/provision_list b/bt5/erp5_ooo_import/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/revision b/bt5/erp5_ooo_import/bt/revision
index 009bd2c17f..0ad1c6bd53 100644
--- a/bt5/erp5_ooo_import/bt/revision
+++ b/bt5/erp5_ooo_import/bt/revision
@@ -1 +1 @@
-407
\ No newline at end of file
+408
\ No newline at end of file
diff --git a/bt5/erp5_ooo_import/bt/template_base_category_list b/bt5/erp5_ooo_import/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_datetime_key_list b/bt5/erp5_ooo_import/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_full_text_key_list b/bt5/erp5_ooo_import/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_keyword_key_list b/bt5/erp5_ooo_import/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_local_role_key_list b/bt5/erp5_ooo_import/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_method_id_list b/bt5/erp5_ooo_import/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_multivalue_key_list b/bt5/erp5_ooo_import/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_related_key_list b/bt5/erp5_ooo_import/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_request_key_list b/bt5/erp5_ooo_import/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_result_key_list b/bt5/erp5_ooo_import/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_result_table_list b/bt5/erp5_ooo_import/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_role_key_list b/bt5/erp5_ooo_import/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_scriptable_key_list b/bt5/erp5_ooo_import/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_catalog_topic_key_list b/bt5/erp5_ooo_import/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_constraint_id_list b/bt5/erp5_ooo_import/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_document_id_list b/bt5/erp5_ooo_import/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_extension_id_list b/bt5/erp5_ooo_import/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_local_role_list b/bt5/erp5_ooo_import/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_local_roles_list b/bt5/erp5_ooo_import/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_message_translation_list b/bt5/erp5_ooo_import/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_module_id_list b/bt5/erp5_ooo_import/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_path_list b/bt5/erp5_ooo_import/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_ooo_import/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_portal_type_base_category_list b/bt5/erp5_ooo_import/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_ooo_import/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_portal_type_id_list b/bt5/erp5_ooo_import/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_portal_type_property_sheet_list b/bt5/erp5_ooo_import/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_portal_type_role_list b/bt5/erp5_ooo_import/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_portal_type_roles_list b/bt5/erp5_ooo_import/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_portal_type_workflow_chain_list b/bt5/erp5_ooo_import/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_preference_list b/bt5/erp5_ooo_import/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_product_id_list b/bt5/erp5_ooo_import/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_property_sheet_id_list b/bt5/erp5_ooo_import/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_registered_skin_selection_list b/bt5/erp5_ooo_import/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_role_list b/bt5/erp5_ooo_import/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_site_property_id_list b/bt5/erp5_ooo_import/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_test_id_list b/bt5/erp5_ooo_import/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_tool_id_list b/bt5/erp5_ooo_import/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ooo_import/bt/template_workflow_id_list b/bt5/erp5_ooo_import/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/categories_list b/bt5/erp5_open_trade/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/copyright_list b/bt5/erp5_open_trade/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/dependency_list b/bt5/erp5_open_trade/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/provision_list b/bt5/erp5_open_trade/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/revision b/bt5/erp5_open_trade/bt/revision
index 978b4e8e51..a5c750feac 100644
--- a/bt5/erp5_open_trade/bt/revision
+++ b/bt5/erp5_open_trade/bt/revision
@@ -1 +1 @@
-26
\ No newline at end of file
+27
\ No newline at end of file
diff --git a/bt5/erp5_open_trade/bt/template_base_category_list b/bt5/erp5_open_trade/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_datetime_key_list b/bt5/erp5_open_trade/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_full_text_key_list b/bt5/erp5_open_trade/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_keyword_key_list b/bt5/erp5_open_trade/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_local_role_key_list b/bt5/erp5_open_trade/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_method_id_list b/bt5/erp5_open_trade/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_multivalue_key_list b/bt5/erp5_open_trade/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_related_key_list b/bt5/erp5_open_trade/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_request_key_list b/bt5/erp5_open_trade/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_result_key_list b/bt5/erp5_open_trade/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_result_table_list b/bt5/erp5_open_trade/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_role_key_list b/bt5/erp5_open_trade/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_scriptable_key_list b/bt5/erp5_open_trade/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_catalog_topic_key_list b/bt5/erp5_open_trade/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_constraint_id_list b/bt5/erp5_open_trade/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_document_id_list b/bt5/erp5_open_trade/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_extension_id_list b/bt5/erp5_open_trade/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_local_role_list b/bt5/erp5_open_trade/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_local_roles_list b/bt5/erp5_open_trade/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_message_translation_list b/bt5/erp5_open_trade/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_portal_type_base_category_list b/bt5/erp5_open_trade/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_portal_type_role_list b/bt5/erp5_open_trade/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_portal_type_roles_list b/bt5/erp5_open_trade/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_preference_list b/bt5/erp5_open_trade/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_product_id_list b/bt5/erp5_open_trade/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_property_sheet_id_list b/bt5/erp5_open_trade/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_registered_skin_selection_list b/bt5/erp5_open_trade/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_role_list b/bt5/erp5_open_trade/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_site_property_id_list b/bt5/erp5_open_trade/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_test_id_list b/bt5/erp5_open_trade/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade/bt/template_tool_id_list b/bt5/erp5_open_trade/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/categories_list b/bt5/erp5_open_trade_legacy_tax_system/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/comment b/bt5/erp5_open_trade_legacy_tax_system/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/copyright_list b/bt5/erp5_open_trade_legacy_tax_system/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/maintainer_list b/bt5/erp5_open_trade_legacy_tax_system/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/provision_list b/bt5/erp5_open_trade_legacy_tax_system/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/revision b/bt5/erp5_open_trade_legacy_tax_system/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/erp5_open_trade_legacy_tax_system/bt/revision
+++ b/bt5/erp5_open_trade_legacy_tax_system/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_base_category_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_datetime_key_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_full_text_key_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_keyword_key_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_local_role_key_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_method_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_multivalue_key_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_related_key_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_request_key_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_result_key_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_result_table_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_role_key_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_scriptable_key_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_topic_key_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_constraint_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_document_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_extension_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_local_role_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_local_roles_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_message_translation_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_module_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_path_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_base_category_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_property_sheet_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_role_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_roles_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_preference_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_product_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_property_sheet_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_role_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_site_property_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_skin_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_test_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_tool_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_workflow_id_list b/bt5/erp5_open_trade_legacy_tax_system/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/categories_list b/bt5/erp5_payroll/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/provision_list b/bt5/erp5_payroll/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/revision b/bt5/erp5_payroll/bt/revision
index 18133faa4c..ccd47f3c25 100644
--- a/bt5/erp5_payroll/bt/revision
+++ b/bt5/erp5_payroll/bt/revision
@@ -1 +1 @@
-564
\ No newline at end of file
+565
\ No newline at end of file
diff --git a/bt5/erp5_payroll/bt/template_catalog_datetime_key_list b/bt5/erp5_payroll/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_catalog_full_text_key_list b/bt5/erp5_payroll/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_catalog_keyword_key_list b/bt5/erp5_payroll/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_catalog_local_role_key_list b/bt5/erp5_payroll/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_catalog_multivalue_key_list b/bt5/erp5_payroll/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_catalog_request_key_list b/bt5/erp5_payroll/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_catalog_result_key_list b/bt5/erp5_payroll/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_catalog_result_table_list b/bt5/erp5_payroll/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_catalog_role_key_list b/bt5/erp5_payroll/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_catalog_scriptable_key_list b/bt5/erp5_payroll/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_catalog_topic_key_list b/bt5/erp5_payroll/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_constraint_id_list b/bt5/erp5_payroll/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_document_id_list b/bt5/erp5_payroll/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_extension_id_list b/bt5/erp5_payroll/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_local_role_list b/bt5/erp5_payroll/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_local_roles_list b/bt5/erp5_payroll/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_message_translation_list b/bt5/erp5_payroll/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_portal_type_role_list b/bt5/erp5_payroll/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_portal_type_roles_list b/bt5/erp5_payroll/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_preference_list b/bt5/erp5_payroll/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_product_id_list b/bt5/erp5_payroll/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_property_sheet_id_list b/bt5/erp5_payroll/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_registered_skin_selection_list b/bt5/erp5_payroll/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_role_list b/bt5/erp5_payroll/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_site_property_id_list b/bt5/erp5_payroll/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_test_id_list b/bt5/erp5_payroll/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll/bt/template_tool_id_list b/bt5/erp5_payroll/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/categories_list b/bt5/erp5_payroll_l10n_fr/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/comment b/bt5/erp5_payroll_l10n_fr/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/provision_list b/bt5/erp5_payroll_l10n_fr/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/revision b/bt5/erp5_payroll_l10n_fr/bt/revision
index d800886d9c..a09fd8ad47 100644
--- a/bt5/erp5_payroll_l10n_fr/bt/revision
+++ b/bt5/erp5_payroll_l10n_fr/bt/revision
@@ -1 +1 @@
-123
\ No newline at end of file
+124
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_action_path_list b/bt5/erp5_payroll_l10n_fr/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_base_category_list b/bt5/erp5_payroll_l10n_fr/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_datetime_key_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_full_text_key_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_keyword_key_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_local_role_key_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_method_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_multivalue_key_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_related_key_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_request_key_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_result_key_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_result_table_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_role_key_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_scriptable_key_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_catalog_topic_key_list b/bt5/erp5_payroll_l10n_fr/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_constraint_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_document_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_extension_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_local_role_list b/bt5/erp5_payroll_l10n_fr/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_local_roles_list b/bt5/erp5_payroll_l10n_fr/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_message_translation_list b/bt5/erp5_payroll_l10n_fr/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_module_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_base_category_list b/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_property_sheet_list b/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_role_list b/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_roles_list b/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_workflow_chain_list b/bt5/erp5_payroll_l10n_fr/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_preference_list b/bt5/erp5_payroll_l10n_fr/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_product_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_property_sheet_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_registered_skin_selection_list b/bt5/erp5_payroll_l10n_fr/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_role_list b/bt5/erp5_payroll_l10n_fr/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_site_property_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_test_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_tool_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_workflow_id_list b/bt5/erp5_payroll_l10n_fr/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/categories_list b/bt5/erp5_payroll_l10n_jp/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/comment b/bt5/erp5_payroll_l10n_jp/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/provision_list b/bt5/erp5_payroll_l10n_jp/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/revision b/bt5/erp5_payroll_l10n_jp/bt/revision
index 3fdc173dab..d800886d9c 100644
--- a/bt5/erp5_payroll_l10n_jp/bt/revision
+++ b/bt5/erp5_payroll_l10n_jp/bt/revision
@@ -1 +1 @@
-122
\ No newline at end of file
+123
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_action_path_list b/bt5/erp5_payroll_l10n_jp/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_base_category_list b/bt5/erp5_payroll_l10n_jp/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_datetime_key_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_full_text_key_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_keyword_key_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_local_role_key_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_method_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_multivalue_key_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_related_key_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_request_key_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_result_key_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_result_table_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_role_key_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_scriptable_key_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_catalog_topic_key_list b/bt5/erp5_payroll_l10n_jp/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_constraint_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_document_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_extension_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_local_role_list b/bt5/erp5_payroll_l10n_jp/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_local_roles_list b/bt5/erp5_payroll_l10n_jp/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_message_translation_list b/bt5/erp5_payroll_l10n_jp/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_module_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_base_category_list b/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_property_sheet_list b/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_role_list b/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_roles_list b/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_workflow_chain_list b/bt5/erp5_payroll_l10n_jp/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_preference_list b/bt5/erp5_payroll_l10n_jp/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_product_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_property_sheet_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_registered_skin_selection_list b/bt5/erp5_payroll_l10n_jp/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_role_list b/bt5/erp5_payroll_l10n_jp/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_site_property_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_test_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_tool_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_workflow_id_list b/bt5/erp5_payroll_l10n_jp/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/categories_list b/bt5/erp5_payroll_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/provision_list b/bt5/erp5_payroll_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/revision b/bt5/erp5_payroll_ui_test/bt/revision
index da2d3988d7..3f10ffe7a4 100644
--- a/bt5/erp5_payroll_ui_test/bt/revision
+++ b/bt5/erp5_payroll_ui_test/bt/revision
@@ -1 +1 @@
-14
\ No newline at end of file
+15
\ No newline at end of file
diff --git a/bt5/erp5_payroll_ui_test/bt/template_action_path_list b/bt5/erp5_payroll_ui_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_base_category_list b/bt5/erp5_payroll_ui_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_payroll_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_payroll_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_payroll_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_payroll_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_payroll_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_payroll_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_payroll_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_payroll_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_payroll_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_constraint_id_list b/bt5/erp5_payroll_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_document_id_list b/bt5/erp5_payroll_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_extension_id_list b/bt5/erp5_payroll_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_local_roles_list b/bt5/erp5_payroll_ui_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_message_translation_list b/bt5/erp5_payroll_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_module_id_list b/bt5/erp5_payroll_ui_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_payroll_ui_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_portal_type_base_category_list b/bt5/erp5_payroll_ui_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_payroll_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_portal_type_id_list b/bt5/erp5_payroll_ui_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_payroll_ui_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_portal_type_roles_list b/bt5/erp5_payroll_ui_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_payroll_ui_test/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_preference_list b/bt5/erp5_payroll_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_product_id_list b/bt5/erp5_payroll_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_payroll_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_role_list b/bt5/erp5_payroll_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_site_property_id_list b/bt5/erp5_payroll_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_skin_id_list b/bt5/erp5_payroll_ui_test/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_test_id_list b/bt5/erp5_payroll_ui_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_payroll_ui_test/bt/template_workflow_id_list b/bt5/erp5_payroll_ui_test/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/categories_list b/bt5/erp5_pdf_editor/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/comment b/bt5/erp5_pdf_editor/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/provision_list b/bt5/erp5_pdf_editor/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/revision b/bt5/erp5_pdf_editor/bt/revision
index 1758dddcce..dc7b54ad01 100644
--- a/bt5/erp5_pdf_editor/bt/revision
+++ b/bt5/erp5_pdf_editor/bt/revision
@@ -1 +1 @@
-32
\ No newline at end of file
+33
\ No newline at end of file
diff --git a/bt5/erp5_pdf_editor/bt/template_base_category_list b/bt5/erp5_pdf_editor/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_catalog_full_text_key_list b/bt5/erp5_pdf_editor/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_catalog_keyword_key_list b/bt5/erp5_pdf_editor/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_catalog_method_id_list b/bt5/erp5_pdf_editor/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_catalog_multivalue_key_list b/bt5/erp5_pdf_editor/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_catalog_related_key_list b/bt5/erp5_pdf_editor/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_catalog_request_key_list b/bt5/erp5_pdf_editor/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_catalog_result_key_list b/bt5/erp5_pdf_editor/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_catalog_result_table_list b/bt5/erp5_pdf_editor/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_catalog_topic_key_list b/bt5/erp5_pdf_editor/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_constraint_id_list b/bt5/erp5_pdf_editor/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_document_id_list b/bt5/erp5_pdf_editor/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_extension_id_list b/bt5/erp5_pdf_editor/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_local_roles_list b/bt5/erp5_pdf_editor/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_message_translation_list b/bt5/erp5_pdf_editor/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_module_id_list b/bt5/erp5_pdf_editor/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_path_list b/bt5/erp5_pdf_editor/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_pdf_editor/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_portal_type_base_category_list b/bt5/erp5_pdf_editor/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_pdf_editor/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_portal_type_id_list b/bt5/erp5_pdf_editor/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_portal_type_property_sheet_list b/bt5/erp5_pdf_editor/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_portal_type_roles_list b/bt5/erp5_pdf_editor/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_portal_type_workflow_chain_list b/bt5/erp5_pdf_editor/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_preference_list b/bt5/erp5_pdf_editor/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_product_id_list b/bt5/erp5_pdf_editor/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_property_sheet_id_list b/bt5/erp5_pdf_editor/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_role_list b/bt5/erp5_pdf_editor/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_site_property_id_list b/bt5/erp5_pdf_editor/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_test_id_list b/bt5/erp5_pdf_editor/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_tool_id_list b/bt5/erp5_pdf_editor/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_editor/bt/template_workflow_id_list b/bt5/erp5_pdf_editor/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/categories_list b/bt5/erp5_pdf_style/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/comment b/bt5/erp5_pdf_style/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/dependency_list b/bt5/erp5_pdf_style/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/provision_list b/bt5/erp5_pdf_style/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/revision b/bt5/erp5_pdf_style/bt/revision
index e77a96349c..0aeb548544 100644
--- a/bt5/erp5_pdf_style/bt/revision
+++ b/bt5/erp5_pdf_style/bt/revision
@@ -1 +1 @@
-73
\ No newline at end of file
+74
\ No newline at end of file
diff --git a/bt5/erp5_pdf_style/bt/template_base_category_list b/bt5/erp5_pdf_style/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_datetime_key_list b/bt5/erp5_pdf_style/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_full_text_key_list b/bt5/erp5_pdf_style/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_keyword_key_list b/bt5/erp5_pdf_style/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_local_role_key_list b/bt5/erp5_pdf_style/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_method_id_list b/bt5/erp5_pdf_style/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_multivalue_key_list b/bt5/erp5_pdf_style/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_related_key_list b/bt5/erp5_pdf_style/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_request_key_list b/bt5/erp5_pdf_style/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_result_key_list b/bt5/erp5_pdf_style/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_result_table_list b/bt5/erp5_pdf_style/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_role_key_list b/bt5/erp5_pdf_style/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_scriptable_key_list b/bt5/erp5_pdf_style/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_catalog_topic_key_list b/bt5/erp5_pdf_style/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_constraint_id_list b/bt5/erp5_pdf_style/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_document_id_list b/bt5/erp5_pdf_style/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_extension_id_list b/bt5/erp5_pdf_style/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_local_roles_list b/bt5/erp5_pdf_style/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_message_translation_list b/bt5/erp5_pdf_style/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_module_id_list b/bt5/erp5_pdf_style/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_path_list b/bt5/erp5_pdf_style/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_pdf_style/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_portal_type_base_category_list b/bt5/erp5_pdf_style/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_pdf_style/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_portal_type_id_list b/bt5/erp5_pdf_style/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_portal_type_property_sheet_list b/bt5/erp5_pdf_style/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_portal_type_roles_list b/bt5/erp5_pdf_style/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_portal_type_workflow_chain_list b/bt5/erp5_pdf_style/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_preference_list b/bt5/erp5_pdf_style/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_product_id_list b/bt5/erp5_pdf_style/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_property_sheet_id_list b/bt5/erp5_pdf_style/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_role_list b/bt5/erp5_pdf_style/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_site_property_id_list b/bt5/erp5_pdf_style/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_test_id_list b/bt5/erp5_pdf_style/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_tool_id_list b/bt5/erp5_pdf_style/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdf_style/bt/template_workflow_id_list b/bt5/erp5_pdf_style/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/categories_list b/bt5/erp5_pdm/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/provision_list b/bt5/erp5_pdm/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/revision b/bt5/erp5_pdm/bt/revision
index 4f95481351..c047c4aba9 100644
--- a/bt5/erp5_pdm/bt/revision
+++ b/bt5/erp5_pdm/bt/revision
@@ -1 +1 @@
-517
\ No newline at end of file
+518
\ No newline at end of file
diff --git a/bt5/erp5_pdm/bt/template_catalog_datetime_key_list b/bt5/erp5_pdm/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_full_text_key_list b/bt5/erp5_pdm/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_keyword_key_list b/bt5/erp5_pdm/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_local_role_key_list b/bt5/erp5_pdm/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_method_id_list b/bt5/erp5_pdm/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_multivalue_key_list b/bt5/erp5_pdm/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_related_key_list b/bt5/erp5_pdm/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_request_key_list b/bt5/erp5_pdm/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_result_key_list b/bt5/erp5_pdm/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_result_table_list b/bt5/erp5_pdm/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_role_key_list b/bt5/erp5_pdm/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_scriptable_key_list b/bt5/erp5_pdm/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_catalog_topic_key_list b/bt5/erp5_pdm/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_constraint_id_list b/bt5/erp5_pdm/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_document_id_list b/bt5/erp5_pdm/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_extension_id_list b/bt5/erp5_pdm/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_local_role_list b/bt5/erp5_pdm/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_local_roles_list b/bt5/erp5_pdm/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_message_translation_list b/bt5/erp5_pdm/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_path_list b/bt5/erp5_pdm/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_portal_type_role_list b/bt5/erp5_pdm/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_portal_type_roles_list b/bt5/erp5_pdm/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_preference_list b/bt5/erp5_pdm/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_product_id_list b/bt5/erp5_pdm/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_property_sheet_id_list b/bt5/erp5_pdm/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_registered_skin_selection_list b/bt5/erp5_pdm/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_role_list b/bt5/erp5_pdm/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_site_property_id_list b/bt5/erp5_pdm/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_test_id_list b/bt5/erp5_pdm/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm/bt/template_tool_id_list b/bt5/erp5_pdm/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/categories_list b/bt5/erp5_pdm_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/comment b/bt5/erp5_pdm_ui_test/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/provision_list b/bt5/erp5_pdm_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/revision b/bt5/erp5_pdm_ui_test/bt/revision
index 368f89ceef..d99e90eb96 100644
--- a/bt5/erp5_pdm_ui_test/bt/revision
+++ b/bt5/erp5_pdm_ui_test/bt/revision
@@ -1 +1 @@
-28
\ No newline at end of file
+29
\ No newline at end of file
diff --git a/bt5/erp5_pdm_ui_test/bt/template_action_path_list b/bt5/erp5_pdm_ui_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_base_category_list b/bt5/erp5_pdm_ui_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_datetime_key_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_local_role_key_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_role_key_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_pdm_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_constraint_id_list b/bt5/erp5_pdm_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_document_id_list b/bt5/erp5_pdm_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_extension_id_list b/bt5/erp5_pdm_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_local_role_list b/bt5/erp5_pdm_ui_test/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_local_roles_list b/bt5/erp5_pdm_ui_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_message_translation_list b/bt5/erp5_pdm_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_module_id_list b/bt5/erp5_pdm_ui_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_pdm_ui_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_portal_type_base_category_list b/bt5/erp5_pdm_ui_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_pdm_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_portal_type_id_list b/bt5/erp5_pdm_ui_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_pdm_ui_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_portal_type_role_list b/bt5/erp5_pdm_ui_test/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_portal_type_roles_list b/bt5/erp5_pdm_ui_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_pdm_ui_test/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_preference_list b/bt5/erp5_pdm_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_product_id_list b/bt5/erp5_pdm_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_pdm_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_registered_skin_selection_list b/bt5/erp5_pdm_ui_test/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_role_list b/bt5/erp5_pdm_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_site_property_id_list b/bt5/erp5_pdm_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_test_id_list b/bt5/erp5_pdm_ui_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_tool_id_list b/bt5/erp5_pdm_ui_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_pdm_ui_test/bt/template_workflow_id_list b/bt5/erp5_pdm_ui_test/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/categories_list b/bt5/erp5_popup_ui/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/comment b/bt5/erp5_popup_ui/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/provision_list b/bt5/erp5_popup_ui/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/revision b/bt5/erp5_popup_ui/bt/revision
index 19c7bdba7b..8e2afd3427 100644
--- a/bt5/erp5_popup_ui/bt/revision
+++ b/bt5/erp5_popup_ui/bt/revision
@@ -1 +1 @@
-16
\ No newline at end of file
+17
\ No newline at end of file
diff --git a/bt5/erp5_popup_ui/bt/template_action_path_list b/bt5/erp5_popup_ui/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_base_category_list b/bt5/erp5_popup_ui/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_datetime_key_list b/bt5/erp5_popup_ui/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_full_text_key_list b/bt5/erp5_popup_ui/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_keyword_key_list b/bt5/erp5_popup_ui/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_local_role_key_list b/bt5/erp5_popup_ui/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_method_id_list b/bt5/erp5_popup_ui/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_multivalue_key_list b/bt5/erp5_popup_ui/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_related_key_list b/bt5/erp5_popup_ui/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_request_key_list b/bt5/erp5_popup_ui/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_result_key_list b/bt5/erp5_popup_ui/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_result_table_list b/bt5/erp5_popup_ui/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_role_key_list b/bt5/erp5_popup_ui/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_scriptable_key_list b/bt5/erp5_popup_ui/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_catalog_topic_key_list b/bt5/erp5_popup_ui/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_constraint_id_list b/bt5/erp5_popup_ui/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_document_id_list b/bt5/erp5_popup_ui/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_extension_id_list b/bt5/erp5_popup_ui/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_local_role_list b/bt5/erp5_popup_ui/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_local_roles_list b/bt5/erp5_popup_ui/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_message_translation_list b/bt5/erp5_popup_ui/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_module_id_list b/bt5/erp5_popup_ui/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_path_list b/bt5/erp5_popup_ui/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_popup_ui/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_portal_type_base_category_list b/bt5/erp5_popup_ui/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_popup_ui/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_portal_type_id_list b/bt5/erp5_popup_ui/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_portal_type_property_sheet_list b/bt5/erp5_popup_ui/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_portal_type_role_list b/bt5/erp5_popup_ui/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_portal_type_roles_list b/bt5/erp5_popup_ui/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_portal_type_workflow_chain_list b/bt5/erp5_popup_ui/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_preference_list b/bt5/erp5_popup_ui/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_product_id_list b/bt5/erp5_popup_ui/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_property_sheet_id_list b/bt5/erp5_popup_ui/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_role_list b/bt5/erp5_popup_ui/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_site_property_id_list b/bt5/erp5_popup_ui/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_test_id_list b/bt5/erp5_popup_ui/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_tool_id_list b/bt5/erp5_popup_ui/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_popup_ui/bt/template_workflow_id_list b/bt5/erp5_popup_ui/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/categories_list b/bt5/erp5_project/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/comment b/bt5/erp5_project/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/provision_list b/bt5/erp5_project/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/revision b/bt5/erp5_project/bt/revision
index fc0b67d079..7392849d54 100644
--- a/bt5/erp5_project/bt/revision
+++ b/bt5/erp5_project/bt/revision
@@ -1 +1 @@
-774
\ No newline at end of file
+775
\ No newline at end of file
diff --git a/bt5/erp5_project/bt/template_catalog_datetime_key_list b/bt5/erp5_project/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_catalog_full_text_key_list b/bt5/erp5_project/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_catalog_keyword_key_list b/bt5/erp5_project/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_catalog_local_role_key_list b/bt5/erp5_project/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_catalog_multivalue_key_list b/bt5/erp5_project/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_catalog_request_key_list b/bt5/erp5_project/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_catalog_result_key_list b/bt5/erp5_project/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_catalog_result_table_list b/bt5/erp5_project/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_catalog_role_key_list b/bt5/erp5_project/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_catalog_scriptable_key_list b/bt5/erp5_project/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_catalog_topic_key_list b/bt5/erp5_project/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_constraint_id_list b/bt5/erp5_project/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_document_id_list b/bt5/erp5_project/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_extension_id_list b/bt5/erp5_project/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_local_role_list b/bt5/erp5_project/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_local_roles_list b/bt5/erp5_project/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_message_translation_list b/bt5/erp5_project/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_portal_type_role_list b/bt5/erp5_project/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_portal_type_roles_list b/bt5/erp5_project/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_preference_list b/bt5/erp5_project/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_product_id_list b/bt5/erp5_project/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_registered_skin_selection_list b/bt5/erp5_project/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_role_list b/bt5/erp5_project/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_site_property_id_list b/bt5/erp5_project/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_test_id_list b/bt5/erp5_project/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project/bt/template_tool_id_list b/bt5/erp5_project/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/categories_list b/bt5/erp5_project_mysql_innodb_catalog/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/comment b/bt5/erp5_project_mysql_innodb_catalog/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/dependency_list b/bt5/erp5_project_mysql_innodb_catalog/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/revision b/bt5/erp5_project_mysql_innodb_catalog/bt/revision
index 8e2afd3427..25bf17fc5a 100644
--- a/bt5/erp5_project_mysql_innodb_catalog/bt/revision
+++ b/bt5/erp5_project_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_action_path_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_base_category_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_datetime_key_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_full_text_key_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_keyword_key_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_local_role_key_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_related_key_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_request_key_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_result_key_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_role_key_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_topic_key_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_constraint_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_document_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_extension_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_local_role_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_local_roles_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_message_translation_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_module_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_path_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_base_category_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_role_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_roles_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_preference_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_product_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_property_sheet_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_registered_skin_selection_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_role_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_site_property_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_skin_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_test_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_tool_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_workflow_id_list b/bt5/erp5_project_mysql_innodb_catalog/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/categories_list b/bt5/erp5_project_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/provision_list b/bt5/erp5_project_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/revision b/bt5/erp5_project_ui_test/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_project_ui_test/bt/revision
+++ b/bt5/erp5_project_ui_test/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_project_ui_test/bt/template_action_path_list b/bt5/erp5_project_ui_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_base_category_list b/bt5/erp5_project_ui_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_datetime_key_list b/bt5/erp5_project_ui_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_project_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_project_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_local_role_key_list b/bt5/erp5_project_ui_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_project_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_project_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_project_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_project_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_project_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_project_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_role_key_list b/bt5/erp5_project_ui_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_project_ui_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_project_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_constraint_id_list b/bt5/erp5_project_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_document_id_list b/bt5/erp5_project_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_extension_id_list b/bt5/erp5_project_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_local_role_list b/bt5/erp5_project_ui_test/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_local_roles_list b/bt5/erp5_project_ui_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_message_translation_list b/bt5/erp5_project_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_module_id_list b/bt5/erp5_project_ui_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_project_ui_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_portal_type_base_category_list b/bt5/erp5_project_ui_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_project_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_portal_type_id_list b/bt5/erp5_project_ui_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_project_ui_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_portal_type_role_list b/bt5/erp5_project_ui_test/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_portal_type_roles_list b/bt5/erp5_project_ui_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_project_ui_test/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_preference_list b/bt5/erp5_project_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_product_id_list b/bt5/erp5_project_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_project_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_registered_skin_selection_list b/bt5/erp5_project_ui_test/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_role_list b/bt5/erp5_project_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_site_property_id_list b/bt5/erp5_project_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_test_id_list b/bt5/erp5_project_ui_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_tool_id_list b/bt5/erp5_project_ui_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_project_ui_test/bt/template_workflow_id_list b/bt5/erp5_project_ui_test/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/categories_list b/bt5/erp5_public_accounting_budget/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/comment b/bt5/erp5_public_accounting_budget/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/provision_list b/bt5/erp5_public_accounting_budget/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/revision b/bt5/erp5_public_accounting_budget/bt/revision
index c7930257df..301160a930 100644
--- a/bt5/erp5_public_accounting_budget/bt/revision
+++ b/bt5/erp5_public_accounting_budget/bt/revision
@@ -1 +1 @@
-7
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_datetime_key_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_full_text_key_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_keyword_key_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_local_role_key_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_method_id_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_multivalue_key_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_related_key_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_request_key_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_result_key_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_result_table_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_role_key_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_scriptable_key_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_catalog_topic_key_list b/bt5/erp5_public_accounting_budget/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_constraint_id_list b/bt5/erp5_public_accounting_budget/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_document_id_list b/bt5/erp5_public_accounting_budget/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_extension_id_list b/bt5/erp5_public_accounting_budget/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_local_roles_list b/bt5/erp5_public_accounting_budget/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_message_translation_list b/bt5/erp5_public_accounting_budget/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_module_id_list b/bt5/erp5_public_accounting_budget/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_public_accounting_budget/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_public_accounting_budget/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_portal_type_id_list b/bt5/erp5_public_accounting_budget/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_portal_type_property_sheet_list b/bt5/erp5_public_accounting_budget/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_portal_type_roles_list b/bt5/erp5_public_accounting_budget/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_portal_type_workflow_chain_list b/bt5/erp5_public_accounting_budget/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_preference_list b/bt5/erp5_public_accounting_budget/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_product_id_list b/bt5/erp5_public_accounting_budget/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_property_sheet_id_list b/bt5/erp5_public_accounting_budget/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_role_list b/bt5/erp5_public_accounting_budget/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_site_property_id_list b/bt5/erp5_public_accounting_budget/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_test_id_list b/bt5/erp5_public_accounting_budget/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_tool_id_list b/bt5/erp5_public_accounting_budget/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_public_accounting_budget/bt/template_workflow_id_list b/bt5/erp5_public_accounting_budget/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/categories_list b/bt5/erp5_publication/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/comment b/bt5/erp5_publication/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/dependency_list b/bt5/erp5_publication/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/provision_list b/bt5/erp5_publication/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/revision b/bt5/erp5_publication/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_publication/bt/revision
+++ b/bt5/erp5_publication/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_publication/bt/template_action_path_list b/bt5/erp5_publication/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_base_category_list b/bt5/erp5_publication/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_datetime_key_list b/bt5/erp5_publication/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_full_text_key_list b/bt5/erp5_publication/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_keyword_key_list b/bt5/erp5_publication/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_local_role_key_list b/bt5/erp5_publication/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_method_id_list b/bt5/erp5_publication/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_multivalue_key_list b/bt5/erp5_publication/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_related_key_list b/bt5/erp5_publication/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_request_key_list b/bt5/erp5_publication/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_result_key_list b/bt5/erp5_publication/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_result_table_list b/bt5/erp5_publication/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_role_key_list b/bt5/erp5_publication/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_scriptable_key_list b/bt5/erp5_publication/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_catalog_topic_key_list b/bt5/erp5_publication/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_constraint_id_list b/bt5/erp5_publication/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_document_id_list b/bt5/erp5_publication/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_extension_id_list b/bt5/erp5_publication/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_local_roles_list b/bt5/erp5_publication/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_message_translation_list b/bt5/erp5_publication/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_path_list b/bt5/erp5_publication/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_publication/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_portal_type_base_category_list b/bt5/erp5_publication/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_publication/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_portal_type_property_sheet_list b/bt5/erp5_publication/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_portal_type_roles_list b/bt5/erp5_publication/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_preference_list b/bt5/erp5_publication/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_product_id_list b/bt5/erp5_publication/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_property_sheet_id_list b/bt5/erp5_publication/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_role_list b/bt5/erp5_publication/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_site_property_id_list b/bt5/erp5_publication/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_test_id_list b/bt5/erp5_publication/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_publication/bt/template_tool_id_list b/bt5/erp5_publication/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/categories_list b/bt5/erp5_registry_ohada/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/comment b/bt5/erp5_registry_ohada/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/provision_list b/bt5/erp5_registry_ohada/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/revision b/bt5/erp5_registry_ohada/bt/revision
index e8a5c90ae0..086d92f2e1 100644
--- a/bt5/erp5_registry_ohada/bt/revision
+++ b/bt5/erp5_registry_ohada/bt/revision
@@ -1 +1 @@
-928
\ No newline at end of file
+929
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada/bt/template_base_category_list b/bt5/erp5_registry_ohada/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_datetime_key_list b/bt5/erp5_registry_ohada/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_full_text_key_list b/bt5/erp5_registry_ohada/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_keyword_key_list b/bt5/erp5_registry_ohada/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_local_role_key_list b/bt5/erp5_registry_ohada/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_method_id_list b/bt5/erp5_registry_ohada/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_multivalue_key_list b/bt5/erp5_registry_ohada/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_related_key_list b/bt5/erp5_registry_ohada/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_request_key_list b/bt5/erp5_registry_ohada/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_result_key_list b/bt5/erp5_registry_ohada/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_result_table_list b/bt5/erp5_registry_ohada/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_role_key_list b/bt5/erp5_registry_ohada/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_scriptable_key_list b/bt5/erp5_registry_ohada/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_catalog_topic_key_list b/bt5/erp5_registry_ohada/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_constraint_id_list b/bt5/erp5_registry_ohada/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_local_roles_list b/bt5/erp5_registry_ohada/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_message_translation_list b/bt5/erp5_registry_ohada/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_path_list b/bt5/erp5_registry_ohada/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_portal_type_roles_list b/bt5/erp5_registry_ohada/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_preference_list b/bt5/erp5_registry_ohada/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_product_id_list b/bt5/erp5_registry_ohada/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_role_list b/bt5/erp5_registry_ohada/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_site_property_id_list b/bt5/erp5_registry_ohada/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_test_id_list b/bt5/erp5_registry_ohada/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada/bt/template_tool_id_list b/bt5/erp5_registry_ohada/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/categories_list b/bt5/erp5_registry_ohada_l10n_fr/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/comment b/bt5/erp5_registry_ohada_l10n_fr/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/maintainer_list b/bt5/erp5_registry_ohada_l10n_fr/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/provision_list b/bt5/erp5_registry_ohada_l10n_fr/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/revision b/bt5/erp5_registry_ohada_l10n_fr/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_registry_ohada_l10n_fr/bt/revision
+++ b/bt5/erp5_registry_ohada_l10n_fr/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_action_path_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_base_category_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_datetime_key_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_full_text_key_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_keyword_key_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_local_role_key_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_method_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_multivalue_key_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_related_key_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_request_key_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_result_key_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_result_table_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_role_key_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_scriptable_key_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_topic_key_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_constraint_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_document_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_extension_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_local_roles_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_module_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_path_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_base_category_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_property_sheet_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_roles_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_workflow_chain_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_preference_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_product_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_property_sheet_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_role_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_site_property_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_skin_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_test_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_tool_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_workflow_id_list b/bt5/erp5_registry_ohada_l10n_fr/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/categories_list b/bt5/erp5_rss_reader/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/provision_list b/bt5/erp5_rss_reader/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/revision b/bt5/erp5_rss_reader/bt/revision
index 3960544522..c5a644422f 100644
--- a/bt5/erp5_rss_reader/bt/revision
+++ b/bt5/erp5_rss_reader/bt/revision
@@ -1 +1 @@
-220
\ No newline at end of file
+221
\ No newline at end of file
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_datetime_key_list b/bt5/erp5_rss_reader/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_full_text_key_list b/bt5/erp5_rss_reader/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_keyword_key_list b/bt5/erp5_rss_reader/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_local_role_key_list b/bt5/erp5_rss_reader/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_method_id_list b/bt5/erp5_rss_reader/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_multivalue_key_list b/bt5/erp5_rss_reader/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_related_key_list b/bt5/erp5_rss_reader/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_request_key_list b/bt5/erp5_rss_reader/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_result_key_list b/bt5/erp5_rss_reader/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_result_table_list b/bt5/erp5_rss_reader/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_role_key_list b/bt5/erp5_rss_reader/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_scriptable_key_list b/bt5/erp5_rss_reader/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_catalog_topic_key_list b/bt5/erp5_rss_reader/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_constraint_id_list b/bt5/erp5_rss_reader/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_document_id_list b/bt5/erp5_rss_reader/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_local_roles_list b/bt5/erp5_rss_reader/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_message_translation_list b/bt5/erp5_rss_reader/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_module_id_list b/bt5/erp5_rss_reader/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_portal_type_base_category_list b/bt5/erp5_rss_reader/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_rss_reader/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_portal_type_roles_list b/bt5/erp5_rss_reader/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_preference_list b/bt5/erp5_rss_reader/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_product_id_list b/bt5/erp5_rss_reader/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_role_list b/bt5/erp5_rss_reader/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_site_property_id_list b/bt5/erp5_rss_reader/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_test_id_list b/bt5/erp5_rss_reader/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_tool_id_list b/bt5/erp5_rss_reader/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_reader/bt/template_workflow_id_list b/bt5/erp5_rss_reader/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/categories_list b/bt5/erp5_rss_style/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/comment b/bt5/erp5_rss_style/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/dependency_list b/bt5/erp5_rss_style/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/provision_list b/bt5/erp5_rss_style/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/revision b/bt5/erp5_rss_style/bt/revision
index abc4eff6ac..801f180102 100644
--- a/bt5/erp5_rss_style/bt/revision
+++ b/bt5/erp5_rss_style/bt/revision
@@ -1 +1 @@
-46
\ No newline at end of file
+47
\ No newline at end of file
diff --git a/bt5/erp5_rss_style/bt/template_action_path_list b/bt5/erp5_rss_style/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_base_category_list b/bt5/erp5_rss_style/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_datetime_key_list b/bt5/erp5_rss_style/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_full_text_key_list b/bt5/erp5_rss_style/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_keyword_key_list b/bt5/erp5_rss_style/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_local_role_key_list b/bt5/erp5_rss_style/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_method_id_list b/bt5/erp5_rss_style/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_multivalue_key_list b/bt5/erp5_rss_style/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_related_key_list b/bt5/erp5_rss_style/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_request_key_list b/bt5/erp5_rss_style/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_result_key_list b/bt5/erp5_rss_style/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_result_table_list b/bt5/erp5_rss_style/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_role_key_list b/bt5/erp5_rss_style/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_scriptable_key_list b/bt5/erp5_rss_style/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_catalog_topic_key_list b/bt5/erp5_rss_style/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_constraint_id_list b/bt5/erp5_rss_style/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_document_id_list b/bt5/erp5_rss_style/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_extension_id_list b/bt5/erp5_rss_style/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_local_role_list b/bt5/erp5_rss_style/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_local_roles_list b/bt5/erp5_rss_style/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_message_translation_list b/bt5/erp5_rss_style/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_module_id_list b/bt5/erp5_rss_style/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_path_list b/bt5/erp5_rss_style/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_rss_style/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_portal_type_base_category_list b/bt5/erp5_rss_style/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_rss_style/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_portal_type_id_list b/bt5/erp5_rss_style/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_portal_type_property_sheet_list b/bt5/erp5_rss_style/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_portal_type_role_list b/bt5/erp5_rss_style/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_portal_type_roles_list b/bt5/erp5_rss_style/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_portal_type_workflow_chain_list b/bt5/erp5_rss_style/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_preference_list b/bt5/erp5_rss_style/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_product_id_list b/bt5/erp5_rss_style/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_property_sheet_id_list b/bt5/erp5_rss_style/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_role_list b/bt5/erp5_rss_style/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_site_property_id_list b/bt5/erp5_rss_style/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_test_id_list b/bt5/erp5_rss_style/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_tool_id_list b/bt5/erp5_rss_style/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_rss_style/bt/template_workflow_id_list b/bt5/erp5_rss_style/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/categories_list b/bt5/erp5_simplified_invoicing/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/comment b/bt5/erp5_simplified_invoicing/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/provision_list b/bt5/erp5_simplified_invoicing/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/revision b/bt5/erp5_simplified_invoicing/bt/revision
index 6139554210..8783e30511 100644
--- a/bt5/erp5_simplified_invoicing/bt/revision
+++ b/bt5/erp5_simplified_invoicing/bt/revision
@@ -1 +1 @@
-52
\ No newline at end of file
+53
\ No newline at end of file
diff --git a/bt5/erp5_simplified_invoicing/bt/template_base_category_list b/bt5/erp5_simplified_invoicing/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_datetime_key_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_full_text_key_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_keyword_key_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_local_role_key_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_method_id_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_multivalue_key_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_related_key_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_request_key_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_result_key_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_result_table_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_role_key_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_scriptable_key_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_catalog_topic_key_list b/bt5/erp5_simplified_invoicing/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_constraint_id_list b/bt5/erp5_simplified_invoicing/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_document_id_list b/bt5/erp5_simplified_invoicing/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_extension_id_list b/bt5/erp5_simplified_invoicing/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_local_role_list b/bt5/erp5_simplified_invoicing/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_local_roles_list b/bt5/erp5_simplified_invoicing/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_message_translation_list b/bt5/erp5_simplified_invoicing/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_module_id_list b/bt5/erp5_simplified_invoicing/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_simplified_invoicing/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_portal_type_id_list b/bt5/erp5_simplified_invoicing/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_portal_type_property_sheet_list b/bt5/erp5_simplified_invoicing/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_portal_type_role_list b/bt5/erp5_simplified_invoicing/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_portal_type_roles_list b/bt5/erp5_simplified_invoicing/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_portal_type_workflow_chain_list b/bt5/erp5_simplified_invoicing/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_preference_list b/bt5/erp5_simplified_invoicing/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_product_id_list b/bt5/erp5_simplified_invoicing/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_property_sheet_id_list b/bt5/erp5_simplified_invoicing/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_registered_skin_selection_list b/bt5/erp5_simplified_invoicing/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_role_list b/bt5/erp5_simplified_invoicing/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_site_property_id_list b/bt5/erp5_simplified_invoicing/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_test_id_list b/bt5/erp5_simplified_invoicing/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_tool_id_list b/bt5/erp5_simplified_invoicing/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simplified_invoicing/bt/template_workflow_id_list b/bt5/erp5_simplified_invoicing/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/categories_list b/bt5/erp5_simulation/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/copyright_list b/bt5/erp5_simulation/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/maintainer_list b/bt5/erp5_simulation/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/provision_list b/bt5/erp5_simulation/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/revision b/bt5/erp5_simulation/bt/revision
index b5db9c417a..c2807f7f3c 100644
--- a/bt5/erp5_simulation/bt/revision
+++ b/bt5/erp5_simulation/bt/revision
@@ -1 +1 @@
-139
\ No newline at end of file
+140
\ No newline at end of file
diff --git a/bt5/erp5_simulation/bt/template_base_category_list b/bt5/erp5_simulation/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_datetime_key_list b/bt5/erp5_simulation/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_full_text_key_list b/bt5/erp5_simulation/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_keyword_key_list b/bt5/erp5_simulation/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_local_role_key_list b/bt5/erp5_simulation/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_method_id_list b/bt5/erp5_simulation/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_multivalue_key_list b/bt5/erp5_simulation/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_related_key_list b/bt5/erp5_simulation/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_request_key_list b/bt5/erp5_simulation/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_result_key_list b/bt5/erp5_simulation/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_result_table_list b/bt5/erp5_simulation/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_role_key_list b/bt5/erp5_simulation/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_scriptable_key_list b/bt5/erp5_simulation/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_catalog_topic_key_list b/bt5/erp5_simulation/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_constraint_id_list b/bt5/erp5_simulation/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_extension_id_list b/bt5/erp5_simulation/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_local_role_list b/bt5/erp5_simulation/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_local_roles_list b/bt5/erp5_simulation/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_message_translation_list b/bt5/erp5_simulation/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_module_id_list b/bt5/erp5_simulation/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_portal_type_base_category_list b/bt5/erp5_simulation/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_simulation/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_portal_type_property_sheet_list b/bt5/erp5_simulation/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_portal_type_role_list b/bt5/erp5_simulation/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_portal_type_roles_list b/bt5/erp5_simulation/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_preference_list b/bt5/erp5_simulation/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_product_id_list b/bt5/erp5_simulation/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_property_sheet_id_list b/bt5/erp5_simulation/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_registered_skin_selection_list b/bt5/erp5_simulation/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_role_list b/bt5/erp5_simulation/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_site_property_id_list b/bt5/erp5_simulation/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_test_id_list b/bt5/erp5_simulation/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_tool_id_list b/bt5/erp5_simulation/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation/bt/template_workflow_id_list b/bt5/erp5_simulation/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/categories_list b/bt5/erp5_simulation_performance_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/comment b/bt5/erp5_simulation_performance_test/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/provision_list b/bt5/erp5_simulation_performance_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/revision b/bt5/erp5_simulation_performance_test/bt/revision
index 25bf17fc5a..dec2bf5d61 100644
--- a/bt5/erp5_simulation_performance_test/bt/revision
+++ b/bt5/erp5_simulation_performance_test/bt/revision
@@ -1 +1 @@
-18
\ No newline at end of file
+19
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/template_action_path_list b/bt5/erp5_simulation_performance_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_base_category_list b/bt5/erp5_simulation_performance_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_datetime_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_full_text_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_keyword_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_local_role_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_method_id_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_related_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_request_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_result_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_result_table_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_role_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_search_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_catalog_topic_key_list b/bt5/erp5_simulation_performance_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_constraint_id_list b/bt5/erp5_simulation_performance_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_document_id_list b/bt5/erp5_simulation_performance_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_extension_id_list b/bt5/erp5_simulation_performance_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_local_role_list b/bt5/erp5_simulation_performance_test/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_local_roles_list b/bt5/erp5_simulation_performance_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_message_translation_list b/bt5/erp5_simulation_performance_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_module_id_list b/bt5/erp5_simulation_performance_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_base_category_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_id_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_role_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_portal_type_roles_list b/bt5/erp5_simulation_performance_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_preference_list b/bt5/erp5_simulation_performance_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_product_id_list b/bt5/erp5_simulation_performance_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_property_sheet_id_list b/bt5/erp5_simulation_performance_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_registered_skin_selection_list b/bt5/erp5_simulation_performance_test/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_role_list b/bt5/erp5_simulation_performance_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_site_property_id_list b/bt5/erp5_simulation_performance_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_test_id_list b/bt5/erp5_simulation_performance_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_simulation_performance_test/bt/template_tool_id_list b/bt5/erp5_simulation_performance_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/categories_list b/bt5/erp5_social_contracts/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/comment b/bt5/erp5_social_contracts/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/provision_list b/bt5/erp5_social_contracts/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/revision b/bt5/erp5_social_contracts/bt/revision
index 8e2afd3427..25bf17fc5a 100644
--- a/bt5/erp5_social_contracts/bt/revision
+++ b/bt5/erp5_social_contracts/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_datetime_key_list b/bt5/erp5_social_contracts/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_full_text_key_list b/bt5/erp5_social_contracts/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_keyword_key_list b/bt5/erp5_social_contracts/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_local_role_key_list b/bt5/erp5_social_contracts/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_method_id_list b/bt5/erp5_social_contracts/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_multivalue_key_list b/bt5/erp5_social_contracts/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_related_key_list b/bt5/erp5_social_contracts/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_request_key_list b/bt5/erp5_social_contracts/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_result_key_list b/bt5/erp5_social_contracts/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_result_table_list b/bt5/erp5_social_contracts/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_role_key_list b/bt5/erp5_social_contracts/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_scriptable_key_list b/bt5/erp5_social_contracts/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_catalog_topic_key_list b/bt5/erp5_social_contracts/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_constraint_id_list b/bt5/erp5_social_contracts/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_document_id_list b/bt5/erp5_social_contracts/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_extension_id_list b/bt5/erp5_social_contracts/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_local_roles_list b/bt5/erp5_social_contracts/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_message_translation_list b/bt5/erp5_social_contracts/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_social_contracts/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_portal_type_property_sheet_list b/bt5/erp5_social_contracts/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_portal_type_roles_list b/bt5/erp5_social_contracts/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_preference_list b/bt5/erp5_social_contracts/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_product_id_list b/bt5/erp5_social_contracts/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_property_sheet_id_list b/bt5/erp5_social_contracts/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_role_list b/bt5/erp5_social_contracts/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_site_property_id_list b/bt5/erp5_social_contracts/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_tool_id_list b/bt5/erp5_social_contracts/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_social_contracts/bt/template_workflow_id_list b/bt5/erp5_social_contracts/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/categories_list b/bt5/erp5_software_pdm/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/comment b/bt5/erp5_software_pdm/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/copyright_list b/bt5/erp5_software_pdm/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/provision_list b/bt5/erp5_software_pdm/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/revision b/bt5/erp5_software_pdm/bt/revision
index 8c0474e323..d7765fe47e 100644
--- a/bt5/erp5_software_pdm/bt/revision
+++ b/bt5/erp5_software_pdm/bt/revision
@@ -1 +1 @@
-69
\ No newline at end of file
+70
\ No newline at end of file
diff --git a/bt5/erp5_software_pdm/bt/template_base_category_list b/bt5/erp5_software_pdm/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_datetime_key_list b/bt5/erp5_software_pdm/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_full_text_key_list b/bt5/erp5_software_pdm/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_keyword_key_list b/bt5/erp5_software_pdm/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_local_role_key_list b/bt5/erp5_software_pdm/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_method_id_list b/bt5/erp5_software_pdm/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_multivalue_key_list b/bt5/erp5_software_pdm/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_related_key_list b/bt5/erp5_software_pdm/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_request_key_list b/bt5/erp5_software_pdm/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_result_key_list b/bt5/erp5_software_pdm/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_result_table_list b/bt5/erp5_software_pdm/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_role_key_list b/bt5/erp5_software_pdm/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_scriptable_key_list b/bt5/erp5_software_pdm/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_catalog_topic_key_list b/bt5/erp5_software_pdm/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_constraint_id_list b/bt5/erp5_software_pdm/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_extension_id_list b/bt5/erp5_software_pdm/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_local_role_list b/bt5/erp5_software_pdm/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_local_roles_list b/bt5/erp5_software_pdm/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_message_translation_list b/bt5/erp5_software_pdm/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_path_list b/bt5/erp5_software_pdm/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_portal_type_property_sheet_list b/bt5/erp5_software_pdm/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_preference_list b/bt5/erp5_software_pdm/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_product_id_list b/bt5/erp5_software_pdm/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_registered_skin_selection_list b/bt5/erp5_software_pdm/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_role_list b/bt5/erp5_software_pdm/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_site_property_id_list b/bt5/erp5_software_pdm/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_test_id_list b/bt5/erp5_software_pdm/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_tool_id_list b/bt5/erp5_software_pdm/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_software_pdm/bt/template_workflow_id_list b/bt5/erp5_software_pdm/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/categories_list b/bt5/erp5_syncml/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/change_log b/bt5/erp5_syncml/bt/change_log
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/copyright_list b/bt5/erp5_syncml/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/dependency_list b/bt5/erp5_syncml/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/description b/bt5/erp5_syncml/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/maintainer_list b/bt5/erp5_syncml/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/provision_list b/bt5/erp5_syncml/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/revision b/bt5/erp5_syncml/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/erp5_syncml/bt/revision
+++ b/bt5/erp5_syncml/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/erp5_syncml/bt/template_action_path_list b/bt5/erp5_syncml/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_base_category_list b/bt5/erp5_syncml/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_catalog_full_text_key_list b/bt5/erp5_syncml/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_catalog_keyword_key_list b/bt5/erp5_syncml/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_catalog_method_id_list b/bt5/erp5_syncml/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_catalog_multivalue_key_list b/bt5/erp5_syncml/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_catalog_related_key_list b/bt5/erp5_syncml/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_catalog_request_key_list b/bt5/erp5_syncml/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_catalog_result_key_list b/bt5/erp5_syncml/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_catalog_result_table_list b/bt5/erp5_syncml/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_catalog_topic_key_list b/bt5/erp5_syncml/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_constraint_id_list b/bt5/erp5_syncml/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_document_id_list b/bt5/erp5_syncml/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_extension_id_list b/bt5/erp5_syncml/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_local_roles_list b/bt5/erp5_syncml/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_message_translation_list b/bt5/erp5_syncml/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_module_id_list b/bt5/erp5_syncml/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_path_list b/bt5/erp5_syncml/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_syncml/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_portal_type_base_category_list b/bt5/erp5_syncml/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_syncml/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_portal_type_id_list b/bt5/erp5_syncml/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_portal_type_property_sheet_list b/bt5/erp5_syncml/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_portal_type_roles_list b/bt5/erp5_syncml/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_portal_type_workflow_chain_list b/bt5/erp5_syncml/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_preference_list b/bt5/erp5_syncml/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_product_id_list b/bt5/erp5_syncml/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_property_sheet_id_list b/bt5/erp5_syncml/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_role_list b/bt5/erp5_syncml/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_site_property_id_list b/bt5/erp5_syncml/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_test_id_list b/bt5/erp5_syncml/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_syncml/bt/template_workflow_id_list b/bt5/erp5_syncml/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/categories_list b/bt5/erp5_tax_resource/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/comment b/bt5/erp5_tax_resource/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/maintainer_list b/bt5/erp5_tax_resource/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/provision_list b/bt5/erp5_tax_resource/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/revision b/bt5/erp5_tax_resource/bt/revision
index 3cacc0b93c..ca7bf83ac5 100644
--- a/bt5/erp5_tax_resource/bt/revision
+++ b/bt5/erp5_tax_resource/bt/revision
@@ -1 +1 @@
-12
\ No newline at end of file
+13
\ No newline at end of file
diff --git a/bt5/erp5_tax_resource/bt/template_base_category_list b/bt5/erp5_tax_resource/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_datetime_key_list b/bt5/erp5_tax_resource/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_full_text_key_list b/bt5/erp5_tax_resource/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_keyword_key_list b/bt5/erp5_tax_resource/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_local_role_key_list b/bt5/erp5_tax_resource/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_method_id_list b/bt5/erp5_tax_resource/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_multivalue_key_list b/bt5/erp5_tax_resource/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_related_key_list b/bt5/erp5_tax_resource/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_request_key_list b/bt5/erp5_tax_resource/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_result_key_list b/bt5/erp5_tax_resource/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_result_table_list b/bt5/erp5_tax_resource/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_role_key_list b/bt5/erp5_tax_resource/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_scriptable_key_list b/bt5/erp5_tax_resource/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_catalog_topic_key_list b/bt5/erp5_tax_resource/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_constraint_id_list b/bt5/erp5_tax_resource/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_document_id_list b/bt5/erp5_tax_resource/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_extension_id_list b/bt5/erp5_tax_resource/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_local_role_list b/bt5/erp5_tax_resource/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_local_roles_list b/bt5/erp5_tax_resource/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_message_translation_list b/bt5/erp5_tax_resource/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_path_list b/bt5/erp5_tax_resource/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_tax_resource/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_portal_type_property_sheet_list b/bt5/erp5_tax_resource/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_portal_type_role_list b/bt5/erp5_tax_resource/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_portal_type_roles_list b/bt5/erp5_tax_resource/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_preference_list b/bt5/erp5_tax_resource/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_product_id_list b/bt5/erp5_tax_resource/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_property_sheet_id_list b/bt5/erp5_tax_resource/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_registered_skin_selection_list b/bt5/erp5_tax_resource/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_role_list b/bt5/erp5_tax_resource/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_site_property_id_list b/bt5/erp5_tax_resource/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_test_id_list b/bt5/erp5_tax_resource/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_tool_id_list b/bt5/erp5_tax_resource/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_tax_resource/bt/template_workflow_id_list b/bt5/erp5_tax_resource/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/categories_list b/bt5/erp5_trade/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/comment b/bt5/erp5_trade/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/provision_list b/bt5/erp5_trade/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision
index be9c5191bd..0272c1ec6a 100644
--- a/bt5/erp5_trade/bt/revision
+++ b/bt5/erp5_trade/bt/revision
@@ -1 +1 @@
-986
\ No newline at end of file
+987
\ No newline at end of file
diff --git a/bt5/erp5_trade/bt/template_catalog_datetime_key_list b/bt5/erp5_trade/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_full_text_key_list b/bt5/erp5_trade/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_keyword_key_list b/bt5/erp5_trade/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_local_role_key_list b/bt5/erp5_trade/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_method_id_list b/bt5/erp5_trade/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_multivalue_key_list b/bt5/erp5_trade/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_related_key_list b/bt5/erp5_trade/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_request_key_list b/bt5/erp5_trade/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_result_key_list b/bt5/erp5_trade/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_result_table_list b/bt5/erp5_trade/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_role_key_list b/bt5/erp5_trade/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_scriptable_key_list b/bt5/erp5_trade/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_search_key_list b/bt5/erp5_trade/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_catalog_topic_key_list b/bt5/erp5_trade/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_document_id_list b/bt5/erp5_trade/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_extension_id_list b/bt5/erp5_trade/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_local_role_list b/bt5/erp5_trade/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_local_roles_list b/bt5/erp5_trade/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_message_translation_list b/bt5/erp5_trade/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_portal_type_role_list b/bt5/erp5_trade/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_portal_type_roles_list b/bt5/erp5_trade/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_preference_list b/bt5/erp5_trade/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_product_id_list b/bt5/erp5_trade/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_registered_skin_selection_list b/bt5/erp5_trade/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_role_list b/bt5/erp5_trade/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_site_property_id_list b/bt5/erp5_trade/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_test_id_list b/bt5/erp5_trade/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade/bt/template_tool_id_list b/bt5/erp5_trade/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/categories_list b/bt5/erp5_trade_proxy_field_legacy/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/comment b/bt5/erp5_trade_proxy_field_legacy/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/dependency_list b/bt5/erp5_trade_proxy_field_legacy/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/provision_list b/bt5/erp5_trade_proxy_field_legacy/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/revision b/bt5/erp5_trade_proxy_field_legacy/bt/revision
index da2d3988d7..3f10ffe7a4 100644
--- a/bt5/erp5_trade_proxy_field_legacy/bt/revision
+++ b/bt5/erp5_trade_proxy_field_legacy/bt/revision
@@ -1 +1 @@
-14
\ No newline at end of file
+15
\ No newline at end of file
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_action_path_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_base_category_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_datetime_key_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_full_text_key_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_keyword_key_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_local_role_key_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_method_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_multivalue_key_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_related_key_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_request_key_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_result_key_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_result_table_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_role_key_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_scriptable_key_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_topic_key_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_constraint_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_document_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_extension_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_local_role_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_local_roles_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_message_translation_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_module_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_path_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_base_category_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_property_sheet_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_role_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_roles_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_workflow_chain_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_preference_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_product_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_property_sheet_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_registered_skin_selection_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_role_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_site_property_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_test_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_tool_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_workflow_id_list b/bt5/erp5_trade_proxy_field_legacy/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/categories_list b/bt5/erp5_trade_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/provision_list b/bt5/erp5_trade_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/revision b/bt5/erp5_trade_ui_test/bt/revision
index d8263ee986..e440e5c842 100644
--- a/bt5/erp5_trade_ui_test/bt/revision
+++ b/bt5/erp5_trade_ui_test/bt/revision
@@ -1 +1 @@
-2
\ No newline at end of file
+3
\ No newline at end of file
diff --git a/bt5/erp5_trade_ui_test/bt/template_action_path_list b/bt5/erp5_trade_ui_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_base_category_list b/bt5/erp5_trade_ui_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_datetime_key_list b/bt5/erp5_trade_ui_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_trade_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_trade_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_local_role_key_list b/bt5/erp5_trade_ui_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_trade_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_trade_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_trade_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_trade_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_trade_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_trade_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_role_key_list b/bt5/erp5_trade_ui_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_trade_ui_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_trade_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_constraint_id_list b/bt5/erp5_trade_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_document_id_list b/bt5/erp5_trade_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_extension_id_list b/bt5/erp5_trade_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_local_role_list b/bt5/erp5_trade_ui_test/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_local_roles_list b/bt5/erp5_trade_ui_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_message_translation_list b/bt5/erp5_trade_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_module_id_list b/bt5/erp5_trade_ui_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_trade_ui_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_portal_type_base_category_list b/bt5/erp5_trade_ui_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_trade_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_portal_type_id_list b/bt5/erp5_trade_ui_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_trade_ui_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_portal_type_role_list b/bt5/erp5_trade_ui_test/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_portal_type_roles_list b/bt5/erp5_trade_ui_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_trade_ui_test/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_preference_list b/bt5/erp5_trade_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_product_id_list b/bt5/erp5_trade_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_trade_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_registered_skin_selection_list b/bt5/erp5_trade_ui_test/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_role_list b/bt5/erp5_trade_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_site_property_id_list b/bt5/erp5_trade_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_test_id_list b/bt5/erp5_trade_ui_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_tool_id_list b/bt5/erp5_trade_ui_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_trade_ui_test/bt/template_workflow_id_list b/bt5/erp5_trade_ui_test/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/categories_list b/bt5/erp5_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/comment b/bt5/erp5_ui_test/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/provision_list b/bt5/erp5_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/revision b/bt5/erp5_ui_test/bt/revision
index 5156988895..a0d1ef1a02 100644
--- a/bt5/erp5_ui_test/bt/revision
+++ b/bt5/erp5_ui_test/bt/revision
@@ -1 +1 @@
-619
\ No newline at end of file
+620
\ No newline at end of file
diff --git a/bt5/erp5_ui_test/bt/template_catalog_datetime_key_list b/bt5/erp5_ui_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_local_role_key_list b/bt5/erp5_ui_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_role_key_list b/bt5/erp5_ui_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_ui_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_constraint_id_list b/bt5/erp5_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_document_id_list b/bt5/erp5_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_extension_id_list b/bt5/erp5_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_local_role_list b/bt5/erp5_ui_test/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_local_roles_list b/bt5/erp5_ui_test/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_message_translation_list b/bt5/erp5_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_portal_type_role_list b/bt5/erp5_ui_test/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_portal_type_roles_list b/bt5/erp5_ui_test/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_preference_list b/bt5/erp5_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_product_id_list b/bt5/erp5_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_registered_skin_selection_list b/bt5/erp5_ui_test/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_role_list b/bt5/erp5_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_site_property_id_list b/bt5/erp5_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_test_id_list b/bt5/erp5_ui_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test/bt/template_tool_id_list b/bt5/erp5_ui_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/categories_list b/bt5/erp5_ui_test_core/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/comment b/bt5/erp5_ui_test_core/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/provision_list b/bt5/erp5_ui_test_core/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/revision b/bt5/erp5_ui_test_core/bt/revision
index c24b6ae77d..72f523f36e 100644
--- a/bt5/erp5_ui_test_core/bt/revision
+++ b/bt5/erp5_ui_test_core/bt/revision
@@ -1 +1 @@
-38
\ No newline at end of file
+39
\ No newline at end of file
diff --git a/bt5/erp5_ui_test_core/bt/template_action_path_list b/bt5/erp5_ui_test_core/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_base_category_list b/bt5/erp5_ui_test_core/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_datetime_key_list b/bt5/erp5_ui_test_core/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_full_text_key_list b/bt5/erp5_ui_test_core/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_keyword_key_list b/bt5/erp5_ui_test_core/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_local_role_key_list b/bt5/erp5_ui_test_core/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_method_id_list b/bt5/erp5_ui_test_core/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_multivalue_key_list b/bt5/erp5_ui_test_core/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_related_key_list b/bt5/erp5_ui_test_core/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_request_key_list b/bt5/erp5_ui_test_core/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_result_key_list b/bt5/erp5_ui_test_core/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_result_table_list b/bt5/erp5_ui_test_core/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_role_key_list b/bt5/erp5_ui_test_core/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_scriptable_key_list b/bt5/erp5_ui_test_core/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_catalog_topic_key_list b/bt5/erp5_ui_test_core/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_constraint_id_list b/bt5/erp5_ui_test_core/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_document_id_list b/bt5/erp5_ui_test_core/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_local_role_list b/bt5/erp5_ui_test_core/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_local_roles_list b/bt5/erp5_ui_test_core/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_message_translation_list b/bt5/erp5_ui_test_core/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_module_id_list b/bt5/erp5_ui_test_core/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_path_list b/bt5/erp5_ui_test_core/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_ui_test_core/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_portal_type_base_category_list b/bt5/erp5_ui_test_core/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_ui_test_core/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_portal_type_id_list b/bt5/erp5_ui_test_core/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_portal_type_property_sheet_list b/bt5/erp5_ui_test_core/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_portal_type_role_list b/bt5/erp5_ui_test_core/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_portal_type_roles_list b/bt5/erp5_ui_test_core/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_portal_type_workflow_chain_list b/bt5/erp5_ui_test_core/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_preference_list b/bt5/erp5_ui_test_core/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_product_id_list b/bt5/erp5_ui_test_core/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_property_sheet_id_list b/bt5/erp5_ui_test_core/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_registered_skin_selection_list b/bt5/erp5_ui_test_core/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_role_list b/bt5/erp5_ui_test_core/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_site_property_id_list b/bt5/erp5_ui_test_core/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_test_id_list b/bt5/erp5_ui_test_core/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_tool_id_list b/bt5/erp5_ui_test_core/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_ui_test_core/bt/template_workflow_id_list b/bt5/erp5_ui_test_core/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/categories_list b/bt5/erp5_upgrader/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/dependency_list b/bt5/erp5_upgrader/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/license b/bt5/erp5_upgrader/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/provision_list b/bt5/erp5_upgrader/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/revision b/bt5/erp5_upgrader/bt/revision
index 06e8971dc6..3e990b743e 100644
--- a/bt5/erp5_upgrader/bt/revision
+++ b/bt5/erp5_upgrader/bt/revision
@@ -1 +1 @@
-540
\ No newline at end of file
+541
\ No newline at end of file
diff --git a/bt5/erp5_upgrader/bt/template_action_path_list b/bt5/erp5_upgrader/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_base_category_list b/bt5/erp5_upgrader/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_datetime_key_list b/bt5/erp5_upgrader/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_full_text_key_list b/bt5/erp5_upgrader/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_keyword_key_list b/bt5/erp5_upgrader/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_local_role_key_list b/bt5/erp5_upgrader/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_method_id_list b/bt5/erp5_upgrader/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_multivalue_key_list b/bt5/erp5_upgrader/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_related_key_list b/bt5/erp5_upgrader/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_request_key_list b/bt5/erp5_upgrader/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_result_key_list b/bt5/erp5_upgrader/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_result_table_list b/bt5/erp5_upgrader/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_role_key_list b/bt5/erp5_upgrader/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_scriptable_key_list b/bt5/erp5_upgrader/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_catalog_topic_key_list b/bt5/erp5_upgrader/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_constraint_id_list b/bt5/erp5_upgrader/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_document_id_list b/bt5/erp5_upgrader/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_local_role_list b/bt5/erp5_upgrader/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_local_roles_list b/bt5/erp5_upgrader/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_message_translation_list b/bt5/erp5_upgrader/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_module_id_list b/bt5/erp5_upgrader/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_upgrader/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_portal_type_base_category_list b/bt5/erp5_upgrader/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_upgrader/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_portal_type_id_list b/bt5/erp5_upgrader/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_portal_type_property_sheet_list b/bt5/erp5_upgrader/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_portal_type_role_list b/bt5/erp5_upgrader/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_portal_type_roles_list b/bt5/erp5_upgrader/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_portal_type_workflow_chain_list b/bt5/erp5_upgrader/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_preference_list b/bt5/erp5_upgrader/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_product_id_list b/bt5/erp5_upgrader/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_property_sheet_id_list b/bt5/erp5_upgrader/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_registered_skin_selection_list b/bt5/erp5_upgrader/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_role_list b/bt5/erp5_upgrader/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_site_property_id_list b/bt5/erp5_upgrader/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_test_id_list b/bt5/erp5_upgrader/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_tool_id_list b/bt5/erp5_upgrader/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_upgrader/bt/template_workflow_id_list b/bt5/erp5_upgrader/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/categories_list b/bt5/erp5_utils/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/dependency_list b/bt5/erp5_utils/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/provision_list b/bt5/erp5_utils/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/revision b/bt5/erp5_utils/bt/revision
index 9a037142aa..9d607966b7 100644
--- a/bt5/erp5_utils/bt/revision
+++ b/bt5/erp5_utils/bt/revision
@@ -1 +1 @@
-10
\ No newline at end of file
+11
\ No newline at end of file
diff --git a/bt5/erp5_utils/bt/template_action_path_list b/bt5/erp5_utils/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_base_category_list b/bt5/erp5_utils/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_catalog_full_text_key_list b/bt5/erp5_utils/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_catalog_keyword_key_list b/bt5/erp5_utils/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_catalog_method_id_list b/bt5/erp5_utils/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_catalog_multivalue_key_list b/bt5/erp5_utils/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_catalog_related_key_list b/bt5/erp5_utils/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_catalog_request_key_list b/bt5/erp5_utils/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_catalog_result_key_list b/bt5/erp5_utils/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_catalog_result_table_list b/bt5/erp5_utils/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_catalog_topic_key_list b/bt5/erp5_utils/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_constraint_id_list b/bt5/erp5_utils/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_document_id_list b/bt5/erp5_utils/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_extension_id_list b/bt5/erp5_utils/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_local_roles_list b/bt5/erp5_utils/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_message_translation_list b/bt5/erp5_utils/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_module_id_list b/bt5/erp5_utils/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_path_list b/bt5/erp5_utils/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_utils/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_portal_type_base_category_list b/bt5/erp5_utils/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_utils/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_portal_type_id_list b/bt5/erp5_utils/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_portal_type_property_sheet_list b/bt5/erp5_utils/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_portal_type_roles_list b/bt5/erp5_utils/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_portal_type_workflow_chain_list b/bt5/erp5_utils/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_preference_list b/bt5/erp5_utils/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_product_id_list b/bt5/erp5_utils/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_property_sheet_id_list b/bt5/erp5_utils/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_role_list b/bt5/erp5_utils/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_site_property_id_list b/bt5/erp5_utils/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_test_id_list b/bt5/erp5_utils/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_utils/bt/template_workflow_id_list b/bt5/erp5_utils/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/categories_list b/bt5/erp5_web/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/comment b/bt5/erp5_web/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/provision_list b/bt5/erp5_web/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision
index 6f17eede7b..be9c5191bd 100644
--- a/bt5/erp5_web/bt/revision
+++ b/bt5/erp5_web/bt/revision
@@ -1 +1 @@
-985
\ No newline at end of file
+986
\ No newline at end of file
diff --git a/bt5/erp5_web/bt/template_catalog_datetime_key_list b/bt5/erp5_web/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_full_text_key_list b/bt5/erp5_web/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_keyword_key_list b/bt5/erp5_web/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_local_role_key_list b/bt5/erp5_web/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_method_id_list b/bt5/erp5_web/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_multivalue_key_list b/bt5/erp5_web/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_related_key_list b/bt5/erp5_web/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_request_key_list b/bt5/erp5_web/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_result_key_list b/bt5/erp5_web/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_result_table_list b/bt5/erp5_web/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_role_key_list b/bt5/erp5_web/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_scriptable_key_list b/bt5/erp5_web/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_search_key_list b/bt5/erp5_web/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_catalog_topic_key_list b/bt5/erp5_web/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_constraint_id_list b/bt5/erp5_web/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_document_id_list b/bt5/erp5_web/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_extension_id_list b/bt5/erp5_web/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_local_role_list b/bt5/erp5_web/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_local_roles_list b/bt5/erp5_web/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_message_translation_list b/bt5/erp5_web/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_web/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_portal_type_role_list b/bt5/erp5_web/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_portal_type_roles_list b/bt5/erp5_web/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_preference_list b/bt5/erp5_web/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_product_id_list b/bt5/erp5_web/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_property_sheet_id_list b/bt5/erp5_web/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_registered_skin_selection_list b/bt5/erp5_web/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_role_list b/bt5/erp5_web/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_site_property_id_list b/bt5/erp5_web/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web/bt/template_test_id_list b/bt5/erp5_web/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/categories_list b/bt5/erp5_web_blog/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/change_log b/bt5/erp5_web_blog/bt/change_log
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/copyright_list b/bt5/erp5_web_blog/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/provision_list b/bt5/erp5_web_blog/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/revision b/bt5/erp5_web_blog/bt/revision
index c24b6ae77d..72f523f36e 100644
--- a/bt5/erp5_web_blog/bt/revision
+++ b/bt5/erp5_web_blog/bt/revision
@@ -1 +1 @@
-38
\ No newline at end of file
+39
\ No newline at end of file
diff --git a/bt5/erp5_web_blog/bt/template_action_path_list b/bt5/erp5_web_blog/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_base_category_list b/bt5/erp5_web_blog/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_datetime_key_list b/bt5/erp5_web_blog/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_full_text_key_list b/bt5/erp5_web_blog/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_keyword_key_list b/bt5/erp5_web_blog/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_local_role_key_list b/bt5/erp5_web_blog/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_method_id_list b/bt5/erp5_web_blog/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_multivalue_key_list b/bt5/erp5_web_blog/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_related_key_list b/bt5/erp5_web_blog/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_request_key_list b/bt5/erp5_web_blog/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_result_key_list b/bt5/erp5_web_blog/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_result_table_list b/bt5/erp5_web_blog/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_role_key_list b/bt5/erp5_web_blog/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_scriptable_key_list b/bt5/erp5_web_blog/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_catalog_topic_key_list b/bt5/erp5_web_blog/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_constraint_id_list b/bt5/erp5_web_blog/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_document_id_list b/bt5/erp5_web_blog/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_extension_id_list b/bt5/erp5_web_blog/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_local_role_list b/bt5/erp5_web_blog/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_local_roles_list b/bt5/erp5_web_blog/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_message_translation_list b/bt5/erp5_web_blog/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_module_id_list b/bt5/erp5_web_blog/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_path_list b/bt5/erp5_web_blog/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_web_blog/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_portal_type_base_category_list b/bt5/erp5_web_blog/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_web_blog/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_portal_type_id_list b/bt5/erp5_web_blog/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_portal_type_property_sheet_list b/bt5/erp5_web_blog/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_portal_type_role_list b/bt5/erp5_web_blog/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_portal_type_roles_list b/bt5/erp5_web_blog/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_portal_type_workflow_chain_list b/bt5/erp5_web_blog/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_preference_list b/bt5/erp5_web_blog/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_product_id_list b/bt5/erp5_web_blog/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_property_sheet_id_list b/bt5/erp5_web_blog/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_registered_skin_selection_list b/bt5/erp5_web_blog/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_role_list b/bt5/erp5_web_blog/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_site_property_id_list b/bt5/erp5_web_blog/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_test_id_list b/bt5/erp5_web_blog/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_tool_id_list b/bt5/erp5_web_blog/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_blog/bt/template_workflow_id_list b/bt5/erp5_web_blog/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/categories_list b/bt5/erp5_web_multiflex5_theme/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/copyright_list b/bt5/erp5_web_multiflex5_theme/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/provision_list b/bt5/erp5_web_multiflex5_theme/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/revision b/bt5/erp5_web_multiflex5_theme/bt/revision
index 66321c084c..1a1f7f8270 100644
--- a/bt5/erp5_web_multiflex5_theme/bt/revision
+++ b/bt5/erp5_web_multiflex5_theme/bt/revision
@@ -1 +1 @@
-189
\ No newline at end of file
+190
\ No newline at end of file
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_action_path_list b/bt5/erp5_web_multiflex5_theme/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_base_category_list b/bt5/erp5_web_multiflex5_theme/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_datetime_key_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_full_text_key_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_keyword_key_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_local_role_key_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_method_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_multivalue_key_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_related_key_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_request_key_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_result_key_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_result_table_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_role_key_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_scriptable_key_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_catalog_topic_key_list b/bt5/erp5_web_multiflex5_theme/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_constraint_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_document_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_extension_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_local_role_list b/bt5/erp5_web_multiflex5_theme/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_local_roles_list b/bt5/erp5_web_multiflex5_theme/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_message_translation_list b/bt5/erp5_web_multiflex5_theme/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_module_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_path_list b/bt5/erp5_web_multiflex5_theme/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_base_category_list b/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_property_sheet_list b/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_role_list b/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_roles_list b/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_workflow_chain_list b/bt5/erp5_web_multiflex5_theme/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_preference_list b/bt5/erp5_web_multiflex5_theme/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_product_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_property_sheet_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_role_list b/bt5/erp5_web_multiflex5_theme/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_site_property_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_test_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_tool_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_workflow_id_list b/bt5/erp5_web_multiflex5_theme/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/categories_list b/bt5/erp5_web_ui_test/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/comment b/bt5/erp5_web_ui_test/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/provision_list b/bt5/erp5_web_ui_test/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/revision b/bt5/erp5_web_ui_test/bt/revision
index b74e882ae3..1758dddcce 100644
--- a/bt5/erp5_web_ui_test/bt/revision
+++ b/bt5/erp5_web_ui_test/bt/revision
@@ -1 +1 @@
-31
\ No newline at end of file
+32
\ No newline at end of file
diff --git a/bt5/erp5_web_ui_test/bt/template_action_path_list b/bt5/erp5_web_ui_test/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_base_category_list b/bt5/erp5_web_ui_test/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_datetime_key_list b/bt5/erp5_web_ui_test/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_full_text_key_list b/bt5/erp5_web_ui_test/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_keyword_key_list b/bt5/erp5_web_ui_test/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_local_role_key_list b/bt5/erp5_web_ui_test/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_method_id_list b/bt5/erp5_web_ui_test/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_multivalue_key_list b/bt5/erp5_web_ui_test/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_related_key_list b/bt5/erp5_web_ui_test/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_request_key_list b/bt5/erp5_web_ui_test/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_result_key_list b/bt5/erp5_web_ui_test/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_result_table_list b/bt5/erp5_web_ui_test/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_role_key_list b/bt5/erp5_web_ui_test/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_scriptable_key_list b/bt5/erp5_web_ui_test/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_catalog_topic_key_list b/bt5/erp5_web_ui_test/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_constraint_id_list b/bt5/erp5_web_ui_test/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_document_id_list b/bt5/erp5_web_ui_test/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_extension_id_list b/bt5/erp5_web_ui_test/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_message_translation_list b/bt5/erp5_web_ui_test/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_module_id_list b/bt5/erp5_web_ui_test/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_web_ui_test/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_portal_type_base_category_list b/bt5/erp5_web_ui_test/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_web_ui_test/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_portal_type_id_list b/bt5/erp5_web_ui_test/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_portal_type_property_sheet_list b/bt5/erp5_web_ui_test/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_portal_type_workflow_chain_list b/bt5/erp5_web_ui_test/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_preference_list b/bt5/erp5_web_ui_test/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_product_id_list b/bt5/erp5_web_ui_test/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_property_sheet_id_list b/bt5/erp5_web_ui_test/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_registered_skin_selection_list b/bt5/erp5_web_ui_test/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_role_list b/bt5/erp5_web_ui_test/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_site_property_id_list b/bt5/erp5_web_ui_test/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_test_id_list b/bt5/erp5_web_ui_test/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_tool_id_list b/bt5/erp5_web_ui_test/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_web_ui_test/bt/template_workflow_id_list b/bt5/erp5_web_ui_test/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/categories_list b/bt5/erp5_wizard/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/comment b/bt5/erp5_wizard/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/dependency_list b/bt5/erp5_wizard/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/provision_list b/bt5/erp5_wizard/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/revision b/bt5/erp5_wizard/bt/revision
index 4701cc7931..c663e4d093 100644
--- a/bt5/erp5_wizard/bt/revision
+++ b/bt5/erp5_wizard/bt/revision
@@ -1 +1 @@
-150
\ No newline at end of file
+151
\ No newline at end of file
diff --git a/bt5/erp5_wizard/bt/template_base_category_list b/bt5/erp5_wizard/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_datetime_key_list b/bt5/erp5_wizard/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_full_text_key_list b/bt5/erp5_wizard/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_keyword_key_list b/bt5/erp5_wizard/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_local_role_key_list b/bt5/erp5_wizard/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_method_id_list b/bt5/erp5_wizard/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_multivalue_key_list b/bt5/erp5_wizard/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_related_key_list b/bt5/erp5_wizard/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_request_key_list b/bt5/erp5_wizard/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_result_key_list b/bt5/erp5_wizard/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_result_table_list b/bt5/erp5_wizard/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_role_key_list b/bt5/erp5_wizard/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_scriptable_key_list b/bt5/erp5_wizard/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_catalog_topic_key_list b/bt5/erp5_wizard/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_constraint_id_list b/bt5/erp5_wizard/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_document_id_list b/bt5/erp5_wizard/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_extension_id_list b/bt5/erp5_wizard/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_local_role_list b/bt5/erp5_wizard/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_local_roles_list b/bt5/erp5_wizard/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_message_translation_list b/bt5/erp5_wizard/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_module_id_list b/bt5/erp5_wizard/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_wizard/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_portal_type_base_category_list b/bt5/erp5_wizard/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_wizard/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_portal_type_property_sheet_list b/bt5/erp5_wizard/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_portal_type_role_list b/bt5/erp5_wizard/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_portal_type_roles_list b/bt5/erp5_wizard/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_portal_type_workflow_chain_list b/bt5/erp5_wizard/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_preference_list b/bt5/erp5_wizard/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_product_id_list b/bt5/erp5_wizard/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_property_sheet_id_list b/bt5/erp5_wizard/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_registered_skin_selection_list b/bt5/erp5_wizard/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_role_list b/bt5/erp5_wizard/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_site_property_id_list b/bt5/erp5_wizard/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_test_id_list b/bt5/erp5_wizard/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_wizard/bt/template_workflow_id_list b/bt5/erp5_wizard/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/categories_list b/bt5/erp5_worklist_sql/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/provision_list b/bt5/erp5_worklist_sql/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/revision b/bt5/erp5_worklist_sql/bt/revision
index 1758dddcce..dc7b54ad01 100644
--- a/bt5/erp5_worklist_sql/bt/revision
+++ b/bt5/erp5_worklist_sql/bt/revision
@@ -1 +1 @@
-32
\ No newline at end of file
+33
\ No newline at end of file
diff --git a/bt5/erp5_worklist_sql/bt/template_action_path_list b/bt5/erp5_worklist_sql/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_base_category_list b/bt5/erp5_worklist_sql/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_datetime_key_list b/bt5/erp5_worklist_sql/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_full_text_key_list b/bt5/erp5_worklist_sql/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_keyword_key_list b/bt5/erp5_worklist_sql/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_local_role_key_list b/bt5/erp5_worklist_sql/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_method_id_list b/bt5/erp5_worklist_sql/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_multivalue_key_list b/bt5/erp5_worklist_sql/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_related_key_list b/bt5/erp5_worklist_sql/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_request_key_list b/bt5/erp5_worklist_sql/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_result_key_list b/bt5/erp5_worklist_sql/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_result_table_list b/bt5/erp5_worklist_sql/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_role_key_list b/bt5/erp5_worklist_sql/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_scriptable_key_list b/bt5/erp5_worklist_sql/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_catalog_topic_key_list b/bt5/erp5_worklist_sql/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_constraint_id_list b/bt5/erp5_worklist_sql/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_document_id_list b/bt5/erp5_worklist_sql/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_extension_id_list b/bt5/erp5_worklist_sql/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_local_roles_list b/bt5/erp5_worklist_sql/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_message_translation_list b/bt5/erp5_worklist_sql/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_module_id_list b/bt5/erp5_worklist_sql/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_worklist_sql/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_portal_type_base_category_list b/bt5/erp5_worklist_sql/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_worklist_sql/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_portal_type_id_list b/bt5/erp5_worklist_sql/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_portal_type_property_sheet_list b/bt5/erp5_worklist_sql/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_portal_type_roles_list b/bt5/erp5_worklist_sql/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_portal_type_workflow_chain_list b/bt5/erp5_worklist_sql/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_preference_list b/bt5/erp5_worklist_sql/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_product_id_list b/bt5/erp5_worklist_sql/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_property_sheet_id_list b/bt5/erp5_worklist_sql/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_role_list b/bt5/erp5_worklist_sql/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_site_property_id_list b/bt5/erp5_worklist_sql/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_test_id_list b/bt5/erp5_worklist_sql/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_tool_id_list b/bt5/erp5_worklist_sql/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/erp5_worklist_sql/bt/template_workflow_id_list b/bt5/erp5_worklist_sql/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/categories_list b/bt5/test_accounting/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/change_log b/bt5/test_accounting/bt/change_log
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/copyright_list b/bt5/test_accounting/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/description b/bt5/test_accounting/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/license b/bt5/test_accounting/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/maintainer_list b/bt5/test_accounting/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/provision_list b/bt5/test_accounting/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/revision b/bt5/test_accounting/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/test_accounting/bt/revision
+++ b/bt5/test_accounting/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/test_accounting/bt/template_action_path_list b/bt5/test_accounting/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_base_category_list b/bt5/test_accounting/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_catalog_full_text_key_list b/bt5/test_accounting/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_catalog_keyword_key_list b/bt5/test_accounting/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_catalog_method_id_list b/bt5/test_accounting/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_catalog_multivalue_key_list b/bt5/test_accounting/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_catalog_related_key_list b/bt5/test_accounting/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_catalog_request_key_list b/bt5/test_accounting/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_catalog_result_key_list b/bt5/test_accounting/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_catalog_result_table_list b/bt5/test_accounting/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_catalog_topic_key_list b/bt5/test_accounting/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_constraint_id_list b/bt5/test_accounting/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_document_id_list b/bt5/test_accounting/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_extension_id_list b/bt5/test_accounting/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_local_roles_list b/bt5/test_accounting/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_message_translation_list b/bt5/test_accounting/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_module_id_list b/bt5/test_accounting/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_path_list b/bt5/test_accounting/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_portal_type_allowed_content_type_list b/bt5/test_accounting/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_portal_type_base_category_list b/bt5/test_accounting/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_portal_type_hidden_content_type_list b/bt5/test_accounting/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_portal_type_id_list b/bt5/test_accounting/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_portal_type_property_sheet_list b/bt5/test_accounting/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_portal_type_roles_list b/bt5/test_accounting/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_portal_type_workflow_chain_list b/bt5/test_accounting/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_preference_list b/bt5/test_accounting/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_product_id_list b/bt5/test_accounting/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_property_sheet_id_list b/bt5/test_accounting/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_role_list b/bt5/test_accounting/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_site_property_id_list b/bt5/test_accounting/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_skin_id_list b/bt5/test_accounting/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_test_id_list b/bt5/test_accounting/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting/bt/template_workflow_id_list b/bt5/test_accounting/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/categories_list b/bt5/test_accounting_fr/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/change_log b/bt5/test_accounting_fr/bt/change_log
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/copyright_list b/bt5/test_accounting_fr/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/description b/bt5/test_accounting_fr/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/license b/bt5/test_accounting_fr/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/maintainer_list b/bt5/test_accounting_fr/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/provision_list b/bt5/test_accounting_fr/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/revision b/bt5/test_accounting_fr/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/test_accounting_fr/bt/revision
+++ b/bt5/test_accounting_fr/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/test_accounting_fr/bt/template_action_path_list b/bt5/test_accounting_fr/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_base_category_list b/bt5/test_accounting_fr/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_catalog_full_text_key_list b/bt5/test_accounting_fr/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_catalog_keyword_key_list b/bt5/test_accounting_fr/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_catalog_method_id_list b/bt5/test_accounting_fr/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_catalog_multivalue_key_list b/bt5/test_accounting_fr/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_catalog_related_key_list b/bt5/test_accounting_fr/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_catalog_request_key_list b/bt5/test_accounting_fr/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_catalog_result_key_list b/bt5/test_accounting_fr/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_catalog_result_table_list b/bt5/test_accounting_fr/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_catalog_topic_key_list b/bt5/test_accounting_fr/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_constraint_id_list b/bt5/test_accounting_fr/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_document_id_list b/bt5/test_accounting_fr/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_extension_id_list b/bt5/test_accounting_fr/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_local_roles_list b/bt5/test_accounting_fr/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_message_translation_list b/bt5/test_accounting_fr/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_module_id_list b/bt5/test_accounting_fr/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_path_list b/bt5/test_accounting_fr/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_portal_type_allowed_content_type_list b/bt5/test_accounting_fr/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_portal_type_base_category_list b/bt5/test_accounting_fr/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_portal_type_hidden_content_type_list b/bt5/test_accounting_fr/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_portal_type_id_list b/bt5/test_accounting_fr/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_portal_type_property_sheet_list b/bt5/test_accounting_fr/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_portal_type_roles_list b/bt5/test_accounting_fr/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_portal_type_workflow_chain_list b/bt5/test_accounting_fr/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_preference_list b/bt5/test_accounting_fr/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_product_id_list b/bt5/test_accounting_fr/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_property_sheet_id_list b/bt5/test_accounting_fr/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_role_list b/bt5/test_accounting_fr/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_site_property_id_list b/bt5/test_accounting_fr/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_skin_id_list b/bt5/test_accounting_fr/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_test_id_list b/bt5/test_accounting_fr/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_fr/bt/template_workflow_id_list b/bt5/test_accounting_fr/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/categories_list b/bt5/test_accounting_in/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/change_log b/bt5/test_accounting_in/bt/change_log
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/copyright_list b/bt5/test_accounting_in/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/description b/bt5/test_accounting_in/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/license b/bt5/test_accounting_in/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/maintainer_list b/bt5/test_accounting_in/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/provision_list b/bt5/test_accounting_in/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/revision b/bt5/test_accounting_in/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/test_accounting_in/bt/revision
+++ b/bt5/test_accounting_in/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/test_accounting_in/bt/template_action_path_list b/bt5/test_accounting_in/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_base_category_list b/bt5/test_accounting_in/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_catalog_full_text_key_list b/bt5/test_accounting_in/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_catalog_keyword_key_list b/bt5/test_accounting_in/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_catalog_method_id_list b/bt5/test_accounting_in/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_catalog_multivalue_key_list b/bt5/test_accounting_in/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_catalog_related_key_list b/bt5/test_accounting_in/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_catalog_request_key_list b/bt5/test_accounting_in/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_catalog_result_key_list b/bt5/test_accounting_in/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_catalog_result_table_list b/bt5/test_accounting_in/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_catalog_topic_key_list b/bt5/test_accounting_in/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_constraint_id_list b/bt5/test_accounting_in/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_document_id_list b/bt5/test_accounting_in/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_extension_id_list b/bt5/test_accounting_in/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_local_roles_list b/bt5/test_accounting_in/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_message_translation_list b/bt5/test_accounting_in/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_module_id_list b/bt5/test_accounting_in/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_path_list b/bt5/test_accounting_in/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_portal_type_allowed_content_type_list b/bt5/test_accounting_in/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_portal_type_base_category_list b/bt5/test_accounting_in/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_portal_type_hidden_content_type_list b/bt5/test_accounting_in/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_portal_type_id_list b/bt5/test_accounting_in/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_portal_type_property_sheet_list b/bt5/test_accounting_in/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_portal_type_roles_list b/bt5/test_accounting_in/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_portal_type_workflow_chain_list b/bt5/test_accounting_in/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_preference_list b/bt5/test_accounting_in/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_product_id_list b/bt5/test_accounting_in/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_property_sheet_id_list b/bt5/test_accounting_in/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_role_list b/bt5/test_accounting_in/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_site_property_id_list b/bt5/test_accounting_in/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_skin_id_list b/bt5/test_accounting_in/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_test_id_list b/bt5/test_accounting_in/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_in/bt/template_workflow_id_list b/bt5/test_accounting_in/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/categories_list b/bt5/test_accounting_pl/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/change_log b/bt5/test_accounting_pl/bt/change_log
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/copyright_list b/bt5/test_accounting_pl/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/description b/bt5/test_accounting_pl/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/license b/bt5/test_accounting_pl/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/maintainer_list b/bt5/test_accounting_pl/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/provision_list b/bt5/test_accounting_pl/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/revision b/bt5/test_accounting_pl/bt/revision
index d8263ee986..e440e5c842 100644
--- a/bt5/test_accounting_pl/bt/revision
+++ b/bt5/test_accounting_pl/bt/revision
@@ -1 +1 @@
-2
\ No newline at end of file
+3
\ No newline at end of file
diff --git a/bt5/test_accounting_pl/bt/template_action_path_list b/bt5/test_accounting_pl/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_base_category_list b/bt5/test_accounting_pl/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_catalog_full_text_key_list b/bt5/test_accounting_pl/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_catalog_keyword_key_list b/bt5/test_accounting_pl/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_catalog_method_id_list b/bt5/test_accounting_pl/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_catalog_multivalue_key_list b/bt5/test_accounting_pl/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_catalog_related_key_list b/bt5/test_accounting_pl/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_catalog_request_key_list b/bt5/test_accounting_pl/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_catalog_result_key_list b/bt5/test_accounting_pl/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_catalog_result_table_list b/bt5/test_accounting_pl/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_catalog_topic_key_list b/bt5/test_accounting_pl/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_constraint_id_list b/bt5/test_accounting_pl/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_document_id_list b/bt5/test_accounting_pl/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_extension_id_list b/bt5/test_accounting_pl/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_local_roles_list b/bt5/test_accounting_pl/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_message_translation_list b/bt5/test_accounting_pl/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_module_id_list b/bt5/test_accounting_pl/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_path_list b/bt5/test_accounting_pl/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_portal_type_allowed_content_type_list b/bt5/test_accounting_pl/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_portal_type_base_category_list b/bt5/test_accounting_pl/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_portal_type_hidden_content_type_list b/bt5/test_accounting_pl/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_portal_type_id_list b/bt5/test_accounting_pl/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_portal_type_property_sheet_list b/bt5/test_accounting_pl/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_portal_type_roles_list b/bt5/test_accounting_pl/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_portal_type_workflow_chain_list b/bt5/test_accounting_pl/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_preference_list b/bt5/test_accounting_pl/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_product_id_list b/bt5/test_accounting_pl/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_property_sheet_id_list b/bt5/test_accounting_pl/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_role_list b/bt5/test_accounting_pl/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_site_property_id_list b/bt5/test_accounting_pl/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_skin_id_list b/bt5/test_accounting_pl/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_test_id_list b/bt5/test_accounting_pl/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_accounting_pl/bt/template_workflow_id_list b/bt5/test_accounting_pl/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/categories_list b/bt5/test_core/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/change_log b/bt5/test_core/bt/change_log
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/copyright_list b/bt5/test_core/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/dependency_list b/bt5/test_core/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/description b/bt5/test_core/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/license b/bt5/test_core/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/maintainer_list b/bt5/test_core/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/provision_list b/bt5/test_core/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/revision b/bt5/test_core/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/test_core/bt/revision
+++ b/bt5/test_core/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/test_core/bt/template_action_path_list b/bt5/test_core/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_base_category_list b/bt5/test_core/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_catalog_full_text_key_list b/bt5/test_core/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_catalog_keyword_key_list b/bt5/test_core/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_catalog_method_id_list b/bt5/test_core/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_catalog_multivalue_key_list b/bt5/test_core/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_catalog_related_key_list b/bt5/test_core/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_catalog_request_key_list b/bt5/test_core/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_catalog_result_key_list b/bt5/test_core/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_catalog_result_table_list b/bt5/test_core/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_catalog_topic_key_list b/bt5/test_core/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_constraint_id_list b/bt5/test_core/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_document_id_list b/bt5/test_core/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_extension_id_list b/bt5/test_core/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_local_roles_list b/bt5/test_core/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_message_translation_list b/bt5/test_core/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_module_id_list b/bt5/test_core/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_path_list b/bt5/test_core/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_portal_type_allowed_content_type_list b/bt5/test_core/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_portal_type_base_category_list b/bt5/test_core/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_portal_type_hidden_content_type_list b/bt5/test_core/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_portal_type_id_list b/bt5/test_core/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_portal_type_property_sheet_list b/bt5/test_core/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_portal_type_roles_list b/bt5/test_core/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_portal_type_workflow_chain_list b/bt5/test_core/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_preference_list b/bt5/test_core/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_product_id_list b/bt5/test_core/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_property_sheet_id_list b/bt5/test_core/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_role_list b/bt5/test_core/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_site_property_id_list b/bt5/test_core/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_test_id_list b/bt5/test_core/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_core/bt/template_workflow_id_list b/bt5/test_core/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/categories_list b/bt5/test_html_style/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/change_log b/bt5/test_html_style/bt/change_log
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/copyright_list b/bt5/test_html_style/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/dependency_list b/bt5/test_html_style/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/description b/bt5/test_html_style/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/license b/bt5/test_html_style/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/maintainer_list b/bt5/test_html_style/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/revision b/bt5/test_html_style/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/test_html_style/bt/revision
+++ b/bt5/test_html_style/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/test_html_style/bt/template_action_path_list b/bt5/test_html_style/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_base_category_list b/bt5/test_html_style/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_catalog_full_text_key_list b/bt5/test_html_style/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_catalog_keyword_key_list b/bt5/test_html_style/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_catalog_method_id_list b/bt5/test_html_style/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_catalog_multivalue_key_list b/bt5/test_html_style/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_catalog_related_key_list b/bt5/test_html_style/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_catalog_request_key_list b/bt5/test_html_style/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_catalog_result_key_list b/bt5/test_html_style/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_catalog_result_table_list b/bt5/test_html_style/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_catalog_topic_key_list b/bt5/test_html_style/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_constraint_id_list b/bt5/test_html_style/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_document_id_list b/bt5/test_html_style/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_extension_id_list b/bt5/test_html_style/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_local_roles_list b/bt5/test_html_style/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_message_translation_list b/bt5/test_html_style/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_module_id_list b/bt5/test_html_style/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_path_list b/bt5/test_html_style/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_portal_type_allowed_content_type_list b/bt5/test_html_style/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_portal_type_base_category_list b/bt5/test_html_style/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_portal_type_hidden_content_type_list b/bt5/test_html_style/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_portal_type_id_list b/bt5/test_html_style/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_portal_type_property_sheet_list b/bt5/test_html_style/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_portal_type_roles_list b/bt5/test_html_style/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_portal_type_workflow_chain_list b/bt5/test_html_style/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_preference_list b/bt5/test_html_style/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_product_id_list b/bt5/test_html_style/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_property_sheet_id_list b/bt5/test_html_style/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_role_list b/bt5/test_html_style/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_site_property_id_list b/bt5/test_html_style/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_skin_id_list b/bt5/test_html_style/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_test_id_list b/bt5/test_html_style/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_html_style/bt/template_workflow_id_list b/bt5/test_html_style/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/categories_list b/bt5/test_web/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/change_log b/bt5/test_web/bt/change_log
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/copyright_list b/bt5/test_web/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/description b/bt5/test_web/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/license b/bt5/test_web/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/maintainer_list b/bt5/test_web/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/provision_list b/bt5/test_web/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/revision b/bt5/test_web/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/test_web/bt/revision
+++ b/bt5/test_web/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/test_web/bt/template_action_path_list b/bt5/test_web/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_base_category_list b/bt5/test_web/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_catalog_full_text_key_list b/bt5/test_web/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_catalog_keyword_key_list b/bt5/test_web/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_catalog_method_id_list b/bt5/test_web/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_catalog_multivalue_key_list b/bt5/test_web/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_catalog_related_key_list b/bt5/test_web/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_catalog_request_key_list b/bt5/test_web/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_catalog_result_key_list b/bt5/test_web/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_catalog_result_table_list b/bt5/test_web/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_catalog_topic_key_list b/bt5/test_web/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_constraint_id_list b/bt5/test_web/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_document_id_list b/bt5/test_web/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_extension_id_list b/bt5/test_web/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_local_roles_list b/bt5/test_web/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_message_translation_list b/bt5/test_web/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_module_id_list b/bt5/test_web/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_path_list b/bt5/test_web/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_portal_type_allowed_content_type_list b/bt5/test_web/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_portal_type_base_category_list b/bt5/test_web/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_portal_type_hidden_content_type_list b/bt5/test_web/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_portal_type_id_list b/bt5/test_web/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_portal_type_property_sheet_list b/bt5/test_web/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_portal_type_roles_list b/bt5/test_web/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_portal_type_workflow_chain_list b/bt5/test_web/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_preference_list b/bt5/test_web/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_product_id_list b/bt5/test_web/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_property_sheet_id_list b/bt5/test_web/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_role_list b/bt5/test_web/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_site_property_id_list b/bt5/test_web/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_skin_id_list b/bt5/test_web/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_test_id_list b/bt5/test_web/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/template_workflow_id_list b/bt5/test_web/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_web/bt/version b/bt5/test_web/bt/version
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/categories_list b/bt5/test_xhtml_style/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/change_log b/bt5/test_xhtml_style/bt/change_log
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/copyright_list b/bt5/test_xhtml_style/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/dependency_list b/bt5/test_xhtml_style/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/description b/bt5/test_xhtml_style/bt/description
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/license b/bt5/test_xhtml_style/bt/license
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/maintainer_list b/bt5/test_xhtml_style/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/revision b/bt5/test_xhtml_style/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/test_xhtml_style/bt/revision
+++ b/bt5/test_xhtml_style/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/test_xhtml_style/bt/template_action_path_list b/bt5/test_xhtml_style/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_base_category_list b/bt5/test_xhtml_style/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_catalog_full_text_key_list b/bt5/test_xhtml_style/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_catalog_keyword_key_list b/bt5/test_xhtml_style/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_catalog_method_id_list b/bt5/test_xhtml_style/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_catalog_multivalue_key_list b/bt5/test_xhtml_style/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_catalog_related_key_list b/bt5/test_xhtml_style/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_catalog_request_key_list b/bt5/test_xhtml_style/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_catalog_result_key_list b/bt5/test_xhtml_style/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_catalog_result_table_list b/bt5/test_xhtml_style/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_catalog_topic_key_list b/bt5/test_xhtml_style/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_constraint_id_list b/bt5/test_xhtml_style/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_document_id_list b/bt5/test_xhtml_style/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_extension_id_list b/bt5/test_xhtml_style/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_local_roles_list b/bt5/test_xhtml_style/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_message_translation_list b/bt5/test_xhtml_style/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_module_id_list b/bt5/test_xhtml_style/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_path_list b/bt5/test_xhtml_style/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_portal_type_allowed_content_type_list b/bt5/test_xhtml_style/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_portal_type_base_category_list b/bt5/test_xhtml_style/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_portal_type_hidden_content_type_list b/bt5/test_xhtml_style/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_portal_type_id_list b/bt5/test_xhtml_style/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_portal_type_property_sheet_list b/bt5/test_xhtml_style/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_portal_type_roles_list b/bt5/test_xhtml_style/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_portal_type_workflow_chain_list b/bt5/test_xhtml_style/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_preference_list b/bt5/test_xhtml_style/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_product_id_list b/bt5/test_xhtml_style/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_property_sheet_id_list b/bt5/test_xhtml_style/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_role_list b/bt5/test_xhtml_style/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_site_property_id_list b/bt5/test_xhtml_style/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_skin_id_list b/bt5/test_xhtml_style/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_test_id_list b/bt5/test_xhtml_style/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/test_xhtml_style/bt/template_workflow_id_list b/bt5/test_xhtml_style/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/categories_list b/bt5/tiolive_base/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/comment b/bt5/tiolive_base/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/copyright_list b/bt5/tiolive_base/bt/copyright_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/provision_list b/bt5/tiolive_base/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/revision b/bt5/tiolive_base/bt/revision
index e77a96349c..0aeb548544 100644
--- a/bt5/tiolive_base/bt/revision
+++ b/bt5/tiolive_base/bt/revision
@@ -1 +1 @@
-73
\ No newline at end of file
+74
\ No newline at end of file
diff --git a/bt5/tiolive_base/bt/template_base_category_list b/bt5/tiolive_base/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_datetime_key_list b/bt5/tiolive_base/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_full_text_key_list b/bt5/tiolive_base/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_keyword_key_list b/bt5/tiolive_base/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_local_role_key_list b/bt5/tiolive_base/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_method_id_list b/bt5/tiolive_base/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_multivalue_key_list b/bt5/tiolive_base/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_related_key_list b/bt5/tiolive_base/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_request_key_list b/bt5/tiolive_base/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_result_key_list b/bt5/tiolive_base/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_result_table_list b/bt5/tiolive_base/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_role_key_list b/bt5/tiolive_base/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_scriptable_key_list b/bt5/tiolive_base/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_catalog_topic_key_list b/bt5/tiolive_base/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_constraint_id_list b/bt5/tiolive_base/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_document_id_list b/bt5/tiolive_base/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_extension_id_list b/bt5/tiolive_base/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_local_role_list b/bt5/tiolive_base/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_local_roles_list b/bt5/tiolive_base/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_message_translation_list b/bt5/tiolive_base/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_module_id_list b/bt5/tiolive_base/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_path_list b/bt5/tiolive_base/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_portal_type_allowed_content_type_list b/bt5/tiolive_base/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_portal_type_base_category_list b/bt5/tiolive_base/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_portal_type_hidden_content_type_list b/bt5/tiolive_base/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_portal_type_id_list b/bt5/tiolive_base/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_portal_type_property_sheet_list b/bt5/tiolive_base/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_portal_type_role_list b/bt5/tiolive_base/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_portal_type_roles_list b/bt5/tiolive_base/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_portal_type_workflow_chain_list b/bt5/tiolive_base/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_preference_list b/bt5/tiolive_base/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_product_id_list b/bt5/tiolive_base/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_property_sheet_id_list b/bt5/tiolive_base/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_role_list b/bt5/tiolive_base/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_site_property_id_list b/bt5/tiolive_base/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_test_id_list b/bt5/tiolive_base/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_tool_id_list b/bt5/tiolive_base/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/bt5/tiolive_base/bt/template_workflow_id_list b/bt5/tiolive_base/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
-- 
2.30.9


From 65a84202c6dcd98065f5680161ca8497f9cfcb54 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Thu, 14 Oct 2010 12:49:30 +0000
Subject: [PATCH 040/163] Scope SQLCatalog method caches to instance.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39141 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/SQLCatalog.py | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py
index 21fa48ef66..5920a1e653 100644
--- a/product/ZSQLCatalog/SQLCatalog.py
+++ b/product/ZSQLCatalog/SQLCatalog.py
@@ -101,6 +101,15 @@ except ImportError:
   def getTransactionalVariable():
     return {}
 
+def generateCatalogCacheId(method_id, *args, **kwd):
+  self = args[0]
+  # XXX: getPath is overkill for a unique cache identifier.
+  # What I would like to use instead of it is:
+  #   (self._p_jar.db().database_name, self._p_oid)
+  # but database_name is not unique in at least ZODB 3.4 (Zope 2.8.8).
+  return str((method_id, self.getCacheSequenceNumber(), self.getPath(),
+    args[1:], kwd))
+
 class transactional_cache_decorator:
   """
     Implements singleton-style caching.
@@ -112,7 +121,9 @@ class transactional_cache_decorator:
   def __call__(self, method):
     def wrapper(wrapped_self):
       transactional_cache = getTransactionalVariable()
-      cache_id = self.cache_id
+      cache_id = str((self.cache_id,
+        getInstanceID(wrapped_self),
+      ))
       try:
         result = transactional_cache[cache_id]
       except KeyError:
@@ -935,6 +946,7 @@ class Catalog(Folder,
 
   @caching_instance_method(id='SQLCatalog.getColumnIds',
     cache_factory='erp5_content_long',
+    cache_id_generator=generateCatalogCacheId,
   )
   def _getColumnIds(self):
     keys = set()
@@ -964,6 +976,7 @@ class Catalog(Folder,
   @profiler_decorator
   @caching_instance_method(id='SQLCatalog.getColumnMap',
     cache_factory='erp5_content_long',
+    cache_id_generator=generateCatalogCacheId,
   )
   @profiler_decorator
   def getColumnMap(self):
@@ -983,6 +996,7 @@ class Catalog(Folder,
   @profiler_decorator
   @caching_instance_method(id='SQLCatalog.getColumnIds',
     cache_factory='erp5_content_long',
+    cache_id_generator=generateCatalogCacheId,
   )
   @profiler_decorator
   def getResultColumnIds(self):
@@ -1004,6 +1018,7 @@ class Catalog(Folder,
   @profiler_decorator
   @caching_instance_method(id='SQLCatalog.getSortColumnIds',
       cache_factory='erp5_content_long',
+      cache_id_generator=generateCatalogCacheId,
   )
   @profiler_decorator
   def getSortColumnIds(self):
@@ -1834,6 +1849,7 @@ class Catalog(Folder,
 
   @caching_instance_method(id='SQLCatalog.getTableIndex',
     cache_factory='erp5_content_long',
+    cache_id_generator=generateCatalogCacheId,
   )
   def _getTableIndex(self, table):
     table_index = {}
@@ -2276,6 +2292,7 @@ class Catalog(Folder,
   @profiler_decorator
   @caching_instance_method(id='SQLCatalog._getSearchKeyDict',
     cache_factory='erp5_content_long',
+    cache_id_generator=generateCatalogCacheId,
   )
   @profiler_decorator
   def _getSearchKeyDict(self):
-- 
2.30.9


From 6df1740425961e01c0ee261008f7b39c865a93f5 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Thu, 14 Oct 2010 12:50:23 +0000
Subject: [PATCH 041/163] Use a persistent sequence number to invalidate
 catalog cache.

Allows consistent invalidations in a cluster.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39142 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/SQLCatalog.py | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py
index 5920a1e653..392e5feec9 100644
--- a/product/ZSQLCatalog/SQLCatalog.py
+++ b/product/ZSQLCatalog/SQLCatalog.py
@@ -122,6 +122,7 @@ class transactional_cache_decorator:
     def wrapper(wrapped_self):
       transactional_cache = getTransactionalVariable()
       cache_id = str((self.cache_id,
+        wrapped_self.getCacheSequenceNumber(),
         getInstanceID(wrapped_self),
       ))
       try:
@@ -596,6 +597,8 @@ class Catalog(Folder,
   manage_catalogFind = DTMLFile('dtml/catalogFind',globals())
   manage_catalogAdvanced = DTMLFile('dtml/catalogAdvanced', globals())
 
+  _cache_sequence_number = 0
+
   def __init__(self, id, title='', container=None):
     if container is not None:
       self=self.__of__(container)
@@ -606,6 +609,12 @@ class Catalog(Folder,
     self.indexes = {}   # empty mapping
     self.filter_dict = PersistentMapping()
 
+  def getCacheSequenceNumber(self):
+    return self._cache_sequence_number
+
+  def _clearCaches(self):
+    self._cache_sequence_number += 1
+
   def getSQLCatalogRoleKeysList(self):
     """
     Return the list of role keys.
@@ -840,6 +849,7 @@ class Catalog(Folder,
       self.insertMaxUid()
 
     self._clearSecurityCache()
+    self._clearCaches()
 
   def insertMaxUid(self):
     """
-- 
2.30.9


From d912a33e40d27e8bcb3a331a776d296f871a8fd2 Mon Sep 17 00:00:00 2001
From: Sebastien Robin <seb@nexedi.com>
Date: Thu, 14 Oct 2010 12:56:33 +0000
Subject: [PATCH 042/163] fixed unicode issues when there is non ascii
 characters in person names

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39143 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_base/Person_createUserPreference.xml | 7 ++-----
 bt5/erp5_base/bt/revision                                  | 2 +-
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_createUserPreference.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_createUserPreference.xml
index 1ad2fa070f..0c41d77883 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_createUserPreference.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Person_createUserPreference.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,7 +67,7 @@ preference = portal.portal_preferences.createPreferenceForUser(\n
                                   context.getReference(), enable=True)\n
 \n
 preference.setTitle(translateString(\'Preference for ${name}\',\n
-                     mapping=dict(name=context.getTitle())))\n
+                     mapping=dict(name=context.getTitle().decode(\'utf-8\'))))\n
 \n
 for assignment in context.contentValues(portal_type=\'Assignment\'):\n
   group = assignment.getGroup(base=True)\n
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index fea1e3e73c..6e3b01e5e2 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-882
\ No newline at end of file
+883
\ No newline at end of file
-- 
2.30.9


From 60de7464f6112412f071963613dffcc37d1d675d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 13:04:43 +0000
Subject: [PATCH 043/163]  - start testing of ERP5RemoteUserManager against
 simulated remote    authentication server

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39144 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../tests/testERP5RemoteUserManager.py        | 186 ++++++++++++++++++
 1 file changed, 186 insertions(+)
 create mode 100644 product/ERP5Wizard/tests/testERP5RemoteUserManager.py

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
new file mode 100644
index 0000000000..651550578d
--- /dev/null
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -0,0 +1,186 @@
+##############################################################################
+#
+# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved.
+#                    Lukasz Nowak <luke@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsibility of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# guarantees and support are strongly advised to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
+from Products.ERP5Type.tests.utils import createZODBPythonScript
+from Products.ERP5Wizard import addERP5RemoteUserManager
+import transaction
+import unittest
+from Products.ERP5Security.ERP5UserManager import SUPER_USER
+from AccessControl.SecurityManagement import getSecurityManager,\
+    newSecurityManager
+from Products.ERP5Type.Base import Base
+from Products.ERP5.ERP5Site import ERP5Site
+from Products.ERP5Wizard.Tool.WizardTool import GeneratorCall
+
+# portal_witch simulation
+def proxyMethodHandler(self, kw):
+  """Dummy proxyMethodHandler"""
+  # login as super user
+  newSecurityManager(self, self.getPortalObject().acl_users.getUserById(
+      SUPER_USER))
+  data = getattr(self, kw['method_id'])(**kw['method_kw'])
+  response = GeneratorCall(data=data)
+  return response.dump()
+
+Base.proxyMethodHandler = proxyMethodHandler
+Base.security.declarePublic('proxyMethodHandler')
+
+def Base_authenticateCredentialsFromExpressInstance(self, **kw):
+  person_list = self.portal_catalog(portal_type='Person',
+    reference=kw['login'])
+
+  if len(person_list) == 1:
+    if person_list[0].getTitle() == kw['password']:
+      return 1
+  return 0
+
+Base.Base_authenticateCredentialsFromExpressInstance =\
+    Base_authenticateCredentialsFromExpressInstance
+Base.security.declarePublic('Base_authenticateCredentialsFromExpressInstance')
+
+# portal_wizard simulation
+def ERP5Site_getExpressInstanceUid(self, **kw):
+  """Dummy site it"""
+  return 'dummy_site_id'
+
+ERP5Site.ERP5Site_getExpressInstanceUid =\
+    ERP5Site_getExpressInstanceUid
+ERP5Site.security.declarePublic('ERP5Site_getExpressInstanceUid')
+
+
+class TestERP5RemoteUserManager(ERP5TypeTestCase):
+  """Low level tests of remote logging"""
+  def getBusinessTemplateList(self):
+    return (
+        'erp5_base',
+        'erp5_wizard',
+        )
+
+  base_type_portal_type = 'Base Type'
+  person_portal_type = 'Person'
+  system_preference_portal_type = 'System Preference'
+
+  erp5_remote_manager_id = 'erp5_remote_user_manager'
+  system_preference_id = 'TestERP5RemoteUserManager'
+
+
+  def setUpRemoteUserManager(self):
+    acl_users = self.portal.acl_users
+    addERP5RemoteUserManager(acl_users, self.erp5_remote_manager_id)
+    erp5_remote_manager = getattr(acl_users, self.erp5_remote_manager_id)
+    erp5_users = getattr(acl_users, 'erp5_users')
+    erp5_users.manage_activateInterfaces(['IUserEnumerationPlugin'])
+    erp5_remote_manager.manage_activateInterfaces(['IAuthenticationPlugin'])
+    transaction.commit()
+
+  def afterSetUp(self):
+    self.portal = self.getPortalObject()
+    self.person_module = self.portal.person_module
+    acl_users = self.portal.acl_users
+    self.erp5_remote_manager = getattr(acl_users, self.erp5_remote_manager_id)
+    # set preferences before each test, as test suite can have different
+    # ip/port after being saved and then loaded
+    self.setUpAuthenticationServerPreferences()
+    transaction.commit()
+    self.tic()
+
+  def beforeTearDown(self):
+    self.portal.portal_caches.clearAllCache()
+    transaction.commit()
+    self.tic()
+    self.person_module.deleteContent(list(self.person_module.objectIds()))
+    transaction.commit()
+    self.tic()
+
+  def setUpAuthenticationServerPreferences(self):
+    portal_preferences = self.portal.portal_preferences
+    # disable all existing system preferences
+    system_preference = None
+    if self.system_preference_id in portal_preferences.objectIds():
+      system_preference = getattr(portal_preferences,
+          self.system_preference_id)
+      self.assertEqual(self.system_preference_portal_type,
+          system_preference.getPortalType())
+    else:
+      system_preference = portal_preferences.newContent(
+          portal_type=self.system_preference_portal_type)
+    system_preference.edit(
+        preferred_witch_tool_server_url=self.portal.absolute_url() + '/',
+        preferred_witch_tool_server_root=self.getPortalId(),
+    )
+    if self.portal.portal_workflow.isTransitionPossible(system_preference,
+        'enable'):
+      system_preference.enable()
+    self.assertEqual('global', system_preference.getPreferenceState())
+    # clear cache after setting preferences
+    self.portal.portal_caches.clearAllCache()
+
+  def createDummyWitchTool(self):
+    if 'portal_witch' not in self.portal.objectIds():
+      self.portal.newContent(id='portal_witch',
+        portal_type=self.base_type_portal_type)
+
+  def setUpOnce(self):
+    self.portal = self.getPortalObject()
+    self.setUpRemoteUserManager()
+    self.createDummyWitchTool()
+    transaction.commit()
+    self.tic()
+
+  def createPerson(self, reference, password):
+    """Creates person with reference and password in title to simulate remote
+    logging"""
+    person = self.person_module.newContent(
+        portal_type=self.person_portal_type,
+        reference=reference, title=password)
+
+  def test_correct_login(self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    self.assertEqual(('someone', 'someone'),
+        self.erp5_remote_manager.authenticateCredentials(kw))
+
+  def test_incorrect_login(self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': 'another_password'}
+    self.assertEqual(None,
+        self.erp5_remote_manager.authenticateCredentials(kw))
+
+def test_suite():
+  suite = unittest.TestSuite()
+  suite.addTest(unittest.makeSuite(TestERP5RemoteUserManager))
+  return suite
-- 
2.30.9


From b67415c327d46152f8ff884c8778e070d00c49c5 Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Thu, 14 Oct 2010 13:06:37 +0000
Subject: [PATCH 044/163] Add a dependency to erp5_base, as some gadgets have
 an embedded sub image.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39145 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 bt5/erp5_knowledge_pad/bt/dependency_list | 1 +
 bt5/erp5_knowledge_pad/bt/revision        | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_knowledge_pad/bt/dependency_list

diff --git a/bt5/erp5_knowledge_pad/bt/dependency_list b/bt5/erp5_knowledge_pad/bt/dependency_list
new file mode 100644
index 0000000000..1037d15c20
--- /dev/null
+++ b/bt5/erp5_knowledge_pad/bt/dependency_list
@@ -0,0 +1 @@
+erp5_base
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad/bt/revision b/bt5/erp5_knowledge_pad/bt/revision
index 4c7798cefd..8853508e8a 100644
--- a/bt5/erp5_knowledge_pad/bt/revision
+++ b/bt5/erp5_knowledge_pad/bt/revision
@@ -1 +1 @@
-553
\ No newline at end of file
+555
\ No newline at end of file
-- 
2.30.9


From 9d11282ddc10e501975ca2cf086c7f2600a756fe Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Thu, 14 Oct 2010 13:20:35 +0000
Subject: [PATCH 045/163] Change links generation on the Worklist Gadget, in
 order to directly redirect to the worklist URL instead of displaying a
 collapsing listbox. This make the gadget more usable.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39146 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_gadget/ERP5Site_viewWorklistGadget.xml     | 13 +++++--------
 bt5/erp5_knowledge_pad/bt/revision                  |  2 +-
 2 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklistGadget.xml b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklistGadget.xml
index 0b834d079e..16475c8722 100644
--- a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklistGadget.xml
+++ b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklistGadget.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -45,6 +42,7 @@
            preferences  box/KnowledgeBox_getDefaultPreferencesDict;\n
            actions python:getattr(context,\'portal_workflow\').listActionInfos();\n
            absolute_url  context/absolute_url;\n
+           portal_url context/portal_url;\n
            box_id python: \'visual_\'+str(box.getId())">\n
 \n
 <div class="worklist_list">\n
@@ -65,9 +63,7 @@
     <li tal:repeat="action actions"\n
         tal:attributes="id python:\'li\'+box_id+\'_\'+str(repeat[\'action\'].index)">\n
       <tal:block >\n
-        <a onmouseover="this.style.backgroundColor=\'#ECECEC\';" \n
-           onmouseout="this.style.backgroundColor=\'inherit\';"\n
-           tal:attributes="onclick python:\'div=$(\\\'div_\'+box.getId()+\'_\'+str(repeat[\'action\'].index)+\'\\\');;if(getElementsByTagAndClassName(\\\'table\\\',\\\'listbox\\\',div)!=\\\'\\\'){this.style.fontWeight=\\\'normal\\\';;while(div.childNodes[0]){div.removeChild(div.childNodes[0])}}else{this.style.fontWeight=\\\'bold\\\';;\'+context.KnowledgePad_generateAjaxCall(absolute_url+\'/ERP5Site_viewWorklist\',box,\'div_\'+box.getId()+\'_\'+str(repeat[\'action\'].index),{\'worklist\':action[\'workflow_id\']+\'/\'+action[\'worklist_id\'], \'dom_id\':\'div_\'+box.getId()+\'_\'+str(repeat[\'action\'].index)})+\'}\'" \n
+        <a tal:attributes="href python: absolute_url+action[\'url\'][len(portal_url):]"\n
            tal:content="action/title"></a>\n
         <div tal:attributes="id python:\'div_\'+box.getId()+\'_\'+str(repeat[\'action\'].index)"></div>\n
       </tal:block>\n
@@ -75,7 +71,8 @@
   </ul>\n
 \n
 </div>\n
-</tal:block>
+</tal:block>\n
+
 
 ]]></string> </value>
         </item>
diff --git a/bt5/erp5_knowledge_pad/bt/revision b/bt5/erp5_knowledge_pad/bt/revision
index 8853508e8a..c021767357 100644
--- a/bt5/erp5_knowledge_pad/bt/revision
+++ b/bt5/erp5_knowledge_pad/bt/revision
@@ -1 +1 @@
-555
\ No newline at end of file
+558
\ No newline at end of file
-- 
2.30.9


From 2283bf10cd59a3566894a666e4cd6aed9c95998f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 13:20:46 +0000
Subject: [PATCH 046/163]  - separate tests totally by recreating all before
 and after test run

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39147 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../tests/testERP5RemoteUserManager.py        | 49 ++++++++++---------
 1 file changed, 26 insertions(+), 23 deletions(-)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index 651550578d..70c7431c2f 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -101,6 +101,8 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
 
   def afterSetUp(self):
     self.portal = self.getPortalObject()
+    self.createDummyWitchTool()
+    self.setUpRemoteUserManager()
     self.person_module = self.portal.person_module
     acl_users = self.portal.acl_users
     self.erp5_remote_manager = getattr(acl_users, self.erp5_remote_manager_id)
@@ -111,6 +113,10 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.tic()
 
   def beforeTearDown(self):
+    """Clear everthing"""
+    self.portal.acl_users.manage_delObjects(self.erp5_remote_manager_id)
+    self.portal.deleteContent('portal_witch')
+    self.removeAuthenticationServerPreferences()
     self.portal.portal_caches.clearAllCache()
     transaction.commit()
     self.tic()
@@ -118,25 +124,26 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
 
-  def setUpAuthenticationServerPreferences(self):
+  def removeAuthenticationServerPreferences(self):
     portal_preferences = self.portal.portal_preferences
-    # disable all existing system preferences
-    system_preference = None
     if self.system_preference_id in portal_preferences.objectIds():
-      system_preference = getattr(portal_preferences,
-          self.system_preference_id)
-      self.assertEqual(self.system_preference_portal_type,
-          system_preference.getPortalType())
-    else:
-      system_preference = portal_preferences.newContent(
-          portal_type=self.system_preference_portal_type)
-    system_preference.edit(
-        preferred_witch_tool_server_url=self.portal.absolute_url() + '/',
-        preferred_witch_tool_server_root=self.getPortalId(),
+      portal_preferences.deleteContent(self.system_preference_id)
+
+  def setUpAuthenticationServerPreferences(self, server_url=None,
+      server_root=None):
+    if server_url is None:
+      server_url = self.portal.absolute_url() + '/'
+    if server_root is None:
+      self.getPortalId()
+    portal_preferences = self.portal.portal_preferences
+    # disable all existing system preferences
+    system_preference = portal_preferences.newContent(
+        portal_type=self.system_preference_portal_type,
+        id=self.system_preference_id,
+        preferred_witch_tool_server_url=server_url,
+        preferred_witch_tool_server_root=server_root,
     )
-    if self.portal.portal_workflow.isTransitionPossible(system_preference,
-        'enable'):
-      system_preference.enable()
+    system_preference.enable()
     self.assertEqual('global', system_preference.getPreferenceState())
     # clear cache after setting preferences
     self.portal.portal_caches.clearAllCache()
@@ -146,13 +153,6 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       self.portal.newContent(id='portal_witch',
         portal_type=self.base_type_portal_type)
 
-  def setUpOnce(self):
-    self.portal = self.getPortalObject()
-    self.setUpRemoteUserManager()
-    self.createDummyWitchTool()
-    transaction.commit()
-    self.tic()
-
   def createPerson(self, reference, password):
     """Creates person with reference and password in title to simulate remote
     logging"""
@@ -160,6 +160,9 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
         portal_type=self.person_portal_type,
         reference=reference, title=password)
 
+  ############################################################################
+  # TESTS
+  ############################################################################
   def test_correct_login(self):
     login = 'someone'
     password = 'somepass'
-- 
2.30.9


From fa2c66abf02b23d4735c968eac2fd7004ae352eb Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Thu, 14 Oct 2010 13:20:50 +0000
Subject: [PATCH 047/163] Change links generation on the Worklist Gadget, in
 order to directly redirect to the worklist URL instead of displaying a
 collapsing listbox. This make the gadget more usable.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39148 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Base_getWorklistGadgetSelectionName.xml   |  132 --
 .../Base_getWorklistParameters.xml            |  173 --
 .../erp5_gadget/ERP5Site_viewWorklist.xml     |  153 --
 .../ERP5Site_viewWorklist/listbox.xml         |  574 -----
 .../listbox_modification_date.xml             | 1996 -----------------
 5 files changed, 3028 deletions(-)
 delete mode 100644 bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/Base_getWorklistGadgetSelectionName.xml
 delete mode 100644 bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/Base_getWorklistParameters.xml
 delete mode 100644 bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist.xml
 delete mode 100644 bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist/listbox.xml
 delete mode 100644 bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist/listbox_modification_date.xml

diff --git a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/Base_getWorklistGadgetSelectionName.xml b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/Base_getWorklistGadgetSelectionName.xml
deleted file mode 100644
index eb5570427c..0000000000
--- a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/Base_getWorklistGadgetSelectionName.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>from Products.ERP5Type.Log import log\n
-selection_name = context.REQUEST.get(\'list_selection_name\',None)\n
-if selection_name is not None:\n
-  return selection_name\n
-else:\n
-  selection_name = (context.REQUEST.get(\'box_relative_url\',\'\') +\'_\' +context.REQUEST.get(\'worklist\',\'\')).replace(\'/\',\'_\')+\'_selection\'\n
-  return selection_name\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>Products.ERP5Type.Log</string>
-                            <string>log</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>None</string>
-                            <string>selection_name</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Base_getWorklistGadgetSelectionName</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/Base_getWorklistParameters.xml b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/Base_getWorklistParameters.xml
deleted file mode 100644
index f55fbdd37c..0000000000
--- a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/Base_getWorklistParameters.xml
+++ /dev/null
@@ -1,173 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>from Products.ERP5Type.Log import log\n
-selection_params = getattr(context,\'portal_selections\').getSelectionParamsFor(context.Base_getWorklistGadgetSelectionName())\n
-id_list = context.REQUEST.get(\'worklist\',\'\') or selection_params.get(\'worklist\',\'\')\n
-if id_list is None:\n
-  return []\n
-id_list = id_list.split(\'/\')\n
-workflow_id = id_list[0]\n
-worklist_id = id_list[1]\n
-worklist_data_list = {}\n
-portal_workflow = getattr(context,\'portal_workflow\')\n
-workflow = getattr(portal_workflow, workflow_id)\n
-portal_type_list = workflow.getPortalTypeListForWorkflow()\n
-for id, qdef in workflow.worklists.items() :\n
-  if id == worklist_id:\n
-    parameters = []\n
-    var_match_keys = qdef.getVarMatchKeys()\n
-    if var_match_keys:\n
-      for k in var_match_keys:\n
-        v = qdef.getVarMatch(k)\n
-        parameters.append([k, v[0]])\n
-    parameters.append([\'portal_type\' , portal_type_list])\n
-    worklist_data_list[\'object_list\'] = []\n
-return parameters\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>_proxy_roles</string> </key>
-            <value>
-              <tuple>
-                <string>Manager</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>Products.ERP5Type.Log</string>
-                            <string>log</string>
-                            <string>_getattr_</string>
-                            <string>getattr</string>
-                            <string>context</string>
-                            <string>selection_params</string>
-                            <string>id_list</string>
-                            <string>None</string>
-                            <string>_getitem_</string>
-                            <string>workflow_id</string>
-                            <string>worklist_id</string>
-                            <string>worklist_data_list</string>
-                            <string>portal_workflow</string>
-                            <string>workflow</string>
-                            <string>portal_type_list</string>
-                            <string>_getiter_</string>
-                            <string>id</string>
-                            <string>qdef</string>
-                            <string>parameters</string>
-                            <string>var_match_keys</string>
-                            <string>k</string>
-                            <string>v</string>
-                            <string>_write_</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Base_getWorklistParameters</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist.xml b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist.xml
deleted file mode 100644
index 3bac94430f..0000000000
--- a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string>Base_edit</string> </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>edit_order</string> </key>
-            <value>
-              <list/>
-            </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>left</string>
-                <string>right</string>
-                <string>center</string>
-                <string>bottom</string>
-                <string>hidden</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>bottom</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>center</string> </key>
-                    <value>
-                      <list>
-                        <string>listbox</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>left</string> </key>
-                    <value>
-                      <list>
-                        <string>listbox_modification_date</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>right</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ERP5Site_viewWorklist</string> </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string>persons_listbox</string> </value>
-        </item>
-        <item>
-            <key> <string>pt</string> </key>
-            <value> <string>gadget_view</string> </value>
-        </item>
-        <item>
-            <key> <string>row_length</string> </key>
-            <value> <int>4</int> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>update_action</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist/listbox.xml b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist/listbox.xml
deleted file mode 100644
index d46a15bd8c..0000000000
--- a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist/listbox.xml
+++ /dev/null
@@ -1,574 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>listbox</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>all_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>anchor</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>count_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_params</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>global_attributes</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_action</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>meta_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>page_template</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>portal_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>select</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>selection_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>url_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>all_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>anchor</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>count_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_params</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>global_attributes</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_action</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>meta_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>page_template</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>portal_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>select</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>selection_name</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>url_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>all_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>anchor</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value>
-                      <list>
-                        <tuple>
-                          <string>title</string>
-                          <string>Title</string>
-                        </tuple>
-                        <tuple>
-                          <string>modification_date</string>
-                          <string>Modification date</string>
-                        </tuple>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>count_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hiddenLabel</string> </value>
-                </item>
-                <item>
-                    <key> <string>default_params</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_root_list</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>domain_tree</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable_columns</string> </key>
-                    <value>
-                      <list>
-                        <tuple>
-                          <string>modification_date</string>
-                          <string>Modification Date</string>
-                        </tuple>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>global_attributes</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>lines</string> </key>
-                    <value> <int>5</int> </value>
-                </item>
-                <item>
-                    <key> <string>list_action</string> </key>
-                    <value> <string>list</string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>meta_types</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>page_template</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>portal_types</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>report_root_list</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>report_tree</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>search</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>search_columns</string> </key>
-                    <value>
-                      <list>
-                        <tuple>
-                          <string>title</string>
-                          <string>Title</string>
-                        </tuple>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>select</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>selection_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value>
-                      <list>
-                        <tuple>
-                          <string>modification_date</string>
-                          <string>Modification date</string>
-                        </tuple>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>sort_columns</string> </key>
-                    <value>
-                      <list>
-                        <tuple>
-                          <string>title</string>
-                          <string>Title</string>
-                        </tuple>
-                        <tuple>
-                          <string>modification_date</string>
-                          <string>Modification date</string>
-                        </tuple>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>stat_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>stat_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Worklist</string> </value>
-                </item>
-                <item>
-                    <key> <string>url_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:context.Base_getWorklistParameters()</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:context.Base_getWorklistGadgetSelectionName()</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <global name="Method" module="Products.Formulator.MethodField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>method_name</string> </key>
-            <value> <string>portal_catalog</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist/listbox_modification_date.xml b/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist/listbox_modification_date.xml
deleted file mode 100644
index f35b0a103d..0000000000
--- a/bt5/erp5_knowledge_pad/SkinTemplateItem/portal_skins/erp5_gadget/ERP5Site_viewWorklist/listbox_modification_date.xml
+++ /dev/null
@@ -1,1996 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="DateTimeField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>listbox_modification_date</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>datetime_out_of_range</string> </key>
-                    <value> <string>The date and time you entered were out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_datetime</string> </key>
-                    <value> <string>You did not enter a valid date and time.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>sub_form</string> </key>
-            <value>
-              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hiddenLabel</string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string>/</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string>ymd</string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string>text</string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string>:</string> </value>
-                </item>
-                <item>
-                    <key> <string>timezone_style</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Modification Date</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.Form</string>
-          <string>BasicForm</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>fields</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>ampm</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>day</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hour</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>minute</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>month</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>year</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>Default</string>
-                <string>date</string>
-                <string>time</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>Default</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>date</string> </key>
-                    <value>
-                      <list>
-                        <string>year</string>
-                        <string>month</string>
-                        <string>day</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time</string> </key>
-                    <value>
-                      <list>
-                        <string>hour</string>
-                        <string>minute</string>
-                        <string>ampm</string>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>ISO-8859-1</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Basic Form</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ampm</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hiddenLabel</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>am/pm</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <global name="IntegerField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>day</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hiddenLabel</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Day</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="5" aka="AAAAAAAAAAU=">
-    <pickle>
-      <tuple>
-        <global name="IntegerField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>hour</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hiddenLabel</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Hour</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="6" aka="AAAAAAAAAAY=">
-    <pickle>
-      <tuple>
-        <global name="IntegerField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>minute</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hiddenLabel</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Minute</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="7" aka="AAAAAAAAAAc=">
-    <pickle>
-      <tuple>
-        <global name="IntegerField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>month</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hiddenLabel</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Month</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="8" aka="AAAAAAAAAAg=">
-    <pickle>
-      <tuple>
-        <global name="IntegerField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>year</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hiddenLabel</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Year</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
-- 
2.30.9


From a754f66a47df5c2b79f07ea9ad64fe98986c8a6e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 13:22:45 +0000
Subject: [PATCH 048/163]  - check bad incorrect login works correctly in case
 of no connection to    authentication server

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39150 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5Wizard/tests/testERP5RemoteUserManager.py  | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index 70c7431c2f..67ffbce58f 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -117,7 +117,6 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.portal.acl_users.manage_delObjects(self.erp5_remote_manager_id)
     self.portal.deleteContent('portal_witch')
     self.removeAuthenticationServerPreferences()
-    self.portal.portal_caches.clearAllCache()
     transaction.commit()
     self.tic()
     self.person_module.deleteContent(list(self.person_module.objectIds()))
@@ -128,6 +127,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     portal_preferences = self.portal.portal_preferences
     if self.system_preference_id in portal_preferences.objectIds():
       portal_preferences.deleteContent(self.system_preference_id)
+    self.portal.portal_caches.clearAllCache()
 
   def setUpAuthenticationServerPreferences(self, server_url=None,
       server_root=None):
@@ -183,6 +183,18 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.assertEqual(None,
         self.erp5_remote_manager.authenticateCredentials(kw))
 
+  def test_incorrect_login_in_case_of_no_connection(self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    self.removeAuthenticationServerPreferences()
+    transaction.commit()
+    self.tic()
+    self.assertEqual(None, self.erp5_remote_manager.authenticateCredentials(kw))
+
 def test_suite():
   suite = unittest.TestSuite()
   suite.addTest(unittest.makeSuite(TestERP5RemoteUserManager))
-- 
2.30.9


From 43dfebfa844a9ee1342c3073ea058057fcab8ca5 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 14 Oct 2010 13:24:30 +0000
Subject: [PATCH 049/163] use 'subject_list' instead of 'subject' in
 searchable_text_property_id so that we store all subjects in the full_text
 table.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39151 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 bt5/erp5_base/PortalTypeTemplateItem/portal_types/File.xml | 2 +-
 bt5/erp5_base/bt/revision                                  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_base/PortalTypeTemplateItem/portal_types/File.xml b/bt5/erp5_base/PortalTypeTemplateItem/portal_types/File.xml
index b65e6f9172..47256d075e 100644
--- a/bt5/erp5_base/PortalTypeTemplateItem/portal_types/File.xml
+++ b/bt5/erp5_base/PortalTypeTemplateItem/portal_types/File.xml
@@ -96,7 +96,7 @@
                 <string>reference</string>
                 <string>version</string>
                 <string>short_title</string>
-                <string>subject</string>
+                <string>subject_list</string>
                 <string>source_reference</string>
                 <string>source_project_title</string>
               </tuple>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 6e3b01e5e2..f30735b327 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-883
\ No newline at end of file
+884
\ No newline at end of file
-- 
2.30.9


From bb5042619009aa995e5fda911845a790c7bd2b1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 13:37:02 +0000
Subject: [PATCH 050/163]  - add more test cases for simulated failures of
 external server  - clean up imports

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39154 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../tests/testERP5RemoteUserManager.py        | 125 ++++++++++++++++--
 1 file changed, 116 insertions(+), 9 deletions(-)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index 67ffbce58f..4bfd51bc23 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -26,17 +26,16 @@
 #
 ##############################################################################
 
+from AccessControl.SecurityManagement import newSecurityManager
+from Products.ERP5.ERP5Site import ERP5Site
+from Products.ERP5Security.ERP5UserManager import SUPER_USER
+from Products.ERP5Type.Base import Base
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
-from Products.ERP5Type.tests.utils import createZODBPythonScript
 from Products.ERP5Wizard import addERP5RemoteUserManager
+from Products.ERP5Wizard.Tool.WizardTool import GeneratorCall
+import socket
 import transaction
 import unittest
-from Products.ERP5Security.ERP5UserManager import SUPER_USER
-from AccessControl.SecurityManagement import getSecurityManager,\
-    newSecurityManager
-from Products.ERP5Type.Base import Base
-from Products.ERP5.ERP5Site import ERP5Site
-from Products.ERP5Wizard.Tool.WizardTool import GeneratorCall
 
 # portal_witch simulation
 def proxyMethodHandler(self, kw):
@@ -73,6 +72,15 @@ ERP5Site.ERP5Site_getExpressInstanceUid =\
     ERP5Site_getExpressInstanceUid
 ERP5Site.security.declarePublic('ERP5Site_getExpressInstanceUid')
 
+# portal_wizard patches
+def raises_socket_error(self, **kw):
+  raise socket.error
+
+def raises_socket_sslerror(self, **kw):
+  raise socket.sslerror
+
+def raises_valueerror(self, **kw):
+  raise ValueError
 
 class TestERP5RemoteUserManager(ERP5TypeTestCase):
   """Low level tests of remote logging"""
@@ -156,7 +164,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
   def createPerson(self, reference, password):
     """Creates person with reference and password in title to simulate remote
     logging"""
-    person = self.person_module.newContent(
+    self.person_module.newContent(
         portal_type=self.person_portal_type,
         reference=reference, title=password)
 
@@ -193,7 +201,106 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.removeAuthenticationServerPreferences()
     transaction.commit()
     self.tic()
-    self.assertEqual(None, self.erp5_remote_manager.authenticateCredentials(kw))
+    self.assertEqual(None,
+        self.erp5_remote_manager.authenticateCredentials(kw))
+
+  def test_loggable_in_case_of_server_socket_error(self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    self.assertEqual(('someone', 'someone'),
+        self.erp5_remote_manager.authenticateCredentials(kw))
+    transaction.commit()
+    self.tic()
+    # patch Wizard Tool to raise in callRemoteProxyMethod
+    from Products.ERP5Wizard.Tool.WizardTool import WizardTool
+    original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
+    try:
+      WizardTool.callRemoteProxyMethod = raises_socket_error
+      self.assertRaises(socket.error,
+          self.portal.portal_wizard.callRemoteProxyMethod)
+      self.assertEqual(('someone', 'someone'),
+        self.erp5_remote_manager.authenticateCredentials(kw))
+    finally:
+      WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
+
+  def test_loggable_in_case_of_server_socket_sslerror(self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    self.assertEqual(('someone', 'someone'),
+        self.erp5_remote_manager.authenticateCredentials(kw))
+    transaction.commit()
+    self.tic()
+    # patch Wizard Tool to raise in callRemoteProxyMethod
+    from Products.ERP5Wizard.Tool.WizardTool import WizardTool
+    original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
+    try:
+      WizardTool.callRemoteProxyMethod = raises_socket_sslerror
+      self.assertRaises(socket.sslerror,
+          self.portal.portal_wizard.callRemoteProxyMethod)
+      self.assertEqual(('someone', 'someone'),
+        self.erp5_remote_manager.authenticateCredentials(kw))
+    finally:
+      WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
+
+  def test_not_loggable_in_case_of_server_raises_anything_else(self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    self.assertEqual(('someone', 'someone'),
+        self.erp5_remote_manager.authenticateCredentials(kw))
+    transaction.commit()
+    self.tic()
+    # patch Wizard Tool to raise in callRemoteProxyMethod
+    from Products.ERP5Wizard.Tool.WizardTool import WizardTool
+    original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
+    try:
+      WizardTool.callRemoteProxyMethod = raises_valueerror
+      self.assertRaises(ValueError,
+          self.portal.portal_wizard.callRemoteProxyMethod)
+      self.assertEqual(('someone', 'someone'),
+        self.erp5_remote_manager.authenticateCredentials(kw))
+    finally:
+      WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
+
+  def test_loggable_in_case_of_server_socket_error_with_failed_login_between(
+      self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    self.assertEqual(('someone', 'someone'),
+        self.erp5_remote_manager.authenticateCredentials(kw))
+    transaction.commit()
+    self.tic()
+    # patch Wizard Tool to raise in callRemoteProxyMethod
+    from Products.ERP5Wizard.Tool.WizardTool import WizardTool
+    original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
+    try:
+      WizardTool.callRemoteProxyMethod = raises_socket_error
+      self.assertRaises(socket.error,
+          self.portal.portal_wizard.callRemoteProxyMethod)
+      self.assertEqual(('someone', 'someone'),
+        self.erp5_remote_manager.authenticateCredentials(kw))
+      self.assertEqual(None,
+        self.erp5_remote_manager.authenticateCredentials(
+          {'login':kw['login'], 'password':'wrong_password'}))
+      self.assertEqual(('someone', 'someone'),
+        self.erp5_remote_manager.authenticateCredentials(kw))
+    finally:
+      WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
 def test_suite():
   suite = unittest.TestSuite()
-- 
2.30.9


From 81fda35245a674ab8c3ff08e0cdc02963500fdd1 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 14 Oct 2010 13:42:40 +0000
Subject: [PATCH 051/163] we no longer need to pin ipython version.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39155 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/versions-common.cfg | 1 -
 1 file changed, 1 deletion(-)

diff --git a/buildout/profiles/versions-common.cfg b/buildout/profiles/versions-common.cfg
index af4dcde0c9..6a597c5cba 100644
--- a/buildout/profiles/versions-common.cfg
+++ b/buildout/profiles/versions-common.cfg
@@ -4,7 +4,6 @@
 PyXML = 0.8.4
 erp5_bt5_revision = ${:erp5_products_revision}
 erp5_products_revision =
-ipython = 0.10
 numpy = 1.3.0
 plone.recipe.zope2instance = 3.6
 # official pysvn egg does not work with zc.recipe.egg, so we use our
-- 
2.30.9


From fa8d121d9daaa3448a848a0a381aaf7d64f60f55 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 13:43:04 +0000
Subject: [PATCH 052/163] Filter expressions shall use 'context' to refer to
 the object

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39156 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/tests/testERP5Type.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5Type/tests/testERP5Type.py b/product/ERP5Type/tests/testERP5Type.py
index 276ac77469..eee79e6762 100644
--- a/product/ERP5Type/tests/testERP5Type.py
+++ b/product/ERP5Type/tests/testERP5Type.py
@@ -2830,7 +2830,7 @@ class TestPropertySheet:
 class TestAccessControl(ERP5TypeTestCase):
   # Isolate test in a dedicaced class in order not to break other tests
   # when this one fails.
-  expression = 'python: here.getPortalType() or 1'
+  expression = 'python: context.getPortalType() or 1'
 
   def getTitle(self):
     return "ERP5Type"
-- 
2.30.9


From 5ee04678c619749b83e7e960e83c62f014ababd4 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 13:43:33 +0000
Subject: [PATCH 053/163] Performance: get tools from the portal instead of
 relying on acquisition

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39157 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/patches/CMFBTreeFolder.py  | 3 +--
 product/ERP5Type/patches/CMFCatalogAware.py | 3 +--
 product/ERP5Type/patches/DCWorkflow.py      | 6 +-----
 product/ERP5Type/patches/WorkflowTool.py    | 9 +++++----
 4 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/product/ERP5Type/patches/CMFBTreeFolder.py b/product/ERP5Type/patches/CMFBTreeFolder.py
index c6acdeed72..d06efc5609 100644
--- a/product/ERP5Type/patches/CMFBTreeFolder.py
+++ b/product/ERP5Type/patches/CMFBTreeFolder.py
@@ -18,7 +18,6 @@ try:
   from Products.CMFCore.CMFBTreeFolder import CMFBTreeFolder
 except ImportError:
   from Products.BTreeFolder2.CMFBTreeFolder import CMFBTreeFolder
-from Products.CMFCore.utils import getToolByName
 
 """
   This patch tries to give only portal types that are defined
@@ -33,7 +32,7 @@ def CMFBTreeFolder_allowedContentTypes(self):
       this folder.
   """
   result = []
-  portal_types = getToolByName(self, 'portal_types')
+  portal_types = self.getPortalObject().portal_types
   myType = portal_types.getTypeInfo(self)
 
   if myType is not None:
diff --git a/product/ERP5Type/patches/CMFCatalogAware.py b/product/ERP5Type/patches/CMFCatalogAware.py
index 98d466a6f0..05be3556d3 100644
--- a/product/ERP5Type/patches/CMFCatalogAware.py
+++ b/product/ERP5Type/patches/CMFCatalogAware.py
@@ -16,7 +16,6 @@
 
 from Products.CMFCore.CMFCatalogAware import CMFCatalogAware
 from Acquisition import aq_base
-from Products.CMFCore.utils import getToolByName
 
 def reindexObject(self, idxs=[], *args, **kw):
     """
@@ -31,7 +30,7 @@ def reindexObject(self, idxs=[], *args, **kw):
         # Update the modification date.
         if getattr(aq_base(self), 'notifyModified', None) is not None:
             self.notifyModified()
-    catalog = getToolByName(self, 'portal_catalog', None)
+    catalog = self._getCatalogTool()
     if catalog is not None:
         catalog.reindexObject(self, idxs=idxs, *args, **kw)
 
diff --git a/product/ERP5Type/patches/DCWorkflow.py b/product/ERP5Type/patches/DCWorkflow.py
index ba179517ab..499459afb4 100644
--- a/product/ERP5Type/patches/DCWorkflow.py
+++ b/product/ERP5Type/patches/DCWorkflow.py
@@ -119,9 +119,7 @@ def DCWorkflowDefinition_listGlobalActions(self, info):
     '''
     if not self.worklists:
       return None  # Optimization
-    workflow_tool = getToolByName(self, 'portal_workflow')
-    workflow = getattr(workflow_tool, self.id)
-    _getPortalTypeListForWorkflow = CachingMethod(workflow.getPortalTypeListForWorkflow,
+    _getPortalTypeListForWorkflow = CachingMethod(self.getPortalTypeListForWorkflow,
                                                   id=('_getPortalTypeListForWorkflow', self.id), 
                                                   cache_factory = 'erp5_ui_long')
     portal_type_list = _getPortalTypeListForWorkflow()
@@ -217,8 +215,6 @@ def DCWorkflowDefinition_getWorklistVariableMatchDict(self, info,
   """
   if not self.worklists:
     return None
-  workflow_tool = getToolByName(self, 'portal_workflow')
-  workflow = getattr(workflow_tool, self.id)
 
   def getPortalTypeListForWorkflow(workflow_id):
       workflow_tool = getToolByName(self, 'portal_workflow')
diff --git a/product/ERP5Type/patches/WorkflowTool.py b/product/ERP5Type/patches/WorkflowTool.py
index c208d4b25d..37c49ec2dc 100644
--- a/product/ERP5Type/patches/WorkflowTool.py
+++ b/product/ERP5Type/patches/WorkflowTool.py
@@ -448,10 +448,11 @@ def WorkflowTool_listActions(self, info=None, object=None, src__=False):
         if a is not None:
           worklist_dict[wf_id] = a
 
-  if len(worklist_dict):
-    is_anonymous = getToolByName(self, 'portal_membership').isAnonymousUser()
-    portal_url = getToolByName(self, 'portal_url')()
-    portal_catalog = getToolByName(self, 'portal_catalog')
+  if worklist_dict:
+    portal = self.getPortalObject()
+    is_anonymous = portal.portal_membership.isAnonymousUser()
+    portal_url = portal.portal_url()
+    portal_catalog = portal.portal_catalog
     search_result = getattr(self, "Base_getCountFromWorklistTable", None)
     use_cache = search_result is not None
     if use_cache:
-- 
2.30.9


From 06606ffc3bb5e6ddcfd0499aa17cd4ba966933b2 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 13:44:02 +0000
Subject: [PATCH 054/163] Disable apparently useless patch

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39158 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/patches/WorkflowTool.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5Type/patches/WorkflowTool.py b/product/ERP5Type/patches/WorkflowTool.py
index 37c49ec2dc..88d9cfc3b8 100644
--- a/product/ERP5Type/patches/WorkflowTool.py
+++ b/product/ERP5Type/patches/WorkflowTool.py
@@ -849,4 +849,4 @@ try:
 except ImportError:
   from Products.CMFCore import WorkflowCore
   # We're on CMF 2, where WorkflowMethod has been removed from CMFCore
-  WorkflowCore.WorkflowMethod = WorkflowCore.WorkflowAction = WorkflowMethod
+  #WorkflowCore.WorkflowMethod = WorkflowCore.WorkflowAction = WorkflowMethod
-- 
2.30.9


From d12cae211b98e990b441d78f4059d1806fd825c6 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 13:45:56 +0000
Subject: [PATCH 055/163] small optimization

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39159 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/SQLCatalog.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py
index 392e5feec9..f7ff3c43fb 100644
--- a/product/ZSQLCatalog/SQLCatalog.py
+++ b/product/ZSQLCatalog/SQLCatalog.py
@@ -101,14 +101,13 @@ except ImportError:
   def getTransactionalVariable():
     return {}
 
-def generateCatalogCacheId(method_id, *args, **kwd):
-  self = args[0]
+def generateCatalogCacheId(method_id, self, *args, **kwd):
   # XXX: getPath is overkill for a unique cache identifier.
   # What I would like to use instead of it is:
   #   (self._p_jar.db().database_name, self._p_oid)
   # but database_name is not unique in at least ZODB 3.4 (Zope 2.8.8).
   return str((method_id, self.getCacheSequenceNumber(), self.getPath(),
-    args[1:], kwd))
+    args, kwd))
 
 class transactional_cache_decorator:
   """
-- 
2.30.9


From cc27609d29488138021abf41f7d1fec8b5501a2c Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 14 Oct 2010 13:59:33 +0000
Subject: [PATCH 056/163] we no longer export empty files under bt/ directory.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39161 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/bootstrap/erp5_core/bt/categories_list             | 0
 product/ERP5/bootstrap/erp5_core/bt/provision_list              | 0
 product/ERP5/bootstrap/erp5_core/bt/revision                    | 2 +-
 .../bootstrap/erp5_core/bt/template_catalog_datetime_key_list   | 0
 .../bootstrap/erp5_core/bt/template_catalog_full_text_key_list  | 0
 .../bootstrap/erp5_core/bt/template_catalog_keyword_key_list    | 0
 .../bootstrap/erp5_core/bt/template_catalog_local_role_key_list | 0
 .../ERP5/bootstrap/erp5_core/bt/template_catalog_method_id_list | 0
 .../bootstrap/erp5_core/bt/template_catalog_multivalue_key_list | 0
 .../bootstrap/erp5_core/bt/template_catalog_related_key_list    | 0
 .../bootstrap/erp5_core/bt/template_catalog_request_key_list    | 0
 .../bootstrap/erp5_core/bt/template_catalog_result_key_list     | 0
 .../bootstrap/erp5_core/bt/template_catalog_result_table_list   | 0
 .../ERP5/bootstrap/erp5_core/bt/template_catalog_role_key_list  | 0
 .../bootstrap/erp5_core/bt/template_catalog_scriptable_key_list | 0
 .../ERP5/bootstrap/erp5_core/bt/template_catalog_topic_key_list | 0
 product/ERP5/bootstrap/erp5_core/bt/template_constraint_id_list | 0
 product/ERP5/bootstrap/erp5_core/bt/template_document_id_list   | 0
 product/ERP5/bootstrap/erp5_core/bt/template_local_role_list    | 0
 product/ERP5/bootstrap/erp5_core/bt/template_local_roles_list   | 0
 .../bootstrap/erp5_core/bt/template_message_translation_list    | 0
 product/ERP5/bootstrap/erp5_core/bt/template_module_id_list     | 0
 .../erp5_core/bt/template_portal_type_hidden_content_type_list  | 0
 .../ERP5/bootstrap/erp5_core/bt/template_portal_type_role_list  | 0
 .../ERP5/bootstrap/erp5_core/bt/template_portal_type_roles_list | 0
 product/ERP5/bootstrap/erp5_core/bt/template_preference_list    | 0
 product/ERP5/bootstrap/erp5_core/bt/template_product_id_list    | 0
 .../ERP5/bootstrap/erp5_core/bt/template_property_sheet_id_list | 0
 .../erp5_core/bt/template_registered_skin_selection_list        | 0
 .../ERP5/bootstrap/erp5_core/bt/template_site_property_id_list  | 0
 product/ERP5/bootstrap/erp5_core/bt/template_test_id_list       | 0
 .../ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/categories_list | 0
 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/comment     | 0
 .../ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/dependency_list | 0
 .../ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/maintainer_list | 0
 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision    | 2 +-
 .../erp5_mysql_innodb_catalog/bt/template_action_path_list      | 0
 .../erp5_mysql_innodb_catalog/bt/template_base_category_list    | 0
 .../bt/template_catalog_keyword_key_list                        | 0
 .../bt/template_catalog_local_role_key_list                     | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../bt/template_catalog_request_key_list                        | 0
 .../bt/template_catalog_search_key_list                         | 0
 .../bt/template_catalog_topic_key_list                          | 0
 .../erp5_mysql_innodb_catalog/bt/template_constraint_id_list    | 0
 .../erp5_mysql_innodb_catalog/bt/template_document_id_list      | 0
 .../erp5_mysql_innodb_catalog/bt/template_extension_id_list     | 0
 .../erp5_mysql_innodb_catalog/bt/template_local_role_list       | 0
 .../erp5_mysql_innodb_catalog/bt/template_local_roles_list      | 0
 .../bt/template_message_translation_list                        | 0
 .../erp5_mysql_innodb_catalog/bt/template_module_id_list        | 0
 .../bootstrap/erp5_mysql_innodb_catalog/bt/template_path_list   | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../erp5_mysql_innodb_catalog/bt/template_portal_type_id_list   | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../erp5_mysql_innodb_catalog/bt/template_portal_type_role_list | 0
 .../bt/template_portal_type_roles_list                          | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 .../erp5_mysql_innodb_catalog/bt/template_preference_list       | 0
 .../erp5_mysql_innodb_catalog/bt/template_product_id_list       | 0
 .../bt/template_property_sheet_id_list                          | 0
 .../bt/template_registered_skin_selection_list                  | 0
 .../bootstrap/erp5_mysql_innodb_catalog/bt/template_role_list   | 0
 .../erp5_mysql_innodb_catalog/bt/template_site_property_id_list | 0
 .../erp5_mysql_innodb_catalog/bt/template_skin_id_list          | 0
 .../erp5_mysql_innodb_catalog/bt/template_test_id_list          | 0
 .../erp5_mysql_innodb_catalog/bt/template_tool_id_list          | 0
 .../erp5_mysql_innodb_catalog/bt/template_workflow_id_list      | 0
 .../ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/categories_list    | 0
 .../ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/dependency_list    | 0
 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/revision       | 2 +-
 .../erp5_mysql_ndb_catalog/bt/template_action_path_list         | 0
 .../erp5_mysql_ndb_catalog/bt/template_base_category_list       | 0
 .../bt/template_catalog_multivalue_key_list                     | 0
 .../erp5_mysql_ndb_catalog/bt/template_catalog_request_key_list | 0
 .../erp5_mysql_ndb_catalog/bt/template_catalog_topic_key_list   | 0
 .../erp5_mysql_ndb_catalog/bt/template_constraint_id_list       | 0
 .../erp5_mysql_ndb_catalog/bt/template_document_id_list         | 0
 .../erp5_mysql_ndb_catalog/bt/template_extension_id_list        | 0
 .../erp5_mysql_ndb_catalog/bt/template_local_roles_list         | 0
 .../erp5_mysql_ndb_catalog/bt/template_message_translation_list | 0
 .../bootstrap/erp5_mysql_ndb_catalog/bt/template_module_id_list | 0
 .../ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_path_list | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../bt/template_portal_type_base_category_list                  | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../erp5_mysql_ndb_catalog/bt/template_portal_type_id_list      | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../erp5_mysql_ndb_catalog/bt/template_portal_type_roles_list   | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 .../erp5_mysql_ndb_catalog/bt/template_preference_list          | 0
 .../erp5_mysql_ndb_catalog/bt/template_product_id_list          | 0
 .../erp5_mysql_ndb_catalog/bt/template_property_sheet_id_list   | 0
 .../ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_role_list | 0
 .../erp5_mysql_ndb_catalog/bt/template_site_property_id_list    | 0
 .../bootstrap/erp5_mysql_ndb_catalog/bt/template_skin_id_list   | 0
 .../bootstrap/erp5_mysql_ndb_catalog/bt/template_test_id_list   | 0
 .../erp5_mysql_ndb_catalog/bt/template_workflow_id_list         | 0
 product/ERP5/bootstrap/erp5_xhtml_style/bt/categories_list      | 0
 product/ERP5/bootstrap/erp5_xhtml_style/bt/comment              | 0
 product/ERP5/bootstrap/erp5_xhtml_style/bt/revision             | 2 +-
 .../bootstrap/erp5_xhtml_style/bt/template_action_path_list     | 0
 .../bootstrap/erp5_xhtml_style/bt/template_base_category_list   | 0
 .../erp5_xhtml_style/bt/template_catalog_datetime_key_list      | 0
 .../erp5_xhtml_style/bt/template_catalog_full_text_key_list     | 0
 .../erp5_xhtml_style/bt/template_catalog_keyword_key_list       | 0
 .../erp5_xhtml_style/bt/template_catalog_local_role_key_list    | 0
 .../erp5_xhtml_style/bt/template_catalog_method_id_list         | 0
 .../erp5_xhtml_style/bt/template_catalog_multivalue_key_list    | 0
 .../erp5_xhtml_style/bt/template_catalog_related_key_list       | 0
 .../erp5_xhtml_style/bt/template_catalog_request_key_list       | 0
 .../erp5_xhtml_style/bt/template_catalog_result_key_list        | 0
 .../erp5_xhtml_style/bt/template_catalog_result_table_list      | 0
 .../erp5_xhtml_style/bt/template_catalog_role_key_list          | 0
 .../erp5_xhtml_style/bt/template_catalog_scriptable_key_list    | 0
 .../erp5_xhtml_style/bt/template_catalog_topic_key_list         | 0
 .../bootstrap/erp5_xhtml_style/bt/template_constraint_id_list   | 0
 .../bootstrap/erp5_xhtml_style/bt/template_document_id_list     | 0
 .../bootstrap/erp5_xhtml_style/bt/template_extension_id_list    | 0
 .../ERP5/bootstrap/erp5_xhtml_style/bt/template_local_role_list | 0
 .../bootstrap/erp5_xhtml_style/bt/template_local_roles_list     | 0
 .../erp5_xhtml_style/bt/template_message_translation_list       | 0
 .../ERP5/bootstrap/erp5_xhtml_style/bt/template_module_id_list  | 0
 .../bt/template_portal_type_allowed_content_type_list           | 0
 .../erp5_xhtml_style/bt/template_portal_type_base_category_list | 0
 .../bt/template_portal_type_hidden_content_type_list            | 0
 .../bootstrap/erp5_xhtml_style/bt/template_portal_type_id_list  | 0
 .../bt/template_portal_type_property_sheet_list                 | 0
 .../erp5_xhtml_style/bt/template_portal_type_role_list          | 0
 .../erp5_xhtml_style/bt/template_portal_type_roles_list         | 0
 .../bt/template_portal_type_workflow_chain_list                 | 0
 .../ERP5/bootstrap/erp5_xhtml_style/bt/template_preference_list | 0
 .../ERP5/bootstrap/erp5_xhtml_style/bt/template_product_id_list | 0
 .../erp5_xhtml_style/bt/template_property_sheet_id_list         | 0
 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_role_list   | 0
 .../erp5_xhtml_style/bt/template_site_property_id_list          | 0
 .../ERP5/bootstrap/erp5_xhtml_style/bt/template_test_id_list    | 0
 .../ERP5/bootstrap/erp5_xhtml_style/bt/template_tool_id_list    | 0
 .../bootstrap/erp5_xhtml_style/bt/template_workflow_id_list     | 0
 141 files changed, 4 insertions(+), 4 deletions(-)
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/categories_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/provision_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_datetime_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_full_text_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_keyword_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_local_role_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_method_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_multivalue_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_related_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_request_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_result_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_result_table_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_role_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_scriptable_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_catalog_topic_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_constraint_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_document_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_local_role_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_local_roles_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_message_translation_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_module_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_portal_type_role_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_portal_type_roles_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_preference_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_product_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_property_sheet_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_registered_skin_selection_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_site_property_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_core/bt/template_test_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/categories_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/comment
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/dependency_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/maintainer_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_action_path_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_base_category_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_keyword_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_local_role_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_request_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_search_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_topic_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_constraint_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_document_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_extension_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_local_role_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_local_roles_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_message_translation_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_module_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_path_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_base_category_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_role_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_roles_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_preference_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_product_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_property_sheet_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_registered_skin_selection_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_role_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_site_property_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_skin_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_test_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_tool_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_workflow_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/categories_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/dependency_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_action_path_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_base_category_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_catalog_multivalue_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_catalog_request_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_catalog_topic_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_constraint_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_document_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_extension_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_local_roles_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_message_translation_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_module_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_path_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_base_category_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_property_sheet_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_roles_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_workflow_chain_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_preference_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_product_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_property_sheet_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_role_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_site_property_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_skin_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_test_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_workflow_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/categories_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/comment
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_action_path_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_base_category_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_datetime_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_full_text_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_keyword_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_local_role_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_method_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_multivalue_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_related_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_request_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_result_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_result_table_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_role_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_scriptable_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_topic_key_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_constraint_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_document_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_extension_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_local_role_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_local_roles_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_message_translation_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_module_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_allowed_content_type_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_base_category_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_hidden_content_type_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_property_sheet_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_role_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_roles_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_workflow_chain_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_preference_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_product_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_property_sheet_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_role_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_site_property_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_test_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_tool_id_list
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_workflow_id_list

diff --git a/product/ERP5/bootstrap/erp5_core/bt/categories_list b/product/ERP5/bootstrap/erp5_core/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/provision_list b/product/ERP5/bootstrap/erp5_core/bt/provision_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index c2bde1101c..7ffcb4ea9b 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1743
\ No newline at end of file
+1744
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_datetime_key_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_full_text_key_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_keyword_key_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_local_role_key_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_method_id_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_multivalue_key_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_related_key_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_request_key_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_result_key_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_result_table_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_role_key_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_scriptable_key_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_catalog_topic_key_list b/product/ERP5/bootstrap/erp5_core/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_constraint_id_list b/product/ERP5/bootstrap/erp5_core/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_document_id_list b/product/ERP5/bootstrap/erp5_core/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_local_role_list b/product/ERP5/bootstrap/erp5_core/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_local_roles_list b/product/ERP5/bootstrap/erp5_core/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_message_translation_list b/product/ERP5/bootstrap/erp5_core/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_module_id_list b/product/ERP5/bootstrap/erp5_core/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_hidden_content_type_list b/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_role_list b/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_roles_list b/product/ERP5/bootstrap/erp5_core/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_preference_list b/product/ERP5/bootstrap/erp5_core/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_product_id_list b/product/ERP5/bootstrap/erp5_core/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_property_sheet_id_list b/product/ERP5/bootstrap/erp5_core/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_registered_skin_selection_list b/product/ERP5/bootstrap/erp5_core/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_site_property_id_list b/product/ERP5/bootstrap/erp5_core/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_core/bt/template_test_id_list b/product/ERP5/bootstrap/erp5_core/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/categories_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/comment b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/dependency_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/maintainer_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/maintainer_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
index 5e78f1eb7e..cbd6012bc6 100644
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
+++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-203
\ No newline at end of file
+204
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_action_path_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_base_category_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_keyword_key_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_local_role_key_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_request_key_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_search_key_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_search_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_topic_key_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_constraint_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_document_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_extension_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_local_role_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_local_roles_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_message_translation_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_module_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_path_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_base_category_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_role_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_roles_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_preference_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_product_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_property_sheet_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_registered_skin_selection_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_registered_skin_selection_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_role_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_site_property_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_skin_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_test_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_tool_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_workflow_id_list b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/categories_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/dependency_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/dependency_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/revision b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/revision
index bb95160cb6..3e932fe8f1 100644
--- a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/revision
+++ b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/revision
@@ -1 +1 @@
-33
+34
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_action_path_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_base_category_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_catalog_multivalue_key_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_catalog_request_key_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_catalog_topic_key_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_constraint_id_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_document_id_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_extension_id_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_local_roles_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_message_translation_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_module_id_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_path_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_allowed_content_type_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_base_category_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_hidden_content_type_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_id_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_property_sheet_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_roles_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_workflow_chain_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_preference_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_product_id_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_property_sheet_id_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_role_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_site_property_id_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_skin_id_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_skin_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_test_id_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_workflow_id_list b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/categories_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/categories_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/comment b/product/ERP5/bootstrap/erp5_xhtml_style/bt/comment
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
index 294c3c599c..6ea72f0416 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
@@ -1 +1 @@
-1031
\ No newline at end of file
+1032
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_action_path_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_action_path_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_base_category_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_datetime_key_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_datetime_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_full_text_key_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_full_text_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_keyword_key_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_keyword_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_local_role_key_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_local_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_method_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_method_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_multivalue_key_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_multivalue_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_related_key_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_related_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_request_key_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_request_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_result_key_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_result_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_result_table_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_result_table_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_role_key_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_role_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_scriptable_key_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_scriptable_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_topic_key_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_catalog_topic_key_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_constraint_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_constraint_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_document_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_document_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_extension_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_extension_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_local_role_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_local_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_local_roles_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_local_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_message_translation_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_message_translation_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_module_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_module_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_allowed_content_type_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_allowed_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_base_category_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_base_category_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_hidden_content_type_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_hidden_content_type_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_property_sheet_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_property_sheet_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_role_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_roles_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_roles_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_workflow_chain_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_portal_type_workflow_chain_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_preference_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_preference_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_product_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_product_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_property_sheet_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_property_sheet_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_role_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_role_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_site_property_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_site_property_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_test_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_test_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_tool_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_tool_id_list
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_workflow_id_list b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_workflow_id_list
deleted file mode 100644
index e69de29bb2..0000000000
-- 
2.30.9


From b2bfde09b38bf6af47df815edea5c0d5c6c15d01 Mon Sep 17 00:00:00 2001
From: Romain Courteaud <romain@nexedi.com>
Date: Thu, 14 Oct 2010 14:21:59 +0000
Subject: [PATCH 057/163] Test worklist gadget.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39163 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../gadgets_zuite/testWorklistGadget.xml      | 225 ++++++++++++++++++
 bt5/erp5_knowledge_pad_ui_test/bt/revision    |   2 +-
 2 files changed, 226 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_knowledge_pad_ui_test/PathTemplateItem/portal_tests/gadgets_zuite/testWorklistGadget.xml

diff --git a/bt5/erp5_knowledge_pad_ui_test/PathTemplateItem/portal_tests/gadgets_zuite/testWorklistGadget.xml b/bt5/erp5_knowledge_pad_ui_test/PathTemplateItem/portal_tests/gadgets_zuite/testWorklistGadget.xml
new file mode 100644
index 0000000000..ebe4324417
--- /dev/null
+++ b/bt5/erp5_knowledge_pad_ui_test/PathTemplateItem/portal_tests/gadgets_zuite/testWorklistGadget.xml
@@ -0,0 +1,225 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<html xmlns:tal="http://xml.zope.org/namespaces/tal"\n
+      xmlns:metal="http://xml.zope.org/namespaces/metal">\n
+<head>\n
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">\n
+<title>Test Worklist Gadget</title>\n
+</head>\n
+<body>\n
+<table cellpadding="1" cellspacing="1" border="1">\n
+<thead>\n
+<tr><td rowspan="1" colspan="3">Test Worklist Gadget</td></tr>\n
+</thead><tbody>\n
+\n
+<tal:block metal:use-macro="here/ListBoxZuite_CommonTemplate/macros/init" />\n
+<span metal:use-macro="container/Zuite_CommonTemplate/macros/init">init</span>\n
+\n
+<!-- Set longer timeout. -->\n
+<tr>\n
+  <td>setTimeout</td>\n
+  <td>180000</td>\n
+  <td></td>\n
+</tr>\n
+\n
+<tr>\n
+  <td>openAndWait</td>\n
+  <td>${base_url}/view</td>\n
+  <td></td>\n
+</tr>\n
+<span metal:use-macro="container/Zuite_CommonTemplate/macros/wait_for_activities">\n
+Wait for activities</span>\n
+\n
+<!-- Add to pad few gadgets -->\n
+<tr>\n
+  <td>openAndWait</td>\n
+  <td>${base_url}/Zuite_AddGadgetToActivePad?gadget_relative_url=portal_gadgets/erp5_worklists</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>storeText</td>\n
+  <td>transition_message</td>\n
+  <td>worklist_box_url</td>\n
+</tr>\n
+<tr>\n
+  <td>openAndWait</td>\n
+  <td>${base_url}/Zuite_getGadgetIdByRelativeUrl?knowledge_box_url=${workflist_box_url}</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>storeText</td>\n
+  <td>transition_message</td>\n
+  <td>worklist_box_id</td>\n
+</tr>\n
+\n
+<span metal:use-macro="container/Zuite_CommonTemplate/macros/wait_for_activities">Wait for activities</span>\n
+\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/FooModule_createObjects?num:int=10</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Created Successfully.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/Zuite_waitForActivities</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Done.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/0/view</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>selectAndWait</td>\n
+  <td>select_action</td>\n
+  <td>Validate Action</td>\n
+</tr>\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>dialog_submit_button</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/Zuite_waitForActivities</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Done.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/foo_module/Base_clearCache</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>assertTextPresent</td>\n
+  <td>Cleared.</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/view</td>\n
+  <td></td>\n
+</tr>\n
+\n
+<tal:block tal:condition="python: context.TestTool_getSkinName()==\'Mobile\'">\n
+  <tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/goToFrontPage" />\n
+</tal:block>\n
+\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>//a[text()="Draft To Validate (9)"]</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//span[@class="listbox-current-page-total-number"]</td>\n
+  <td>9 records</td> \n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//*[@class="listbox-data-line-0 DataA"]//a[not(@title)][1]</td>\n
+  <td>1</td>\n
+</tr>\n
+\n
+<tr>\n
+  <td>open</td>\n
+  <td>${base_url}/view</td>\n
+  <td></td>\n
+</tr>\n
+<tal:block tal:condition="python: context.TestTool_getSkinName()==\'Mobile\'">\n
+  <tal:block metal:use-macro="here/Zuite_CommonTemplate/macros/goToFrontPage" />\n
+</tal:block>\n
+\n
+<tr>\n
+  <td>clickAndWait</td>\n
+  <td>//a[text()="Validated Foos (1)"]</td>\n
+  <td></td>\n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//span[@class="listbox-current-page-total-number"]</td>\n
+  <td>1 records</td> \n
+</tr>\n
+<tr>\n
+  <td>verifyText</td>\n
+  <td>//*[@class="listbox-data-line-0 DataA"]//a[not(@title)][1]</td>\n
+  <td>0</td>\n
+</tr>\n
+\n
+</tbody></table>\n
+</body>\n
+</html>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>testWorklistGadget</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/revision b/bt5/erp5_knowledge_pad_ui_test/bt/revision
index c7930257df..301160a930 100644
--- a/bt5/erp5_knowledge_pad_ui_test/bt/revision
+++ b/bt5/erp5_knowledge_pad_ui_test/bt/revision
@@ -1 +1 @@
-7
\ No newline at end of file
+8
\ No newline at end of file
-- 
2.30.9


From dfe42d58023c42ef5cc6d2ddeb36b9887c5f3f24 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 14:28:35 +0000
Subject: [PATCH 058/163]  - fix raises hooks, they were raising something else
  - check login with clearing cache, as ERP5 remote user manager caches a   
 lot  - add checks for more raises

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39164 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../tests/testERP5RemoteUserManager.py        | 104 +++++++++++-------
 1 file changed, 66 insertions(+), 38 deletions(-)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index 4bfd51bc23..78a8c6020b 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -73,15 +73,21 @@ ERP5Site.ERP5Site_getExpressInstanceUid =\
 ERP5Site.security.declarePublic('ERP5Site_getExpressInstanceUid')
 
 # portal_wizard patches
-def raises_socket_error(self, **kw):
+def raises_socket_error(self, *args, **kw):
   raise socket.error
 
-def raises_socket_sslerror(self, **kw):
+def raises_socket_sslerror(self, *args, **kw):
   raise socket.sslerror
 
-def raises_valueerror(self, **kw):
+def raises_valueerror(self, *args, **kw):
   raise ValueError
 
+def raises_socket_timeout(self, *args, **kw):
+  raise socket.timeout
+
+def raises_socket_gaierror(self, *args, **kw):
+  raise socket.gaierror
+
 class TestERP5RemoteUserManager(ERP5TypeTestCase):
   """Low level tests of remote logging"""
   def getBusinessTemplateList(self):
@@ -168,6 +174,12 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
         portal_type=self.person_portal_type,
         reference=reference, title=password)
 
+  def checkLogin(self, expected, sent):
+    """Helper to check login, clear cache later and commit transaction"""
+    self.assertEqual(expected,
+        self.erp5_remote_manager.authenticateCredentials(sent))
+    self.portal.portal_caches.clearAllCache()
+
   ############################################################################
   # TESTS
   ############################################################################
@@ -178,8 +190,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.assertEqual(('someone', 'someone'),
-        self.erp5_remote_manager.authenticateCredentials(kw))
+    self.checkLogin(('someone', 'someone'), kw)
 
   def test_incorrect_login(self):
     login = 'someone'
@@ -188,8 +199,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': 'another_password'}
-    self.assertEqual(None,
-        self.erp5_remote_manager.authenticateCredentials(kw))
+    self.checkLogin(None, kw)
 
   def test_incorrect_login_in_case_of_no_connection(self):
     login = 'someone'
@@ -201,8 +211,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.removeAuthenticationServerPreferences()
     transaction.commit()
     self.tic()
-    self.assertEqual(None,
-        self.erp5_remote_manager.authenticateCredentials(kw))
+    self.checkLogin(None, kw)
 
   def test_loggable_in_case_of_server_socket_error(self):
     login = 'someone'
@@ -211,10 +220,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.assertEqual(('someone', 'someone'),
-        self.erp5_remote_manager.authenticateCredentials(kw))
-    transaction.commit()
-    self.tic()
+    self.checkLogin(('someone', 'someone'), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -222,8 +228,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_error
       self.assertRaises(socket.error,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.assertEqual(('someone', 'someone'),
-        self.erp5_remote_manager.authenticateCredentials(kw))
+      self.checkLogin(('someone', 'someone'), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
@@ -234,10 +239,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.assertEqual(('someone', 'someone'),
-        self.erp5_remote_manager.authenticateCredentials(kw))
-    transaction.commit()
-    self.tic()
+    self.checkLogin(('someone', 'someone'), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -245,8 +247,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_sslerror
       self.assertRaises(socket.sslerror,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.assertEqual(('someone', 'someone'),
-        self.erp5_remote_manager.authenticateCredentials(kw))
+      self.checkLogin(('someone', 'someone'), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
@@ -257,10 +258,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.assertEqual(('someone', 'someone'),
-        self.erp5_remote_manager.authenticateCredentials(kw))
-    transaction.commit()
-    self.tic()
+    self.checkLogin(('someone', 'someone'), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -268,8 +266,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_valueerror
       self.assertRaises(ValueError,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.assertEqual(('someone', 'someone'),
-        self.erp5_remote_manager.authenticateCredentials(kw))
+      self.checkLogin(None, kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
@@ -281,10 +278,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.assertEqual(('someone', 'someone'),
-        self.erp5_remote_manager.authenticateCredentials(kw))
-    transaction.commit()
-    self.tic()
+    self.checkLogin(('someone', 'someone'), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -292,13 +286,47 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_error
       self.assertRaises(socket.error,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.assertEqual(('someone', 'someone'),
-        self.erp5_remote_manager.authenticateCredentials(kw))
-      self.assertEqual(None,
-        self.erp5_remote_manager.authenticateCredentials(
-          {'login':kw['login'], 'password':'wrong_password'}))
-      self.assertEqual(('someone', 'someone'),
-        self.erp5_remote_manager.authenticateCredentials(kw))
+      self.checkLogin(('someone', 'someone'), kw)
+      self.checkLogin(None, {'login':kw['login'], 'password':'wrong_password'})
+      self.checkLogin(('someone', 'someone'), kw)
+    finally:
+      WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
+
+  def test_loggable_in_case_of_server_socket_timeout(self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    self.checkLogin(('someone', 'someone'), kw)
+    # patch Wizard Tool to raise in callRemoteProxyMethod
+    from Products.ERP5Wizard.Tool.WizardTool import WizardTool
+    original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
+    try:
+      WizardTool.callRemoteProxyMethod = raises_socket_timeout
+      self.assertRaises(socket.timeout,
+          self.portal.portal_wizard.callRemoteProxyMethod)
+      self.checkLogin(('someone', 'someone'), kw)
+    finally:
+      WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
+
+  def test_loggable_in_case_of_server_gaierror(self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    self.checkLogin(('someone', 'someone'), kw)
+    # patch Wizard Tool to raise in callRemoteProxyMethod
+    from Products.ERP5Wizard.Tool.WizardTool import WizardTool
+    original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
+    try:
+      WizardTool.callRemoteProxyMethod = raises_socket_gaierror
+      self.assertRaises(socket.gaierror,
+          self.portal.portal_wizard.callRemoteProxyMethod)
+      self.checkLogin(('someone', 'someone'), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
-- 
2.30.9


From c1b4a6cfc2d3f6a5cf2dac1002dd277ac318ca7a Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Thu, 14 Oct 2010 14:31:42 +0000
Subject: [PATCH 059/163] Un-break erp5_forge, plus lots of format changes
 (safe to ignore)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39166 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_types/Base%20Type/copy_roles.xml   |  10 +-
 .../portal_types/Bug%20Line/document_list.xml |  10 +-
 .../portal_types/Bug%20Line/new_file.xml      |  10 +-
 .../portal_types/Bug%20Line/view.xml          |  10 +-
 .../portal_types/Bug%20Module/view.xml        |  10 +-
 .../portal_types/Bug/bug_line_send.xml        |  10 +-
 .../portal_types/Bug/document_list.xml        |  10 +-
 .../portal_types/Bug/new_file.xml             |  10 +-
 .../portal_types/Bug/view.xml                 |  10 +-
 .../Business%20Template/commit.xml            |  15 +-
 .../Business%20Template/create_report.xml     |  10 +-
 .../manage_field_library.xml                  |  10 +-
 .../rename_proxy_field.xml                    |  10 +-
 .../Business%20Template/svn_cleanup_locks.xml |  10 +-
 .../svn_conflicted_files.xml                  |  10 +-
 .../svn_unversioned_files.xml                 |  10 +-
 .../Business%20Template/update_svn_bt.xml     |  10 +-
 .../update_svn_bt_norevert.xml                |  10 +-
 .../view_svn_repos_infos.xml                  |  10 +-
 .../create_term_for_translation.xml           |  10 +-
 .../Glossary%20Module/export_po_file.xml      |  10 +-
 .../find_duplicate_terms.xml                  |  10 +-
 .../find_terms_from_portal_type.xml           |  10 +-
 .../find_terms_from_property_sheet.xml        |  10 +-
 .../find_terms_from_workflow.xml              |  10 +-
 .../update_fields_by_english_glossary.xml     |  10 +-
 ...pdate_portal_types_by_english_glossary.xml |  10 +-
 .../update_workflows_by_english_glossary.xml  |  10 +-
 .../portal_types/Glossary%20Module/view.xml   |  10 +-
 .../portal_types/Glossary%20Term/view.xml     |  10 +-
 .../portal_types/Preference/subversion.xml    |  10 +-
 .../Template%20Tool/bt_svn_history.xml        |  10 +-
 .../Template%20Tool/search_portal_type.xml    |  10 +-
 .../portal_actions/generate_pot_file.xml      |  10 +-
 ...ty_validation_state_title.catalog_keys.xml |   2 +-
 ...lated_causality_validation_state_title.xml |   5 +-
 .../portal_categories/bug_difficulty.xml      |   5 +-
 .../portal_categories/bug_group.xml           |   5 +-
 .../portal_categories/bug_priority.xml        |   5 +-
 .../portal_categories/bug_severity.xml        |   5 +-
 .../portal_categories/bug_type.xml            |   5 +-
 .../portal_categories/business_field.xml      |   9 +-
 .../portal_alarms/open_bugs_alarm.xml         |   5 +-
 .../business_field/accounting.xml             |   9 +-
 .../portal_categories/business_field/base.xml |   9 +-
 .../portal_categories/business_field/core.xml |   9 +-
 .../portal_categories/business_field/crm.xml  |   9 +-
 .../business_field/forge.xml                  |   9 +-
 .../business_field/invoicing.xml              |   9 +-
 .../business_field/payroll.xml                |   5 +-
 .../portal_categories/business_field/pdm.xml  |   9 +-
 .../portal_categories/business_field/svn.xml  |   9 +-
 .../business_field/trade.xml                  |   9 +-
 .../portal_types/Bug%20Line.xml               |  15 +-
 .../portal_types/Bug%20Module.xml             |  15 +-
 .../portal_types/Bug.xml                      |  15 +-
 .../portal_types/Glossary%20Module.xml        |  15 +-
 .../portal_types/Glossary%20Term.xml          |   5 +-
 .../portal_skins/erp5_forge.xml               |   5 +-
 .../Base_getOriginalBusinessTemplateId.xml    |   5 +-
 .../erp5_forge/Base_getOrphanObjects.xml      |   5 +-
 .../erp5_forge/Base_viewForgeFieldLibrary.xml |   5 +-
 .../my_content_type.xml                       |   5 +-
 .../erp5_forge/Base_viewOrphanObjectList.xml  |   5 +-
 .../Base_viewOrphanObjectList/listbox.xml     |   5 +-
 .../title_orphan.xml                          |   5 +-
 .../erp5_forge/BugLine_afterClone.xml         |   5 +-
 .../BugLine_getRecipientValueList.xml         |   5 +-
 .../portal_skins/erp5_forge/BugLine_init.xml  |   5 +-
 .../portal_skins/erp5_forge/BugLine_send.xml  |   5 +-
 .../portal_skins/erp5_forge/BugLine_view.xml  |   5 +-
 .../BugLine_view/my_content_type.xml          |   5 +-
 .../my_destination_title_list.xml             |   5 +-
 .../BugLine_view/my_source_title.xml          |   5 +-
 .../erp5_forge/BugLine_view/my_start_date.xml |   5 +-
 .../BugLine_view/my_text_content.xml          |   5 +-
 .../erp5_forge/BugLine_view/my_title.xml      |  15 +-
 .../my_translated_simulation_state_title.xml  |   5 +-
 .../BugModule_sendOpenBugListReminder.xml     |   5 +-
 .../erp5_forge/BugModule_viewBugList.xml      |   5 +-
 .../BugModule_viewBugList/listbox.xml         |   5 +-
 .../erp5_forge/Bug_afterClone.xml             |   5 +-
 .../Bug_doBugLineSendFastInputAction.xml      |   5 +-
 .../erp5_forge/Bug_getFollowUpListAsText.xml  |   5 +-
 .../Bug_getNotificationSenderValue.xml        |   5 +-
 .../erp5_forge/Bug_getRecipientValueList.xml  |   5 +-
 .../portal_skins/erp5_forge/Bug_init.xml      |   5 +-
 .../portal_skins/erp5_forge/Bug_newFile.xml   |   5 +-
 .../erp5_forge/Bug_searchFolder.xml           |   5 +-
 .../portal_skins/erp5_forge/Bug_view.xml      |   5 +-
 .../erp5_forge/Bug_view/listbox.xml           |   5 +-
 .../Bug_view/listbox_delivery_start_date.xml  |   5 +-
 .../Bug_view/listbox_text_content.xml         |  10 +-
 .../Bug_view/my_aggregate_title_list.xml      |   5 +-
 .../erp5_forge/Bug_view/my_bug_difficulty.xml |   5 +-
 .../erp5_forge/Bug_view/my_bug_priority.xml   |   5 +-
 .../erp5_forge/Bug_view/my_bug_severity.xml   |   5 +-
 .../erp5_forge/Bug_view/my_description.xml    |   5 +-
 .../Bug_view/my_destination_project_title.xml |   5 +-
 .../Bug_view/my_destination_section_title.xml |   5 +-
 .../Bug_view/my_destination_title.xml         |   5 +-
 .../Bug_view/my_follow_up_title.xml           |   5 +-
 .../erp5_forge/Bug_view/my_reference.xml      |   5 +-
 .../erp5_forge/Bug_view/my_resource.xml       |   5 +-
 .../Bug_view/my_source_decision_title.xml     |   5 +-
 .../Bug_view/my_source_project_title.xml      |   5 +-
 .../Bug_view/my_source_section_title.xml      |   5 +-
 .../erp5_forge/Bug_view/my_source_title.xml   |   5 +-
 .../Bug_view/my_source_trade_title.xml        |   5 +-
 .../erp5_forge/Bug_view/my_start_date.xml     |   5 +-
 .../erp5_forge/Bug_view/my_stop_date.xml      |   5 +-
 .../erp5_forge/Bug_view/my_tested.xml         |   5 +-
 .../erp5_forge/Bug_view/my_title.xml          |   5 +-
 .../my_translated_simulation_state_title.xml  |   5 +-
 .../Bug_viewBugLineSendFastInputDialog.xml    |   5 +-
 .../your_text_content.xml                     |   5 +-
 .../your_title.xml                            |  15 +-
 .../erp5_forge/Bug_viewEventList.xml          |   5 +-
 .../erp5_forge/Bug_viewEventList/listbox.xml  |  15 +-
 .../erp5_forge/Bug_viewEventList/my_title.xml |   5 +-
 .../erp5_forge/Bug_viewFieldLibrary.xml       |   5 +-
 .../Bug_viewFieldLibrary/listbox.xml          |   5 +-
 .../my_aggregate_title_list.xml               |   5 +-
 .../my_bug_difficulty.xml                     |  10 +-
 .../Bug_viewFieldLibrary/my_bug_group.xml     |   5 +-
 .../Bug_viewFieldLibrary/my_bug_priority.xml  |  10 +-
 .../Bug_viewFieldLibrary/my_bug_severity.xml  |  10 +-
 .../Bug_viewFieldLibrary/my_description.xml   |   5 +-
 .../my_destination_project_title.xml          |   5 +-
 .../my_destination_section_title.xml          |   5 +-
 .../my_destination_title.xml                  |   5 +-
 .../Bug_viewFieldLibrary/my_resource.xml      |  10 +-
 .../my_source_decision_title.xml              |   5 +-
 .../my_source_project_title.xml               |   5 +-
 .../my_source_section_title.xml               |   5 +-
 .../Bug_viewFieldLibrary/my_source_title.xml  |  10 +-
 .../my_source_trade_title.xml                 |   5 +-
 .../Bug_viewFieldLibrary/my_start_date.xml    |   5 +-
 .../Bug_viewFieldLibrary/my_stop_date.xml     |   5 +-
 .../Bug_viewFieldLibrary/my_tested.xml        |   5 +-
 .../Bug_viewFieldLibrary/my_text_content.xml  |  20 +-
 .../Bug_viewFieldLibrary/my_title.xml         |   5 +-
 .../my_translated_simulation_state_title.xml  |   5 +-
 .../erp5_forge/Bug_viewNewFileDialog.xml      |   5 +-
 .../your_description.xml                      |   5 +-
 .../Bug_viewNewFileDialog/your_file.xml       |   5 +-
 .../Bug_viewNewFileDialog/your_language.xml   |   5 +-
 .../your_portal_type.xml                      |  10 +-
 .../Bug_viewNewFileDialog/your_reference.xml  |   5 +-
 .../Bug_viewNewFileDialog/your_title.xml      |   5 +-
 .../Bug_viewNewFileDialog/your_version.xml    |   5 +-
 .../Bug_viewWorkflowActionDialog.xml          |   5 +-
 .../your_comment.xml                          |   5 +-
 .../your_send_event.xml                       |   5 +-
 .../your_workflow_action.xml                  |   5 +-
 .../TemplateTool_searchPortalType.xml         |   5 +-
 ...emplateTool_viewSearchPortalTypeDialog.xml |   5 +-
 .../your_portal_type.xml                      |   5 +-
 .../portal_skins/erp5_forge/diff.xml          |   5 +-
 .../portal_skins/erp5_glossary.xml            |   5 +-
 ...aryModule_createTermListForTranslation.xml |   5 +-
 .../GlossaryModule_findTermFromPortalType.xml |   5 +-
 ...ossaryModule_findTermFromPropertySheet.xml |   5 +-
 .../GlossaryModule_findTermFromWorkflow.xml   |   5 +-
 ...ssaryModule_getAvailablePortalTypeList.xml |   5 +-
 ...ryModule_getAvailablePropertySheetList.xml |   5 +-
 ...ossaryModule_getBusinessFieldFieldList.xml |   5 +-
 ...yModule_getBusinessFieldPortalTypeList.xml |   5 +-
 ...aryModule_getBusinessFieldWorkflowList.xml |   5 +-
 ...aryModule_getDuplicateGlossaryTermList.xml |   5 +-
 .../GlossaryModule_getFieldEditUrl.xml        |   5 +-
 ...aryModule_getLanguageListExceptEnglish.xml |   5 +-
 .../GlossaryModule_getPOFile.xml              |   5 +-
 ...ryModule_getPropertySheetAttributeList.xml |   5 +-
 .../GlossaryModule_getPropertySheetList.xml   |   5 +-
 .../GlossaryModule_getTemplateList.xml        |   5 +-
 ...ryModule_getTermDictListFromPortalType.xml |   5 +-
 ...odule_getTermDictListFromPropertySheet.xml |   5 +-
 ...saryModule_getTermDictListFromWorkflow.xml |   5 +-
 .../GlossaryModule_getWorkflowItemEditUrl.xml |   5 +-
 ...GlossaryModule_migrateLanguageProperty.xml |   5 +-
 ...lossaryModule_setPortalTypeDescription.xml |   5 +-
 .../GlossaryModule_updateFieldByTerm.xml      |   5 +-
 .../GlossaryModule_updatePortalTypeByTerm.xml |   5 +-
 .../GlossaryModule_updateWorkflowByTerm.xml   |   5 +-
 ...ryModule_viewDuplicateGlossaryTermList.xml |   5 +-
 .../listbox.xml                               |  10 +-
 ...odule_viewFieldAndTermComparisonDialog.xml |   5 +-
 .../listbox.xml                               |  10 +-
 .../listbox_term.xml                          |  15 +-
 .../GlossaryModule_viewFieldUpdateDialog.xml  |   5 +-
 .../your_auto_select.xml                      |   5 +-
 .../your_business_field_list.xml              |  10 +-
 ...odule_viewFindTermFromPortalTypeDialog.xml |   5 +-
 .../your_export_tsv.xml                       |   5 +-
 .../your_portal_type_list.xml                 |  10 +-
 ...le_viewFindTermFromPropertySheetDialog.xml |   5 +-
 .../your_export_tsv.xml                       |   5 +-
 .../your_property_sheet_list.xml              |  10 +-
 ...yModule_viewFindTermFromWorkflowDialog.xml |   5 +-
 .../your_export_tsv.xml                       |   5 +-
 .../your_template_list.xml                    |  10 +-
 .../GlossaryModule_viewGlossaryTermList.xml   |   5 +-
 .../listbox.xml                               |   5 +-
 ...lity_translated_validation_state_title.xml |  10 +-
 .../GlossaryModule_viewPOFileExportDialog.xml |   5 +-
 .../your_business_field_list.xml              |  10 +-
 .../your_language.xml                         |  10 +-
 ..._viewPortalTypeAndTermComparisonDialog.xml |   5 +-
 .../listbox.xml                               |  10 +-
 .../listbox_term.xml                          |  15 +-
 ...ssaryModule_viewTermListCreationDialog.xml |   5 +-
 .../your_language.xml                         |  10 +-
 ...le_viewWorkflowAndTermComparisonDialog.xml |   5 +-
 .../listbox.xml                               |  10 +-
 .../listbox_term.xml                          |  15 +-
 ...lossaryModule_viewWorkflowUpdateDialog.xml |   5 +-
 .../your_auto_select.xml                      |   5 +-
 .../your_business_field_list.xml              |  10 +-
 ...ryModule_zGetDuplicateGlossaryTermList.xml |   5 +-
 ...ausalityTranslatedValidationStateTitle.xml |   5 +-
 ...saryTerm_getDuplicateGlossaryTermCount.xml |   5 +-
 ...ssaryTerm_getDuplicateGlossaryTermList.xml |   5 +-
 .../erp5_glossary/GlossaryTerm_view.xml       |   5 +-
 .../GlossaryTerm_view/listbox.xml             |  10 +-
 .../GlossaryTerm_view/my_business_field.xml   |  10 +-
 .../GlossaryTerm_view/my_causality_title.xml  |  15 +-
 .../GlossaryTerm_view/my_comment.xml          |   5 +-
 .../GlossaryTerm_view/my_description.xml      |   5 +-
 .../GlossaryTerm_view/my_language.xml         |   5 +-
 .../GlossaryTerm_view/my_reference.xml        |   5 +-
 .../GlossaryTerm_view/my_title.xml            |   5 +-
 .../my_translated_validation_state_title.xml  |   5 +-
 .../GlossaryTerm_viewHeadOfComment.xml        |   5 +-
 .../erp5_glossary/Glossary_setGuard.xml       |   5 +-
 .../portal_skins/erp5_svn.xml                 |   5 +-
 .../BusinessTemplate_LogListMethod.xml        |   5 +-
 .../BusinessTemplate_doSvnCheckout.xml        |   5 +-
 .../BusinessTemplate_doSvnCleanup.xml         |   5 +-
 .../erp5_svn/BusinessTemplate_doSvnCommit.xml |   5 +-
 ...usinessTemplate_doSvnCreateWorkingCopy.xml | 133 ---------
 .../erp5_svn/BusinessTemplate_doSvnInfo.xml   |   5 +-
 .../BusinessTemplate_doSvnListConflicted.xml  |   5 +-
 .../BusinessTemplate_doSvnListUnversioned.xml |   5 +-
 .../erp5_svn/BusinessTemplate_doSvnLog.xml    |   5 +-
 .../BusinessTemplate_doSvnLogGlobal.xml       |   5 +-
 .../erp5_svn/BusinessTemplate_doSvnLogin.xml  |   5 +-
 .../erp5_svn/BusinessTemplate_doSvnLs.xml     |   5 +-
 .../BusinessTemplate_doSvnMultiDiff.xml       |   5 +-
 .../BusinessTemplate_doSvnRemoveFiles.xml     |   5 +-
 .../BusinessTemplate_doSvnResolvedFiles.xml   |   5 +-
 .../erp5_svn/BusinessTemplate_doSvnRevert.xml |   5 +-
 .../BusinessTemplate_doSvnSslTrust.xml        |   5 +-
 .../erp5_svn/BusinessTemplate_doSvnUpdate.xml |   5 +-
 .../BusinessTemplate_doSvnUpdateKeep.xml      |   5 +-
 .../BusinessTemplate_getRepositoryURL.xml     | 148 ----------
 .../BusinessTemplate_viewConflicted.xml       |   5 +-
 .../listbox.xml                               |   5 +-
 .../BusinessTemplate_viewSvnChangelog.xml     |   5 +-
 .../added_files.xml                           |   5 +-
 .../modified_files.xml                        |   5 +-
 .../reminder.xml                              |  10 +-
 .../removed_files.xml                         |   5 +-
 .../your_added.xml                            |  10 +-
 .../your_changelog.xml                        |   5 +-
 .../your_modified.xml                         |  10 +-
 .../your_removed.xml                          |  10 +-
 ...inessTemplate_viewSvnCreateWorkingCopy.xml | 145 ----------
 .../your_repository.xml                       | 265 ------------------
 .../erp5_svn/BusinessTemplate_viewSvnDiff.xml |  15 +-
 .../BusinessTemplate_viewSvnInfos.xml         |  15 +-
 .../BusinessTemplate_viewSvnInfosFile.xml     |  15 +-
 .../erp5_svn/BusinessTemplate_viewSvnLog.xml  |   5 +-
 .../BusinessTemplate_viewSvnLog/listbox.xml   |   5 +-
 .../listbox_message.xml                       |   5 +-
 .../BusinessTemplate_viewSvnLog/your_file.xml |   5 +-
 .../your_title.xml                            |   5 +-
 .../BusinessTemplate_viewSvnLogin.xml         |   5 +-
 .../realm_txt.xml                             |   5 +-
 .../your_added.xml                            |   5 +-
 .../your_auth.xml                             |   5 +-
 .../your_caller.xml                           |   5 +-
 .../your_changelog.xml                        |   5 +-
 .../your_modified.xml                         |   5 +-
 .../your_password.xml                         |   5 +-
 .../your_removed.xml                          |   5 +-
 .../your_user.xml                             |   5 +-
 .../BusinessTemplate_viewSvnMultiDiff.xml     |  15 +-
 .../BusinessTemplate_viewSvnSSLTrust.xml      |   5 +-
 .../failures.xml                              |   5 +-
 .../fingerprint.xml                           |   5 +-
 .../hostname.xml                              |   5 +-
 .../issuer_name.xml                           |   5 +-
 .../realm.xml                                 |   5 +-
 .../valid_from.xml                            |   5 +-
 .../valid_until.xml                           |   5 +-
 .../your_added.xml                            |   5 +-
 .../your_caller.xml                           |   5 +-
 .../your_changelog.xml                        |   5 +-
 .../your_failures.xml                         |   5 +-
 .../your_finger_print.xml                     |   5 +-
 .../your_hostname.xml                         |   5 +-
 .../your_issuer_dname.xml                     |   5 +-
 .../your_modified.xml                         |   5 +-
 .../your_realm.xml                            |   5 +-
 .../your_removed.xml                          |   5 +-
 .../your_valid_from.xml                       |   5 +-
 .../your_valid_until.xml                      |   5 +-
 .../BusinessTemplate_viewSvnShowFile.xml      |  15 +-
 .../BusinessTemplate_viewSvnStatus.xml        |  15 +-
 .../BusinessTemplate_viewUnversioned.xml      |   5 +-
 .../listbox.xml                               |   5 +-
 .../ERP5Subversion_dhtmlXCommon.js.xml        |   5 +-
 .../ERP5Subversion_dhtmlXTree.css.xml         |   5 +-
 .../erp5_svn/ERP5Subversion_dhtmlXTree.js.xml |   5 +-
 ...P5Subversion_doCreateJavaScriptDiff.js.xml |   5 +-
 ...Subversion_doCreateJavaScriptStatus.js.xml |   5 +-
 .../erp5_svn/ERP5Subversion_imgs.xml          |   5 +-
 .../ERP5Subversion_imgs/altbuttons.gif.xml    |   5 +-
 .../ERP5Subversion_imgs/altbuttonslow.gif.xml |   5 +-
 .../ERP5Subversion_imgs/blank.gif.xml         |   5 +-
 .../ERP5Subversion_imgs/captionoff.png.xml    |   5 +-
 .../ERP5Subversion_imgs/captionon.png.xml     |   5 +-
 .../ERP5Subversion_imgs/diffoff.png.xml       |   5 +-
 .../ERP5Subversion_imgs/diffon.png.xml        |   5 +-
 .../ERP5Subversion_imgs/document.png.xml      |   5 +-
 .../erp5_svn/ERP5Subversion_imgs/edit.png.xml |   5 +-
 .../ERP5Subversion_imgs/execoff.png.xml       |   5 +-
 .../ERP5Subversion_imgs/execon.png.xml        |   5 +-
 .../ERP5Subversion_imgs/expandoff.png.xml     |   5 +-
 .../ERP5Subversion_imgs/expandon.png.xml      |   5 +-
 .../ERP5Subversion_imgs/folder.png.xml        |   5 +-
 .../ERP5Subversion_imgs/folder_open.png.xml   |   5 +-
 .../ERP5Subversion_imgs/iconCheckAll.gif.xml  |   5 +-
 .../ERP5Subversion_imgs/iconCheckGray.gif.xml |   5 +-
 .../iconUnCheckAll.gif.xml                    |   5 +-
 .../ERP5Subversion_imgs/line1.gif.xml         |   5 +-
 .../ERP5Subversion_imgs/line2.gif.xml         |   5 +-
 .../ERP5Subversion_imgs/line3.gif.xml         |   5 +-
 .../ERP5Subversion_imgs/line4.gif.xml         |   5 +-
 .../ERP5Subversion_imgs/minus.gif.xml         |   5 +-
 .../ERP5Subversion_imgs/minus2.gif.xml        |   5 +-
 .../ERP5Subversion_imgs/minus3.gif.xml        |   5 +-
 .../ERP5Subversion_imgs/minus4.gif.xml        |   5 +-
 .../ERP5Subversion_imgs/minus5.gif.xml        |   5 +-
 .../ERP5Subversion_imgs/minus_ar.gif.xml      |   5 +-
 .../erp5_svn/ERP5Subversion_imgs/plus.gif.xml |   5 +-
 .../ERP5Subversion_imgs/plus2.gif.xml         |   5 +-
 .../ERP5Subversion_imgs/plus3.gif.xml         |   5 +-
 .../ERP5Subversion_imgs/plus4.gif.xml         |   5 +-
 .../ERP5Subversion_imgs/plus5.gif.xml         |   5 +-
 .../ERP5Subversion_imgs/plus_ar.gif.xml       |   5 +-
 .../ERP5Subversion_imgs/revertoff.png.xml     |   5 +-
 .../ERP5Subversion_imgs/reverton.png.xml      |   5 +-
 .../ERP5Subversion_imgs/trashoff.png.xml      |   5 +-
 .../ERP5Subversion_imgs/trashon.png.xml       |   5 +-
 .../erp5_svn/ERP5Subversion_imgs/wait.gif.xml |   5 +-
 .../erp5_svn/ERP5Subversion_menuico.js.xml    |   5 +-
 .../ERP5Subversion_movableMenu.css.xml        |   5 +-
 .../ERP5Subversion_movableMenu.js.xml         |   5 +-
 .../my_preferred_subversion_user_name.xml     |   5 +-
 ...preferred_subversion_working_copy_list.xml |   5 +-
 .../portal_skins/erp5_svn/tree.xml.xml        |   5 +-
 .../portal_skins/erp5_toolbox.xml             |   5 +-
 .../BaseType_viewCopyRoleListDialog.xml       |   5 +-
 .../your_portal_type_group_list.xml           |  10 +-
 .../your_portal_type_list.xml                 |  10 +-
 .../your_remove_existing_roles.xml            |   5 +-
 .../Base_checkSkinFolderForms.xml             |   5 +-
 ...ase_findMessageListFromPythonInProduct.xml |   5 +-
 .../Base_findStaticTranslationText.xml        |   5 +-
 ...etActionTitleListFromAllActionProvider.xml |   5 +-
 .../erp5_toolbox/Base_getFieldData.xml        |   5 +-
 .../Base_getFunctionFirstArgumentValue.xml    |   5 +-
 .../erp5_toolbox/Base_getSimulationTree.xml   |   5 +-
 .../erp5_toolbox/Base_viewSimulationTree.xml  |   5 +-
 .../BusinessTemplate_createReport.xml         |   5 +-
 ...usinessTemplate_getModifiableFieldList.xml |   5 +-
 .../BusinessTemplate_getProxyFieldUrl.xml     |   5 +-
 ...te_initializeListBoxForRenameFastInput.xml |   5 +-
 ...ializePreviewListBoxForRenameFastInput.xml |   5 +-
 .../BusinessTemplate_modifyFieldList.xml      |   5 +-
 .../BusinessTemplate_renameProxyField.xml     |   5 +-
 ...usinessTemplate_renameProxyFieldDialog.xml |   5 +-
 .../listbox.xml                               |  10 +-
 .../listbox_new_id.xml                        |   5 +-
 .../listbox_original_id.xml                   |   5 +-
 .../preview_listbox.xml                       |  10 +-
 .../preview_listbox_hidden_field_path.xml     |  10 +-
 .../preview_listbox_selected.xml              |  10 +-
 .../your_explanation.xml                      |  10 +-
 ...sTemplate_updateBeforeRenameProxyField.xml |   5 +-
 ...usinessTemplate_viewCreateReportDialog.xml |   5 +-
 .../your_portal_type.xml                      |  10 +-
 .../your_report_name.xml                      |   5 +-
 .../your_skin_folder.xml                      |  10 +-
 .../your_use_from_date_at_date.xml            |   5 +-
 ...plate_viewFieldLibraryManagementDialog.xml |   5 +-
 .../listbox.xml                               |  10 +-
 .../listbox_choice.xml                        |  15 +-
 ...slatedMessageListFromEntireSystemAsPot.xml |   5 +-
 .../erp5_toolbox/ERP5Site_setSkinCache.xml    |   5 +-
 .../ERP5Site_showAllUsedSelectionNames.xml    |   5 +-
 .../ERP5Type_cloneRoleInformation.xml         |   5 +-
 .../erp5_toolbox/PdfForm_dumpForms.xml        |   5 +-
 .../SkinsTool_getDeadProxyFieldList.xml       |   5 +-
 .../SkinsTool_getNotAssignedFieldList.xml     |   5 +-
 ...ingFieldWithoutProxyListBoxIdOrColumns.xml |   5 +-
 .../SkinsTool_listDuplicateSkins.xml          |   5 +-
 .../portal_skins/erp5_toolbox/grep.xml        |   5 +-
 .../portal_workflow/bug_event_workflow.xml    |   5 +-
 .../bug_event_workflow/scripts.xml            |   5 +-
 .../scripts/BugEvent_buildMessage.xml         |   5 +-
 .../scripts/BugEvent_checkConsistency.xml     |   5 +-
 .../scripts/BugEvent_sendNotification.xml     |   5 +-
 .../bug_event_workflow/states.xml             |   5 +-
 .../bug_event_workflow/states/cancelled.xml   |  10 +-
 .../bug_event_workflow/states/deleted.xml     |  10 +-
 .../bug_event_workflow/states/delivered.xml   |  10 +-
 .../bug_event_workflow/states/draft.xml       |  10 +-
 .../bug_event_workflow/states/planned.xml     |  10 +-
 .../bug_event_workflow/states/started.xml     |  10 +-
 .../bug_event_workflow/transitions.xml        |   5 +-
 .../bug_event_workflow/transitions/cancel.xml |   5 +-
 .../transitions/cancel_action.xml             |  10 +-
 .../bug_event_workflow/transitions/delete.xml |   5 +-
 .../transitions/delete_action.xml             |  10 +-
 .../transitions/deliver.xml                   |   5 +-
 .../transitions/deliver_action.xml            |  10 +-
 .../bug_event_workflow/transitions/plan.xml   |   5 +-
 .../transitions/plan_action.xml               |  10 +-
 .../bug_event_workflow/transitions/start.xml  |   5 +-
 .../transitions/start_action.xml              |  10 +-
 .../bug_event_workflow/variables.xml          |   5 +-
 .../bug_event_workflow/variables/action.xml   |  10 +-
 .../bug_event_workflow/variables/actor.xml    |  10 +-
 .../bug_event_workflow/variables/comment.xml  |  10 +-
 .../variables/error_message.xml               |   5 +-
 .../bug_event_workflow/variables/history.xml  |  10 +-
 .../variables/portal_type.xml                 |   5 +-
 .../bug_event_workflow/variables/time.xml     |  10 +-
 .../bug_event_workflow/worklists.xml          |   5 +-
 .../worklists/01_planned_bug_line_list.xml    |  15 +-
 .../portal_workflow/bug_workflow.xml          |   5 +-
 .../portal_workflow/bug_workflow/scripts.xml  |   5 +-
 .../scripts/Bug_sendNotification.xml          |   5 +-
 .../bug_workflow/scripts/checkConsistency.xml |   5 +-
 .../bug_workflow/scripts/setCloseDate.xml     |   5 +-
 .../portal_workflow/bug_workflow/states.xml   |   5 +-
 .../bug_workflow/states/cancelled.xml         |  10 +-
 .../bug_workflow/states/confirmed.xml         |  10 +-
 .../bug_workflow/states/deleted.xml           |  10 +-
 .../bug_workflow/states/delivered.xml         |  10 +-
 .../bug_workflow/states/draft.xml             |  10 +-
 .../bug_workflow/states/ready.xml             |  10 +-
 .../bug_workflow/states/stopped.xml           |  10 +-
 .../bug_workflow/transitions.xml              |   5 +-
 .../bug_workflow/transitions/cancel.xml       |   5 +-
 .../transitions/cancel_action.xml             |  20 +-
 .../bug_workflow/transitions/confirm.xml      |   5 +-
 .../transitions/confirm_action.xml            |  20 +-
 .../bug_workflow/transitions/delete.xml       |   5 +-
 .../transitions/delete_action.xml             |  10 +-
 .../bug_workflow/transitions/deliver.xml      |   5 +-
 .../transitions/deliver_action.xml            |  20 +-
 .../bug_workflow/transitions/re_assign.xml    |   5 +-
 .../transitions/re_assign_action.xml          |  20 +-
 .../bug_workflow/transitions/set_ready.xml    |   5 +-
 .../transitions/set_ready_action.xml          |  20 +-
 .../bug_workflow/transitions/stop.xml         |   5 +-
 .../bug_workflow/transitions/stop_action.xml  |  20 +-
 .../bug_workflow/variables.xml                |   5 +-
 .../bug_workflow/variables/action.xml         |   5 +-
 .../bug_workflow/variables/actor.xml          |   5 +-
 .../bug_workflow/variables/comment.xml        |   5 +-
 .../bug_workflow/variables/error_message.xml  |   5 +-
 .../bug_workflow/variables/history.xml        |   5 +-
 .../bug_workflow/variables/portal_type.xml    |   5 +-
 .../bug_workflow/variables/send_event.xml     |   5 +-
 .../bug_workflow/variables/time.xml           |   5 +-
 .../bug_workflow/worklists.xml                |   5 +-
 .../worklists/1_draft_bug_list.xml            |  15 +-
 .../worklists/2_assignee_confirmed_bug.xml    |  15 +-
 .../worklists/3_assignee_started_bug.xml      |  15 +-
 .../worklists/4_assignor_confirmed_bug.xml    |  15 +-
 .../worklists/5_assignor_assigned_bug.xml     |  15 +-
 bt5/erp5_forge/bt/revision                    |   2 +-
 ...template_update_business_template_workflow |   1 -
 bt5/erp5_forge/bt/template_update_tool        |   1 -
 489 files changed, 697 insertions(+), 3265 deletions(-)
 delete mode 100644 bt5/erp5_forge/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_forge/bt/template_update_tool

diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Base%20Type/copy_roles.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Base%20Type/copy_roles.xml
index ac64fe5131..90a7520754 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Base%20Type/copy_roles.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Base%20Type/copy_roles.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -74,10 +71,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/document_list.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/document_list.xml
index 1f0feda658..bbc4d310c4 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/document_list.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/document_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/new_file.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/new_file.xml
index 7da5cf7e1a..e6ce7dcb2c 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/new_file.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/new_file.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/view.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/view.xml
index f30b6e8a95..fda7467e00 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/view.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Line/view.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Module/view.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Module/view.xml
index 05e7ae8c18..a0f9697ddb 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Module/view.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug%20Module/view.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/bug_line_send.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/bug_line_send.xml
index 711b4c527f..9e92dc7d2d 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/bug_line_send.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/bug_line_send.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -74,10 +71,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/document_list.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/document_list.xml
index 2c49497d7c..367d210358 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/document_list.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/document_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/new_file.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/new_file.xml
index 7da5cf7e1a..e6ce7dcb2c 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/new_file.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/new_file.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/view.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/view.xml
index a2650d47ae..fe37b570dc 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/view.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Bug/view.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/commit.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/commit.xml
index 34bfb4d3cd..640985e168 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/commit.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/commit.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,10 +67,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -86,10 +80,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/create_report.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/create_report.xml
index 35232eeaf9..faec7c28e3 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/create_report.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/create_report.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/manage_field_library.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/manage_field_library.xml
index 9fd9f81a8d..f115b4b2a3 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/manage_field_library.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/manage_field_library.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/rename_proxy_field.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/rename_proxy_field.xml
index 1b7a3dfc3e..e1205406c2 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/rename_proxy_field.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/rename_proxy_field.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,10 +67,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_cleanup_locks.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_cleanup_locks.xml
index 2fcc6d2687..2589d01ca8 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_cleanup_locks.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_cleanup_locks.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_conflicted_files.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_conflicted_files.xml
index ed35a37012..5173be44f5 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_conflicted_files.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_conflicted_files.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_unversioned_files.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_unversioned_files.xml
index 87c3361360..20b7b4d2b8 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_unversioned_files.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/svn_unversioned_files.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/update_svn_bt.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/update_svn_bt.xml
index 4bca7a7ec0..1a71d795e5 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/update_svn_bt.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/update_svn_bt.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -72,10 +69,7 @@ Revert & Update Business Template from SVN
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/update_svn_bt_norevert.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/update_svn_bt_norevert.xml
index 60a39b1832..dba3569d86 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/update_svn_bt_norevert.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/update_svn_bt_norevert.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/view_svn_repos_infos.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/view_svn_repos_infos.xml
index be6efc1842..686d1a547a 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/view_svn_repos_infos.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Business%20Template/view_svn_repos_infos.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/create_term_for_translation.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/create_term_for_translation.xml
index c2e07908de..4a70ef4fc3 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/create_term_for_translation.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/create_term_for_translation.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/export_po_file.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/export_po_file.xml
index c7d83983f3..0777a8f6f3 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/export_po_file.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/export_po_file.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_duplicate_terms.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_duplicate_terms.xml
index c6b2012f0b..9b68ec178e 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_duplicate_terms.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_duplicate_terms.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_portal_type.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_portal_type.xml
index 773f1515a3..24df64224d 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_portal_type.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_portal_type.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_property_sheet.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_property_sheet.xml
index 5be94f02fc..9ff60b201a 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_property_sheet.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_property_sheet.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_workflow.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_workflow.xml
index c4a2aebebe..7d431b0dc7 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_workflow.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/find_terms_from_workflow.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_fields_by_english_glossary.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_fields_by_english_glossary.xml
index fea629b738..aefc180bb9 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_fields_by_english_glossary.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_fields_by_english_glossary.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_portal_types_by_english_glossary.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_portal_types_by_english_glossary.xml
index 4b717d9287..5da7f42306 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_portal_types_by_english_glossary.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_portal_types_by_english_glossary.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_workflows_by_english_glossary.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_workflows_by_english_glossary.xml
index 57e447a701..fbeddb4c98 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_workflows_by_english_glossary.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/update_workflows_by_english_glossary.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/view.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/view.xml
index 3974591ad5..3fad45ac54 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/view.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Module/view.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Term/view.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Term/view.xml
index 7776d9cc0f..db1eb0cf85 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Term/view.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Glossary%20Term/view.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Preference/subversion.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Preference/subversion.xml
index 8e138069ee..849b84a141 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Preference/subversion.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Preference/subversion.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Template%20Tool/bt_svn_history.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Template%20Tool/bt_svn_history.xml
index 6129281f68..ee61680c1d 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Template%20Tool/bt_svn_history.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Template%20Tool/bt_svn_history.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/Template%20Tool/search_portal_type.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/Template%20Tool/search_portal_type.xml
index c909d5ba38..968ce0759c 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/Template%20Tool/search_portal_type.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/Template%20Tool/search_portal_type.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -68,10 +65,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/ActionTemplateItem/portal_types/portal_actions/generate_pot_file.xml b/bt5/erp5_forge/ActionTemplateItem/portal_types/portal_actions/generate_pot_file.xml
index 13e021b31b..3f64942ae7 100644
--- a/bt5/erp5_forge/ActionTemplateItem/portal_types/portal_actions/generate_pot_file.xml
+++ b/bt5/erp5_forge/ActionTemplateItem/portal_types/portal_actions/generate_pot_file.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
-        <tuple/>
-      </tuple>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -60,10 +57,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_translated_causality_validation_state_title.catalog_keys.xml b/bt5/erp5_forge/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_translated_causality_validation_state_title.catalog_keys.xml
index 7d6996cb9c..a540f9431e 100644
--- a/bt5/erp5_forge/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_translated_causality_validation_state_title.catalog_keys.xml
+++ b/bt5/erp5_forge/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_translated_causality_validation_state_title.catalog_keys.xml
@@ -1,2 +1,2 @@
 <catalog_method>
-</catalog_method>
\ No newline at end of file
+</catalog_method>
diff --git a/bt5/erp5_forge/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_translated_causality_validation_state_title.xml b/bt5/erp5_forge/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_translated_causality_validation_state_title.xml
index 35d936b75a..c9c94486fa 100644
--- a/bt5/erp5_forge/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_translated_causality_validation_state_title.xml
+++ b/bt5/erp5_forge/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_related_translated_causality_validation_state_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="SQL" module="Products.ZSQLMethods.SQL"/>
-        <tuple/>
-      </tuple>
+      <global name="SQL" module="Products.ZSQLMethods.SQL"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_difficulty.xml b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_difficulty.xml
index 9d382b705f..3ef0c66cd7 100644
--- a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_difficulty.xml
+++ b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_difficulty.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
-        <tuple/>
-      </tuple>
+      <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_group.xml b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_group.xml
index e630b90ebf..ebec037a7c 100644
--- a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_group.xml
+++ b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_group.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
-        <tuple/>
-      </tuple>
+      <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_priority.xml b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_priority.xml
index 2360638941..c51d7da8c2 100644
--- a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_priority.xml
+++ b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_priority.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
-        <tuple/>
-      </tuple>
+      <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_severity.xml b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_severity.xml
index e8e46c2e20..81aa7a0ea2 100644
--- a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_severity.xml
+++ b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_severity.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
-        <tuple/>
-      </tuple>
+      <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_type.xml b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_type.xml
index 92ec4e6402..fd867949d0 100644
--- a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_type.xml
+++ b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/bug_type.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
-        <tuple/>
-      </tuple>
+      <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/business_field.xml b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/business_field.xml
index 5b69ff84da..a4958b11b7 100644
--- a/bt5/erp5_forge/CategoryTemplateItem/portal_categories/business_field.xml
+++ b/bt5/erp5_forge/CategoryTemplateItem/portal_categories/business_field.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
-        <tuple/>
-      </tuple>
+      <global name="BaseCategory" module="Products.ERP5Type.Document.BaseCategory"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -182,7 +179,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -190,7 +187,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_forge/PathTemplateItem/portal_alarms/open_bugs_alarm.xml b/bt5/erp5_forge/PathTemplateItem/portal_alarms/open_bugs_alarm.xml
index 72f31fdde4..9ca01f39df 100644
--- a/bt5/erp5_forge/PathTemplateItem/portal_alarms/open_bugs_alarm.xml
+++ b/bt5/erp5_forge/PathTemplateItem/portal_alarms/open_bugs_alarm.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Alarm" module="Products.ERP5Type.Document.Alarm"/>
-        <tuple/>
-      </tuple>
+      <global name="Alarm" module="Products.ERP5Type.Document.Alarm"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/accounting.xml b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/accounting.xml
index d0e5cf3b28..f0cf6a7556 100644
--- a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/accounting.xml
+++ b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/accounting.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
+      <global name="Category" module="Products.ERP5Type.Document.Category"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,7 +67,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -78,7 +75,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/base.xml b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/base.xml
index d889db850c..d18d11ffd6 100644
--- a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/base.xml
+++ b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/base.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
+      <global name="Category" module="Products.ERP5Type.Document.Category"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,7 +67,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -78,7 +75,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/core.xml b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/core.xml
index 482604bf79..a9bd77e783 100644
--- a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/core.xml
+++ b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/core.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
+      <global name="Category" module="Products.ERP5Type.Document.Category"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -76,7 +73,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -84,7 +81,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/crm.xml b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/crm.xml
index 87674f7f48..b1f8bd0fdb 100644
--- a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/crm.xml
+++ b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/crm.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
+      <global name="Category" module="Products.ERP5Type.Document.Category"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,7 +67,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -78,7 +75,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/forge.xml b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/forge.xml
index dff6b5e18f..f0d452dc89 100644
--- a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/forge.xml
+++ b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/forge.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
+      <global name="Category" module="Products.ERP5Type.Document.Category"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,7 +67,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -78,7 +75,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/invoicing.xml b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/invoicing.xml
index 69c36fdc6c..19c3f9a4b2 100644
--- a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/invoicing.xml
+++ b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/invoicing.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
+      <global name="Category" module="Products.ERP5Type.Document.Category"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -77,7 +74,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -85,7 +82,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/payroll.xml b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/payroll.xml
index b1a1ad0d4f..e6e52f7899 100644
--- a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/payroll.xml
+++ b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/payroll.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
+      <global name="Category" module="Products.ERP5Type.Document.Category"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/pdm.xml b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/pdm.xml
index 654dbcc725..908fa640c2 100644
--- a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/pdm.xml
+++ b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/pdm.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
+      <global name="Category" module="Products.ERP5Type.Document.Category"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,7 +67,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -78,7 +75,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/svn.xml b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/svn.xml
index 662e6bce03..1783f79d40 100644
--- a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/svn.xml
+++ b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/svn.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
+      <global name="Category" module="Products.ERP5Type.Document.Category"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,7 +67,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -78,7 +75,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/trade.xml b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/trade.xml
index 750ab0dafd..991d3b1092 100644
--- a/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/trade.xml
+++ b/bt5/erp5_forge/PathTemplateItem/portal_categories/business_field/trade.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Category" module="Products.ERP5Type.Document.Category"/>
-        <tuple/>
-      </tuple>
+      <global name="Category" module="Products.ERP5Type.Document.Category"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,7 +67,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
@@ -78,7 +75,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <global name="OOBTree" module="BTrees._OOBTree"/>
+      <global name="OOBTree" module="BTrees.OOBTree"/>
     </pickle>
     <pickle>
       <none/>
diff --git a/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug%20Line.xml b/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug%20Line.xml
index d3ba3b0c36..57d24c022d 100644
--- a/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug%20Line.xml
+++ b/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug%20Line.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -79,10 +76,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
-        <tuple/>
-      </tuple>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -99,10 +93,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
-        <tuple/>
-      </tuple>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug%20Module.xml b/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug%20Module.xml
index 9fff16c566..566e51975a 100644
--- a/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug%20Module.xml
+++ b/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug%20Module.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -82,10 +79,7 @@ be a problem).</string> </value>
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
-        <tuple/>
-      </tuple>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -102,10 +96,7 @@ be a problem).</string> </value>
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
-        <tuple/>
-      </tuple>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug.xml b/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug.xml
index e8dbc1d0d2..9205c45462 100644
--- a/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug.xml
+++ b/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Bug.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -82,10 +79,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
-        <tuple/>
-      </tuple>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -102,10 +96,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
-        <tuple/>
-      </tuple>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Glossary%20Module.xml b/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Glossary%20Module.xml
index 9a3500a939..8710e204cf 100644
--- a/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Glossary%20Module.xml
+++ b/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Glossary%20Module.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -82,10 +79,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
-        <tuple/>
-      </tuple>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -102,10 +96,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
-        <tuple/>
-      </tuple>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Glossary%20Term.xml b/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Glossary%20Term.xml
index f4920064b0..de9bfedac7 100644
--- a/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Glossary%20Term.xml
+++ b/bt5/erp5_forge/PortalTypeTemplateItem/portal_types/Glossary%20Term.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge.xml
index db79a581c6..bac1549e24 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Folder" module="OFS.Folder"/>
-        <tuple/>
-      </tuple>
+      <global name="Folder" module="OFS.Folder"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOriginalBusinessTemplateId.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOriginalBusinessTemplateId.xml
index 4c8830c9cc..2e2cf6f291 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOriginalBusinessTemplateId.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOriginalBusinessTemplateId.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOrphanObjects.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOrphanObjects.xml
index bc75156484..70dc7462b9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOrphanObjects.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_getOrphanObjects.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewForgeFieldLibrary.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewForgeFieldLibrary.xml
index ce0b2c3a3f..3a03ce1d58 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewForgeFieldLibrary.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewForgeFieldLibrary.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewForgeFieldLibrary/my_content_type.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewForgeFieldLibrary/my_content_type.xml
index 31b5e8f9e2..044bb2b8ea 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewForgeFieldLibrary/my_content_type.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewForgeFieldLibrary/my_content_type.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList.xml
index 5efd7d984b..10c4bd14e6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList/listbox.xml
index dba5e54985..9bf6e23970 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList/title_orphan.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList/title_orphan.xml
index 45feb09f94..ac3f7f2480 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList/title_orphan.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Base_viewOrphanObjectList/title_orphan.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_afterClone.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_afterClone.xml
index 1f3d6228ab..33fc16a3d4 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_afterClone.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_afterClone.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_getRecipientValueList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_getRecipientValueList.xml
index c2a31ca73c..24b2e612e5 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_getRecipientValueList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_getRecipientValueList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_init.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_init.xml
index ebe2a3b9be..6b5424f4c0 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_init.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_init.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_send.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_send.xml
index f76b79256d..35ab1713f0 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_send.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_send.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view.xml
index 29e4a69583..07459f363f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_content_type.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_content_type.xml
index 165ea927c7..990ccb805f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_content_type.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_content_type.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_destination_title_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_destination_title_list.xml
index 110ed9e3a0..bc4ec1e58b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_destination_title_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_destination_title_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_source_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_source_title.xml
index 003e31356f..f1ffbec732 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_source_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_source_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_start_date.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_start_date.xml
index d4104f6b95..fce67ff163 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_start_date.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_start_date.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_text_content.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_text_content.xml
index 9574c68e60..04dd472ea0 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_text_content.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_text_content.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_title.xml
index 5936fcb0e4..73954daa6d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -116,10 +113,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -132,10 +126,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_translated_simulation_state_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_translated_simulation_state_title.xml
index 032a1ce378..237ce4d684 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_translated_simulation_state_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugLine_view/my_translated_simulation_state_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_sendOpenBugListReminder.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_sendOpenBugListReminder.xml
index 162141d970..f1a2e65571 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_sendOpenBugListReminder.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_sendOpenBugListReminder.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_viewBugList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_viewBugList.xml
index c051c4fff9..e0af53f8a6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_viewBugList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_viewBugList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_viewBugList/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_viewBugList/listbox.xml
index 63a8767fcf..2a2fda7457 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_viewBugList/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/BugModule_viewBugList/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_afterClone.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_afterClone.xml
index da96724de8..614512b5ef 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_afterClone.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_afterClone.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_doBugLineSendFastInputAction.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_doBugLineSendFastInputAction.xml
index 73e9c05c66..d4300513fb 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_doBugLineSendFastInputAction.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_doBugLineSendFastInputAction.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getFollowUpListAsText.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getFollowUpListAsText.xml
index 76e9012979..563fc3fb9a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getFollowUpListAsText.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getFollowUpListAsText.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getNotificationSenderValue.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getNotificationSenderValue.xml
index 6e8262af94..d619d6fd62 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getNotificationSenderValue.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getNotificationSenderValue.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getRecipientValueList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getRecipientValueList.xml
index a483879939..ccef5d08b1 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getRecipientValueList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_getRecipientValueList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_init.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_init.xml
index 74da0efbf9..040403ae93 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_init.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_init.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_newFile.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_newFile.xml
index e1f964caaf..40ce16ce82 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_newFile.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_newFile.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_searchFolder.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_searchFolder.xml
index ab8e10117b..207519f928 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_searchFolder.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_searchFolder.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view.xml
index b395224b29..19a1918f88 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox.xml
index 000b8ce240..4c0ac32e7c 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox_delivery_start_date.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox_delivery_start_date.xml
index 3fdb305304..8cb01d4d8b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox_delivery_start_date.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox_delivery_start_date.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox_text_content.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox_text_content.xml
index c75724279c..640b0a4a9e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox_text_content.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/listbox_text_content.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -131,10 +128,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_aggregate_title_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_aggregate_title_list.xml
index 9a8f59331b..8bc4673f33 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_aggregate_title_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_aggregate_title_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_difficulty.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_difficulty.xml
index 7162be9763..d0b7f1c76d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_difficulty.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_difficulty.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_priority.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_priority.xml
index 684d1cdda7..64ed71f1a8 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_priority.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_priority.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_severity.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_severity.xml
index f044098158..d822c9291f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_severity.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_bug_severity.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_description.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_description.xml
index e8ca54fe6b..a5c1de735f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_description.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_description.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_project_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_project_title.xml
index a2a0908b7b..3a5171dc16 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_project_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_project_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_section_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_section_title.xml
index 1d9d3445de..7a967e2ef3 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_section_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_section_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_title.xml
index 92c4c5dcb4..eadc7f4364 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_destination_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_follow_up_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_follow_up_title.xml
index 11278b7e5e..95795a454e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_follow_up_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_follow_up_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_reference.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_reference.xml
index bc3573e3c4..142da1c854 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_reference.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_reference.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_resource.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_resource.xml
index 11885ae1e5..4ce24ab004 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_resource.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_resource.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_decision_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_decision_title.xml
index ac9e4ad465..9fb6eadaed 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_decision_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_decision_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_project_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_project_title.xml
index 7b2ee30caf..a5753ec1fc 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_project_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_project_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_section_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_section_title.xml
index 4aac7e39bb..58699dccbf 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_section_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_section_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_title.xml
index d84c0b05bd..e38759377f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_trade_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_trade_title.xml
index 858ecf758e..0ad08ff88f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_trade_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_source_trade_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_start_date.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_start_date.xml
index ceb34bd8a7..e41b597b69 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_start_date.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_start_date.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_stop_date.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_stop_date.xml
index 1fc17527de..b494c84339 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_stop_date.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_stop_date.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_tested.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_tested.xml
index f3d405e17f..bddd50e5df 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_tested.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_tested.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_title.xml
index f6e1e9b2a9..a030b064d6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_translated_simulation_state_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_translated_simulation_state_title.xml
index 032a1ce378..237ce4d684 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_translated_simulation_state_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_view/my_translated_simulation_state_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog.xml
index ea2e66a31b..5de10658f9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog/your_text_content.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog/your_text_content.xml
index 80c52c9c81..c9f0dd9fde 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog/your_text_content.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog/your_text_content.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog/your_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog/your_title.xml
index 93028208d8..9d2011875a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog/your_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewBugLineSendFastInputDialog/your_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -116,10 +113,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -132,10 +126,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList.xml
index 53b13eda83..f791166fcc 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList/listbox.xml
index f516abde54..276e1dc67b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -219,10 +216,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -235,10 +229,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="Method" module="Products.Formulator.MethodField"/>
-        <tuple/>
-      </tuple>
+      <global name="Method" module="Products.Formulator.MethodField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList/my_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList/my_title.xml
index 318d6ff5dd..3c76733945 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList/my_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewEventList/my_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary.xml
index b76edc7662..f7f4ebce62 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/listbox.xml
index 1ac74e604f..559b41ca80 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_aggregate_title_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_aggregate_title_list.xml
index 37da7e75b0..89ca2af9d1 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_aggregate_title_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_aggregate_title_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_difficulty.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_difficulty.xml
index c4d500d339..f9bf838210 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_difficulty.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_difficulty.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="ListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -266,10 +263,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_group.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_group.xml
index 8a820caa13..09eb120798 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_group.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_group.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="ListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_priority.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_priority.xml
index b8ee771d3c..3ecf83355b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_priority.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_priority.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="ListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -266,10 +263,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_severity.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_severity.xml
index c6f933d11d..9ca9cf7483 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_severity.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_bug_severity.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="ListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -266,10 +263,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_description.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_description.xml
index 07dc3bb171..e98bd2614b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_description.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_description.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_project_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_project_title.xml
index 1471d0cf03..e4c8dd0fbe 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_project_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_project_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_section_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_section_title.xml
index 4a1d9a803c..478105abb3 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_section_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_section_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_title.xml
index f7c92d3c09..579914f577 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_destination_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_resource.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_resource.xml
index 23dfbb2392..9e65918ce9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_resource.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_resource.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -105,10 +102,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_decision_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_decision_title.xml
index ff8cd03851..a342973639 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_decision_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_decision_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_project_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_project_title.xml
index 1a6b92d667..eed1ec26d8 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_project_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_project_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_section_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_section_title.xml
index b83e3c851a..45337461f4 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_section_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_section_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_title.xml
index f163cb5e2a..2d8becfbf4 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -137,10 +134,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_trade_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_trade_title.xml
index d1507c189b..4cfd5512b9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_trade_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_source_trade_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_start_date.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_start_date.xml
index 42bb3f675d..8b0b5d0ddb 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_start_date.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_start_date.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_stop_date.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_stop_date.xml
index ef50cb87a3..4ff1731074 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_stop_date.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_stop_date.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_tested.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_tested.xml
index 2dacbe1e29..eb88ac7fe8 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_tested.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_tested.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_text_content.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_text_content.xml
index 13b55fb792..654b948216 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_text_content.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_text_content.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -135,10 +132,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -151,10 +145,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -167,10 +158,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_title.xml
index f29ca76d03..59ed8e9825 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_translated_simulation_state_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_translated_simulation_state_title.xml
index d38f5c6015..ab7918b80d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_translated_simulation_state_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewFieldLibrary/my_translated_simulation_state_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog.xml
index 33ea9b0bc8..2eae4d6392 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_description.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_description.xml
index 852f28b557..bfc26f7853 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_description.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_description.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TextAreaField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="TextAreaField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_file.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_file.xml
index 54b426e3a7..ee44ba3f86 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_file.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_file.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="FileField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="FileField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_language.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_language.xml
index 6a60300e8d..8202921770 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_language.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_language.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_portal_type.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_portal_type.xml
index b9ac97a7f5..2523571044 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_portal_type.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_portal_type.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="ListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -266,10 +263,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_reference.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_reference.xml
index fc5b2368f5..0baf0e9435 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_reference.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_reference.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_title.xml
index 280103e100..96b7890b8a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_version.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_version.xml
index eec835b757..c3f1d93b76 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_version.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewNewFileDialog/your_version.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog.xml
index f88afb0cf4..2553ea6c38 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_comment.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_comment.xml
index fdee9a78d8..1c60740f09 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_comment.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_comment.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TextAreaField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="TextAreaField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_send_event.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_send_event.xml
index 18b119a7b4..55d819b970 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_send_event.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_send_event.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_workflow_action.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_workflow_action.xml
index 570df2e68d..458ab040ce 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_workflow_action.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/Bug_viewWorkflowActionDialog/your_workflow_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_searchPortalType.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_searchPortalType.xml
index b24b1e4052..7fbccf6df6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_searchPortalType.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_searchPortalType.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_viewSearchPortalTypeDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_viewSearchPortalTypeDialog.xml
index 51a4ce4772..6ed160b8cb 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_viewSearchPortalTypeDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_viewSearchPortalTypeDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_viewSearchPortalTypeDialog/your_portal_type.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_viewSearchPortalTypeDialog/your_portal_type.xml
index 48d09313f5..04897284ba 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_viewSearchPortalTypeDialog/your_portal_type.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/TemplateTool_viewSearchPortalTypeDialog/your_portal_type.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/diff.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/diff.xml
index dc61131f3c..3af6731c6f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/diff.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_forge/diff.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary.xml
index 71c2479130..be77512c19 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Folder" module="OFS.Folder"/>
-        <tuple/>
-      </tuple>
+      <global name="Folder" module="OFS.Folder"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_createTermListForTranslation.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_createTermListForTranslation.xml
index b85a0612c1..e7c439af0a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_createTermListForTranslation.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_createTermListForTranslation.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPortalType.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPortalType.xml
index 6ff235df57..a574b316b3 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPortalType.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPortalType.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPropertySheet.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPropertySheet.xml
index 440400666f..376963ad6a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPropertySheet.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromPropertySheet.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromWorkflow.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromWorkflow.xml
index f307b2f3b4..45aef8327f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromWorkflow.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_findTermFromWorkflow.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getAvailablePortalTypeList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getAvailablePortalTypeList.xml
index 842552dc2c..f894834dec 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getAvailablePortalTypeList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getAvailablePortalTypeList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getAvailablePropertySheetList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getAvailablePropertySheetList.xml
index c1cc156774..662a04109e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getAvailablePropertySheetList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getAvailablePropertySheetList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldFieldList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldFieldList.xml
index 31aad4475e..ce752fd98d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldFieldList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldFieldList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldPortalTypeList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldPortalTypeList.xml
index 06bf38e097..76c32958e6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldPortalTypeList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldPortalTypeList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldWorkflowList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldWorkflowList.xml
index af4000aee9..d57fb379c4 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldWorkflowList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getBusinessFieldWorkflowList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getDuplicateGlossaryTermList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getDuplicateGlossaryTermList.xml
index dce922c8f6..449cc3dd43 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getDuplicateGlossaryTermList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getDuplicateGlossaryTermList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getFieldEditUrl.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getFieldEditUrl.xml
index c5be45e0c7..79ec486dce 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getFieldEditUrl.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getFieldEditUrl.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getLanguageListExceptEnglish.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getLanguageListExceptEnglish.xml
index 95f3d54729..40306330e8 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getLanguageListExceptEnglish.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getLanguageListExceptEnglish.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPOFile.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPOFile.xml
index a81404fade..697934c1f6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPOFile.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPOFile.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPropertySheetAttributeList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPropertySheetAttributeList.xml
index 946e6fdbb7..c80949e846 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPropertySheetAttributeList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPropertySheetAttributeList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
-        <tuple/>
-      </tuple>
+      <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPropertySheetList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPropertySheetList.xml
index b7a9dc5df5..75f1185a9e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPropertySheetList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getPropertySheetList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
-        <tuple/>
-      </tuple>
+      <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTemplateList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTemplateList.xml
index 4e949fb1d2..15632da7e0 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTemplateList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTemplateList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromPortalType.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromPortalType.xml
index 18feccb3bd..a7abf8f3a4 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromPortalType.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromPortalType.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromPropertySheet.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromPropertySheet.xml
index 4e92b4e300..270b3291a3 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromPropertySheet.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromPropertySheet.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromWorkflow.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromWorkflow.xml
index f85eb65377..d56bbd4ce9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromWorkflow.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getTermDictListFromWorkflow.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getWorkflowItemEditUrl.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getWorkflowItemEditUrl.xml
index 887c4e965e..b4e166c829 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getWorkflowItemEditUrl.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_getWorkflowItemEditUrl.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_migrateLanguageProperty.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_migrateLanguageProperty.xml
index 3ca293a119..c7f7745653 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_migrateLanguageProperty.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_migrateLanguageProperty.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_setPortalTypeDescription.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_setPortalTypeDescription.xml
index 0e6d90a2e7..83553dab4d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_setPortalTypeDescription.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_setPortalTypeDescription.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
-        <tuple/>
-      </tuple>
+      <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updateFieldByTerm.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updateFieldByTerm.xml
index b2cff64810..9612c54de6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updateFieldByTerm.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updateFieldByTerm.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updatePortalTypeByTerm.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updatePortalTypeByTerm.xml
index cbd52b0a40..26eaad69d5 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updatePortalTypeByTerm.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updatePortalTypeByTerm.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updateWorkflowByTerm.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updateWorkflowByTerm.xml
index 78d3a7e7a6..6697fd8095 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updateWorkflowByTerm.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_updateWorkflowByTerm.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewDuplicateGlossaryTermList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewDuplicateGlossaryTermList.xml
index 6ed99a4f1b..0a63f2381f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewDuplicateGlossaryTermList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewDuplicateGlossaryTermList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewDuplicateGlossaryTermList/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewDuplicateGlossaryTermList/listbox.xml
index edbfc5dd10..4f6bd2d5f2 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewDuplicateGlossaryTermList/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewDuplicateGlossaryTermList/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -190,10 +187,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Method" module="Products.Formulator.MethodField"/>
-        <tuple/>
-      </tuple>
+      <global name="Method" module="Products.Formulator.MethodField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog.xml
index c9bf416bd3..ca01d2ad4b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog/listbox.xml
index 1b8f4b26a1..3ba5e15011 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -529,10 +526,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Method" module="Products.Formulator.MethodField"/>
-        <tuple/>
-      </tuple>
+      <global name="Method" module="Products.Formulator.MethodField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog/listbox_term.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog/listbox_term.xml
index ddca7adb0c..41d799865c 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog/listbox_term.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldAndTermComparisonDialog/listbox_term.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="RadioField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="RadioField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -256,10 +253,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -272,10 +266,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog.xml
index 219dca3c2c..49f2780278 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog/your_auto_select.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog/your_auto_select.xml
index 662b877a6f..260dd114ee 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog/your_auto_select.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog/your_auto_select.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog/your_business_field_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog/your_business_field_list.xml
index dcbfb88f91..e2059022b9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog/your_business_field_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFieldUpdateDialog/your_business_field_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="MultiListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="MultiListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -260,10 +257,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog.xml
index 1f9d1c644c..7592aad922 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog/your_export_tsv.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog/your_export_tsv.xml
index 08d69e0826..d7868dbbdb 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog/your_export_tsv.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog/your_export_tsv.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog/your_portal_type_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog/your_portal_type_list.xml
index 52f4890a98..d58eb4e76d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog/your_portal_type_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPortalTypeDialog/your_portal_type_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="MultiListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="MultiListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -260,10 +257,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog.xml
index 3fddb12ae7..54ba404e18 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog/your_export_tsv.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog/your_export_tsv.xml
index 08d69e0826..d7868dbbdb 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog/your_export_tsv.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog/your_export_tsv.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog/your_property_sheet_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog/your_property_sheet_list.xml
index 4842f0a622..d05595d499 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog/your_property_sheet_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromPropertySheetDialog/your_property_sheet_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="MultiListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="MultiListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -260,10 +257,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog.xml
index a9b0fa680d..b1f8114cb1 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog/your_export_tsv.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog/your_export_tsv.xml
index 08d69e0826..d7868dbbdb 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog/your_export_tsv.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog/your_export_tsv.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog/your_template_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog/your_template_list.xml
index 007b7cbdec..931aaa0dbc 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog/your_template_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewFindTermFromWorkflowDialog/your_template_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="MultiListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="MultiListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -260,10 +257,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList.xml
index 4ff5d67132..3acb88b42b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList/listbox.xml
index dd1f714421..91b5472e8f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList/listbox_causality_translated_validation_state_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList/listbox_causality_translated_validation_state_title.xml
index 6aeea4fa5a..2ba7311c6a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList/listbox_causality_translated_validation_state_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewGlossaryTermList/listbox_causality_translated_validation_state_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -264,10 +261,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog.xml
index a6f0bbf4a1..3fbc4de525 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog/your_business_field_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog/your_business_field_list.xml
index dcbfb88f91..e2059022b9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog/your_business_field_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog/your_business_field_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="MultiListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="MultiListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -260,10 +257,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog/your_language.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog/your_language.xml
index 9b101e5d2f..a8d0a7dd02 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog/your_language.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPOFileExportDialog/your_language.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="ListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -266,10 +263,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog.xml
index b8ea4e1aba..ac32d58ecb 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog/listbox.xml
index 55d3193e39..9d43cd8d36 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -513,10 +510,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Method" module="Products.Formulator.MethodField"/>
-        <tuple/>
-      </tuple>
+      <global name="Method" module="Products.Formulator.MethodField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog/listbox_term.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog/listbox_term.xml
index a40268e1b8..fa89c17579 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog/listbox_term.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewPortalTypeAndTermComparisonDialog/listbox_term.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="RadioField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="RadioField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -256,10 +253,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -272,10 +266,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewTermListCreationDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewTermListCreationDialog.xml
index d325311471..dbb673d088 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewTermListCreationDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewTermListCreationDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewTermListCreationDialog/your_language.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewTermListCreationDialog/your_language.xml
index 9b101e5d2f..a8d0a7dd02 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewTermListCreationDialog/your_language.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewTermListCreationDialog/your_language.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="ListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -266,10 +263,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog.xml
index b61e207b39..d94b15a56b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog/listbox.xml
index 308af29342..b17f585663 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -517,10 +514,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Method" module="Products.Formulator.MethodField"/>
-        <tuple/>
-      </tuple>
+      <global name="Method" module="Products.Formulator.MethodField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog/listbox_term.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog/listbox_term.xml
index bb99898488..c67a4cff95 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog/listbox_term.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowAndTermComparisonDialog/listbox_term.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="RadioField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="RadioField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -256,10 +253,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -272,10 +266,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog.xml
index 9e507c02dc..33afdaffad 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog/your_auto_select.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog/your_auto_select.xml
index 662b877a6f..260dd114ee 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog/your_auto_select.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog/your_auto_select.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog/your_business_field_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog/your_business_field_list.xml
index dcbfb88f91..e2059022b9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog/your_business_field_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_viewWorkflowUpdateDialog/your_business_field_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="MultiListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="MultiListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -260,10 +257,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_zGetDuplicateGlossaryTermList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_zGetDuplicateGlossaryTermList.xml
index 670681f843..4f10a4bd22 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_zGetDuplicateGlossaryTermList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryModule_zGetDuplicateGlossaryTermList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="SQL" module="Products.ZSQLMethods.SQL"/>
-        <tuple/>
-      </tuple>
+      <global name="SQL" module="Products.ZSQLMethods.SQL"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getCausalityTranslatedValidationStateTitle.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getCausalityTranslatedValidationStateTitle.xml
index 2696870fd9..b591cdfd0a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getCausalityTranslatedValidationStateTitle.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getCausalityTranslatedValidationStateTitle.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getDuplicateGlossaryTermCount.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getDuplicateGlossaryTermCount.xml
index 46a343673c..7670b3599a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getDuplicateGlossaryTermCount.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getDuplicateGlossaryTermCount.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getDuplicateGlossaryTermList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getDuplicateGlossaryTermList.xml
index 42c27dddda..35341eec2b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getDuplicateGlossaryTermList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_getDuplicateGlossaryTermList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view.xml
index ebb6436c3a..0d828f801d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/listbox.xml
index 3cf212e553..59cb1747a8 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -519,10 +516,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Method" module="Products.Formulator.MethodField"/>
-        <tuple/>
-      </tuple>
+      <global name="Method" module="Products.Formulator.MethodField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_business_field.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_business_field.xml
index b6423dbeff..1ebe4912fa 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_business_field.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_business_field.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -105,10 +102,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_causality_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_causality_title.xml
index 818b2dfa58..7ce95ec709 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_causality_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_causality_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -209,10 +206,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -225,10 +219,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_comment.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_comment.xml
index f0bce9de63..494fd0d07c 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_comment.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_comment.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_description.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_description.xml
index c836486e3f..a259fec824 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_description.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_description.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_language.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_language.xml
index f9b3b591b5..1b5a591bb9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_language.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_language.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_reference.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_reference.xml
index 10c4a48f29..b6fbf23a48 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_reference.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_reference.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_title.xml
index f81eec86ca..9e6b690c83 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_translated_validation_state_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_translated_validation_state_title.xml
index 09b130ec8d..38145b50e8 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_translated_validation_state_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_view/my_translated_validation_state_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_viewHeadOfComment.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_viewHeadOfComment.xml
index fe469084e6..4e52288a31 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_viewHeadOfComment.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/GlossaryTerm_viewHeadOfComment.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/Glossary_setGuard.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/Glossary_setGuard.xml
index 76b2e5c295..7a17a32413 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/Glossary_setGuard.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_glossary/Glossary_setGuard.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
-        <tuple/>
-      </tuple>
+      <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn.xml
index b8bd47c74a..79f1fbf8f6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Folder" module="OFS.Folder"/>
-        <tuple/>
-      </tuple>
+      <global name="Folder" module="OFS.Folder"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_LogListMethod.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_LogListMethod.xml
index 3eb8971837..b91aac5645 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_LogListMethod.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_LogListMethod.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCheckout.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCheckout.xml
index 5091dd2637..7bf09115b9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCheckout.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCheckout.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCleanup.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCleanup.xml
index 1d9199854a..e669a9ef6a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCleanup.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCleanup.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCommit.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCommit.xml
index 047a70ec37..3b9f0e5304 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCommit.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCommit.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCreateWorkingCopy.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCreateWorkingCopy.xml
index 3cf4dc57aa..6d585289b3 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCreateWorkingCopy.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnCreateWorkingCopy.xml
@@ -131,136 +131,3 @@ REQUEST.response.redirect(\'%s/BusinessTemplate_viewSvnStatus?%s\' % \n
     </pickle>
   </record>
 </ZopeData>
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>from ZTUtils import make_query\n
-form_results = context.BusinessTemplate_viewSvnCreateWorkingCopy.validate_all(REQUEST)\n
-working_copy = form_results[\'your_repository\']\n
-context.getPortalObject().portal_subversion.createSubversionPath(working_copy, context)\n
-\n
-query_string = make_query(portal_status_message=\'Business Template Working Copy created\')\n
-REQUEST.response.redirect(\'%s/BusinessTemplate_viewSvnStatus?%s\' % \n
-                          (context.absolute_url(), query_string))\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>REQUEST</string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>1</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>REQUEST</string>
-                            <string>ZTUtils</string>
-                            <string>make_query</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>form_results</string>
-                            <string>_getitem_</string>
-                            <string>working_copy</string>
-                            <string>query_string</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>BusinessTemplate_doSvnCreateWorkingCopy</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnInfo.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnInfo.xml
index f71d4bbbcd..cadc764ac6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnInfo.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnInfo.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnListConflicted.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnListConflicted.xml
index fb004379ed..a06f3e04e0 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnListConflicted.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnListConflicted.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnListUnversioned.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnListUnversioned.xml
index 775b061bd7..060c67259e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnListUnversioned.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnListUnversioned.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLog.xml
index 4b7725f7f6..57d262e23b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLogGlobal.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLogGlobal.xml
index e3c0095661..962881fe18 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLogGlobal.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLogGlobal.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLogin.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLogin.xml
index 006af73768..c91799a3f4 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLogin.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLogin.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLs.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLs.xml
index 0b4e2547e3..466acd0db5 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLs.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnLs.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnMultiDiff.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnMultiDiff.xml
index bba393009e..d3142a9608 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnMultiDiff.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnMultiDiff.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnRemoveFiles.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnRemoveFiles.xml
index 2dbdef3d8c..d5fabbd10e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnRemoveFiles.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnRemoveFiles.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnResolvedFiles.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnResolvedFiles.xml
index 06e1d5678c..bdd979207e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnResolvedFiles.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnResolvedFiles.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnRevert.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnRevert.xml
index 0d4f3c0f17..598a12737a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnRevert.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnRevert.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnSslTrust.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnSslTrust.xml
index 3caeed7ced..d99782494a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnSslTrust.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnSslTrust.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnUpdate.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnUpdate.xml
index 0810b9a700..867e9334c3 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnUpdate.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnUpdate.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnUpdateKeep.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnUpdateKeep.xml
index baec1b09b8..0b9613f2fa 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnUpdateKeep.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_doSvnUpdateKeep.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_getRepositoryURL.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_getRepositoryURL.xml
index 1742215fe4..62ac73c04f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_getRepositoryURL.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_getRepositoryURL.xml
@@ -57,7 +57,6 @@ try:\n
   return context.getPortalObject()[\'portal_subversion\'].info(context)[\'url\']\n
 except SubversionUnknownBusinessTemplateError:\n
   from zExceptions import Redirect\n
-  from urllib import urlencode\n
   dialog = context.BusinessTemplate_viewSvnCreateWorkingCopy\n
   context_url = context.absolute_url()\n
   query_string = make_query(\n
@@ -110,153 +109,6 @@ except SubversionUnknownBusinessTemplateError:\n
                             <string>context</string>
                             <string>zExceptions</string>
                             <string>Redirect</string>
-                            <string>urllib</string>
-                            <string>urlencode</string>
-                            <string>dialog</string>
-                            <string>context_url</string>
-                            <string>query_string</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>BusinessTemplate_getRepositoryURL</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string># try to get the repository URL, else redirect to the dialog for creating a working copy in one of the configured repositories\n
-from ZTUtils import make_query\n
-from Products.ERP5Subversion.Tool.SubversionTool import SubversionUnknownBusinessTemplateError\n
-try:\n
-  return context.getPortalObject()[\'portal_subversion\'].info(context)[\'url\']\n
-except SubversionUnknownBusinessTemplateError:\n
-  from zExceptions import Redirect\n
-  from urllib import urlencode\n
-  dialog = context.BusinessTemplate_viewSvnCreateWorkingCopy\n
-  context_url = context.absolute_url()\n
-  query_string = make_query(\n
-    cancel_url=context_url,\n
-    portal_status_message=dialog.description\n
-  )\n
-  raise Redirect("%s/%s?%s" % (context_url, dialog.getId(), query_string))\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>ZTUtils</string>
-                            <string>make_query</string>
-                            <string>Products.ERP5Subversion.Tool.SubversionTool</string>
-                            <string>SubversionUnknownBusinessTemplateError</string>
-                            <string>_getitem_</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>zExceptions</string>
-                            <string>Redirect</string>
-                            <string>urllib</string>
-                            <string>urlencode</string>
                             <string>dialog</string>
                             <string>context_url</string>
                             <string>query_string</string>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewConflicted.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewConflicted.xml
index 52d65aa350..a3c7bef31a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewConflicted.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewConflicted.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewConflicted/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewConflicted/listbox.xml
index 1bf16a0373..586e18c3f4 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewConflicted/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewConflicted/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog.xml
index e697b83352..a3ffe893f9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/added_files.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/added_files.xml
index 409dcfe088..2614946481 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/added_files.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/added_files.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="LinesField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="LinesField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/modified_files.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/modified_files.xml
index 9c7dd8d02f..339a7b57d6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/modified_files.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/modified_files.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="LinesField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="LinesField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/reminder.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/reminder.xml
index 59598f8ef9..6108d4183d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/reminder.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/reminder.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="EditorField" module="Products.ERP5Form.EditorField"/>
-        <tuple/>
-      </tuple>
+      <global name="EditorField" module="Products.ERP5Form.EditorField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -292,10 +289,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/removed_files.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/removed_files.xml
index bb9406aef6..2ebbea1059 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/removed_files.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/removed_files.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="LinesField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="LinesField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_added.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_added.xml
index 65520d4ddd..78faf958ec 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_added.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_added.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -268,10 +265,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_changelog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_changelog.xml
index 15af73b777..c5f83d4e34 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_changelog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_changelog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TextAreaField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="TextAreaField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_modified.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_modified.xml
index d49d387aed..f8910c7cf1 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_modified.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_modified.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -268,10 +265,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_removed.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_removed.xml
index f83b09ff5d..4847b862e9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_removed.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnChangelog/your_removed.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -268,10 +265,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy.xml
index e020669eee..4246afecff 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy.xml
@@ -143,148 +143,3 @@
     </pickle>
   </record>
 </ZopeData>
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string>BusinessTemplate_doSvnCreateWorkingCopy</string> </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value> <string>This business template currently does not exist in any repository. Select one of the Working Copies below and an empty business template will be created in it.</string> </value>
-        </item>
-        <item>
-            <key> <string>edit_order</string> </key>
-            <value>
-              <list/>
-            </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>left</string>
-                <string>right</string>
-                <string>center</string>
-                <string>bottom</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>bottom</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>center</string> </key>
-                    <value>
-                      <list>
-                        <string>your_repository</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>left</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>right</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>BusinessTemplate_viewSvnCreateWorkingCopy</string> </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string>svn_select_working_copy</string> </value>
-        </item>
-        <item>
-            <key> <string>pt</string> </key>
-            <value> <string>form_dialog</string> </value>
-        </item>
-        <item>
-            <key> <string>row_length</string> </key>
-            <value> <int>4</int> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Select a repository</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>update_action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>update_action_title</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy/your_repository.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy/your_repository.xml
index 87485a78b8..edbf54de95 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy/your_repository.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnCreateWorkingCopy/your_repository.xml
@@ -263,268 +263,3 @@
     </pickle>
   </record>
 </ZopeData>
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="RadioField" module="Products.Formulator.StandardFields"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>your_repository</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>unknown_selection</string> </key>
-                    <value> <string>You selected an item that was not in the list.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>items</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>orientation</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>items</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>orientation</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>Select a repository in which your business template will be created.</string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra_item</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>first_item</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>items</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>orientation</string> </key>
-                    <value> <string>vertical</string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Repository</string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python:context.getPortalObject().portal_preferences.getPreferredSubversionWorkingCopyList()</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnDiff.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnDiff.xml
index 3116d4ea61..9fae8f3b5a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnDiff.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnDiff.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -37,7 +34,7 @@
         </item>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
+            <value> <unicode encoding="cdata"><![CDATA[
 
 <tal:block tal:replace="nothing"\n
            xmlns:tal="http://xml.zope.org/namespaces/tal"\n
@@ -127,7 +124,7 @@ here/BusinessTemplate_doSvnDiff">diff here</tal:py>\n
 </tal:block>\n
 </tal:block>
 
-]]></string> </value>
+]]></unicode> </value>
         </item>
         <item>
             <key> <string>content_type</string> </key>
@@ -141,9 +138,13 @@ here/BusinessTemplate_doSvnDiff">diff here</tal:py>\n
             <key> <string>id</string> </key>
             <value> <string>BusinessTemplate_viewSvnDiff</string> </value>
         </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string>Diff</string> </value>
+            <value> <unicode>Diff</unicode> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnInfos.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnInfos.xml
index 47041bc212..c475541c95 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnInfos.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnInfos.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -37,7 +34,7 @@
         </item>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
+            <value> <unicode encoding="cdata"><![CDATA[
 
 <tal:block tal:replace="nothing"\n
            xmlns:tal="http://xml.zope.org/namespaces/tal"\n
@@ -83,7 +80,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n
 </tal:block>\n
 </tal:block>
 
-]]></string> </value>
+]]></unicode> </value>
         </item>
         <item>
             <key> <string>content_type</string> </key>
@@ -97,9 +94,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n
             <key> <string>id</string> </key>
             <value> <string>BusinessTemplate_viewSvnInfos</string> </value>
         </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string></string> </value>
+            <value> <unicode></unicode> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnInfosFile.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnInfosFile.xml
index 7fe654c855..545f69933f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnInfosFile.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnInfosFile.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -37,7 +34,7 @@
         </item>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
+            <value> <unicode encoding="cdata"><![CDATA[
 
 <tal:block tal:replace="nothing"\n
            xmlns:tal="http://xml.zope.org/namespaces/tal"\n
@@ -89,7 +86,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n
 </tal:block>\n
 </tal:block>
 
-]]></string> </value>
+]]></unicode> </value>
         </item>
         <item>
             <key> <string>content_type</string> </key>
@@ -103,9 +100,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n
             <key> <string>id</string> </key>
             <value> <string>BusinessTemplate_viewSvnInfosFile</string> </value>
         </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string></string> </value>
+            <value> <unicode></unicode> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog.xml
index 9a0b0713f9..6226f115d8 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/listbox.xml
index 07242a269c..3618fceacc 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/listbox_message.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/listbox_message.xml
index 248bc31d48..d656724478 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/listbox_message.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/listbox_message.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="EditorField" module="Products.ERP5Form.EditorField"/>
-        <tuple/>
-      </tuple>
+      <global name="EditorField" module="Products.ERP5Form.EditorField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/your_file.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/your_file.xml
index 1cba02cd4b..5ef80734a0 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/your_file.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/your_file.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/your_title.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/your_title.xml
index 7702b316ac..5c68d25ed6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/your_title.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLog/your_title.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="EditorField" module="Products.ERP5Form.EditorField"/>
-        <tuple/>
-      </tuple>
+      <global name="EditorField" module="Products.ERP5Form.EditorField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin.xml
index 4aec77811e..0375cf5584 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/realm_txt.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/realm_txt.xml
index 5ff4eb6c9c..07aede6943 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/realm_txt.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/realm_txt.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_added.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_added.xml
index e4c42ab551..2e7f15407a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_added.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_added.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_auth.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_auth.xml
index 277634c050..9c19cf86b7 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_auth.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_auth.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_caller.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_caller.xml
index 76d6cf3057..8715f5a4aa 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_caller.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_caller.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_changelog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_changelog.xml
index 7a7bc52bf6..34301b9d74 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_changelog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_changelog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_modified.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_modified.xml
index 174524b157..68d419a450 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_modified.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_modified.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_password.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_password.xml
index 710339389f..1e6b89d3fd 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_password.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_password.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PasswordField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="PasswordField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_removed.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_removed.xml
index e18bef0b6a..0f7485bdae 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_removed.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_removed.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_user.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_user.xml
index 32b5e32ee3..4a9056d9a5 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_user.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnLogin/your_user.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnMultiDiff.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnMultiDiff.xml
index 58120d5db7..a813030947 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnMultiDiff.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnMultiDiff.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -37,7 +34,7 @@
         </item>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
+            <value> <unicode encoding="cdata"><![CDATA[
 
 <tal:block tal:replace="nothing"\n
            xmlns:tal="http://xml.zope.org/namespaces/tal"\n
@@ -72,7 +69,7 @@ here/diff">diff here</tal:py>\n
 </tal:block>\n
 
 
-]]></string> </value>
+]]></unicode> </value>
         </item>
         <item>
             <key> <string>content_type</string> </key>
@@ -86,9 +83,13 @@ here/diff">diff here</tal:py>\n
             <key> <string>id</string> </key>
             <value> <string>BusinessTemplate_viewSvnMultiDiff</string> </value>
         </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string></string> </value>
+            <value> <unicode></unicode> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust.xml
index ef378b6e85..ce5b27fc9b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/failures.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/failures.xml
index d77ac1c5b9..92224dce6a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/failures.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/failures.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/fingerprint.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/fingerprint.xml
index 579f496737..ec648ecc88 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/fingerprint.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/fingerprint.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/hostname.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/hostname.xml
index 24d1046f47..c4e7c5a825 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/hostname.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/hostname.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/issuer_name.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/issuer_name.xml
index e13ab124e9..87c9d2845c 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/issuer_name.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/issuer_name.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/realm.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/realm.xml
index bbd7b2675e..a437ae06fa 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/realm.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/realm.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/valid_from.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/valid_from.xml
index f45e55c83b..fed54c6ac1 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/valid_from.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/valid_from.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/valid_until.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/valid_until.xml
index e159b14429..02815e5a7a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/valid_until.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/valid_until.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_added.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_added.xml
index e4c42ab551..2e7f15407a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_added.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_added.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_caller.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_caller.xml
index 76d6cf3057..8715f5a4aa 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_caller.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_caller.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_changelog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_changelog.xml
index 10a4faade2..bf61ced910 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_changelog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_changelog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_failures.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_failures.xml
index f1fdb34cd4..aa44474933 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_failures.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_failures.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_finger_print.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_finger_print.xml
index b40534873f..d51a322496 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_finger_print.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_finger_print.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_hostname.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_hostname.xml
index 6ed87c82d2..fb1eb995b1 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_hostname.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_hostname.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_issuer_dname.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_issuer_dname.xml
index a989cbca22..edd65934e6 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_issuer_dname.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_issuer_dname.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_modified.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_modified.xml
index 174524b157..68d419a450 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_modified.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_modified.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_realm.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_realm.xml
index 998bd3fa76..85641daf7d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_realm.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_realm.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_removed.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_removed.xml
index e18bef0b6a..0f7485bdae 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_removed.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_removed.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_valid_from.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_valid_from.xml
index da850e9376..612f17baad 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_valid_from.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_valid_from.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_valid_until.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_valid_until.xml
index da64939205..b69a812077 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_valid_until.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnSSLTrust/your_valid_until.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnShowFile.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnShowFile.xml
index de7a20df2f..8cdbd535a2 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnShowFile.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnShowFile.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -37,7 +34,7 @@
         </item>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
+            <value> <unicode encoding="cdata"><![CDATA[
 
 <tal:block tal:replace="nothing"\n
            xmlns:tal="http://xml.zope.org/namespaces/tal"\n
@@ -72,7 +69,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n
 </tal:block>\n
 
 
-]]></string> </value>
+]]></unicode> </value>
         </item>
         <item>
             <key> <string>content_type</string> </key>
@@ -86,9 +83,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n
             <key> <string>id</string> </key>
             <value> <string>BusinessTemplate_viewSvnShowFile</string> </value>
         </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string></string> </value>
+            <value> <unicode></unicode> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnStatus.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnStatus.xml
index c88d134a77..4709024f3e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnStatus.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewSvnStatus.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -37,7 +34,7 @@
         </item>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
+            <value> <unicode encoding="cdata"><![CDATA[
 
 <tal:block tal:replace="nothing"\n
            xmlns:tal="http://xml.zope.org/namespaces/tal"\n
@@ -169,7 +166,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n
 </tal:block>\n
 
 
-]]></string> </value>
+]]></unicode> </value>
         </item>
         <item>
             <key> <string>content_type</string> </key>
@@ -183,9 +180,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.\n
             <key> <string>id</string> </key>
             <value> <string>BusinessTemplate_viewSvnStatus</string> </value>
         </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string>Subversion</string> </value>
+            <value> <unicode>Subversion</unicode> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewUnversioned.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewUnversioned.xml
index e92e8ef4cf..1454492bd1 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewUnversioned.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewUnversioned.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewUnversioned/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewUnversioned/listbox.xml
index d685525202..a5ee41c387 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewUnversioned/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/BusinessTemplate_viewUnversioned/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXCommon.js.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXCommon.js.xml
index 7bd077d480..1df1869673 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXCommon.js.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXCommon.js.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="File" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="File" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXTree.css.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXTree.css.xml
index e4c26a779e..17f65146ca 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXTree.css.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXTree.css.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="File" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="File" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXTree.js.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXTree.js.xml
index ce177a1760..827db6522c 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXTree.js.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_dhtmlXTree.js.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="File" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="File" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_doCreateJavaScriptDiff.js.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_doCreateJavaScriptDiff.js.xml
index 0f9d43d9cc..13bb0d629c 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_doCreateJavaScriptDiff.js.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_doCreateJavaScriptDiff.js.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_doCreateJavaScriptStatus.js.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_doCreateJavaScriptStatus.js.xml
index 7ad2f53cfc..791987a9a4 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_doCreateJavaScriptStatus.js.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_doCreateJavaScriptStatus.js.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs.xml
index b7b6694c6c..64b32e821c 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Folder" module="OFS.Folder"/>
-        <tuple/>
-      </tuple>
+      <global name="Folder" module="OFS.Folder"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/altbuttons.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/altbuttons.gif.xml
index a38bfa72e6..0202d2b6e3 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/altbuttons.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/altbuttons.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/altbuttonslow.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/altbuttonslow.gif.xml
index 0e1019659b..ff2315adc5 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/altbuttonslow.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/altbuttonslow.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/blank.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/blank.gif.xml
index 92b9cb0a96..638b288b0a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/blank.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/blank.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/captionoff.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/captionoff.png.xml
index 4e12c61398..b9b8145de8 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/captionoff.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/captionoff.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/captionon.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/captionon.png.xml
index c5d81253d4..8331a26651 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/captionon.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/captionon.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/diffoff.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/diffoff.png.xml
index 47f21ab72c..f35d9843a2 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/diffoff.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/diffoff.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/diffon.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/diffon.png.xml
index 14b757955f..038aedffc5 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/diffon.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/diffon.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/document.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/document.png.xml
index dc20c1514e..9fc5316502 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/document.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/document.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/edit.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/edit.png.xml
index cb8d797f3b..0681836181 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/edit.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/edit.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/execoff.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/execoff.png.xml
index e6dd8191b5..037947dc34 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/execoff.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/execoff.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/execon.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/execon.png.xml
index 9ef6357491..984506130f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/execon.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/execon.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/expandoff.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/expandoff.png.xml
index 7d949e44d0..44b790575e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/expandoff.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/expandoff.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/expandon.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/expandon.png.xml
index 29866a7240..d53695de60 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/expandon.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/expandon.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/folder.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/folder.png.xml
index 69a2597cbf..86e0503eb4 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/folder.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/folder.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/folder_open.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/folder_open.png.xml
index 0890d22ff2..db0218c2db 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/folder_open.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/folder_open.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconCheckAll.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconCheckAll.gif.xml
index 447656fa41..ea300e2761 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconCheckAll.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconCheckAll.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconCheckGray.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconCheckGray.gif.xml
index d6c51768ba..4fffe66237 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconCheckGray.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconCheckGray.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconUnCheckAll.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconUnCheckAll.gif.xml
index f8aab66dca..3de697bddd 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconUnCheckAll.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/iconUnCheckAll.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line1.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line1.gif.xml
index 71c847baf8..89f4302d74 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line1.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line1.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line2.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line2.gif.xml
index a754e87721..8d3230f0be 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line2.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line2.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line3.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line3.gif.xml
index 866d88e9be..0b8be36916 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line3.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line3.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line4.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line4.gif.xml
index db629c619d..49b7d39712 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line4.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/line4.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus.gif.xml
index a098652656..62b9349fe0 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus2.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus2.gif.xml
index 75623fb2e5..989c9b58d0 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus2.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus2.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus3.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus3.gif.xml
index ebbc8e64f9..10a5e5c77b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus3.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus3.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus4.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus4.gif.xml
index 65cc097eda..7b541824ff 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus4.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus4.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus5.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus5.gif.xml
index ac987e6c40..7f0af20b1c 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus5.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus5.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus_ar.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus_ar.gif.xml
index c2a759d32d..fece6112ac 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus_ar.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/minus_ar.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus.gif.xml
index 7af195ab5b..94a0141f99 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus2.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus2.gif.xml
index dd299b4a9c..66db1a061d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus2.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus2.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus3.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus3.gif.xml
index f8da6c2c42..2e59a77f45 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus3.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus3.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus4.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus4.gif.xml
index a099add731..3338a182fc 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus4.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus4.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus5.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus5.gif.xml
index 8caa391418..e0d5e19b12 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus5.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus5.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus_ar.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus_ar.gif.xml
index 238900525c..799dd7745e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus_ar.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/plus_ar.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/revertoff.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/revertoff.png.xml
index 7a605ec6ac..455e89aaac 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/revertoff.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/revertoff.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/reverton.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/reverton.png.xml
index 944096adef..4d804c49c3 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/reverton.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/reverton.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/trashoff.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/trashoff.png.xml
index 1bf04ac362..1471c053d1 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/trashoff.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/trashoff.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/trashon.png.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/trashon.png.xml
index 0228d8921f..9a2c00d29b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/trashon.png.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/trashon.png.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/wait.gif.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/wait.gif.xml
index 2410cba54a..7756cdf238 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/wait.gif.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_imgs/wait.gif.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="Image" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_menuico.js.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_menuico.js.xml
index 4a769a62ee..d685799894 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_menuico.js.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_menuico.js.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="File" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="File" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_movableMenu.css.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_movableMenu.css.xml
index 3c08c15de0..634abf89d9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_movableMenu.css.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_movableMenu.css.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="File" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="File" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_movableMenu.js.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_movableMenu.js.xml
index b273e02bdf..64351870c9 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_movableMenu.js.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/ERP5Subversion_movableMenu.js.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="File" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
+      <global name="File" module="OFS.Image"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/Preference_viewSubversion/my_preferred_subversion_user_name.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/Preference_viewSubversion/my_preferred_subversion_user_name.xml
index dbf7e0bde2..8f477e02dc 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/Preference_viewSubversion/my_preferred_subversion_user_name.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/Preference_viewSubversion/my_preferred_subversion_user_name.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/Preference_viewSubversion/my_preferred_subversion_working_copy_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/Preference_viewSubversion/my_preferred_subversion_working_copy_list.xml
index 8be44c7ae5..56b91e9914 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/Preference_viewSubversion/my_preferred_subversion_working_copy_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/Preference_viewSubversion/my_preferred_subversion_working_copy_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="LinesField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="LinesField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/tree.xml.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/tree.xml.xml
index 5c6c88f54b..66a1a09e73 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/tree.xml.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_svn/tree.xml.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox.xml
index e4b8c07fe7..e092f242a2 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Folder" module="OFS.Folder"/>
-        <tuple/>
-      </tuple>
+      <global name="Folder" module="OFS.Folder"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog.xml
index fa238cae96..c9323fd707 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_portal_type_group_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_portal_type_group_list.xml
index 65938417fd..1757f3e3c2 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_portal_type_group_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_portal_type_group_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="MultiListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="MultiListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -260,10 +257,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_portal_type_list.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_portal_type_list.xml
index c1e6e36ce3..b1b301a088 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_portal_type_list.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_portal_type_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="MultiListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="MultiListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -260,10 +257,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_remove_existing_roles.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_remove_existing_roles.xml
index 6795098eb5..958799f24b 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_remove_existing_roles.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BaseType_viewCopyRoleListDialog/your_remove_existing_roles.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_checkSkinFolderForms.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_checkSkinFolderForms.xml
index 7d0fe378ed..d717d27cf0 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_checkSkinFolderForms.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_checkSkinFolderForms.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_findMessageListFromPythonInProduct.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_findMessageListFromPythonInProduct.xml
index 757d8463a6..ade8f02b53 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_findMessageListFromPythonInProduct.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_findMessageListFromPythonInProduct.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
-        <tuple/>
-      </tuple>
+      <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_findStaticTranslationText.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_findStaticTranslationText.xml
index a9b6f813a1..b072c37e6d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_findStaticTranslationText.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_findStaticTranslationText.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
-        <tuple/>
-      </tuple>
+      <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getActionTitleListFromAllActionProvider.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getActionTitleListFromAllActionProvider.xml
index e96b9e9e8a..bbe7b79821 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getActionTitleListFromAllActionProvider.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getActionTitleListFromAllActionProvider.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
-        <tuple/>
-      </tuple>
+      <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getFieldData.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getFieldData.xml
index 1b55e7b265..d8a9de4985 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getFieldData.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getFieldData.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
-        <tuple/>
-      </tuple>
+      <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getFunctionFirstArgumentValue.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getFunctionFirstArgumentValue.xml
index 5656a0302c..6e519d9e6a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getFunctionFirstArgumentValue.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getFunctionFirstArgumentValue.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
-        <tuple/>
-      </tuple>
+      <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getSimulationTree.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getSimulationTree.xml
index 922477e84e..ed2c030689 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getSimulationTree.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_getSimulationTree.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_viewSimulationTree.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_viewSimulationTree.xml
index 0baa6e3c5e..6a0516ca42 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_viewSimulationTree.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/Base_viewSimulationTree.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_createReport.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_createReport.xml
index 172c019e11..a2923b0dca 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_createReport.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_createReport.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getModifiableFieldList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getModifiableFieldList.xml
index 0b27f19286..812724fd1d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getModifiableFieldList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getModifiableFieldList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getProxyFieldUrl.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getProxyFieldUrl.xml
index ec5bec9be4..6492746bac 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getProxyFieldUrl.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_getProxyFieldUrl.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_initializeListBoxForRenameFastInput.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_initializeListBoxForRenameFastInput.xml
index ba593399a8..e6d2e1bdab 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_initializeListBoxForRenameFastInput.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_initializeListBoxForRenameFastInput.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_initializePreviewListBoxForRenameFastInput.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_initializePreviewListBoxForRenameFastInput.xml
index abd4ba66d0..4cd4dc5825 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_initializePreviewListBoxForRenameFastInput.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_initializePreviewListBoxForRenameFastInput.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_modifyFieldList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_modifyFieldList.xml
index 1471ee1b79..7ebe57a099 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_modifyFieldList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_modifyFieldList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyField.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyField.xml
index a565527b07..eb2bba6162 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyField.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyField.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog.xml
index fdd2b413a3..b8c7a7d14d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox.xml
index 51e3052453..f7af44e04f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -536,10 +533,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Method" module="Products.Formulator.MethodField"/>
-        <tuple/>
-      </tuple>
+      <global name="Method" module="Products.Formulator.MethodField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox_new_id.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox_new_id.xml
index 8ee3c836a7..ed544d3c1c 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox_new_id.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox_new_id.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox_original_id.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox_original_id.xml
index 2741e5c0cc..0a0ce301af 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox_original_id.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/listbox_original_id.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox.xml
index 30b45d9e4a..07e197c32f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -552,10 +549,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Method" module="Products.Formulator.MethodField"/>
-        <tuple/>
-      </tuple>
+      <global name="Method" module="Products.Formulator.MethodField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox_hidden_field_path.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox_hidden_field_path.xml
index 91e6cadb60..d731aa40dc 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox_hidden_field_path.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox_hidden_field_path.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="StringField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -264,10 +261,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox_selected.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox_selected.xml
index 8c6e73fb80..dd435fb089 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox_selected.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/preview_listbox_selected.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -172,10 +169,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/your_explanation.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/your_explanation.xml
index 82412881d0..cd6387c32c 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/your_explanation.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_renameProxyFieldDialog/your_explanation.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TextAreaField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="TextAreaField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -284,10 +281,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_updateBeforeRenameProxyField.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_updateBeforeRenameProxyField.xml
index c8de9bd6be..d57255d95a 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_updateBeforeRenameProxyField.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_updateBeforeRenameProxyField.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog.xml
index 09d7c1ffdd..c689197e4d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_portal_type.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_portal_type.xml
index fb8837df8f..f1bdcdc548 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_portal_type.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_portal_type.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="ListField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -266,10 +263,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_report_name.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_report_name.xml
index 4d8bd28dfc..bc0572500e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_report_name.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_report_name.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_skin_folder.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_skin_folder.xml
index 97309b2b1d..a5339b0e43 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_skin_folder.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_skin_folder.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-        <tuple/>
-      </tuple>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -113,10 +110,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_use_from_date_at_date.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_use_from_date_at_date.xml
index 0cd68027dd..790ff988d3 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_use_from_date_at_date.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewCreateReportDialog/your_use_from_date_at_date.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="CheckBoxField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog.xml
index 4ff2a8ab77..e34d59e49e 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox.xml
index 0b72094c53..d7ccc92d82 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
+      <global name="ListBox" module="Products.ERP5Form.ListBox"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -545,10 +542,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Method" module="Products.Formulator.MethodField"/>
-        <tuple/>
-      </tuple>
+      <global name="Method" module="Products.Formulator.MethodField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox_choice.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox_choice.xml
index eca8a980af..0efc975b6d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox_choice.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/BusinessTemplate_viewFieldLibraryManagementDialog/listbox_choice.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="MultiCheckBoxField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
+      <global name="MultiCheckBoxField" module="Products.Formulator.StandardFields"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -250,10 +247,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -266,10 +260,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml
index b3b2e122a7..994bb59794 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_getToBeTranslatedMessageListFromEntireSystemAsPot.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_setSkinCache.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_setSkinCache.xml
index 7310a0c4ec..9ca59c82d3 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_setSkinCache.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_setSkinCache.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_showAllUsedSelectionNames.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_showAllUsedSelectionNames.xml
index 31c2d00bf1..9d0e690433 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_showAllUsedSelectionNames.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Site_showAllUsedSelectionNames.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Type_cloneRoleInformation.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Type_cloneRoleInformation.xml
index 4dade13a9e..e3a83ff1f3 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Type_cloneRoleInformation.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/ERP5Type_cloneRoleInformation.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/PdfForm_dumpForms.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/PdfForm_dumpForms.xml
index 4941304b09..5ba4918628 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/PdfForm_dumpForms.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/PdfForm_dumpForms.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDeadProxyFieldList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDeadProxyFieldList.xml
index 67925e09f8..1ecec6a587 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDeadProxyFieldList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getDeadProxyFieldList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getNotAssignedFieldList.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getNotAssignedFieldList.xml
index 3f3b1c02da..84bb87eb13 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getNotAssignedFieldList.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getNotAssignedFieldList.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getRelationStringFieldWithoutProxyListBoxIdOrColumns.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getRelationStringFieldWithoutProxyListBoxIdOrColumns.xml
index 21377368d9..c726d2bb4d 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getRelationStringFieldWithoutProxyListBoxIdOrColumns.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_getRelationStringFieldWithoutProxyListBoxIdOrColumns.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_listDuplicateSkins.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_listDuplicateSkins.xml
index e38e981767..a0f640fcd1 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_listDuplicateSkins.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/SkinsTool_listDuplicateSkins.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/grep.xml b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/grep.xml
index 88053aab92..352073366f 100644
--- a/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/grep.xml
+++ b/bt5/erp5_forge/SkinTemplateItem/portal_skins/erp5_toolbox/grep.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
-        <tuple/>
-      </tuple>
+      <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow.xml
index bc4cc4a928..38bad1c888 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/>
-        <tuple/>
-      </tuple>
+      <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts.xml
index 0622b3c34f..072c8f6540 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
-        <tuple/>
-      </tuple>
+      <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_buildMessage.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_buildMessage.xml
index 7bcdfbd880..6a2e3fe49c 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_buildMessage.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_buildMessage.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_checkConsistency.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_checkConsistency.xml
index 1faaa96041..635c18d04f 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_checkConsistency.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_checkConsistency.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_sendNotification.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_sendNotification.xml
index 92144cfe9d..a60dbcd63c 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_sendNotification.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/scripts/BugEvent_sendNotification.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states.xml
index a21bb6e959..27ec906902 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="States" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="States" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/cancelled.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/cancelled.xml
index 4014e603f5..628d83c4c3 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/cancelled.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/cancelled.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -44,10 +41,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/deleted.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/deleted.xml
index c957e8076b..6659382cfb 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/deleted.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/deleted.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -44,10 +41,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/delivered.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/delivered.xml
index fc505e230b..69928dc9d8 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/delivered.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/delivered.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -44,10 +41,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/draft.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/draft.xml
index 73c32bae31..3b53ff0f5e 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/draft.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/draft.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -51,10 +48,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/planned.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/planned.xml
index b113148e0f..c281703ac7 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/planned.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/planned.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -51,10 +48,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/started.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/started.xml
index 6be4a08ed3..80b9b8a0f2 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/started.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/states/started.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -49,10 +46,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions.xml
index 092a5b48f6..aa36144efe 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Transitions" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="Transitions" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/cancel.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/cancel.xml
index 73491d075a..289955fef6 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/cancel.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/cancel.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/cancel_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/cancel_action.xml
index 9c2602dd86..fa0634ea4a 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/cancel_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/cancel_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -60,10 +57,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/delete.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/delete.xml
index cf2b452e35..873b6bbfe4 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/delete.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/delete.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/delete_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/delete_action.xml
index 13cf2b2f70..417001e188 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/delete_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/delete_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -60,10 +57,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/deliver.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/deliver.xml
index 62ad6606cb..8b71054b59 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/deliver.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/deliver.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/deliver_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/deliver_action.xml
index 4c50a14276..b16bdd52f8 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/deliver_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/deliver_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -60,10 +57,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/plan.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/plan.xml
index b9948f4e77..c165313d0c 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/plan.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/plan.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/plan_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/plan_action.xml
index f6257f8070..70973aef63 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/plan_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/plan_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -60,10 +57,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/start.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/start.xml
index fb2c1b4614..fcb6f303a5 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/start.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/start.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/start_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/start_action.xml
index 4e80422966..6948301e5d 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/start_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/transitions/start_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -60,10 +57,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables.xml
index a067e6fbbe..bb12bef805 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Variables" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="Variables" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/action.xml
index b6ab718b6e..cf9789beee 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -50,10 +47,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/actor.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/actor.xml
index 63e83eebcc..99dc5a1238 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/actor.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/actor.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -50,10 +47,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/comment.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/comment.xml
index 0deee79ddd..37beb5e4f4 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/comment.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/comment.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -50,10 +47,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/error_message.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/error_message.xml
index ca8bd983f6..535863de2a 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/error_message.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/error_message.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/history.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/history.xml
index 33a2afbc9a..44306b76d7 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/history.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/history.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -50,10 +47,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/portal_type.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/portal_type.xml
index d1c833ff18..318e098ff6 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/portal_type.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/portal_type.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/time.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/time.xml
index 624cc5038c..5a517524ee 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/time.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/variables/time.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -50,10 +47,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/worklists.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/worklists.xml
index 40787ac9e4..c7242ee114 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/worklists.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/worklists.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
-        <tuple/>
-      </tuple>
+      <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/worklists/01_planned_bug_line_list.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/worklists/01_planned_bug_line_list.xml
index 6519d5a25c..4979f073fc 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/worklists/01_planned_bug_line_list.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_event_workflow/worklists/01_planned_bug_line_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
-        <tuple/>
-      </tuple>
+      <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -50,10 +47,7 @@ Base_viewSearchResultList?portal_type=%(portal_type)s&simulation_state=planned&l
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -72,10 +66,7 @@ Base_viewSearchResultList?portal_type=%(portal_type)s&simulation_state=planned&l
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow.xml
index 1f644a8291..81e7397b5f 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/>
-        <tuple/>
-      </tuple>
+      <global name="DCWorkflowDefinition" module="Products.DCWorkflow.DCWorkflow"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts.xml
index 0622b3c34f..072c8f6540 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
-        <tuple/>
-      </tuple>
+      <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/Bug_sendNotification.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/Bug_sendNotification.xml
index 2059724e2e..25f4451eaf 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/Bug_sendNotification.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/Bug_sendNotification.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/checkConsistency.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/checkConsistency.xml
index eb9227e3fe..2594a0498e 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/checkConsistency.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/checkConsistency.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/setCloseDate.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/setCloseDate.xml
index 617d3a974d..84db163f89 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/setCloseDate.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/scripts/setCloseDate.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states.xml
index a21bb6e959..27ec906902 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="States" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="States" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/cancelled.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/cancelled.xml
index 4d6c204929..c749eac25d 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/cancelled.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/cancelled.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -44,10 +41,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/confirmed.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/confirmed.xml
index 0e32d6705a..423cd0e109 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/confirmed.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/confirmed.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -53,10 +50,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/deleted.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/deleted.xml
index 7f484b6058..b3b7d3e896 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/deleted.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/deleted.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -44,10 +41,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/delivered.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/delivered.xml
index 6976daa958..e647d32860 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/delivered.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/delivered.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -44,10 +41,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/draft.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/draft.xml
index 9402c93f4d..ae75fe0de6 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/draft.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/draft.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -49,10 +46,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/ready.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/ready.xml
index 997388b430..72078c08be 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/ready.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/ready.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -49,10 +46,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/stopped.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/stopped.xml
index 977c035ed1..98205e4af0 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/stopped.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/states/stopped.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="StateDefinition" module="Products.DCWorkflow.States"/>
-        <tuple/>
-      </tuple>
+      <global name="StateDefinition" module="Products.DCWorkflow.States"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -51,10 +48,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions.xml
index 092a5b48f6..aa36144efe 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Transitions" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="Transitions" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/cancel.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/cancel.xml
index 506032ca5c..b034fb87a6 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/cancel.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/cancel.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/cancel_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/cancel_action.xml
index 6139c9a075..89e65b7e3d 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/cancel_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/cancel_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -66,10 +63,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -86,10 +80,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -111,10 +102,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/confirm.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/confirm.xml
index a01bd83a56..e5835f8686 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/confirm.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/confirm.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/confirm_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/confirm_action.xml
index 3ca2e7d02e..890dd16f8f 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/confirm_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/confirm_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -66,10 +63,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -89,10 +83,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -114,10 +105,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/delete.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/delete.xml
index 0973fedbc7..a203d3aed5 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/delete.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/delete.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/delete_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/delete_action.xml
index 5ce980e4af..672f350980 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/delete_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/delete_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -60,10 +57,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/deliver.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/deliver.xml
index 152e761672..e60b2fc23a 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/deliver.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/deliver.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/deliver_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/deliver_action.xml
index ff57f97874..7e0ff55246 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/deliver_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/deliver_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -66,10 +63,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -86,10 +80,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -111,10 +102,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/re_assign.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/re_assign.xml
index d37e8007f9..4fc8998fd4 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/re_assign.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/re_assign.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/re_assign_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/re_assign_action.xml
index 90d603f7ac..1ae87f2913 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/re_assign_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/re_assign_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -66,10 +63,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -87,10 +81,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -112,10 +103,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/set_ready.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/set_ready.xml
index c975d3b882..384e938317 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/set_ready.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/set_ready.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/set_ready_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/set_ready_action.xml
index 9c45c0c700..ebc3d26591 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/set_ready_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/set_ready_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -66,10 +63,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -87,10 +81,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -112,10 +103,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/stop.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/stop.xml
index e0defc1d5e..1ca3ab57bf 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/stop.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/stop.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/stop_action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/stop_action.xml
index b8e606c78e..7745fef828 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/stop_action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/transitions/stop_action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
-        <tuple/>
-      </tuple>
+      <global name="TransitionDefinition" module="Products.DCWorkflow.Transitions"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -66,10 +63,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -87,10 +81,7 @@
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -112,10 +103,7 @@
   </record>
   <record id="4" aka="AAAAAAAAAAQ=">
     <pickle>
-      <tuple>
-        <global name="Expression" module="Products.CMFCore.Expression"/>
-        <tuple/>
-      </tuple>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables.xml
index a067e6fbbe..bb12bef805 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Variables" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="Variables" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/action.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/action.xml
index ed306eb6af..e00c871334 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/action.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/action.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/actor.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/actor.xml
index d2b89d6051..493f0994f7 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/actor.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/actor.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/comment.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/comment.xml
index 999beb2edb..73cd2e7913 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/comment.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/comment.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/error_message.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/error_message.xml
index e89715783d..69512a44bc 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/error_message.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/error_message.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/history.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/history.xml
index d7bca55728..e0fe339d69 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/history.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/history.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/portal_type.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/portal_type.xml
index a874ecc8bb..521a53aa17 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/portal_type.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/portal_type.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/send_event.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/send_event.xml
index aee5260dfe..9702aec2ab 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/send_event.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/send_event.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/time.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/time.xml
index 0364a3b135..5ae6932d99 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/time.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/variables/time.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
-        <tuple/>
-      </tuple>
+      <global name="VariableDefinition" module="Products.DCWorkflow.Variables"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists.xml
index 40787ac9e4..c7242ee114 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
-        <tuple/>
-      </tuple>
+      <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/1_draft_bug_list.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/1_draft_bug_list.xml
index c5c6e4c6e7..a5b309f5f7 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/1_draft_bug_list.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/1_draft_bug_list.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
-        <tuple/>
-      </tuple>
+      <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -50,10 +47,7 @@ bug_module?simulation_state=draft&local_roles=%(local_roles)s&reset=1
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,10 +64,7 @@ bug_module?simulation_state=draft&local_roles=%(local_roles)s&reset=1
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/2_assignee_confirmed_bug.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/2_assignee_confirmed_bug.xml
index 02bf4dcba3..d2c049b121 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/2_assignee_confirmed_bug.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/2_assignee_confirmed_bug.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
-        <tuple/>
-      </tuple>
+      <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -50,10 +47,7 @@ bug_module?simulation_state=confirmed&local_roles=%(local_roles)s&reset=1
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,10 +64,7 @@ bug_module?simulation_state=confirmed&local_roles=%(local_roles)s&reset=1
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/3_assignee_started_bug.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/3_assignee_started_bug.xml
index 27e6d4f453..b238a2ed08 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/3_assignee_started_bug.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/3_assignee_started_bug.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
-        <tuple/>
-      </tuple>
+      <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -50,10 +47,7 @@ bug_module?simulation_state=ready&local_roles=%(local_roles)s&reset=1
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,10 +64,7 @@ bug_module?simulation_state=ready&local_roles=%(local_roles)s&reset=1
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/4_assignor_confirmed_bug.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/4_assignor_confirmed_bug.xml
index 23a0c056e0..ed83820f47 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/4_assignor_confirmed_bug.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/4_assignor_confirmed_bug.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
-        <tuple/>
-      </tuple>
+      <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -50,10 +47,7 @@ bug_module?simulation_state:list=confirmed&simulation_state:list=delivered&local
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,10 +64,7 @@ bug_module?simulation_state:list=confirmed&simulation_state:list=delivered&local
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/5_assignor_assigned_bug.xml b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/5_assignor_assigned_bug.xml
index 4e1e0ad3ab..c35e98740c 100644
--- a/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/5_assignor_assigned_bug.xml
+++ b/bt5/erp5_forge/WorkflowTemplateItem/portal_workflow/bug_workflow/worklists/5_assignor_assigned_bug.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
-        <tuple/>
-      </tuple>
+      <global name="WorklistDefinition" module="Products.DCWorkflow.Worklists"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -50,10 +47,7 @@ bug_module?simulation_state=stopped&local_roles=%(local_roles)s&reset=1
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <global name="Guard" module="Products.DCWorkflow.Guard"/>
-        <tuple/>
-      </tuple>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -70,10 +64,7 @@ bug_module?simulation_state=stopped&local_roles=%(local_roles)s&reset=1
   </record>
   <record id="3" aka="AAAAAAAAAAM=">
     <pickle>
-      <tuple>
-        <global name="PersistentMapping" module="Persistence.mapping"/>
-        <tuple/>
-      </tuple>
+      <global name="PersistentMapping" module="Persistence.mapping"/>
     </pickle>
     <pickle>
       <dictionary>
diff --git a/bt5/erp5_forge/bt/revision b/bt5/erp5_forge/bt/revision
index 5156988895..8ec9b982c4 100644
--- a/bt5/erp5_forge/bt/revision
+++ b/bt5/erp5_forge/bt/revision
@@ -1 +1 @@
-619
\ No newline at end of file
+622
\ No newline at end of file
diff --git a/bt5/erp5_forge/bt/template_update_business_template_workflow b/bt5/erp5_forge/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_forge/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_forge/bt/template_update_tool b/bt5/erp5_forge/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_forge/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
-- 
2.30.9


From ef7f179cb42abfa465778898ff77fe3e9979342a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 14:32:30 +0000
Subject: [PATCH 060/163]  - add high level (no ZODB cache) scenario checks  -
 add test that shows if there is no special cache, no special cache is    used

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39167 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../tests/testERP5RemoteUserManager.py        | 64 +++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index 78a8c6020b..87127bbb04 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -330,6 +330,70 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
+  def test_loggable_in_case_of_server_gaierror_normal_cache(self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    expected = ('someone', 'someone')
+    sent = kw
+    self.assertEqual(expected,
+        self.erp5_remote_manager.authenticateCredentials(sent))
+    # patch Wizard Tool to raise in callRemoteProxyMethod
+    from Products.ERP5Wizard.Tool.WizardTool import WizardTool
+    original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
+    try:
+      WizardTool.callRemoteProxyMethod = raises_socket_gaierror
+      self.assertRaises(socket.gaierror,
+          self.portal.portal_wizard.callRemoteProxyMethod)
+      self.assertEqual(expected,
+        self.erp5_remote_manager.authenticateCredentials(sent))
+    finally:
+      WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
+
+  def test_loggable_in_case_of_server_raises_anythin_else_normal_cache(self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    expected = ('someone', 'someone')
+    sent = kw
+    self.assertEqual(expected,
+        self.erp5_remote_manager.authenticateCredentials(sent))
+    # patch Wizard Tool to raise in callRemoteProxyMethod
+    from Products.ERP5Wizard.Tool.WizardTool import WizardTool
+    original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
+    try:
+      WizardTool.callRemoteProxyMethod = raises_value_error
+      self.assertRaises(ValueError,
+          self.portal.portal_wizard.callRemoteProxyMethod)
+      self.assertEqual(expected,
+        self.erp5_remote_manager.authenticateCredentials(sent))
+    finally:
+      WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
+
+  def test_not_loggable_in_case_of_server_gaierror_no_log_before(self):
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    # patch Wizard Tool to raise in callRemoteProxyMethod
+    from Products.ERP5Wizard.Tool.WizardTool import WizardTool
+    original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
+    try:
+      WizardTool.callRemoteProxyMethod = raises_socket_gaierror
+      self.assertRaises(socket.gaierror,
+          self.portal.portal_wizard.callRemoteProxyMethod)
+      self.checkLogin(('someone', 'someone'), kw)
+    finally:
+      WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
+
 def test_suite():
   suite = unittest.TestSuite()
   suite.addTest(unittest.makeSuite(TestERP5RemoteUserManager))
-- 
2.30.9


From 3a910e8efd768b58010b47886df4b5a2a0d97a18 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 14:33:02 +0000
Subject: [PATCH 061/163]  - fix typo  - invert assertion

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39168 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Wizard/tests/testERP5RemoteUserManager.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index 87127bbb04..dd4204a753 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -368,7 +368,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
     try:
-      WizardTool.callRemoteProxyMethod = raises_value_error
+      WizardTool.callRemoteProxyMethod = raises_valueerror
       self.assertRaises(ValueError,
           self.portal.portal_wizard.callRemoteProxyMethod)
       self.assertEqual(expected,
@@ -390,7 +390,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_gaierror
       self.assertRaises(socket.gaierror,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.checkLogin(('someone', 'someone'), kw)
+      self.checkLogin(None, kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
-- 
2.30.9


From 43a9b6d1f94ff01882abec221bb0c45b3b7beafb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 14:37:48 +0000
Subject: [PATCH 062/163]  - add docstrings

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39169 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5Wizard/tests/testERP5RemoteUserManager.py    | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index dd4204a753..5274069ef6 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -184,6 +184,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
   # TESTS
   ############################################################################
   def test_correct_login(self):
+    """Checks typical login scenrio"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -193,6 +194,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.checkLogin(('someone', 'someone'), kw)
 
   def test_incorrect_login(self):
+    """Checks that incorrect login does not work"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -202,6 +204,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.checkLogin(None, kw)
 
   def test_incorrect_login_in_case_of_no_connection(self):
+    """Checks that in case if there is no auth server defined it is not possible ot login"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -214,6 +217,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.checkLogin(None, kw)
 
   def test_loggable_in_case_of_server_socket_error(self):
+    """Check that in case if socket.error is raised login works from ZODB cache"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -233,6 +237,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_loggable_in_case_of_server_socket_sslerror(self):
+    """Check that in case if socket.sslerror is raised login works from ZODB cache"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -252,6 +257,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_not_loggable_in_case_of_server_raises_anything_else(self):
+    """Check that in case if non socket is raised login does not works"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -272,6 +278,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
 
   def test_loggable_in_case_of_server_socket_error_with_failed_login_between(
       self):
+    """Check that in case if socket.sslerror is raised login works from ZODB cache, when wrong credentials was passed"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -293,6 +300,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_loggable_in_case_of_server_socket_timeout(self):
+    """Check that in case if socket.timeout is raised login works from ZODB cache"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -312,6 +320,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_loggable_in_case_of_server_gaierror(self):
+    """Check that in case if socket.gaierror is raised login works from ZODB cache"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -331,6 +340,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_loggable_in_case_of_server_gaierror_normal_cache(self):
+    """Check that in case if socket.gaierror is raised login works from usual cache"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -354,6 +364,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_loggable_in_case_of_server_raises_anythin_else_normal_cache(self):
+    """Check that in case if non socket is raised login works from usual cache"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -377,6 +388,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_not_loggable_in_case_of_server_gaierror_no_log_before(self):
+    """Check that in case if socket.gaierror is raised login does not work in case of empty ZODB cache"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
-- 
2.30.9


From 356aa88f0ba88d1b026f4cf543b3d8799827c531 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 14 Oct 2010 14:38:03 +0000
Subject: [PATCH 063/163] fix a storange index name.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39170 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_catalog/erp5_mysql_innodb/z_create_subject.xml     | 4 ++--
 bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision           | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_subject.xml b/bt5/erp5_ingestion_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_subject.xml
index bcce5de2c4..41f7458c7c 100644
--- a/bt5/erp5_ingestion_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_subject.xml
+++ b/bt5/erp5_ingestion_mysql_innodb_catalog/CatalogMethodTemplateItem/portal_catalog/erp5_mysql_innodb/z_create_subject.xml
@@ -86,7 +86,7 @@
   uid BIGINT UNSIGNED NOT NULL,\n
   subject VARCHAR(255),\n
   PRIMARY KEY `uid` (`uid`),\n
-  KEY `allowedRolesAndUsers` (`Subject`)\n
+  KEY `subject` (`subject`)\n
 ) TYPE=InnoDB; \n
 </string> </value>
         </item>
@@ -128,7 +128,7 @@
   uid BIGINT UNSIGNED NOT NULL,\n
   subject VARCHAR(255),\n
   PRIMARY KEY `uid` (`uid`),\n
-  KEY `allowedRolesAndUsers` (`Subject`)\n
+  KEY `subject` (`subject`)\n
 ) TYPE=InnoDB; \n
 </string> </value>
                     </item>
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
index 8fdd954df9..b393560759 100644
--- a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
+++ b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-22
\ No newline at end of file
+23
\ No newline at end of file
-- 
2.30.9


From 08834c02c3d131b3e2c3c550873a60ddb0688d38 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Thu, 14 Oct 2010 14:39:37 +0000
Subject: [PATCH 064/163] Fix commit r39141, due to hasty rework before commit.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39171 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/SQLCatalog.py | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/product/ZSQLCatalog/SQLCatalog.py b/product/ZSQLCatalog/SQLCatalog.py
index f7ff3c43fb..a2e0d8c824 100644
--- a/product/ZSQLCatalog/SQLCatalog.py
+++ b/product/ZSQLCatalog/SQLCatalog.py
@@ -101,12 +101,15 @@ except ImportError:
   def getTransactionalVariable():
     return {}
 
-def generateCatalogCacheId(method_id, self, *args, **kwd):
-  # XXX: getPath is overkill for a unique cache identifier.
+def getInstanceID(instance):
+  # XXX: getPhysicalPath is overkill for a unique cache identifier.
   # What I would like to use instead of it is:
   #   (self._p_jar.db().database_name, self._p_oid)
   # but database_name is not unique in at least ZODB 3.4 (Zope 2.8.8).
-  return str((method_id, self.getCacheSequenceNumber(), self.getPath(),
+  return instance.getPhysicalPath()
+
+def generateCatalogCacheId(method_id, self, *args, **kwd):
+  return str((method_id, self.getCacheSequenceNumber(), getInstanceID(self),
     args, kwd))
 
 class transactional_cache_decorator:
-- 
2.30.9


From c0a15df4762f2f09af96bceda037a3afe79808b8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 14:46:22 +0000
Subject: [PATCH 065/163]  - simplify access to erp5_remote_manager  - check
 that it is empited after bad excepion is raised

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39174 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Wizard/tests/testERP5RemoteUserManager.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index 5274069ef6..57457b48c3 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -107,10 +107,10 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
   def setUpRemoteUserManager(self):
     acl_users = self.portal.acl_users
     addERP5RemoteUserManager(acl_users, self.erp5_remote_manager_id)
-    erp5_remote_manager = getattr(acl_users, self.erp5_remote_manager_id)
+    self.erp5_remote_manager = getattr(acl_users, self.erp5_remote_manager_id)
     erp5_users = getattr(acl_users, 'erp5_users')
     erp5_users.manage_activateInterfaces(['IUserEnumerationPlugin'])
-    erp5_remote_manager.manage_activateInterfaces(['IAuthenticationPlugin'])
+    self.erp5_remote_manager.manage_activateInterfaces(['IAuthenticationPlugin'])
     transaction.commit()
 
   def afterSetUp(self):
@@ -119,7 +119,6 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.setUpRemoteUserManager()
     self.person_module = self.portal.person_module
     acl_users = self.portal.acl_users
-    self.erp5_remote_manager = getattr(acl_users, self.erp5_remote_manager_id)
     # set preferences before each test, as test suite can have different
     # ip/port after being saved and then loaded
     self.setUpAuthenticationServerPreferences()
@@ -273,6 +272,9 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       self.assertRaises(ValueError,
           self.portal.portal_wizard.callRemoteProxyMethod)
       self.checkLogin(None, kw)
+      # assert that ZODB cache is emptied
+      self.assertFalse(login in \
+          self.erp5_remote_manager.remote_authentication_cache)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
-- 
2.30.9


From 918cc7bac3949f115ef541a5c99af09bb1b90868 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 14:47:53 +0000
Subject: [PATCH 066/163]  - socket.error is generic error class, no need to
 add others to catch    correct issues

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39175 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Wizard/PAS/ERP5RemoteUserManager.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py b/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
index 26975e3516..067cd30da5 100644
--- a/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
@@ -87,7 +87,7 @@ class ERP5RemoteUserManager(ERP5UserManager):
                        **{'login': login,
                           'password': password,
                           'erp5_uid': erp5_uid}))
-        except (socket.sslerror, socket.error):
+        except socket.error:
             # issue with socket, read from "ZODB cache"
             LOG('ERP5RemoteUserManager', INFO, 'Socket issue with server, '
               'used local cache', error=True)
-- 
2.30.9


From 44d99881d0aeab7f7bb460150193a777285a2677 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 14:54:32 +0000
Subject: [PATCH 067/163]  - check that ZODB cache is properly invalidated in
 case of wrong login

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39176 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5Wizard/tests/testERP5RemoteUserManager.py | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index 57457b48c3..973f923536 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -408,6 +408,21 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
+  def test_wrong_login_clears_zodb_cache(self):
+    """Check that wrong login attempt clears ZODB cache"""
+    login = 'someone'
+    password = 'somepass'
+    self.createPerson(login, password)
+    transaction.commit()
+    self.tic()
+    kw = {'login':login, 'password': password}
+    self.checkLogin(('someone', 'someone'), kw)
+    self.assertTrue(login in \
+        self.erp5_remote_manager.remote_authentication_cache)
+    self.checkLogin(None, {'login':kw['login'], 'password':'wrong_password'})
+    self.assertFalse(login in \
+        self.erp5_remote_manager.remote_authentication_cache)
+
 def test_suite():
   suite = unittest.TestSuite()
   suite.addTest(unittest.makeSuite(TestERP5RemoteUserManager))
-- 
2.30.9


From e0a1742fd3c585b3897d3f7505b7520c53afe221 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 14:55:31 +0000
Subject: [PATCH 068/163]  - unhardcode

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39177 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../tests/testERP5RemoteUserManager.py        | 32 +++++++++----------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index 973f923536..855e23825f 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -190,7 +190,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.checkLogin(('someone', 'someone'), kw)
+    self.checkLogin((login, login), kw)
 
   def test_incorrect_login(self):
     """Checks that incorrect login does not work"""
@@ -223,7 +223,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.checkLogin(('someone', 'someone'), kw)
+    self.checkLogin((login, login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -231,7 +231,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_error
       self.assertRaises(socket.error,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.checkLogin(('someone', 'someone'), kw)
+      self.checkLogin((login, login), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
@@ -243,7 +243,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.checkLogin(('someone', 'someone'), kw)
+    self.checkLogin((login, login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -251,7 +251,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_sslerror
       self.assertRaises(socket.sslerror,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.checkLogin(('someone', 'someone'), kw)
+      self.checkLogin((login, login), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
@@ -263,7 +263,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.checkLogin(('someone', 'someone'), kw)
+    self.checkLogin((login, login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -287,7 +287,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.checkLogin(('someone', 'someone'), kw)
+    self.checkLogin((login, login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -295,9 +295,9 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_error
       self.assertRaises(socket.error,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.checkLogin(('someone', 'someone'), kw)
+      self.checkLogin((login, login), kw)
       self.checkLogin(None, {'login':kw['login'], 'password':'wrong_password'})
-      self.checkLogin(('someone', 'someone'), kw)
+      self.checkLogin((login, login), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
@@ -309,7 +309,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.checkLogin(('someone', 'someone'), kw)
+    self.checkLogin((login, login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -317,7 +317,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_timeout
       self.assertRaises(socket.timeout,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.checkLogin(('someone', 'someone'), kw)
+      self.checkLogin((login, login), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
@@ -329,7 +329,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.checkLogin(('someone', 'someone'), kw)
+    self.checkLogin((login, login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -337,7 +337,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_gaierror
       self.assertRaises(socket.gaierror,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.checkLogin(('someone', 'someone'), kw)
+      self.checkLogin((login, login), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
@@ -349,7 +349,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    expected = ('someone', 'someone')
+    expected = (login, login)
     sent = kw
     self.assertEqual(expected,
         self.erp5_remote_manager.authenticateCredentials(sent))
@@ -373,7 +373,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    expected = ('someone', 'someone')
+    expected = (login, login)
     sent = kw
     self.assertEqual(expected,
         self.erp5_remote_manager.authenticateCredentials(sent))
@@ -416,7 +416,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
     kw = {'login':login, 'password': password}
-    self.checkLogin(('someone', 'someone'), kw)
+    self.checkLogin((login, login), kw)
     self.assertTrue(login in \
         self.erp5_remote_manager.remote_authentication_cache)
     self.checkLogin(None, {'login':kw['login'], 'password':'wrong_password'})
-- 
2.30.9


From ad9be7e0119d1d4733bcdf8cc0ae7c7965769d8a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 14:56:30 +0000
Subject: [PATCH 069/163]  - update docstring

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39178 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Wizard/PAS/ERP5RemoteUserManager.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py b/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
index 067cd30da5..046e48a4fb 100644
--- a/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
@@ -107,7 +107,7 @@ class ERP5RemoteUserManager(ERP5UserManager):
             if login in self.remote_authentication_cache:
                 del self.remote_authentication_cache[login]
         else:
-            # store in cache if different
+            # update ZODB cache
             if result == 1:
                 # successfully logged in
                 stored_encrypted_password = self.remote_authentication_cache\
-- 
2.30.9


From bcc656a75ffeba2de7c21274e5116cc4c92a9f81 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 14:58:38 +0000
Subject: [PATCH 070/163]  - spelling

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39179 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Wizard/tests/testERP5RemoteUserManager.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index 855e23825f..820b14b548 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -126,7 +126,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.tic()
 
   def beforeTearDown(self):
-    """Clear everthing"""
+    """Clear everything"""
     self.portal.acl_users.manage_delObjects(self.erp5_remote_manager_id)
     self.portal.deleteContent('portal_witch')
     self.removeAuthenticationServerPreferences()
@@ -183,7 +183,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
   # TESTS
   ############################################################################
   def test_correct_login(self):
-    """Checks typical login scenrio"""
+    """Checks typical login scenario"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
@@ -203,7 +203,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.checkLogin(None, kw)
 
   def test_incorrect_login_in_case_of_no_connection(self):
-    """Checks that in case if there is no auth server defined it is not possible ot login"""
+    """Checks that in case if there is no authentication server defined it is not possible to login"""
     login = 'someone'
     password = 'somepass'
     self.createPerson(login, password)
-- 
2.30.9


From 760fa11172054964a5600da5d9c129fdf8997ff6 Mon Sep 17 00:00:00 2001
From: Sebastien Robin <seb@nexedi.com>
Date: Thu, 14 Oct 2010 15:04:32 +0000
Subject: [PATCH 071/163] - add unit test to check that there is no unicode
 error   any more when we create preference for a person with   a non ascii
 characters in it's name - in Message, import Globals instead of get_request, 
  like this we can use the version of get_request   patched by
 ERP5TypeTestCase

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39180 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testPerson.py | 19 +++++++++++++++++++
 product/ERP5Type/Message.py      |  4 ++--
 2 files changed, 21 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/tests/testPerson.py b/product/ERP5/tests/testPerson.py
index 70721c46ef..a2135d1c11 100644
--- a/product/ERP5/tests/testPerson.py
+++ b/product/ERP5/tests/testPerson.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 ##############################################################################
 #
 # Copyright (c) 2005 Nexedi SARL and Contributors. All Rights Reserved.
@@ -34,6 +35,8 @@ from AccessControl import Unauthorized
 from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
 from Products.ERP5Type import Permissions
 
+import transaction
+
 
 class TestPerson(ERP5TypeTestCase):
 
@@ -173,6 +176,22 @@ class TestPerson(ERP5TypeTestCase):
     self.assertEquals(None, p.getPassword())
     self.assertEquals('default', p.getPassword('default'))
 
+  def testPreferenceInteractionWorkflow(self, quiet=0, run=run_all_test):
+    """ Test copy/paste a Person object. """
+    if not run:
+      return
+    person_module = self.getPersonModule()
+    title = "Séb"
+    person = person_module.newContent(portal_type='Person', title=title)
+    person.setReference('test_seb')
+    transaction.commit()
+    self.tic()
+    portal = self.getPortal()
+    last_id = portal.portal_preferences.getLastId()
+    last_preference = portal.portal_preferences[last_id]
+    self.assertTrue("Séb" in last_preference.getTitle())
+    
+
 def test_suite():
   suite = unittest.TestSuite()
   suite.addTest(unittest.makeSuite(TestPerson))
diff --git a/product/ERP5Type/Message.py b/product/ERP5Type/Message.py
index 7608d23131..657e052f84 100644
--- a/product/ERP5Type/Message.py
+++ b/product/ERP5Type/Message.py
@@ -84,7 +84,7 @@ except ImportError:
 
   getGlobalTranslationService = GlobalTranslationService
 
-from Products.ERP5Type.Globals import get_request
+from Products.ERP5Type import Globals
 from cPickle import dumps, loads
 
 try:
@@ -135,7 +135,7 @@ class Message(Persistent):
     the return value is a string object. If it is a unicode object,
     the return value is a unicode object.
     """
-    request = get_request()
+    request = Globals.get_request()
     if request is not None:
       context = request['PARENTS'][0]
       translation_service = getGlobalTranslationService()
-- 
2.30.9


From 0e2178f924e80026b28f0b68e36e6909c1528ebc Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 14 Oct 2010 15:04:35 +0000
Subject: [PATCH 072/163] since r38650, isTempObject() returns True for
 asContext() result, so now the condition to switch cache storage is not
 isTempObject() result but getOriginalDocument() result. this change will
 solve recent failures of testERP5Web.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39181 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/mixin/cached_convertable.py | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/product/ERP5/mixin/cached_convertable.py b/product/ERP5/mixin/cached_convertable.py
index 98689cc340..1ccc81c144 100644
--- a/product/ERP5/mixin/cached_convertable.py
+++ b/product/ERP5/mixin/cached_convertable.py
@@ -74,8 +74,8 @@ class CachedConvertableMixin:
   def _getCacheFactory(self):
     """
     """
-    if self.isTempObject():
-      return
+    if self.getOriginalDocument() is None:
+      return None
     cache_tool = getToolByName(self, 'portal_caches')
     preference_tool = getToolByName(self, 'portal_preferences')
     cache_factory_name = preference_tool.getPreferredConversionCacheFactory('document_cache_factory')
@@ -148,12 +148,12 @@ class CachedConvertableMixin:
                         'data': cached_value,
                         'date': date,
                         'size': size}
-    if self.isTempObject():
+    cache_factory = self._getCacheFactory()
+    if cache_factory is None:
       if getattr(aq_base(self), 'temp_conversion_data', None) is None:
         self.temp_conversion_data = {}
       self.temp_conversion_data[cache_id] = stored_data_dict
       return
-    cache_factory = self._getCacheFactory()
     cache_duration = cache_factory.cache_duration
     # The purpose of this transaction cache is to help calls
     # to the same cache value in the same transaction.
@@ -168,7 +168,8 @@ class CachedConvertableMixin:
     """
     """
     cache_id = self._getCacheKey(**kw)
-    if self.isTempObject():
+    cache_factory = self._getCacheFactory()
+    if cache_factory is None:
       return getattr(aq_base(self), 'temp_conversion_data', {})[cache_id]
     # The purpose of this cache is to help calls to the same cache value
     # in the same transaction.
@@ -177,7 +178,7 @@ class CachedConvertableMixin:
       return tv[cache_id]
     except KeyError:
       pass
-    for cache_plugin in self._getCacheFactory().getCachePluginList():
+    for cache_plugin in cache_factory.getCachePluginList():
       cache_entry = cache_plugin.get(cache_id, DEFAULT_CACHE_SCOPE)
       if cache_entry is not None:
         data_dict = cache_entry.getValue()
-- 
2.30.9


From b21773990c7b2a868414268bd4bcba333048a864 Mon Sep 17 00:00:00 2001
From: Sebastien Robin <seb@nexedi.com>
Date: Thu, 14 Oct 2010 15:05:49 +0000
Subject: [PATCH 073/163] update docstring

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39183 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testPerson.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/tests/testPerson.py b/product/ERP5/tests/testPerson.py
index a2135d1c11..0efef54fe2 100644
--- a/product/ERP5/tests/testPerson.py
+++ b/product/ERP5/tests/testPerson.py
@@ -176,8 +176,9 @@ class TestPerson(ERP5TypeTestCase):
     self.assertEquals(None, p.getPassword())
     self.assertEquals('default', p.getPassword('default'))
 
-  def testPreferenceInteractionWorkflow(self, quiet=0, run=run_all_test):
-    """ Test copy/paste a Person object. """
+  def testPreferenceInteractionWorkflow(self):
+    """ when setting reference, a script create preference is
+        called by activities, check this behavior. """
     if not run:
       return
     person_module = self.getPersonModule()
-- 
2.30.9


From d8e79e9d3ccdf4b1cba1bff37811d35bb1a061b8 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 15:07:32 +0000
Subject: [PATCH 074/163] Performance: get tools from the portal instead of
 relying on acquisition

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39184 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Accessor/Translation.py   |  7 +++----
 product/ERP5Type/Accessor/WorkflowState.py | 18 ++++++++----------
 product/ERP5Type/Base.py                   |  5 ++---
 product/ERP5Type/CopySupport.py            | 22 ++++++++++------------
 product/ERP5Type/Core/Folder.py            |  9 ++++-----
 5 files changed, 27 insertions(+), 34 deletions(-)

diff --git a/product/ERP5Type/Accessor/Translation.py b/product/ERP5Type/Accessor/Translation.py
index 80506b9f5e..bf08dfa024 100644
--- a/product/ERP5Type/Accessor/Translation.py
+++ b/product/ERP5Type/Accessor/Translation.py
@@ -29,7 +29,6 @@
 from zLOG import LOG
 from Products.ERP5Type.PsycoWrapper import psyco
 from Acquisition import aq_base
-from Products.CMFCore.utils import getToolByName
 
 from Products.ERP5Type.Accessor.Base import func_code, ATTRIBUTE_PREFIX, evaluateTales, Getter as BaseGetter, Method
 from Products.ERP5Type.Accessor import Accessor, AcquiredProperty
@@ -72,7 +71,7 @@ class TranslatedPropertyGetter(BaseGetter):
         default = self._default
 
       if self._language is None:
-        language = kw.get('language') or getToolByName(instance, 'Localizer').get_selected_language()
+        language = kw.get('language') or instance.getPortalObject().Localizer.get_selected_language()
       else:
         language = self._language
       try:
@@ -83,7 +82,7 @@ class TranslatedPropertyGetter(BaseGetter):
       value = instance.getProperty(self._property_id)
       if domain == '' or (value in ('', None)):
         return value
-      localizer = getToolByName(instance, 'Localizer')
+      localizer = instance.getPortalObject().Localizer
       message_catalog = getattr(localizer, domain, None)
       if message_catalog is not None:
         return message_catalog.gettext(unicode(value, 'utf8'), lang=self._language).encode('utf8')
@@ -246,7 +245,7 @@ class TranslatedPropertyTester(Method):
 
     if domain==TRANSLATION_DOMAIN_CONTENT_TRANSLATION:
       if self._language is None:
-        language = kw.get('language') or getToolByName(instance, 'Localizer').get_selected_language()
+        language = kw.get('language') or instance.getPortalObject().Localizer.get_selected_language()
       else:
         language = self._language
       try:
diff --git a/product/ERP5Type/Accessor/WorkflowState.py b/product/ERP5Type/Accessor/WorkflowState.py
index 07b8c57f40..4103d489a9 100644
--- a/product/ERP5Type/Accessor/WorkflowState.py
+++ b/product/ERP5Type/Accessor/WorkflowState.py
@@ -26,7 +26,6 @@
 #
 ##############################################################################
 
-from Products.CMFCore.utils import getToolByName
 from Products.ERP5Type.PsycoWrapper import psyco
 from Base import Getter as BaseGetter, Setter as BaseSetter
 from warnings import warn
@@ -54,7 +53,7 @@ class Getter(BaseGetter):
       self._key = key
 
     def __call__(self, instance):
-      portal_workflow = getToolByName(instance, 'portal_workflow')
+      portal_workflow = instance.getPortalObject().portal_workflow
       wf = portal_workflow.getWorkflowById(self._key)
       return wf._getWorkflowStateOf(instance, id_only=1)
 
@@ -79,7 +78,7 @@ class TitleGetter(BaseGetter):
       self._key = key
 
     def __call__(self, instance):
-      portal_workflow = getToolByName(instance, 'portal_workflow')
+      portal_workflow = instance.getPortalObject().portal_workflow
       wf = portal_workflow.getWorkflowById(self._key)
       return wf._getWorkflowStateOf(instance).title
 
@@ -90,13 +89,12 @@ class TranslatedGetter(Getter):
     """
 
     def __call__(self, instance):
-      portal_workflow = getToolByName(instance, 'portal_workflow')
-      localizer = getToolByName(instance, 'Localizer')
-      wf = portal_workflow.getWorkflowById(self._key)
+      portal = instance.getPortalObject()
+      wf = portal.portal_workflow.getWorkflowById(self._key)
       state_id = wf._getWorkflowStateOf(instance, id_only=1)
       warn('Translated workflow state getters, such as %s are deprecated' %
             self._id, DeprecationWarning)
-      return localizer.erp5_ui.gettext(state_id).encode('utf8')
+      return portal.localizer.erp5_ui.gettext(state_id).encode('utf8')
 
     psyco.bind(__call__)
 
@@ -106,10 +104,10 @@ class TranslatedTitleGetter(TitleGetter):
     """
 
     def __call__(self, instance):
-      portal_workflow = getToolByName(instance, 'portal_workflow')
-      localizer = getToolByName(instance, 'Localizer')
+      portal = instance.getPortalObject()
+      localizer = portal.Localizer
       wf_id = self._key
-      wf = portal_workflow.getWorkflowById(wf_id)
+      wf = portal.portal_workflow.getWorkflowById(wf_id)
       selected_language = localizer.get_selected_language()
       state_title = wf._getWorkflowStateOf(instance).title
       msg_id = '%s [state in %s]' % (state_title, wf_id)
diff --git a/product/ERP5Type/Base.py b/product/ERP5Type/Base.py
index fcd8320f66..3083d6e94a 100644
--- a/product/ERP5Type/Base.py
+++ b/product/ERP5Type/Base.py
@@ -2647,9 +2647,8 @@ class Base( CopyContainer,
     """
       This returns the translated portal_type
     """
-    portal_type = self.portal_type
-    localizer = getToolByName(self, 'Localizer')
-    return localizer.erp5_ui.gettext(portal_type).encode('utf8')
+    localizer = self.getPortalObject().Localizer
+    return localizer.erp5_ui.gettext(self.portal_type).encode('utf8')
 
   security.declareProtected(Permissions.AccessContentsInformation, 'getMetaType')
   def getMetaType(self):
diff --git a/product/ERP5Type/CopySupport.py b/product/ERP5Type/CopySupport.py
index b8f6058aa1..bfe17056d1 100644
--- a/product/ERP5Type/CopySupport.py
+++ b/product/ERP5Type/CopySupport.py
@@ -25,7 +25,6 @@ from OFS.CopySupport import _cb_encode, _cb_decode, cookie_path
 from OFS.CopySupport import sanity_check
 from Products.ERP5Type import Permissions
 from Acquisition import aq_base, aq_inner, aq_parent
-from Products.CMFCore.utils import getToolByName
 from Products.ERP5Type.Accessor.Constant import PropertyGetter as ConstantGetter
 from Products.ERP5Type.Globals import PersistentMapping, MessageDialog
 from Products.ERP5Type.Utils import get_request
@@ -157,11 +156,10 @@ class CopyContainer:
       ob = self._getOb(id)
       # Make sure there is no activities pending on that object
       try:
-        portal_activities = getToolByName(self, 'portal_activities')
+        portal_activities = self.getPortalObject().portal_activities
       except AttributeError:
-        # There is no activity tool
-        portal_activities = None
-      if portal_activities is not None:
+        pass # There is no activity tool
+      else:
         if portal_activities.countMessage(path=ob.getPath())>0:
           raise ActivityPendingError, 'Sorry, pending activities prevent ' \
                          +  'changing id at this current stage'
@@ -249,8 +247,8 @@ class CopyContainer:
     self_base = aq_base(self)
     #LOG("After Clone ",0, "self:%s item:%s" % (repr(self), repr(item)))
     #LOG("After Clone ",0, "self:%s item:%s" % (repr(self), repr(self.getPortalObject().objectIds())))
-    portal_catalog = getToolByName(self.getPortalObject(), 'portal_catalog')
-    self_base.uid = portal_catalog.newUid()
+    portal = self.getPortalObject()
+    self_base.uid = portal.portal_catalog.newUid()
 
     # Give the Owner local role to the current user, zope only does this if no
     # local role has been defined on the object, which breaks ERP5Security
@@ -286,7 +284,7 @@ class CopyContainer:
 
     # Add info about copy to edit workflow
     REQUEST = get_request()
-    pw = getToolByName(self, 'portal_workflow')
+    pw = portal.portal_workflow
     if 'edit_workflow' in pw.getChainFor(self)\
         and (REQUEST is None or
             not REQUEST.get('is_business_template_installation', 0)):
@@ -362,7 +360,7 @@ class CopyContainer:
           Unindex the object from the portal catalog.
       """
       if self.isIndexable:
-        catalog = getToolByName(self, 'portal_catalog', None)
+        catalog = getattr(self.getPortalObject(), 'portal_catalog', None)
         if catalog is not None:
           # Make sure there is not activity for this object
           self.flushActivity(invoke=0)
@@ -400,7 +398,7 @@ class CopyContainer:
           # Update the modification date.
           if getattr(aq_base(self), 'notifyModified', _marker) is not _marker:
               self.notifyModified()
-      catalog = getToolByName(self.getPortalObject(), 'portal_catalog', None)
+      catalog = getattr(self.getPortalObject(), 'portal_catalog', None)
       if catalog is not None:
           catalog.moveObject(self, idxs=idxs)
 
@@ -511,8 +509,8 @@ class CopyContainer:
 
   def _postDuplicate(self):
     self_base = aq_base(self)
-    portal_catalog = getToolByName(self.getPortalObject(), 'portal_catalog')
-    self_base.uid = portal_catalog.newUid()
+    portal = self.getPortalObject()
+    self_base.uid = portal.portal_catalog.newUid()
 
     # Give the Owner local role to the current user, zope only does this if no
     # local role has been defined on the object, which breaks ERP5Security
diff --git a/product/ERP5Type/Core/Folder.py b/product/ERP5Type/Core/Folder.py
index b404ec95d8..ac82290787 100644
--- a/product/ERP5Type/Core/Folder.py
+++ b/product/ERP5Type/Core/Folder.py
@@ -33,7 +33,6 @@ from Acquisition import aq_base, aq_parent, aq_inner
 from OFS.History import Historical
 import ExtensionClass
 
-from Products.CMFCore.utils import getToolByName
 from Products.CMFCore.exceptions import AccessControl_Unauthorized
 from Products.CMFCore.CMFCatalogAware import CMFCatalogAware
 from Products.CMFCore.PortalFolder import ContentFilter
@@ -1553,7 +1552,7 @@ class Folder(CopyContainer, CMFBTreeFolder, CMFHBTreeFolder, Base, FolderMixIn,
   def _verifyObjectPaste(self, object, validate_src=1):
     # To paste in an ERP5Type folder, we need to check 'Add permission'
     # that might be defined on the sub object type information.
-    pt = getToolByName(self, 'portal_types')
+    pt = self.getPortalObject().portal_types
     subobject_type = pt.getTypeInfo(object)
     if subobject_type is not None:
       sm = getSecurityManager()
@@ -1592,10 +1591,10 @@ class Folder(CopyContainer, CMFBTreeFolder, CMFHBTreeFolder, Base, FolderMixIn,
         CMF 2.2
     """
     ti = self.getTypeInfo()
-    utool = getToolByName(self, 'portal_url')
+    url = self.getPortalObject().portal_url()
     if ti is None:
-      return '%s/misc_/OFSP/dtmldoc.gif' % utool()
-    return '%s/%s' % (utool(), ti.getTypeIcon())
+      return '%s/misc_/OFSP/dtmldoc.gif' % url
+    return '%s/%s' % (url, ti.getTypeIcon())
 
 # We browse all used class from btree and hbtree and set not implemented
 # class if one method defined on a class is not defined on other, thus if
-- 
2.30.9


From 8633169a8f32e1e09a712eb4221b0ae7c284a6c2 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 15:07:51 +0000
Subject: [PATCH 075/163] small optimizations

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39185 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Accessor/Base.py | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/product/ERP5Type/Accessor/Base.py b/product/ERP5Type/Accessor/Base.py
index d86a28b4c8..45948862e5 100644
--- a/product/ERP5Type/Accessor/Base.py
+++ b/product/ERP5Type/Accessor/Base.py
@@ -67,15 +67,14 @@ class Setter(Method):
         storage_id = "%s%s" % (ATTRIBUTE_PREFIX, key)
       self._storage_id = storage_id
 
-    def __call__(self, instance, *args, **kw):
-      value = args[0]
+    def __call__(self, instance, value, *args, **kw):
       modified_object_list = []
       # Modify the property
       if value in self._null:
         setattr(instance, self._storage_id, None)
       elif self._property_type == 'content':
         # A file object should be provided
-        file_upload = args[0]
+        file_upload = value
         if isinstance(file_upload, FileUpload) or \
                 getattr(aq_base(value), 'tell', None) is not None:
           # When editing through the web interface, we are always provided a
@@ -100,7 +99,7 @@ class Setter(Method):
           LOG('ERP5Type WARNING', 0, '%s is not a file like object'
               % str(file_upload))
       else:
-        setattr(instance, self._storage_id, self._cast(args[0]))
+        setattr(instance, self._storage_id, self._cast(value))
         modified_object_list.append(instance)
       return modified_object_list
 
@@ -123,17 +122,14 @@ class Setter(Method):
         # if roles has an __of__ method, call it explicitly, as the Method
         # already has an __of__ method that has been already called at this
         # point.
-        roles = getattr(roles, '__of__', lambda aq_parent: roles)(im_self)
-        return roles
+        return getattr(roles, '__of__', lambda aq_parent: roles)(im_self)
 
 
 from Products.CMFCore.Expression import Expression
 def _evaluateTales(instance=None, value=None):
   from Products.ERP5Type.Utils import createExpressionContext
   __traceback_info__ = (instance, value)
-  expression = Expression(value)
-  econtext = createExpressionContext(instance)
-  return expression(econtext)
+  return Expression(value)(createExpressionContext(instance))
 
 evaluateTales = CachingMethod(_evaluateTales, id = 'evaluateTales', cache_factory='erp5_content_short')
 
@@ -170,10 +166,6 @@ class Getter(Method):
       self._is_tales_type = (property_type == 'tales')
 
     def __call__(self, instance, *args, **kw):
-      if len(args) > 0:
-        default = args[0]
-      else:
-        default = self._default
       # No acquisition on properties but inheritance.
       # Instead of using getattr, which use inheritance from SuperClass
       # why not use __dict__.get directly ?
@@ -184,6 +176,10 @@ class Getter(Method):
           return evaluateTales(instance, value)
         else:
           return value
+      if args:
+        default = args[0]
+      else:
+        default = self._default
       if self._is_tales_type and default is not None and kw.get('evaluate', 1):
         return evaluateTales(instance, default)
       return default
@@ -203,8 +199,7 @@ class Getter(Method):
           if roles is None:
             return rolesForPermissionOn(None, im_self, ('Manager',),
                                         '_Access_contents_information_Permission')
-        roles = getattr(roles, '__of__', lambda aq_parent: roles)(im_self)
-        return roles
+        return getattr(roles, '__of__', lambda aq_parent: roles)(im_self)
 
 
 class Tester(Method):
-- 
2.30.9


From 3472e9e911d7dd9cc72793a2dfdbae50c228d6f1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Thu, 14 Oct 2010 15:09:47 +0000
Subject: [PATCH 076/163]  - separate test data, so that it is not needed to
 delete person module    between tests

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39186 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../tests/testERP5RemoteUserManager.py        | 122 +++++++-----------
 1 file changed, 47 insertions(+), 75 deletions(-)

diff --git a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
index 820b14b548..8f241b914f 100644
--- a/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/tests/testERP5RemoteUserManager.py
@@ -103,7 +103,6 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
   erp5_remote_manager_id = 'erp5_remote_user_manager'
   system_preference_id = 'TestERP5RemoteUserManager'
 
-
   def setUpRemoteUserManager(self):
     acl_users = self.portal.acl_users
     addERP5RemoteUserManager(acl_users, self.erp5_remote_manager_id)
@@ -114,6 +113,8 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     transaction.commit()
 
   def afterSetUp(self):
+    self.login = self.id()
+    self.password = self.login + 'password'
     self.portal = self.getPortalObject()
     self.createDummyWitchTool()
     self.setUpRemoteUserManager()
@@ -132,9 +133,6 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
     self.removeAuthenticationServerPreferences()
     transaction.commit()
     self.tic()
-    self.person_module.deleteContent(list(self.person_module.objectIds()))
-    transaction.commit()
-    self.tic()
 
   def removeAuthenticationServerPreferences(self):
     portal_preferences = self.portal.portal_preferences
@@ -184,32 +182,26 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
   ############################################################################
   def test_correct_login(self):
     """Checks typical login scenario"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
-    self.checkLogin((login, login), kw)
+    kw = {'login':self.login, 'password': self.password}
+    self.checkLogin((self.login, self.login), kw)
 
   def test_incorrect_login(self):
     """Checks that incorrect login does not work"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': 'another_password'}
+    kw = {'login':self.login, 'password': 'another_password'}
     self.checkLogin(None, kw)
 
   def test_incorrect_login_in_case_of_no_connection(self):
     """Checks that in case if there is no authentication server defined it is not possible to login"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
+    kw = {'login':self.login, 'password': self.password}
     self.removeAuthenticationServerPreferences()
     transaction.commit()
     self.tic()
@@ -217,13 +209,11 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
 
   def test_loggable_in_case_of_server_socket_error(self):
     """Check that in case if socket.error is raised login works from ZODB cache"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
-    self.checkLogin((login, login), kw)
+    kw = {'login':self.login, 'password': self.password}
+    self.checkLogin((self.login, self.login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -231,19 +221,17 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_error
       self.assertRaises(socket.error,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.checkLogin((login, login), kw)
+      self.checkLogin((self.login, self.login), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_loggable_in_case_of_server_socket_sslerror(self):
     """Check that in case if socket.sslerror is raised login works from ZODB cache"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
-    self.checkLogin((login, login), kw)
+    kw = {'login':self.login, 'password': self.password}
+    self.checkLogin((self.login, self.login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -251,19 +239,17 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_sslerror
       self.assertRaises(socket.sslerror,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.checkLogin((login, login), kw)
+      self.checkLogin((self.login, self.login), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_not_loggable_in_case_of_server_raises_anything_else(self):
     """Check that in case if non socket is raised login does not works"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
-    self.checkLogin((login, login), kw)
+    kw = {'login':self.login, 'password': self.password}
+    self.checkLogin((self.login, self.login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -273,7 +259,7 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
           self.portal.portal_wizard.callRemoteProxyMethod)
       self.checkLogin(None, kw)
       # assert that ZODB cache is emptied
-      self.assertFalse(login in \
+      self.assertFalse(self.login in \
           self.erp5_remote_manager.remote_authentication_cache)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
@@ -281,13 +267,11 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
   def test_loggable_in_case_of_server_socket_error_with_failed_login_between(
       self):
     """Check that in case if socket.sslerror is raised login works from ZODB cache, when wrong credentials was passed"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
-    self.checkLogin((login, login), kw)
+    kw = {'login':self.login, 'password': self.password}
+    self.checkLogin((self.login, self.login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -295,21 +279,19 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_error
       self.assertRaises(socket.error,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.checkLogin((login, login), kw)
+      self.checkLogin((self.login, self.login), kw)
       self.checkLogin(None, {'login':kw['login'], 'password':'wrong_password'})
-      self.checkLogin((login, login), kw)
+      self.checkLogin((self.login, self.login), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_loggable_in_case_of_server_socket_timeout(self):
     """Check that in case if socket.timeout is raised login works from ZODB cache"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
-    self.checkLogin((login, login), kw)
+    kw = {'login':self.login, 'password': self.password}
+    self.checkLogin((self.login, self.login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -317,19 +299,17 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_timeout
       self.assertRaises(socket.timeout,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.checkLogin((login, login), kw)
+      self.checkLogin((self.login, self.login), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_loggable_in_case_of_server_gaierror(self):
     """Check that in case if socket.gaierror is raised login works from ZODB cache"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
-    self.checkLogin((login, login), kw)
+    kw = {'login':self.login, 'password': self.password}
+    self.checkLogin((self.login, self.login), kw)
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -337,19 +317,17 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
       WizardTool.callRemoteProxyMethod = raises_socket_gaierror
       self.assertRaises(socket.gaierror,
           self.portal.portal_wizard.callRemoteProxyMethod)
-      self.checkLogin((login, login), kw)
+      self.checkLogin((self.login, self.login), kw)
     finally:
       WizardTool.callRemoteProxyMethod = original_callRemoteProxyMethod
 
   def test_loggable_in_case_of_server_gaierror_normal_cache(self):
     """Check that in case if socket.gaierror is raised login works from usual cache"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
-    expected = (login, login)
+    kw = {'login':self.login, 'password': self.password}
+    expected = (self.login, self.login)
     sent = kw
     self.assertEqual(expected,
         self.erp5_remote_manager.authenticateCredentials(sent))
@@ -367,13 +345,11 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
 
   def test_loggable_in_case_of_server_raises_anythin_else_normal_cache(self):
     """Check that in case if non socket is raised login works from usual cache"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
-    expected = (login, login)
+    kw = {'login':self.login, 'password': self.password}
+    expected = (self.login, self.login)
     sent = kw
     self.assertEqual(expected,
         self.erp5_remote_manager.authenticateCredentials(sent))
@@ -391,12 +367,10 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
 
   def test_not_loggable_in_case_of_server_gaierror_no_log_before(self):
     """Check that in case if socket.gaierror is raised login does not work in case of empty ZODB cache"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
+    kw = {'login':self.login, 'password': self.password}
     # patch Wizard Tool to raise in callRemoteProxyMethod
     from Products.ERP5Wizard.Tool.WizardTool import WizardTool
     original_callRemoteProxyMethod=WizardTool.callRemoteProxyMethod
@@ -410,17 +384,15 @@ class TestERP5RemoteUserManager(ERP5TypeTestCase):
 
   def test_wrong_login_clears_zodb_cache(self):
     """Check that wrong login attempt clears ZODB cache"""
-    login = 'someone'
-    password = 'somepass'
-    self.createPerson(login, password)
+    self.createPerson(self.login, self.password)
     transaction.commit()
     self.tic()
-    kw = {'login':login, 'password': password}
-    self.checkLogin((login, login), kw)
-    self.assertTrue(login in \
+    kw = {'login':self.login, 'password': self.password}
+    self.checkLogin((self.login, self.login), kw)
+    self.assertTrue(self.login in \
         self.erp5_remote_manager.remote_authentication_cache)
     self.checkLogin(None, {'login':kw['login'], 'password':'wrong_password'})
-    self.assertFalse(login in \
+    self.assertFalse(self.login in \
         self.erp5_remote_manager.remote_authentication_cache)
 
 def test_suite():
-- 
2.30.9


From a01512e53ad6c0e56996d2bfcc5262eb244fdb29 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 14 Oct 2010 15:49:44 +0000
Subject: [PATCH 077/163] add newline at end of file.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39189 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Gadget.py                       | 2 +-
 product/ERP5/Extensions/CheckSkins.py                 | 2 +-
 product/ERP5/Extensions/RecodeAllDocuments.py         | 2 +-
 product/ERP5/Tool/ConversionTool.py                   | 2 +-
 product/ERP5/ancient/Simulation/Solver.py             | 3 +--
 product/ERP5/interfaces/amount.py                     | 2 +-
 product/ERP5/interfaces/arrow_base.py                 | 2 +-
 product/ERP5/interfaces/configurable.py               | 2 +-
 product/ERP5/interfaces/document_proxy.py             | 2 +-
 product/ERP5/interfaces/extensible_traversable.py     | 2 +-
 product/ERP5/interfaces/movement_collection_diff.py   | 1 -
 product/ERP5/interfaces/movement_generator.py         | 2 +-
 product/ERP5/interfaces/predicate.py                  | 2 +-
 product/ERP5/interfaces/property_recordable.py        | 2 +-
 product/ERP5/interfaces/referenceable.py              | 2 +-
 product/ERP5/interfaces/similarity_provider.py        | 2 +-
 product/ERP5/interfaces/simulation_movement.py        | 2 +-
 product/ERP5/interfaces/uploadable.py                 | 2 +-
 product/ERP5/mixin/cached_convertable.py              | 2 +-
 product/ERP5/mixin/crawable.py                        | 2 +-
 product/ERP5/mixin/document_proxy.py                  | 1 -
 product/ERP5/mixin/variation.py                       | 2 --
 product/ERP5Form/CaptchasDotNet.py                    | 2 +-
 product/ERP5OOo/scripts/xml_beautifier.py             | 2 +-
 product/ERP5Security/ERP5KeyAuthPlugin.py             | 2 +-
 product/ERP5Type/ConnectionPlugin/SOAPConnection.py   | 2 +-
 product/ERP5Type/ConnectionPlugin/TimeoutTransport.py | 2 +-
 product/ERP5Type/PropertySheet/RoleInformation.py     | 2 +-
 product/ERP5Type/interfaces/value_access_provider.py  | 2 +-
 product/ERP5Type/patches/PropertySheets.py            | 2 +-
 product/ERP5Type/patches/cacheWalk.py                 | 2 +-
 product/ERP5Type/patches/copyTree.py                  | 2 +-
 32 files changed, 29 insertions(+), 34 deletions(-)

diff --git a/product/ERP5/Document/Gadget.py b/product/ERP5/Document/Gadget.py
index 433b6606bb..2f27f899e1 100644
--- a/product/ERP5/Document/Gadget.py
+++ b/product/ERP5/Document/Gadget.py
@@ -44,4 +44,4 @@ class Gadget(XMLObject):
                       , PropertySheet.DublinCore
                       , PropertySheet.DefaultImage
                       , PropertySheet.Gadget
-                      )
\ No newline at end of file
+                      )
diff --git a/product/ERP5/Extensions/CheckSkins.py b/product/ERP5/Extensions/CheckSkins.py
index c6157a1fd9..2eb8ba35dd 100644
--- a/product/ERP5/Extensions/CheckSkins.py
+++ b/product/ERP5/Extensions/CheckSkins.py
@@ -396,4 +396,4 @@ def fixSkinNames(self, REQUEST=None, file=None, dry_run=0):
           LOG('fixSkinNames', 0, line)
           msg += '%s\n' % line
 
-  return msg
\ No newline at end of file
+  return msg
diff --git a/product/ERP5/Extensions/RecodeAllDocuments.py b/product/ERP5/Extensions/RecodeAllDocuments.py
index c2fe01d848..4d89d59e67 100644
--- a/product/ERP5/Extensions/RecodeAllDocuments.py
+++ b/product/ERP5/Extensions/RecodeAllDocuments.py
@@ -67,4 +67,4 @@ def recodeAllDocuments(self, REQUEST=None, dry_run=0):
   for category in portal.portal_categories.objectValues('ERP5 Base Category'):
     message += '# Checking the category %s\n' % category.getId()
     recodeDocumentRecursively(category, dry_run=dry_run)
-  return message
\ No newline at end of file
+  return message
diff --git a/product/ERP5/Tool/ConversionTool.py b/product/ERP5/Tool/ConversionTool.py
index 94ddc13c47..fb36be41d2 100644
--- a/product/ERP5/Tool/ConversionTool.py
+++ b/product/ERP5/Tool/ConversionTool.py
@@ -180,4 +180,4 @@ class ConversionTool(BaseTool):
     """
       Browses all converter classes, initialised the repository of
       converters and finds the appropriate class
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/ancient/Simulation/Solver.py b/product/ERP5/ancient/Simulation/Solver.py
index febdde1e39..10efead56b 100644
--- a/product/ERP5/ancient/Simulation/Solver.py
+++ b/product/ERP5/ancient/Simulation/Solver.py
@@ -1,3 +1,2 @@
-
 class Solver:
-  pass
\ No newline at end of file
+  pass
diff --git a/product/ERP5/interfaces/amount.py b/product/ERP5/interfaces/amount.py
index e710a9fb2f..1429ca9607 100644
--- a/product/ERP5/interfaces/amount.py
+++ b/product/ERP5/interfaces/amount.py
@@ -242,4 +242,4 @@ class IAmount(IAmountCore, IAmountConversion, IAmountPrice, IAmountArithmetic):
       3. consider how to make Interface compatible
          with accessor generation (ex. getResource,
          getQuantity, etc.)
-  """
\ No newline at end of file
+  """
diff --git a/product/ERP5/interfaces/arrow_base.py b/product/ERP5/interfaces/arrow_base.py
index bd2555ed33..d65599f111 100644
--- a/product/ERP5/interfaces/arrow_base.py
+++ b/product/ERP5/interfaces/arrow_base.py
@@ -46,4 +46,4 @@ class IArrowBase(Interface):
   def getDestinationArrowBaseCategoryList():
     """Returns all categories which are used to define the destination
     of this Arrow
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/interfaces/configurable.py b/product/ERP5/interfaces/configurable.py
index 67047342b1..85cdad848a 100644
--- a/product/ERP5/interfaces/configurable.py
+++ b/product/ERP5/interfaces/configurable.py
@@ -46,4 +46,4 @@ class IConfigurable(Interface):
 
   def updateConfiguration(**kw):
     """
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/interfaces/document_proxy.py b/product/ERP5/interfaces/document_proxy.py
index 7da5dc20f9..4348732c3f 100644
--- a/product/ERP5/interfaces/document_proxy.py
+++ b/product/ERP5/interfaces/document_proxy.py
@@ -46,4 +46,4 @@ class IDocumentProxy(ILegacyDocumentProxy):
   def getProxiedDocumentValue(self, **kw):
     """
     Get the proxied document
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/interfaces/extensible_traversable.py b/product/ERP5/interfaces/extensible_traversable.py
index 2afc8ac970..d72f8f773c 100644
--- a/product/ERP5/interfaces/extensible_traversable.py
+++ b/product/ERP5/interfaces/extensible_traversable.py
@@ -50,4 +50,4 @@ class IExtensibleTraversable(ILegacyExtensibleTraversable):
   def getExtensibleContent(request, name):
     """
     Return extensible subcontent of context document during traversal.
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/interfaces/movement_collection_diff.py b/product/ERP5/interfaces/movement_collection_diff.py
index 04f7ef7a9b..e3a187b035 100644
--- a/product/ERP5/interfaces/movement_collection_diff.py
+++ b/product/ERP5/interfaces/movement_collection_diff.py
@@ -81,4 +81,3 @@ class IMovementCollectionDiff(Interface):
 
     property_dict -- properties to update     
     """
- 
\ No newline at end of file
diff --git a/product/ERP5/interfaces/movement_generator.py b/product/ERP5/interfaces/movement_generator.py
index fa29fc539b..404a6b5a5e 100644
--- a/product/ERP5/interfaces/movement_generator.py
+++ b/product/ERP5/interfaces/movement_generator.py
@@ -79,4 +79,4 @@ class IMovementGenerator(Interface):
     NOTE:
       - implement rounding appropriately (True or False seems
         simplistic)
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/interfaces/predicate.py b/product/ERP5/interfaces/predicate.py
index 21ee728155..07082f8a4d 100644
--- a/product/ERP5/interfaces/predicate.py
+++ b/product/ERP5/interfaces/predicate.py
@@ -67,4 +67,4 @@ class IPredicate(Interface):
     can be converted to SQL. If a python script is defined to 
     implement test, results obtained through asSQLExpression
     must be additionnaly tested by invoking test().
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/interfaces/property_recordable.py b/product/ERP5/interfaces/property_recordable.py
index 51d3042fb8..ad6d91061e 100644
--- a/product/ERP5/interfaces/property_recordable.py
+++ b/product/ERP5/interfaces/property_recordable.py
@@ -80,4 +80,4 @@ class IPropertyRecordable(Interface):
     """
     Returns current document as a temp document
     which recorded properties in its context.
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/interfaces/referenceable.py b/product/ERP5/interfaces/referenceable.py
index 1b6522561f..3786c595f4 100644
--- a/product/ERP5/interfaces/referenceable.py
+++ b/product/ERP5/interfaces/referenceable.py
@@ -62,4 +62,4 @@ class IReferenceable(Interface):
     """
     Returns all documents which content contains a reference
     to the current document.
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/interfaces/similarity_provider.py b/product/ERP5/interfaces/similarity_provider.py
index 564df67413..71a6eafc87 100644
--- a/product/ERP5/interfaces/similarity_provider.py
+++ b/product/ERP5/interfaces/similarity_provider.py
@@ -51,4 +51,4 @@ class ISimilarityProvider(Interface):
     calculating the transitive closure of similar relation.
 
     depth -- depth the transitive closure
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/interfaces/simulation_movement.py b/product/ERP5/interfaces/simulation_movement.py
index 7d83b3a5eb..4cb03f66e4 100644
--- a/product/ERP5/interfaces/simulation_movement.py
+++ b/product/ERP5/interfaces/simulation_movement.py
@@ -93,4 +93,4 @@ class ISimulationMovement(IMovement, IPropertyRecordable, IDivergenceController,
     """
     Returns True is this simumlation can be deleted, False
     else.
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/interfaces/uploadable.py b/product/ERP5/interfaces/uploadable.py
index 0c7f463dae..978dc5a750 100644
--- a/product/ERP5/interfaces/uploadable.py
+++ b/product/ERP5/interfaces/uploadable.py
@@ -117,4 +117,4 @@ class IUploadable(Interface):
     """
     Returns True if content was downloaded from a URL. Returns False
     if content was uploaded from a file.
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5/mixin/cached_convertable.py b/product/ERP5/mixin/cached_convertable.py
index 1ccc81c144..914cd780fd 100644
--- a/product/ERP5/mixin/cached_convertable.py
+++ b/product/ERP5/mixin/cached_convertable.py
@@ -279,4 +279,4 @@ class CachedConvertableMixin:
       Checks if the current document can be converted
       into the specified target format.
     """
-    return format in self.getTargetFormatList()
\ No newline at end of file
+    return format in self.getTargetFormatList()
diff --git a/product/ERP5/mixin/crawable.py b/product/ERP5/mixin/crawable.py
index 2b010b99a5..6c5ec87779 100644
--- a/product/ERP5/mixin/crawable.py
+++ b/product/ERP5/mixin/crawable.py
@@ -79,4 +79,4 @@ class CrawableMixin:
     """
     method = self._getTypeBasedMethod('isUpdatable',
         fallback_script_id = 'Document_isUpdatable')
-    return method()
\ No newline at end of file
+    return method()
diff --git a/product/ERP5/mixin/document_proxy.py b/product/ERP5/mixin/document_proxy.py
index f147c5632e..a21d00b9ad 100644
--- a/product/ERP5/mixin/document_proxy.py
+++ b/product/ERP5/mixin/document_proxy.py
@@ -67,4 +67,3 @@ class DocumentProxyMixin:
     if proxied_document is None:
       raise DocumentProxyError("Unable to find a proxied document")
     return proxied_document
- 
\ No newline at end of file
diff --git a/product/ERP5/mixin/variation.py b/product/ERP5/mixin/variation.py
index 70306dff68..c8fcd35f11 100644
--- a/product/ERP5/mixin/variation.py
+++ b/product/ERP5/mixin/variation.py
@@ -49,5 +49,3 @@ class VariationMixin:
     (not of the predicate) could be handled through additional matrix
     dimensions rather than through ad-hoc definition.  
   """
-
-  
\ No newline at end of file
diff --git a/product/ERP5Form/CaptchasDotNet.py b/product/ERP5Form/CaptchasDotNet.py
index 6e2c060be4..027ca8f482 100644
--- a/product/ERP5Form/CaptchasDotNet.py
+++ b/product/ERP5Form/CaptchasDotNet.py
@@ -134,4 +134,4 @@ class CaptchasDotNet:
             letter_num = ord (digest[pos]) % len (password_alphabet)
             correct_password += password_alphabet[letter_num]
         
-        return correct_password
\ No newline at end of file
+        return correct_password
diff --git a/product/ERP5OOo/scripts/xml_beautifier.py b/product/ERP5OOo/scripts/xml_beautifier.py
index 2c59d07df7..581cd8842c 100644
--- a/product/ERP5OOo/scripts/xml_beautifier.py
+++ b/product/ERP5OOo/scripts/xml_beautifier.py
@@ -96,4 +96,4 @@ if __name__ == "__main__":
 
   dom_tree = getXmlDom(xml_string)
 
-  writePrettyXml(dom_tree, xml_file)
\ No newline at end of file
+  writePrettyXml(dom_tree, xml_file)
diff --git a/product/ERP5Security/ERP5KeyAuthPlugin.py b/product/ERP5Security/ERP5KeyAuthPlugin.py
index 0a7c167dc3..d5e025ecd3 100644
--- a/product/ERP5Security/ERP5KeyAuthPlugin.py
+++ b/product/ERP5Security/ERP5KeyAuthPlugin.py
@@ -407,4 +407,4 @@ classImplements(ERP5KeyAuthPlugin,
                 plugins.ICredentialsResetPlugin,
                 plugins.ICredentialsUpdatePlugin)
 
-InitializeClass(ERP5KeyAuthPlugin)
\ No newline at end of file
+InitializeClass(ERP5KeyAuthPlugin)
diff --git a/product/ERP5Type/ConnectionPlugin/SOAPConnection.py b/product/ERP5Type/ConnectionPlugin/SOAPConnection.py
index 1a8d1cc40f..1eddaa423f 100644
--- a/product/ERP5Type/ConnectionPlugin/SOAPConnection.py
+++ b/product/ERP5Type/ConnectionPlugin/SOAPConnection.py
@@ -31,4 +31,4 @@ class SOAPConnection:
   """
     Holds a SOAP connection
   """
-  pass
\ No newline at end of file
+  pass
diff --git a/product/ERP5Type/ConnectionPlugin/TimeoutTransport.py b/product/ERP5Type/ConnectionPlugin/TimeoutTransport.py
index 6568531556..07ade91787 100644
--- a/product/ERP5Type/ConnectionPlugin/TimeoutTransport.py
+++ b/product/ERP5Type/ConnectionPlugin/TimeoutTransport.py
@@ -56,4 +56,4 @@ class TimeoutTransport(SafeTransport):
   def make_connection(self, h):
     if self._scheme == 'http':
       return Transport.make_connection(self, h)
-    return SafeTransport.make_connection(self, h)
\ No newline at end of file
+    return SafeTransport.make_connection(self, h)
diff --git a/product/ERP5Type/PropertySheet/RoleInformation.py b/product/ERP5Type/PropertySheet/RoleInformation.py
index 9c67e20500..c5dedf600a 100644
--- a/product/ERP5Type/PropertySheet/RoleInformation.py
+++ b/product/ERP5Type/PropertySheet/RoleInformation.py
@@ -63,4 +63,4 @@ class RoleInformation:
                      ' security categories',
       'mode':        'w',
       },
-  )
\ No newline at end of file
+  )
diff --git a/product/ERP5Type/interfaces/value_access_provider.py b/product/ERP5Type/interfaces/value_access_provider.py
index 52f74ff961..0cd531177b 100644
--- a/product/ERP5Type/interfaces/value_access_provider.py
+++ b/product/ERP5Type/interfaces/value_access_provider.py
@@ -42,4 +42,4 @@ class IValueAccessProvider(Interface):
 
   def _getValueList(id, spec=(), filter=None, portal_type=(), checked_permission=None, **kw):
     """
-    """
\ No newline at end of file
+    """
diff --git a/product/ERP5Type/patches/PropertySheets.py b/product/ERP5Type/patches/PropertySheets.py
index 2784adf284..f14ea8507c 100644
--- a/product/ERP5Type/patches/PropertySheets.py
+++ b/product/ERP5Type/patches/PropertySheets.py
@@ -25,4 +25,4 @@ def DAVProperties_dav__resourcetype(self):
         return '<n:collection/>'
     return ''
 
-DAVProperties.dav__resourcetype = DAVProperties_dav__resourcetype
\ No newline at end of file
+DAVProperties.dav__resourcetype = DAVProperties_dav__resourcetype
diff --git a/product/ERP5Type/patches/cacheWalk.py b/product/ERP5Type/patches/cacheWalk.py
index 67ab9e2611..869167f04f 100644
--- a/product/ERP5Type/patches/cacheWalk.py
+++ b/product/ERP5Type/patches/cacheWalk.py
@@ -302,4 +302,4 @@ def cacheWalk(top, topdown=True, onerror=None):
       for elem in cacheWalk(path, topdown, onerror):
         yield elem
   if not topdown:
-    yield top, dirs, nondirs
\ No newline at end of file
+    yield top, dirs, nondirs
diff --git a/product/ERP5Type/patches/copyTree.py b/product/ERP5Type/patches/copyTree.py
index ed611d574f..5295e4aadd 100644
--- a/product/ERP5Type/patches/copyTree.py
+++ b/product/ERP5Type/patches/copyTree.py
@@ -310,4 +310,4 @@ def copytree(src, dst, symlinks=False):
     except (IOError, os.error), why:
       errors.append((srcname, dstname, str(why)))
   if errors:
-    raise Error, errors
\ No newline at end of file
+    raise Error, errors
-- 
2.30.9


From 75988384ff51d24d1853af7a8c6261a18de2867b Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Thu, 14 Oct 2010 15:56:40 +0000
Subject: [PATCH 078/163] we no longer export '0' file.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39190 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 bt5/delivery_patch/bt/revision                                  | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/delivery_patch/bt/template_update_tool                      | 1 -
 bt5/erp5_accounting/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting/bt/template_update_tool                     | 1 -
 bt5/erp5_accounting_l10n_br_extend/bt/revision                  | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_br_extend/bt/template_update_tool      | 1 -
 bt5/erp5_accounting_l10n_br_sme/bt/revision                     | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_br_sme/bt/template_update_tool         | 1 -
 bt5/erp5_accounting_l10n_fr/bt/revision                         | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_fr/bt/template_update_tool             | 1 -
 bt5/erp5_accounting_l10n_fr_m14/bt/revision                     | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_fr_m14/bt/template_update_tool         | 1 -
 bt5/erp5_accounting_l10n_fr_m4/bt/revision                      | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_fr_m4/bt/template_update_tool          | 1 -
 bt5/erp5_accounting_l10n_fr_pca/bt/revision                     | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_fr_pca/bt/template_update_tool         | 1 -
 bt5/erp5_accounting_l10n_ifrs/bt/revision                       | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_ifrs/bt/template_update_tool           | 1 -
 bt5/erp5_accounting_l10n_in/bt/revision                         | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_in/bt/template_update_tool             | 1 -
 bt5/erp5_accounting_l10n_jp/bt/revision                         | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_jp/bt/template_update_tool             | 1 -
 bt5/erp5_accounting_l10n_mt/bt/revision                         | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_mt/bt/template_update_tool             | 1 -
 bt5/erp5_accounting_l10n_pl/bt/revision                         | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_pl/bt/template_update_tool             | 1 -
 bt5/erp5_accounting_l10n_pl_default_gap/bt/revision             | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_update_tool | 1 -
 bt5/erp5_accounting_l10n_sn/bt/revision                         | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_l10n_sn/bt/template_update_tool             | 1 -
 bt5/erp5_accounting_ui_test/bt/revision                         | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_accounting_ui_test/bt/template_update_tool             | 1 -
 bt5/erp5_administration/bt/revision                             | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_administration/bt/template_update_tool                 | 1 -
 bt5/erp5_advanced_invoicing/bt/revision                         | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_advanced_invoicing/bt/template_update_tool             | 1 -
 bt5/erp5_apparel/bt/revision                                    | 2 +-
 bt5/erp5_apparel/bt/template_update_business_template_workflow  | 1 -
 bt5/erp5_apparel/bt/template_update_tool                        | 1 -
 bt5/erp5_archive/bt/revision                                    | 2 +-
 bt5/erp5_archive/bt/template_update_business_template_workflow  | 1 -
 bt5/erp5_archive/bt/template_update_tool                        | 1 -
 bt5/erp5_auto_logout/bt/revision                                | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_auto_logout/bt/template_update_tool                    | 1 -
 bt5/erp5_autocompletion_ui/bt/revision                          | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_autocompletion_ui/bt/template_update_tool              | 1 -
 bt5/erp5_banking_cash/bt/revision                               | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_banking_cash/bt/template_update_tool                   | 1 -
 bt5/erp5_banking_check/bt/revision                              | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_banking_check/bt/template_update_tool                  | 1 -
 bt5/erp5_banking_core/bt/revision                               | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_banking_core/bt/template_update_tool                   | 1 -
 bt5/erp5_banking_inventory/bt/revision                          | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_banking_inventory/bt/template_update_tool              | 1 -
 bt5/erp5_barcode/bt/revision                                    | 2 +-
 bt5/erp5_barcode/bt/template_update_business_template_workflow  | 1 -
 bt5/erp5_barcode/bt/template_update_tool                        | 1 -
 bt5/erp5_bespin/bt/revision                                     | 2 +-
 bt5/erp5_bespin/bt/template_update_business_template_workflow   | 1 -
 bt5/erp5_bespin/bt/template_update_tool                         | 1 -
 bt5/erp5_bpm/bt/revision                                        | 2 +-
 bt5/erp5_bpm/bt/template_update_business_template_workflow      | 1 -
 bt5/erp5_bpm/bt/template_update_tool                            | 1 -
 bt5/erp5_budget/bt/revision                                     | 2 +-
 bt5/erp5_budget/bt/template_update_business_template_workflow   | 1 -
 bt5/erp5_budget/bt/template_update_tool                         | 1 -
 bt5/erp5_calendar/bt/revision                                   | 2 +-
 bt5/erp5_calendar/bt/template_update_business_template_workflow | 1 -
 bt5/erp5_calendar/bt/template_update_tool                       | 1 -
 bt5/erp5_commerce/bt/revision                                   | 2 +-
 bt5/erp5_commerce/bt/template_update_business_template_workflow | 1 -
 bt5/erp5_commerce/bt/template_update_tool                       | 1 -
 bt5/erp5_computer_immobilisation/bt/revision                    | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_computer_immobilisation/bt/template_update_tool        | 1 -
 bt5/erp5_consulting/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_consulting/bt/template_update_tool                     | 1 -
 bt5/erp5_content_translation/bt/revision                        | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_content_translation/bt/template_update_tool            | 1 -
 bt5/erp5_crm/bt/revision                                        | 2 +-
 bt5/erp5_crm/bt/template_update_business_template_workflow      | 1 -
 bt5/erp5_crm/bt/template_update_tool                            | 1 -
 bt5/erp5_csv_style/bt/revision                                  | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_csv_style/bt/template_update_tool                      | 1 -
 bt5/erp5_data_protection/bt/revision                            | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_data_protection/bt/template_update_tool                | 1 -
 bt5/erp5_deferred_style/bt/revision                             | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_deferred_style/bt/template_update_tool                 | 1 -
 bt5/erp5_development_wizard/bt/revision                         | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_development_wizard/bt/template_update_tool             | 1 -
 bt5/erp5_dhtml_style/bt/revision                                | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_dhtml_style/bt/template_update_tool                    | 1 -
 bt5/erp5_dhtml_ui_test/bt/revision                              | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_dhtml_ui_test/bt/template_update_tool                  | 1 -
 bt5/erp5_discount_resource/bt/revision                          | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_discount_resource/bt/template_update_tool              | 1 -
 bt5/erp5_discussion/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_discussion/bt/template_update_tool                     | 1 -
 bt5/erp5_dms/bt/revision                                        | 2 +-
 bt5/erp5_dms/bt/template_update_business_template_workflow      | 1 -
 bt5/erp5_dms/bt/template_update_tool                            | 1 -
 bt5/erp5_dms_ui_test/bt/revision                                | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_dms_ui_test/bt/template_update_tool                    | 1 -
 bt5/erp5_documentation/bt/revision                              | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_documentation/bt/template_update_tool                  | 1 -
 bt5/erp5_dummy_movement/bt/revision                             | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_dummy_movement/bt/template_update_tool                 | 1 -
 bt5/erp5_egov/bt/revision                                       | 2 +-
 bt5/erp5_egov/bt/template_update_business_template_workflow     | 1 -
 bt5/erp5_egov/bt/template_update_tool                           | 1 -
 bt5/erp5_egov_l10n_fr/bt/revision                               | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_egov_l10n_fr/bt/template_update_tool                   | 1 -
 bt5/erp5_egov_mysql_innodb_catalog/bt/revision                  | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_egov_mysql_innodb_catalog/bt/template_update_tool      | 1 -
 bt5/erp5_forge_release/bt/revision                              | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_forge_release/bt/template_update_tool                  | 1 -
 bt5/erp5_full_text_sphinxse_catalog/bt/revision                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_full_text_sphinxse_catalog/bt/template_update_tool     | 1 -
 bt5/erp5_hr/bt/revision                                         | 2 +-
 bt5/erp5_hr/bt/template_update_business_template_workflow       | 1 -
 bt5/erp5_hr/bt/template_update_tool                             | 1 -
 bt5/erp5_hr_l10n_jp/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_hr_l10n_jp/bt/template_update_tool                     | 1 -
 bt5/erp5_ical_style/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_ical_style/bt/template_update_tool                     | 1 -
 bt5/erp5_immobilisation/bt/revision                             | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_immobilisation/bt/template_update_tool                 | 1 -
 bt5/erp5_ingestion/bt/revision                                  | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision             | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_update_tool | 1 -
 bt5/erp5_invoicing/bt/revision                                  | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_invoicing/bt/template_update_tool                      | 1 -
 bt5/erp5_item/bt/revision                                       | 2 +-
 bt5/erp5_item/bt/template_update_business_template_workflow     | 1 -
 bt5/erp5_item/bt/template_update_tool                           | 1 -
 bt5/erp5_jquery/bt/revision                                     | 2 +-
 bt5/erp5_jquery/bt/template_update_business_template_workflow   | 1 -
 bt5/erp5_jquery/bt/template_update_tool                         | 1 -
 bt5/erp5_km/bt/revision                                         | 2 +-
 bt5/erp5_km/bt/template_update_business_template_workflow       | 1 -
 bt5/erp5_km/bt/template_update_tool                             | 1 -
 bt5/erp5_km_ui_test/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_km_ui_test/bt/template_update_tool                     | 1 -
 bt5/erp5_knowledge_pad/bt/revision                              | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_knowledge_pad/bt/template_update_tool                  | 1 -
 bt5/erp5_knowledge_pad_ui_test/bt/revision                      | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_knowledge_pad_ui_test/bt/template_update_tool          | 1 -
 bt5/erp5_l10n_fr/bt/revision                                    | 2 +-
 bt5/erp5_l10n_fr/bt/template_update_business_template_workflow  | 1 -
 bt5/erp5_l10n_fr/bt/template_update_tool                        | 1 -
 bt5/erp5_l10n_ja/bt/revision                                    | 2 +-
 bt5/erp5_l10n_ja/bt/template_update_business_template_workflow  | 1 -
 bt5/erp5_l10n_ja/bt/template_update_tool                        | 1 -
 bt5/erp5_l10n_ko/bt/revision                                    | 2 +-
 bt5/erp5_l10n_ko/bt/template_update_business_template_workflow  | 1 -
 bt5/erp5_l10n_ko/bt/template_update_tool                        | 1 -
 bt5/erp5_l10n_pl_PL/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_l10n_pl_PL/bt/template_update_tool                     | 1 -
 bt5/erp5_l10n_pt-BR/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_l10n_pt-BR/bt/template_update_tool                     | 1 -
 bt5/erp5_ldap_catalog/bt/revision                               | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_ldap_catalog/bt/template_update_tool                   | 1 -
 bt5/erp5_legacy_tax_system/bt/revision                          | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_legacy_tax_system/bt/template_update_tool              | 1 -
 bt5/erp5_mobile/bt/revision                                     | 2 +-
 bt5/erp5_mobile/bt/template_update_business_template_workflow   | 1 -
 bt5/erp5_mobile/bt/template_update_tool                         | 1 -
 bt5/erp5_mobile_ui_test/bt/revision                             | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_mobile_ui_test/bt/template_update_tool                 | 1 -
 bt5/erp5_mrp/bt/revision                                        | 2 +-
 bt5/erp5_mrp/bt/template_update_business_template_workflow      | 1 -
 bt5/erp5_mrp/bt/template_update_tool                            | 1 -
 bt5/erp5_ods_style/bt/revision                                  | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_ods_style/bt/template_update_tool                      | 1 -
 bt5/erp5_odt_style/bt/revision                                  | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_odt_style/bt/template_update_tool                      | 1 -
 bt5/erp5_ooo_import/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_ooo_import/bt/template_update_tool                     | 1 -
 bt5/erp5_open_trade/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_open_trade/bt/template_update_tool                     | 1 -
 bt5/erp5_open_trade_legacy_tax_system/bt/revision               | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_open_trade_legacy_tax_system/bt/template_update_tool   | 1 -
 bt5/erp5_payroll/bt/revision                                    | 2 +-
 bt5/erp5_payroll/bt/template_update_business_template_workflow  | 1 -
 bt5/erp5_payroll/bt/template_update_tool                        | 1 -
 bt5/erp5_payroll_l10n_fr/bt/revision                            | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_payroll_l10n_fr/bt/template_update_tool                | 1 -
 bt5/erp5_payroll_l10n_jp/bt/revision                            | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_payroll_l10n_jp/bt/template_update_tool                | 1 -
 bt5/erp5_payroll_ui_test/bt/revision                            | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_payroll_ui_test/bt/template_update_tool                | 1 -
 bt5/erp5_pdf_editor/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_pdf_editor/bt/template_update_tool                     | 1 -
 bt5/erp5_pdf_style/bt/revision                                  | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_pdf_style/bt/template_update_tool                      | 1 -
 bt5/erp5_pdm/bt/revision                                        | 2 +-
 bt5/erp5_pdm/bt/template_update_business_template_workflow      | 1 -
 bt5/erp5_pdm/bt/template_update_tool                            | 1 -
 bt5/erp5_pdm_ui_test/bt/revision                                | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_pdm_ui_test/bt/template_update_tool                    | 1 -
 bt5/erp5_popup_ui/bt/revision                                   | 2 +-
 bt5/erp5_popup_ui/bt/template_update_business_template_workflow | 1 -
 bt5/erp5_popup_ui/bt/template_update_tool                       | 1 -
 bt5/erp5_project/bt/revision                                    | 2 +-
 bt5/erp5_project/bt/template_update_business_template_workflow  | 1 -
 bt5/erp5_project/bt/template_update_tool                        | 1 -
 bt5/erp5_project_mysql_innodb_catalog/bt/revision               | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_project_mysql_innodb_catalog/bt/template_update_tool   | 1 -
 bt5/erp5_project_ui_test/bt/revision                            | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_project_ui_test/bt/template_update_tool                | 1 -
 bt5/erp5_public_accounting_budget/bt/revision                   | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_public_accounting_budget/bt/template_update_tool       | 1 -
 bt5/erp5_publication/bt/revision                                | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_publication/bt/template_update_tool                    | 1 -
 bt5/erp5_registry_ohada/bt/revision                             | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_registry_ohada/bt/template_update_tool                 | 1 -
 bt5/erp5_registry_ohada_l10n_fr/bt/revision                     | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_registry_ohada_l10n_fr/bt/template_update_tool         | 1 -
 bt5/erp5_rss_reader/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_rss_reader/bt/template_update_tool                     | 1 -
 bt5/erp5_rss_style/bt/revision                                  | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_rss_style/bt/template_update_tool                      | 1 -
 bt5/erp5_simplified_invoicing/bt/revision                       | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_simplified_invoicing/bt/template_update_tool           | 1 -
 bt5/erp5_simulation/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_simulation/bt/template_update_tool                     | 1 -
 bt5/erp5_simulation_performance_test/bt/revision                | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_simulation_performance_test/bt/template_update_tool    | 1 -
 bt5/erp5_social_contracts/bt/revision                           | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_social_contracts/bt/template_update_tool               | 1 -
 bt5/erp5_software_pdm/bt/revision                               | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_software_pdm/bt/template_update_tool                   | 1 -
 bt5/erp5_syncml/bt/revision                                     | 2 +-
 bt5/erp5_syncml/bt/template_update_business_template_workflow   | 1 -
 bt5/erp5_syncml/bt/template_update_tool                         | 1 -
 bt5/erp5_tax_resource/bt/revision                               | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_tax_resource/bt/template_update_tool                   | 1 -
 bt5/erp5_trade/bt/revision                                      | 2 +-
 bt5/erp5_trade/bt/template_update_business_template_workflow    | 1 -
 bt5/erp5_trade/bt/template_update_tool                          | 1 -
 bt5/erp5_trade_proxy_field_legacy/bt/revision                   | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_trade_proxy_field_legacy/bt/template_update_tool       | 1 -
 bt5/erp5_trade_ui_test/bt/revision                              | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_trade_ui_test/bt/template_update_tool                  | 1 -
 bt5/erp5_ui_test/bt/revision                                    | 2 +-
 bt5/erp5_ui_test/bt/template_update_business_template_workflow  | 1 -
 bt5/erp5_ui_test/bt/template_update_tool                        | 1 -
 bt5/erp5_ui_test_core/bt/revision                               | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_ui_test_core/bt/template_update_tool                   | 1 -
 bt5/erp5_upgrader/bt/revision                                   | 2 +-
 bt5/erp5_upgrader/bt/template_update_business_template_workflow | 1 -
 bt5/erp5_upgrader/bt/template_update_tool                       | 1 -
 bt5/erp5_utils/bt/revision                                      | 2 +-
 bt5/erp5_utils/bt/template_update_business_template_workflow    | 1 -
 bt5/erp5_utils/bt/template_update_tool                          | 1 -
 bt5/erp5_web/bt/revision                                        | 2 +-
 bt5/erp5_web/bt/template_update_business_template_workflow      | 1 -
 bt5/erp5_web/bt/template_update_tool                            | 1 -
 bt5/erp5_web_blog/bt/revision                                   | 2 +-
 bt5/erp5_web_blog/bt/template_update_business_template_workflow | 1 -
 bt5/erp5_web_blog/bt/template_update_tool                       | 1 -
 bt5/erp5_web_multiflex5_theme/bt/revision                       | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_web_multiflex5_theme/bt/template_update_tool           | 1 -
 bt5/erp5_web_ui_test/bt/revision                                | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_web_ui_test/bt/template_update_tool                    | 1 -
 bt5/erp5_wizard/bt/revision                                     | 2 +-
 bt5/erp5_wizard/bt/template_update_business_template_workflow   | 1 -
 bt5/erp5_wizard/bt/template_update_tool                         | 1 -
 bt5/erp5_worklist_sql/bt/revision                               | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/erp5_worklist_sql/bt/template_update_tool                   | 1 -
 bt5/test_accounting/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/test_accounting/bt/template_update_tool                     | 1 -
 bt5/test_accounting_fr/bt/revision                              | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/test_accounting_fr/bt/template_update_tool                  | 1 -
 bt5/test_accounting_in/bt/revision                              | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/test_accounting_in/bt/template_update_tool                  | 1 -
 bt5/test_accounting_pl/bt/revision                              | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/test_accounting_pl/bt/template_update_tool                  | 1 -
 bt5/test_core/bt/revision                                       | 2 +-
 bt5/test_core/bt/template_update_business_template_workflow     | 1 -
 bt5/test_core/bt/template_update_tool                           | 1 -
 bt5/test_html_style/bt/revision                                 | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/test_html_style/bt/template_update_tool                     | 1 -
 bt5/test_web/bt/revision                                        | 2 +-
 bt5/test_web/bt/template_update_business_template_workflow      | 1 -
 bt5/test_web/bt/template_update_tool                            | 1 -
 bt5/test_xhtml_style/bt/revision                                | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 bt5/test_xhtml_style/bt/template_update_tool                    | 1 -
 bt5/tiolive_base/bt/revision                                    | 2 +-
 bt5/tiolive_base/bt/template_update_business_template_workflow  | 1 -
 bt5/tiolive_base/bt/template_update_tool                        | 1 -
 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision    | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 .../bootstrap/erp5_mysql_innodb_catalog/bt/template_update_tool | 1 -
 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/revision       | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 .../bootstrap/erp5_mysql_ndb_catalog/bt/template_update_tool    | 1 -
 product/ERP5/bootstrap/erp5_xhtml_style/bt/revision             | 2 +-
 .../bt/template_update_business_template_workflow               | 1 -
 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_update_tool | 1 -
 392 files changed, 131 insertions(+), 392 deletions(-)
 delete mode 100644 bt5/delivery_patch/bt/template_update_business_template_workflow
 delete mode 100644 bt5/delivery_patch/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_br_extend/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_br_sme/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_fr/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m14/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_fr_m4/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_fr_pca/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_ifrs/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_in/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_jp/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_mt/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_pl/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_pl_default_gap/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_l10n_sn/bt/template_update_tool
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_accounting_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_administration/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_administration/bt/template_update_tool
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_advanced_invoicing/bt/template_update_tool
 delete mode 100644 bt5/erp5_apparel/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_apparel/bt/template_update_tool
 delete mode 100644 bt5/erp5_archive/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_archive/bt/template_update_tool
 delete mode 100644 bt5/erp5_auto_logout/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_auto_logout/bt/template_update_tool
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_autocompletion_ui/bt/template_update_tool
 delete mode 100644 bt5/erp5_banking_cash/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_banking_cash/bt/template_update_tool
 delete mode 100644 bt5/erp5_banking_check/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_banking_check/bt/template_update_tool
 delete mode 100644 bt5/erp5_banking_core/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_banking_core/bt/template_update_tool
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_banking_inventory/bt/template_update_tool
 delete mode 100644 bt5/erp5_barcode/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_barcode/bt/template_update_tool
 delete mode 100644 bt5/erp5_bespin/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_bespin/bt/template_update_tool
 delete mode 100644 bt5/erp5_bpm/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_bpm/bt/template_update_tool
 delete mode 100644 bt5/erp5_budget/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_budget/bt/template_update_tool
 delete mode 100644 bt5/erp5_calendar/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_calendar/bt/template_update_tool
 delete mode 100644 bt5/erp5_commerce/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_commerce/bt/template_update_tool
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_computer_immobilisation/bt/template_update_tool
 delete mode 100644 bt5/erp5_consulting/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_consulting/bt/template_update_tool
 delete mode 100644 bt5/erp5_content_translation/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_content_translation/bt/template_update_tool
 delete mode 100644 bt5/erp5_crm/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_crm/bt/template_update_tool
 delete mode 100644 bt5/erp5_csv_style/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_csv_style/bt/template_update_tool
 delete mode 100644 bt5/erp5_data_protection/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_data_protection/bt/template_update_tool
 delete mode 100644 bt5/erp5_deferred_style/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_deferred_style/bt/template_update_tool
 delete mode 100644 bt5/erp5_development_wizard/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_development_wizard/bt/template_update_tool
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_dhtml_style/bt/template_update_tool
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_dhtml_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_discount_resource/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_discount_resource/bt/template_update_tool
 delete mode 100644 bt5/erp5_discussion/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_discussion/bt/template_update_tool
 delete mode 100644 bt5/erp5_dms/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_dms/bt/template_update_tool
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_dms_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_documentation/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_documentation/bt/template_update_tool
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_dummy_movement/bt/template_update_tool
 delete mode 100644 bt5/erp5_egov/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_egov/bt/template_update_tool
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_egov_l10n_fr/bt/template_update_tool
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_egov_mysql_innodb_catalog/bt/template_update_tool
 delete mode 100644 bt5/erp5_forge_release/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_forge_release/bt/template_update_tool
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_full_text_sphinxse_catalog/bt/template_update_tool
 delete mode 100644 bt5/erp5_hr/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_hr/bt/template_update_tool
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_hr_l10n_jp/bt/template_update_tool
 delete mode 100644 bt5/erp5_ical_style/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_ical_style/bt/template_update_tool
 delete mode 100644 bt5/erp5_immobilisation/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_immobilisation/bt/template_update_tool
 delete mode 100644 bt5/erp5_ingestion/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_update_tool
 delete mode 100644 bt5/erp5_invoicing/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_invoicing/bt/template_update_tool
 delete mode 100644 bt5/erp5_item/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_item/bt/template_update_tool
 delete mode 100644 bt5/erp5_jquery/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_jquery/bt/template_update_tool
 delete mode 100644 bt5/erp5_km/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_km/bt/template_update_tool
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_km_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_knowledge_pad/bt/template_update_tool
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_l10n_fr/bt/template_update_tool
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_l10n_ja/bt/template_update_tool
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_l10n_ko/bt/template_update_tool
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_l10n_pl_PL/bt/template_update_tool
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_l10n_pt-BR/bt/template_update_tool
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_ldap_catalog/bt/template_update_tool
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_legacy_tax_system/bt/template_update_tool
 delete mode 100644 bt5/erp5_mobile/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_mobile/bt/template_update_tool
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_mobile_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_mrp/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_mrp/bt/template_update_tool
 delete mode 100644 bt5/erp5_ods_style/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_ods_style/bt/template_update_tool
 delete mode 100644 bt5/erp5_odt_style/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_odt_style/bt/template_update_tool
 delete mode 100644 bt5/erp5_ooo_import/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_ooo_import/bt/template_update_tool
 delete mode 100644 bt5/erp5_open_trade/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_open_trade/bt/template_update_tool
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_open_trade_legacy_tax_system/bt/template_update_tool
 delete mode 100644 bt5/erp5_payroll/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_payroll/bt/template_update_tool
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_payroll_l10n_fr/bt/template_update_tool
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_payroll_l10n_jp/bt/template_update_tool
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_payroll_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_pdf_editor/bt/template_update_tool
 delete mode 100644 bt5/erp5_pdf_style/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_pdf_style/bt/template_update_tool
 delete mode 100644 bt5/erp5_pdm/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_pdm/bt/template_update_tool
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_pdm_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_popup_ui/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_popup_ui/bt/template_update_tool
 delete mode 100644 bt5/erp5_project/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_project/bt/template_update_tool
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_project_mysql_innodb_catalog/bt/template_update_tool
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_project_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_public_accounting_budget/bt/template_update_tool
 delete mode 100644 bt5/erp5_publication/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_publication/bt/template_update_tool
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_registry_ohada/bt/template_update_tool
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_registry_ohada_l10n_fr/bt/template_update_tool
 delete mode 100644 bt5/erp5_rss_reader/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_rss_reader/bt/template_update_tool
 delete mode 100644 bt5/erp5_rss_style/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_rss_style/bt/template_update_tool
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_simplified_invoicing/bt/template_update_tool
 delete mode 100644 bt5/erp5_simulation/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_simulation/bt/template_update_tool
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_simulation_performance_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_social_contracts/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_social_contracts/bt/template_update_tool
 delete mode 100644 bt5/erp5_software_pdm/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_software_pdm/bt/template_update_tool
 delete mode 100644 bt5/erp5_syncml/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_syncml/bt/template_update_tool
 delete mode 100644 bt5/erp5_tax_resource/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_tax_resource/bt/template_update_tool
 delete mode 100644 bt5/erp5_trade/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_trade/bt/template_update_tool
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_trade_proxy_field_legacy/bt/template_update_tool
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_trade_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_ui_test_core/bt/template_update_tool
 delete mode 100644 bt5/erp5_upgrader/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_upgrader/bt/template_update_tool
 delete mode 100644 bt5/erp5_utils/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_utils/bt/template_update_tool
 delete mode 100644 bt5/erp5_web/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_web/bt/template_update_tool
 delete mode 100644 bt5/erp5_web_blog/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_web_blog/bt/template_update_tool
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_web_multiflex5_theme/bt/template_update_tool
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_web_ui_test/bt/template_update_tool
 delete mode 100644 bt5/erp5_wizard/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_wizard/bt/template_update_tool
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_update_business_template_workflow
 delete mode 100644 bt5/erp5_worklist_sql/bt/template_update_tool
 delete mode 100644 bt5/test_accounting/bt/template_update_business_template_workflow
 delete mode 100644 bt5/test_accounting/bt/template_update_tool
 delete mode 100644 bt5/test_accounting_fr/bt/template_update_business_template_workflow
 delete mode 100644 bt5/test_accounting_fr/bt/template_update_tool
 delete mode 100644 bt5/test_accounting_in/bt/template_update_business_template_workflow
 delete mode 100644 bt5/test_accounting_in/bt/template_update_tool
 delete mode 100644 bt5/test_accounting_pl/bt/template_update_business_template_workflow
 delete mode 100644 bt5/test_accounting_pl/bt/template_update_tool
 delete mode 100644 bt5/test_core/bt/template_update_business_template_workflow
 delete mode 100644 bt5/test_core/bt/template_update_tool
 delete mode 100644 bt5/test_html_style/bt/template_update_business_template_workflow
 delete mode 100644 bt5/test_html_style/bt/template_update_tool
 delete mode 100644 bt5/test_web/bt/template_update_business_template_workflow
 delete mode 100644 bt5/test_web/bt/template_update_tool
 delete mode 100644 bt5/test_xhtml_style/bt/template_update_business_template_workflow
 delete mode 100644 bt5/test_xhtml_style/bt/template_update_tool
 delete mode 100644 bt5/tiolive_base/bt/template_update_business_template_workflow
 delete mode 100644 bt5/tiolive_base/bt/template_update_tool
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_update_business_template_workflow
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_update_tool
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_update_business_template_workflow
 delete mode 100644 product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_update_tool
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_update_business_template_workflow
 delete mode 100644 product/ERP5/bootstrap/erp5_xhtml_style/bt/template_update_tool

diff --git a/bt5/delivery_patch/bt/revision b/bt5/delivery_patch/bt/revision
index 9d607966b7..3cacc0b93c 100644
--- a/bt5/delivery_patch/bt/revision
+++ b/bt5/delivery_patch/bt/revision
@@ -1 +1 @@
-11
\ No newline at end of file
+12
\ No newline at end of file
diff --git a/bt5/delivery_patch/bt/template_update_business_template_workflow b/bt5/delivery_patch/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/delivery_patch/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/delivery_patch/bt/template_update_tool b/bt5/delivery_patch/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/delivery_patch/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision
index 1d02267183..ec7f702f21 100644
--- a/bt5/erp5_accounting/bt/revision
+++ b/bt5/erp5_accounting/bt/revision
@@ -1 +1 @@
-1371
\ No newline at end of file
+1372
\ No newline at end of file
diff --git a/bt5/erp5_accounting/bt/template_update_business_template_workflow b/bt5/erp5_accounting/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting/bt/template_update_tool b/bt5/erp5_accounting/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/revision b/bt5/erp5_accounting_l10n_br_extend/bt/revision
index 25bf17fc5a..dec2bf5d61 100644
--- a/bt5/erp5_accounting_l10n_br_extend/bt/revision
+++ b/bt5/erp5_accounting_l10n_br_extend/bt/revision
@@ -1 +1 @@
-18
\ No newline at end of file
+19
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_br_extend/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_br_extend/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_extend/bt/template_update_tool b/bt5/erp5_accounting_l10n_br_extend/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_br_extend/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/revision b/bt5/erp5_accounting_l10n_br_sme/bt/revision
index da2d3988d7..3f10ffe7a4 100644
--- a/bt5/erp5_accounting_l10n_br_sme/bt/revision
+++ b/bt5/erp5_accounting_l10n_br_sme/bt/revision
@@ -1 +1 @@
-14
\ No newline at end of file
+15
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_br_sme/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_br_sme/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_br_sme/bt/template_update_tool b/bt5/erp5_accounting_l10n_br_sme/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_br_sme/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr/bt/revision b/bt5/erp5_accounting_l10n_fr/bt/revision
index 8fdd954df9..b393560759 100644
--- a/bt5/erp5_accounting_l10n_fr/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr/bt/revision
@@ -1 +1 @@
-22
\ No newline at end of file
+23
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_fr/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_fr/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr/bt/template_update_tool b/bt5/erp5_accounting_l10n_fr/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_fr/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/revision b/bt5/erp5_accounting_l10n_fr_m14/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/erp5_accounting_l10n_fr_m14/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr_m14/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_fr_m14/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_fr_m14/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m14/bt/template_update_tool b/bt5/erp5_accounting_l10n_fr_m14/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_fr_m14/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/revision b/bt5/erp5_accounting_l10n_fr_m4/bt/revision
index 8e2afd3427..25bf17fc5a 100644
--- a/bt5/erp5_accounting_l10n_fr_m4/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr_m4/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_fr_m4/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_fr_m4/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_m4/bt/template_update_tool b/bt5/erp5_accounting_l10n_fr_m4/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_fr_m4/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/revision b/bt5/erp5_accounting_l10n_fr_pca/bt/revision
index c7930257df..301160a930 100644
--- a/bt5/erp5_accounting_l10n_fr_pca/bt/revision
+++ b/bt5/erp5_accounting_l10n_fr_pca/bt/revision
@@ -1 +1 @@
-7
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_fr_pca/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_fr_pca/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_fr_pca/bt/template_update_tool b/bt5/erp5_accounting_l10n_fr_pca/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_fr_pca/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/revision b/bt5/erp5_accounting_l10n_ifrs/bt/revision
index f11c82a4cb..9a037142aa 100644
--- a/bt5/erp5_accounting_l10n_ifrs/bt/revision
+++ b/bt5/erp5_accounting_l10n_ifrs/bt/revision
@@ -1 +1 @@
-9
\ No newline at end of file
+10
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_ifrs/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_ifrs/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_ifrs/bt/template_update_tool b/bt5/erp5_accounting_l10n_ifrs/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_ifrs/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_in/bt/revision b/bt5/erp5_accounting_l10n_in/bt/revision
index 19c7bdba7b..8e2afd3427 100644
--- a/bt5/erp5_accounting_l10n_in/bt/revision
+++ b/bt5/erp5_accounting_l10n_in/bt/revision
@@ -1 +1 @@
-16
\ No newline at end of file
+17
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_in/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_in/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_in/bt/template_update_tool b/bt5/erp5_accounting_l10n_in/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_in/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_jp/bt/revision b/bt5/erp5_accounting_l10n_jp/bt/revision
index 8580e7b684..b74e882ae3 100644
--- a/bt5/erp5_accounting_l10n_jp/bt/revision
+++ b/bt5/erp5_accounting_l10n_jp/bt/revision
@@ -1 +1 @@
-30
\ No newline at end of file
+31
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_jp/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_jp/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_jp/bt/template_update_tool b/bt5/erp5_accounting_l10n_jp/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_jp/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_mt/bt/revision b/bt5/erp5_accounting_l10n_mt/bt/revision
index dec2bf5d61..2edeafb09d 100644
--- a/bt5/erp5_accounting_l10n_mt/bt/revision
+++ b/bt5/erp5_accounting_l10n_mt/bt/revision
@@ -1 +1 @@
-19
\ No newline at end of file
+20
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_mt/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_mt/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_mt/bt/template_update_tool b/bt5/erp5_accounting_l10n_mt/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_mt/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl/bt/revision b/bt5/erp5_accounting_l10n_pl/bt/revision
index 43c451e0c6..7c6ba0fe18 100644
--- a/bt5/erp5_accounting_l10n_pl/bt/revision
+++ b/bt5/erp5_accounting_l10n_pl/bt/revision
@@ -1 +1 @@
-54
\ No newline at end of file
+55
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_pl/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_pl/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl/bt/template_update_tool b/bt5/erp5_accounting_l10n_pl/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_pl/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision b/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision
index b5045cc404..8fdd954df9 100644
--- a/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision
+++ b/bt5/erp5_accounting_l10n_pl_default_gap/bt/revision
@@ -1 +1 @@
-21
\ No newline at end of file
+22
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_update_tool b/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_pl_default_gap/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_sn/bt/revision b/bt5/erp5_accounting_l10n_sn/bt/revision
index 301160a930..f11c82a4cb 100644
--- a/bt5/erp5_accounting_l10n_sn/bt/revision
+++ b/bt5/erp5_accounting_l10n_sn/bt/revision
@@ -1 +1 @@
-8
\ No newline at end of file
+9
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_update_business_template_workflow b/bt5/erp5_accounting_l10n_sn/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_sn/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_l10n_sn/bt/template_update_tool b/bt5/erp5_accounting_l10n_sn/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_l10n_sn/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_ui_test/bt/revision b/bt5/erp5_accounting_ui_test/bt/revision
index 12e2555919..6fc1e6e18c 100644
--- a/bt5/erp5_accounting_ui_test/bt/revision
+++ b/bt5/erp5_accounting_ui_test/bt/revision
@@ -1 +1 @@
-177
\ No newline at end of file
+178
\ No newline at end of file
diff --git a/bt5/erp5_accounting_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_accounting_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_accounting_ui_test/bt/template_update_tool b/bt5/erp5_accounting_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_accounting_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_administration/bt/revision b/bt5/erp5_administration/bt/revision
index 00c98bb3ad..afbe847262 100644
--- a/bt5/erp5_administration/bt/revision
+++ b/bt5/erp5_administration/bt/revision
@@ -1 +1 @@
-125
\ No newline at end of file
+126
\ No newline at end of file
diff --git a/bt5/erp5_administration/bt/template_update_business_template_workflow b/bt5/erp5_administration/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_administration/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_administration/bt/template_update_tool b/bt5/erp5_administration/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_administration/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_advanced_invoicing/bt/revision b/bt5/erp5_advanced_invoicing/bt/revision
index 69226f7293..27a37eb577 100644
--- a/bt5/erp5_advanced_invoicing/bt/revision
+++ b/bt5/erp5_advanced_invoicing/bt/revision
@@ -1 +1 @@
-92
\ No newline at end of file
+93
\ No newline at end of file
diff --git a/bt5/erp5_advanced_invoicing/bt/template_update_business_template_workflow b/bt5/erp5_advanced_invoicing/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_advanced_invoicing/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_advanced_invoicing/bt/template_update_tool b/bt5/erp5_advanced_invoicing/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_advanced_invoicing/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_apparel/bt/revision b/bt5/erp5_apparel/bt/revision
index a36df4ef7e..2a14d60899 100644
--- a/bt5/erp5_apparel/bt/revision
+++ b/bt5/erp5_apparel/bt/revision
@@ -1 +1 @@
-269
\ No newline at end of file
+270
\ No newline at end of file
diff --git a/bt5/erp5_apparel/bt/template_update_business_template_workflow b/bt5/erp5_apparel/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_apparel/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_apparel/bt/template_update_tool b/bt5/erp5_apparel/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_apparel/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_archive/bt/revision b/bt5/erp5_archive/bt/revision
index 9f72858795..7730ef7f3e 100644
--- a/bt5/erp5_archive/bt/revision
+++ b/bt5/erp5_archive/bt/revision
@@ -1 +1 @@
-88
\ No newline at end of file
+89
\ No newline at end of file
diff --git a/bt5/erp5_archive/bt/template_update_business_template_workflow b/bt5/erp5_archive/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_archive/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_archive/bt/template_update_tool b/bt5/erp5_archive/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_archive/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_auto_logout/bt/revision b/bt5/erp5_auto_logout/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_auto_logout/bt/revision
+++ b/bt5/erp5_auto_logout/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_auto_logout/bt/template_update_business_template_workflow b/bt5/erp5_auto_logout/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_auto_logout/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_auto_logout/bt/template_update_tool b/bt5/erp5_auto_logout/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_auto_logout/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/revision b/bt5/erp5_autocompletion_ui/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/erp5_autocompletion_ui/bt/revision
+++ b/bt5/erp5_autocompletion_ui/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/template_update_business_template_workflow b/bt5/erp5_autocompletion_ui/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_autocompletion_ui/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_autocompletion_ui/bt/template_update_tool b/bt5/erp5_autocompletion_ui/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_autocompletion_ui/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_banking_cash/bt/revision b/bt5/erp5_banking_cash/bt/revision
index 6e1d38407b..01b67236d1 100644
--- a/bt5/erp5_banking_cash/bt/revision
+++ b/bt5/erp5_banking_cash/bt/revision
@@ -1 +1 @@
-687
\ No newline at end of file
+688
\ No newline at end of file
diff --git a/bt5/erp5_banking_cash/bt/template_update_business_template_workflow b/bt5/erp5_banking_cash/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_banking_cash/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_banking_cash/bt/template_update_tool b/bt5/erp5_banking_cash/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_banking_cash/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_banking_check/bt/revision b/bt5/erp5_banking_check/bt/revision
index 95bae2dc25..8b120bce8f 100644
--- a/bt5/erp5_banking_check/bt/revision
+++ b/bt5/erp5_banking_check/bt/revision
@@ -1 +1 @@
-446
\ No newline at end of file
+447
\ No newline at end of file
diff --git a/bt5/erp5_banking_check/bt/template_update_business_template_workflow b/bt5/erp5_banking_check/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_banking_check/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_banking_check/bt/template_update_tool b/bt5/erp5_banking_check/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_banking_check/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_banking_core/bt/revision b/bt5/erp5_banking_core/bt/revision
index ea5ca3642f..dd35c6b71f 100644
--- a/bt5/erp5_banking_core/bt/revision
+++ b/bt5/erp5_banking_core/bt/revision
@@ -1 +1 @@
-547
\ No newline at end of file
+548
\ No newline at end of file
diff --git a/bt5/erp5_banking_core/bt/template_update_business_template_workflow b/bt5/erp5_banking_core/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_banking_core/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_banking_core/bt/template_update_tool b/bt5/erp5_banking_core/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_banking_core/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_banking_inventory/bt/revision b/bt5/erp5_banking_inventory/bt/revision
index 801f180102..31ff414b74 100644
--- a/bt5/erp5_banking_inventory/bt/revision
+++ b/bt5/erp5_banking_inventory/bt/revision
@@ -1 +1 @@
-47
\ No newline at end of file
+48
\ No newline at end of file
diff --git a/bt5/erp5_banking_inventory/bt/template_update_business_template_workflow b/bt5/erp5_banking_inventory/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_banking_inventory/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_banking_inventory/bt/template_update_tool b/bt5/erp5_banking_inventory/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_banking_inventory/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_barcode/bt/revision b/bt5/erp5_barcode/bt/revision
index 8e2afd3427..25bf17fc5a 100644
--- a/bt5/erp5_barcode/bt/revision
+++ b/bt5/erp5_barcode/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_barcode/bt/template_update_business_template_workflow b/bt5/erp5_barcode/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_barcode/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_barcode/bt/template_update_tool b/bt5/erp5_barcode/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_barcode/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_bespin/bt/revision b/bt5/erp5_bespin/bt/revision
index ca7bf83ac5..da2d3988d7 100644
--- a/bt5/erp5_bespin/bt/revision
+++ b/bt5/erp5_bespin/bt/revision
@@ -1 +1 @@
-13
\ No newline at end of file
+14
\ No newline at end of file
diff --git a/bt5/erp5_bespin/bt/template_update_business_template_workflow b/bt5/erp5_bespin/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_bespin/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_bespin/bt/template_update_tool b/bt5/erp5_bespin/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_bespin/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_bpm/bt/revision b/bt5/erp5_bpm/bt/revision
index ce83bd94b3..9754915269 100644
--- a/bt5/erp5_bpm/bt/revision
+++ b/bt5/erp5_bpm/bt/revision
@@ -1 +1 @@
-258
\ No newline at end of file
+259
\ No newline at end of file
diff --git a/bt5/erp5_bpm/bt/template_update_business_template_workflow b/bt5/erp5_bpm/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_bpm/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_bpm/bt/template_update_tool b/bt5/erp5_bpm/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_bpm/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/revision b/bt5/erp5_budget/bt/revision
index 4b74f2216d..832f62a3cb 100644
--- a/bt5/erp5_budget/bt/revision
+++ b/bt5/erp5_budget/bt/revision
@@ -1 +1 @@
-338
\ No newline at end of file
+339
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_update_business_template_workflow b/bt5/erp5_budget/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_budget/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_budget/bt/template_update_tool b/bt5/erp5_budget/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_budget/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_calendar/bt/revision b/bt5/erp5_calendar/bt/revision
index 4f36264f98..e24b797f8d 100644
--- a/bt5/erp5_calendar/bt/revision
+++ b/bt5/erp5_calendar/bt/revision
@@ -1 +1 @@
-360
\ No newline at end of file
+361
\ No newline at end of file
diff --git a/bt5/erp5_calendar/bt/template_update_business_template_workflow b/bt5/erp5_calendar/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_calendar/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_calendar/bt/template_update_tool b/bt5/erp5_calendar/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_calendar/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_commerce/bt/revision b/bt5/erp5_commerce/bt/revision
index 680cc9c31b..44dfb1d0bc 100644
--- a/bt5/erp5_commerce/bt/revision
+++ b/bt5/erp5_commerce/bt/revision
@@ -1 +1 @@
-263
\ No newline at end of file
+264
\ No newline at end of file
diff --git a/bt5/erp5_commerce/bt/template_update_business_template_workflow b/bt5/erp5_commerce/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_commerce/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_commerce/bt/template_update_tool b/bt5/erp5_commerce/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_commerce/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_computer_immobilisation/bt/revision b/bt5/erp5_computer_immobilisation/bt/revision
index b74e882ae3..1758dddcce 100644
--- a/bt5/erp5_computer_immobilisation/bt/revision
+++ b/bt5/erp5_computer_immobilisation/bt/revision
@@ -1 +1 @@
-31
\ No newline at end of file
+32
\ No newline at end of file
diff --git a/bt5/erp5_computer_immobilisation/bt/template_update_business_template_workflow b/bt5/erp5_computer_immobilisation/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_computer_immobilisation/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_computer_immobilisation/bt/template_update_tool b/bt5/erp5_computer_immobilisation/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_computer_immobilisation/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_consulting/bt/revision b/bt5/erp5_consulting/bt/revision
index 4800c7da68..fc9afb48e0 100644
--- a/bt5/erp5_consulting/bt/revision
+++ b/bt5/erp5_consulting/bt/revision
@@ -1 +1 @@
-58
\ No newline at end of file
+59
\ No newline at end of file
diff --git a/bt5/erp5_consulting/bt/template_update_business_template_workflow b/bt5/erp5_consulting/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_consulting/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_consulting/bt/template_update_tool b/bt5/erp5_consulting/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_consulting/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_content_translation/bt/revision b/bt5/erp5_content_translation/bt/revision
index dc7b54ad01..3e932fe8f1 100644
--- a/bt5/erp5_content_translation/bt/revision
+++ b/bt5/erp5_content_translation/bt/revision
@@ -1 +1 @@
-33
\ No newline at end of file
+34
\ No newline at end of file
diff --git a/bt5/erp5_content_translation/bt/template_update_business_template_workflow b/bt5/erp5_content_translation/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_content_translation/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_content_translation/bt/template_update_tool b/bt5/erp5_content_translation/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_content_translation/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_crm/bt/revision b/bt5/erp5_crm/bt/revision
index 5c84cf6fdb..4f09af7132 100644
--- a/bt5/erp5_crm/bt/revision
+++ b/bt5/erp5_crm/bt/revision
@@ -1 +1 @@
-491
\ No newline at end of file
+492
\ No newline at end of file
diff --git a/bt5/erp5_crm/bt/template_update_business_template_workflow b/bt5/erp5_crm/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_crm/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_crm/bt/template_update_tool b/bt5/erp5_crm/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_crm/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_csv_style/bt/revision b/bt5/erp5_csv_style/bt/revision
index 9a037142aa..9d607966b7 100644
--- a/bt5/erp5_csv_style/bt/revision
+++ b/bt5/erp5_csv_style/bt/revision
@@ -1 +1 @@
-10
\ No newline at end of file
+11
\ No newline at end of file
diff --git a/bt5/erp5_csv_style/bt/template_update_business_template_workflow b/bt5/erp5_csv_style/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_csv_style/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_csv_style/bt/template_update_tool b/bt5/erp5_csv_style/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_csv_style/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_data_protection/bt/revision b/bt5/erp5_data_protection/bt/revision
index 7c091989d0..c24b6ae77d 100644
--- a/bt5/erp5_data_protection/bt/revision
+++ b/bt5/erp5_data_protection/bt/revision
@@ -1 +1 @@
-37
\ No newline at end of file
+38
\ No newline at end of file
diff --git a/bt5/erp5_data_protection/bt/template_update_business_template_workflow b/bt5/erp5_data_protection/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_data_protection/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_data_protection/bt/template_update_tool b/bt5/erp5_data_protection/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_data_protection/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_deferred_style/bt/revision b/bt5/erp5_deferred_style/bt/revision
index 105d7d9ad3..97a55e1d74 100644
--- a/bt5/erp5_deferred_style/bt/revision
+++ b/bt5/erp5_deferred_style/bt/revision
@@ -1 +1 @@
-100
\ No newline at end of file
+101
\ No newline at end of file
diff --git a/bt5/erp5_deferred_style/bt/template_update_business_template_workflow b/bt5/erp5_deferred_style/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_deferred_style/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_deferred_style/bt/template_update_tool b/bt5/erp5_deferred_style/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_deferred_style/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_development_wizard/bt/revision b/bt5/erp5_development_wizard/bt/revision
index 832332893a..3d9aebb2cc 100644
--- a/bt5/erp5_development_wizard/bt/revision
+++ b/bt5/erp5_development_wizard/bt/revision
@@ -1 +1 @@
-67
\ No newline at end of file
+68
\ No newline at end of file
diff --git a/bt5/erp5_development_wizard/bt/template_update_business_template_workflow b/bt5/erp5_development_wizard/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_development_wizard/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_development_wizard/bt/template_update_tool b/bt5/erp5_development_wizard/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_development_wizard/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_dhtml_style/bt/revision b/bt5/erp5_dhtml_style/bt/revision
index bf0d87ab1b..7813681f5b 100644
--- a/bt5/erp5_dhtml_style/bt/revision
+++ b/bt5/erp5_dhtml_style/bt/revision
@@ -1 +1 @@
-4
\ No newline at end of file
+5
\ No newline at end of file
diff --git a/bt5/erp5_dhtml_style/bt/template_update_business_template_workflow b/bt5/erp5_dhtml_style/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_dhtml_style/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_dhtml_style/bt/template_update_tool b/bt5/erp5_dhtml_style/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_dhtml_style/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_dhtml_ui_test/bt/revision b/bt5/erp5_dhtml_ui_test/bt/revision
index c8a110e7e8..8ec9b982c4 100644
--- a/bt5/erp5_dhtml_ui_test/bt/revision
+++ b/bt5/erp5_dhtml_ui_test/bt/revision
@@ -1 +1 @@
-621
\ No newline at end of file
+622
\ No newline at end of file
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_dhtml_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_dhtml_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_dhtml_ui_test/bt/template_update_tool b/bt5/erp5_dhtml_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_dhtml_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_discount_resource/bt/revision b/bt5/erp5_discount_resource/bt/revision
index da2d3988d7..3f10ffe7a4 100644
--- a/bt5/erp5_discount_resource/bt/revision
+++ b/bt5/erp5_discount_resource/bt/revision
@@ -1 +1 @@
-14
\ No newline at end of file
+15
\ No newline at end of file
diff --git a/bt5/erp5_discount_resource/bt/template_update_business_template_workflow b/bt5/erp5_discount_resource/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_discount_resource/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_discount_resource/bt/template_update_tool b/bt5/erp5_discount_resource/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_discount_resource/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_discussion/bt/revision b/bt5/erp5_discussion/bt/revision
index 8c0474e323..d7765fe47e 100644
--- a/bt5/erp5_discussion/bt/revision
+++ b/bt5/erp5_discussion/bt/revision
@@ -1 +1 @@
-69
\ No newline at end of file
+70
\ No newline at end of file
diff --git a/bt5/erp5_discussion/bt/template_update_business_template_workflow b/bt5/erp5_discussion/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_discussion/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_discussion/bt/template_update_tool b/bt5/erp5_discussion/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_discussion/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_dms/bt/revision b/bt5/erp5_dms/bt/revision
index b0ba9cece2..0d30c07f65 100644
--- a/bt5/erp5_dms/bt/revision
+++ b/bt5/erp5_dms/bt/revision
@@ -1 +1 @@
-1188
\ No newline at end of file
+1189
\ No newline at end of file
diff --git a/bt5/erp5_dms/bt/template_update_business_template_workflow b/bt5/erp5_dms/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_dms/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_dms/bt/template_update_tool b/bt5/erp5_dms/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_dms/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_dms_ui_test/bt/revision b/bt5/erp5_dms_ui_test/bt/revision
index dec2bf5d61..2edeafb09d 100644
--- a/bt5/erp5_dms_ui_test/bt/revision
+++ b/bt5/erp5_dms_ui_test/bt/revision
@@ -1 +1 @@
-19
\ No newline at end of file
+20
\ No newline at end of file
diff --git a/bt5/erp5_dms_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_dms_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_dms_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_dms_ui_test/bt/template_update_tool b/bt5/erp5_dms_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_dms_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_documentation/bt/revision b/bt5/erp5_documentation/bt/revision
index 02cfe0b571..aebfaa171d 100644
--- a/bt5/erp5_documentation/bt/revision
+++ b/bt5/erp5_documentation/bt/revision
@@ -1 +1 @@
-213
\ No newline at end of file
+214
\ No newline at end of file
diff --git a/bt5/erp5_documentation/bt/template_update_business_template_workflow b/bt5/erp5_documentation/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_documentation/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_documentation/bt/template_update_tool b/bt5/erp5_documentation/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_documentation/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_dummy_movement/bt/revision b/bt5/erp5_dummy_movement/bt/revision
index 8e2afd3427..25bf17fc5a 100644
--- a/bt5/erp5_dummy_movement/bt/revision
+++ b/bt5/erp5_dummy_movement/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_dummy_movement/bt/template_update_business_template_workflow b/bt5/erp5_dummy_movement/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_dummy_movement/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_dummy_movement/bt/template_update_tool b/bt5/erp5_dummy_movement/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_dummy_movement/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_egov/bt/revision b/bt5/erp5_egov/bt/revision
index f0a7147fa3..45b1ccee23 100644
--- a/bt5/erp5_egov/bt/revision
+++ b/bt5/erp5_egov/bt/revision
@@ -1 +1 @@
-740
\ No newline at end of file
+741
\ No newline at end of file
diff --git a/bt5/erp5_egov/bt/template_update_business_template_workflow b/bt5/erp5_egov/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_egov/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_egov/bt/template_update_tool b/bt5/erp5_egov/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_egov/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_egov_l10n_fr/bt/revision b/bt5/erp5_egov_l10n_fr/bt/revision
index da2d3988d7..3f10ffe7a4 100644
--- a/bt5/erp5_egov_l10n_fr/bt/revision
+++ b/bt5/erp5_egov_l10n_fr/bt/revision
@@ -1 +1 @@
-14
\ No newline at end of file
+15
\ No newline at end of file
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_update_business_template_workflow b/bt5/erp5_egov_l10n_fr/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_egov_l10n_fr/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_egov_l10n_fr/bt/template_update_tool b/bt5/erp5_egov_l10n_fr/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_egov_l10n_fr/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/revision b/bt5/erp5_egov_mysql_innodb_catalog/bt/revision
index b74e882ae3..1758dddcce 100644
--- a/bt5/erp5_egov_mysql_innodb_catalog/bt/revision
+++ b/bt5/erp5_egov_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-31
\ No newline at end of file
+32
\ No newline at end of file
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_update_business_template_workflow b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_update_tool b/bt5/erp5_egov_mysql_innodb_catalog/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_egov_mysql_innodb_catalog/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_forge_release/bt/revision b/bt5/erp5_forge_release/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/erp5_forge_release/bt/revision
+++ b/bt5/erp5_forge_release/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/erp5_forge_release/bt/template_update_business_template_workflow b/bt5/erp5_forge_release/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_forge_release/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_forge_release/bt/template_update_tool b/bt5/erp5_forge_release/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_forge_release/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/revision b/bt5/erp5_full_text_sphinxse_catalog/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_full_text_sphinxse_catalog/bt/revision
+++ b/bt5/erp5_full_text_sphinxse_catalog/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_update_business_template_workflow b/bt5/erp5_full_text_sphinxse_catalog/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_full_text_sphinxse_catalog/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_full_text_sphinxse_catalog/bt/template_update_tool b/bt5/erp5_full_text_sphinxse_catalog/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_full_text_sphinxse_catalog/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_hr/bt/revision b/bt5/erp5_hr/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/erp5_hr/bt/revision
+++ b/bt5/erp5_hr/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/erp5_hr/bt/template_update_business_template_workflow b/bt5/erp5_hr/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_hr/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_hr/bt/template_update_tool b/bt5/erp5_hr/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_hr/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_hr_l10n_jp/bt/revision b/bt5/erp5_hr_l10n_jp/bt/revision
index 301160a930..f11c82a4cb 100644
--- a/bt5/erp5_hr_l10n_jp/bt/revision
+++ b/bt5/erp5_hr_l10n_jp/bt/revision
@@ -1 +1 @@
-8
\ No newline at end of file
+9
\ No newline at end of file
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_update_business_template_workflow b/bt5/erp5_hr_l10n_jp/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_hr_l10n_jp/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_hr_l10n_jp/bt/template_update_tool b/bt5/erp5_hr_l10n_jp/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_hr_l10n_jp/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ical_style/bt/revision b/bt5/erp5_ical_style/bt/revision
index dec2bf5d61..2edeafb09d 100644
--- a/bt5/erp5_ical_style/bt/revision
+++ b/bt5/erp5_ical_style/bt/revision
@@ -1 +1 @@
-19
\ No newline at end of file
+20
\ No newline at end of file
diff --git a/bt5/erp5_ical_style/bt/template_update_business_template_workflow b/bt5/erp5_ical_style/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ical_style/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ical_style/bt/template_update_tool b/bt5/erp5_ical_style/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ical_style/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_immobilisation/bt/revision b/bt5/erp5_immobilisation/bt/revision
index 3968aef87f..6547e41559 100644
--- a/bt5/erp5_immobilisation/bt/revision
+++ b/bt5/erp5_immobilisation/bt/revision
@@ -1 +1 @@
-170
\ No newline at end of file
+171
\ No newline at end of file
diff --git a/bt5/erp5_immobilisation/bt/template_update_business_template_workflow b/bt5/erp5_immobilisation/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_immobilisation/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_immobilisation/bt/template_update_tool b/bt5/erp5_immobilisation/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_immobilisation/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ingestion/bt/revision b/bt5/erp5_ingestion/bt/revision
index 2702ba3d43..d2c5ed2124 100644
--- a/bt5/erp5_ingestion/bt/revision
+++ b/bt5/erp5_ingestion/bt/revision
@@ -1 +1 @@
-115
\ No newline at end of file
+116
\ No newline at end of file
diff --git a/bt5/erp5_ingestion/bt/template_update_business_template_workflow b/bt5/erp5_ingestion/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ingestion/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
index b393560759..cabf43b5dd 100644
--- a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
+++ b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-23
\ No newline at end of file
+24
\ No newline at end of file
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_update_business_template_workflow b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_update_tool b/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ingestion_mysql_innodb_catalog/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_invoicing/bt/revision b/bt5/erp5_invoicing/bt/revision
index e8930b6df9..55f04f2ae2 100644
--- a/bt5/erp5_invoicing/bt/revision
+++ b/bt5/erp5_invoicing/bt/revision
@@ -1 +1 @@
-364
\ No newline at end of file
+365
\ No newline at end of file
diff --git a/bt5/erp5_invoicing/bt/template_update_business_template_workflow b/bt5/erp5_invoicing/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_invoicing/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_invoicing/bt/template_update_tool b/bt5/erp5_invoicing/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_invoicing/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_item/bt/revision b/bt5/erp5_item/bt/revision
index ae4ee13c08..05cf25896d 100644
--- a/bt5/erp5_item/bt/revision
+++ b/bt5/erp5_item/bt/revision
@@ -1 +1 @@
-200
\ No newline at end of file
+201
\ No newline at end of file
diff --git a/bt5/erp5_item/bt/template_update_business_template_workflow b/bt5/erp5_item/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_item/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_item/bt/template_update_tool b/bt5/erp5_item/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_item/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_jquery/bt/revision b/bt5/erp5_jquery/bt/revision
index da2d3988d7..3f10ffe7a4 100644
--- a/bt5/erp5_jquery/bt/revision
+++ b/bt5/erp5_jquery/bt/revision
@@ -1 +1 @@
-14
\ No newline at end of file
+15
\ No newline at end of file
diff --git a/bt5/erp5_jquery/bt/template_update_business_template_workflow b/bt5/erp5_jquery/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_jquery/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_jquery/bt/template_update_tool b/bt5/erp5_jquery/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_jquery/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 1f24d348d3..3dfef23a19 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1597
\ No newline at end of file
+1598
\ No newline at end of file
diff --git a/bt5/erp5_km/bt/template_update_business_template_workflow b/bt5/erp5_km/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_km/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_km/bt/template_update_tool b/bt5/erp5_km/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_km/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_km_ui_test/bt/revision b/bt5/erp5_km_ui_test/bt/revision
index d2c5ed2124..1bda760653 100644
--- a/bt5/erp5_km_ui_test/bt/revision
+++ b/bt5/erp5_km_ui_test/bt/revision
@@ -1 +1 @@
-116
\ No newline at end of file
+117
\ No newline at end of file
diff --git a/bt5/erp5_km_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_km_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_km_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_km_ui_test/bt/template_update_tool b/bt5/erp5_km_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_km_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad/bt/revision b/bt5/erp5_knowledge_pad/bt/revision
index c021767357..4c38412cc7 100644
--- a/bt5/erp5_knowledge_pad/bt/revision
+++ b/bt5/erp5_knowledge_pad/bt/revision
@@ -1 +1 @@
-558
\ No newline at end of file
+559
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad/bt/template_update_business_template_workflow b/bt5/erp5_knowledge_pad/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_knowledge_pad/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad/bt/template_update_tool b/bt5/erp5_knowledge_pad/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_knowledge_pad/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/revision b/bt5/erp5_knowledge_pad_ui_test/bt/revision
index 301160a930..f11c82a4cb 100644
--- a/bt5/erp5_knowledge_pad_ui_test/bt/revision
+++ b/bt5/erp5_knowledge_pad_ui_test/bt/revision
@@ -1 +1 @@
-8
\ No newline at end of file
+9
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_knowledge_pad_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_knowledge_pad_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/template_update_tool b/bt5/erp5_knowledge_pad_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_knowledge_pad_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_l10n_fr/bt/revision b/bt5/erp5_l10n_fr/bt/revision
index 05b9b66ffd..5755659621 100644
--- a/bt5/erp5_l10n_fr/bt/revision
+++ b/bt5/erp5_l10n_fr/bt/revision
@@ -1 +1 @@
-162
\ No newline at end of file
+163
\ No newline at end of file
diff --git a/bt5/erp5_l10n_fr/bt/template_update_business_template_workflow b/bt5/erp5_l10n_fr/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_l10n_fr/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_l10n_fr/bt/template_update_tool b/bt5/erp5_l10n_fr/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_l10n_fr/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ja/bt/revision b/bt5/erp5_l10n_ja/bt/revision
index dce6588ca1..7c091989d0 100644
--- a/bt5/erp5_l10n_ja/bt/revision
+++ b/bt5/erp5_l10n_ja/bt/revision
@@ -1 +1 @@
-36
\ No newline at end of file
+37
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ja/bt/template_update_business_template_workflow b/bt5/erp5_l10n_ja/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_l10n_ja/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ja/bt/template_update_tool b/bt5/erp5_l10n_ja/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_l10n_ja/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ko/bt/revision b/bt5/erp5_l10n_ko/bt/revision
index 3f10ffe7a4..19c7bdba7b 100644
--- a/bt5/erp5_l10n_ko/bt/revision
+++ b/bt5/erp5_l10n_ko/bt/revision
@@ -1 +1 @@
-15
\ No newline at end of file
+16
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ko/bt/template_update_business_template_workflow b/bt5/erp5_l10n_ko/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_l10n_ko/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_l10n_ko/bt/template_update_tool b/bt5/erp5_l10n_ko/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_l10n_ko/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pl_PL/bt/revision b/bt5/erp5_l10n_pl_PL/bt/revision
index dc7b54ad01..3e932fe8f1 100644
--- a/bt5/erp5_l10n_pl_PL/bt/revision
+++ b/bt5/erp5_l10n_pl_PL/bt/revision
@@ -1 +1 @@
-33
\ No newline at end of file
+34
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_update_business_template_workflow b/bt5/erp5_l10n_pl_PL/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_l10n_pl_PL/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pl_PL/bt/template_update_tool b/bt5/erp5_l10n_pl_PL/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_l10n_pl_PL/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pt-BR/bt/revision b/bt5/erp5_l10n_pt-BR/bt/revision
index 2edeafb09d..b5045cc404 100644
--- a/bt5/erp5_l10n_pt-BR/bt/revision
+++ b/bt5/erp5_l10n_pt-BR/bt/revision
@@ -1 +1 @@
-20
\ No newline at end of file
+21
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_update_business_template_workflow b/bt5/erp5_l10n_pt-BR/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_l10n_pt-BR/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_l10n_pt-BR/bt/template_update_tool b/bt5/erp5_l10n_pt-BR/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_l10n_pt-BR/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ldap_catalog/bt/revision b/bt5/erp5_ldap_catalog/bt/revision
index 9a037142aa..9d607966b7 100644
--- a/bt5/erp5_ldap_catalog/bt/revision
+++ b/bt5/erp5_ldap_catalog/bt/revision
@@ -1 +1 @@
-10
\ No newline at end of file
+11
\ No newline at end of file
diff --git a/bt5/erp5_ldap_catalog/bt/template_update_business_template_workflow b/bt5/erp5_ldap_catalog/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ldap_catalog/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ldap_catalog/bt/template_update_tool b/bt5/erp5_ldap_catalog/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ldap_catalog/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_legacy_tax_system/bt/revision b/bt5/erp5_legacy_tax_system/bt/revision
index 25bf17fc5a..dec2bf5d61 100644
--- a/bt5/erp5_legacy_tax_system/bt/revision
+++ b/bt5/erp5_legacy_tax_system/bt/revision
@@ -1 +1 @@
-18
\ No newline at end of file
+19
\ No newline at end of file
diff --git a/bt5/erp5_legacy_tax_system/bt/template_update_business_template_workflow b/bt5/erp5_legacy_tax_system/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_legacy_tax_system/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_legacy_tax_system/bt/template_update_tool b/bt5/erp5_legacy_tax_system/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_legacy_tax_system/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_mobile/bt/revision b/bt5/erp5_mobile/bt/revision
index 4e9e288487..4b6f9c39e5 100644
--- a/bt5/erp5_mobile/bt/revision
+++ b/bt5/erp5_mobile/bt/revision
@@ -1 +1 @@
-63
\ No newline at end of file
+64
\ No newline at end of file
diff --git a/bt5/erp5_mobile/bt/template_update_business_template_workflow b/bt5/erp5_mobile/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_mobile/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_mobile/bt/template_update_tool b/bt5/erp5_mobile/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_mobile/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_mobile_ui_test/bt/revision b/bt5/erp5_mobile_ui_test/bt/revision
index 301160a930..f11c82a4cb 100644
--- a/bt5/erp5_mobile_ui_test/bt/revision
+++ b/bt5/erp5_mobile_ui_test/bt/revision
@@ -1 +1 @@
-8
\ No newline at end of file
+9
\ No newline at end of file
diff --git a/bt5/erp5_mobile_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_mobile_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_mobile_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_mobile_ui_test/bt/template_update_tool b/bt5/erp5_mobile_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_mobile_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_mrp/bt/revision b/bt5/erp5_mrp/bt/revision
index 4991210660..812799aa82 100644
--- a/bt5/erp5_mrp/bt/revision
+++ b/bt5/erp5_mrp/bt/revision
@@ -1 +1 @@
-451
\ No newline at end of file
+452
\ No newline at end of file
diff --git a/bt5/erp5_mrp/bt/template_update_business_template_workflow b/bt5/erp5_mrp/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_mrp/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_mrp/bt/template_update_tool b/bt5/erp5_mrp/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_mrp/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ods_style/bt/revision b/bt5/erp5_ods_style/bt/revision
index b6e27607fb..104fcf5b4e 100644
--- a/bt5/erp5_ods_style/bt/revision
+++ b/bt5/erp5_ods_style/bt/revision
@@ -1 +1 @@
-242
\ No newline at end of file
+243
\ No newline at end of file
diff --git a/bt5/erp5_ods_style/bt/template_update_business_template_workflow b/bt5/erp5_ods_style/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ods_style/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ods_style/bt/template_update_tool b/bt5/erp5_ods_style/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ods_style/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_odt_style/bt/revision b/bt5/erp5_odt_style/bt/revision
index d25720879e..95c8a676e9 100644
--- a/bt5/erp5_odt_style/bt/revision
+++ b/bt5/erp5_odt_style/bt/revision
@@ -1 +1 @@
-112
\ No newline at end of file
+113
\ No newline at end of file
diff --git a/bt5/erp5_odt_style/bt/template_update_business_template_workflow b/bt5/erp5_odt_style/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_odt_style/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_odt_style/bt/template_update_tool b/bt5/erp5_odt_style/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_odt_style/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ooo_import/bt/revision b/bt5/erp5_ooo_import/bt/revision
index 0ad1c6bd53..d9beed0e29 100644
--- a/bt5/erp5_ooo_import/bt/revision
+++ b/bt5/erp5_ooo_import/bt/revision
@@ -1 +1 @@
-408
\ No newline at end of file
+409
\ No newline at end of file
diff --git a/bt5/erp5_ooo_import/bt/template_update_business_template_workflow b/bt5/erp5_ooo_import/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ooo_import/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ooo_import/bt/template_update_tool b/bt5/erp5_ooo_import/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ooo_import/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_open_trade/bt/revision b/bt5/erp5_open_trade/bt/revision
index a5c750feac..368f89ceef 100644
--- a/bt5/erp5_open_trade/bt/revision
+++ b/bt5/erp5_open_trade/bt/revision
@@ -1 +1 @@
-27
\ No newline at end of file
+28
\ No newline at end of file
diff --git a/bt5/erp5_open_trade/bt/template_update_business_template_workflow b/bt5/erp5_open_trade/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_open_trade/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_open_trade/bt/template_update_tool b/bt5/erp5_open_trade/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_open_trade/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/revision b/bt5/erp5_open_trade_legacy_tax_system/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/erp5_open_trade_legacy_tax_system/bt/revision
+++ b/bt5/erp5_open_trade_legacy_tax_system/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_update_business_template_workflow b/bt5/erp5_open_trade_legacy_tax_system/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_open_trade_legacy_tax_system/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_open_trade_legacy_tax_system/bt/template_update_tool b/bt5/erp5_open_trade_legacy_tax_system/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_open_trade_legacy_tax_system/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_payroll/bt/revision b/bt5/erp5_payroll/bt/revision
index ccd47f3c25..51f1d23291 100644
--- a/bt5/erp5_payroll/bt/revision
+++ b/bt5/erp5_payroll/bt/revision
@@ -1 +1 @@
-565
\ No newline at end of file
+566
\ No newline at end of file
diff --git a/bt5/erp5_payroll/bt/template_update_business_template_workflow b/bt5/erp5_payroll/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_payroll/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_payroll/bt/template_update_tool b/bt5/erp5_payroll/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_payroll/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_fr/bt/revision b/bt5/erp5_payroll_l10n_fr/bt/revision
index a09fd8ad47..00c98bb3ad 100644
--- a/bt5/erp5_payroll_l10n_fr/bt/revision
+++ b/bt5/erp5_payroll_l10n_fr/bt/revision
@@ -1 +1 @@
-124
\ No newline at end of file
+125
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_update_business_template_workflow b/bt5/erp5_payroll_l10n_fr/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_payroll_l10n_fr/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_fr/bt/template_update_tool b/bt5/erp5_payroll_l10n_fr/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_payroll_l10n_fr/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_jp/bt/revision b/bt5/erp5_payroll_l10n_jp/bt/revision
index d800886d9c..a09fd8ad47 100644
--- a/bt5/erp5_payroll_l10n_jp/bt/revision
+++ b/bt5/erp5_payroll_l10n_jp/bt/revision
@@ -1 +1 @@
-123
\ No newline at end of file
+124
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_update_business_template_workflow b/bt5/erp5_payroll_l10n_jp/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_payroll_l10n_jp/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_payroll_l10n_jp/bt/template_update_tool b/bt5/erp5_payroll_l10n_jp/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_payroll_l10n_jp/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_payroll_ui_test/bt/revision b/bt5/erp5_payroll_ui_test/bt/revision
index 3f10ffe7a4..19c7bdba7b 100644
--- a/bt5/erp5_payroll_ui_test/bt/revision
+++ b/bt5/erp5_payroll_ui_test/bt/revision
@@ -1 +1 @@
-15
\ No newline at end of file
+16
\ No newline at end of file
diff --git a/bt5/erp5_payroll_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_payroll_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_payroll_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_payroll_ui_test/bt/template_update_tool b/bt5/erp5_payroll_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_payroll_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_pdf_editor/bt/revision b/bt5/erp5_pdf_editor/bt/revision
index dc7b54ad01..3e932fe8f1 100644
--- a/bt5/erp5_pdf_editor/bt/revision
+++ b/bt5/erp5_pdf_editor/bt/revision
@@ -1 +1 @@
-33
\ No newline at end of file
+34
\ No newline at end of file
diff --git a/bt5/erp5_pdf_editor/bt/template_update_business_template_workflow b/bt5/erp5_pdf_editor/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_pdf_editor/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_pdf_editor/bt/template_update_tool b/bt5/erp5_pdf_editor/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_pdf_editor/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_pdf_style/bt/revision b/bt5/erp5_pdf_style/bt/revision
index 0aeb548544..a76c74dcec 100644
--- a/bt5/erp5_pdf_style/bt/revision
+++ b/bt5/erp5_pdf_style/bt/revision
@@ -1 +1 @@
-74
\ No newline at end of file
+75
\ No newline at end of file
diff --git a/bt5/erp5_pdf_style/bt/template_update_business_template_workflow b/bt5/erp5_pdf_style/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_pdf_style/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_pdf_style/bt/template_update_tool b/bt5/erp5_pdf_style/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_pdf_style/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_pdm/bt/revision b/bt5/erp5_pdm/bt/revision
index c047c4aba9..82cf079698 100644
--- a/bt5/erp5_pdm/bt/revision
+++ b/bt5/erp5_pdm/bt/revision
@@ -1 +1 @@
-518
\ No newline at end of file
+519
\ No newline at end of file
diff --git a/bt5/erp5_pdm/bt/template_update_business_template_workflow b/bt5/erp5_pdm/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_pdm/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_pdm/bt/template_update_tool b/bt5/erp5_pdm/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_pdm/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_pdm_ui_test/bt/revision b/bt5/erp5_pdm_ui_test/bt/revision
index d99e90eb96..8580e7b684 100644
--- a/bt5/erp5_pdm_ui_test/bt/revision
+++ b/bt5/erp5_pdm_ui_test/bt/revision
@@ -1 +1 @@
-29
\ No newline at end of file
+30
\ No newline at end of file
diff --git a/bt5/erp5_pdm_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_pdm_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_pdm_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_pdm_ui_test/bt/template_update_tool b/bt5/erp5_pdm_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_pdm_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_popup_ui/bt/revision b/bt5/erp5_popup_ui/bt/revision
index 8e2afd3427..25bf17fc5a 100644
--- a/bt5/erp5_popup_ui/bt/revision
+++ b/bt5/erp5_popup_ui/bt/revision
@@ -1 +1 @@
-17
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_popup_ui/bt/template_update_business_template_workflow b/bt5/erp5_popup_ui/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_popup_ui/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_popup_ui/bt/template_update_tool b/bt5/erp5_popup_ui/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_popup_ui/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_project/bt/revision b/bt5/erp5_project/bt/revision
index 7392849d54..19e03cffa3 100644
--- a/bt5/erp5_project/bt/revision
+++ b/bt5/erp5_project/bt/revision
@@ -1 +1 @@
-775
\ No newline at end of file
+776
\ No newline at end of file
diff --git a/bt5/erp5_project/bt/template_update_business_template_workflow b/bt5/erp5_project/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_project/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_project/bt/template_update_tool b/bt5/erp5_project/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_project/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/revision b/bt5/erp5_project_mysql_innodb_catalog/bt/revision
index 25bf17fc5a..dec2bf5d61 100644
--- a/bt5/erp5_project_mysql_innodb_catalog/bt/revision
+++ b/bt5/erp5_project_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-18
\ No newline at end of file
+19
\ No newline at end of file
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_update_business_template_workflow b/bt5/erp5_project_mysql_innodb_catalog/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_project_mysql_innodb_catalog/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_project_mysql_innodb_catalog/bt/template_update_tool b/bt5/erp5_project_mysql_innodb_catalog/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_project_mysql_innodb_catalog/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_project_ui_test/bt/revision b/bt5/erp5_project_ui_test/bt/revision
index c7930257df..301160a930 100644
--- a/bt5/erp5_project_ui_test/bt/revision
+++ b/bt5/erp5_project_ui_test/bt/revision
@@ -1 +1 @@
-7
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/bt5/erp5_project_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_project_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_project_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_project_ui_test/bt/template_update_tool b/bt5/erp5_project_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_project_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_public_accounting_budget/bt/revision b/bt5/erp5_public_accounting_budget/bt/revision
index 301160a930..f11c82a4cb 100644
--- a/bt5/erp5_public_accounting_budget/bt/revision
+++ b/bt5/erp5_public_accounting_budget/bt/revision
@@ -1 +1 @@
-8
\ No newline at end of file
+9
\ No newline at end of file
diff --git a/bt5/erp5_public_accounting_budget/bt/template_update_business_template_workflow b/bt5/erp5_public_accounting_budget/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_public_accounting_budget/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_public_accounting_budget/bt/template_update_tool b/bt5/erp5_public_accounting_budget/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_public_accounting_budget/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_publication/bt/revision b/bt5/erp5_publication/bt/revision
index c7930257df..301160a930 100644
--- a/bt5/erp5_publication/bt/revision
+++ b/bt5/erp5_publication/bt/revision
@@ -1 +1 @@
-7
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/bt5/erp5_publication/bt/template_update_business_template_workflow b/bt5/erp5_publication/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_publication/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_publication/bt/template_update_tool b/bt5/erp5_publication/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_publication/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada/bt/revision b/bt5/erp5_registry_ohada/bt/revision
index 086d92f2e1..930e0e0f80 100644
--- a/bt5/erp5_registry_ohada/bt/revision
+++ b/bt5/erp5_registry_ohada/bt/revision
@@ -1 +1 @@
-929
\ No newline at end of file
+930
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada/bt/template_update_business_template_workflow b/bt5/erp5_registry_ohada/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_registry_ohada/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada/bt/template_update_tool b/bt5/erp5_registry_ohada/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_registry_ohada/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/revision b/bt5/erp5_registry_ohada_l10n_fr/bt/revision
index c7930257df..301160a930 100644
--- a/bt5/erp5_registry_ohada_l10n_fr/bt/revision
+++ b/bt5/erp5_registry_ohada_l10n_fr/bt/revision
@@ -1 +1 @@
-7
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_update_business_template_workflow b/bt5/erp5_registry_ohada_l10n_fr/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_registry_ohada_l10n_fr/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_registry_ohada_l10n_fr/bt/template_update_tool b/bt5/erp5_registry_ohada_l10n_fr/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_registry_ohada_l10n_fr/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_rss_reader/bt/revision b/bt5/erp5_rss_reader/bt/revision
index c5a644422f..6dd90d24d3 100644
--- a/bt5/erp5_rss_reader/bt/revision
+++ b/bt5/erp5_rss_reader/bt/revision
@@ -1 +1 @@
-221
\ No newline at end of file
+222
\ No newline at end of file
diff --git a/bt5/erp5_rss_reader/bt/template_update_business_template_workflow b/bt5/erp5_rss_reader/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_rss_reader/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_rss_reader/bt/template_update_tool b/bt5/erp5_rss_reader/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_rss_reader/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_rss_style/bt/revision b/bt5/erp5_rss_style/bt/revision
index 801f180102..31ff414b74 100644
--- a/bt5/erp5_rss_style/bt/revision
+++ b/bt5/erp5_rss_style/bt/revision
@@ -1 +1 @@
-47
\ No newline at end of file
+48
\ No newline at end of file
diff --git a/bt5/erp5_rss_style/bt/template_update_business_template_workflow b/bt5/erp5_rss_style/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_rss_style/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_rss_style/bt/template_update_tool b/bt5/erp5_rss_style/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_rss_style/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_simplified_invoicing/bt/revision b/bt5/erp5_simplified_invoicing/bt/revision
index 8783e30511..43c451e0c6 100644
--- a/bt5/erp5_simplified_invoicing/bt/revision
+++ b/bt5/erp5_simplified_invoicing/bt/revision
@@ -1 +1 @@
-53
\ No newline at end of file
+54
\ No newline at end of file
diff --git a/bt5/erp5_simplified_invoicing/bt/template_update_business_template_workflow b/bt5/erp5_simplified_invoicing/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_simplified_invoicing/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_simplified_invoicing/bt/template_update_tool b/bt5/erp5_simplified_invoicing/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_simplified_invoicing/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_simulation/bt/revision b/bt5/erp5_simulation/bt/revision
index c2807f7f3c..acfba60953 100644
--- a/bt5/erp5_simulation/bt/revision
+++ b/bt5/erp5_simulation/bt/revision
@@ -1 +1 @@
-140
\ No newline at end of file
+141
\ No newline at end of file
diff --git a/bt5/erp5_simulation/bt/template_update_business_template_workflow b/bt5/erp5_simulation/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_simulation/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_simulation/bt/template_update_tool b/bt5/erp5_simulation/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_simulation/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/revision b/bt5/erp5_simulation_performance_test/bt/revision
index dec2bf5d61..2edeafb09d 100644
--- a/bt5/erp5_simulation_performance_test/bt/revision
+++ b/bt5/erp5_simulation_performance_test/bt/revision
@@ -1 +1 @@
-19
\ No newline at end of file
+20
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/template_update_business_template_workflow b/bt5/erp5_simulation_performance_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_simulation_performance_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_simulation_performance_test/bt/template_update_tool b/bt5/erp5_simulation_performance_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_simulation_performance_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_social_contracts/bt/revision b/bt5/erp5_social_contracts/bt/revision
index 25bf17fc5a..dec2bf5d61 100644
--- a/bt5/erp5_social_contracts/bt/revision
+++ b/bt5/erp5_social_contracts/bt/revision
@@ -1 +1 @@
-18
\ No newline at end of file
+19
\ No newline at end of file
diff --git a/bt5/erp5_social_contracts/bt/template_update_business_template_workflow b/bt5/erp5_social_contracts/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_social_contracts/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_social_contracts/bt/template_update_tool b/bt5/erp5_social_contracts/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_social_contracts/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_software_pdm/bt/revision b/bt5/erp5_software_pdm/bt/revision
index d7765fe47e..2fb681e3f9 100644
--- a/bt5/erp5_software_pdm/bt/revision
+++ b/bt5/erp5_software_pdm/bt/revision
@@ -1 +1 @@
-70
\ No newline at end of file
+71
\ No newline at end of file
diff --git a/bt5/erp5_software_pdm/bt/template_update_business_template_workflow b/bt5/erp5_software_pdm/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_software_pdm/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_software_pdm/bt/template_update_tool b/bt5/erp5_software_pdm/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_software_pdm/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_syncml/bt/revision b/bt5/erp5_syncml/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/erp5_syncml/bt/revision
+++ b/bt5/erp5_syncml/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/erp5_syncml/bt/template_update_business_template_workflow b/bt5/erp5_syncml/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_syncml/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_syncml/bt/template_update_tool b/bt5/erp5_syncml/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_syncml/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_tax_resource/bt/revision b/bt5/erp5_tax_resource/bt/revision
index ca7bf83ac5..da2d3988d7 100644
--- a/bt5/erp5_tax_resource/bt/revision
+++ b/bt5/erp5_tax_resource/bt/revision
@@ -1 +1 @@
-13
\ No newline at end of file
+14
\ No newline at end of file
diff --git a/bt5/erp5_tax_resource/bt/template_update_business_template_workflow b/bt5/erp5_tax_resource/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_tax_resource/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_tax_resource/bt/template_update_tool b/bt5/erp5_tax_resource/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_tax_resource/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision
index 0272c1ec6a..a88135ee83 100644
--- a/bt5/erp5_trade/bt/revision
+++ b/bt5/erp5_trade/bt/revision
@@ -1 +1 @@
-987
\ No newline at end of file
+988
\ No newline at end of file
diff --git a/bt5/erp5_trade/bt/template_update_business_template_workflow b/bt5/erp5_trade/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_trade/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_trade/bt/template_update_tool b/bt5/erp5_trade/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_trade/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/revision b/bt5/erp5_trade_proxy_field_legacy/bt/revision
index 3f10ffe7a4..19c7bdba7b 100644
--- a/bt5/erp5_trade_proxy_field_legacy/bt/revision
+++ b/bt5/erp5_trade_proxy_field_legacy/bt/revision
@@ -1 +1 @@
-15
\ No newline at end of file
+16
\ No newline at end of file
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_update_business_template_workflow b/bt5/erp5_trade_proxy_field_legacy/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_trade_proxy_field_legacy/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_trade_proxy_field_legacy/bt/template_update_tool b/bt5/erp5_trade_proxy_field_legacy/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_trade_proxy_field_legacy/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_trade_ui_test/bt/revision b/bt5/erp5_trade_ui_test/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/erp5_trade_ui_test/bt/revision
+++ b/bt5/erp5_trade_ui_test/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/erp5_trade_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_trade_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_trade_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_trade_ui_test/bt/template_update_tool b/bt5/erp5_trade_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_trade_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ui_test/bt/revision b/bt5/erp5_ui_test/bt/revision
index a0d1ef1a02..c8a110e7e8 100644
--- a/bt5/erp5_ui_test/bt/revision
+++ b/bt5/erp5_ui_test/bt/revision
@@ -1 +1 @@
-620
\ No newline at end of file
+621
\ No newline at end of file
diff --git a/bt5/erp5_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ui_test/bt/template_update_tool b/bt5/erp5_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ui_test_core/bt/revision b/bt5/erp5_ui_test_core/bt/revision
index 72f523f36e..86ee83a4a2 100644
--- a/bt5/erp5_ui_test_core/bt/revision
+++ b/bt5/erp5_ui_test_core/bt/revision
@@ -1 +1 @@
-39
\ No newline at end of file
+40
\ No newline at end of file
diff --git a/bt5/erp5_ui_test_core/bt/template_update_business_template_workflow b/bt5/erp5_ui_test_core/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ui_test_core/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_ui_test_core/bt/template_update_tool b/bt5/erp5_ui_test_core/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_ui_test_core/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_upgrader/bt/revision b/bt5/erp5_upgrader/bt/revision
index 3e990b743e..28621d35ad 100644
--- a/bt5/erp5_upgrader/bt/revision
+++ b/bt5/erp5_upgrader/bt/revision
@@ -1 +1 @@
-541
\ No newline at end of file
+542
\ No newline at end of file
diff --git a/bt5/erp5_upgrader/bt/template_update_business_template_workflow b/bt5/erp5_upgrader/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_upgrader/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_upgrader/bt/template_update_tool b/bt5/erp5_upgrader/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_upgrader/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_utils/bt/revision b/bt5/erp5_utils/bt/revision
index 9d607966b7..3cacc0b93c 100644
--- a/bt5/erp5_utils/bt/revision
+++ b/bt5/erp5_utils/bt/revision
@@ -1 +1 @@
-11
\ No newline at end of file
+12
\ No newline at end of file
diff --git a/bt5/erp5_utils/bt/template_update_business_template_workflow b/bt5/erp5_utils/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_utils/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_utils/bt/template_update_tool b/bt5/erp5_utils/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_utils/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision
index be9c5191bd..0272c1ec6a 100644
--- a/bt5/erp5_web/bt/revision
+++ b/bt5/erp5_web/bt/revision
@@ -1 +1 @@
-986
\ No newline at end of file
+987
\ No newline at end of file
diff --git a/bt5/erp5_web/bt/template_update_business_template_workflow b/bt5/erp5_web/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_web/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_web/bt/template_update_tool b/bt5/erp5_web/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_web/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_web_blog/bt/revision b/bt5/erp5_web_blog/bt/revision
index 72f523f36e..86ee83a4a2 100644
--- a/bt5/erp5_web_blog/bt/revision
+++ b/bt5/erp5_web_blog/bt/revision
@@ -1 +1 @@
-39
\ No newline at end of file
+40
\ No newline at end of file
diff --git a/bt5/erp5_web_blog/bt/template_update_business_template_workflow b/bt5/erp5_web_blog/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_web_blog/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_web_blog/bt/template_update_tool b/bt5/erp5_web_blog/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_web_blog/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_web_multiflex5_theme/bt/revision b/bt5/erp5_web_multiflex5_theme/bt/revision
index 1a1f7f8270..946b551d71 100644
--- a/bt5/erp5_web_multiflex5_theme/bt/revision
+++ b/bt5/erp5_web_multiflex5_theme/bt/revision
@@ -1 +1 @@
-190
\ No newline at end of file
+191
\ No newline at end of file
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_update_business_template_workflow b/bt5/erp5_web_multiflex5_theme/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_web_multiflex5_theme/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_web_multiflex5_theme/bt/template_update_tool b/bt5/erp5_web_multiflex5_theme/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_web_multiflex5_theme/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_web_ui_test/bt/revision b/bt5/erp5_web_ui_test/bt/revision
index 1758dddcce..dc7b54ad01 100644
--- a/bt5/erp5_web_ui_test/bt/revision
+++ b/bt5/erp5_web_ui_test/bt/revision
@@ -1 +1 @@
-32
\ No newline at end of file
+33
\ No newline at end of file
diff --git a/bt5/erp5_web_ui_test/bt/template_update_business_template_workflow b/bt5/erp5_web_ui_test/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_web_ui_test/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_web_ui_test/bt/template_update_tool b/bt5/erp5_web_ui_test/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_web_ui_test/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_wizard/bt/revision b/bt5/erp5_wizard/bt/revision
index c663e4d093..2d73b5e3ba 100644
--- a/bt5/erp5_wizard/bt/revision
+++ b/bt5/erp5_wizard/bt/revision
@@ -1 +1 @@
-151
\ No newline at end of file
+152
\ No newline at end of file
diff --git a/bt5/erp5_wizard/bt/template_update_business_template_workflow b/bt5/erp5_wizard/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_wizard/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_wizard/bt/template_update_tool b/bt5/erp5_wizard/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_wizard/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_worklist_sql/bt/revision b/bt5/erp5_worklist_sql/bt/revision
index dc7b54ad01..3e932fe8f1 100644
--- a/bt5/erp5_worklist_sql/bt/revision
+++ b/bt5/erp5_worklist_sql/bt/revision
@@ -1 +1 @@
-33
\ No newline at end of file
+34
\ No newline at end of file
diff --git a/bt5/erp5_worklist_sql/bt/template_update_business_template_workflow b/bt5/erp5_worklist_sql/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_worklist_sql/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/erp5_worklist_sql/bt/template_update_tool b/bt5/erp5_worklist_sql/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/erp5_worklist_sql/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_accounting/bt/revision b/bt5/test_accounting/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/test_accounting/bt/revision
+++ b/bt5/test_accounting/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/test_accounting/bt/template_update_business_template_workflow b/bt5/test_accounting/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_accounting/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_accounting/bt/template_update_tool b/bt5/test_accounting/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_accounting/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_accounting_fr/bt/revision b/bt5/test_accounting_fr/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/test_accounting_fr/bt/revision
+++ b/bt5/test_accounting_fr/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/test_accounting_fr/bt/template_update_business_template_workflow b/bt5/test_accounting_fr/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_accounting_fr/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_accounting_fr/bt/template_update_tool b/bt5/test_accounting_fr/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_accounting_fr/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_accounting_in/bt/revision b/bt5/test_accounting_in/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/test_accounting_in/bt/revision
+++ b/bt5/test_accounting_in/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/test_accounting_in/bt/template_update_business_template_workflow b/bt5/test_accounting_in/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_accounting_in/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_accounting_in/bt/template_update_tool b/bt5/test_accounting_in/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_accounting_in/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_accounting_pl/bt/revision b/bt5/test_accounting_pl/bt/revision
index e440e5c842..bf0d87ab1b 100644
--- a/bt5/test_accounting_pl/bt/revision
+++ b/bt5/test_accounting_pl/bt/revision
@@ -1 +1 @@
-3
\ No newline at end of file
+4
\ No newline at end of file
diff --git a/bt5/test_accounting_pl/bt/template_update_business_template_workflow b/bt5/test_accounting_pl/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_accounting_pl/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_accounting_pl/bt/template_update_tool b/bt5/test_accounting_pl/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_accounting_pl/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_core/bt/revision b/bt5/test_core/bt/revision
index 62f9457511..c7930257df 100644
--- a/bt5/test_core/bt/revision
+++ b/bt5/test_core/bt/revision
@@ -1 +1 @@
-6
\ No newline at end of file
+7
\ No newline at end of file
diff --git a/bt5/test_core/bt/template_update_business_template_workflow b/bt5/test_core/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_core/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_core/bt/template_update_tool b/bt5/test_core/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_core/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_html_style/bt/revision b/bt5/test_html_style/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/test_html_style/bt/revision
+++ b/bt5/test_html_style/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/test_html_style/bt/template_update_business_template_workflow b/bt5/test_html_style/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_html_style/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_html_style/bt/template_update_tool b/bt5/test_html_style/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_html_style/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_web/bt/revision b/bt5/test_web/bt/revision
index c7930257df..301160a930 100644
--- a/bt5/test_web/bt/revision
+++ b/bt5/test_web/bt/revision
@@ -1 +1 @@
-7
\ No newline at end of file
+8
\ No newline at end of file
diff --git a/bt5/test_web/bt/template_update_business_template_workflow b/bt5/test_web/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_web/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_web/bt/template_update_tool b/bt5/test_web/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_web/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_xhtml_style/bt/revision b/bt5/test_xhtml_style/bt/revision
index 7813681f5b..62f9457511 100644
--- a/bt5/test_xhtml_style/bt/revision
+++ b/bt5/test_xhtml_style/bt/revision
@@ -1 +1 @@
-5
\ No newline at end of file
+6
\ No newline at end of file
diff --git a/bt5/test_xhtml_style/bt/template_update_business_template_workflow b/bt5/test_xhtml_style/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_xhtml_style/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/test_xhtml_style/bt/template_update_tool b/bt5/test_xhtml_style/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/test_xhtml_style/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/tiolive_base/bt/revision b/bt5/tiolive_base/bt/revision
index 0aeb548544..a76c74dcec 100644
--- a/bt5/tiolive_base/bt/revision
+++ b/bt5/tiolive_base/bt/revision
@@ -1 +1 @@
-74
\ No newline at end of file
+75
\ No newline at end of file
diff --git a/bt5/tiolive_base/bt/template_update_business_template_workflow b/bt5/tiolive_base/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/tiolive_base/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/bt5/tiolive_base/bt/template_update_tool b/bt5/tiolive_base/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/bt5/tiolive_base/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
index cbd6012bc6..e0d1ea1e9a 100644
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
+++ b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/revision
@@ -1 +1 @@
-204
\ No newline at end of file
+205
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_update_business_template_workflow b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_update_tool b/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/product/ERP5/bootstrap/erp5_mysql_innodb_catalog/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/revision b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/revision
index 3e932fe8f1..597975b413 100644
--- a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/revision
+++ b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/revision
@@ -1 +1 @@
-34
\ No newline at end of file
+35
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_update_business_template_workflow b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_update_tool b/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/product/ERP5/bootstrap/erp5_mysql_ndb_catalog/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
index 6ea72f0416..86509c9f05 100644
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
+++ b/product/ERP5/bootstrap/erp5_xhtml_style/bt/revision
@@ -1 +1 @@
-1032
\ No newline at end of file
+1033
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_update_business_template_workflow b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_update_business_template_workflow
deleted file mode 100644
index c227083464..0000000000
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_update_business_template_workflow
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
diff --git a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_update_tool b/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_update_tool
deleted file mode 100644
index c227083464..0000000000
--- a/product/ERP5/bootstrap/erp5_xhtml_style/bt/template_update_tool
+++ /dev/null
@@ -1 +0,0 @@
-0
\ No newline at end of file
-- 
2.30.9


From 7496551988a2c9d8f94d70af782679cdab141518 Mon Sep 17 00:00:00 2001
From: Gabriel Monnerat <gabriel@tiolive.com>
Date: Thu, 14 Oct 2010 17:01:31 +0000
Subject: [PATCH 079/163] add Xinha option and implement code to render xinha
 view

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39191 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/EditorField.py | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Form/EditorField.py b/product/ERP5Form/EditorField.py
index 43057b2da4..9c3e85c5fc 100644
--- a/product/ERP5Form/EditorField.py
+++ b/product/ERP5Form/EditorField.py
@@ -70,7 +70,8 @@ class EditorWidget(Widget.TextAreaWidget):
                                    size=1,
                                    items=[('Standard Text Area', 'text_area'),
                                           ('FCK Editor', 'fck_editor'), 
-                                          ('Bespin Editor', 'bespin')])
+                                          ('Bespin Editor', 'bespin'),
+                                          ('Xinha Editor', 'xinha')])
 
   def render(self, field, key, value, REQUEST, render_prefix=None):
     """
@@ -93,6 +94,16 @@ class EditorWidget(Widget.TextAreaWidget):
                           'inputvalue' : value,
                           'inputname'  : key
                         })
+    elif text_editor == "xinha":
+      xinha_support = getattr(here, 'xinha_support', None)
+      if xinha_support is None:
+        return Widget.TextAreaWidget.render(self, field, key, value, REQUEST)
+      return xinha_support.pt_render(
+           extra_context= {
+                          'field'       : field,
+                          'field_value' : value,
+                          'field_name'  : key
+                        })
     else:
       return here.fckeditor_wysiwyg_support.pt_render(
            extra_context= {
-- 
2.30.9


From 42f54cc7d34ad938a4e0db5fa102f57ca0a20dee Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 17:15:09 +0000
Subject: [PATCH 080/163] Revert r39158

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39192 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/patches/WorkflowTool.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Type/patches/WorkflowTool.py b/product/ERP5Type/patches/WorkflowTool.py
index 88d9cfc3b8..b3f51af374 100644
--- a/product/ERP5Type/patches/WorkflowTool.py
+++ b/product/ERP5Type/patches/WorkflowTool.py
@@ -830,6 +830,7 @@ class WorkflowMethod( Method ):
 
         """ Invoke the wrapped method, and deal with the results.
         """
+        instance.pdb()
         wf = getToolByName(instance, 'portal_workflow', None)
         if wf is None or not hasattr(wf, 'wrapWorkflowMethod'):
             # No workflow tool found.
@@ -849,4 +850,5 @@ try:
 except ImportError:
   from Products.CMFCore import WorkflowCore
   # We're on CMF 2, where WorkflowMethod has been removed from CMFCore
-  #WorkflowCore.WorkflowMethod = WorkflowCore.WorkflowAction = WorkflowMethod
+  #WorkflowCore.WorkflowMethod = WorkflowMethod
+  WorkflowCore.WorkflowAction = WorkflowMethod
-- 
2.30.9


From b12dc015242ab37d40463cb500afd7c0e050184d Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 17:16:02 +0000
Subject: [PATCH 081/163] Remove references to nonexistent base categories to
 reduce log verbosity

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39193 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 bt5/erp5_apparel/PropertySheetTemplateItem/ApparelModel.py | 4 ++--
 product/ERP5/PropertySheet/Arrow.py                        | 4 ++--
 product/ERP5/PropertySheet/Resource.py                     | 7 ++-----
 3 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/bt5/erp5_apparel/PropertySheetTemplateItem/ApparelModel.py b/bt5/erp5_apparel/PropertySheetTemplateItem/ApparelModel.py
index f8ced909ad..3ec96244f7 100644
--- a/bt5/erp5_apparel/PropertySheetTemplateItem/ApparelModel.py
+++ b/bt5/erp5_apparel/PropertySheetTemplateItem/ApparelModel.py
@@ -119,9 +119,9 @@ class ApparelModel:
       'mode'        : 'w' },
   )
 
-  _categories = ( 'composition', 'transformation_state', 'pricing', 'origin', 'brand', 'tariff_nomenclature' )
+  _categories = ( 'composition', 'pricing', 'origin', 'brand', 'tariff_nomenclature' )
   #_categories = ( 'transformation_state', 'apparel_pricing', 'apparel_creation_type', 'brand', 'tariff_nomenclature' )
-                  #     XXXXXXX              XXXX                XXXX   apparel_model_creation_type                        (As in Brussels Tariff Nomenclature)               
+                  #     XXXXXXX              XXXX                XXXX   apparel_model_creation_type                        (As in Brussels Tariff Nomenclature)
 
   _constraints = (
     { 'id'            : 'apparel_shape',
diff --git a/product/ERP5/PropertySheet/Arrow.py b/product/ERP5/PropertySheet/Arrow.py
index 192fe17dd4..c74e623c6e 100644
--- a/product/ERP5/PropertySheet/Arrow.py
+++ b/product/ERP5/PropertySheet/Arrow.py
@@ -325,8 +325,8 @@ class Arrow:
                     'source_carrier', 'destination_carrier',
                     'source_referral', 'destination_referral',
                     'source_account', 'destination_account',
-                    'source_advice', 'destination_advice',
-                    'source_transport', 'destination_transport',
+                    #'source_advice', 'destination_advice',
+                    #'source_transport', 'destination_transport',
                     # Virtual categories
                     'source_region', 'destination_region',
                     'source_payment_region', 'destination_payment_region',
diff --git a/product/ERP5/PropertySheet/Resource.py b/product/ERP5/PropertySheet/Resource.py
index c6ff5865c1..4ce0ee6f83 100644
--- a/product/ERP5/PropertySheet/Resource.py
+++ b/product/ERP5/PropertySheet/Resource.py
@@ -179,12 +179,9 @@ class Resource:
 
     )
 
-    _categories = ( 'source', 'destination', 'quantity_unit', 'price_unit',
-                    'weight_unit', 'length_unit', 'height_unit', 'width_unit',
-                    'volume_unit',
+    _categories = ( 'source', 'destination', 'quantity_unit',
                     'base_contribution',
                     'use',
-                    'price_currency',  'source_price_currency',
-                    'destination_price_currency', 'product_line',
+                    'price_currency', 'product_line',
                     'industrial_phase')
 
-- 
2.30.9


From bb9703a67056fb34e3c4208b896478bcb0c1bff4 Mon Sep 17 00:00:00 2001
From: Jean-Paul Smets <jp@nexedi.com>
Date: Thu, 14 Oct 2010 17:16:21 +0000
Subject: [PATCH 082/163] added WARNING to make sure people read
 troubleshooting

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39194 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/README-2.12.txt | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/buildout/README-2.12.txt b/buildout/README-2.12.txt
index 1c500809d6..ed97cd3aa5 100644
--- a/buildout/README-2.12.txt
+++ b/buildout/README-2.12.txt
@@ -46,6 +46,9 @@ And run it:
 
   $ python2.6 -S bootstrap.py -c buildout-2.12.cfg
 
+WARNING: please read "Troubleshooting" section bellow, you may need to
+unset environment variables in your GNU/Linux distribution
+
 If curl or wget are available, it can be done in one line:
 
 in case of curl:
-- 
2.30.9


From baa91f1722f1054408705f8ed707508473764755 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 17:17:03 +0000
Subject: [PATCH 083/163] Remove breakpoint

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39195 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/patches/WorkflowTool.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/product/ERP5Type/patches/WorkflowTool.py b/product/ERP5Type/patches/WorkflowTool.py
index b3f51af374..949698741e 100644
--- a/product/ERP5Type/patches/WorkflowTool.py
+++ b/product/ERP5Type/patches/WorkflowTool.py
@@ -830,7 +830,6 @@ class WorkflowMethod( Method ):
 
         """ Invoke the wrapped method, and deal with the results.
         """
-        instance.pdb()
         wf = getToolByName(instance, 'portal_workflow', None)
         if wf is None or not hasattr(wf, 'wrapWorkflowMethod'):
             # No workflow tool found.
-- 
2.30.9


From 54e1f1ccd1280c87b5d1e6ecded6bd3fbbd18522 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 18:44:17 +0000
Subject: [PATCH 084/163] Remove very old debugging log

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39196 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/XMLMatrix.py | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/product/ERP5Type/XMLMatrix.py b/product/ERP5Type/XMLMatrix.py
index 7e23eb40f7..102eb8ec64 100644
--- a/product/ERP5Type/XMLMatrix.py
+++ b/product/ERP5Type/XMLMatrix.py
@@ -266,9 +266,7 @@ class XMLMatrix(Folder):
                             # uid should be consistent
         else:
           # In all cases, we have to remove the temp object
-          LOG("Del2 Object",0, temp_object_id)
-          LOG("Del2 Object",0, str(o.uid))
-          #ATTENTION -> if path is not good, it will not be able to uncatalog !!!
+          #WARNING -> if path is not good, it will not be able to uncatalog !!!
           #o.immediateReindexObject() # STILL A PROBLEM -> getUidForPath XXX
 
           if object_id not in new_object_id_list: # do not unindex a new object
-- 
2.30.9


From 0b0607b7ff4c1e5a197b6db046940f5801dc9fa1 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 18:44:40 +0000
Subject: [PATCH 085/163] Change 2 common warnings so that they are reported
 only once per instance

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39197 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Utils.py            | 3 ++-
 product/ZSQLCatalog/SQLExpression.py | 5 +++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/product/ERP5Type/Utils.py b/product/ERP5Type/Utils.py
index cdbad8416e..80689f9946 100644
--- a/product/ERP5Type/Utils.py
+++ b/product/ERP5Type/Utils.py
@@ -1350,7 +1350,8 @@ def getExistingBaseCategoryList(portal, base_cat_list):
     except KeyError:
       value = category_tool._getOb(base_cat, None)
       if value is None:
-        LOG('ERP5Type.Utils.getExistingBaseCategoryList', PROBLEM, 'base_category "%s" is missing, can not generate Accessors' % (base_cat))
+        warnings.warn("Base Category %r is missing."
+                      " Accessors can not be generated." % base_cat, Warning)
       cache[key] = value
     if value is not None:
       new_base_cat_list.append(base_cat)
diff --git a/product/ZSQLCatalog/SQLExpression.py b/product/ZSQLCatalog/SQLExpression.py
index 7ee0aa1a87..5f2fd9f7a1 100644
--- a/product/ZSQLCatalog/SQLExpression.py
+++ b/product/ZSQLCatalog/SQLExpression.py
@@ -27,7 +27,7 @@
 #
 ##############################################################################
 
-from zLOG import LOG
+import warnings
 from interfaces.sql_expression import ISQLExpression
 from zope.interface.verify import verifyClass
 from zope.interface import implements
@@ -132,7 +132,8 @@ class SQLExpression(object):
     else:
       self.limit = (limit, )
     if from_expression is not None:
-      LOG('SQLExpression', 0, 'Providing a from_expression is deprecated.')
+      warnings.warn("Providing a 'from_expression' is deprecated.",
+                    DeprecationWarning)
     self.from_expression = from_expression
 
   @profiler_decorator
-- 
2.30.9


From bd3ec4cc9f7594ce6765cf651db34f2c7bf3ef69 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 18:44:58 +0000
Subject: [PATCH 086/163] Do not import from deprecated 'Globals' module

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39198 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Tool/ConversionTool.py             | 4 +---
 product/ERP5/Tool/SolverProcessTool.py          | 2 +-
 product/ERP5Security/ERP5KeyAuthPlugin.py       | 2 +-
 product/ERP5Type/help/001-overview.stx          | 2 +-
 product/ERP5Type/mixin/property_translatable.py | 2 +-
 product/ERP5Wizard/PAS/ERP5RemoteUserManager.py | 2 +-
 product/ERP5Wizard/Tool/WizardTool.py           | 2 +-
 product/ERP5eGovSecurity/EGOVGroupManager.py    | 2 +-
 product/ERP5eGovSecurity/EGOVUserManager.py     | 2 +-
 9 files changed, 9 insertions(+), 11 deletions(-)

diff --git a/product/ERP5/Tool/ConversionTool.py b/product/ERP5/Tool/ConversionTool.py
index fb36be41d2..a17b9ea1bf 100644
--- a/product/ERP5/Tool/ConversionTool.py
+++ b/product/ERP5/Tool/ConversionTool.py
@@ -27,12 +27,10 @@
 #
 ##############################################################################
 
-from Products.CMFCore.utils import getToolByName
-
 from AccessControl import ClassSecurityInfo
-from Globals import InitializeClass, DTMLFile
 from Products.CMFCore.utils import getToolByName
 from Products.ERP5Type import Permissions
+from Products.ERP5Type.Globals import InitializeClass, DTMLFile
 from Products.ERP5Type.Tool.BaseTool import BaseTool
 
 from Products.ERP5 import _dtmldir
diff --git a/product/ERP5/Tool/SolverProcessTool.py b/product/ERP5/Tool/SolverProcessTool.py
index 3ff7e45e84..8724321084 100644
--- a/product/ERP5/Tool/SolverProcessTool.py
+++ b/product/ERP5/Tool/SolverProcessTool.py
@@ -30,8 +30,8 @@
 import zope.interface
 
 from AccessControl import ClassSecurityInfo
-from Globals import DTMLFile
 from Products.ERP5Type import Permissions, interfaces
+from Products.ERP5Type.Globals import DTMLFile
 from Products.ERP5Type.Tool.BaseTool import BaseTool
 
 from Products.ERP5 import _dtmldir
diff --git a/product/ERP5Security/ERP5KeyAuthPlugin.py b/product/ERP5Security/ERP5KeyAuthPlugin.py
index d5e025ecd3..f6d1a04e52 100644
--- a/product/ERP5Security/ERP5KeyAuthPlugin.py
+++ b/product/ERP5Security/ERP5KeyAuthPlugin.py
@@ -31,7 +31,7 @@ from base64 import encodestring, decodestring
 from urllib import quote, unquote
 from DateTime import DateTime
 from zLOG import LOG, PROBLEM
-from Globals import InitializeClass
+from Products.ERP5Type.Globals import InitializeClass
 try:
     from zope.interface import Interface
 except ImportError:
diff --git a/product/ERP5Type/help/001-overview.stx b/product/ERP5Type/help/001-overview.stx
index e22764394d..c245abaea7 100644
--- a/product/ERP5Type/help/001-overview.stx
+++ b/product/ERP5Type/help/001-overview.stx
@@ -323,7 +323,7 @@ Code Generation in ERP5Type
     If we look at the file Document/__init__.py, we can see some generated code::
 
       # Hide internal implementation
-      from Globals import InitializeClass
+      from Products.ERP5Type.Globals import InitializeClass
       from Demo import Demo as ERP5Demo
       # Default constructor for Demo
       # Can be overriden by adding a method addDemo in class Demo
diff --git a/product/ERP5Type/mixin/property_translatable.py b/product/ERP5Type/mixin/property_translatable.py
index 4fcffcc7fd..80fe975628 100644
--- a/product/ERP5Type/mixin/property_translatable.py
+++ b/product/ERP5Type/mixin/property_translatable.py
@@ -29,7 +29,7 @@ import zope.interface
 from Products.ERP5Type.interfaces.property_translatable import IPropertyTranslatable
 from AccessControl import ClassSecurityInfo
 from Products.ERP5Type import Permissions
-from Globals import InitializeClass
+from Products.ERP5Type.Globals import InitializeClass
 
 
 INTERNAL_TRANSLATION_DICT_NAME = '__translation_dict'
diff --git a/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py b/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
index 046e48a4fb..f302b4c172 100644
--- a/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
+++ b/product/ERP5Wizard/PAS/ERP5RemoteUserManager.py
@@ -15,7 +15,7 @@
 """ Classes: ERP5RemoteUserManager
 """
 
-from Globals import InitializeClass
+from Products.ERP5Type.Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 from AccessControl.SecurityManagement import getSecurityManager,\
     setSecurityManager, newSecurityManager
diff --git a/product/ERP5Wizard/Tool/WizardTool.py b/product/ERP5Wizard/Tool/WizardTool.py
index 4c2c226ed5..07fbed0f23 100644
--- a/product/ERP5Wizard/Tool/WizardTool.py
+++ b/product/ERP5Wizard/Tool/WizardTool.py
@@ -29,7 +29,7 @@
 
 from AccessControl import ClassSecurityInfo
 from ZPublisher.HTTPRequest import FileUpload
-from Globals import DTMLFile
+from Products.ERP5Type.Globals import DTMLFile
 from Products.ERP5Type.Accessor.Constant import PropertyGetter as \
     ConstantGetter
 from Products.ERP5Type.Tool.BaseTool import BaseTool
diff --git a/product/ERP5eGovSecurity/EGOVGroupManager.py b/product/ERP5eGovSecurity/EGOVGroupManager.py
index 2dae6e4fb3..b09e490bc1 100644
--- a/product/ERP5eGovSecurity/EGOVGroupManager.py
+++ b/product/ERP5eGovSecurity/EGOVGroupManager.py
@@ -17,7 +17,7 @@
 """ Classes: ERP5GroupManager
 """
 
-from Globals import InitializeClass
+from Products.ERP5Type.Globals import InitializeClass
 from AccessControl.SecurityManagement import newSecurityManager,\
     getSecurityManager, setSecurityManager
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile
diff --git a/product/ERP5eGovSecurity/EGOVUserManager.py b/product/ERP5eGovSecurity/EGOVUserManager.py
index 3eedfef4c0..e24cbfe722 100644
--- a/product/ERP5eGovSecurity/EGOVUserManager.py
+++ b/product/ERP5eGovSecurity/EGOVUserManager.py
@@ -17,7 +17,7 @@
 """ Classes: ERP5GroupManager
 """
 
-from Globals import InitializeClass
+from Products.ERP5Type.Globals import InitializeClass
 from AccessControl import ClassSecurityInfo
 from AccessControl.SecurityManagement import getSecurityManager,\
     setSecurityManager, newSecurityManager
-- 
2.30.9


From 3e74735de3bcd8a010b1fd70d08bff67c118d1ed Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 18:45:14 +0000
Subject: [PATCH 087/163] Remove trailing spaces

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39199 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Security/ERP5KeyAuthPlugin.py | 100 +++++++++++-----------
 1 file changed, 50 insertions(+), 50 deletions(-)

diff --git a/product/ERP5Security/ERP5KeyAuthPlugin.py b/product/ERP5Security/ERP5KeyAuthPlugin.py
index f6d1a04e52..e638dd9f8f 100644
--- a/product/ERP5Security/ERP5KeyAuthPlugin.py
+++ b/product/ERP5Security/ERP5KeyAuthPlugin.py
@@ -1,31 +1,31 @@
 # -*- coding: utf-8 -*-
-##############################################################################                                 
-#                                                                                                              
-# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.                                        
-#                    Francois-Xavier Algrain <fxalgrain@tiolive.com>                                                   
-#                                                                                                              
-# WARNING: This program as such is intended to be used by professional                                         
-# programmers who take the whole responsability of assessing all potential                                     
-# consequences resulting from its eventual inadequacies and bugs                                               
-# End users who are looking for a ready-to-use solution with commercial                                        
-# garantees and support are strongly adviced to contract a Free Software                                       
-# Service Company                                                                                              
-#                                                                                                              
-# This program is Free Software; you can redistribute it and/or                                                
-# modify it under the terms of the GNU General Public License                                                  
-# as published by the Free Software Foundation; either version 2                                               
-# of the License, or (at your option) any later version.                                                       
-#                                                                                                              
-# This program is distributed in the hope that it will be useful,                                              
-# but WITHOUT ANY WARRANTY; without even the implied warranty of                                               
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                                
-# GNU General Public License for more details.                                                                 
-#                                                                                                              
-# You should have received a copy of the GNU General Public License                                            
-# along with this program; if not, write to the Free Software                                                  
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.                                  
-#                                                                                                              
-##############################################################################     
+##############################################################################
+#
+# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Francois-Xavier Algrain <fxalgrain@tiolive.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+##############################################################################
 
 from base64 import encodestring, decodestring
 from urllib import quote, unquote
@@ -66,7 +66,7 @@ class ILoginEncryptionPlugin(Interface):
 
 
 #Form for new plugin in ZMI
-manage_addERP5KeyAuthPluginForm = PageTemplateFile(     
+manage_addERP5KeyAuthPluginForm = PageTemplateFile(
     'www/ERP5Security_addERP5KeyAuthPlugin', globals(),
     __name__='manage_addERP5KeyAuthPluginForm')
 
@@ -92,17 +92,17 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
     <ERP5_Root>/web_page_module/1/view?__ac_key=207221200213146153166
 
     where value of __ac_key contains (encrypted):
-    - proxied (i.e. granting user) username 
+    - proxied (i.e. granting user) username
     - PAS plugin encryption key
 
-  XXX: improve encrypt & decrypt part to use PAS encryption_key with a true 
+  XXX: improve encrypt & decrypt part to use PAS encryption_key with a true
   python encryption library (reuse of public / private key architecture)!
 
   """
 
   meta_type = "ERP5 Key Authentication"
   login_path = 'login_form'
-  security = ClassSecurityInfo()  
+  security = ClassSecurityInfo()
   block_length = 3
   cookie_name = "__ac_key"
   default_cookie_name = "__ac"
@@ -130,7 +130,7 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
   def __init__(self, id, title=None, encryption_key='', cookie_name='', default_cookie_name=''):
     #Check parameters
     if cookie_name is None or cookie_name == '':
-      cookie_name = id      
+      cookie_name = id
     if encryption_key is None or encryption_key == '':
       encryption_key = id
     if "__ac_key" in [cookie_name, default_cookie_name]:
@@ -171,7 +171,7 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
       crypted_login += crypted_letter
 
     return crypted_login
-  
+
   security.declarePrivate('decrypt')
   def decrypt(self, crypted_login):
     """Decrypt string and return the login"""
@@ -187,7 +187,7 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
     for block in range(0, clogin_length, self.block_length):
       delta = position % key_length
       crypted_letter = crypted_login[block:block + self.block_length]
-      crypted_letter = int(crypted_letter) - self.encrypted_key[delta] 
+      crypted_letter = int(crypted_letter) - self.encrypted_key[delta]
       letter = chr(crypted_letter)
       login += letter
       position += 1
@@ -203,12 +203,12 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
       creds = {}
       #Search __ac_key
       key = request.get('__ac_key', None)
-      if key is not None:     
+      if key is not None:
         creds['key'] = key
         #Save this in cookie
         self.updateCredentials(request,request["RESPONSE"],None,None)
       else:
-        # Look in the request for the names coming from the login form     
+        # Look in the request for the names coming from the login form
         #It's default method
         login_pw = request._authUserPW()
 
@@ -220,13 +220,13 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
           self.updateCredentials(request,request["RESPONSE"],name,password)
 
         else:
-          #search in cookies      
+          #search in cookies
           cookie = request.get(self.cookie_name, None)
           if cookie is not None:
             #Cookie is found
             cookie_val = unquote(cookie)
             creds['key'] = cookie_val
-          else:     
+          else:
             #Default cookie if needed
             default_cookie = request.get(self.default_cookie_name, None)
             if default_cookie is not None:
@@ -249,7 +249,7 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
       LOG('ERP5KeyAuthPlugin.extractCredentials', PROBLEM, str(e))
 
     return creds
-  
+
   ################################
   #   ICredentialsUpdatePlugin   #
   ################################
@@ -278,7 +278,7 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
   security.declarePrivate('resetCredentials')
   def resetCredentials(self, request, response):
     """Expire cookies of authentification """
-    response.expireCookie(self.cookie_name, path='/')    
+    response.expireCookie(self.cookie_name, path='/')
     response.expireCookie(self.default_cookie_name, path='/')
 
 
@@ -294,7 +294,7 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
       # Forbidden the usage of the super user.
       if login == SUPER_USER:
         return None
-      
+
       #Function to allow cache
       def _authenticateCredentials(login):
         if not login:
@@ -327,12 +327,12 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
                 continue
               valid_assignment_list.append(assignment)
 
-            # validate 
+            # validate
             if len(valid_assignment_list) > 0:
               return (login,login)
           finally:
             setSecurityManager(sm)
-          
+
           raise _AuthenticationFailure()
 
       #Cache Method for best performance
@@ -342,8 +342,8 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
       try:
           return _authenticateCredentials(
                           login=login)
-      except _AuthenticationFailure:            
-            return None     
+      except _AuthenticationFailure:
+            return None
       except StandardError,e:
           #Log standard error
           LOG('ERP5KeyAuthPlugin.authenticateCredentials', PROBLEM, str(e))
@@ -354,16 +354,16 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
   ################################
 
   #'Edit' option form
-  manage_editERP5KeyAuthPluginForm = PageTemplateFile( 
-      'www/ERP5Security_editERP5KeyAuthPlugin', 
+  manage_editERP5KeyAuthPluginForm = PageTemplateFile(
+      'www/ERP5Security_editERP5KeyAuthPlugin',
       globals(),
       __name__='manage_editERP5KeyAuthPluginForm' )
-  
+
   security.declareProtected( ManageUsers, 'manage_editKeyAuthPlugin' )
   def manage_editKeyAuthPlugin(self, encryption_key,cookie_name,default_cookie_name, RESPONSE=None):
     """Edit the object"""
     error_message = ''
-      
+
     #Test paramaeters
     if "__ac_key" in [cookie_name, default_cookie_name]:
       raise ValueError, "Cookie name must be different of __ac_key"
@@ -374,7 +374,7 @@ class ERP5KeyAuthPlugin(ERP5UserManager, CookieAuthHelper):
     else:
       self.encryption_key = encryption_key
       self.encrypted_key = self.transformKey(self.encryption_key);
-      
+
     #Save cookie name
     if cookie_name == '' or cookie_name is None:
       error_message += 'Invalid cookie name '
-- 
2.30.9


From a0497874bb63e23349d190a8538967b9f99a8e42 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 18:45:26 +0000
Subject: [PATCH 088/163] Stop using deprecated expandpath in FSZSQLMethod
 patch (like in CMF 2.2)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39200 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/patches/FSZSQLMethod.py | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/product/ERP5Type/patches/FSZSQLMethod.py b/product/ERP5Type/patches/FSZSQLMethod.py
index 4c1044eb7e..fa1e209689 100644
--- a/product/ERP5Type/patches/FSZSQLMethod.py
+++ b/product/ERP5Type/patches/FSZSQLMethod.py
@@ -7,15 +7,14 @@
 #
 
 from Products.CMFCore.FSZSQLMethod import FSZSQLMethod
-from Products.CMFCore.utils import expandpath
 from Products.ZSQLMethods.SQL import SQL
 
 def FSZSQLMethod_readFile(self, reparse):
-    fp = expandpath(self._filepath)
-    file = open(fp, 'r')    # not 'rb', as this is a text file!
+    file = open(self._filepath, 'r') # not 'rb', as this is a text file!
     try:
         data = file.read()
-    finally: file.close()
+    finally:
+        file.close()
 
     RESPONSE = {}
     RESPONSE['BODY'] = data
-- 
2.30.9


From 91988caf42c3d3753456c11c2b53fef233e857fa Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 18:45:39 +0000
Subject: [PATCH 089/163] _getCatalogTool does not exist in CMF 1.5

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39201 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/patches/CMFCatalogAware.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5Type/patches/CMFCatalogAware.py b/product/ERP5Type/patches/CMFCatalogAware.py
index 05be3556d3..b058220e3f 100644
--- a/product/ERP5Type/patches/CMFCatalogAware.py
+++ b/product/ERP5Type/patches/CMFCatalogAware.py
@@ -30,7 +30,7 @@ def reindexObject(self, idxs=[], *args, **kw):
         # Update the modification date.
         if getattr(aq_base(self), 'notifyModified', None) is not None:
             self.notifyModified()
-    catalog = self._getCatalogTool()
+    catalog = getattr(self.getPortalObject(), 'portal_catalog', None)
     if catalog is not None:
         catalog.reindexObject(self, idxs=idxs, *args, **kw)
 
-- 
2.30.9


From 236a77f3dd71f02b6eb2fad7e770be19963d3b19 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Thu, 14 Oct 2010 19:12:07 +0000
Subject: [PATCH 090/163] Included a utility script get important informations.
 This is usefull to check if information is appropriated.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39202 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ExtensionTemplateItem/WizardUtils.py      | 60 +++++++++++++++++++
 .../ERP5Site_getERP5InstanceState.xml         | 28 +++++++++
 bt5/erp5_wizard/bt/revision                   |  2 +-
 bt5/erp5_wizard/bt/template_extension_id_list |  1 +
 4 files changed, 90 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_wizard/ExtensionTemplateItem/WizardUtils.py
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/ERP5Site_getERP5InstanceState.xml
 create mode 100644 bt5/erp5_wizard/bt/template_extension_id_list

diff --git a/bt5/erp5_wizard/ExtensionTemplateItem/WizardUtils.py b/bt5/erp5_wizard/ExtensionTemplateItem/WizardUtils.py
new file mode 100644
index 0000000000..f9a461c21c
--- /dev/null
+++ b/bt5/erp5_wizard/ExtensionTemplateItem/WizardUtils.py
@@ -0,0 +1,60 @@
+##############################################################################
+#
+# Copyright (c) 2002-2009 Nexedi SA and Contributors. All Rights Reserved.
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+def ERP5Site_getERP5InstanceState(self, witch_login=None, witch_password=None):
+  """
+    This script get some information from the instance. This usefull for 
+    compare informations and verify the status of the instance.
+  """
+  result = {}
+  preferences = {}
+  portal = self.getPortalObject()
+  portal_preferences = portal.portal_preferences
+  portal_wizard = portal.portal_wizard
+
+  # wizard authentication
+  if witch_password is not None and witch_login is not None:
+    result['witch_authentication'] = portal_wizard._isCorrectConfigurationKey(witch_login, witch_password)
+  else:
+    result['witch_authentication'] = -1
+
+  for accessor_name in ('PreferredExpressUserId',
+                        'PreferredExpressPassword',
+                        'PreferredWitchToolServerUrl',
+                        'PreferredWitchToolServerRoot',
+                        'PreferredExpressSubscriptionStatus',
+                        'PreferredExpressErp5Uid',
+                        'PreferredHtmlStyleAccessTab',):
+    preferences[accessor_name] = getattr(portal_preferences, 'get%s' % accessor_name)()
+  result['preference_dict'] = preferences
+  # bt5 list
+  result['bt5_list'] = [{'title': x.getTitle(), 
+                         'version': x.getVersion(),
+                         'revision': x.getRevision()} for x in 
+                          portal.portal_templates.getInstalledBusinessTemplateList()]
+
+  return result
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/ERP5Site_getERP5InstanceState.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/ERP5Site_getERP5InstanceState.xml
new file mode 100644
index 0000000000..afc1a0b9f5
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/ERP5Site_getERP5InstanceState.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_function</string> </key>
+            <value> <string>ERP5Site_getERP5InstanceState</string> </value>
+        </item>
+        <item>
+            <key> <string>_module</string> </key>
+            <value> <string>WizardUtils</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_getERP5InstanceState</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/bt/revision b/bt5/erp5_wizard/bt/revision
index 2d73b5e3ba..f79f5e337e 100644
--- a/bt5/erp5_wizard/bt/revision
+++ b/bt5/erp5_wizard/bt/revision
@@ -1 +1 @@
-152
\ No newline at end of file
+153
\ No newline at end of file
diff --git a/bt5/erp5_wizard/bt/template_extension_id_list b/bt5/erp5_wizard/bt/template_extension_id_list
new file mode 100644
index 0000000000..e39bb8be36
--- /dev/null
+++ b/bt5/erp5_wizard/bt/template_extension_id_list
@@ -0,0 +1 @@
+WizardUtils
\ No newline at end of file
-- 
2.30.9


From d05d02c3be932810de4180b1e8e9cd6e4d02d251 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Thu, 14 Oct 2010 22:00:12 +0000
Subject: [PATCH 091/163] Included core scripts used to auth an instance into a
 remote instance.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39203 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Base_validatePersonReference.xml          | 142 +++++++++++++++++
 .../ERP5Site_getExpressInstanceUid.xml        | 144 +++++++++++++++++
 .../WizardTool_authenticateCredentials.xml    | 147 ++++++++++++++++++
 ...eGlobalUserPasswordFromExpressInstance.xml | 138 ++++++++++++++++
 ...rdTool_isPersonReferenceGloballyUnique.xml | 145 +++++++++++++++++
 .../WizardTool_isPersonReferencePresent.xml   | 143 +++++++++++++++++
 ...izardTool_isUserSynchronizationAllowed.xml | 131 ++++++++++++++++
 bt5/erp5_wizard/bt/revision                   |   2 +-
 8 files changed, 991 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Base_validatePersonReference.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/ERP5Site_getExpressInstanceUid.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_authenticateCredentials.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_changeGlobalUserPasswordFromExpressInstance.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isPersonReferenceGloballyUnique.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isPersonReferencePresent.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isUserSynchronizationAllowed.xml

diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Base_validatePersonReference.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Base_validatePersonReference.xml
new file mode 100644
index 0000000000..b2168d1a0c
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Base_validatePersonReference.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>"""\n
+  THis script is called from UI for creating a global account. In case of remote server failure\n
+  return 0 which will stop user and show an explanation message.\n
+"""\n
+try:\n
+  return int(context.WizardTool_isPersonReferenceGloballyUnique(editor, request, ignore_users_from_same_instance))\n
+except:\n
+  return 0\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>editor, request, ignore_users_from_same_instance=0</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>3</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>editor</string>
+                            <string>request</string>
+                            <string>ignore_users_from_same_instance</string>
+                            <string>int</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <int>0</int>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Base_validatePersonReference</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Check if person\'s reference is unique in Authentification Server in a safe way</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/ERP5Site_getExpressInstanceUid.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/ERP5Site_getExpressInstanceUid.xml
new file mode 100644
index 0000000000..89fa20fd75
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/ERP5Site_getExpressInstanceUid.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># ERP5 Site is set by erp5_site_global_id\n
+# but fallback to erp5_sql_connection.connection_string for old sites\n
+portal = context.getPortalObject()\n
+erp5_site_global_id = getattr(portal, \'erp5_site_global_id\', None)\n
+\n
+if erp5_site_global_id is None:\n
+  erp5_site_global_id = portal.erp5_sql_connection.connection_string.split("@")[0]\n
+\n
+return erp5_site_global_id\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>getattr</string>
+                            <string>None</string>
+                            <string>erp5_site_global_id</string>
+                            <string>_getitem_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_getExpressInstanceUid</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Get this Express instance Uid</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_authenticateCredentials.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_authenticateCredentials.xml
new file mode 100644
index 0000000000..cff2dcd14e
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_authenticateCredentials.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># call remote instance to make the real check for us at server side\n
+if login is not None and password is not None:\n
+  try:\n
+    return context.portal_wizard.callRemoteProxyMethod(\n
+                       \'Base_authenticateCredentialsFromExpressInstance\', \\\n
+                       use_cache = 0, \\\n
+                       ignore_exceptions = 0, \\\n
+                       **{\'login\': login,\n
+                          \'password\': password,\n
+                          \'erp5_uid\': context.ERP5Site_getExpressInstanceUid()})\n
+  except:\n
+    # if an exception occurs at server side do NOT let user in.\n
+    return 0\n
+return 0\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>login, password, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>2</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>login</string>
+                            <string>password</string>
+                            <string>kw</string>
+                            <string>None</string>
+                            <string>_apply_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>WizardTool_authenticateCredentials</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Authenticate against Authentification Server</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_changeGlobalUserPasswordFromExpressInstance.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_changeGlobalUserPasswordFromExpressInstance.xml
new file mode 100644
index 0000000000..2591d8583e
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_changeGlobalUserPasswordFromExpressInstance.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>"""\n
+  Use this function in local TioLive instance form to change global password for an user.\n
+"""\n
+\n
+portal = context.getPortalObject()\n
+kw = {\'reference\': reference,\n
+      \'new_password\': new_password,\n
+      \'old_password\': old_password,\n
+      \'erp5_uid\': portal.ERP5Site_getExpressInstanceUid()}\n
+return portal.portal_wizard.callRemoteProxyMethod( \\\n
+                              distant_method = \'WitchTool_changeGlobalUserPasswordFromExpressInstance\', \\\n
+                              use_cache = 0, \\\n
+                              ignore_exceptions = 0, \\\n
+                              **kw)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>reference, old_password, new_password</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>3</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>reference</string>
+                            <string>old_password</string>
+                            <string>new_password</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>kw</string>
+                            <string>_apply_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>WizardTool_changeGlobalUserPasswordFromExpressInstance</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isPersonReferenceGloballyUnique.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isPersonReferenceGloballyUnique.xml
new file mode 100644
index 0000000000..0cdb341def
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isPersonReferenceGloballyUnique.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>reference = str(editor)\n
+return int(context.portal_wizard.callRemoteProxyMethod(\n
+                             \'Base_isPersonReferenceUnique\', \\\n
+                              use_cache = 0, \\\n
+                              ignore_exceptions = 0, \\\n
+                              **{\'reference\':reference,\n
+                                 \'ignore_users_from_same_instance\':ignore_users_from_same_instance,\n
+                                 \'erp5_uid\': context.ERP5Site_getExpressInstanceUid()}))\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>editor, request, ignore_users_from_same_instance=0</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>3</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>editor</string>
+                            <string>request</string>
+                            <string>ignore_users_from_same_instance</string>
+                            <string>str</string>
+                            <string>reference</string>
+                            <string>int</string>
+                            <string>_apply_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <int>0</int>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>WizardTool_isPersonReferenceGloballyUnique</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Check if person\'s reference is unique in Authentification Server</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isPersonReferencePresent.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isPersonReferencePresent.xml
new file mode 100644
index 0000000000..bb87747ab1
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isPersonReferencePresent.xml
@@ -0,0 +1,143 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>reference = str(editor)\n
+return int(context.portal_wizard.callRemoteProxyMethod(\n
+                             \'Base_isPersonReferencePresent\', \\\n
+                              use_cache = 0, \\\n
+                              ignore_exceptions = 0, \\\n
+                              **{\'reference\':reference,\n
+                                 \'erp5_uid\': context.ERP5Site_getExpressInstanceUid()}))\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>editor, request=None</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>2</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>editor</string>
+                            <string>request</string>
+                            <string>str</string>
+                            <string>reference</string>
+                            <string>int</string>
+                            <string>_apply_</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>WizardTool_isPersonReferencePresent</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Check if person\'s reference is present Authentification Server</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isUserSynchronizationAllowed.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isUserSynchronizationAllowed.xml
new file mode 100644
index 0000000000..39f6d30612
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/WizardTool_isUserSynchronizationAllowed.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># for the moment only having set in preferences server url is enough\n
+return context.portal_wizard.getServerUrl() not in (\'\', None)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>None</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>WizardTool_isUserSynchronizationAllowed</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Check if user synchronization is allowed or possible at all</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/bt/revision b/bt5/erp5_wizard/bt/revision
index f79f5e337e..dc9414b21f 100644
--- a/bt5/erp5_wizard/bt/revision
+++ b/bt5/erp5_wizard/bt/revision
@@ -1 +1 @@
-153
\ No newline at end of file
+154
\ No newline at end of file
-- 
2.30.9


From 76e3cf0918d42ed55a4608a3aea6f40415ae288f Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Thu, 14 Oct 2010 22:13:44 +0000
Subject: [PATCH 092/163] Added script to create default initial gadgets.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39204 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5Site_createDefaultKnowledgeBox.xml    | 139 ++++++++++++++++++
 bt5/tiolive_base/bt/revision                  |   2 +-
 2 files changed, 140 insertions(+), 1 deletion(-)
 create mode 100644 bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_createDefaultKnowledgeBox.xml

diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_createDefaultKnowledgeBox.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_createDefaultKnowledgeBox.xml
new file mode 100644
index 0000000000..b71f01beda
--- /dev/null
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_createDefaultKnowledgeBox.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>#\n
+# Advertisement and something for beginners should be added by default.\n
+#\n
+knowledge_box = knowledge_pad.newContent(\n
+  portal_type=\'Knowledge Box\',\n
+  specialise=\'portal_gadgets/erp5_advertisement\',\n
+  activate_kw = activate_kw)\n
+knowledge_box.visible()\n
+\n
+# Documentation Gadget\n
+knowledge_box = knowledge_pad.newContent(\n
+  portal_type=\'Knowledge Box\',\n
+  specialise=\'portal_gadgets/erp5_documentation\',\n
+  activate_kw=activate_kw)\n
+knowledge_box.visible()\n
+\n
+# Put gadgets side by side by default.\n
+# XXX Not so frendly. \n
+knowledge_pad.edit(user_layout="1##2##")\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>knowledge_pad, **activate_kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>knowledge_pad</string>
+                            <string>activate_kw</string>
+                            <string>_getattr_</string>
+                            <string>knowledge_box</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_createDefaultKnowledgeBox</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/tiolive_base/bt/revision b/bt5/tiolive_base/bt/revision
index a76c74dcec..aa92725341 100644
--- a/bt5/tiolive_base/bt/revision
+++ b/bt5/tiolive_base/bt/revision
@@ -1 +1 @@
-75
\ No newline at end of file
+76
\ No newline at end of file
-- 
2.30.9


From 3e63771533629059f6e9f125f8c34031e8a6bbea Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 14 Oct 2010 22:40:44 +0000
Subject: [PATCH 093/163] Revert r39200 (which does not work with CMF 1.5)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39205 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/patches/FSZSQLMethod.py | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/product/ERP5Type/patches/FSZSQLMethod.py b/product/ERP5Type/patches/FSZSQLMethod.py
index fa1e209689..4c1044eb7e 100644
--- a/product/ERP5Type/patches/FSZSQLMethod.py
+++ b/product/ERP5Type/patches/FSZSQLMethod.py
@@ -7,14 +7,15 @@
 #
 
 from Products.CMFCore.FSZSQLMethod import FSZSQLMethod
+from Products.CMFCore.utils import expandpath
 from Products.ZSQLMethods.SQL import SQL
 
 def FSZSQLMethod_readFile(self, reparse):
-    file = open(self._filepath, 'r') # not 'rb', as this is a text file!
+    fp = expandpath(self._filepath)
+    file = open(fp, 'r')    # not 'rb', as this is a text file!
     try:
         data = file.read()
-    finally:
-        file.close()
+    finally: file.close()
 
     RESPONSE = {}
     RESPONSE['BODY'] = data
-- 
2.30.9


From e3cd3458f3376d7ded745cb4bf2d38a08aa6fe6b Mon Sep 17 00:00:00 2001
From: Lucas Carvalho <lucas@nexedi.com>
Date: Thu, 14 Oct 2010 23:16:45 +0000
Subject: [PATCH 094/163] 2010-10-14 lucas * Generate reference automatically
 for Support Request.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39206 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_types/Support%20Request.xml        |  64 ++++++++-
 .../erp5_crm/SupportRequest_afterClone.xml    | 119 +++++++++++++++++
 .../erp5_crm/SupportRequest_init.xml          | 123 ++++++++++++++++++
 bt5/erp5_crm/bt/change_log                    |   3 +
 bt5/erp5_crm/bt/revision                      |   2 +-
 5 files changed, 304 insertions(+), 7 deletions(-)
 create mode 100644 bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/SupportRequest_afterClone.xml
 create mode 100644 bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/SupportRequest_init.xml

diff --git a/bt5/erp5_crm/PortalTypeTemplateItem/portal_types/Support%20Request.xml b/bt5/erp5_crm/PortalTypeTemplateItem/portal_types/Support%20Request.xml
index 74fb7688c8..b2c156879b 100644
--- a/bt5/erp5_crm/PortalTypeTemplateItem/portal_types/Support%20Request.xml
+++ b/bt5/erp5_crm/PortalTypeTemplateItem/portal_types/Support%20Request.xml
@@ -2,13 +2,29 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
         <item>
             <key> <string>acquire_local_roles</string> </key>
             <value> <int>0</int> </value>
@@ -47,11 +63,13 @@
         </item>
         <item>
             <key> <string>init_script</string> </key>
-            <value> <string>Ticket_init</string> </value>
+            <value> <string>SupportRequest_init</string> </value>
         </item>
         <item>
             <key> <string>permission</string> </key>
-            <value> <string></string> </value>
+            <value>
+              <none/>
+            </value>
         </item>
         <item>
             <key> <string>title</string> </key>
@@ -60,4 +78,38 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/SupportRequest_afterClone.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/SupportRequest_afterClone.xml
new file mode 100644
index 0000000000..49ff3d5ff4
--- /dev/null
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/SupportRequest_afterClone.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>context.SupportRequest_init()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SupportRequest_afterClone</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/SupportRequest_init.xml b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/SupportRequest_init.xml
new file mode 100644
index 0000000000..8474bed708
--- /dev/null
+++ b/bt5/erp5_crm/SkinTemplateItem/portal_skins/erp5_crm/SupportRequest_init.xml
@@ -0,0 +1,123 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># Define Reference from ID\n
+support_request_id = context.getId()\n
+context.setReference("SR-%s" % support_request_id)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>**kw</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>support_request_id</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>SupportRequest_init</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_crm/bt/change_log b/bt5/erp5_crm/bt/change_log
index 3eb46031bb..9d48f14482 100644
--- a/bt5/erp5_crm/bt/change_log
+++ b/bt5/erp5_crm/bt/change_log
@@ -1,3 +1,6 @@
+2010-10-14 lucas
+* Generate reference automatically for Support Request.
+
 2010-08-19 lucas
 * Added Codification Property Sheet on Support Request portal type, to avoid setCodification error during clone.
 
diff --git a/bt5/erp5_crm/bt/revision b/bt5/erp5_crm/bt/revision
index 4f09af7132..5f5c389834 100644
--- a/bt5/erp5_crm/bt/revision
+++ b/bt5/erp5_crm/bt/revision
@@ -1 +1 @@
-492
\ No newline at end of file
+496
\ No newline at end of file
-- 
2.30.9


From 943f9ce87f6910672a71f025b3b3b6fef5085157 Mon Sep 17 00:00:00 2001
From: Lucas Carvalho <lucas@nexedi.com>
Date: Thu, 14 Oct 2010 23:18:31 +0000
Subject: [PATCH 095/163] Added a new test to check if the Support Request has
 the reference generated automatically.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39207 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testCRM.py | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/product/ERP5/tests/testCRM.py b/product/ERP5/tests/testCRM.py
index 6eba62a4d1..95c629edf2 100644
--- a/product/ERP5/tests/testCRM.py
+++ b/product/ERP5/tests/testCRM.py
@@ -365,6 +365,29 @@ class TestCRM(BaseTestCRM):
       self.assertEqual(new_event.getTextContent(), '> Event Content')
       self.assertEqual(new_event.getTitle(), 'Re: Event Title')
 
+  def test_SupportRequest_referenceAutomaticallyGenerated(self):
+    """
+      When you create or clone a Support Request document, it must 
+      have the reference generated automatically.
+    """
+    portal_type = "Support Request"
+    title = "Title of the Support Request"
+    content = "This is the content of the Support Request"
+    module = self.portal.support_request_module
+    support_request = module.newContent(portal_type=portal_type,
+                                        title=title,)
+    self.stepTic()
+
+    self.assertNotEquals(None, support_request.getReference())
+
+    new_support_request = support_request.Base_createCloneDocument(
+                                                                 batch_mode=1)
+    self.assertEquals(new_support_request.getTitle(), title)
+    self.assertNotEquals(None, support_request.getReference())
+    self.assertNotEquals(support_request.getReference(), 
+                                        new_support_request.getReference())
+
+
 
 class TestCRMMailIngestion(BaseTestCRM):
   """Test Mail Ingestion for standalone CRM.
-- 
2.30.9


From 3a7c47577aaad18c57ff0e6095fc9e46daaa7f58 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Fri, 15 Oct 2010 03:04:47 +0000
Subject: [PATCH 096/163] 2010-10-15 nicolas.dumazet * No restrictions on
 subtypes of Order portal type

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39211 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 bt5/erp5_trade/PortalTypeTemplateItem/portal_types/Order.xml | 4 ++++
 bt5/erp5_trade/bt/change_log                                 | 3 +++
 bt5/erp5_trade/bt/revision                                   | 2 +-
 bt5/erp5_trade/bt/template_portal_type_id_list               | 1 +
 4 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_trade/PortalTypeTemplateItem/portal_types/Order.xml b/bt5/erp5_trade/PortalTypeTemplateItem/portal_types/Order.xml
index 8f82dfbcd6..76c120adc1 100644
--- a/bt5/erp5_trade/PortalTypeTemplateItem/portal_types/Order.xml
+++ b/bt5/erp5_trade/PortalTypeTemplateItem/portal_types/Order.xml
@@ -20,6 +20,10 @@
             <key> <string>factory</string> </key>
             <value> <string>addOrder</string> </value>
         </item>
+        <item>
+            <key> <string>filter_content_types</string> </key>
+            <value> <int>0</int> </value>
+        </item>
         <item>
             <key> <string>group_list</string> </key>
             <value>
diff --git a/bt5/erp5_trade/bt/change_log b/bt5/erp5_trade/bt/change_log
index f623f4c8c2..220acfeddb 100644
--- a/bt5/erp5_trade/bt/change_log
+++ b/bt5/erp5_trade/bt/change_log
@@ -1,3 +1,6 @@
+2010-10-15 nicolas.dumazet
+* No restrictions on subtypes of Order portal type
+
 2010-09-30 nicolas.dumazet
 * Add abstract Order portal type to be able to create temporary documents of Order portal type.
 
diff --git a/bt5/erp5_trade/bt/revision b/bt5/erp5_trade/bt/revision
index a88135ee83..40b9b19206 100644
--- a/bt5/erp5_trade/bt/revision
+++ b/bt5/erp5_trade/bt/revision
@@ -1 +1 @@
-988
\ No newline at end of file
+990
\ No newline at end of file
diff --git a/bt5/erp5_trade/bt/template_portal_type_id_list b/bt5/erp5_trade/bt/template_portal_type_id_list
index 1744acb304..db96f9326c 100644
--- a/bt5/erp5_trade/bt/template_portal_type_id_list
+++ b/bt5/erp5_trade/bt/template_portal_type_id_list
@@ -22,6 +22,7 @@ Inventory
 Inventory Cell
 Inventory Line
 Inventory Module
+Order
 Order Root Simulation Rule
 Order Rule
 Payment Condition
-- 
2.30.9


From 76a9d70774803fe5abb7946392e50b24563a9d79 Mon Sep 17 00:00:00 2001
From: Nicolas Dumazet <nicolas.dumazet@nexedi.com>
Date: Fri, 15 Oct 2010 06:17:03 +0000
Subject: [PATCH 097/163] you must use custom python and not systemwide python
 here

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39212 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/README.txt | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/buildout/README.txt b/buildout/README.txt
index 96c8def2ee..7a946a5640 100644
--- a/buildout/README.txt
+++ b/buildout/README.txt
@@ -100,11 +100,11 @@ parts =
 software_home = /home/MYUSER/erp5.buildout
 ^D
 $ ~/erp5.buildout/bin/python2.4 bootstrap/bootstrap.py -c my_instances.cfg
-$ python -S bin/buildout -c my_instances.cfg
+$ ~/erp5.buildout/bin/python2.4 -S bin/buildout -c my_instances.cfg
 $ var/bin/supervisord # it will start supervisor and configured software
 $ $EDITOR my_instances.cfg
 # add "runUnitTest" and "development-site" to parts
-$ python -S bin/buildout -c my_instances.cfg
+$ ~/erp5.buildout/bin/python2.4 -S bin/buildout -c my_instances.cfg
 
 Fully configured development instance will be available in var/development-site.
 
-- 
2.30.9


From e847dd3cd810c6d15182f84a3b09783b3e084a30 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 15 Oct 2010 06:28:09 +0000
Subject: [PATCH 098/163] Be consistent for "Log in" link. CSS fix.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39213 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/WebSite_viewUserInformationWidget.xml      | 2 +-
 .../portal_skins/erp5_km_theme/km_css/layout.css.xml         | 5 +++++
 bt5/erp5_km/bt/revision                                      | 2 +-
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewUserInformationWidget.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewUserInformationWidget.xml
index 36685d637a..770fff872e 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewUserInformationWidget.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewUserInformationWidget.xml
@@ -73,7 +73,7 @@
      tal:attributes="href string:${portal_path}/login_form"\n
      i18n:translate="" i18n:domain="ui"\n
      i18n:attributes="title"\n
-     title="Log in">Login</a>\n
+     title="Log in">Log in</a>\n
 </tal:block>\n
 \n
 </tal:block>\n
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
index 90979256ca..4f69f2fb67 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
@@ -1006,6 +1006,11 @@ form p,\n
   margin-left: 10px;\n
 \n
 }\n
+\n
+div.search_text{\n
+  margin-right: 4px;\n
+}\n
+\n
 .meta input.search_text:focus {color:#000000;}\n
 \n
 .meta input.search_button {\n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 3dfef23a19..f5624aeaec 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1598
\ No newline at end of file
+1600
\ No newline at end of file
-- 
2.30.9


From 0a89e89e6151e3a3f6102998d81314383908f52e Mon Sep 17 00:00:00 2001
From: Nicolas Delaby <nicolas@nexedi.com>
Date: Fri, 15 Oct 2010 08:22:25 +0000
Subject: [PATCH 099/163] Fix typo, do not pass self as argument

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39214 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/mixin/cached_convertable.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/mixin/cached_convertable.py b/product/ERP5/mixin/cached_convertable.py
index 914cd780fd..196e98727e 100644
--- a/product/ERP5/mixin/cached_convertable.py
+++ b/product/ERP5/mixin/cached_convertable.py
@@ -93,7 +93,7 @@ class CachedConvertableMixin:
   def generateCacheId(self, **kw):
     """
     """
-    return self._getCacheKey(self, **kw)
+    return self._getCacheKey(**kw)
 
   def _getCacheKey(self, **kw):
     """
-- 
2.30.9


From d1c0286477a5c9d8c9125052d48100d8b064f5f4 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Fri, 15 Oct 2010 08:40:58 +0000
Subject: [PATCH 100/163] Fix retrieval of catalog tool for unwrapped objects

This reverts 39157 & 39184 partially.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39215 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/CopySupport.py             | 7 +++++--
 product/ERP5Type/patches/CMFCatalogAware.py | 3 ++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/product/ERP5Type/CopySupport.py b/product/ERP5Type/CopySupport.py
index bfe17056d1..2c3114f35b 100644
--- a/product/ERP5Type/CopySupport.py
+++ b/product/ERP5Type/CopySupport.py
@@ -360,8 +360,11 @@ class CopyContainer:
           Unindex the object from the portal catalog.
       """
       if self.isIndexable:
-        catalog = getattr(self.getPortalObject(), 'portal_catalog', None)
-        if catalog is not None:
+        try:
+          catalog = self.getPortalObject().portal_catalog
+        except AttributeError:
+          pass
+        else:
           # Make sure there is not activity for this object
           self.flushActivity(invoke=0)
           uid = getattr(self,'uid',None)
diff --git a/product/ERP5Type/patches/CMFCatalogAware.py b/product/ERP5Type/patches/CMFCatalogAware.py
index b058220e3f..98d466a6f0 100644
--- a/product/ERP5Type/patches/CMFCatalogAware.py
+++ b/product/ERP5Type/patches/CMFCatalogAware.py
@@ -16,6 +16,7 @@
 
 from Products.CMFCore.CMFCatalogAware import CMFCatalogAware
 from Acquisition import aq_base
+from Products.CMFCore.utils import getToolByName
 
 def reindexObject(self, idxs=[], *args, **kw):
     """
@@ -30,7 +31,7 @@ def reindexObject(self, idxs=[], *args, **kw):
         # Update the modification date.
         if getattr(aq_base(self), 'notifyModified', None) is not None:
             self.notifyModified()
-    catalog = getattr(self.getPortalObject(), 'portal_catalog', None)
+    catalog = getToolByName(self, 'portal_catalog', None)
     if catalog is not None:
         catalog.reindexObject(self, idxs=idxs, *args, **kw)
 
-- 
2.30.9


From 77cece36d3052aa4e2c811a7955adb0719d04f43 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 15 Oct 2010 09:01:58 +0000
Subject: [PATCH 101/163] Make it possible to choose style of switching to
 different language using a Web Site configuration

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39216 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...ection_viewKMMinimalThemeConfiguration.xml |   6 +-
 .../my_layout_display_language_icons.xml      | 101 ++++++++++++++++++
 .../WebSite_viewLanguageSelectionWidget.xml   |  22 ++--
 .../erp5_km_theme/km_css/layout.css.xml       |  14 ++-
 bt5/erp5_km/bt/revision                       |   2 +-
 5 files changed, 128 insertions(+), 17 deletions(-)
 create mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewKMMinimalThemeConfiguration/my_layout_display_language_icons.xml

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewKMMinimalThemeConfiguration.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewKMMinimalThemeConfiguration.xml
index 4d9310a419..b6c6f2efe4 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewKMMinimalThemeConfiguration.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewKMMinimalThemeConfiguration.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -107,6 +104,7 @@
                         <string>my_layout_navigation_menu_indent</string>
                         <string>my_layout_navigation_menu_opacity</string>
                         <string>my_layout_all_languages</string>
+                        <string>my_layout_display_language_icons</string>
                         <string>my_layout_all_versions</string>
                         <string>my_layout_max_breadcrumb_length</string>
                       </list>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewKMMinimalThemeConfiguration/my_layout_display_language_icons.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewKMMinimalThemeConfiguration/my_layout_display_language_icons.xml
new file mode 100644
index 0000000000..7bbb5813d1
--- /dev/null
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSection_viewKMMinimalThemeConfiguration/my_layout_display_language_icons.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>default</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_layout_display_language_icons</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_checkbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Show language national flag icons</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewLanguageSelectionWidget.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewLanguageSelectionWidget.xml
index e3eb43ad7e..5e3ad09cfa 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewLanguageSelectionWidget.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/WebSite_viewLanguageSelectionWidget.xml
@@ -2,16 +2,13 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
     </pickle>
     <pickle>
       <dictionary>
         <item>
             <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>web_site_user_ram_cache</string> </value>
+            <value> <string>web_section_user_ram_cache</string> </value>
         </item>
         <item>
             <key> <string>_bind_names</string> </key>
@@ -53,20 +50,27 @@
 <tal:block tal:define="current_web_site python:request.get(\'current_web_site\', here);\n
                        portal_path python:request.get(\'current_web_site_url\', current_web_site.absolute_url());\n
                        available_language_list current_web_site/getAvailableLanguageList;\n
-                       language_list current_web_site/Localizer/get_languages_map;"\n
+                       language_list current_web_site/Localizer/get_languages_map;\n
+                       display_language_icons python:here.getLayoutProperty(\'layout_display_language_icons\', True);"\n
            tal:condition="python:len(language_list) > 1">\n
+\n
   <ul class="language_box">\n
     <tal:block tal:repeat="language language_list">\n
       <li tal:define="language_id language/id"\n
           tal:condition="python:language_id in available_language_list">\n
         <a href="" class="selected"\n
             tal:attributes="href string:${portal_path}/Base_doLanguage?select_language=${language_id};\n
-                            class python:int(language[\'selected\']) * \'selected\' or \'not_selected\'">\n
-          <img alt="language/id" src="${portal_path}/km_img/icon_lang_en.png"\n
-               tal:define="title python:here.Localizer.erp5_ui.gettext(language[\'title\'], lang=language[\'id\'])"\n
+                            class python:int(language[\'selected\']) * \'selected\' or \'not_selected\'"\n
+            tal:define="title python:here.Localizer.erp5_ui.gettext(language[\'title\'], lang=language[\'id\'])">\n
+          <img src="${portal_path}/km_img/icon_lang_en.png"\n
+               tal:condition="display_language_icons"\n
                tal:attributes="src string:${portal_path}/km_img/icon_lang_${language_id}.png;\n
                                title title;\n
                                alt title" />\n
+          <span tal:condition="not: display_language_icons"\n
+                tal:content="language_id"\n
+                tal:attributes="title title;\n
+                                alt title"/>\n
         </a>\n
       </li>\n
     </tal:block>\n
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
index 4f69f2fb67..18c88f8995 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
@@ -504,7 +504,6 @@ ul.widget_management_box li{\n
   display: block;\n
 }\n
 ul.language_box li {\n
-\n
 \tfloat:left;\n
 \tmargin: 0 2px;\n
 \n
@@ -519,12 +518,11 @@ ul.language_box img {\n
   opacity:0.7;\n
 }\n
 \n
+/* Language icon */\n
 ul.language_box .selected img {\n
-\n
   padding:2px;\n
   border:1px solid #808080;\n
   opacity:1;\n
-\n
 }\n
 \n
 ul.language_box .not_selected img:hover{\n
@@ -532,6 +530,16 @@ ul.language_box .not_selected img:hover{\n
   padding:2px;\n
 }\n
 \n
+/* Language strings */\n
+ul.language_box .not_selected span,\n
+ul.language_box .selected span {\n
+  color:gray;\n
+}\n
+ul.language_box .selected span{\n
+  text-decoration:underline;\n
+  text-shadow:none;\n
+}\n
+\n
 ul.widget_management_box{\tpadding: 0 0px 0 0;}\n
 \n
 ul.widget_management_box a {float:left;}\n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index f5624aeaec..54d8728c18 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1600
\ No newline at end of file
+1601
\ No newline at end of file
-- 
2.30.9


From 0370336bdfb0207648c1c6c139bd47d14a65b60f Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Fri, 15 Oct 2010 09:18:35 +0000
Subject: [PATCH 102/163] ERP5Type.Message: fix retrieval of portal

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39217 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testPerson.py |  2 --
 product/ERP5Type/Message.py      | 25 ++++++++++++-------------
 2 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/product/ERP5/tests/testPerson.py b/product/ERP5/tests/testPerson.py
index 0efef54fe2..4701a60957 100644
--- a/product/ERP5/tests/testPerson.py
+++ b/product/ERP5/tests/testPerson.py
@@ -179,8 +179,6 @@ class TestPerson(ERP5TypeTestCase):
   def testPreferenceInteractionWorkflow(self):
     """ when setting reference, a script create preference is
         called by activities, check this behavior. """
-    if not run:
-      return
     person_module = self.getPersonModule()
     title = "Séb"
     person = person_module.newContent(portal_type='Person', title=title)
diff --git a/product/ERP5Type/Message.py b/product/ERP5Type/Message.py
index 657e052f84..a4161292b8 100644
--- a/product/ERP5Type/Message.py
+++ b/product/ERP5Type/Message.py
@@ -84,6 +84,8 @@ except ImportError:
 
   getGlobalTranslationService = GlobalTranslationService
 
+translation_service_translate = getGlobalTranslationService().translate
+
 from Products.ERP5Type import Globals
 from cPickle import dumps, loads
 
@@ -135,31 +137,28 @@ class Message(Persistent):
     the return value is a string object. If it is a unicode object,
     the return value is a unicode object.
     """
-    request = Globals.get_request()
-    if request is not None:
-      context = request['PARENTS'][0]
-      translation_service = getGlobalTranslationService()
-
     message = self.message
-    if self.domain is None or request is None or translation_service is None :
+    if self.domain is None:
       # Map the translated string with given parameters
-      if type(self.mapping) is type({}):
+      if type(self.mapping) is dict:
         if isinstance(message, unicode) :
           message = message.encode('utf-8')
         message = Template(message).substitute(self.mapping)
     else:
-      translated_message = translation_service.translate(
+      from Products.ERP5.ERP5Site import getSite
+      translated_message = translation_service_translate(
                                              self.domain,
-                                             self.message,
+                                             message,
                                              mapping=self.mapping,
-                                             context=context,
+                                             context=getSite(),
                                              default=self.default)
       if translated_message is not None:
         message = translated_message
 
-    if isinstance(self.message, str) and isinstance(message, unicode):
-      message = message.encode('utf-8')
-    elif isinstance(self.message, unicode) and isinstance(message, str):
+    if isinstance(self.message, str):
+      if isinstance(message, unicode):
+        message = message.encode('utf-8')
+    elif isinstance(message, str):
       message = message.decode('utf-8')
 
     return message
-- 
2.30.9


From 7ee02004cb2700e104671b12403bf968fa322f75 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 15 Oct 2010 09:30:01 +0000
Subject: [PATCH 103/163] remove a duplicate

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39218 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/Document.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/Document/Document.py b/product/ERP5/Document/Document.py
index b7cb7a887e..cb8402ad4c 100644
--- a/product/ERP5/Document/Document.py
+++ b/product/ERP5/Document/Document.py
@@ -76,7 +76,7 @@ VALID_IMAGE_FORMAT_LIST = ('jpg', 'jpeg', 'png', 'gif', 'pnm', 'ppm', 'tiff')
 
 DEFAULT_DISPLAY_ID_LIST = ('nano', 'micro', 'thumbnail',
                             'xsmall', 'small', 'medium',
-                            'large', 'large', 'xlarge',)
+                            'large', 'xlarge',)
 # default image quality
 DEFAULT_IMAGE_QUALITY = 75
 
-- 
2.30.9


From 8759876ebf48f95d98362e8981a0e1cffb9c577e Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Fri, 15 Oct 2010 09:39:35 +0000
Subject: [PATCH 104/163] ERP5Type.Message: get a portal that is wrapped in a
 request container

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39219 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/ERP5Site.py    | 11 ++++++-----
 product/ERP5Type/Message.py |  3 ++-
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/product/ERP5/ERP5Site.py b/product/ERP5/ERP5Site.py
index 8c30df2cbe..5883d355a1 100644
--- a/product/ERP5/ERP5Site.py
+++ b/product/ERP5/ERP5Site.py
@@ -22,6 +22,7 @@ from Products.ERP5Type.Globals import package_home
 
 from Products.SiteErrorLog.SiteErrorLog import manage_addErrorLog
 from ZPublisher import BeforeTraverse
+from ZPublisher.BaseRequest import RequestContainer
 from AccessControl import ClassSecurityInfo
 from Products.CMFDefault.Portal import CMFSite
 from Products.CMFCore.utils import getToolByName
@@ -189,13 +190,13 @@ class _site(threading.local):
     self = threading.local.__new__(cls)
     return self.__get, self.__set
 
-  def __get(self):
-    """Returns the currently processed site
-
-    XXX The returned site is not wrapped in a request.
+  def __get(self, REQUEST=None):
+    """Returns the currently processed site, optionally wrapped in a request
     """
     app, site_id = self.site[-1]
-    return getattr(app(), site_id)
+    if REQUEST is None:
+      return getattr(app(), site_id)
+    return getattr(app().__of__(RequestContainer(REQUEST=REQUEST)), site_id)
 
   def __set(self, site):
     app = aq_base(site.aq_parent)
diff --git a/product/ERP5Type/Message.py b/product/ERP5Type/Message.py
index a4161292b8..1f6fdb4b61 100644
--- a/product/ERP5Type/Message.py
+++ b/product/ERP5Type/Message.py
@@ -146,11 +146,12 @@ class Message(Persistent):
         message = Template(message).substitute(self.mapping)
     else:
       from Products.ERP5.ERP5Site import getSite
+      request = Globals.get_request()
       translated_message = translation_service_translate(
                                              self.domain,
                                              message,
                                              mapping=self.mapping,
-                                             context=getSite(),
+                                             context=getSite(request),
                                              default=self.default)
       if translated_message is not None:
         message = translated_message
-- 
2.30.9


From 1538070d1c228de32e215c05af30a4ecfab91443 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 15 Oct 2010 09:45:37 +0000
Subject: [PATCH 105/163] modify ImageField: * 'image_display' parameter is no
 longer required. the image will not be resized if this parameter is empty. *
 'resolution' parater is now respected. it was just ignored before. * creates
 a shorter URL.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39220 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Form/ImageField.py | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/product/ERP5Form/ImageField.py b/product/ERP5Form/ImageField.py
index 98f55a119d..f5024cb7a8 100644
--- a/product/ERP5Form/ImageField.py
+++ b/product/ERP5Form/ImageField.py
@@ -32,9 +32,7 @@ from Products.Formulator.Field import ZMIField
 from Products.Formulator.DummyField import fields
 from OFS.Image import Image as OFSImage
 from lxml.etree import Element
-from Acquisition import aq_base
 from lxml import etree
-from decimal import Decimal
 import re
 
 DRAW_URI = 'urn:oasis:names:tc:opendocument:xmlns:drawing:1.0'
@@ -66,7 +64,7 @@ class ImageFieldWidget(Widget.TextWidget):
         "The display size. See ERP5.Document.Image.default_displays_id_list "
         "for possible values. This is only used with ERP5 Images."),
                                default='thumbnail',
-                               required=1)
+                               required=0)
 
     image_format = fields.StringField('image_format',
                                title='Image Format',
@@ -100,13 +98,18 @@ class ImageFieldWidget(Widget.TextWidget):
               field.get_value('title')
         css_class = field.get_value('css_class')
         extra = field.get_value('extra')
-        display = field.get_value('image_display')
-        format = field.get_value('image_format')
-        resolution = field.get_value('image_resolution')
+        options = {}
+        options['display'] = field.get_value('image_display')
+        options['format'] = field.get_value('image_format')
+        options['resolution'] = field.get_value('image_resolution')
+        parameters = '&'.join(['%s=%s' % (k, v) for k, v in options.items() \
+                               if v])
+        if parameters:
+            image = '%s?%s' % (image, parameters)
         return Widget.render_element(
             "img",
             alt=alt,
-            src="%s?display=%s&format=%s&" % (image, display, format),
+            src=image,
             css_class=css_class,
             extra=extra,
         )
-- 
2.30.9


From d2ed5010ac3be002534cf5947220e46ebd3a10a6 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 15 Oct 2010 10:27:14 +0000
Subject: [PATCH 106/163] Publish web site so anonymous user may access it.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39222 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_ui_test/WebSiteModule_createKMSite.xml          | 6 ++++++
 bt5/erp5_km_ui_test/bt/revision                             | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSiteModule_createKMSite.xml b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSiteModule_createKMSite.xml
index 12f1db4a0c..b2af0649ce 100644
--- a/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSiteModule_createKMSite.xml
+++ b/bt5/erp5_km_ui_test/SkinTemplateItem/portal_skins/erp5_km_ui_test/WebSiteModule_createKMSite.xml
@@ -58,6 +58,11 @@ portal = context.getPortalObject()\n
 # setup DMS settings\n
 portal.Zuite_setupDMS()\n
 \n
+# publish web site so anonymous user may access it\n
+km_web_site = portal.web_site_module.km_test_web_site\n
+if km_web_site.getValidationState()!=\'published\':\n
+  km_web_site.publish()\n
+\n
 # publish the test web page so we can use it in tests for setting default WEb Section page\n
 for reference in (\'minimal_km_footer\', \'km.web.site.test.page\',):\n
   km_page = portal.portal_catalog.getResultValue(portal_type = \'Web Page\',\n
@@ -127,6 +132,7 @@ return "Created Successfully."\n
                             <string>_getattr_</string>
                             <string>context</string>
                             <string>portal</string>
+                            <string>km_web_site</string>
                             <string>_getiter_</string>
                             <string>reference</string>
                             <string>km_page</string>
diff --git a/bt5/erp5_km_ui_test/bt/revision b/bt5/erp5_km_ui_test/bt/revision
index 1bda760653..8d9f781b52 100644
--- a/bt5/erp5_km_ui_test/bt/revision
+++ b/bt5/erp5_km_ui_test/bt/revision
@@ -1 +1 @@
-117
\ No newline at end of file
+118
\ No newline at end of file
-- 
2.30.9


From 0a75a9e841bba8e1a508915967f6043de32dd13d Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 15 Oct 2010 11:05:13 +0000
Subject: [PATCH 107/163] No need to encode to utf-8 explicitly, if there's a
 bug (i.e. non utf-8 data provided or generated we must not hide it this way).

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39223 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_base/Base_getSummaryAsHTML.xml           | 3 ++-
 bt5/erp5_base/bt/revision                                      | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getSummaryAsHTML.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getSummaryAsHTML.xml
index 74aa8592db..c9863a65dc 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getSummaryAsHTML.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getSummaryAsHTML.xml
@@ -86,7 +86,8 @@ url = context.absolute_url()\n
 title = context.getTitle() or (hasattr(context, \'getReference\') and context.getReference()) or context.getId()\n
 portal_type = context.getTranslatedPortalType()\n
 website = context.REQUEST.get(\'current_web_site\', context.getWebSiteValue())\n
-popup = (context.Document_getPopupInfo(website) or \'\').encode(\'utf-8\')\n
+\n
+popup = context.Document_getPopupInfo(website) or \'\'\n
 \n
 found = context.Base_showFoundText()\n
 owner_html = getOwnerHTML(context) or \'\'\n
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index f30735b327..6a806a9a43 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-884
\ No newline at end of file
+885
\ No newline at end of file
-- 
2.30.9


From f011415161a5de7cde6e9aece719224fb8011dba Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 15 Oct 2010 11:20:05 +0000
Subject: [PATCH 108/163] modify full_sized_image field: * do not specify
 'display' parameter, because it is 'full sized' image. * specify 'format=png'
 parameter to support formats that cannot be displayed in the browser. *
 disable if the document does not yet have data.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39224 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../my_full_sized_image.xml                   | 36 +++++++++++--------
 bt5/erp5_base/bt/revision                     |  2 +-
 2 files changed, 22 insertions(+), 16 deletions(-)

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/File_viewFieldLibrary/my_full_sized_image.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/File_viewFieldLibrary/my_full_sized_image.xml
index 200222d6a1..636304121e 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/File_viewFieldLibrary/my_full_sized_image.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/File_viewFieldLibrary/my_full_sized_image.xml
@@ -2,10 +2,7 @@
 <ZopeData>
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
-      <tuple>
-        <global name="ImageField" module="Products.ERP5Form.ImageField"/>
-        <tuple/>
-      </tuple>
+      <global name="ImageField" module="Products.ERP5Form.ImageField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -155,7 +152,9 @@
                 </item>
                 <item>
                     <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
                 </item>
                 <item>
                     <key> <string>external_validator</string> </key>
@@ -258,15 +257,15 @@
                 </item>
                 <item>
                     <key> <string>image_display</string> </key>
-                    <value> <string>medium</string> </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>image_format</string> </key>
-                    <value> <string></string> </value>
+                    <value> <string>png</string> </value>
                 </item>
                 <item>
                     <key> <string>image_resolution</string> </key>
-                    <value> <int>75</int> </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>max_length</string> </key>
@@ -300,13 +299,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -317,4 +310,17 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>here/hasData</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 6a806a9a43..d4f7b8f432 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-885
\ No newline at end of file
+886
\ No newline at end of file
-- 
2.30.9


From ad9292f9a7794ff3f718c5a8e094ca3a34ed9a0f Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Fri, 15 Oct 2010 11:33:16 +0000
Subject: [PATCH 109/163] Better infrastructure for writing state cleaners for
 pickles. Includes the cleaner for ZPTs, making them look like their Zope 2.12
 counterpart

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39225 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/patches/XMLExportImport.py | 46 +++++++++++++++++----
 1 file changed, 37 insertions(+), 9 deletions(-)

diff --git a/product/ERP5Type/patches/XMLExportImport.py b/product/ERP5Type/patches/XMLExportImport.py
index 00d1459683..0a139fbdff 100644
--- a/product/ERP5Type/patches/XMLExportImport.py
+++ b/product/ERP5Type/patches/XMLExportImport.py
@@ -70,20 +70,48 @@ from ExtensionClass import Base
 Base__getnewargs__ = getattr(Base, '__getnewargs__', None)
 if Base__getnewargs__ is None:
   is_old_btree = lambda pickle: None
-  def maybeSimplifyClass(klass):
-    return klass
+  def getCleanClass(classdef):
+    return classdef
 else:
   is_old_btree = re.compile('cBTrees\\._(..)BTree\n(\\1)BTree\n').match
-  def maybeSimplifyClass(klass):
-    if isinstance(klass, tuple):
-      pureclass, newargs = klass
+  def getCleanClass(classdef):
+    if isinstance(classdef, tuple):
+      pureclass, newargs = classdef
       if (newargs == () and
           not isinstance(pureclass, tuple) and
           getattr(pureclass, '__getnewargs__', None) is Base__getnewargs__):
         return pureclass
-    return klass
+    return classdef
 # END ExtensionClass.Base.__getnewargs__ XML simplification
 
+from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
+
+PICKLE_CLEANERS = {}
+
+class cleaner_for(object):
+
+    def __init__(self, classdef):
+        self.classdef = classdef
+
+    def __call__(self, callable):
+        PICKLE_CLEANERS[self.classdef] = callable
+        return callable
+
+# BBB: Remove this cleaner when we drop support for Zope 2.8
+@cleaner_for(ZopePageTemplate)
+def cleanup_ZopePageTemplate(state):
+    if isinstance(state.get('_text'), str):
+        state['_text'] = unicode(state['_text'], 'utf-8')
+        state['output_encoding'] = 'utf-8'
+    if isinstance(state.get('title'), str):
+        state['title'] = unicode(state['title'], 'utf-8')
+
+def cleanupState(classdef, state):
+    classdef = getCleanClass(classdef)
+    cleanupState = PICKLE_CLEANERS.get(classdef, lambda state: None)
+    cleanupState(state)
+    return classdef, state
+
 def reorderPickle(jar, p):
     from ZODB.ExportImport import Ghost, Unpickler, Pickler, StringIO, persistent_id
 
@@ -119,10 +147,10 @@ def reorderPickle(jar, p):
     pickler=OrderedPickler(newp,1)
     pickler.persistent_id=persistent_id
 
-    klass = unpickler.load()
-    klass = maybeSimplifyClass(klass)
-    pickler.dump(klass)
+    classdef = unpickler.load()
     obj = unpickler.load()
+    classdef, obj = cleanupState(classdef, obj)
+    pickler.dump(classdef)
     pickler.dump(obj)
     p=newp.getvalue()
     if is_old_btree(p):
-- 
2.30.9


From 4cd7c2886a20eee854691a7f7a5b90c2e2b568d6 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 15 Oct 2010 11:59:27 +0000
Subject: [PATCH 110/163] Revert r39223 ass due to different Zope PT's
 implementation we require explicit conversion.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39226 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_base/Base_getSummaryAsHTML.xml          | 4 ++++
 bt5/erp5_base/bt/revision                                     | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getSummaryAsHTML.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getSummaryAsHTML.xml
index c9863a65dc..820f94f939 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getSummaryAsHTML.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/Base_getSummaryAsHTML.xml
@@ -88,6 +88,8 @@ portal_type = context.getTranslatedPortalType()\n
 website = context.REQUEST.get(\'current_web_site\', context.getWebSiteValue())\n
 \n
 popup = context.Document_getPopupInfo(website) or \'\'\n
+if isinstance(popup, unicode):\n
+  popup = popup.encode(\'utf-8\')\n
 \n
 found = context.Base_showFoundText()\n
 owner_html = getOwnerHTML(context) or \'\'\n
@@ -191,6 +193,8 @@ return html\n
                             <string>title</string>
                             <string>portal_type</string>
                             <string>popup</string>
+                            <string>isinstance</string>
+                            <string>unicode</string>
                             <string>found</string>
                             <string>owner_html</string>
                             <string>date_renderer</string>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index d4f7b8f432..9d5369769d 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-886
\ No newline at end of file
+887
\ No newline at end of file
-- 
2.30.9


From dc1a6ebfaf623637ab46028f3e3ba9fb227520b8 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 15 Oct 2010 12:30:46 +0000
Subject: [PATCH 111/163] * disable if the document does not yet have data.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39227 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Base_viewFieldLibrary/my_thumbnail.xml    | 27 ++++++++++++-------
 product/ERP5/bootstrap/erp5_core/bt/revision  |  2 +-
 2 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewFieldLibrary/my_thumbnail.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewFieldLibrary/my_thumbnail.xml
index 83562c9a3b..a5e30759c6 100644
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewFieldLibrary/my_thumbnail.xml
+++ b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Base_viewFieldLibrary/my_thumbnail.xml
@@ -152,7 +152,9 @@
                 </item>
                 <item>
                     <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
                 </item>
                 <item>
                     <key> <string>external_validator</string> </key>
@@ -263,7 +265,7 @@
                 </item>
                 <item>
                     <key> <string>image_resolution</string> </key>
-                    <value> <int>75</int> </value>
+                    <value> <string></string> </value>
                 </item>
                 <item>
                     <key> <string>max_length</string> </key>
@@ -297,13 +299,7 @@
   </record>
   <record id="2" aka="AAAAAAAAAAI=">
     <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
     </pickle>
     <pickle>
       <dictionary>
@@ -314,4 +310,17 @@
       </dictionary>
     </pickle>
   </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>here/hasData</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
 </ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index 7ffcb4ea9b..22dbbf0601 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-1744
\ No newline at end of file
+1745
\ No newline at end of file
-- 
2.30.9


From b533fe2c070fc7e86b74cce2e94e5d3b5408809e Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 15 Oct 2010 12:48:21 +0000
Subject: [PATCH 112/163] CSS fixes to support better different browsers.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39228 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/km_css/layout.css.xml             | 13 +++++++++----
 bt5/erp5_km/bt/revision                             |  2 +-
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
index 18c88f8995..44a13aa4df 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
@@ -38,7 +38,7 @@
         </item>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
+            <value> <unicode encoding="cdata"><![CDATA[
 
 /****************************************************************/\n
 /*   TODO: XXX-JPS                                              */\n
@@ -1002,16 +1002,17 @@ form p,\n
 .meta div.input > select {\n
   border: none;\n
   margin-left:0.1em;\n
+  height: 20px;\n
 }\n
 \n
 .meta input.search_text {\n
 \n
   color:#777777;\n
-  padding:2px;\n
   font-size:1em;\n
   border: none;\n
   width: 120px;\n
   margin-left: 10px;\n
+  height: 18px\n
 \n
 }\n
 \n
@@ -1609,7 +1610,7 @@ div.pdf-preview-navigation img.last{\n
   width: 5px;\n
 }
 
-]]></string> </value>
+]]></unicode> </value>
         </item>
         <item>
             <key> <string>content_type</string> </key>
@@ -1623,9 +1624,13 @@ div.pdf-preview-navigation img.last{\n
             <key> <string>id</string> </key>
             <value> <string>layout.css</string> </value>
         </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string></string> </value>
+            <value> <unicode></unicode> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 54d8728c18..79dc632f8e 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1601
\ No newline at end of file
+1603
\ No newline at end of file
-- 
2.30.9


From b657438574660111663452c310d4007d62b70171 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 15 Oct 2010 12:52:32 +0000
Subject: [PATCH 113/163]  - as mysql listens on 0.0.0.0, this command needs to
 connect ro    127.0.0.1

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39229 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/README-2.12.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildout/README-2.12.txt b/buildout/README-2.12.txt
index ed97cd3aa5..d1ccac80f6 100644
--- a/buildout/README-2.12.txt
+++ b/buildout/README-2.12.txt
@@ -145,7 +145,7 @@ $ bin/supervisord                   # 6
 Also, we need databases in the mysql server that correspond to both the ERP5
 instance we're going to create, and the testrunner we will want to run:
 
-$ var/bin/mysql -u root
+$ var/bin/mysql -h 127.0.0.1 -u root
 mysql> create database development_site;
 mysql> grant all privileges on development_site.* to 'development_user'@'localhost' identified by 'development_password';
 mysql> grant all privileges on development_site.* to 'development_user'@'127.0.0.1' identified by 'development_password';
-- 
2.30.9


From 9c0310a4ecdd17ab828ea54729b8447afcca09d3 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 15 Oct 2010 13:04:28 +0000
Subject: [PATCH 114/163] A business template exported by Python 2.4 may
 contain: <klass>   <global id="xxx" name="_compile" module="sre"/> </klass>

A business template exported by Python 2.6 may contain:
<klass>
  <global id="xxx" name="_compile" module="re"/>
</klass>

Python 2.6 provides 'sre._compile', but Python 2.4 does not provide
're._compile', so we provide re._compile here for the backward
compatilibility.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39230 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/ZopePatch.py        |  1 +
 product/ERP5Type/patches/re_patch.py | 48 ++++++++++++++++++++++++++++
 2 files changed, 49 insertions(+)
 create mode 100644 product/ERP5Type/patches/re_patch.py

diff --git a/product/ERP5Type/ZopePatch.py b/product/ERP5Type/ZopePatch.py
index 10acf4ca40..b29bfcc58c 100644
--- a/product/ERP5Type/ZopePatch.py
+++ b/product/ERP5Type/ZopePatch.py
@@ -66,6 +66,7 @@ from Products.ERP5Type.patches import unicodeconflictresolver
 # dropped support for older versions.
 from Products.ERP5Type.patches import TransactionAddBeforeCommitHook
 from Products.ERP5Type.patches import ZopePageTemplate
+from Products.ERP5Type.patches import re_patch
 
 # These symbols are required for backward compatibility
 from Products.ERP5Type.patches.PropertyManager import ERP5PropertyManager
diff --git a/product/ERP5Type/patches/re_patch.py b/product/ERP5Type/patches/re_patch.py
new file mode 100644
index 0000000000..bd9d2a4f00
--- /dev/null
+++ b/product/ERP5Type/patches/re_patch.py
@@ -0,0 +1,48 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved.
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsibility of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# guarantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+##############################################################################
+
+# A business template exported by Python 2.4 may contain:
+# <klass>
+#   <global id="xxx" name="_compile" module="sre"/>
+# </klass>
+#
+# A business template exported by Python 2.6 may contain:
+# <klass>
+#   <global id="xxx" name="_compile" module="re"/>
+# </klass>
+#
+# Python 2.6 provides 'sre._compile', but Python 2.4 does not provide
+# 're._compile', so we provide re._compile here for the backward
+# compatilibility.
+
+import re
+if not hasattr(re, '_compile'):
+  import sre
+  re._compile = sre._compile
+  del sre
+del re
-- 
2.30.9


From 01d3efdfead64ec3792b482da021c18ad0c7d121 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 15 Oct 2010 13:21:53 +0000
Subject: [PATCH 115/163] Gadgets system still needs "Access Contents
 Information" on web site module to properly work for Anonymous User so revert
 part of r39007 (still Anonymous User will not be able to view
 web_site_module)

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39231 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 bt5/erp5_web/ModuleTemplateItem/web_site_module.xml | 1 +
 bt5/erp5_web/bt/revision                            | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/bt5/erp5_web/ModuleTemplateItem/web_site_module.xml b/bt5/erp5_web/ModuleTemplateItem/web_site_module.xml
index fed8e931fe..449c288fd4 100644
--- a/bt5/erp5_web/ModuleTemplateItem/web_site_module.xml
+++ b/bt5/erp5_web/ModuleTemplateItem/web_site_module.xml
@@ -12,6 +12,7 @@
   </permission>
   <permission type='tuple'>
    <name>Access contents information</name>
+   <role>Anonymous</role>
    <role>Assignee</role>
    <role>Assignor</role>
    <role>Associate</role>
diff --git a/bt5/erp5_web/bt/revision b/bt5/erp5_web/bt/revision
index 0272c1ec6a..a88135ee83 100644
--- a/bt5/erp5_web/bt/revision
+++ b/bt5/erp5_web/bt/revision
@@ -1 +1 @@
-987
\ No newline at end of file
+988
\ No newline at end of file
-- 
2.30.9


From 497e8f38e7d72270b001f3fe2a44f73716cd894f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 15 Oct 2010 13:57:42 +0000
Subject: [PATCH 116/163]  - use erp5.recipe.standaloneinstance in version at
 least 0.4.4, which    fixes critical issue

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39237 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/versions-common.cfg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildout/profiles/versions-common.cfg b/buildout/profiles/versions-common.cfg
index 6a597c5cba..40176827e4 100644
--- a/buildout/profiles/versions-common.cfg
+++ b/buildout/profiles/versions-common.cfg
@@ -19,7 +19,7 @@ z3c.recipe.openoffice = 0.3.1dev2
 # requested
 erp5.recipe.mysqlserver >= 1.1.3
 erp5.recipe.sphinxserver >= 1.0.2
-erp5.recipe.standaloneinstance >= 0.4
+erp5.recipe.standaloneinstance >= 0.4.4
 hexagonit.recipe.cmmi >= 1.3.1
 python-memcached >= 1.45
 xml-marshaller >= 0.9.2
-- 
2.30.9


From 5ca570e9111fef252bd65953ea69f69f33611c84 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Fri, 15 Oct 2010 14:05:25 +0000
Subject: [PATCH 117/163] Fix registration & login page layout.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39239 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_km_theme/km_css/layout.css.xml            | 2 +-
 bt5/erp5_km/bt/revision                                         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
index 44a13aa4df..3f6891b51f 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
@@ -1371,7 +1371,7 @@ div.required label{\n
 /* login form */\n
 fieldset.registration {\n
   float:left;\n
-  width:42.5%;\n
+  width:49.5%;\n
   background-color: #FFFFFF;\n
   margin-right: 0.5%;\n
   height: 775px;\n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 79dc632f8e..ae8c80fb1f 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1603
\ No newline at end of file
+1611
\ No newline at end of file
-- 
2.30.9


From ce6603bf265e4906fcd69817d8363dc1846eee69 Mon Sep 17 00:00:00 2001
From: Nicolas Delaby <nicolas@nexedi.com>
Date: Fri, 15 Oct 2010 14:50:11 +0000
Subject: [PATCH 118/163] typo: s/allready_repaired/already_repaired/

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39240 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/PortalTransforms/transforms/safe_html.py | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/product/PortalTransforms/transforms/safe_html.py b/product/PortalTransforms/transforms/safe_html.py
index 7eb3e35277..1731404233 100644
--- a/product/PortalTransforms/transforms/safe_html.py
+++ b/product/PortalTransforms/transforms/safe_html.py
@@ -346,7 +346,7 @@ class SafeHTML:
             return data
 
         html_string = orig
-        allready_repaired = False
+        already_repaired = False
         while True:
             try:
                 safe = scrubHTML(
@@ -363,9 +363,9 @@ class SafeHTML:
                 # ouch !
                 # HTMLParser is not able to parse very dirty HTML string,
                 # try to repair any broken html with help of lxml
-                if allready_repaired:
+                if already_repaired:
                   raise
-                allready_repaired = True
+                already_repaired = True
                 encoding = kwargs.get('encoding')
                 # recover parameter is equal to True by default
                 # in lxml API. I pass the argument to improve readability
-- 
2.30.9


From 96f7fd0d3bb6f7a96ca79526d9e686ae06b71496 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 15 Oct 2010 15:20:30 +0000
Subject: [PATCH 119/163] File_viewFieldLibrary/my_thumbnail can be just a dump
 proxy field of Base_viewFieldLibrary/my_thumbnail.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39241 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../File_viewFieldLibrary/my_thumbnail.xml    | 265 ++----------------
 bt5/erp5_base/bt/revision                     |   2 +-
 2 files changed, 20 insertions(+), 247 deletions(-)

diff --git a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/File_viewFieldLibrary/my_thumbnail.xml b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/File_viewFieldLibrary/my_thumbnail.xml
index 5f1133ca8a..ee9e29207e 100644
--- a/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/File_viewFieldLibrary/my_thumbnail.xml
+++ b/bt5/erp5_base/SkinTemplateItem/portal_skins/erp5_base/File_viewFieldLibrary/my_thumbnail.xml
@@ -3,12 +3,18 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="ImageField" module="Products.ERP5Form.ImageField"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>my_thumbnail</string> </value>
@@ -21,14 +27,6 @@
                     <key> <string>external_validator_failed</string> </key>
                     <value> <string>The input failed the external validator.</string> </value>
                 </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
               </dictionary>
             </value>
         </item>
@@ -37,83 +35,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>image_display</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>image_format</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>image_resolution</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -124,85 +54,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>hidden</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>image_display</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>image_format</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>image_resolution</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -213,84 +73,16 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_thumbnail</string> </value>
                 </item>
                 <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>image_display</string> </key>
-                    <value> <string>thumbnail</string> </value>
-                </item>
-                <item>
-                    <key> <string>image_format</string> </key>
-                    <value> <string>png</string> </value>
-                </item>
-                <item>
-                    <key> <string>image_resolution</string> </key>
-                    <value> <int>75</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Thumbnail</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
               </dictionary>
             </value>
@@ -298,23 +90,4 @@
       </dictionary>
     </pickle>
   </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.TALESField</string>
-          <string>TALESMethod</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>here/absolute_url</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
 </ZopeData>
diff --git a/bt5/erp5_base/bt/revision b/bt5/erp5_base/bt/revision
index 9d5369769d..cd6be3717d 100644
--- a/bt5/erp5_base/bt/revision
+++ b/bt5/erp5_base/bt/revision
@@ -1 +1 @@
-887
\ No newline at end of file
+888
\ No newline at end of file
-- 
2.30.9


From 45aaab514ba8f7a45ba71da7c2ec094328458b9a Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Fri, 15 Oct 2010 15:22:57 +0000
Subject: [PATCH 120/163] Document_viewFieldLibrary/my_file can be just a dump
 proxy field of File_viewFieldLibrary/my_file.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39242 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Document_viewFieldLibrary/my_file.xml     | 140 +++---------------
 bt5/erp5_dms/bt/revision                      |   2 +-
 2 files changed, 20 insertions(+), 122 deletions(-)

diff --git a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_viewFieldLibrary/my_file.xml b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_viewFieldLibrary/my_file.xml
index d46842a23b..7265a5018a 100644
--- a/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_viewFieldLibrary/my_file.xml
+++ b/bt5/erp5_dms/SkinTemplateItem/portal_skins/erp5_dms/Document_viewFieldLibrary/my_file.xml
@@ -3,12 +3,18 @@
   <record id="1" aka="AAAAAAAAAAE=">
     <pickle>
       <tuple>
-        <global name="FileField" module="Products.Formulator.StandardFields"/>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
         <tuple/>
       </tuple>
     </pickle>
     <pickle>
       <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
         <item>
             <key> <string>id</string> </key>
             <value> <string>my_file</string> </value>
@@ -29,51 +35,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>external_validator</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -84,51 +54,15 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
+                    <key> <string>field_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>css_class</string> </key>
+                    <key> <string>form_id</string> </key>
                     <value> <string></string> </value>
                 </item>
                 <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
+                    <key> <string>target</string> </key>
                     <value> <string></string> </value>
                 </item>
               </dictionary>
@@ -139,52 +73,16 @@
             <value>
               <dictionary>
                 <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_file</string> </value>
                 </item>
                 <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>File_viewFieldLibrary</string> </value>
                 </item>
                 <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Upload</string> </value>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
                 </item>
               </dictionary>
             </value>
diff --git a/bt5/erp5_dms/bt/revision b/bt5/erp5_dms/bt/revision
index 0d30c07f65..e55dbc5cd2 100644
--- a/bt5/erp5_dms/bt/revision
+++ b/bt5/erp5_dms/bt/revision
@@ -1 +1 @@
-1189
\ No newline at end of file
+1190
\ No newline at end of file
-- 
2.30.9


From e4d282aa4030846d109ed2f8b20dfbae0a7a4680 Mon Sep 17 00:00:00 2001
From: Nicolas Delaby <nicolas@nexedi.com>
Date: Fri, 15 Oct 2010 15:46:47 +0000
Subject: [PATCH 121/163] Add one more chance to get parsable html content with
 help of BeautifulSoup. This patch doesn't require hard dependency with
 BeautifulSoup.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39243 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../PortalTransforms/transforms/safe_html.py  | 20 ++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/product/PortalTransforms/transforms/safe_html.py b/product/PortalTransforms/transforms/safe_html.py
index 1731404233..a86088f1d3 100644
--- a/product/PortalTransforms/transforms/safe_html.py
+++ b/product/PortalTransforms/transforms/safe_html.py
@@ -17,6 +17,11 @@ from lxml import etree
 from lxml.etree import HTMLParser as LHTMLParser
 from lxml.html import tostring
 
+try:
+  from lxml.html.soupparser import fromstring as soupfromstring
+except ImportError:
+  # Means BeautifulSoup module is not installed
+  soupfromstring = None
 # tag mapping: tag -> short or long tag
 VALID_TAGS = VALID_TAGS.copy()
 NASTY_TAGS = NASTY_TAGS.copy()
@@ -347,6 +352,7 @@ class SafeHTML:
 
         html_string = orig
         already_repaired = False
+        one_more_bullet_with_beautifulsoup = soupfromstring is not None
         while True:
             try:
                 safe = scrubHTML(
@@ -363,8 +369,20 @@ class SafeHTML:
                 # ouch !
                 # HTMLParser is not able to parse very dirty HTML string,
                 # try to repair any broken html with help of lxml
-                if already_repaired:
+                if already_repaired and not one_more_bullet_with_beautifulsoup:
+                  # Even lxml nor BeautifulSoup doesn't perform miracles
+                  # so Give up !
                   raise
+                elif already_repaired and one_more_bullet_with_beautifulsoup:
+                  # Is BeautifulSoup can perform miracles ?
+                  one_more_bullet_with_beautifulsoup = False
+                  # This function can raise the exception HTMLParseError.
+                  # So consider this parsing as last chance 
+                  # to get parsable html.
+                  repaired_html_tree = soupfromstring(html_string)
+                  html_string = tostring(repaired_html_tree,
+                                         include_meta_content_type=True,
+                                         method='xml')
                 already_repaired = True
                 encoding = kwargs.get('encoding')
                 # recover parameter is equal to True by default
-- 
2.30.9


From 56a1bf8b01b649a3c6de5d98f517d1cedd7c2dd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 15 Oct 2010 15:59:28 +0000
Subject: [PATCH 122/163]  - force connection to localhost

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39244 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/development-2.12.cfg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildout/profiles/development-2.12.cfg b/buildout/profiles/development-2.12.cfg
index e144b55b59..9df9c846c8 100644
--- a/buildout/profiles/development-2.12.cfg
+++ b/buildout/profiles/development-2.12.cfg
@@ -54,7 +54,7 @@ extra-paths = ${eggs:extra-paths}
 mysql_database_name = development_site
 mysql_user = development_user
 mysql_password = development_password
-mysql_host = ${configuration:mysql_host}
+mysql_host = 127.0.0.1
 mysql_port = ${configuration:mysql_port}
 
 # create database
-- 
2.30.9


From 3b910176a166c943d657b6042585d3cc66c2d134 Mon Sep 17 00:00:00 2001
From: Arnaud Fontaine <arnaud.fontaine@nexedi.com>
Date: Fri, 15 Oct 2010 16:02:08 +0000
Subject: [PATCH 123/163] Add missing semicolon to the end of MySQL statement

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39245 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/README-2.12.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildout/README-2.12.txt b/buildout/README-2.12.txt
index d1ccac80f6..97d646379a 100644
--- a/buildout/README-2.12.txt
+++ b/buildout/README-2.12.txt
@@ -149,7 +149,7 @@ $ var/bin/mysql -h 127.0.0.1 -u root
 mysql> create database development_site;
 mysql> grant all privileges on development_site.* to 'development_user'@'localhost' identified by 'development_password';
 mysql> grant all privileges on development_site.* to 'development_user'@'127.0.0.1' identified by 'development_password';
-mysql> create database test212
+mysql> create database test212;
 mysql> grant all privileges on test212.* to 'test'@'localhost';
 mysql> grant all privileges on test212.* to 'test'@'127.0.0.1';
 
-- 
2.30.9


From d2b990e53f1b5d0148414ecc1e89f8fd3e83bc0a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 15 Oct 2010 16:22:09 +0000
Subject: [PATCH 124/163]  - fix database name string, it is
 mysql_database_name not    mysql_database

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39247 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/development-2.12.cfg | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/buildout/profiles/development-2.12.cfg b/buildout/profiles/development-2.12.cfg
index 9df9c846c8..ecd742d519 100644
--- a/buildout/profiles/development-2.12.cfg
+++ b/buildout/profiles/development-2.12.cfg
@@ -34,7 +34,7 @@ initialization =
   import os
   os.environ['PATH'] = ':'.join(['${buildout:data-bin-directory}','${buildout:bin-directory}'] + os.environ.get('PATH','').split(':'))
 mysql_create_database = false
-mysql_database = test212
+mysql_database_name = test212
 mysql_user = test
 
 [development-site]
-- 
2.30.9


From b9b7c3cf9ee628b7b3ba3dd426e38a7ed71410f3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 15 Oct 2010 16:23:07 +0000
Subject: [PATCH 125/163]  - choose test, which does not use any Business
 Template  - remove not needed information about coordinate, as recipe is   
 preparing all in runUnitTest script

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39248 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/README-2.12.txt | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/buildout/README-2.12.txt b/buildout/README-2.12.txt
index 97d646379a..6823236ca6 100644
--- a/buildout/README-2.12.txt
+++ b/buildout/README-2.12.txt
@@ -181,11 +181,7 @@ the 'zope-instance-template:user' variable.
 
 You should also be able to run ERP5 unit tests like so:
 
- $ bin/runUnitTest --erp5_sql_connection_string="test@127.0.0.1:10002 test" testBusinessTemplate
-
-The '127.0.0.1:10002' coordinate above refers to the address of the configured
-mysql instance, according to the settings 'configuration:mysql_host' and
-'configuration:mysql_port' in 'instance-profiles/mysql.cfg'.
+ $ bin/runUnitTest testClassTool
 
 Troubleshooting
 ===============
-- 
2.30.9


From aacb0e18b15c4084911da9bc58aea156f4002c63 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 15 Oct 2010 16:33:23 +0000
Subject: [PATCH 126/163]  - business templates are *NOT* part of software

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39249 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/official-2.12.cfg      | 1 -
 buildout/software-profiles/erp5-2.12.cfg | 8 --------
 2 files changed, 9 deletions(-)

diff --git a/buildout/profiles/official-2.12.cfg b/buildout/profiles/official-2.12.cfg
index 6136fd8e03..e1721a738d 100644
--- a/buildout/profiles/official-2.12.cfg
+++ b/buildout/profiles/official-2.12.cfg
@@ -71,7 +71,6 @@ parts =
   products
 #  omelette
   bootstrap2.6
-  business-templates
   precache-eggs
   software_home
 
diff --git a/buildout/software-profiles/erp5-2.12.cfg b/buildout/software-profiles/erp5-2.12.cfg
index 8acdbcb840..308a9cb053 100644
--- a/buildout/software-profiles/erp5-2.12.cfg
+++ b/buildout/software-profiles/erp5-2.12.cfg
@@ -167,11 +167,3 @@ packages =
       ${itools:lib} .
 products =
     ${products:paths}
-
-[business-templates]
-recipe = plone.recipe.command
-# comma separated list for the benefit of [runUnitTest]
-paths = ${bt5-erp5-core:location},${bt5-erp5:location},${bt5-erp5-extra:location},${bt5-erp5-test:location}
-command =
-  echo "Business Template Paths: ${:paths}"
-update-command = ${:command}
-- 
2.30.9


From 423fac36f8c7d095fed416f673da92bfbb431a4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 15 Oct 2010 16:37:58 +0000
Subject: [PATCH 127/163]  - business templates are not provided by default, so
 set them to empty    ones

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39250 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/instance-profiles/zope-2.12.cfg | 4 ++++
 buildout/instance-profiles/zope.cfg      | 4 ++++
 buildout/profiles/development-2.12.cfg   | 2 --
 buildout/profiles/development.cfg        | 2 --
 4 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/buildout/instance-profiles/zope-2.12.cfg b/buildout/instance-profiles/zope-2.12.cfg
index 76a8217fe1..a9da61b714 100644
--- a/buildout/instance-profiles/zope-2.12.cfg
+++ b/buildout/instance-profiles/zope-2.12.cfg
@@ -6,6 +6,10 @@ parts = zope-instance
 recipe = erp5.recipe.standaloneinstance
 user = zope:zope
 
+# empty bt5 by default
+bt5 =
+bt5-path =
+
 # modify this to reflect your local mysql configuration
 # Format:
 #     database[@host[:port]] [user [password [unix_socket]]]
diff --git a/buildout/instance-profiles/zope.cfg b/buildout/instance-profiles/zope.cfg
index 5fe739a664..605c79bc48 100644
--- a/buildout/instance-profiles/zope.cfg
+++ b/buildout/instance-profiles/zope.cfg
@@ -6,6 +6,10 @@ recipe = erp5.recipe.standaloneinstance
 zope2-location = ${software_definition:zope_software}
 user = zope:zope
 
+# empty bt5 by default
+bt5 =
+bt5-path =
+
 # modify this to reflect your local mysql configuration
 # Format:
 #     database[@host[:port]] [user [password [unix_socket]]]
diff --git a/buildout/profiles/development-2.12.cfg b/buildout/profiles/development-2.12.cfg
index ecd742d519..e7dae705ee 100644
--- a/buildout/profiles/development-2.12.cfg
+++ b/buildout/profiles/development-2.12.cfg
@@ -43,8 +43,6 @@ mysql_user = test
 mkzopeinstance = ${buildout:directory}/bin/mkzopeinstance
 # developer by default want to have updatable Data.fs
 force-zodb-update = true
-bt5-path = ${configuration:development_site_bt5_path}
-bt5 =
 eggs =
   Products.ExternalEditor
   ${eggs:eggs}
diff --git a/buildout/profiles/development.cfg b/buildout/profiles/development.cfg
index f28d1e3759..55856313ed 100644
--- a/buildout/profiles/development.cfg
+++ b/buildout/profiles/development.cfg
@@ -34,8 +34,6 @@ instance-home = ${configuration:development_site_instancehome}
 <= zope-instance-template
 # developer by default want to have updatable Data.fs
 force-zodb-update = true
-bt5-path = ${configuration:development_site_bt5_path}
-bt5 =
 eggs =
   Products.ExternalEditor
 
-- 
2.30.9


From dfbe2e7578b96648a4ab21adac51e13de20fa892 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 15 Oct 2010 16:39:40 +0000
Subject: [PATCH 128/163]  - do not refer to BT5, they are not provided

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39251 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/development-2.12.cfg | 4 ----
 buildout/profiles/development.cfg      | 4 ----
 2 files changed, 8 deletions(-)

diff --git a/buildout/profiles/development-2.12.cfg b/buildout/profiles/development-2.12.cfg
index e7dae705ee..87d154113b 100644
--- a/buildout/profiles/development-2.12.cfg
+++ b/buildout/profiles/development-2.12.cfg
@@ -9,8 +9,6 @@ parts +=
   runUnitTest
 
 [configuration]
-development_site_bt5_path =
-
 development_site_products =
   ${software_definition:products-erp5}
   ${software_definition:products-erp5-development}
@@ -27,8 +25,6 @@ eggs = ${development-site:eggs}
 extra-paths = ${development-site:extra-paths}
 products = ${configuration:development_site_products}
 
-bt5_path = ${configuration:development_site_bt5_path}
-
 instance-home = ${configuration:development_site_instancehome}
 initialization =
   import os
diff --git a/buildout/profiles/development.cfg b/buildout/profiles/development.cfg
index 55856313ed..437453f634 100644
--- a/buildout/profiles/development.cfg
+++ b/buildout/profiles/development.cfg
@@ -9,8 +9,6 @@ parts +=
   runUnitTest
 
 [configuration]
-development_site_bt5_path =
-
 development_site_products =
   ${software_definition:products-zope} 
   ${software_definition:products-erp5}
@@ -26,8 +24,6 @@ development_site_instancehome = ${buildout:var-directory}/development-site
 zope2-location = ${software_definition:zope_software}
 products = ${configuration:development_site_products}
 
-bt5_path = ${configuration:development_site_bt5_path}
-
 instance-home = ${configuration:development_site_instancehome}
 
 [development-site]
-- 
2.30.9


From 54c40ffe0f20f8547b3cab34cd0755edf25ebd54 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C5=81ukasz=20Nowak?= <luke@nexedi.com>
Date: Fri, 15 Oct 2010 16:52:49 +0000
Subject: [PATCH 129/163]  - BT5 are only useful for test profile, remove from
 common

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39252 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/common.cfg | 168 -----------------------------------
 buildout/profiles/test.cfg   | 168 +++++++++++++++++++++++++++++++++++
 2 files changed, 168 insertions(+), 168 deletions(-)

diff --git a/buildout/profiles/common.cfg b/buildout/profiles/common.cfg
index 49782e25fd..8789c6b03e 100644
--- a/buildout/profiles/common.cfg
+++ b/buildout/profiles/common.cfg
@@ -22,174 +22,6 @@ command =
   mkdir -p ${buildout:data-bin-directory}
 update-command = ${:command}
 
-[bt5list]
-recipe = erp5.recipe.genbt5list
-bt5_base = ${bt5-erp5:location}
-bt5_urls = ${bt5-erp5:urls}
-genbt5list = ${software_definition:products-erp5}/ERP5/bin/genbt5list
-
-[bt5-erp5-template]
-recipe = erp5.recipe.bt5checkout
-base = https://svn.erp5.org/repos/public/erp5/trunk/bt5
-ignore_verification = true
-revision = ${versions:erp5_bt5_revision}
-
-[bt5-erp5-core]
-<= bt5-erp5-template
-base = https://svn.erp5.org/repos/public/erp5/trunk/products/ERP5/bootstrap
-urls =
-  erp5_core
-  erp5_mysql_innodb_catalog
-  erp5_xhtml_style
-
-[bt5-erp5-compatibility]
-<= bt5-erp5-template
-urls =
-  erp5_discount_resource
-  erp5_legacy_tax_system
-  erp5_open_trade_legacy_tax_system
-  erp5_tax_resource
-  erp5_trade_proxy_field_legacy
-
-[bt5-erp5-extra]
-# additional, experimental, obsoleted
-<= bt5-erp5-template
-urls =
-  delivery_patch
-  erp5_apparel
-  erp5_auto_logout
-  erp5_banking_cash
-  erp5_banking_check
-  erp5_banking_core
-  erp5_banking_inventory
-  erp5_bpm
-  erp5_csv_style
-  erp5_ldap_catalog
-  erp5_popup_ui
-  erp5_registry_ohada
-  erp5_simulation
-  erp5_syncml
-  erp5_utils
-
-[bt5-erp5]
-<= bt5-erp5-template
-urls =
-  erp5_accounting
-  erp5_administration
-  erp5_advanced_invoicing
-  erp5_archive
-  erp5_barcode
-  erp5_base
-  erp5_budget
-  erp5_calendar
-  erp5_commerce
-  erp5_computer_immobilisation
-  erp5_consulting
-  erp5_content_translation
-  erp5_crm
-  erp5_deferred_style
-  erp5_discussion
-  erp5_dms
-  erp5_documentation
-  erp5_egov
-  erp5_egov_mysql_innodb_catalog
-  erp5_forge
-  erp5_forge_release
-  erp5_hr
-  erp5_ical_style
-  erp5_immobilisation
-  erp5_ingestion
-  erp5_ingestion_mysql_innodb_catalog
-  erp5_invoicing
-  erp5_item
-  erp5_km
-  erp5_knowledge_pad
-  erp5_mobile
-  erp5_mrp
-  erp5_ods_style
-  erp5_odt_style
-  erp5_ooo_import
-  erp5_open_trade
-  erp5_payroll
-  erp5_pdf_editor
-  erp5_pdf_style
-  erp5_pdm
-  erp5_project
-  erp5_project_mysql_innodb_catalog
-  erp5_public_accounting_budget
-  erp5_publication
-  erp5_rss_reader
-  erp5_rss_style
-  erp5_simplified_invoicing
-  erp5_social_contracts
-  erp5_trade
-  erp5_upgrader
-  erp5_web
-  erp5_web_blog
-  erp5_web_multiflex5_theme
-  erp5_wizard
-  erp5_worklist_sql
-
-[bt5-erp5-tiolive]
-<= bt5-erp5-template
-urls =
-  tiolive_base
-
-[bt5-erp5-test]
-<= bt5-erp5-template
-urls =
-  erp5_dummy_movement
-  test_accounting
-  test_accounting_fr
-  test_accounting_in
-  test_accounting_pl
-  test_core
-  test_html_style
-  test_web
-  test_xhtml_style
-
-[bt5-erp5-ui-test]
-<= bt5-erp5-template
-urls =
-  erp5_accounting_ui_test
-  erp5_dms_ui_test
-  erp5_km_ui_test
-  erp5_mobile_ui_test
-  erp5_payroll_ui_test
-  erp5_pdm_ui_test
-  erp5_project_ui_test
-  erp5_trade_ui_test
-  erp5_ui_test
-  erp5_ui_test_core
-  erp5_web_ui_test
-
-[bt5-erp5-l10n]
-<= bt5-erp5-template
-urls =
-  erp5_accounting_l10n_br_extend
-  erp5_accounting_l10n_br_sme
-  erp5_accounting_l10n_fr
-  erp5_accounting_l10n_fr_m14
-  erp5_accounting_l10n_fr_m4
-  erp5_accounting_l10n_fr_pca
-  erp5_accounting_l10n_ifrs
-  erp5_accounting_l10n_in
-  erp5_accounting_l10n_jp
-  erp5_accounting_l10n_mt
-  erp5_accounting_l10n_pl
-  erp5_accounting_l10n_pl_default_gap
-  erp5_accounting_l10n_sn
-  erp5_egov_l10n_fr
-  erp5_hr_l10n_jp
-  erp5_l10n_fr
-  erp5_l10n_ja
-  erp5_l10n_ko
-  erp5_l10n_pl_PL
-  erp5_l10n_pt-BR
-  erp5_payroll_l10n_fr
-  erp5_payroll_l10n_jp
-  erp5_registry_ohada_l10n_fr
-
 [products-erp5-development]
 recipe = infrae.subversion
 revision = ${versions:erp5_products_revision}
diff --git a/buildout/profiles/test.cfg b/buildout/profiles/test.cfg
index 84c3ebf724..4c2c7c4f4c 100644
--- a/buildout/profiles/test.cfg
+++ b/buildout/profiles/test.cfg
@@ -34,6 +34,174 @@ bt5-erp5-tiolive = ${buildout:directory}/parts/bt5-erp5-tiolive
 products-erp5 = ${buildout:directory}/parts/products-erp5
 products-erp5-development = ${buildout:directory}/parts/products-erp5-development
 
+[bt5list]
+recipe = erp5.recipe.genbt5list
+bt5_base = ${bt5-erp5:location}
+bt5_urls = ${bt5-erp5:urls}
+genbt5list = ${software_definition:products-erp5}/ERP5/bin/genbt5list
+
+[bt5-erp5-template]
+recipe = erp5.recipe.bt5checkout
+base = https://svn.erp5.org/repos/public/erp5/trunk/bt5
+ignore_verification = true
+revision = ${versions:erp5_bt5_revision}
+
+[bt5-erp5-core]
+<= bt5-erp5-template
+base = https://svn.erp5.org/repos/public/erp5/trunk/products/ERP5/bootstrap
+urls =
+  erp5_core
+  erp5_mysql_innodb_catalog
+  erp5_xhtml_style
+
+[bt5-erp5-compatibility]
+<= bt5-erp5-template
+urls =
+  erp5_discount_resource
+  erp5_legacy_tax_system
+  erp5_open_trade_legacy_tax_system
+  erp5_tax_resource
+  erp5_trade_proxy_field_legacy
+
+[bt5-erp5-extra]
+# additional, experimental, obsoleted
+<= bt5-erp5-template
+urls =
+  delivery_patch
+  erp5_apparel
+  erp5_auto_logout
+  erp5_banking_cash
+  erp5_banking_check
+  erp5_banking_core
+  erp5_banking_inventory
+  erp5_bpm
+  erp5_csv_style
+  erp5_ldap_catalog
+  erp5_popup_ui
+  erp5_registry_ohada
+  erp5_simulation
+  erp5_syncml
+  erp5_utils
+
+[bt5-erp5]
+<= bt5-erp5-template
+urls =
+  erp5_accounting
+  erp5_administration
+  erp5_advanced_invoicing
+  erp5_archive
+  erp5_barcode
+  erp5_base
+  erp5_budget
+  erp5_calendar
+  erp5_commerce
+  erp5_computer_immobilisation
+  erp5_consulting
+  erp5_content_translation
+  erp5_crm
+  erp5_deferred_style
+  erp5_discussion
+  erp5_dms
+  erp5_documentation
+  erp5_egov
+  erp5_egov_mysql_innodb_catalog
+  erp5_forge
+  erp5_forge_release
+  erp5_hr
+  erp5_ical_style
+  erp5_immobilisation
+  erp5_ingestion
+  erp5_ingestion_mysql_innodb_catalog
+  erp5_invoicing
+  erp5_item
+  erp5_km
+  erp5_knowledge_pad
+  erp5_mobile
+  erp5_mrp
+  erp5_ods_style
+  erp5_odt_style
+  erp5_ooo_import
+  erp5_open_trade
+  erp5_payroll
+  erp5_pdf_editor
+  erp5_pdf_style
+  erp5_pdm
+  erp5_project
+  erp5_project_mysql_innodb_catalog
+  erp5_public_accounting_budget
+  erp5_publication
+  erp5_rss_reader
+  erp5_rss_style
+  erp5_simplified_invoicing
+  erp5_social_contracts
+  erp5_trade
+  erp5_upgrader
+  erp5_web
+  erp5_web_blog
+  erp5_web_multiflex5_theme
+  erp5_wizard
+  erp5_worklist_sql
+
+[bt5-erp5-tiolive]
+<= bt5-erp5-template
+urls =
+  tiolive_base
+
+[bt5-erp5-test]
+<= bt5-erp5-template
+urls =
+  erp5_dummy_movement
+  test_accounting
+  test_accounting_fr
+  test_accounting_in
+  test_accounting_pl
+  test_core
+  test_html_style
+  test_web
+  test_xhtml_style
+
+[bt5-erp5-ui-test]
+<= bt5-erp5-template
+urls =
+  erp5_accounting_ui_test
+  erp5_dms_ui_test
+  erp5_km_ui_test
+  erp5_mobile_ui_test
+  erp5_payroll_ui_test
+  erp5_pdm_ui_test
+  erp5_project_ui_test
+  erp5_trade_ui_test
+  erp5_ui_test
+  erp5_ui_test_core
+  erp5_web_ui_test
+
+[bt5-erp5-l10n]
+<= bt5-erp5-template
+urls =
+  erp5_accounting_l10n_br_extend
+  erp5_accounting_l10n_br_sme
+  erp5_accounting_l10n_fr
+  erp5_accounting_l10n_fr_m14
+  erp5_accounting_l10n_fr_m4
+  erp5_accounting_l10n_fr_pca
+  erp5_accounting_l10n_ifrs
+  erp5_accounting_l10n_in
+  erp5_accounting_l10n_jp
+  erp5_accounting_l10n_mt
+  erp5_accounting_l10n_pl
+  erp5_accounting_l10n_pl_default_gap
+  erp5_accounting_l10n_sn
+  erp5_egov_l10n_fr
+  erp5_hr_l10n_jp
+  erp5_l10n_fr
+  erp5_l10n_ja
+  erp5_l10n_ko
+  erp5_l10n_pl_PL
+  erp5_l10n_pt-BR
+  erp5_payroll_l10n_fr
+  erp5_payroll_l10n_jp
+  erp5_registry_ohada_l10n_fr
+
 [configuration]
 development_site_bt5_path =
   ${software_definition:bt5-erp5}
-- 
2.30.9


From 792d5c9d707fd44fabd8c21d2c9f886c0179cf16 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Fri, 15 Oct 2010 17:54:37 +0000
Subject: [PATCH 130/163] Added missing script used by navigation_box_render

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39254 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 ...moteBusinessConfigurationReferenceList.xml | 145 ++++++++++++++++++
 bt5/tiolive_base/bt/revision                  |   2 +-
 2 files changed, 146 insertions(+), 1 deletion(-)
 create mode 100644 bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/Base_getUserRemoteBusinessConfigurationReferenceList.xml

diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/Base_getUserRemoteBusinessConfigurationReferenceList.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/Base_getUserRemoteBusinessConfigurationReferenceList.xml
new file mode 100644
index 0000000000..60f107344e
--- /dev/null
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/Base_getUserRemoteBusinessConfigurationReferenceList.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>"""\n
+  Get the reference list of all validated business configuration related to the logged user.\n
+"""\n
+from Products.ERP5Type.Log import log\n
+\n
+portal = context.getPortalObject()\n
+reference = portal.portal_membership.getAuthenticatedMember().getUserName()\n
+kw = {\'reference\': reference}\n
+\n
+# XXX: This try except is used in case of connection refused\n
+# and to make sure that the user interface will never be broken.\n
+try:\n
+  return context.portal_wizard.callRemoteProxyMethod(\n
+                     \'WitchTool_getBusinessConfigurationReferenceList\',\n
+                     use_cache=1,\n
+                     ignore_exceptions=0,\n
+                     **kw)\n
+except:\n
+  log(\'Base_getUserRemoteBusinessConfigurationReferenceList: \'\n
+      \'Could not retrieve the Business Configuration reference list.\', level=100)\n
+  return []\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>Products.ERP5Type.Log</string>
+                            <string>log</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>reference</string>
+                            <string>kw</string>
+                            <string>_apply_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Base_getUserRemoteBusinessConfigurationReferenceList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/tiolive_base/bt/revision b/bt5/tiolive_base/bt/revision
index aa92725341..780fea92d2 100644
--- a/bt5/tiolive_base/bt/revision
+++ b/bt5/tiolive_base/bt/revision
@@ -1 +1 @@
-76
\ No newline at end of file
+77
\ No newline at end of file
-- 
2.30.9


From 3629731d33fa977e37a3a79c1c691ad8edfa5f1b Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Fri, 15 Oct 2010 18:00:05 +0000
Subject: [PATCH 131/163] Get javascript from portal_wizard to enable
 documentation gadget.

The usage of portal_wizard for this is deprecated for this propose and will be removed soon.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39255 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5Site_getJavaScriptRelativeUrlList.xml | 132 ++++++++++++
 ...5Site_viewAnonymousAdvertisementGadget.xml |  63 ++++++
 ...5Site_viewAnonymousDocumentationGadget.xml |  63 ++++++
 .../tiolive_base/erp5_tabber.js.xml           | 196 ++++++++++++++++++
 bt5/tiolive_base/bt/revision                  |   2 +-
 5 files changed, 455 insertions(+), 1 deletion(-)
 create mode 100644 bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_getJavaScriptRelativeUrlList.xml
 create mode 100644 bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_viewAnonymousAdvertisementGadget.xml
 create mode 100644 bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_viewAnonymousDocumentationGadget.xml
 create mode 100644 bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/erp5_tabber.js.xml

diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_getJavaScriptRelativeUrlList.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_getJavaScriptRelativeUrlList.xml
new file mode 100644
index 0000000000..d2685aa713
--- /dev/null
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_getJavaScriptRelativeUrlList.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># This script returns an iterable of the paths to standard JavaScript objects.\n
+# If you want to customize your own site, please override this script\n
+# in your own skin folder. Note that the returned items must be\n
+# relative URLs instead of absolute URLs, i.e. they must be traversable\n
+# from the portal object. This is required for further processing of JavaScript\n
+# data, e.g. compression.\n
+#\n
+# BBB: For the history, erp5_xhtml_appearance.js is included by default when\n
+#      js_list is not pre-defined before the global definitions.\n
+\n
+js_list = (\'MochiKit/MochiKit.js\',\n
+           \'erp5_knowledge_box.js\',\n
+           \'erp5.js\',\n
+           \'portal_wizard/proxy/web_site_module/express_frame/express_advertisement.js\',)\n
+return js_list\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>js_list</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_getJavaScriptRelativeUrlList</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_viewAnonymousAdvertisementGadget.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_viewAnonymousAdvertisementGadget.xml
new file mode 100644
index 0000000000..fb76fc2926
--- /dev/null
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_viewAnonymousAdvertisementGadget.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<div class=\'gadget_advertisement\'><!-- Advertisement--></div>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_viewAnonymousAdvertisementGadget</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_viewAnonymousDocumentationGadget.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_viewAnonymousDocumentationGadget.xml
new file mode 100644
index 0000000000..82b3328467
--- /dev/null
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/ERP5Site_viewAnonymousDocumentationGadget.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<div class=\'gadget_documentation\'><!-- Documentation Gadget --></div>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>ERP5Site_viewAnonymousDocumentationGadget</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/erp5_tabber.js.xml b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/erp5_tabber.js.xml
new file mode 100644
index 0000000000..a37b44eeff
--- /dev/null
+++ b/bt5/tiolive_base/SkinTemplateItem/portal_skins/tiolive_base/erp5_tabber.js.xml
@@ -0,0 +1,196 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_Cacheable__manager_id</string> </key>
+            <value> <string>http_cache</string> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+var loading_deferred = undefined;\n
+\n
+function replaceContent(req) {\n
+  if (loading_deferred) {\n
+    loading_deferred.cancel();\n
+    loading_deferred = undefined;\n
+  }\n
+  //var container = $(\'container\');\n
+  var container = MochiKit.DOM.getElement("container");\n
+  container.innerHTML = req.responseText;\n
+\n
+  addOnClickEventsToTabs(req);\n
+}\n
+\n
+function showServerSideError(req) {\n
+  if (loading_deferred) {\n
+    loading_deferred.cancel();\n
+    loading_deferred = undefined;\n
+  }\n
+  //var container = $(\'container\');\n
+  var container = MochiKit.DOM.getElement("container");\n
+  container.innerHTML = \'Server side error.\';\n
+\n
+  addOnClickEventsToTabs(req);\n
+}\n
+\n
+function showLoadingMessage() {\n
+  //var container = $(\'container\');\n
+  var container = MochiKit.DOM.getElement("container");\n
+  container.innerHTML = \'<div><p style="text-align: left; vertical-align: middle; font-size: large;">Loading...</p></div>\';\n
+  loading_deferred = undefined;\n
+}\n
+\n
+function selectTab(e) {\n
+  //var tab_box = $(\'tab_box\');\n
+  //var item_list = tab_box.getElementsByTagName(\'li\');\n
+  var item_list = MochiKit.DOM.getElementsByTagAndClassName("li", null, "tab_box");\n
+  for (var i = 0; i < item_list.length; i++) {\n
+    var item = item_list[i];\n
+    //var node = item.getElementsByTagName(\'a\')[0];\n
+    var node = MochiKit.DOM.getFirstElementByTagAndClassName("a", null, item);\n
+    if (this == node) {\n
+      if (getNodeAttribute(item, \'class\') != \'selected\') {\n
+        MochiKit.DOM.setNodeAttribute(item, \'class\', \'selected\');\n
+      }\n
+      node.blur();\n
+    } else {\n
+      if (getNodeAttribute(item, \'class\') != \'non_selected\') {\n
+        MochiKit.DOM.setNodeAttribute(item, \'class\', \'non_selected\');\n
+      }\n
+    }\n
+    MochiKit.Signal.disconnectAll(node, \'onclick\');\n
+    MochiKit.Signal.connect(node, \'onclick\', function (e) { e.stop(); });\n
+  }\n
+\n
+  var mapping = {\n
+  <tal:block \n
+  tal:replace="structure python: \',\\n\'.join([\'%s: \\x22%s\\x22\' %(x[\'id\'], x[\'renderer\']) for x in context.ERP5Site_getTabList(add_all_tabs=1)])"></tal:block>\n
+  };\n
+\n
+  var url = mapping[this.parentNode.id];\n
+  var d = MochiKit.Async.doSimpleXMLHttpRequest(url);\n
+  d.addCallbacks(replaceContent, showServerSideError);\n
+  e.stop();\n
+\n
+  loading_deferred = MochiKit.Async.callLater(0.3, showLoadingMessage);\n
+\n
+  // Set a cookie.\n
+  document.cookie = \'erp5_site_selected_tab=\' + escape(this.parentNode.id);\n
+}\n
+<tal:block tal:define="portal python: context.getPortalObject();\n
+                       portal_url python: portal.absolute_url();\n
+                       witch_server_root python: portal.portal_preferences.getPreferredWitchToolServerRoot();\n
+                       site_url python: \'\\x22%s/portal_wizard/proxy/%s\\x22\' %(portal_url,witch_server_root)">\n
+  function showProductList() {\n
+    site_url = <tal:block tal:replace="site_url"></tal:block>;\n
+    var url = site_url+"/web_site_module/express_frame/ERP5Site_getExpressProductListFrame";\n
+    var d = doSimpleXMLHttpRequest(url);\n
+    d.addBoth(replaceContent)\n
+    loading_deferred = callLater(0.3, showLoadingMessage);\n
+  }\n
+\n
+  function showProduct(reference) {\n
+    site_url =  <tal:block tal:replace="site_url"></tal:block>;\n
+    var url = site_url+"/web_site_module/express_frame/ERP5Site_getExpressProductFrame?reference=";\n
+    url = url + reference;\n
+    var d = doSimpleXMLHttpRequest(url);\n
+    d.addBoth(replaceContent)\n
+    loading_deferred = callLater(0.3, showLoadingMessage);\n
+  }\n
+</tal:block>\n
+\n
+function addOnClickEventsToTabs(e) {\n
+  //var tab_box = $(\'tab_box\');\n
+  //var item_list = tab_box.getElementsByTagName(\'li\');\n
+  var item_list = MochiKit.DOM.getElementsByTagAndClassName("li", null, "tab_box");\n
+  for (var i = 0; i < item_list.length; i++) {\n
+    //connect(item_list[i], \'onclick\', function(e){e.stop();})\n
+    //var node = item_list[i].getElementsByTagName(\'a\')[0];\n
+    var node = MochiKit.DOM.getFirstElementByTagAndClassName("a", null, item_list[i]);\n
+    MochiKit.Signal.disconnectAll(node, \'onclick\');\n
+    MochiKit.Signal.connect(node, \'onclick\', selectTab);\n
+  }\n
+  return true;\n
+}\n
+\n
+connect(window, \'onload\', addOnClickEventsToTabs);\n
+\n
+function showProductOnLoad() {\n
+var tmp = window.location.search.substring(1).split("&");\n
+\n
+var GET = [];\n
+for (var i in tmp)\n
+  if (tmp[i].indexOf("=")!=-1)\n
+    GET[decodeURI(tmp[i].substring(0, tmp[i].indexOf("=")))] = decodeURI(tmp[i].substring(tmp[i].indexOf("=")+1));\n
+  else\n
+    GET[decodeURI(tmp[i])]=\'\';\n
+if (GET["jumptab"])\n
+  {\n
+    if (GET["reference"])\n
+      {\n
+       showProduct(GET["reference"]);\n
+      }\n
+    else\n
+      {\n
+        showProductList();\n
+      }\n
+  }\n
+}\n
+\n
+addLoadEvent(showProductOnLoad);
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>erp5_tabber.js</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/tiolive_base/bt/revision b/bt5/tiolive_base/bt/revision
index 780fea92d2..efee1f88bb 100644
--- a/bt5/tiolive_base/bt/revision
+++ b/bt5/tiolive_base/bt/revision
@@ -1 +1 @@
-77
\ No newline at end of file
+78
\ No newline at end of file
-- 
2.30.9


From 68e4d1781740c4bf7aa428626007a29387cc85ff Mon Sep 17 00:00:00 2001
From: Gabriel Monnerat <gabriel@tiolive.com>
Date: Fri, 15 Oct 2010 18:26:41 +0000
Subject: [PATCH 132/163] 2010-10-13 gabriel * Add jquery_plugin folder. This
 folder is used by erp5_web_ung_core.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39258 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_jquery/jquery_plugin.xml             |   26 +
 .../jquery_plugin/jgcharts.min.js.xml         |   61 +
 .../erp5_jquery/jquery_plugin/jgraduate.xml   |   26 +
 .../jquery_plugin/jgraduate/LICENSE.xml       |  234 +
 .../jquery_plugin/jgraduate/README.xml        |   35 +
 .../jquery_plugin/jgraduate/css.xml           |   26 +
 .../jgraduate/css/jPicker-1.0.12.css.xml      |  222 +
 .../jgraduate/css/jgraduate.css.xml           |  305 +
 .../jquery_plugin/jgraduate/images.xml        |   26 +
 .../jgraduate/images/AlphaBar.png.xml         |   86 +
 .../jgraduate/images/Bars.png.xml             |   54 +
 .../jgraduate/images/Maps.png.xml             | 1490 +++
 .../jgraduate/images/NoColor.png.xml          |   52 +
 .../jgraduate/images/bar-opacity.png.xml      |   50 +
 .../jgraduate/images/map-opacity.png.xml      |   50 +
 .../jgraduate/images/mappoint.gif.xml         |   49 +
 .../jgraduate/images/mappoint_c.png.xml       |   52 +
 .../jgraduate/images/mappoint_f.png.xml       |   52 +
 .../jgraduate/images/picker.gif.xml           |   50 +
 .../jgraduate/images/preview-opacity.png.xml  |   50 +
 .../jgraduate/images/rangearrows.gif.xml      |   49 +
 .../jgraduate/images/rangearrows2.gif.xml     |   49 +
 .../jgraduate/jpicker-1.0.12.min.js.xml       |   44 +
 .../jgraduate/jquery.jgraduate.js.xml         | 1132 ++
 .../jgraduate/jquery.jgraduate.min.js.xml     |   44 +
 .../jquery-ui-1.8.1.custom.min.js.xml         |  866 ++
 .../erp5_jquery/jquery_plugin/jquery-ui.xml   |   26 +
 .../jquery-ui/jquery-ui-1.8.custom.min.js.xml |  193 +
 .../jquery_plugin/jquery.colorPicker.css.xml  |   62 +
 .../jquery.colorPicker.min.js.xml             |   44 +
 .../jquery_plugin/jquery.elastic.min.js.xml   |   56 +
 .../jquery_plugin/jquery.scrollTo-min.js.xml  |   53 +
 .../erp5_jquery/jquery_plugin/jquerybbq.xml   |   26 +
 .../jquerybbq/jquery.bbq.min.js.xml           |   61 +
 .../erp5_jquery/jquery_plugin/js-hotkeys.xml  |   26 +
 .../jquery_plugin/js-hotkeys/README.md.xml    |   76 +
 .../js-hotkeys/jquery.hotkeys.min.js.xml      |   58 +
 .../jquery_plugin/mbMenu.min.js.xml           |   55 +
 .../erp5_jquery/jquery_plugin/menu.css.xml    |  237 +
 .../erp5_jquery/jquery_plugin/spinbtn.xml     |   26 +
 .../spinbtn/JQuerySpinBtn.css.xml             |   77 +
 .../spinbtn/JQuerySpinBtn.js.xml              |  308 +
 .../spinbtn/JQuerySpinBtn.min.js.xml          |   44 +
 .../spinbtn/spinbtn_updn.png.xml              |   59 +
 .../erp5_jquery/jquery_plugin/svg-editor.xml  |   26 +
 .../jquery_plugin/svg-editor/canvg.xml        |   26 +
 .../svg-editor/canvg/canvg.js.xml             | 1818 ++++
 .../svg-editor/canvg/rgbcolor.js.xml          |  331 +
 .../jquery_plugin/svg-editor/embedapi.js.xml  |  201 +
 .../jquery_plugin/svg-editor/extensions.xml   |   26 +
 .../svg-editor/extensions/TODO.xml            |   36 +
 .../extensions/closepath_icons.svg.xml        |   84 +
 .../svg-editor/extensions/ext-arrows.js.xml   |  342 +
 .../extensions/ext-closepath.js.xml           |  136 +
 .../extensions/ext-connector.js.xml           |  623 ++
 .../extensions/ext-eyedropper.js.xml          |  145 +
 .../extensions/ext-foreignobject.js.xml       |  321 +
 .../extensions/ext-helloworld.js.xml          |  118 +
 .../svg-editor/extensions/ext-markers.js.xml  |  616 ++
 .../extensions/eyedropper-icon.xml.xml        |   77 +
 .../svg-editor/extensions/eyedropper.png.xml  |   60 +
 .../extensions/foreignobject-icons.xml.xml    |  139 +
 .../extensions/helloworld-icon.xml.xml        |   64 +
 .../extensions/markers-icons.xml.xml          |  159 +
 .../jquery_plugin/svg-editor/images.xml       |   26 +
 .../svg-editor/images/README.txt.xml          |   93 +
 .../svg-editor/images/align-bottom.png.xml    |   53 +
 .../svg-editor/images/align-bottom.svg.xml    |  321 +
 .../svg-editor/images/align-center.png.xml    |   55 +
 .../svg-editor/images/align-center.svg.xml    |  296 +
 .../svg-editor/images/align-left.png.xml      |   53 +
 .../svg-editor/images/align-left.svg.xml      |  279 +
 .../svg-editor/images/align-middle.png.xml    |   56 +
 .../svg-editor/images/align-middle.svg.xml    |  294 +
 .../svg-editor/images/align-right.png.xml     |   53 +
 .../svg-editor/images/align-right.svg.xml     |  277 +
 .../svg-editor/images/align-top.png.xml       |   53 +
 .../svg-editor/images/align-top.svg.xml       |  277 +
 .../svg-editor/images/bold.png.xml            |  100 +
 .../svg-editor/images/cancel.png.xml          |   72 +
 .../svg-editor/images/circle.png.xml          |   66 +
 .../svg-editor/images/clear.png.xml           |   62 +
 .../svg-editor/images/clone.png.xml           |   60 +
 .../svg-editor/images/conn.svg.xml            |   72 +
 .../svg-editor/images/copy.png.xml            |   62 +
 .../svg-editor/images/cut.png.xml             |   70 +
 .../svg-editor/images/delete.png.xml          |   59 +
 .../images/document-properties.png.xml        |   60 +
 .../svg-editor/images/dropdown.gif.xml        |   48 +
 .../svg-editor/images/ellipse.png.xml         |   62 +
 .../svg-editor/images/eye.png.xml             |   61 +
 .../svg-editor/images/fhpath.png.xml          |   69 +
 .../svg-editor/images/flyouth.png.xml         |   49 +
 .../svg-editor/images/flyup.gif.xml           |   48 +
 .../svg-editor/images/freehand-circle.png.xml |   70 +
 .../svg-editor/images/freehand-square.png.xml |   63 +
 .../svg-editor/images/go-down.png.xml         |   59 +
 .../svg-editor/images/go-up.png.xml           |   59 +
 .../svg-editor/images/image.png.xml           |   63 +
 .../svg-editor/images/italic.png.xml          |  100 +
 .../svg-editor/images/line.png.xml            |   65 +
 .../svg-editor/images/link_controls.png.xml   |   64 +
 .../svg-editor/images/logo.png.xml            |  117 +
 .../svg-editor/images/logo.svg.xml            |   76 +
 .../svg-editor/images/move_bottom.png.xml     |   60 +
 .../svg-editor/images/move_top.png.xml        |   59 +
 .../svg-editor/images/node_clone.png.xml      |  124 +
 .../svg-editor/images/node_delete.png.xml     |  124 +
 .../svg-editor/images/none.png.xml            |   50 +
 .../svg-editor/images/open.png.xml            |   64 +
 .../svg-editor/images/paste.png.xml           |   63 +
 .../svg-editor/images/path.png.xml            |   62 +
 .../svg-editor/images/polygon.png.xml         |   63 +
 .../svg-editor/images/polygon.svg.xml         |  263 +
 .../svg-editor/images/rect.png.xml            |   55 +
 .../svg-editor/images/redo.png.xml            |   64 +
 .../svg-editor/images/reorient.png.xml        |   65 +
 .../svg-editor/images/rotate.png.xml          |   74 +
 .../svg-editor/images/save.png.xml            |   70 +
 .../svg-editor/images/select.png.xml          |   60 +
 .../svg-editor/images/select_node.png.xml     |   62 +
 .../svg-editor/images/sep.png.xml             |   49 +
 .../svg-editor/images/shape_group.png.xml     |   57 +
 .../svg-editor/images/shape_ungroup.png.xml   |   59 +
 .../svg-editor/images/source.png.xml          |   67 +
 .../images/spinbtn_updn_big.png.xml           |   83 +
 .../svg-editor/images/square.png.xml          |   55 +
 .../svg-editor/images/svg_edit_icons.svg.xml  | 1023 ++
 .../svg-editor/images/svg_edit_icons.svgz.xml |  136 +
 .../svg-editor/images/text.png.xml            |   66 +
 .../svg-editor/images/text.svg.xml            |  201 +
 .../svg-editor/images/to_path.png.xml         |   68 +
 .../svg-editor/images/undo.png.xml            |   67 +
 .../svg-editor/images/view-refresh.png.xml    |   63 +
 .../svg-editor/images/wave.png.xml            |   83 +
 .../svg-editor/images/wireframe.png.xml       |   56 +
 .../svg-editor/images/zoom.png.xml            |   68 +
 .../jquery_plugin/svg-editor/jquery.js.xml    |  212 +
 .../jquery_plugin/svg-editor/locale.xml       |   26 +
 .../svg-editor/locale/README.txt.xml          |   49 +
 .../svg-editor/locale/lang.af.js.xml          |  216 +
 .../svg-editor/locale/lang.ar.js.xml          |  212 +
 .../svg-editor/locale/lang.az.js.xml          |  212 +
 .../svg-editor/locale/lang.be.js.xml          |  216 +
 .../svg-editor/locale/lang.bg.js.xml          |  216 +
 .../svg-editor/locale/lang.ca.js.xml          |  216 +
 .../svg-editor/locale/lang.cs.js.xml          |  216 +
 .../svg-editor/locale/lang.cy.js.xml          |  216 +
 .../svg-editor/locale/lang.da.js.xml          |  216 +
 .../svg-editor/locale/lang.de.js.xml          |  212 +
 .../svg-editor/locale/lang.el.js.xml          |  212 +
 .../svg-editor/locale/lang.en.js.xml          |  215 +
 .../svg-editor/locale/lang.es.js.xml          |  214 +
 .../svg-editor/locale/lang.et.js.xml          |  216 +
 .../svg-editor/locale/lang.fa.js.xml          |  213 +
 .../svg-editor/locale/lang.fi.js.xml          |  216 +
 .../svg-editor/locale/lang.fr.js.xml          |  215 +
 .../svg-editor/locale/lang.fy.js.xml          |  212 +
 .../svg-editor/locale/lang.ga.js.xml          |  199 +
 .../svg-editor/locale/lang.gl.js.xml          |  212 +
 .../svg-editor/locale/lang.he.js.xml          |  278 +
 .../svg-editor/locale/lang.hi.js.xml          |  213 +
 .../svg-editor/locale/lang.hr.js.xml          |  216 +
 .../svg-editor/locale/lang.hu.js.xml          |  216 +
 .../svg-editor/locale/lang.hy.js.xml          |  212 +
 .../svg-editor/locale/lang.id.js.xml          |  216 +
 .../svg-editor/locale/lang.is.js.xml          |  216 +
 .../svg-editor/locale/lang.it.js.xml          |  216 +
 .../svg-editor/locale/lang.ja.js.xml          |  213 +
 .../svg-editor/locale/lang.ko.js.xml          |  212 +
 .../svg-editor/locale/lang.lt.js.xml          |  216 +
 .../svg-editor/locale/lang.lv.js.xml          |  216 +
 .../svg-editor/locale/lang.mk.js.xml          |  216 +
 .../svg-editor/locale/lang.ms.js.xml          |  216 +
 .../svg-editor/locale/lang.mt.js.xml          |  216 +
 .../svg-editor/locale/lang.nl.js.xml          |  215 +
 .../svg-editor/locale/lang.no.js.xml          |  216 +
 .../svg-editor/locale/lang.pl.js.xml          |  212 +
 .../svg-editor/locale/lang.pt-BR.js.xml       |  197 +
 .../svg-editor/locale/lang.pt-PT.js.xml       |  212 +
 .../svg-editor/locale/lang.ro.js.xml          |  212 +
 .../svg-editor/locale/lang.ru.js.xml          |  215 +
 .../svg-editor/locale/lang.sk.js.xml          |  216 +
 .../svg-editor/locale/lang.sl.js.xml          |  216 +
 .../svg-editor/locale/lang.sq.js.xml          |  212 +
 .../svg-editor/locale/lang.sr.js.xml          |  216 +
 .../svg-editor/locale/lang.sv.js.xml          |  216 +
 .../svg-editor/locale/lang.sw.js.xml          |  216 +
 .../svg-editor/locale/lang.th.js.xml          |  212 +
 .../svg-editor/locale/lang.tl.js.xml          |  216 +
 .../svg-editor/locale/lang.tr.js.xml          |  216 +
 .../svg-editor/locale/lang.uk.js.xml          |  216 +
 .../svg-editor/locale/lang.vi.js.xml          |  212 +
 .../svg-editor/locale/lang.yi.js.xml          |  216 +
 .../svg-editor/locale/lang.zh-CN.js.xml       |  213 +
 .../svg-editor/locale/lang.zh-HK.js.xml       |  213 +
 .../svg-editor/locale/lang.zh-TW.js.xml       |  213 +
 .../svg-editor/locale/locale.js.xml           |  128 +
 .../svg-editor/locale/locale.min.js.xml       |   44 +
 .../svg-editor/svg-editor.css.xml             | 1234 +++
 .../svg-editor/svg-editor.html%7E.xml         |  706 ++
 .../svg-editor/svg-editor.html.xml            |  718 ++
 .../svg-editor/svg-editor.js.xml              | 3770 +++++++
 .../svg-editor/svg-editor.manifest.xml        |  153 +
 .../svg-editor/svg-editor.min.js.xml          |   59 +
 .../jquery_plugin/svg-editor/svgcanvas.js.xml | 9609 +++++++++++++++++
 .../svg-editor/svgcanvas.min.js.xml           |   59 +
 .../erp5_jquery/jquery_plugin/svgicons.xml    |   26 +
 .../svgicons/jquery.svgicons.js.xml           |  501 +
 .../svgicons/jquery.svgicons.min.js.xml       |   44 +
 bt5/erp5_jquery/bt/change_log                 |    3 +
 bt5/erp5_jquery/bt/revision                   |    2 +-
 212 files changed, 49140 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgcharts.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/LICENSE.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/README.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css/jPicker-1.0.12.css.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css/jgraduate.css.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/AlphaBar.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/Bars.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/Maps.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/NoColor.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/bar-opacity.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/map-opacity.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint.gif.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint_c.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint_f.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/picker.gif.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/preview-opacity.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/rangearrows.gif.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/rangearrows2.gif.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jpicker-1.0.12.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jquery.jgraduate.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jquery.jgraduate.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui-1.8.1.custom.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui/jquery-ui-1.8.custom.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.colorPicker.css.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.colorPicker.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.elastic.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.scrollTo-min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquerybbq.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquerybbq/jquery.bbq.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys/README.md.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys/jquery.hotkeys.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/mbMenu.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/menu.css.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.css.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/spinbtn_updn.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg/canvg.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg/rgbcolor.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/embedapi.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/TODO.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/closepath_icons.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-arrows.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-closepath.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-connector.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-eyedropper.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-foreignobject.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-helloworld.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-markers.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/eyedropper-icon.xml.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/eyedropper.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/foreignobject-icons.xml.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/helloworld-icon.xml.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/markers-icons.xml.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/README.txt.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-bottom.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-bottom.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-center.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-center.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-left.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-left.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-middle.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-middle.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-right.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-right.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-top.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-top.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/bold.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/cancel.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/circle.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/clear.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/clone.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/conn.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/copy.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/cut.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/delete.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/document-properties.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/dropdown.gif.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/ellipse.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/eye.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/fhpath.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/flyouth.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/flyup.gif.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/freehand-circle.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/freehand-square.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/go-down.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/go-up.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/image.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/italic.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/line.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/link_controls.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/logo.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/logo.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/move_bottom.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/move_top.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/node_clone.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/node_delete.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/none.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/open.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/paste.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/path.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/polygon.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/polygon.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/rect.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/redo.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/reorient.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/rotate.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/save.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/select.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/select_node.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/sep.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/shape_group.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/shape_ungroup.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/source.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/spinbtn_updn_big.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/square.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/svg_edit_icons.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/svg_edit_icons.svgz.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/text.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/text.svg.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/to_path.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/undo.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/view-refresh.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/wave.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/wireframe.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/zoom.png.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/jquery.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/README.txt.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.af.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ar.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.az.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.be.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.bg.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ca.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.cs.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.cy.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.da.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.de.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.el.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.en.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.es.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.et.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fa.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fi.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fr.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fy.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ga.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.gl.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.he.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hi.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hr.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hu.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hy.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.id.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.is.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.it.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ja.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ko.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.lt.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.lv.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.mk.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ms.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.mt.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.nl.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.no.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pl.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pt-BR.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pt-PT.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ro.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ru.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sk.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sl.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sq.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sr.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sv.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sw.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.th.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.tl.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.tr.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.uk.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.vi.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.yi.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-CN.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-HK.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-TW.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/locale.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/locale.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.css.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.html%7E.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.html.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.manifest.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svgcanvas.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svgcanvas.min.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons/jquery.svgicons.js.xml
 create mode 100644 bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons/jquery.svgicons.min.js.xml

diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin.xml
new file mode 100644
index 0000000000..d6794248d8
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>jquery_plugin</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgcharts.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgcharts.min.js.xml
new file mode 100644
index 0000000000..6ffbb10b68
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgcharts.min.js.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts79962420.74</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jgcharts.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * \n
+ * jQuery Google Charts plugin 0.9\n
+ * \n
+ * $Date: 2009-02-19 11:56:22 +0100 (gio, 19 feb 2009) $\n
+ * $Rev: 46 $\n
+ * \n
+ * @requires\n
+ * Sugar Arrays - Dustin Diaz | http://www.dustindiaz.com\n
+ * \n
+ * Copyright (c) 2008 Massimiliano Balestrieri\n
+ * Examples and docs at: http://maxb.net/blog/\n
+ * Licensed GPL licenses:\n
+ * http://www.gnu.org/licenses/gpl.html\n
+ *\n
+ */\n
+\n
+if(!window.jGCharts){jGCharts={}}jGCharts.Api=function(){var G=0;var h=0;var C=0;var an=0;var g="http://chart.apis.google.com/chart?";var p={type:"cht",size:"chs",data:"chd",colors:"chco",scaling:"chds",axis_type:"chxt",axis_range:"chxr",axis_labels:"chxl",legend:"chdl",bar_width:"chbh",background:"chf",fillarea:"chm",title:"chtt",title_style:"chts",grid:"chg",line_style:"chls",agent:"agent"};var N=false;var ak=false;var ad=false;var E=false;var Z=false;var q=false;var S=false;var ap="bvg";var j="300x200";var T=false;var R=false;var am=false;var ao=false;var W=[];var X=1;var e="x,y";var al=false;var H=false;var I=false;var ae=false;var af="solid";var B="solid";var ab=90;var V=90;var y=10;var s=10;var aj=false;var w=false;var J=false;var i=false;var ac=false;var u=20;var l=1;var aa=false;var x=10;var A=10;var Q=10;var k=0;var U=false;var r=["5131C9","FFCC00","DA1B1B","FF9900","FF6600","CCFFFF","CCFF00","CCCCCC","FF99CC","999900","999999","66FF00","66CC00","669900","660099","33CC00","333399","000000"];var ag="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";function D(at,av){var au=[];for(var aq=0;aq<at.length;aq++){var ar=at[aq];if(!isNaN(ar)&&ar>=0){au.push(ag.charAt(Math.round((ag.length-1)*ar/av)))}else{au.push("_")}}return au.join("")}function P(){var aq=u;if(l){aq+=","+l}return aq}function K(){if(!ao.constructor==Array){throw new Error("Legend must be Array")}var ar="";for(var aq=0;aq<ao.length;aq++){ar+=ao[aq]+"|"}ar=O(ar,"|");return ar}function ai(){if(!am.constructor==Array){throw new Error("Data must be Array")}var ar="";var at=[];for(var aq=0;aq<am.length;aq++){if(am[aq].constructor!=Array){am[aq]=[am[aq]]}for(var au=0;au<am[aq].length;au++){if(!at[au]){at[au]=[]}at[au].push((am[aq][au]));if(at[au].length>h){h=at[au].length;G=am[aq].length}}if(N){L(sum(am[aq]));d(sum(am[aq]))}else{L(am[aq]);d(am[aq])}}if(E&&ac){at=c(at)}if(E&&i){at=o(at)}for(var au=0;au<at.length;au++){ar+=D(at[au],C)+","}ar=O(ar,",");return"s:"+ar}function o(at){var ar=[];for(var aq=1;aq<=h;aq++){ar.push(0)}at.push(ar);return at}function c(ar){var at=[];for(var aq=1;aq<=h;aq++){at.push(C)}ar.unshift(at);return ar}function M(){var at="";var au="";var ar=G;if(E&&ac){ar++}for(var aq=0;aq<ar;aq++){au=_colors[aq]||r[aq];at+=au+","}at=O(at,",");return at}function z(){return an+","+C}function L(aq){if(aq.constructor==Array){aq.forEach(function(ar){L(ar)})}else{if(C<aq){C=aq}}}function d(aq){if(aq.constructor==Array){aq.forEach(function(ar){d(ar)})}else{if(an>aq){an=aq}}}function F(){return"0,"+an+","+C+"|1,"+an+","+C}function f(){var au="";if(W.length==0&&h>10){X=parseInt(h/10)}if(ak){var ar=[];for(var aq=W.length;aq>0;aq--){ar.push(W[(aq-1)])}W=ar}for(var aq=0;aq<h;aq++){var av=(aq%X)==0?(W[aq]||aq):"";au+=av+"|"}au=O(au,"|");var at=(ak)?1:0;return at+":|"+au}function n(){var aq=a(af);var at=a(B);var ar="";if(al&&aj){al+=parseInt(aj)}if(al&&aq=="s"){ar="bg,s,"+al}if(al&&aq=="lg"){ar="bg,lg,"+ab+","+al+",0,"+I+",1"}if(al&&aq=="ls"){ar="bg,ls,"+ab+","+al+",0."+parseInt(y/10)+","+I+",0."+parseInt(y/10)}if(H&&w){H+=parseInt(w)}if(H&&al){ar+="|"}if(H&&at=="s"){ar+="c,s,"+H}if(H&&at=="lg"){ar+="c,lg,"+V+","+H+",0,"+ae+",1"}if(H&&at=="ls"){ar+="c,ls,"+V+","+H+",0."+parseInt(s/10)+","+ae+",0."+parseInt(s/10)}return ar}function a(aq){if(aq=="solid"){return"s"}if(aq=="gradient"){return"lg"}if(aq=="stripes"){return"ls"}return aq}function b(){var aq=[];var ar="";if(E){aq=M(_colors,ac).split(",");aq.forEach(function(au,at){ar+="b,"+au+","+at+","+(at+1)+",0|"});ar=O(ar,"|")}return ar}function Y(){var aq="";if(A>=0){aq+=A}if(x>=0){aq+=","+x}if(Q>=0){aq+=","+Q}if(k>=0){aq+=","+k}return aq}function t(){var aq="";U.forEach(function(ar){aq+=ar.join(",")+"|"});aq=O(aq,"|");return aq}function ah(aq){if(jGCharts.Api.type.indexOf(aq.type)!==-1){ap=aq.type}if(aq.size){j=aq.size}if(aq.data){am=aq.data}if(aq.legend){ao=aq.legend}if(aq.axis_labels){W=aq.axis_labels}if(aq.axis_step){X=aq.axis_step}if(aq.colors){_colors=aq.colors}else{_colors=[]}if(aq.lines){U=aq.lines}if(aq.title){T=aq.title}if(aq.title_color&&aq.title_size){R=aq.title_color+","+aq.title_size}if(aq.bar_width){u=aq.bar_width}if(aq.bar_spacing>=0){l=aq.bar_spacing}if(aq.fillarea){J=aq.fillarea}if(aq.fillbottom){i=aq.fillbottom}if(aq.filltop){ac=aq.filltop}if(aq.axis_type){e=aq.axis_type}if(aq.bg){al=aq.bg}if(aq.bg_type){af=aq.bg_type}if(aq.bg_offset){I=aq.bg_offset}if(aq.bg_width){y=aq.bg_width}if(aq.bg_angle>=0){ab=aq.bg_angle}if(aq.bg_trasparency){aj=aq.bg_trasparency}if(aq.chbg){H=aq.chbg}if(aq.chbg_type){B=aq.chbg_type}if(aq.chbg_offset){ae=aq.chbg_offset}if(aq.chbg_width){s=aq.chbg_width}if(aq.chbg_angle>=0){V=aq.chbg_angle}if(aq.chbg_trasparency){w=aq.chbg_trasparency}if(aq.grid){aa=aq.grid;if(aq.grid_x>=0){A=aq.grid_x}if(aq.grid_y>=0){x=aq.grid_y}if(aq.grid_line>=0){Q=aq.grid_line}if(aq.grid_blank>=0){k=aq.grid_blank}}}function m(ar,au,at){var aq=at?"":"&";return p[ar]+"="+au+aq}function v(){ad=ap.indexOf("v")!==-1;ak=ap.indexOf("h")!==-1;N=ap.indexOf("s")!==-1&&ap!="ls"&&ap!="lc";q=(ap=="ls"||ap=="lc");S=(ap=="p"||ap=="p3");E=q&&J;Z=ap.indexOf("b")!==-1}function O(ar,aq){return(ar.lastIndexOf(aq)!==-1)?ar.substr(0,ar.lastIndexOf(aq)):ar}return{make:function(ar){var aq=g;ah(ar);v();aq+=m("type",ap);aq+=m("size",j);if(T){aq+=m("title",T)}if(R){aq+=m("title_style",R)}if(Z){aq+=m("bar_width",P())}aq+=m("axis_type",e);if(!S&&ao.length>0){aq+=m("legend",K())}aq+=m("data",ai());aq+=m("scaling",z());aq+=m("axis_range",F());aq+=m("axis_labels",f());aq+=m("background",n());aq+=m("colors",M());if(q&&U){aq+=m("line_style",t())}if(aa){aq+=m("grid",Y())}if(q&&E){aq+=m("fillarea",b())}aq+=m("agent","jgcharts",true);return aq}}};jGCharts.Api.type=["bhs","bvs","bhg","bvg","lc","ls","p","p3"];function sum(a){return foldl(a,0,function(c,b){return c+b})}function foldl(a,d,c){for(var b=0;b<a.length;b++){d=c(d,a[b])}return d}Function.prototype.method=function(a,b){this.prototype[a]=b;return this};if(!Array.prototype.forEach){Array.method("forEach",function(d,e){var c=e||window;for(var b=0,a=this.length;b<a;++b){d.call(c,this[b],b,this)}}).method("every",function(d,e){var c=e||window;for(var b=0,a=this.length;b<a;++b){if(!d.call(c,this[b],b,this)){return false}}return true}).method("some",function(d,e){var c=e||window;for(var b=0,a=this.length;b<a;++b){if(d.call(c,this[b],b,this)){return true}}return false}).method("map",function(f,g){var e=g||window;var b=[];for(var d=0,c=this.length;d<c;++d){b.push(f.call(e,this[d],d,this))}return b}).method("filter",function(f,g){var e=g||window;var b=[];for(var d=0,c=this.length;d<c;++d){if(!f.call(e,this[d],d,this)){continue}b.push(this[d])}return b}).method("indexOf",function(c,d){var d=d||0;for(var b=d,a=this.length;b<a;++b){if(this[b]===c){return b}}return -1}).method("lastIndexOf",function(b,c){var c=c||this.length;if(c>=this.length){c=this.length}if(c<0){c=this.length+c}for(var a=c;a>=0;--a){if(this[a]===b){return a}}return -1})}jGCharts.Base={init:function(a){a=jQuery.extend({},a);return this.each(function(){if(!a.data){throw new Error("No Data")}var c=new jGCharts.Api();var b=c.make(a);jQuery("<img>").attr("src",b).appendTo(this);jQuery("<p>"+b+"</p>").appendTo(this)})}};jQuery.fn.jgcharts=jGCharts.Base.init;
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>7562</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate.xml
new file mode 100644
index 0000000000..5f7eb9f626
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>jgraduate</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/LICENSE.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/LICENSE.xml
new file mode 100644
index 0000000000..79e7986f56
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/LICENSE.xml
@@ -0,0 +1,234 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>LICENSE</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string>\n
+                                 Apache License\n
+                           Version 2.0, January 2004\n
+                        http://www.apache.org/licenses/\n
+\n
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n
+\n
+   1. Definitions.\n
+\n
+      "License" shall mean the terms and conditions for use, reproduction,\n
+      and distribution as defined by Sections 1 through 9 of this document.\n
+\n
+      "Licensor" shall mean the copyright owner or entity authorized by\n
+      the copyright owner that is granting the License.\n
+\n
+      "Legal Entity" shall mean the union of the acting entity and all\n
+      other entities that control, are controlled by, or are under common\n
+      control with that entity. For the purposes of this definition,\n
+      "control" means (i) the power, direct or indirect, to cause the\n
+      direction or management of such entity, whether by contract or\n
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the\n
+      outstanding shares, or (iii) beneficial ownership of such entity.\n
+\n
+      "You" (or "Your") shall mean an individual or Legal Entity\n
+      exercising permissions granted by this License.\n
+\n
+      "Source" form shall mean the preferred form for making modifications,\n
+      including but not limited to software source code, documentation\n
+      source, and configuration files.\n
+\n
+      "Object" form shall mean any form resulting from mechanical\n
+      transformation or translation of a Source form, including but\n
+      not limited to compiled object code, generated documentation,\n
+      and conversions to other media types.\n
+\n
+      "Work" shall mean the work of authorship, whether in Source or\n
+      Object form, made available under the License, as indicated by a\n
+      copyright notice that is included in or attached to the work\n
+      (an example is provided in the Appendix below).\n
+\n
+      "Derivative Works" shall mean any work, whether in Source or Object\n
+      form, that is based on (or derived from) the Work and for which the\n
+      editorial revisions, annotations, elaborations, or other modifications\n
+      represent, as a whole, an original work of authorship. For the purposes\n
+      of this License, Derivative Works shall not include works that remain\n
+      separable from, or merely link (or bind by name) to the interfaces of,\n
+      the Work and Derivative Works thereof.\n
+\n
+      "Contribution" shall mean any work of authorship, including\n
+      the original version of the Work and any modifications or additions\n
+      to that Work or Derivative Works thereof, that is intentionally\n
+      submitted to Licensor for inclusion in the Work by the copyright owner\n
+      or by an individual or Legal Entity authorized to submit on behalf of\n
+      the copyright owner. For the purposes of this definition, "submitted"\n
+      means any form of electronic, verbal, or written communication sent\n
+      to the Licensor or its representatives, including but not limited to\n
+      communication on electronic mailing lists, source code control systems,\n
+      and issue tracking systems that are managed by, or on behalf of, the\n
+      Licensor for the purpose of discussing and improving the Work, but\n
+      excluding communication that is conspicuously marked or otherwise\n
+      designated in writing by the copyright owner as "Not a Contribution."\n
+\n
+      "Contributor" shall mean Licensor and any individual or Legal Entity\n
+      on behalf of whom a Contribution has been received by Licensor and\n
+      subsequently incorporated within the Work.\n
+\n
+   2. Grant of Copyright License. Subject to the terms and conditions of\n
+      this License, each Contributor hereby grants to You a perpetual,\n
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n
+      copyright license to reproduce, prepare Derivative Works of,\n
+      publicly display, publicly perform, sublicense, and distribute the\n
+      Work and such Derivative Works in Source or Object form.\n
+\n
+   3. Grant of Patent License. Subject to the terms and conditions of\n
+      this License, each Contributor hereby grants to You a perpetual,\n
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n
+      (except as stated in this section) patent license to make, have made,\n
+      use, offer to sell, sell, import, and otherwise transfer the Work,\n
+      where such license applies only to those patent claims licensable\n
+      by such Contributor that are necessarily infringed by their\n
+      Contribution(s) alone or by combination of their Contribution(s)\n
+      with the Work to which such Contribution(s) was submitted. If You\n
+      institute patent litigation against any entity (including a\n
+      cross-claim or counterclaim in a lawsuit) alleging that the Work\n
+      or a Contribution incorporated within the Work constitutes direct\n
+      or contributory patent infringement, then any patent licenses\n
+      granted to You under this License for that Work shall terminate\n
+      as of the date such litigation is filed.\n
+\n
+   4. Redistribution. You may reproduce and distribute copies of the\n
+      Work or Derivative Works thereof in any medium, with or without\n
+      modifications, and in Source or Object form, provided that You\n
+      meet the following conditions:\n
+\n
+      (a) You must give any other recipients of the Work or\n
+          Derivative Works a copy of this License; and\n
+\n
+      (b) You must cause any modified files to carry prominent notices\n
+          stating that You changed the files; and\n
+\n
+      (c) You must retain, in the Source form of any Derivative Works\n
+          that You distribute, all copyright, patent, trademark, and\n
+          attribution notices from the Source form of the Work,\n
+          excluding those notices that do not pertain to any part of\n
+          the Derivative Works; and\n
+\n
+      (d) If the Work includes a "NOTICE" text file as part of its\n
+          distribution, then any Derivative Works that You distribute must\n
+          include a readable copy of the attribution notices contained\n
+          within such NOTICE file, excluding those notices that do not\n
+          pertain to any part of the Derivative Works, in at least one\n
+          of the following places: within a NOTICE text file distributed\n
+          as part of the Derivative Works; within the Source form or\n
+          documentation, if provided along with the Derivative Works; or,\n
+          within a display generated by the Derivative Works, if and\n
+          wherever such third-party notices normally appear. The contents\n
+          of the NOTICE file are for informational purposes only and\n
+          do not modify the License. You may add Your own attribution\n
+          notices within Derivative Works that You distribute, alongside\n
+          or as an addendum to the NOTICE text from the Work, provided\n
+          that such additional attribution notices cannot be construed\n
+          as modifying the License.\n
+\n
+      You may add Your own copyright statement to Your modifications and\n
+      may provide additional or different license terms and conditions\n
+      for use, reproduction, or distribution of Your modifications, or\n
+      for any such Derivative Works as a whole, provided Your use,\n
+      reproduction, and distribution of the Work otherwise complies with\n
+      the conditions stated in this License.\n
+\n
+   5. Submission of Contributions. Unless You explicitly state otherwise,\n
+      any Contribution intentionally submitted for inclusion in the Work\n
+      by You to the Licensor shall be under the terms and conditions of\n
+      this License, without any additional terms or conditions.\n
+      Notwithstanding the above, nothing herein shall supersede or modify\n
+      the terms of any separate license agreement you may have executed\n
+      with Licensor regarding such Contributions.\n
+\n
+   6. Trademarks. This License does not grant permission to use the trade\n
+      names, trademarks, service marks, or product names of the Licensor,\n
+      except as required for reasonable and customary use in describing the\n
+      origin of the Work and reproducing the content of the NOTICE file.\n
+\n
+   7. Disclaimer of Warranty. Unless required by applicable law or\n
+      agreed to in writing, Licensor provides the Work (and each\n
+      Contributor provides its Contributions) on an "AS IS" BASIS,\n
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n
+      implied, including, without limitation, any warranties or conditions\n
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n
+      PARTICULAR PURPOSE. You are solely responsible for determining the\n
+      appropriateness of using or redistributing the Work and assume any\n
+      risks associated with Your exercise of permissions under this License.\n
+\n
+   8. Limitation of Liability. In no event and under no legal theory,\n
+      whether in tort (including negligence), contract, or otherwise,\n
+      unless required by applicable law (such as deliberate and grossly\n
+      negligent acts) or agreed to in writing, shall any Contributor be\n
+      liable to You for damages, including any direct, indirect, special,\n
+      incidental, or consequential damages of any character arising as a\n
+      result of this License or out of the use or inability to use the\n
+      Work (including but not limited to damages for loss of goodwill,\n
+      work stoppage, computer failure or malfunction, or any and all\n
+      other commercial damages or losses), even if such Contributor\n
+      has been advised of the possibility of such damages.\n
+\n
+   9. Accepting Warranty or Additional Liability. While redistributing\n
+      the Work or Derivative Works thereof, You may choose to offer,\n
+      and charge a fee for, acceptance of support, warranty, indemnity,\n
+      or other liability obligations and/or rights consistent with this\n
+      License. However, in accepting such obligations, You may act only\n
+      on Your own behalf and on Your sole responsibility, not on behalf\n
+      of any other Contributor, and only if You agree to indemnify,\n
+      defend, and hold each Contributor harmless for any liability\n
+      incurred by, or claims asserted against, such Contributor by reason\n
+      of your accepting any such warranty or additional liability.\n
+\n
+   END OF TERMS AND CONDITIONS\n
+\n
+   APPENDIX: How to apply the Apache License to your work.\n
+\n
+      To apply the Apache License to your work, attach the following\n
+      boilerplate notice, with the fields enclosed by brackets "[]"\n
+      replaced with your own identifying information. (Don\'t include\n
+      the brackets!)  The text should be enclosed in the appropriate\n
+      comment syntax for the file format. We also recommend that a\n
+      file or class name and description of purpose be included on the\n
+      same "printed page" as the copyright notice for easier\n
+      identification within third-party archives.\n
+\n
+   Copyright [yyyy] [name of copyright owner]\n
+\n
+   Licensed under the Apache License, Version 2.0 (the "License");\n
+   you may not use this file except in compliance with the License.\n
+   You may obtain a copy of the License at\n
+\n
+       http://www.apache.org/licenses/LICENSE-2.0\n
+\n
+   Unless required by applicable law or agreed to in writing, software\n
+   distributed under the License is distributed on an "AS IS" BASIS,\n
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n
+   See the License for the specific language governing permissions and\n
+   limitations under the License.\n
+</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/README.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/README.xml
new file mode 100644
index 0000000000..6116811464
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/README.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>README</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string>jGraduate - A jQuery plugin for picking gradients\n
+\n
+Licensed under the Apache License 2.  See LICENSE for more information.\n
+</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css.xml
new file mode 100644
index 0000000000..956abfea7c
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>css</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css/jPicker-1.0.12.css.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css/jPicker-1.0.12.css.xml
new file mode 100644
index 0000000000..7bd790f505
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css/jPicker-1.0.12.css.xml
@@ -0,0 +1,222 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jPicker-1.0.12.css</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string>.jPicker_Picker {\r\n
+  display: inline-block;\r\n
+  height: 24px; /* change this value if using a different sized color picker icon */\r\n
+  position: relative; /* make this element an absolute positioning container */\r\n
+  text-align: left; /* make the zero width children position to the left of container */\r\n
+  width: 25px; /* change this value if using a different sized color picker icon */\r\n
+}\r\n
+.jPicker_Color, .jPicker_Alpha {\r\n
+  background-position: 2px 2px;\r\n
+  display: block;\r\n
+  height: 100%;\r\n
+  left: 0px;\r\n
+  position: absolute;\r\n
+  top: 0px;\r\n
+  width: 100%;\r\n
+}\r\n
+.jPicker_Icon {\r\n
+  background-repeat: no-repeat;\r\n
+  cursor: pointer;\r\n
+  display: block;\r\n
+  height: 100%;\r\n
+  left: 0px;\r\n
+  position: absolute;\r\n
+  top: 0px;\r\n
+  width: 100%;\r\n
+}\r\n
+.jPicker_Container {\r\n
+  display: none;\r\n
+  z-index: 10; /* make sure container draws above color picker icon in Firefox/Safari/Chrome/Opera/etc. -\r\n
+                  IE calculates z-index so this won\'t work - we will hide all color picker icons placed after the selected one in code when shown in IE */\r\n
+}\r\n
+.jPicker_table {\r\n
+  background-color: #efefef;\r\n
+  border: 1px outset #666;\r\n
+  font-family: Arial, Helvetica, Sans-Serif;\r\n
+  font-size: 12px;\r\n
+  margin: 0px;\r\n
+  padding: 5px;\r\n
+  width: 550px;\r\n
+}\r\n
+.jPicker_table td {\r\n
+  margin: 0px;\r\n
+  padding: 0px;\r\n
+  vertical-align: top;\r\n
+}\r\n
+.jPicker_MoveBar {\r\n
+  background-color: #dddddd;\r\n
+  border: 1px outset #aaa;\r\n
+  cursor: move;\r\n
+  height: 12px;\r\n
+}\r\n
+.jPicker_Title {\r\n
+  font-size: 11px !important;\r\n
+  font-weight: bold;\r\n
+  margin: -2px 0px 0px 0px;\r\n
+  padding: 0px;\r\n
+  text-align: center;\r\n
+  width: 100%;\r\n
+}\r\n
+.jPicker_ColorMap {\r\n
+  border: 2px inset #eee;\r\n
+  cursor: crosshair;\r\n
+  height: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */\r\n
+  margin: 0px 5px 0px 5px;\r\n
+  overflow: hidden; /* hide the overdraw of the Color Map icon when at edge of viewing box */\r\n
+  padding: 0px;\r\n
+  position: relative; /* make this element an absolute positioning container */\r\n
+  width: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */\r\n
+}\r\n
+div[class="jPicker_ColorMap"] {\r\n
+  height: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */\r\n
+  width: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */\r\n
+}\r\n
+.jPicker_ColorBar {\r\n
+  border: 2px inset #eee;\r\n
+  cursor: n-resize;\r\n
+  height: 260px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 256px later */\r\n
+  margin: 12px 10px 0px 5px;\r\n
+  padding: 0px;\r\n
+  position: relative;\r\n
+  width: 24px; /* IE 6 incorrectly draws border inside the width and height instead of outside - We will fix this to 20px later */\r\n
+}\r\n
+div[class="jPicker_ColorBar"] {\r\n
+  height: 256px; /* correct to 256px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */\r\n
+  width: 20px; /* correct to 20px for browsers that support the "[class="xxx"]" selector (IE7+,Firefox,Safari,Chrome,Opera,etc.) */\r\n
+}\r\n
+.jPicker_ColorMap_l1, .jPicker_ColorMap_l2, .jPicker_ColorMap_l3, .jPicker_ColorBar_l1, .jPicker_ColorBar_l2, .jPicker_ColorBar_l3, .jPicker_ColorBar_l4, .jPicker_ColorBar_l5, .jPicker_ColorBar_l6 {\r\n
+  background-color: transparent;\r\n
+  background-image: none;\r\n
+  display: block;\r\n
+  height: 256px; /* must specific pixel height. IE7/8 Quirks mode ignores opacity for an absolutely positioned item in a relative container with "overflow: visible". The marker in the colorBar\r\n
+                    would not be drawn if its overflow is set to hidden. */\r\n
+  left: 0px;\r\n
+  position: absolute;\r\n
+  top: 0px;\r\n
+}\r\n
+.jPicker_ColorMap_l1, .jPicker_ColorMap_l2, .jPicker_ColorMap_l3 {\r\n
+  width: 256px; /* must specific pixel width. IE7/8 Quirks mode ignores opacity for an absolutely positioned item in a relative container with "overflow: visible". The marker in the colorBar\r\n
+                   would not be drawn if its overflow is set to hidden. */\r\n
+}\r\n
+.jPicker_ColorBar_l1, .jPicker_ColorBar_l2, .jPicker_ColorBar_l3, .jPicker_ColorBar_l4, .jPicker_ColorBar_l5, .jPicker_ColorBar_l6 {\r\n
+  width: 20px; /* must specific pixel width. IE7/8 Quirks mode ignores opacity for an absolutely positioned item in a relative container with "overflow: visible". The marker in the colorBar\r\n
+                  would not be drawn if its overflow is set to hidden. */\r\n
+}\r\n
+.jPicker_ColorMap_l1, .jPicker_ColorMap_l2, .jPicker_ColorBar_l6 {\r\n
+  background-repeat: no-repeat;\r\n
+}\r\n
+.jPicker_ColorMap_l3, .jPicker_ColorBar_l5 {\r\n
+  background-repeat: repeat;\r\n
+}\r\n
+.jPicker_ColorBar_l1, .jPicker_ColorBar_l2, .jPicker_ColorBar_l3, .jPicker_ColorBar_l4 {\r\n
+  background-repeat: repeat-x;\r\n
+}\r\n
+.jPicker_ColorMap_Arrow {\r\n
+  display: block;\r\n
+  position: absolute;\r\n
+}\r\n
+.jPicker_ColorBar_Arrow {\r\n
+  display: block;\r\n
+  left: -10px; /* (arrow width / 2) - (element width / 2) - position arrows\' center in elements\' center */\r\n
+  position: absolute;\r\n
+}\r\n
+.jPicker_Preview {\r\n
+  font-size: x-small;\r\n
+  text-align: center;\r\n
+}\r\n
+.jPicker_Preview div {\r\n
+  border: 2px inset #eee;\r\n
+  height: 62px;\r\n
+  margin: 0px auto;\r\n
+  padding: 0px;\r\n
+  width: 62px;\r\n
+}\r\n
+.jPicker_Preview div span {\r\n
+  border: 1px solid #000;\r\n
+  display: block;\r\n
+  height: 30px;\r\n
+  margin: 0px auto;\r\n
+  padding: 0px;\r\n
+  width: 60px;\r\n
+}\r\n
+.jPicker_Preview div span.jPicker_Active {\r\n
+  border-bottom-width: 0px;\r\n
+}\r\n
+.jPicker_Preview div span.jPicker_Current {\r\n
+  border-top-width: 0px;\r\n
+  cursor: pointer;\r\n
+}\r\n
+.jPicker_OkCancel {\r\n
+  text-align: center;\r\n
+  width: 120px;\r\n
+}\r\n
+.jPicker_OkCancel input {\r\n
+  width: 100px;\r\n
+}\r\n
+.jPicker_OkCancel input.jPicker_Ok {\r\n
+  margin: 12px 0px 5px 0px;\r\n
+}\r\n
+.jPicker_Text {\r\n
+  text-align: left;\r\n
+}\r\n
+.jPicker_HueText, .jPicker_SaturationText, .jPicker_BrightnessText, .jPicker_RedText, .jPicker_GreenText, .jPicker_BlueText, .jPicker_AlphaText {\r\n
+  background-color: #fff;\r\n
+  border: 1px inset #aaa;\r\n
+  margin: 0px 0px 0px 5px;\r\n
+  text-align: left;\r\n
+  width: 30px;\r\n
+}\r\n
+.jPicker_HexText {\r\n
+  background-color: #fff;\r\n
+  border: 1px inset #aaa;\r\n
+  margin: 0px 0px 0px 5px;\r\n
+  width: 65px;\r\n
+}\r\n
+.jPicker_Grid {\r\n
+  text-align: center;\r\n
+}\r\n
+span.jPicker_QuickColor {\r\n
+  border: 1px inset #aaa;\r\n
+  cursor: pointer;\r\n
+  display: block;\r\n
+  float: left;\r\n
+  height: 13px;\r\n
+  line-height: 13px;\r\n
+  margin: 2px 2px 1px 2px;\r\n
+  padding: 0px;\r\n
+  width: 15px;\r\n
+}\r\n
+span[class="jPicker_QuickColor"] {\r\n
+  width: 13px;\r\n
+}</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css/jgraduate.css.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css/jgraduate.css.xml
new file mode 100644
index 0000000000..79e6e1ca8a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/css/jgraduate.css.xml
@@ -0,0 +1,305 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jgraduate.css</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/* \n
+ * jGraduate Default CSS\n
+ * \n
+ * Copyright (c) 2009 Jeff Schiller\n
+ *\n
+ * Licensed under the Apache License Version 2\n
+ */\n
+\n
+h2.jGraduate_Title {\n
+  font-family: Arial, Helvetica, Sans-Serif;\n
+  font-size: 11px !important;\n
+  font-weight: bold;\n
+  margin: -13px 0px 0px 0px;\n
+  padding: 0px;\n
+  text-align: center;\n
+}\n
+\n
+.jGraduate_Picker {\n
+\tfont-family: Arial, Helvetica, Sans-Serif;\n
+\tfont-size: 12px;\n
+\tborder-style: solid;\n
+\tborder-color: lightgrey black black lightgrey;\n
+\tborder-width: 1px;\n
+\tbackground-color: #EFEFEF;\n
+\tposition: absolute;\n
+\tpadding: 10px;\n
+}\n
+\n
+.jGraduate_tabs li {\n
+\tbackground-color: #ccc;\n
+\tdisplay: inline;\n
+\tborder: solid 1px grey;\n
+\tpadding: 3px;\n
+\tmargin: 2px;\n
+\tcursor: pointer;\n
+}\n
+\n
+li.jGraduate_tab_current {\n
+\tbackground-color: #EFEFEF;\n
+\tdisplay: inline;\n
+\tpadding: 3px;\n
+\tmargin: 2px;\n
+\tborder: solid 1px black;\n
+\tcursor: pointer;\n
+}\n
+\n
+.jGraduate_colPick {\n
+\tdisplay: none;\n
+}\n
+\n
+.jGraduate_lgPick {\t\n
+\tdisplay: none;\n
+\tborder: outset 1px #666;\n
+\tpadding: 10px 7px 5px 5px;\n
+\toverflow: auto;\n
+}\n
+\n
+.jGraduate_rgPick {\t\n
+\tdisplay: none;\n
+\tborder: outset 1px #666;\n
+\tpadding: 10px 7px 5px 5px;\n
+\toverflow: auto;\n
+/*\tposition: relative;*/\n
+}\n
+\n
+.jGraduate_tabs {\n
+\tposition: relative;\n
+\tbackground-color: #EFEFEF;\n
+\tpadding: 0px;\n
+\tmargin: 0px;\n
+\tmargin-bottom: 5px;\n
+}\n
+\n
+div.jGraduate_Swatch {\n
+\tfloat: left;\n
+\tmargin: 8px;\n
+}\n
+div.jGraduate_GradContainer {\n
+\tborder: 2px inset #EEE;\n
+\tbackground-image: url(../images/map-opacity.png); \n
+\tbackground-position: 0px 0px;\n
+\theight: 256px;\n
+}\n
+\n
+.jGraduate_AlphaArrows {\n
+\tposition: absolute;\n
+\tmargin-top: -10px;\n
+\tmargin-left: 250.5px;\n
+}\n
+\n
+div.jGraduate_Opacity {\n
+\tborder: 2px inset #eee;\n
+\tmargin-top: 14px;\n
+\tbackground-color: black;\n
+\tbackground-image: url(../images/Maps.png);\n
+\tbackground-position: 0px -2816px;\n
+\theight: 20px;\n
+\tcursor: ew-resize;\n
+}\n
+\n
+div.lg_jGraduate_OpacityField {\n
+\tposition: absolute;\n
+\tbottom: 25px;\n
+\tleft: 292px;\n
+}\n
+\n
+div.jGraduate_Form {\n
+\tfloat: left;\n
+\twidth: 140px;\n
+\tmargin: -3px 3px 0px 4px;\n
+}\n
+\n
+div.jGraduate_StopSection {\n
+\twidth: 120px;\n
+\ttext-align: center;\n
+}\n
+\n
+div.jGraduate_RadiusField {\n
+\t\n
+\ttext-align: center;\n
+\tfloat: left;\n
+}\n
+\n
+div.jGraduate_RadiusField input {\n
+\tmargin-top: 10px;\n
+}\n
+\n
+.jGraduate_RadiusField .jGraduate_Form_Section {\n
+\twidth: 250px;\n
+\tpadding: 2px;\n
+\theight: 80px;\n
+\toverflow: visible;\n
+}\n
+\n
+.jGraduate_Form_Section input[type=text] {\n
+\twidth: 38px;\n
+}\n
+\n
+.jGraduate_Radius {\n
+\tborder:1px solid #BBB;\n
+\tcursor:ew-resize;\n
+\theight:20px;\n
+\tmargin-top:14px;\n
+\tposition: relative;\n
+}\n
+\n
+\n
+.jGraduate_RadiusArrows {\n
+\ttop: 0;\n
+\tleft: 0;\n
+\tposition: absolute;\n
+\tmargin-top: -10px;\n
+\tmargin-left: 250.5px;\n
+}\n
+\n
+\n
+div.jGraduate_OkCancel {\n
+\tfloat: left;\n
+\twidth: 113px;\n
+}\n
+\n
+input.jGraduate_Ok, input.jGraduate_Cancel {\n
+\tdisplay: block;\n
+\twidth: 100px;\n
+\tmargin-left: -4px;\n
+\tmargin-right: -4px;\n
+}\n
+input.jGraduate_Ok {\n
+\tmargin: 9px -4px 5px -4px;\n
+}\n
+\n
+.colorBox {\n
+\tfloat: left;\n
+\theight: 16px;\n
+\twidth: 16px;\n
+\tborder: 1px solid #808080;\n
+\tcursor: pointer;\n
+\tmargin: 4px 4px 4px 30px;\n
+}\n
+\n
+.colorBox + label {\n
+\tfloat: left;\n
+\tmargin-top: 7px;\n
+}\n
+\n
+label.jGraduate_Form_Heading {\n
+\tposition: relative;\n
+\ttop: 10px;\n
+\tbackground-color: #EFEFEF;\n
+\tpadding: 2px;\n
+\tfont-weight: bold;\n
+\tfont-size: 13px;\n
+}\n
+\n
+div.jGraduate_Form_Section {\n
+\tborder-style: solid;\n
+\tborder-width: 1px;\n
+\tborder-color: grey;\n
+\t-moz-border-radius: 5px;\n
+\t-webkit-border-radius: 5px;\n
+\tpadding: 15px 5px 5px 5px;\n
+\tmargin: 2px;\n
+\twidth: 110px;\n
+\ttext-align: center;\n
+\toverflow: auto;\n
+}\n
+\n
+div.jGraduate_LightBox {\n
+\tposition: fixed;\n
+\ttop: 0px;\n
+\tleft: 0px;\n
+\tright: 0px;\n
+\tbottom: 0px;\n
+\tbackground-color: #000;\n
+\topacity: 0.5;\n
+\tdisplay: none;\n
+}\n
+\n
+div.jGraduate_stopPicker {\n
+\tposition: absolute;\n
+\tdisplay: none;\n
+\tbackground: #E8E8E8;\n
+}\n
+\n
+\n
+.jGraduate_rgPick {\n
+\twidth: 530px;\n
+}\n
+\n
+.jGraduate_rgPick div.jGraduate_Form {\n
+\twidth: 270px;\n
+\tposition: absolute;\n
+\tleft: 284px;\n
+\twidth: 266px;\n
+\ttop: 130px;\n
+\tmargin: -3px 3px 0px 4px;\n
+}\n
+\n
+.jGraduate_Colorblocks {\n
+\tdisplay: table;\n
+\tborder-spacing: 0 5px;\n
+}\n
+\n
+.jGraduate_colorblock {\n
+\tdisplay: table-row;\n
+}\n
+\n
+.jGraduate_Colorblocks .jGraduate_colorblock > * {\n
+\tdisplay: table-cell;\n
+\tvertical-align: middle;\n
+\tmargin: 0;\n
+\tfloat: none;\n
+}\n
+\n
+.jGraduate_rgPick div.jGraduate_StopSection {\n
+\tfloat: left;\n
+\twidth: 133px;\n
+\tmargin: 0;\n
+}\n
+\n
+.jGraduate_rgPick .jGraduate_OkCancel {\n
+\tposition: absolute;\n
+\tright: 0;\n
+}\n
+\n
+.rg_jGraduate_OpacityField {\n
+\tposition: absolute;\n
+\tleft: 288px;\n
+\tbottom: 24px;\n
+}
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images.xml
new file mode 100644
index 0000000000..8eb39eedde
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>images</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/AlphaBar.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/AlphaBar.png.xml
new file mode 100644
index 0000000000..bee39ad0d6
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/AlphaBar.png.xml
@@ -0,0 +1,86 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003722.23</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>AlphaBar.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABQAAAEACAYAAACzuVY0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAACDVJREFUeNrcXCGQJUUMTVJtkEgkDkudQiKRSBwSi8MicVgcFofE4jBX
+dRaHReJwYefX/qmeTN5Lev7eQTFVV7d/Z7ZnOv2SvLz0fHV3lel4/fr1/FFevXrlT/8pOX/4POaL
+p2MeJDsPDzTg0iCdAS8f48km84D+ZJPD53D+ZLPJpjczxSfUB6aub2fKZEC/cjN9wuF7BQ5l5Xxn
+yktP2hlQ3yUOT08/FnAWz2+DWTx/5QnvT6UvOWV9xIaeeBNc+Q2H7zdstg/wdP4w2BUcSuHv6YAV
+eNvgHmzFwFNlg++/u4LDLAdpN9q8uOstg55lPbsC+A2HH0xG9Qd8O11lfSRaIxuy6XqCW69WubNI
+0HNQXp59l9nsZHOUl7VpR13B4aXAuxJgvWBqeo+HHzKuUuAwcqHDlL0R98prxnSiO/UywNqCrayK
+SFk8RJxbExxqxg9XIeIAp4qmnE2bLQb1FJSDLcEczMsfzVN4SX5oTfuVVMQaf+zdINzxlNmGSnL1
+7Xd3HO7GTriMFlwnzcva5X8VmxhkKr4QKzXGQ1ZA+spNNhx+/EC97M821Sx8dcJWKx5ax+mbN/Yx
+fTDyJN6M4Ld4aPOJaJNnTm3Ad6PvK8MhwqQzBAziqwg61L7zE/piBoT18ieTc8cc4iTH0Lx8lRbr
+KdoUSb2bYhUFWE/ySGe1IT/UZ9+1if9JgsP9GlQve+IxzIZleauEotFSrCKcma1WntA3HH6a4MwB
+l1nih53q0wGjaNXLmf9qJ0lVi6IN5rDPYM7LMuXlSnPd/ybieDQ8wEH9Qkuz6HLMBdnnUzw0sHpa
+JPhDXv6sUduh82le7kQRbUQk6HrWIOkwbQyia3liX4bBg24z4/AAkQlnGrjOnZNrxhy0wN58UxYv
+T8BmcdCAOVKylKHfCAOz4Nv7uQ2HnycagoO87BXnHuDOVQkBGe0gNA7FQwcPUOJQSbRW4BA+52Wf
+cLgPOmmuSnSd9AnZkwqaYkbnVtKlVmS+4jZeqE3x3C0efgFw5okG4YnNKZ3TgmllPj3PBsp9SgIt
+oy46+7IUrKCq9+weDw93DnlXYz082TRqFClzcDK9Dv/xAYzbKcuyw7JVroKtE03iFg+/nC9I9EMH
+51s6NkqnkYdLV3Zm6ZOlWZmBbYRl2UKk0RmHc961kJcPi5bUMcqkKm/688mHY3AQkoMrIm+R2xhh
+pdkiOLD73k/5CnBmB5qsJ5psGrEre7X6BKOgGoj+RipilfalSeSRIuDqrNtkdUimy/jku5rlmEHc
+qbJf6klIZmHECPn47RpL7GFE6FHCYvWOw6/noBlwhvghrKcRx65sBpViFByksUiKCKdmAJW6N58u
+5kjqEAE5REOOufu2ZXlZCkUpY7COtC8tpGRtcEXNdNeIRU3+lbXehsNvEl1GkzpEEo3BA9ehLSQW
+aSIq9p9Hk1drl3iOJFhW+0KY13jE4d0mc445PMGUlz3UMR7ZV7cCVWZfI6W/gVoP6WF6f0Il6psW
+Qfak3Ww4/DaJhxryMtpvM9d+sJ9iINx749pTTkG2dFB+nAA/imjNdFlPhfGQlzP+Z6Hv5yFvO6oC
+lFAORvmo3NepkY31WEbBFIT4tyHd5js57reRQus6fA423cMXqt6ZuylrZUoyBSt0xTQlDHJX7+SQ
+eN09HiKbSKinK93mlFMynHVYg2Yc20jJ5USeSqsAJ4MudX82HH5P+iVIg4i9A+9oDpWXpPSvAxsB
+oM6waSOxm5NVZpFn76ccFiNwaiW90qw2tEEkgFg/d1pJUrXUkcysqA9jgQtmi2NJ8o81jc15+Yeg
+ZXmSY5To2M6ijTQUY4QGRfzQijRACyTWedSGsnS6KdoHy/RDAZz85HpCpog0CEeuhy5SQuFEyGY8
+IclKCZhP3rLh8Mfgu0iXkaT2i/xQRzOrdUo3QTq2NEVyR8EB9pdYEEAKaKYforw755Co6xxkFsvw
+RGo+Z0wMkSVH7Y1iEVOypI0cgm5w44c/JTbzEA8lqZc9O88qKTRlYer8ADyG6Q7Opt19LwDZ+Bxg
+pzpEQl9PEv5npDdgqKyQwq6IN6aCpAruyTsrGqMwboD1s+Ixq1BvefnnBGceelAOegMSbOrVfhvE
+rQX0A5QtSiUHSFXrSaPyFBCdTvttRPgeJU3ydur7rPMoDbeUbMorzVYpyOlpn4MvVPZpA2fD4S/A
+Zlm8i3vYT3s6u9xGGunh0BtFzs6SeyoPDqZJd7hMxCbaB5vlEAu+a4kWlnJsNl2mT6T7satelBDK
+p1H78kLI7eiyt3j4a6jdsnpZmrqOjCKPIA0HpYP2+8tVk7B8T8rJ72jkYXVKtJlJsleOvTfaYVyV
+OuJVX6/a577coLGGXnPqL/8WuAqql6Nuo6FXKqyVuVLWSlWAr7504CurXA16LnxAf7nSwoThsFLf
+OlNv1XqVO6ZuuPK+XqsXsOHwDcnL2d5hatOVr1/QBhLKRL9aovnqi/lKqtSDbqOAq2ScW+T83sAh
+pyihGN5Vh1lOUdLikCo/D/JHVbBIc9GGw9/l3D/O6hTp4rDTNtKmK8J9X6uuuNTkWoo6I/A/fyAe
+KprylRDWDl+I5nmX21TBoJzJhsM/iE38Cg672kzr6AjjHbt61A+90F+7hPSwD3b23YxTd/Kyrn79
+QumaV/Jy60s2qmKxE2x3fvjnCs6S/YmteNiFz7Ivd0mUrg7YPsaj34HxEt9vwyP24oClDnblCVl1
+dcvLfy3iUJI6ZgmHS5DquN4abIS//bFeBRAc6qJvvyVP+TcGXFqwDYd/P+K7V79n6b9tw/9HPHy3
+A/ojN/lHgAEAu8/LmSCgrTcAAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>256</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>2195</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>20</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/Bars.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/Bars.png.xml
new file mode 100644
index 0000000000..bfe288d820
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/Bars.png.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003722.59</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>Bars.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAAEAABAACAYAAACzl4viAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAAAP9JREFUeNrs3FsPgjAMhuFuF/z/30sgtQUPiVcb4CH7XmKeTNebtbMR
+FM3drVocAABamMcjRpONQqxo9brGkzrnKgchSxWFmrJuY2C2eO6+JfffbKOQG9Brrm8Uok65piUb
+xZzFG4Ot9dnj81959sSGUetE6Qk5ONEV8gPqdcEHZ7smTgf/+2vXBH+uWqeDv8aZt2TrRFcvaZh4
+H9njoP/R/+h/9D+d/redUtU8BaluAACCODkAAE0KOQAASfbvf0kEAGi1vtf1PwMAUMTJAQBIUsgB
+AGiy/1qdRACAWOvbbn3b7/8AAJDDyQEAqFLIAQBIcv9bERIBAGKtz/wmwAB6qrlXgltEeAAAAABJ
+RU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>4096</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>349</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/Maps.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/Maps.png.xml
new file mode 100644
index 0000000000..a89228293f
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/Maps.png.xml
@@ -0,0 +1,1490 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003723.64</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>Maps.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>2816</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>81378</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>256</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAQAAAAsACAYAAAD4AvcoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAABPYRJREFUeNrsvYuW7LxtLgg6PWfulzVrzQPnIZNHiHNWjnOx4/j3TRj3
+7pIEQgAIkJRK6g3Y++/uKpVK+kSAwAcQLIgIKSkpP6f8KiFISUkDkJKSkgYgJSUlDUBKSkoagJSU
+lDQAKSkpaQBSUlLSAKSkpKQBSElJSQOQkpKSBiAlJSUNQEpKShqAlJSUNAApKSlpAFJSUtIApKSk
+pAFISUlJA5CSkpIGICUlJQ1ASkpKGoCUlJQ0ACkpKWkAUlJS0gCkpKSkAUhJSUkDkJKSkgYgJSUl
+DUBKSkoagJSUlDQAKSkpaQBSUlLSAKSkpKQBSElJSQOQkpKSBiAlJSUNQEpKShqAlJQ0ACkpKWkA
+UlJS0gCkpKSkAUhJSUkDkJKSkgYgJSUlDUBKSkoagJSUlDQAKSkpaQBSUlLSAKSkpKQBSElJSQOQ
+kpKSBiAlJSUNQEpKShqAlJSUNAApKSlpAFJSUtIApKSkpAFISUlJA5CSkpIGICUlJQ1ASkpKGoCU
+lJQ0ACkpKWkAUlJS0gCkpKSkAUhJSUkDkJKSkgYgJSUlDUBKSkoagJSUlDQAKSkpaQBSUlLSAKSk
+pKQBSElJSQOQkpIGICUlJQ1ASkpKGoCUlJQ0ACkpKWkAUlJS0gCkpKSkAUhJSUkDkJKSkgYgJSUl
+DUBKSkoagJSUlDQAKSkpaQBSUlLSAKSkpKQBSElJSQOQkpKSBiAlJSUNQEpKShqAlJSUNAApKSlp
+AFJSUtIApKSkpAFISUlJA5CSkpIGICUlJQ1ASkpKGoCUlJQ0ACkpKWkAUlJS0gCkpKSkAUhJSUkD
+kJKSkgYgJSUlDUBKSkoagJSUlDQAKSkpaQBSUtIApKSkpAFISUlJA5CSkpIGICUlJQ1ASkpKGoCU
+lJQ0ACkpKWkAUlJS0gCkpKSkAUhJSUkDkJKSkgYgJSUlDUBKSkoagJSUlDQAKSkpaQBSUlLSAKSk
+pKQBSElJSQOQkpKSBiAlJSUNQEpKShqAlJSUNAApKSlpAFJSUtIApKSkpAFISUlJA5CSkpIGICUl
+JQ1ASkpKGoCUlJQ0ACkpKWkAUlJS0gCkpKSkAUhJSUkDkJKSkgYgJSUlDUBKShqAlJSUNAApKSlp
+AFJSUtIApKSkpAFISUlJA5CSkpIGICUlJQ1ASkpKGoCUlJQ0ACkpKWkAUlJS0gCkpKSkAUhJSUkD
+kJKSkgYgJSUlDUBKSkoagJSUlDQAKSkpaQBSUlLSAKSkpKQBSElJSQOQkpKSBiAlJSUNQEpKShqA
+lJSUNAApKSlpAFJSUtIApKSkpAFISUlJA5CSkpIGICUlJQ1ASkpKGoCUlJQ0ACkpKWkAUlJS0gCk
+pKSkAUhJSQOQkpKSBiAlJSUNQEpKShqAlJSUNAApKSlpAFJSUtIApKSkpAFISUlJA5CSkpIGICUl
+JQ1ASkpKGoCUlJQ0ACkpKWkAUlJS0gCkpKSkAUhJSUkDkJKSkgYgJSUlDUBKSkoagJSUlDQAKSkp
+aQBSUlLSAKSkpKQBSElJSQOQkpKSBiAlJSUNQEpKShqAlJSUNAApKSlpAFJSUtIApKSkpAFISUlJ
+A5CSkpIGICUlJQ1ASkpKGoCUlJQ0ACkpaQBSUlLSAKSkpKQBSElJSQOQkpKSBiAlJSUNQEpKShqA
+lJSUNAApKSlpAFJSUtIApKSkpAFISUlJA5CSkpIGICUlJQ1ASkpKGoCUlJQ0ACkpKWkAUlJS0gCk
+pKSkAUhJSUkDkJKSkgYgJSUlDUBKSkoagJSUlDQAKSkpaQBSUlLSAKSkpKQBSElJSQOQkpKSBiAl
+JSUNQEpKShqAlJSUNAApKSlpAFJSUiT5+Ns/fP2Dxs/Wa+h4L/Ka570z/y0Dx0Re97zWc8y7/+49
+ZhauPcec8S86tluvefQNvHr9gYhpBi+Wm2Fe2E8Y/ZvcX+szkde077COPxzjxd46TnqPv2YdQ9/T
+XqP/1teWZal+/+tf//rj78/f//KXv/z4ff35xz/+EX755Zcfv//ud7/78fNf/uVffvz8h3/4hx8/
+//7v/z5DgJSUnzoE+Jk9gI5798xo0ddL5/cUdi+9MzaejNnwOVrHC+8X4Zgyazb3zODaT+01PsOv
+f6+v0d8/Z/7PmX71AP785z/Dn/70p23m/5Q//OEP8J//+Z8/fv+3f/u3Hz//6Z/+6cfPf/zHf0wS
+MCUl5Zt4AMY9lIHTSp/FC675ag/HxQFEPYzXdzc9GWVmdsX6Etfweg1HZ3Tp/NbMLs3w0dl+PW6d
+7T9neDrrrzP+5+z/+e9z5v+Uz9l/nfnXuP/3v//9Fvv/5je/+fHz17/+dcUFpAeQkpIewP09gA7G
+d/qM/YbZnN5nccS5vTM4zrgvx7HFmu21Zyy9LszgxRHHF+dsL83cGJjpi8Tg89mfz/bUK1hnfjrr
+r3H/6gF8zv6rB0AZ/8/Yf/UA/uM//uPH7//6r/9acQGrZ5AeQEpKegD38QCM/PHls/qEmd3D3FvH
+4RnXZ3gSRZixmx6G9czYzIyt627E6kXxhKrvMWb14pjpwzG+8BquM7qQwy+aB8BZfvqPxv2fss7+
+lPlfPYD/+q//+vHzMwPw29/+tprx16zA6iW81QA0lP2uSu5OA+IgsEECz6OQWkiAPd8vKWfr2Squ
+umkUyblQMxCCUhfhmJABaCm9ZASoctPjiIuPXNk/r5WSftwAULefGoBP5acGYFXq1QB8hgCf/9bf
+qeKvn8sQICUlQ4BrJlvDnbwTUVcaszvODBMi7rgyu3YTeMIs7U77CaELegpqlM8Wi9ST3HjH7I5S
+aS3//p6Z3/OPk3q0qId7AJ9eAUn3FUr4ScQf9QDW1B/1AKgnwF9bj1/PmR5ASkp6AOdOwArRdfqs
+31kcNCUlpnACHmIQI9/VSA2WxjMo6tTdJupKZ3xftPt0FuC4PAAlzi80rWfM/kWb9aXXecxPZ3+N
+6JMIv9eCHqQewOe1eDyATwKQpwHpa2vMv/6kHsBpBsDrqp6s8N0E4wg5KCjDqGFp1gG8vrPne0Tj
+pIUAwUq70vhbc/cL/Z4W2acZAKa0xenmo0D4FY/Lzw0Ar+On/+hKPo3xfxmEwg3ASgDSEID+zl9b
+FX/9/Po9GQKkpGQIcE4VGyVkLpz1u0KNAAZarnz0e8IehGO9ujdvj41Z3DubS7O76inwUMKZsy9s
+dkdl1pdm++JJ5ynuP0oegTbztzwAqcZf8QA+Z20ks3dZf/+c3WkakM/2nz9pyEBdf5KCnG4AzLjy
+BKXv5hY8pavyx3CmgWq67p7wRuNZnAU3RXP5j/prF+o42PwmW2+EBQcl1l5XSneL4fZriq+5/MgW
+9RRJ+SUDQMt81/dWxl8xADTuX2+60DoA/vt6PFd8+p1nGIBykeKXixQ+RMgZ1xg+p5QqE95Hr5Fo
+xPjqNbH7KZbCe2d7a1a3ZvZGrF8cq/AOs3hE6S2ibzUIqzGg9f2r4nEjYBX9rL9/KvD6Gp3RX4ag
+SMpOf/IuQet3UkyTA0hJSQ7gnrO/4u7P6mBjhg8D7Hz0XBrDb9bOW4U8ZIZTzyF93pjhrbSdGEII
+s7vb3Tdmem1VXnEU9XAmH6VzeMp7pXifuP5IPQEaAkir/GgIIHkAdEanv/8t5kfKCXB3n5YOc9d/
+WghwUQpxlrs/ReEtNzxidCyS1OHOR0k80YVvue7sM0VJ32HA5ReJQgfZd4jjuWGgCk+VeT3ub4O+
+5fJjK/VnpfuEaj+k9f40DJBCANrii8b/Wh0AzeXzdQLra/Q7qOJnCJCSkjIlBJjO+jPCatTdb3oQ
+LffcM+M3QhaVKHNet5gpkD5jNM9Ax+fEEEKr1jM8ggOR1yD8ijajC8epnoGWBeCfDfxDzvI73H+t
+2m8LC3gWQKr7//x9neU1Uu/z3ysM+HFe7u5zL0PzAEYMQLmp4s9Setf9KeFKAQfjr5UHS9/rWH7b
+ivejZblmCk8JHYoV32NNCFhhQfG6+a+B3UrxIWHlS5Ttp2v8gaT8WsovdPipDIFmAGgaUIrp+XuU
+D5AMAI/9ZxmA2S2iyyTF7yqH5UajI1WH3u/hutP6jFQYFCX1jFhfI/EkZbXOX1qzfosDcJCANLZH
+KV4XlH/jAHisD30lvuv1FssI0GIfgQCsFHZVfjqLS69xA0A5g1WoAdAUf8gAzCT+Js36vYrfswin
+SMrrceW1EEL5jMnAaySdU9H5ZzUSUfQYOBPPjZQwk2MjDDBDAKao2kzfzPETAyASf9wYSMrPZn7k
+eX+HB0D/ISUIJRKQFwdJxCFV+h4PIEnAlJQkAa8n/qRc9QUzf9RlV8m01gxu8X6NDrjo4BgOxKAV
+w2suvUQCGjF+MWZyHp+LXgH1CKRYXorp6bXQphms5VbRPIL1eMUDoDM8arX+kby/teJPWfmH1Aug
+7j6f9XmIQGf2X375Bek4oR6I5PoPcwATuINe5R9R/J4CHQwYo5ZtLDK/1yTtiiPuN2v3BWKvNI5T
+OQSuXErcLim6x90XOQDC9qMUGhh1/agUAjVJP439b+T9i8YBUCPAlBkpMUjdf6709Hcp3l+Fr0UY
+5gBuQvhFF85EFb94tFhoioEt4+Os3y+eKj5ODFqMvJbWs0hAKc5XPIBIfI8SH+Fg/A/HasdZTTzo
+Ap5VSR3EH/LjHew/0nQfNwCS8r4U/UAMakrO32NNRrfXtP4IvR7ADNe/9xyR2dj0EhqEIAbKdptK
+3yDlKiPSSOWZq+gCrH8RfjdJPSOFJ6X8RPJOMAhIu+VI54qw/a+QARtVfIV7BSAs61VIP9UQaEbg
+pZxFMgBGB+CKGNS2BtNWG34KDQW0mT9JwJSUlD4O4KrCoUiK0EMMeghBRw2+K+3XqPgrwfjf6+Kj
+QfBpLrtGAqLkEUgeRjDHrxF+KHEFWjzPz0Nndy004CSgRPy1Gnx4U3+EAxBndM2dX1+jxKBW2Sel
+GRUyWHzvagNQOt3+aCWep/LPE7d7ldlLAB5i+4YL31JmL8kn9dQrUlglGQSD5S89pB8n8AR334r/
+6bGVwdAYfno+bxaAu/lKuS8CqwjkBUDMzUdKDnJ3XikPRhBWFEohAG1BTrkATfHDJOBkAnC28ntn
+fa/im9/PmXdLoZ2xfTGOKa2UHzcuDpIPlfZZrvcFD6Eq0uHHGMqO2nJezhVo9fzrAZyx17r4gFHs
+I83yDfbfTP8JacBqVuezOScN6ewuGQDteGoAZpKAI3X/0c9Gld8760eq9tBLAhqVfBgNAaRQxpjl
+1Rl8ssK3PAS1Rl8g/aS+fEVTdMv9F0IADwkoLvCRZvvXl6nlvtQQ8NSf5OZTI6Aps5UZ4J/hsz5X
+cro+wDIEl6QBI5mGycrvSQM2W2NpWQhvGMDShk33XsCg1VijBFj9iMIXIX5HrQ5AaOdVWCx6MCbC
+Qh5sFPx4inwOxmI9hiq4I/avZvlW6k8KA3gWgB7L43nNxedxvpUFsPZGGCIBL6gY9HoKxdGMw5v/
+9+TbrfCiZTw8cX1puP8eTgAbVXioeQiNGd6q2hOLcjgv0CD30AgBTEVnfEGxlvSuhkbK/fN4Xqj5
+r9x9ywisqT+pEpA1AznM7JqCr12BJT6g1QfRo8OZBkxJyTTgeSFAoBsvOlfjeSr0QoSg4faPzvyt
+9J028xfjPZV1b6XxGp+TOIViFPqUxmx/IA6loh+liKc509OZjxbqGJ5AMQp+VOKvg/0/xPnczSd8
+wIFE5B4AfY5WFsBK+b2DA3A1xIgaignKHyndRU/4EeizV0Cp6fe681r8rhiTHoNQld1KbL+W0pNC
+DsmIWGEBNxSSojMDI671lwzBp8IJvEAzA+AxAkLbbzGFJy0VtmJ6+torFDgsc74tBxBosukxFLOU
+30UG9s7oDdY+wgFY8f8hNagoqdcgaDF/MZp3FqvOXyvykeoCtMIenjmQ6gBofO8lAb3kH9gNPzYj
+IM3u9JiWAdAyA9IsrxmMFgcwkgYME3kRd95xnOd8IaKu5RV4ZnTJ6AT68TVnbcGQiEZGYPE1Bl+a
+6Vsuv1Xpp+b4wc7vHxS+FQKw/n5aUw8XCSjt7mO4/S3ir1kVqLn5XNmloh9plqdrBaxNTtefdCeh
+IQ+gJ/6fed6Bgh3PrG+5861SXW1WjxgMK1Ogdu1xpPVCHoDX5Rfie+QGQmP56WeMBT5oxfrcvV/T
+i41ioAMHIOX7lcIflBSYhhaWEZBmbSmnz+N3q9pPUnov69/FAZzg/rtm/8YBI8rf4gJKBwdQjBje
+iu+tFKCX6CvK+v7i8QC04xWXXyvVFdfpK4aADmopttWKekqPe0+/x9PnT2r6oYUElhEgW4OJ77M0
+4CFk4B4ADwNmpAFnGoAQ8edw/bGxbt/qttNSfgzyAC1yz4rVwyGAMzTQDEs1oysxvejCGyy/5vJL
+Sg9S/L7O1AKJVxq1/ai97uEAiMIWze13xv5qBoAbAWl34PV9pVfBwVvgr9PPrISgVQmoeQWXhACO
+hhtdyu1431Oxh61wIBgKuMKAjhCgVcjjCRfcHoBjRlddfmmWpwovxPbIsg0Hd52z3Uasb3IARKEL
+V3Qt9pcUnfMCXiNAFVQj/NZjOWcgGQov0fcOD6B3J93w+5G8fcR1d7r0VmyukYbFSMdpS3TRIgE1
+b4IpuGlQoh5AS7l56CBkCqTyXpQ8BSWdh0oHXzQ6/RxWA1qr/5wlwKbLr8XvWtzPlb31GQ/j79XH
+Kw2AJ0Rozv5abN7wCpqknHRdnhqBVhggzcoKIVCUhpzFaNEVcfHVa9MYe4sk5MqtMNPIjQb/fikL
+QNYHoLKm3/u6q88/6Cv/DooucQqacZCUnNcI8OujnIGH6dfcfa/OzjIAHlKvOYN3uv6zlV+dxQ2C
+z+UJNHL3qpFokIBuBddcdmHmdhkI6fO8dh/0ll5o9PkrSv/+Q7jwUixp599ipfVabj8nAPkagcZ7
+opJLNQL8O3k2QDMAUmFQywPorgScka7zGoge4xAMCVrhgDcUsBh8t6FQvAlspfw8LD6bwUc9gFZW
+QOIPiuYRSMrqcfVBXuorLegRvQRJabW8v2O2P8zwViEQn+m1nD/1FIztztWU4Ds8ABhUbrMQB+y1
+91qMjh6j4GDym+e3mHolPgevQhtegBSDSyGBSgpqHoCk4NpnGww/Cqv5kIcA/F4arr6WBtQafqyv
+FyntJ638U0hA0/hISs4xEeoHDh6JRfhpyh2cGNsG4F2FP0HiLxoSNJn51kysuPaSR2FV9LlDAMVw
+SCRgK+Y3DYRHwSVlZp+VzmfV6FdeAgsN1BBA8RKKtSjo9XqxSn6lkEBRaDXul0IIPktbRUKteP9K
+D8BbAuxO61lK3ErLeVNzkz0CjzdQjB131NSglvM33PqivWYptMXiOz0AKc8vVf41jYhlCIQZXSXB
+pEo+jQOQKvZ6jIAUDkiLjaTQQiL16H1ZhB8tDpLe56XBmlglwR8d6bbps3tw9g/l60c8Aqs+f0IY
+cPaMzw2LttjH7QFIMzjUu/OYXgLZwkt8TTtXa9lviwNYiUKj+Qdq6UCl+EfMDkieAx2nWryvKbg1
+y7fKf6cUAp1sAHpn/ylGwcrVewp9tPi9ZQy072hstW0Rfp4Zf8gDIKk51Pr9WSSg5NorjH/LQxBL
+fiUOQKj1L41FQFqpcJN4lGJ4/jcvEvIQfhEDEHX9rzAAnqYb4GTiXbUEg8rvStkpSu1N93ncffX8
+E2Z8twcAjdJeKccvkYAzQoCWq08Ng9LwU1oMhF4joLn9UhpPqwOQwgQtfqffT938iP559XqKARiZ
+/U9y/UPHtgxCo4xX/WzDE7D4AKnOv2vGt9J6SppP9AgU0k8q6T0cI9QBoFT04wkBJMMgrQVwcgAu
+I2CkApt8gDRjS4Qfjfc9s7zHxfd4BSMGoHTM7r1KHvEWwobCGds3Z/SBWN8yDprB8JB2h8yEkKM3
+wwXqvlukn7Cq71D6qx3TyAyohkFSZKPev1gKHzEC1mvWwpyou28V8tD3afvwt4QAvQZg0DCMhgMe
+b8Cq9EPrb0esr+X9VYLPmOG7ZvyIR6As7BE9AqJQIlHIquA8M72YBqTn1ZRTqi2wipFaWQAlI6F6
+HDRMsMg/zQBEa/ujx55lAMwyW2uG7jEaHR6BxyAUR81/kxNwzvJFc/eV2ftwTmMxD3r/VjwAMe0n
+eQhamS8cy35RWSF4MBSNGRid/QB4HYCU+gt5Bxb511JoKb3Hi4M4P8BneU/572VZgN5zOJTcrNCb
+/VoDPDXnH/AEpMVEUj7/sBhIWO+PSrVg+O+IByC93woLtJV/GkloFBAVSVGN6j8wjjPDBo0sNBqE
+aJ89kJJ8rEdZ/Rlb9T3BAJgVepHXerwBbUWeNas3sgPFKukNuPea91GcKUBstPRqHm8pPrufopGC
+NEzg4YthKIqi4FLMXr3WIgEbnYM83ojaskxrBuLxGiyW39sA9CwSMKrkPWGB1/WHEw1CK33nSQ1K
+ym+GBJKXwI93fr7F8jdneI3ks2ZzOJb0qkotxOFF8Q6sjkBSfr8ZVrTi/5ZySwrsifeltQCt6kDN
+OLzNA2jl/nsIwEmz/5BBaClyIN/fmuWbyutx5zlLz/7u9giE93lKz5zdFe+gqdRaCGAQfS5D43Hz
+IwovHaMpr3Y+K6bnx/GagFaa7ywOINL6u1fRvYUOwwbB8AZaLr62Vx8aFX7gyP1Ln9c23tS+qwis
+vZv1p4rjnPHFMmE+u0v9/h27+nBvwer+oxF6lZHwknt8Nu8xFK0qPp7/9+by+d+acbjaA2im8WZ5
+BZ4eAEYu3nVMgCdouuzCzN0kBrUKPulcjlm+h/VHR9qvteKv8NmeXr8SAmgVg1pfv2afASEO9+T0
+hz0DjTRuxfSSYejt+nNaJeDF5J+ble8h8yLknjBze+N9sa6gZSgCJJ8164segjSLCzE/GmlAy+0v
+mmJL8bNlFBpKXBz1BEUjDy3D0aPwmitvGQZv+6/edJ/qAdB1yYMGwDXLW4oOjS473oIdj/JDe/HP
+gWUX/i6SCw9CXb3i7vOHvA1o4W/UYr9Wvziex2cewKrwvAy1RFxZ9nchRqPQfD03RtLnli9tpn+v
+x/yKGZgf8jfDQM9L1wMg+fyvXkYCyXmRFQutx68hC9LPrH+z7sDba/QcrM8/0u+jBpi+Rgw4IrPu
+9LW1JoCMJxTWoxzOQd9ef17hAbhm9EBfAqvPX0T5WzX8IS/B8EaKVnyj8AKStyBxAMBne4FbsNx8
+leRTXH6T0GPKjBZR2PocbfBhcAMtht/7WZf730MKWnUArZbe2qYpI9m6d3IATaMA7Z1+3MruiN8j
+BqMY9f2tFGDLqKiKaim78jlXSNAgBYsjpUc5BMtASMpdGgZC3bpLqw9gTUFVIyDUAXjSet1GwVJy
+SbHpaz3612sETjEAvZbKs0qvQ7lHvIPibNEthggGN1ACx1mz+SHG9yi4kSZEzaOwqvq4gdCUWynl
+PdyjFetbW4A3lFRch9DyGlrhjmUUVmkVAmkkYavtV4dHPc8ADJb4zvAiVM9i0t8uQ6GFCEotgLhB
+iFLgUzoIvhbrr36m5VEIn68USmjjhcLMrBXjAImVwagpKEoBj6fEuOklzAoFvLzMaGHPjGKgD+92
+2BBfyCNtyy3G9MprzcU6J//tLRCyluqKrrw0M3NlNWZ6VcH5Z4xKPpTSfqwDkLSyr8oKSAZC8xq0
+EMBRB6AqujS7ezgAoS+/W+k5llKVZMsLIH+D9ZpUMailCa3zarUCqgcw2uG3J3TobXU86e/WDB7y
+EhxEYVEU1xsqmGGCFTJ4DQQet/Lm/f1EA8GIy9KaqaUQwFoLYM3uluK2vARpJo625vJu3dWqA7hS
+LjMAUaPgmf09xT6Bwh6V/dc+12D70WD3VUWOuu/aeRt5frRKfR2sv/Q7j7EPM77m2lvncrrx4CkF
+tpTW4ep3ewmehT2SPnh1bISsf7cB8K7OG5rNO41FJPVXAqk9tDwJqTjImbbT4vswB+BUyoN7z0lF
+K42neQleRY/M7uScXfG+Fio46iGqscnPp3AnTUWf1cdTLQTqNQA9aT7HeSBC3HmVXSgesnbw1QqC
+PAU+aMT7VZFPo4hHPYZX8UmFPYL72ioEAv4+u7dfscyDVNBjFRPRY3iN/8KKebSCIaQFQlIBEDtW
+fJ3/7SkKou+R8x6KjJjBRVoYpBX68PNSDoEfK/yNUsGP8J5eCDTBAPR+pjX7txTcle7zHmsdp5Tx
+ojGDV6FBT6xvhQ5kdvHE/GoI4JnhOXknEX6OTIHpAUizY0+RjyflJxg+0xOQ8vdWPl87vlUzMCqn
+bg3W2FPP7f4H1/Rb59Q2+nBVAjpc+568vqnYEnuvhAXS602Sz8gaWCFA83xWFsAyGl53n22sqbn6
+qGQoQDE6ZhWih8n37lzEvR7JgEihQZQY5C3E3k4CWtuDed3/wLkjM7o7pedQZLUGwDIKThLQMhZc
+4UDIWnCFdykz4wiKUeijnUMtA/Yqu9NzKBHSMMBvqN5DS0mltKAWs3tnecmTiHw28t5lIcAJ7n+v
+wrt7ATo+457VvbO9wOCjUQgUVnhqQKSVedKM7jEIgmuLjTSg2ysgcbO2dLi0FFiboTX33iLoWl6A
+NwywZnlPOH1aKfAFBmDI/Z+k8N78vqewR13FOHO2bym8luZT0oLAWHuwQgKlUIi7+1pRjxkmeLwC
+QZHF17UwgZXjupubSDO9pfRaXYAVBnCSb3a139QsgGOzEAiy/R4ewVWfLygrWIrcqN6Tlv9Ku/JI
+HXrp62IpsEIEoaDM2vlcnxMMQrOghbP8Enu/vi983mLuF+l9gfGXlv1KxyLbjENj57flwNIxfMmv
+sGQYtM9ZWQCJtWfHHjIEGqtPlhjT8Wsx/lOzAO5dgDpm+4ir35ztrYKe1nsGy28ZDzC8A09mALQa
+BIPBP8zYjAADoY04WF6F0KlH/LzhMaizqRYSSEZMm+klUk0wYlrIIhJyXna/YTSxRcJ5QgPpb6td
+mJMgbLYH+5gRywc+Y/YT1JqMGu6+W0lbCm+QiuYxxnercbuD0QctZSe56IrCc1ZfNRiaQltpP6H9
+trQyUe3EqxQLoUIw0u8oPUZAY+W1kMEi5SzDISj8gaVvFApBTyjQWnB0FwMQjfUjMTz0zPCNVGAz
+E2DE8Nia2ZXXpJz+wdAYHECL1Ufu0is5cBS6+xyU0cGsi0bEqNBDaemu9DrrrmOmAa34nSmmyEVY
+XkDLOFgzdiT2P4MPGDEA0RZgrtqAFn/g6A4cVXKNRzDJREP5xWOD4YLI4jtIvwNJZxT6WC6/RM6Z
+pJ9kEKzVgI3QAbwEIMkCmJ2GNA/C8ia8XoBmHCzXfGRBnNeIPMED8CpoZMb3kIemJ9Go8nMpr/H9
+6muNrAC2eIJWUY83JBBm1VYdgHcmP/zuMRyWu654L6rxaB1vFRlZXoDFH1g1BF7ln9UR+MwsgLhd
+thSXN2ZMd+jgjemtohwla8Br762OPGoGQckCSMtuxao9a1YRZnFthgdSg+DejprW8VtZgFbDUPaa
+xO6rr2nZAc7WvxYOFFLvDzzk+NssuRCG3mT1rZp/z++Uuec/pdd4eCacF7T3BY7Mkw0IZwGmegee
+VB84Fvw4Fb55DZG91TSiz4ivXa58I56HYBbAChE8JKDl4keyANCa2a3XNCLP4X1Iz9PV5VgbB1JJ
+shVKWE1DvM0+r5A7GYAut8fLD3h+d8b3GvPudvV5rN0iBi2XXknrqQoMjUrAVszfyAIUK4zgHpAS
+v6uhQ28IIJGFkd+taj0v664ZmpYezNTPtxiAzvg/rOy9KT+PcoNdvisqsNdgOMnCpuFoxPgmJ2DF
+/C2OQDIaWnGSlTt3EIMhL0IyEp2Kf6jJb43faJluNHX3KA/AuQYArLh8IMYPG5NICGDtzxcNASwG
+X1BmkJqAKpWCByURQoImaahs+tHaDgw6ldcszW2dx5Mb927b5akxaBgSMD4D4NgXsIcIdNcBzCAB
+HZWDrZ19ojfb69a7WHr24CUWGxuFQKCQh8Uo5jn047MGseYGKwov7QxkdrBlJKBaxqt4HRoRKBJ+
+rD5AIwYPZcAgNPsQ6g2QbAAK3OvRSoAjJODnrVm7+wh/I0uhH0qHNWJQIfXeTgK6N/UIWLPIGn7L
+5YpmA9z1AhZX0ErpNdJ8EKgDQKkKkBkbkxOw0oisLgAF4lH9vFAHAB6ewKrOGw0BpIKf1u8t999q
+PsLDmx4eQHqvtbjoNnUAQQOgrhsYyPl7GX21iMgKAQK7AGGrek9RaLUOQKmWUzMJHgVnhsTyUg4h
+gYed99QPgL2wCTzHt7wmqytQxP33CEuvutYOzJTZTUFd9flepQW9Zt9dAxCpF3DyBO5Kv1asD4FK
+QEkxFW9EjNElklBQvkNaT2H9D+drEHUHQyEQfJIxaXIHjpleVTIPR+AhATWiziIMPeI1Jq33PZzC
+LAMwktpzLRfWDEWHy98MCQwF9xqPFkNvzuaKsbA8hcoDaBgPsZZACxGcrL/KW7QUViMeW8rqqRJs
+VQ1SXsWTCbCMhCcL4FkwpJwfQOkEdIaX4CYBByyUN3bXSDtzRhcIPPSs0AukArXzADNmRSvCsd5j
+hJ/m/pZGoQ8n+VArfNGYbse2VlXlX4sklI5ZK/bYMWolIDeWtJoPjp2BJSNbEXwayad9pkUItohB
+OnwlwpATdJw0VI4DWm0ofXYmCWgu31UUtHl8IN4Xzzcw47c2/+ju/e/xHqzyYyO+N+sAvC5/y2WX
+CoWskMDgENQZXzkGQN7dqFXbL/bM837OwwFYM37L5Udhe3DN+Hp4gU+JNgH1HO8OAQZ39hly93uV
+2qn04PECevYCBH0LL5XwaxUGNXgCi/RTSTslEyB2Omqt1Xeu9GsRgwB6KbBKxkWzBxY5p8X6RuFP
+U4m9ij6j/mY6BzDBALgJP0+qcUSpnZ9pHe9S6NZ7aG/nbc64cFz8I6XaZnoAqkGxfgpezkFhLEXX
+DMb6OdS3UgeFozAV31oNaK0QjBiDGcTgHTgA1eWPnkNTNk9eP6jo1mekGRwa/AIozLa2DBYcx4LH
+hdVyzNLAbhUGKTE9j9/F/n+Cd2EV/kir/My/aXGPFusbMTn/brS4Ai2W1wp/NK6APkupSEha5Ses
+7uNxvMQRgMA5SDzBWCFQBwmoKbZ2wV733+tBtDwCT0oOHAVAVrrP5d47PADR07A4hobHYDLyWvwO
+ZDGQJ2bXvAjJA7DOpcXeWvhhGUBtpvccN4OZ18KAxusw4lFY13emAXApa0eRz5CCB47zGAtPCNF0
+90HfJLRE3W3JpY8cHz2/gwMIGQnFazlUDWrKKSmS1jIsEgpY7rk3TDizoOd2HIBHsTtSh2crfYvk
+8xoLrXwXWtkBSXklZTYyBad5ANb5e35qxTRKTI9SOtSapVvhk+SJeJU8clyvQbiiV8AUAzCQ8msu
+CooaklnGwdMExJEhAEd2ADqUR4y5tfBghgfgdPvBa0Q0LsPgLKTvNz0GJWULGlnY8h5msPFWo5ER
+g9G9M9CMQiBlxV8kXlcVs0EQeog8s1AI2isCEfTSYAB9+2/psxpxJ874XvKw1d6Lz54OEvAHgcc9
+HzS2+W79zQuBtOP4Jh/SccLqQVCIuAN5aLTxEglBiQRsFQY1SDpsrOzjhN+hoIeTihrBN5UEhOCu
+P9qMbBCDPaRe1OUPeQZKkY/kvrfSe62W4i133PM5KW+vGR5PCACKkh0Kl5weg4s74J+z0oPMMJkx
+fE+87w0vtAKiToJwiPCLnmPKasDoTkIRwi9SBBRw+ZuGoxUCWGRh0KBo7b0s5ULrc1bGIBACgJDC
+VJW7sRZANURWLYAUpzf6IagrA0cU37uar+W2txYkebMHM3mBswzACC/Q3CJs0CNQST2NAJSMQutY
+q7BIYfhBKQ8Gj0cgEIVNQs3hdRRtmXFr5paUW2liCq1zCPGy+LqVKtTOIeTOS5QL6Kki9BqGs9uF
+ndURqLl/XyQscM76LsU23hMZ+wbPYK3mO8T3fMGONttxRdFmPOv11qCyVqYJ71WFQEKRj9jbcB1b
+PEa3eAR6bhbvA18kRN7/lbWIh1ULYiMMgRYXoH1Oi/ON9w/8AFUhbTEQxDsBTeEA1GKe3l1OPO6/
+Ix4PewbgX9sfCQG6PQDQ1wxYHACvHwDnjK7VFUhub/N8gtGyeAexEMio6TdZ/hkhgGf2b4ULFjcQ
+eX8w7u/aWvzKEMCV8guGB1E+wG1Q0N7dV8rrt7YOA8ljIDOBZAjE+L0V80shgZXCk87XcvlbKUBo
+rOoz3HpTqSWFYitHm+m+1vseUo9fX6t+X0tr9nAJb6kDmMEBdHgF3qyBe9b3egaNUKJF2Hk6BrWY
+fYh6BI1CINOo9HoADWIQGrF9c6muMQu3Zn/TC/CQf5643+ENNBn5t24MMmlrsMjsbhFmMGnWd9cE
+BDiAZghg5O2bxSsah6C5xEaBjLULrrV1mElOKjn96DFSDL+87lH1PqSuwMJzQysL0aoVULy2Jl/g
+5AZEHoA+W4kzMPL8GscAjtqAaRyApqTQcN/DZOHAzA6OIiFotPhuhgBW6tDo6NsyIK36AP7dZtdh
+JY7VFAQcm44W7fOgVwKKxyjpPtO1Vgg+08VvLerxzv5WrUJLenkArcHILUKAAdKviyuwVtxBrKGI
++plgCKDG8A7jYKX5QAszrFJghRQ0Y/xWOk5y+Y343iLCLGMnpgc9HXmtJqfO2N3Trdel8C0eAG4k
+Z7YF96T3PC4/OGf5SHrQ8xmwvjOQBQBlxZtUwScqvOERqOf25O0tBbdIPzju3AQWTyAV+FhtzLUZ
+3XDHzXHF+wKAczeeFl/gMRaeOgEHww9nGY5p24N7Wnm3jEJgs5BixeeRWdzhDVjr/8FbB+DYIOSQ
+gzc4AKm2X/IaQOqKqxwDVp6/USdgxvdEgcVeiorx4E09rDoA8TnxLbs1L8FYdnxo0KEda/AIavzP
+431teziNBwj+fgkHEJrhmTXu6irUSO95iENr77gmYajEkVq4ITHrWjqutR8AtGJwRyZB9TL4LNxI
+A5rxvRa/a56HlmFoPPfWqsbQWPL0IpiQuwer9uDpIYAVr7tneGcasPl9nvp6I43nCgEsEk8jAaWq
+u5ayGjF5lBS0FDicBmzhoJUCS+RYZKZHx469LcX28Bdess5S8ohRe6wBmFkr4HXhozuptgxFKw3o
+zAJYOw+79w30KpflwUikYNQgWCQd+rYiN+/DO3FwRXbwFxsHEFHgXi9hhpJfZQxcHMBEt3/Ka54s
+gDfWb3AArmM8m0gKMz06iMGoB2DF6Na1eDgBM+evxdgRI8F21mnxDlZDTkkZwxxAD0fgyOM333Mc
+N5cDmNHu6woDMHmWj8zW4WM9HgA4NgrtcK8jM7ppzAbP7w4TImWyM0PUd1bg3S0NeGhJzSxGUd7j
+Lpx2PHa8Jm795Z3le2Z9TxzvjJNdxF2EGDRSZdMNwozzg1DQ4wwTLJdeTDdqFYJSmDDbC3B4CaBl
+DJQMD1jHCecD/js/Xnnvx98fPV17r3b5R2fznuO83oD3NS1kcVQManzEUEx/lsEYMRJa+DGBXD59
+k807xPPDHMDdDEAwdXMLDiAQBkz1ABxr+mfE/GBtVdbK5zuMhBr/C8a1+d1w3PHI29Lc3b5Mi/8b
+8bw31hfjees8US7gVh5Aq0qvodgzZ/3eEAACXV3O8AAsBR128YVnN5UDiMT/jYrD7ixAZMZuFQU9
+wbO4WwjQrAMYdPO93kHEYJTWDK4oHRhFP9Bg/L0ptiEXf2YdgLCHnzQBWIuBzDoAr6J4Z/3e1KBg
+ICFqHK4MGd5pAEQlH0gDmooeNSKBEKDFA5g1/dJM3sjnR8MEr1GxuveA9f1R5ZxRCagptqNnoTf/
+H14sFJy971EJeBEH0K3snXF+aB1Ba72/MRMCBNpiW/n8RqyurkVw5v1dx2uFSs71ABb7bnk7qK3v
+p+y21dVYywIIC7tCsb+R24/yA646gEZ58Ej/v+s5AHDsI+BsGgI9cb6UTvR4DtID7PESGqsjTYMY
+WQ2ocRaawnhjfu+Mb3gIzZm85QFonoN3VqZ8AecJPON4ZPaX0najnsIZYcOZBqCL5QelMWiH29+T
+MdBISe9OwFp2AA0WW3XdrR4GWpPPhoKDJwTwuOpW3G4N+MYyYzVU8B7rdf17XHyrM5NzvN+7H8AE
+JS9CyiIaJniNRkjhO4yD6Hk0MgWq4TDO2Zydo8dodQGWwjq7BrtJwcgx0rW1FNPjMfTMxKMGIeod
+dHgVMNOITOEAoN3Ou5XSG/pMcGZvcQAAjiabrSwAMYTurjsaeWb0HKT3r+3Cc+ASrDoBzQuxSMZG
+fr76vLJewPRO1hesnoCKdyGmAZ2EIVqpPikWNwyCWgcQ+Iz4uVtwAB52tbNG25sGtLyHZiYg4K67
+iEJnaODlEKx6g940IDj6+EdnfOjIJDQ9gBbb7zl36/M9M7snDPDG748PAZwKXgIbixbnTkEepQ4Z
+jsb2XyrJ2eg56FZ2y1BYHYs8JB4NH6IcgWcZr0exHZuAes95IPgicXckLh81FlG3/237AgQNQJFi
+/UautosHCChsU2mjhsORVYi2FLMUzcrZazM+eDgBh1FpknqRnYEkBVbccLchaTXvaO3u49nYs9Gb
+oFmx2FLelkHqkd7diGdyAJaim+Sepzagx33veO+ghD2rEj08gJSbl1JjQiiixfBSnt+1PsGzP6AW
+z9NnJhlQqSBKS3k28v3gafoB/irEcOzfeo/H91qMLvQKUPf+E9qQedf9v5cDcMb7pZEtcL/v5AR6
+DEXzMy0ewOm6q7yHo9dfSwHAwxFEZ3hP4RN/nXkAorGKeADWrOrdX9BKDUa9h54Q4mqX/yoOIBLv
+R7mCUNzvDAnUDUoCRoJfT2ubsW7lbhUFOUk/z8YjqqveIgl7jYQW51upQG88rrjKFpk3fPwsRT/L
+SLgNABiVfY28uuscjuvoUuQOD0E1KgEjYabERpUb7Eo98JB+zpw9zPYIPEbC2mSktWegR1mVNmqu
+2N8Td/cW/MzI80fP4eYAHMe0mHtvnl8tLLJmY4vgg3aRjHQOLYZXlUybPeFYu9/aQ9CcjXnuX4i3
+mxyB46eWEhVjfjKOQl6HYWhLYz2AaJy0/vxSKXCjPVkk9hfrAwRlxEYO35XL12oGnHxAHwcQDRM8
+8b43VBhoGuINCVRvwVFNeGhrFvAMoFWz79gRCAPhxchPaBi57hm/YRSt/Ltag9CT2muFCGeIN7x5
+OwcwaAC63f2o6x5Rcuuzg8eoHoNmLBpKMqS8o58/66eSsUBtfwSQd1V2x+s9St8RBpyu0DP7BdzV
+AHhIxWElD87S1gwbKUfWwghoxN9wplKfcL6DkniVXfMmPArnUd6WsYgquNdg3FFOMwAN0lAj9NSa
+gZFVhV4DYWxVbnEHxWro0fIYpI1QpTyxEveGPImTZ+6mcnuUXTMcksJZBqLHMPQw/9FZO5KhmEUM
+nkkCmpkB5wyvnaMZBjTIPe1cLgKRlZeiQT5V/ICmDBKx6FEcjUC0CoqUQiBxAxGN72h4ItBIM6r8
+CNvj3kMCisdyZXd2S262LVMMCApGyfUZQblNgpAZHZPUU9YaXE8CBpYKu/f466gtMGf8Do+gaUiE
+h+AewNax0owPjT0MHF5DhKQ7GGdlNpfYeqsjj9sD8JB9rfN6yMGWm99DDI66/7dcCzDBAHiZfk8Y
+EC4W6jEWWgjQUnSvwXBmBlobkbayAmCsJ/C4+OD0QJoVdl5ll9YMWIZBCRtcKw1nKbUnTHhiQxC1
+wYflzmvHO1ODnjqApsGIvN+p3OB1XxvnBGt3JOeOQy6PIOIBTDAgrmN6ld1bkRcxEt543TtTB9p5
+uQxDlA/wfP+UQiBvs5BAU5HSIg/BsdWYM+4PzeJKbA1eRQBH4ZBncGubglq8QM9PiajkG3dYRKjj
+GI9xAzAab2o9HT08gWYUWsd6zqXxAI1CHh7je5t+SK9pCncdB+Ak/NzeQm/JcIsXaDHzjpZeAI1O
+RNKgHpnxLeNjZCbcHkRkJj/jmFYcH2go0nWc1yOwWp93ZAhOY/yncACSEkebhXiIQWfJccu7aHkM
+3iag4JzdwJkejLQq8yhva/MTaBGLnlk1YiCix0hpv0gzEk1RPV6VFTa03PzR7r+zCL/edGGPAYgo
+q5vxj4QLHbF8i2fwKLl0nV5j5JnZrfCjNLICLQWXjLfpdTRCjqaB8Fb9eT5nKWu0MWevwraMT0Bv
+wp7B3TwAd4quwwCYlXkBpXZ5AZbBaBkWSzk7ahYixCB4SLuBsKLZDNXBW7jTgJGdg6Pxeg9ROKOf
+v6dMeVRmnTNMAjqVujACwiLW3J5FJI53KK5J8FkDxVFo5HJFwd7wUyXwpNk0QhI6ST8XyQd6kZC1
+xRk4iT5oGTmJNOPFRkZ4pyp81EBoRUAOYg5bhs7gMSKE4BwSsGdWdygzaApq5M69JJ3byAR2L7YI
+PdfmHw6uwcMdeOLcKCHnvQYzZGgZJYtNd8T6reW4p4hH+YVjwDjuVMLPo893MACRsCCq1L1eQCSE
+cKcjWyRgtI/BiMJaVYURQk9TQg+j33JpvduKe2buiBJHSMCI3ly56+/VHMBdDcBQKND6nHOx0JAi
+BzmALgPhTbdF03OzX2vF5725+xHlf7rcxgAYCjca23cbEEe2wj3TexXZmeKTQqiQQvJYctSAREOA
+2Yo+ixTzlPF2cALTNgudbgBmkYBayklRUNHljSw1nkD2HY4PMMtNhR4lAQMEXSTX3UsCNhdLWZ+R
+2oV1pka9BsPr1Z1FAoaIQIvwk3gWxTN5LwkYeW1GJmGkaMgR97sMTmdWoqdEOXIemBECgFCyLLDr
+3Sm9kc9oShDN1UeV/05pwLeHAN4ZPLrbkLeewBnnuz/TmNmbW3+BvoqxhwR08wdehe8JAZyKCiOK
+7CUBNRIxUjgUmL1DBiMYYtyqJmDEAPSs6e8yIg6l9a46jH6mu0pP8V5cbmmg3qDbSDg5hKnK3drK
+zErrRbiNkTRhDwk4Qhy+m2i82gA0lxdHOg45Z/SesMDj3keyABElbc7GgquuLbjyKnzIIDgNRtPr
+8KQOPUYnqow97n6PxxBd3HPnxUBFIhS8m4EEW4ZFvIIeLyAa33vSgB63vnVshARrxfCS0Y0o/LDB
+8KTiPG6sN1zwuuiN1YRhtzoyg0dd9RHX3ntd3VkATXmlQRjdcWhiitBTRehhmsExC1qEmrdGvbkV
+Njj3vHfshCM+y8guyYGdlEKf8xo9tmEItLI2PWk6RzWfq4GJMMY9/fykbAEMZgDmZAGs4z05fzg2
+QYx4Ad4Z3U0WjmQMRgZ1w2V2ufcBtt09o/ek4zwGcqQYxzND92QQesKA6Gzds4HorVcDDhqAkDsf
+jOtDBsGTMTirBiFoEEQ+oVNZmy5+1KhE4/aRPPvMlF1Eqb0hwtlNQx9nAFo8gEPpXF5Cj0HoUGK3
+8k42CJoCV1mLXoMwqvC9s/0she/p+uPZMMQzg5+h0FdlB4YMQCTmPyEM6A4LAl7B3YyAm6NoLFX1
+pB4jIcbhmDMU26v8Pfn+iDGIKnyP+39V1mDUALhd/pPCALcXEPUKoFHU48wCXGIQAgo85AFY8f4V
+ij3imo/M9rMMx93c/+EsQNDljxb9aB6G14X3HKtupmH1K3AwxSFSqjHAQoPew2NM+j1sDL1ciuZ1
+0TUFrQyNMDuKu+lwZr1nw5KG4Wgx/Rrb70l9upj+07IA0RnfaygaoUEzFNBmc6cXofbTM87rzjwE
+i5C0+P40D2LS7yZP0MMJeD9v/d3ZdWdaTX+kpuF2JOAMgnBWaNDzNzgXFlmzHPRVGI4q4jDHEFTY
+swyEeN4egq7XJW+M7yFj8KQFQE80AOGGIsH+BF6Fbb4HvuXPw8bCq6DvNhCBHXu7lL8nEzBpNofv
+IB+RLb0b76Enfg+81uIQpnoBMJA67A0NJirbuz2AaZ/pdfVbM/KVs73H1Zeq+oweiwCxcmiARopW
+MwC39gSCXYVGjULkXE2yUYnje/iCWxiIXuV0uO/N7+ok48oZyv/dPIA7GYAeL6DLSPQagYb31FNw
+NEOhT/cAZhiMwRAAwJkGHFF+ZygZnv1/egMA89KEPbO+x9j0bvkdZfc98bo3dAgZoMHZvHk+hysf
+/lwrzTai/JL0uPoe6dme/LEGAHwttyzFbPIDE0KBCMM/wh+EQoDe0KE1awZnbNds3uvKWzHqzDi+
+pWwzWH3P9uzByfN0o1AVAg0aALFnwKgX4HXbGzOxdg6IFgqBXBAUmYVmua/dz8y7MYr3PckgSbvz
+nBBGQeffHjKuRBTbyxUEQwTsMAyh4qArPIDIoqGIxzDDE+glDgH83Y5DHkBkVu50+YdJNod34fJE
+Wh5AR1VeSJE9rnjPzP/OGf2OIUAoDIgahg6vYoYRsEg9j7fRzSMMGInwjDmq3A4j0nUuT2ahx6Wf
+RejNyBRcZSw+OlJyZp++CWTg6DLjHs9gBpnY8gyas/1MIzHJde5SwBEDFCEQZ5J3vTP9GeXBPdK7
+1+DHrJy8ogSzZ/soeRf93GixkUXk9XAVw8o6KWa+0qi4P98z0/e2JPcqbyT2v0rJrzQA4TAAgn0E
+J9YQdBuBxmD1ngMnGp6zyLIuj+CKv5VVfHCW8s9u2WV5MldyBVcagFmbhLgV+UQjMEVJA1mFn+bv
+s2b12cofyeV/q0KgCw2AxTeUkdc8hqGzXfkl3sJTFfmMWb03rr5C+d/R5/8uBkCrCTAXFDk3AIly
+B71GQPtcVKFnhBWegqjRc85W7O0zZ7nrXkJxpjdwJsNvGYyz1iBc6gF0EoIh8i9iGDxGwOmBRIuM
+eo+JKukZhuAM4zHrmOYMfIaiP63+f4oBcLLvMxR9xox/CU8wS+kvMjhXKG1oJp713WfN8jMU/dab
+g0Zn9wEvIKroM0jBtxGIvco5a7a/YMYfOuZdin6W8s/en+CuHsApBUMQW5QT9Q6GjUBnzO82DCeF
+Dj1G5yw3Hc5S9EjzjLNY/JntxCX+5EkGoDmjg75wYUYo0BMOeJTbw8yPKHivsZjlEcyazcNKHTxX
+8/zS65pCzdi09ErD8B0MwGye4KzXVSIQBtqgDbRKO+v8Z87mp52/McN3GYmrjMJtScCA++45znTp
+e7yANxiBKNcAnYZl5mshZTr7/DNmc+/sOcO9n6n8ve85dxRqhgfWcR8zVv4FO/DO8ALeZgQiyuIl
+Ek82BHdR6O7ZXDrW21QzZ/4+D+BKA6AuIHJ4GNOUXXPzTzQOMJNHiH63xwN4gzG4RMl76vAHZn7r
+e+DdhuMSAwADNQOdpGCPskcUe4ZxCIUaEYPhUHDTAzjDQHS466coeU8V3hlpvWiz0VsbAI+CO/cB
+7OESeriCWd6AV7m6PIcZCg5ssdFZBoLM1l3XP6DMQ+c4I35vKe+dGobMMgCzvIC7GIHw4qTA6xHl
+iNyzed5RBXdcr3dH3llGAmDC4ps7Kv/blwOfZACmbKfUU0bccvuDSj3LEExT7oH4v1sRO88xw30P
+Kf7Mz3wH0u+tBgDG04YtL6GXNJztXYT5gUHlPlPpu2fl6LlPIuFmu/zdhmFWWu+WBiBC9E0IF3pD
+hV5PYbo38I5Q4g2vR2fwt836I4bhqrj/DA9kpgGYShqebQQ6PYVuQxANAYLnuu3rPQTc4Ll6iT54
+p/LfajHQBQZgFmcwYgTO8BR6ztnjEcz0PIaUeHAmdocADpf+8TP77TgAiK/oixxfZpUar8+qd7bv
+UDLXDD47BOhV7Akz+vD3TAgBps7s0U1KFMUHmFeq691YxM0ReI7/OIO9nxwKXBYydBoCS2lOCRsm
+vzdTsacYhMB7I5+9hUv/7ozCB17bAvwOvAGcZAjOMiJvMQbveO/MWTug+HDHeP4sQ3GWAQgp9uyw
+wRtanEkinukxnGUMbqDYp7jrzhl9iqt+ljt/lvwKUlJSflr5OLGCL0wger0Ax3kj/QxGzuN6/0xu
+YfKsPu28Z3sFMzyDoEs/HD70uPNnewof+KYW4KPcAUzOIszINMwICzqU8jJjMfp+67uDSj1D8aco
+9ayegbf1AGBsOW/0s+UMryHAC7hmdBhMO15hLO7w/lVKra1GjH5PZyx/ivKPGAvvZz/w/Bbgp2YR
+YG77spnehdtYDMzsoXOcoNDdyuY5R1CpLyXnOnPytysYusQAdHoQZ3kOsw3GDCX1GIyWos46pqWs
+3cfMmqU7ZvKpCn3FTH6LhiATDUC3EQjM2uFZ3qGUkeOifILXGJyp7KcqvOeYiEJ3KLP3fBHFj876
+ADfeJCTTgCkpP7F8nFSwM/scZ3oCs939ruPe4RG8wyuIHHfWbH72TD4484c/N3KOjzNX/E0OB7p4
+gR5D8CZjMNtwzFT2IYUfUNDLzzmqkL3u+y2XA59oAIaMQIcXcfZnuhR3wqz/TmWPKGfEG3hr3H7l
+Z96t/F0GYFIoMGoEhpT6RK9g6PiIQTgrvJgwu0877wSl75ntL1P8mcrfex1JAqak/MTygeds23Wl
+RzFELPZ6A9GY/gSPYCikmHz8cCgw8pme7xiZ9SfO/N2f/04GYEY4MGpIeozBsLvfY0R6jMIVhqHH
+OPR+ZpLLPhKvDynunaoCPwZ0ruB8KzAt1fhOYzDiVZxkFKYq+tXKPjLLT1b6GYo/fdYfMSgfoyW+
+ExT2zPNOMwajBuEdRmHEYxj53AnKPqLwb1X6CxR/6LxJAqak/MTycfJ2XVM8gdnewJs8gulewQj3
+MGOWHwkhZs32J834M2f96TP/7QzASXzA2eHGdIMwK1SYYRhmGIdZRmKGoZh1jrMU/mx3f2bcnyFA
+SkrKVA/gKi9gdlgw2yM43TO4eHafeZ63zPRnz/jvcPcv2xvwBm76lUo7M14/0zDMNBAzXPiZbvgZ
+8ffZCn9ZjH9GePFxkq6eNUu/0yDMVuAzlPkMxT5Dwc9U9OkK+S6Fv8K7SA4gJSU5gHNn5Yu9gLPd
++Ktm8DNn87Nn9rNn+NNmxLPDh3fF+u80AFe45lMG/InXdaYCX6XMVyr2qYo3I6150XWdfi0ZAqSk
+ZAjwvln4zd7A1a781BlvVlOWk2fUy2fZd4QOk6718utKDyAlJT2Ae826N/MKumaOq4uiLpy93zKj
+ziyiulGM//Zr/biprpU3K9bblfNdxVQ3UeDHKHXwPm93DxkCpKRkCPAouZsb/rPPzN9qBv+u4Ud6
+ACkpKd/CA3jbrIPfE6zy3W7oqjUg30HSA0hJ+Yml/E0wYfh5Bb+5C5iSHkBKSooR2+QMkJLyk8rH
+D+3/b8/499e/A/gTPONfgjr/30MQhb+D5W///eMjQP04bfrH+f8+o1Xt7RtG1w/69xC+4jH/8GEe
+wBPGVOO8qU6doFpWNUHtHKbPAfQ5HgCcM1bhaQp7pVv1UyjrWR7AE2bUUQPQe70Xj9UzbuE9w3I2
+qPDtQb14iA4agOtBjRmAM673JANwxiC4ZogmqDMR7TUQvQYBwgbgvaD6DEDrvCMIBhD2jNXRBzsC
+w1RSI0F9KqJOA3APUNsGADu/J2roHAh7sgBRG9sze+CUoZqgzgIV74VowwDcC1TbAGAQ0ei96D5U
+aKxGH5YXxtbAmav8CWoPqD2KfzKihgG4H6i6AfB+T+R6Yyi6xmrkAfVccmsgjQ/XBHWye/VuRBUD
+cAaoMAyqbACw8zXvPXjuf4CvGrmUUQjiyp+g9oJ6U0QDJOAoqDgMqp8EtAwNBo7BfnT5WAUnpDh4
+yZMnqJ8PVLgG1JsgKhiA+4J6NAA44W/t+qPoBieryFdE4Y387RuaPxGoOB/UGyPq8ABmgDgH1Hgd
+gPa3B9Eo2kHCGju+1rr8c2b+BPVsUN+MqCMLYIGKl4LqzwKg872eweLEio5V78d6Hnr0lvuHZ4I6
+A1QMKHsEtU5EmQG4N6h9pcDY8Tt2/N6RsYIgvJHfz5UEdYROfSe6fWnAe4BaG4De78QJv59QtTr6
++xz4E9QTQL0U0XPXArwX1FgloIbqCOoB9Fspa+iAd+TWzpvtE9Q7IRo3DAj3ALWXA0Anwh4kI/c9
+abLywuuBed4YTVDF1x6MKAx7AGeDOloKHEXdui7rnk4grL1fPwojnj6UvzmoJ1YDvglRYgDg9qD6
+sgCe70LHe577NvBax6rncM/XeS/bC0lsaCaos0C9GaKB1YAR5T8H1L46gF5UAfweKrQnKxiAuffy
+z2P/E9RvgqhRCTgL3Hmgzm0JhhN/dmSsZvy8nySos0OukxENVAK+H9TdAOAFP2/Qvu6KWz1nqE0G
+87mg3h3RST0BrwF1rBAoiurgE/A2r5l1Odd6BlFQIUG9J6KDHMC1oMZWA2IQ5SiKjWOslDXAOXQL
+nDZ2Hwoq3BfUmyDaqAO4F6jxjkBRUrInzzIpZd2TVJmXYT0DVHw/qHg/UG+G6KQ6gGtAndcQJIIg
+BLFwrltpvdZjGHpgiQ9TL6iQoN4fUcdioPuA2lcKHK2rBOiriBxoXwed0EZveXzO+olBnUjv3wjR
+YE/A94LanwY8axXGJL5q9hKKa2mrnwRU/JaIBknA94I6ZzUgdN5XEGFv1ero73NhT1Bng3pzRAMN
+Qd4BZHQ1YATREbQnF62NwHndhPWNQIV7gHoDRJ09AUdH5xxQY1mASBOSkfYrJ7Sva13WyO2Ocdbf
+BFR8H6g3Q3RCT8DrQB1rCjrSx7Cj8yJi/KOjlxmFJD5EE9QeUG+M6MsA3BHUXhJwpMVqP4qHY0Za
+2GMHnHNn/gT1bPLvJogO7gtwJqjersCR3RUggKgHVYDpGaue7RVG9rXwgp+gwtDmoDdFdCANeD2o
+Y23BW98fQfmk3hWRy7Ggu64teIJ6RtPQCxENtgXvBXAOqLG9AVvf27v52kl81ej2dS1bOmdvwG8K
+KlwD6g0R7SABezYJnQNq3+7Anu+btd8yQLh5TeurWuPW40TN3x34m4GK14Ha+xxPQrTREuxeoPpK
+gT1j1mNy4xutD3Ww9ny99zYmhKwJ6rmg3gXRwMYg7wc1VgjkOWfvfUzcxGbkQY/cer8hSFC/EaLB
+QqD3gtrfEGTk2jpnGqlorffUs27rnKH7jUCF94H6JkQd+wLcB9T5PQFxwn12ZKzOupT3C066mzeB
+ij8doo004L1A/cAHPY2ecPXnle8HKj5mqD7HOn4ZAHzGvxn9K6/4N2bZE1RLR56B6nNG6XUewI0a
+2P50s/zTQcXHoDm5K/D5oI4bgNH7uTgEeIaRSFDfgeg844DwFFD79gYcJSsjFRjBorWer30/aT17
+KCaob0TUWQl4D1DjdQCj1zNQE9EirEcZ3NHb7x+mo0M5QYUBtZmMqCMLcB9QxyoBR669o1S6tZX9
+SMGldwCdXwmYoM6mCS5GtLMO4D2g9q0FmFFg3UIY2mMVOuD0wuiZIeYO1QR15rJgCCj8CKI+A3Bf
+UPtWA/aMzwkIexvYer8mAvGc8ZqgzgZ1xiLEEUShmwS8B6ixhiCRZcozFlkDTNnDAjoh9g6euUM1
+QT1jY5DregGMbAxyPah9LcHA8b3z26x09a4Y7bUyz/V/F6j404D6LkQh5AHcC9S+pqA9fQtxfLxG
+U9Yzuq3NaWn3TlDhW4J6Y0Q76gDOAnVGFiCKes/1Tm5f1zsAIrc6bwKbBSomqPdANNAT8GxQ24CP
+dQTyXGNPK/TB5jW9HdZbUJ+bBRgFFX5aUEf2ATgB0UBHoPeDOmdnoBaKo3g4U9Y9p/dAPT/+T1BP
+BPXdiDrqAHpmxnNAnbs3oPX72G6LQ+Gq9PuZt9yn5A8FFa4H9eaIDiwGuh7Ufg4git4EpEf2sRy5
+1HMnqlFQ8b2g4v1AfTOig5uDXguqrxTYg7AX6YEN2D1Faz1f67kVmDpuZ4IaGZrfF9QbIeqsBLwH
+qPGdgTD42gi6J3ir2mvWLc0Zt1eDCt8e1JsiOpAGvB7U8SxAC1Uvkg6UWxkr72khCO3cCetKUPGn
+APVmiDrSgPcBNVYJiAHTO0HheyeryNf23ta8SPVMUOE8UOF+oN4E0Y7NQd8H6lhHIBz4eWH3qpFL
+vV4eAio+B9SLEZ3QEuw6UHcDgPf/Sbeyv/PPOUMvQZVAvfNl1gbgGaCmB/AtPABMUG+AKMDMOoCr
+PYDkAB7MAUCCeh9EA7sDvx/UzAIEEyzPygL8HKBG1eFkRAOLgd4PatYBdNxS35hNUGeDihNRnoho
+oCPQ+0HNSkDnrcyZ/RPUs0C9EaIduwNHjMBcUHMtgOPYc/mr0eUpCerNEB1cC4CXgpqrAU/4PTYc
+ZwOM3x7UmyM6oRT4OlCzHwD4V1lfP1f1gAo/Nag3QDTYDyAC6nx3KjsCOW9j3hhOUGeDejNEOzsC
+weB7faBmT8COWztvzkpQvwGinT0B8S2gZlfg4N99kCeos0G9MaLBtuDvBTX3BQjAN3fSSlBng3oT
+RDtKgd8Hau4M5Lyt8bGboF7VEOTNiL55Z6AYqLk3YOP1KMx9dNU3BRXOB/WGiJ68N+BcUHN34IHb
+nMtZf0NQ8RpQo6idjOjJuwPPBdVXCvwTbmV/3k5ACeoZoHpOfxGijjqAUVBhGqixQiB0HhNF24m6
+lbHynjoKcwTu+cP2YaDC+0G9AaKNNOAMUHEaqPGGIBj8Dgzc72C42vu1M25zzrB9OKh4H1BHL20M
+hrlnOxPUDzwD6V6DNTllfcblXiMJ6rtQnYBox1qA94H6gXcb0yf2r7zBGExQvz+iE5qCXgfqlwHA
+Z/ybMVbP/jd7KCWoj0N0kgG4ZpR+4INM7gxv9YrbedQ8lqCe4Bk8AVA8wQDM8nQ6CeszLuWZTmmC
+OtvFj51rJBd1Lah9BmAGWdmRZ5FqVmAidO8dw1eAij8VqDOyP3PqAO4LarwOYNa1dSDcKlsf+doZ
+tz42RK8AtWFVvwGoN0DUsRbgPqCOVQLChPs4OVzthfvccPSdoMK3BPVGiHamAXtAHSdOxjoCjZau
+B4utvc1rPO7f6DqA8zoCJahXIIrnIRroCDQKKg6D2rcacPZSq0kb2UYeXhTiORNXgjob1F5E4TxE
+AzsDvR/UsZZg0Dk+LTM8uXcFdEJ8juufoF4B6psRDXYEei+o8Z2BPIhG7ieArrd93aweK3Ob2SSo
+s0G9KaLBrcHeC2pfS7DeBmyDDdei+1iOdlkDJ7Rz5qkE9ZsgyrYHvzeofU1Bo4hKf3f0SaRb2c/u
+s3puH9YEdTaoN0bU2Q9gFqgwBGosC4ATEB8wsVG+Cjrg7bndefNUgvouRHEeoh0k4AioOATqnJ2B
+zt4pqLN7Ve9eK9dtaJOgnlEINHIJExDtaAn2PlDn7g2IE3+fvI/lrJ2srt8bMEF9GKITNwc9A9Re
+D2DkKYwjGmpge8a2i9dIgvoNEA10BX4HqNHlwJFtyWfsswwwPWPlvaSeW543LBPUb4LoQBpwBNQ+
+w9BfB9BC3YvuBXtYYODyRiCIUVUJ6iioN0V0YGMQL4A91rSnDsA6TwvVHsQnp6x7IG1BOz8LkKDO
+zgLMRLS/DmAmqHgaqLFCIA/Skfvx4OFsYR85refyIhCMDdsEdXYh0ExEAXrgQXgKqP0NQWACcsEJ
+K8JXzbicazmrBPWbIBokAWeYp35QdwOAF/y8SQPbs36ODcEE1QPqAxCd3BT03BE6vyfgiU+hRVif
+A9FYLHoPUDFBvQ5RRxbgXaAez9G3HLiHAIqiCO2xCpPt53u81itAhZ8K1DcjGqwEfC+ovixAhFWZ
+y6ZU73mb1/TEdtfxVncAFb8VqDdDNNAR6P2g9u0N2JtzGcy19PSuOD+RMnPOugpU+PagvhHRzoYg
+7wG1rxCodV2jlRWTl66P1Fj1lVckqFeAelNEO+oA3gdqXymw53tHaisBwinrkULL3lubMz8lqDNA
+vRGijn4A9wF1zmrA85ZVDXWwHv0dpozZBHU2qDdHtKMt+NmgzuQAep/ABLQ961a8v89V8iu8gm8E
+KlwD6psQdS4GuhJU/TP+tQAYQNfT2KSj24J3E5vey+i95TnD8icCdXIYcDNEAzsDXQHqTA9gRscq
+C9WJWYCRS2rd6rl8dYL6cESDWYCzQY2mAXHC3zM6LE5uX+eFcwYEsSGZoPaAemNEB3sCXgtqf1vw
+aLvyKKrQHqvQCW30ks+ZtBLU2aDeBFFnJeA9QJ3XEKR1/ZFdF05oYR95bQSCGKOVoF7dEOQCRJ1t
+we8BamxvwMh2ZSN7LAF0paxHNmDyvD5OUieoTVCfj+hAGvB6UPt2Bx7Zy3Jg98VI+zp0fL11yS04
+5+8OnKD2AnszRIM9Ad8LaqwSMKohM/dfdhDWrVO3LuvEMZqg4sBtPwtRRxbgPqD6SUDP93i3Mo8j
+Gmpe4/m6yKVP9loT1JNAvQmigY5A7wc1XgeAzvOj895OrFqNXsrI7Y4P258EVDgf1Dcj2sEBvA/U
+sY5AszTr5O5VZ9wCXGYQHgjqzYC9GNGBlmDXg/qB70D9je3r7qHk3xxU/KkRfd3+M0B9lAF4lsbi
+g/4lonP/PQfTLwPwkDF11mT1U3sVCeoJRuo5hv9ZIQBkCJCg3htROM0AnOkBPIWvgiQBE9T7k4BP
+AvVZaUDINGCCentE4UmgPqsQKABnFgLdCFS4BtS7FAI9CdRnlQJ3whmF8ecqBb4AVDwf1DuVAj8J
+1GctBgp+JPqQowNn7lBNUGduD/5GROFJoD5rOfDgKXouuTWQxodqgjoC6jsRjRmAe4L6rIYgoVRM
+NgT57qC+G1EYJgHfD+qzWoJ1fKwFZ89tzaOsEtSZoN6lJdiTQH1WU9AOe5pNQb8nqHduCvokUJ/V
+FrwT0uglAZw58yeoZ4P67rbgTwL1WRuDdHysB97oLfcPzwT1O24M8iRQn7U1WAeMV20NNnfeSlAf
+jCg8CdRnbQ7aya/2/j4H/gR1Nqh33xz0SaA+a3vwjo+NQPdzbA/+PUC90/bgTwK1rw4AA0hG7vuk
+lHXk0rzQxsdtguoG9dmIwpNAjXMAFurWdVn3dAJh7f166xauC1kT1NmAvxFReBKoviyAB010vOe5
+bwOvCK/q+TrvZXshiQ3NBHUWqDdDFJ4Eal8dQC+qAH5/CtqTVeQ0sy7/vNk/Qf0miMKTQJ3bEgwn
+/uzIWM34eT9JUB+GKDwJ1N0A4AU/b9C+7opbPWeoJagPQRSeBOpYIVAUzUHkZ8A24nTdZ15KUG+M
+KDwJ1NhqQAyiHPedulPWPY5XBMr5YzdBnQ3qTRCdTPqdC2q8I1CUlOzJs0xKWfckVc5PDSaos0G9
+GaIwpw7gGlDnNQSJIAhBLJzrVlqv9YzhHljiwzRB7QH1pojCk0DtKwWO1lUC9FVEDrSvg05oo7c8
+PmclqDNAvRGi8CRQ+9OAZ63CmMRXzV5CcS1tlaA+GFF4EqhzVgNC530FET57TRVOgqJ/CCaoZ64G
+vAhReBKofg/Ag+gI2pOL1kYgvG7ySlBng3oDRGEeqHA6qLEsQKQJSbTFisNzGum01rqskdsd46wT
+1NlZgDcjCvNAxdNBHWsKigN/d/RIHPjo8GXD0LhNUGeDekdEawPwDFD724JDx3X2mtQJLeyxA865
+M3+Cejao70YUQiTgPUDtrwPoabLuQRVgesbKe0kQhDg2dhPU2aDeFFF4EqhjbcFb1xRB+aTeFZHL
+0W7nHAIwQb2qLfjFiMKTQI3tDdj63t7N107iq0Z3WrNut2/8JqizQb0honAeqDAd1L7dgT3fN2u/
+ZYBw85rWV7Ugbt3e3CxAgjo7C/BmROE8UHE6qL5SYA/CHpMb3Wh9sIO15+u9t+GFwz9kE9SZoN4I
+UXgSqLFCIM85e+9j4iY2Iw965Nb7h22C+o0QhSeB2t8QZOTaOo3iHOs897bOGboJ6oMRhfNBhWmg
+zu8JiBPusyNjddalvF8S1IchCueDOg/YD3zQ03i+MieoPwGij7KQXwYAn/HvIZc5aNkTVA3U51zq
+c670Og/gRg1sf855KUG9CFF4EqjjBsB7P+Ue3uozxnSC+mBE4TpQ32EAvIh576P4j43AMZtjvXZ4
+JqgPRhSuA3XcKMTrAErwekrgfssYYT2aZfXc/jnDNEH9RojCk0D1VwKWDjPbg956TMdW9iMFl94J
+am4lYII6C9QbIQrXgjpmCNprAcoA2sXxFALoRhsttcbfyLgcWwuQoM4E9WaIwrWg4hCo9mrA4nzd
+g2bpQBjifFULzl6I54zXBHU2qDdEFJ4Eqt4QpDjMaQ+aFsKN13q3W4BOiD0TFw4N1QR1tCHIDRGF
+J4HqbwlWGq9F0Szg9aeGeleM9lqZ5/onqGeDehNE4Umgyk1BSweCxYlwBMnAWD2r29qc7msJ6mxQ
+b4wo3BfUXg8ggnrpeAK2PxVuXwed8I0p+ax5K0F9OKJwX1CjXYFbpVEWahEELTQLhJvX9HZYb0F9
+bhYgQZ2dBXgTovAkUGOFQMXxu4WaF0HluCiMsza1OW/CSlDPKAR6M6LwJFCPewOWk36PIg2+sdoL
+I5z4e9+QTFC9oN4cUXgSqP0cQBS9KNLBsRqFcQTya+esBPVhiMKTQPWVAhcHwl70et5XxipA3NHy
+Qn5u1ipBnQ3qjRCFJ4EaKwQqQVQ1E4smeupro46V9RoEX4uP2wR1Nqg3RRTeB2rcGIxnAVqottAF
+x3vgy1iB8z0YgPaaLECC+mBE4X2gxq1prBJQQhMcqPYj2TVZRWD2wofDip+gng3qTRCFJ4E61hHI
+g2YZQrLbW8X+rzmZ9EtQvzmi8CRQdwMwgtJFP0chuurnnKGXoEqgPgBReBKo7/MAOq43PYAE9QGI
+PtQDuCK4otfbgXRyAAnqAxD9RhzATHoVxpHOLECC+gBEHwXqNXUA0HjNeX9ZB5CgPgDRR4F6fiUg
+NEyp5320bebPVwmYoN4Y0UeBOn8tABgm1Xuscm8/71qABPVBiD4K1GtXA1pIOu4pVwMmqA9A9FGg
+zu8HAJ1IOo77efsBJKgPQvRRoM7rCAQBtDsR//k6AiWoD0T0UaCe2xMQnH/rSFa/Z0/ABPUBiD4K
+1L6uwNCBoAfFxv18767ACWoE1Bsj+ihQ5+4LYCEKDlRL/1gFJ7ReeLUxeP2+AAnqwxB9FKixQiBo
+oOlFFJyoFn2sQgDaCLwQeC02dhPUq3YGejOijwJ13t6A0IGy9brw2s+3N2CC+kBEHwVq/+7A0HjP
+QrmFqGJqv//uwAnqN0D0UaD6SoE9KELD5HoR1VH9LlvZJ6gngHojRB8FaqwQSEPYgyQ4ETWO6YHO
+CyE6bv+cQqAE9Zsh+ihQ4w1BWuY06tYV/7EYgA6DMPfY2PnDNkH9Bog+CtQPnI20B8HOuC+aXR05
+x3slQX0woo8C9QPv9gQmwXpPxU5QfwJEHwXqlwHA5zycJ/ybOZQSVKiWLSSoc0H9wAeZ3J93pk9Q
+n+UZPAfUuQag52TFf54IhN/Hk01QH4boo0DtMwAYZFCiqCt5lp6kSk8C5T1jOEH9Jog+CtR4HUAv
+gqUD6WDZem9WNQL3eUM0Qf0miD4K1LFKQAmhEkS6M1wF6K+r6q2tAriiEjBBfTiijwJ1rCOQJzhq
+VVAEiq1HKqtnVlcDnLEWIEE9qyPQxYg+CtS+1YAtExpdaiX7UeatRqqtW1B67O2c8Zqgzgb1hog+
+CtSxlmAa0jMXWzthhSCckRXWYzN+gno1qG9G9FGgxncG8iA6u91KA1YPzB6IwfFaP9wJ6mxQb4ro
+o0DtawnW24BNQq7EHri3i9qMLmvghHbOPJWgfhNEHwVqX1PQnpaq/O8I2sJW9j2QwsDfY1AnqLNB
+vTGi8CRQY1kAbaeFCOLYb2I9sHm3WIjCN2/SSlBng3ozRB8F6pydgQDmbMHSCLJGYJyx5cK1OwMl
+qA9F9FGgzt0b0ItiD9ID0J216dI1ewMmqA9D9FGg9i8GmrnjopNh8W6leMa2i9dIgvoNEH0UqL5S
+YM8m6xaSEUQbGSsvlD3wW9DOHcMJ6mxQb4Too0DtrwNooe5FF/yv4SR4rdcs6M6vA0hQI6DeFNFH
+gRpfC2CZV+97GuIBx6oFTRQ+dNrU+VmABHV2FuDNiD4K1FghkAfpFoIeStVoYd8LYc+x4IR4bNgm
+qLMLgd6M6KNA7W8IUpw/LeSC5hUn/Oz97HV0VYL6cEQfBWr5/+gny71/YpkH75k/j8MpQZ0Jarn9
+z7uDiYMewAyT22FmeyKk+830Ceo3R/RRoPYtB46yKT2+VKNoDQIw4cRjrx+OCerDEH0UqOX/tUIA
+y895w3tYxmzsVe/ZDmuCOgrqzRElIcD9Qe3bG7A359KiUJ1Vq5ExM/IaXObJJqjfCNFHgVr+H8kD
+aJm9N71vTVYR6K54HxLU00C9OaIND+BeoJb/u2UAZqAz6RzSWO2F4+xzQIJ6Gqg3R1QxAPcEtfxf
+HOJy398jY/Wdv88bsgnqAxENGoD3glr+zx4D0IPKhM9oY7V3PJ31mb7hmqDONgBvQtQwAPcDtfwf
+lgHoReqk97D4bvHd79nDNUGdAeqNEWUG4N6glv89YgBG/x48lzVWo3+PfHauAUhQZxuANyPaMAD3
+ArX8bxLMowicdI7WWJ01xuYqf4J6Fqg3RdRhAO4DavlfPQagF73Jn8PShqAXupmf8w3XBHUU1Jsi
+KhiA+4Ja/hdP9ir62kmf947VGeNsfkOQBPUMUG+IaMAAvB/U8j9bcJd7vY7FD8E7X48P2QR1BNRy
+u9fvBp6h4v8tyl+98T203oP7vNc/ZBPUb4CoYQDuB2r5nzywl8H3J50DPccMvj/rHJCgXg7qTRBt
+GIB7gVo+ItCXiU+j45wYOXbycfMUP0E9G9Q3I+o0APcAtfzdyCMo134Oez8H137uuuGboN4Q0aAB
+eC+o5Vd3mNhOHqv3U/IE9RsjOmAA3uB/lgc9rjPG6k8vCepDDMB5BhDzkaWk/JzygZj6n5Lys8qv
+vtxAhB+GAL9ijc///fj/qz35/je+/n299zry9XnYj3n1Nf/x39d5X0dun1uPpeffvFLcox6E+joQ
+6QF7/3SsYiUk17Q3TcD9wqvv2N5br2+/mfXd9QLIubG6uO3U68sUQMDj7tDrvby+ezs1EByRfPf6
+X3Jt+2f2m6HnpOfe7g/2L1qvE+l9AbmJ9b4ojOQZbd8FwM6H5PFgjS99sOS+kIyvGmMKyn4hSMba
+elyN534viBXsr8+TcUrvexu321Pa227QZ1cpCPlOOr6BXQcAey5cJ+prRwoYHVv0s8CeDxnv+/OE
+Ggui52VZlv1Mdw0HD9d29cV2fN8ll3j2l+CJVNkdx9YZeArnHP2a1+ePp1G2QzW+7wOoFf9xVnwR
+A+X1mf29sv5VCrE2fOf11ytltTSFHILkzc8f+Pl/2L6xlC+rhK+f2/XTG3n9hS/+arV4pSY2Pt/E
+1/m3qyvw9X3l6/1ScP9uXOkb3JlRXO+7bHxZWe9hnVX+dvDna0i6SK7XD3jEY/+9rN9WkTE/rukF
+MX594Y/vxwp2rNjb8sIFyL1R2KF6joT4K7BfA77wRxTJoR/E1gEX3MdJ2b2KUsjQWDFY72d9Gi8g
+Cu4jFF/PFl/Xvz9vel1lx3q7rhXvr2e6XsSO4xeuKyK4PUNyote1lbLOyq/x/vrc1zOmD35l0Peb
+/fr7NZa2Q0v9/Mt6ztcY3DDE/bEwEHEfWATSYtpoev2bvry+B8h9lL/+9a+1GpOBphqR7Q8yAILm
+zdrHzW1QycXuUBX3+SzHgtxi3UAncnfqFyhnWZ9EYa+V0ucIeMHt/jxRKmkciiA2ToqMom7Oeu2L
+tb+Rn7j+ex9RxFCUxrNsDe7W8PAM/Qr5on/iNYmsuYnCBvkHDe6qFoN0xlkNfCmvn2RWIpPKNrtW
+1vjlN1RTymv2fX1og3i1pKvNe81I28xUyIy7Kko1M5Qt3tmBIg+M6Neqa5tV5p4M7l4DbJP+ei+r
+p1SqmbXAPnPha3YFZN7QbocBCp196sdbsDYC1bcpg2r3oKDy2vaYn34/mQmI57fOxPsdYeVk7d4a
+EKypUhDvq/IEsNaJQmZi6oFA7ekAaA7njuEPj6vsA7du6b0/QDwMVNwcgVJgi9ML11KgXiP1vHC/
+3peHsL32ur5VX+hsT587Eo+ovADbdHbTBCBGaH8NiTddYP9+oPrCdRkL+b6//fvLX/6yjVIkZvxg
+fLHy3OuzVk/nOLC0GUzyKmpD7JjC1huujC4zwZRgLLsCFjPkFaZ+kCx7K8ZDYSrbHxyWxuRb3Qrx
+cKrnQRTJPckf5gPdCzl4VrgZ10N/fayLSwqbjcT7rSZX3as8wkqxVAbv9tVIDAI9DznrwfNa76fO
+7Fe6wK53V/oWeyLcJ3e/sShDRxpzq5ErzaEJuIc65c9//jPuMzKdf+nMSO7ItWkSi2/Lbs2Bxs3E
+GwCsrd02Q2Id9VS/lXKkp5kHufkUBdmoLLX3sB0JQOcBoJ+rglpgmBCOgcySyA9H6QKJB1QkgyNt
+WWFgX7DSh/o7SzXo6f3uY0CAioyD7UmR699v9KiM+7M+nFS+F+JpwoFzEEIEpvtIrqkA5UWoF7jz
+CnwcFaDeH4m90cDZGoFsINQ8Bwp3Vti403UMCs9Q1HpaqiwZ95o/DcCf/oy727V7AqUIbtDqOhAW
+DCuLRUiXyh3+ctNWi42EVCmMnKKuzOatlFLZzI0EQ/oQCsGZuJPUWyGEE2NqdrNW2CRPrDAiJRJr
+J7ueGYm7iNSYHgm6NbVXCvWWsI6rDq4gM8Qb78VcKCy1i85iNgTcP8PG7EqwUtdxJbm4ca1fpXq2
+E3QVyUqIUCB/r+OpsJl5C6foRfKQnKTUKIaUEAbFiBU25ncvC+swcp05yXVudy7M1kjGIQBux+zk
+ZG14t2sBSnyS8UJxBfLMGVWP5Lu4TiMNFz7f+dOf/oTqDOWcc8YLCk8qSDRP2/jO0CXdu6By1tW5
+ziMcJH/uPpg9phz2hAv9WAkmrKbB1TMiaRMoxNvD2lUhxBkl6XZLsxN+lEUtG0FIZnYyS6AQDpTD
+DCXM4itYS6m9AUKoUbKIpiC5a7rPZmVL022ez+YRLDshQ2K5Qkglmp4DVvhEOZJCgmkkqZ+dMKLk
+IYirObaZmoR0KHxXleJDEgwUQhWSjNnuxRKPrFAyGOv0Zjk+F0oebqnANbVJSEgW/dXjolRkFBk7
+zDeqKClK4MKWukQaehYaFtQR6HoO3BnhivxEhNrlPmwuuONRmDLz1G1Nhu+ec1lqYnDzuAoe0pY1
+J0evgRI1fzv7H3/5I36RS0d3dnWxK1rtwOkhI1Y4j0qoEixHAoORW0gHpDuTRhLQai7Tt1k0Mub8
+qDAoqQ8jgehA28OPQ1kEpWyarOSRRKtqA0CoFwD2XSs7T75zd6/LgZCjd8jJM+qKckLQIlTlTTvl
+s8vko4yXtRkovf+6pIRrY2mkG/l12anHDZXGxSEJ/fg1UntPox+RfGTXJT+jevyXX375hbEfClOl
+xggDfgk/Na3YEQjHJqnGzbZxpYeCipXfELgXqbDlcF42K+38DPEs6oQhp7TqL5N4zoo8dcCrcKT7
+TFcbQoGKMjrG4vEZqvycclBr+JR6PGwzHB55F3nUNsg0lpqui9mKUvSGCgN5GEpH6pqRptYTkD4v
+3yT3mVm62bj/HxzAL3/4ZfMAAOuKrVKIK4+7Oy3OrHiggog7SXLTlIxlxFiVgkJqvcpWlAHVdewn
+3Uk5mtNnVhHrLPEazqyuHBLWuFR55vU7WIqHuulYJ11rsqZ+SAX2AbAPjFLnxgkpBJQQ3UIiqI0I
+Ix1pReJmoGDPmZcqNce8AloVcSgGqQ1eKXQeZ2TYet30eZA89VrVxwk+JDUBlCXfDTHLZJTdY61z
+pOQ7cHf5S6lrK6pwhhppVuewEcxQjoQ41BWrvF6As/vrGOPpdKorVYixhUrA6hiK7LGtIQUhIytC
+fr3+P/zhD6g7Op5qPSHPjfVFybl+vTrMKn7TKvR8bmYxjmRhSFWHYJdu8ZS0WuhHnl1p1DngxsAX
+Mc+uA2VXiFd3SpP2pV2ngWA/F2i44fr5o/WgvopP2433fpWzjsV1dv0TXCeQhA9VYqPQ2hcWMvBL
+ddzqByJU5RHcXaUkBIo+HnOdCiXtqFdP6rTrxE1d4Yb73aDipSFJN1VRA9bxDnfP6loEQkZVRoCm
+UgQ3HdnsiNQKs8QYajaB1yXUhGMVAyIeXVqgoZCU8ydpRVLyQBGpcuwV21U/1zp9zjwXjrOwVkAM
+tbibDXX1TJGCowJsbYZQE4DAin3qWhPknggI++KxehGarpND41KNq0MNAWBdvbqFmpRQlEPsKhzA
+PV25YYs0JEKhHqCuYTmECp/X8V+//z0CcbdWE8KJlyqfvR1G2NctBC7VoKbsPy3x3WOOfYQiGxRV
+vUhFzhXGQAumjuRWDytUtuuhykEfUOGeJFGqlbQk11oRb5T82xf9AIm7t7Ck8IU95Hu3zzDjxp5P
+5RKSMKqUY7UeHQ+lqgsotVJjHfpQ5aSk4dFFL8ehSxfK4LEOqGzPE/ZQilY+0gVW62IsOGaU1nPU
+Zbm1cVszUjvBjJXtWRfh1IR1XTQGtBwc2LjB2tDUWQRGMiIjPgtUpcPUWz2QyezS6OSEtMx+K9ku
+NeG4mtDPl3//aQBkRzzuzKjeUsBZ4icRy2X1GlpErAuHaBwiefTEFZecZzqnW9kLn+Mqrm9RGG6x
+qFk9lhavbMU0SlBnPlkW7dTjTItz7DsTQyxXWKfdtxWcMg92jfmV0ONQGhx5hsgyv60TkeK3Q2YN
+6sKm1pM6rl0iHL8Wah+Kp4SOQFhRx8cEM63QQ4lbJySSEEwwL0dwJiXKXSQy8UDA4uaV0ACDHVst
+sil10wXwbKrElh9rrDydUfiCqxeOx1vFwyxMS6Qlt5jiu62XOlwTdW2xCpuK9By3RVrcO2PMehV2
+HferO8z6NMQiS1sLuUep0lwu/5XTuFVwUOXVmf2my3/ZrCrVHxyuSbF9/KuwCo1pCFWvTUBhrGOV
++WD1Fwc1KvWzRTiEEtW4f3l4H3v4sbtDdCEE0DXEnwUvSNzgjYlcXaJli9FXi7QQZ3lhOe16UOBX
+3c4C+zp1yWescss70Mte/cMAqVcTbo7b8nlLC5lESxXDU4v9efB2raSOvJAMxFrfXVgdBbyKhHZd
++Xrt6wcJi0haZFkH3EJruetFVj8+t7AilL+dZEG+BgK+MFloNF73K8CK+dw9rGMhE1Yh09q5qJAJ
+gvZzACGnvXdmeo2Tgvs8vLrmC09hsnQwCR+r1YblC7stg7N1+BFWm67s+rJ7eAvlL15fvpB1AGt4
+sqC8poCGxvQ66JqBeobGQ/i/XRsJmWvjWPd92E3qshdrkXLqhQbVNGxZQ/rf/e53SOOtqrKr1NQv
+bR1UBC9MXq3lWA+lMMy1Oy+vQuSFQ7UpLnKmoLnGngVY7PTI+Moi1R4dCjfq8yBVtMKvH+vqQ4Ev
+PhZ/2N74rmT7su7DrErnF9qMg7uqRf8iqTgJjrcnpE1ATEnqdVLGas2q0Kcc0milyP48Sus0KDtz
+SAYdV2h4x76UA6kbmByHK+cNjq0J2FoSRuofipI+z/fb3/52SnWxvxyor3AoUofuKmAJX06ROGN9
+jZ6UvlC/qxzzL8dfHBdtvQ4B3Dl7PeM52vcRvSPPt8HcsjX3F2/epPvLCzRX2SqFeNoCU+9BH/WK
+J2TE/KGn05GBPbCjsDenqNpMrZ/b89u0Xv2QsoM6rVMlnwrr1kEbV5R6qWWVcjkoIVkSXOpmCfyc
+gKwghC2fRlaccmiAAVA38KygZY01f/iyxLUDknUBIGEOezTAMgACvyAtfd1bajFuYVmOjVxIyEab
+rWxLXFld/T5jLWIN3XoeurqSNy6l3177oQCHJPbreS+klRctw1uArQolWSNpWTFroVL5ZQjyEuit
+mWmpMzs8u7IVE21rbRZmC2iDmAKbQ89S7IWE67QRzTYmaU8DxMprKP/+H/+OdM0zAI399z54SJbQ
+VsTeShgh6WhCFykQ4qHw5P2xenZfdEE7C0FteLAcCx+r+gJeWMhTK8QnrzsA7NVSNC9eVVzjXiJa
+quo3tlCzIplICmt1SZFWsdF6cOanYr20eRt6pXbrtmYa67MkS4SP1Y4sj16O6VtaALCmLGU6dK+Y
+284j5barCYT36eOVbqRyr9LPQkr3kaV4Sfq36jAktxcRkst1oUvZnyuy9CyS7yts8Q3tQwl0Etx6
+BRLzQdba8OXdNXlcqp6GNETeey5QYncHsap8rVZEf11P+fd//3esBnexmt0IqSr6AIrduI2uyGvm
+TMRTKWkbpuDHLFFdsbczviRXL+anpPY28j3WMScAS+c7M6L18o3CMMUir5IoUqcYFDgItW5PW3zD
+sq6tHn/1onPgi5jgwJMgQFWqy4tqi537apVc0lm6Wti2f9lhYVu1ys83vsT+SIQApLNbXWCKBh8j
+kKicX6m+oxw6K9l1li+j8G//9m/YjNnUTjbRgGoGU9Bax6+tgFGCdFcQFSIaxPPwpSbGm81Lt9sc
+2F2S+oLgMEhzwunGrcQw7zpwIitxxintD3pO+3FILWz+GVbjvJD8aUE85DyRPTS6AOWwrhFbZMcx
+s1svykJhpdyewkRpANFuyLRNFbL47sCJMENIFzZtKReEQzcvrGPXpVpIg0cagyXni9BMFIHwALS1
+09YC+zOtRdNyULcYP6xJxoNRrPmD1b1foO5lKSfpyyG8pk1Fy6G9mhhWsLLW7vWnrEV6bUlYeTXL
+bqDAeQDhMg5GCqCqmkTUKUkawxfKvRx6B4BQe8/6buKiG0yWxkfWIXQN2z6WH/lsqgzL3l30R369
+7K4RWcZIGzpUBN3y9QU/0vnLUncoXVYnaakahWz11p+vLVAXvrzKQ5ctZbZsOdmF5o9fMRESS8H7
+PeICrBhj5ylQSlEtyJI9hD9Y9nhvIflbVPoOrsq2wN5heWct67z2pjQkFkRSMlJf5uf7SxU6LDRu
+RjqoyQBcaIy855T30uavZ7nmwWEhrbEWssKMhi1sj5m6juPr5nelXLbxuxPGUDcLkVbNreOvQJWe
+O6yi29KZC+9EssX3y2GPCdaJGEn9xQY4VtFvlcNArPejoKXgW2n3sq9oXLDiLHj9yt4tmc6wX6O+
+LFgRu4isI8Cyr8T9wmYvLd+e9Oe1/eY3v6G0XZVK3OOeY/93Wt0lEgdVL0ChSooGsIT02wtqWDJU
+oyJIh1MelCOp66+Y680QHmvoxbJjjgvAseV13aroEAPXgR4cG54oDUEQCiFJseq1CNRwanEk8RqK
+ULuK7JoKq7GnlGE5JJ5B7lTLC3jITL9NJFKFA+NQSlU3X6rxyIu3+NLkurgeqhJci1KobxHFUmLr
+BEjWA6iF3KS3oMyFkQm5WMXgWBUfMVeqMgzA1hespy3/43/8C7Y2bWhWvDt2kKrTYcdCHNcmHSaT
+Zn+ntUcDkGIirU135Hs9h3UtJW33mvY9L/FDUuFU+7qbm1sE9gTxDi/baGpX3L0VTYOZNrpXBQdD
+3+e11ki64aBYbsuBeQDHWx7z3rRWTr1VKHNoEy4WbdT8AV8pyDebkFNOh85/avRIlzDbMSf6Kk64
+22kujBVSa1X5Zl3Hr7csOswhzaKb+rlgk3TjG8aJl8PXF/B497B1B3Fd1Q42dU0+ShyERbRW2QV0
+U9HHVuRCzzTi3opjjBA+Rftu1jUZDc048tHsnHhwoVRd+9h3a12Y4u01yUArkstesF8WahhQfmAA
+tauJQPK0QFo27yTcltogMeNX2I170QTZyXXPhS/bVqn78gHaYJIUytA67Y2/IEki4n0gSh3W9QZa
+O0lI3C887F8sFJmQ9BB7FnXDStbemraZrpwE2pK7zgkj2yMOCyN4lQ4RdA+BfdCyoV/Yd7/IyWpV
+CCWxSHHVZ1wstyZAVl4gGD0yXou46GlfLssJRxrT7Wtjjntl1D02VwVbDkaGNyaFqgEuZWgp0bsQ
+AprXJtX3A0h4iMO8V08aNfFYE8Mf6xbCW4de2NsowYJV7n19QF9x6LIv7iElZ/uDORYpFKxJtXX7
+6L1f+rI99Rd/SLYs/yJNsPJDasXBpfYTkPbNx32TimX/8h3a14IfXEm3qmgfa8v8MoL74p6vhUVI
+C4koz7ysJrPe8mwlW5dCTObCu+nhxkdu3/+DwKu3j94XpNBussvLgLFNTsq6qIutTKsqBpHyoKSo
+Zd8afC/sWusTy8aFrRTtjwG/FFKkwxpXVFuJH6sSVsJrrZD8wmsfY4VmSV7kYr3/GGyTGc0gIceY
+HrcB/pp4cKm49KW8yPLlWGhWcXnrYqOKjsCqh0VtoKs5YPeGWHZgWwRGuxMj7by9V0SuxVS4ZcjK
+Rg7/qCz87//9nxHZ1rWFt7oq3LUs4qIUvpIZgPWAK6wzKdlLsBwWVtetqVe2+LgOXyEAC69UpOm1
+cvCUKoIJC2t8glVaDKqecrT5BLDPk8VMYhvrupHG1lEYgLQy55mCY6HN9lAL29m5UmjaSanGmKIt
+lXYXqf144evtSQUerTosQt/IqpIO4NjKmHeSpoVqZLUfQLWrVGHtzfYKSDy67IXTwkXYbFaqGmVr
+fRDYVM2bdmCVuqUL2qrCOCjyirFS7z15XKBEi6n23w+dl4TirB8LlP/51/+MkoJXhW9SvFvE3d+q
+1B4Ab4+Mh5WFdV8Vee9TqBSBPSRWImXuDShVsdVPhuX3eVbj2KRhy7+T8tMjscPvh7iaVGEM2kZs
+poF8MHvpLU54+vaVP7bRlHZGIhtcgtLYRW2BLn3Wai6irY9kK0SFRhhilaawohGEkbk7t8bmjgCq
+cRE60ihkOTMyWh90bX/DQ5LuuHK0/PrXv/bUVHTzplee08OJn/q9Q3udnwqBMUjlvv/3kFZHHF/L
+Uff7A1mKZiMszzbvoZ5cjSyM814+pEaZ9e9KB3ujUph/XCR2i9ANpkmt+0rBDitpi1CpJ5VzNTjk
+zZ1SNy217geVEmrsvsEDD2ZV7Cp9LQseeicpz9ZaIqwvs/YtRC6s8rQijkAsQEGrhxPPqWjt/4/P
+u6CdLbJu+7BFBYvCQGgPfmiwxM6EGrZKUshq6HWAu2xbg/EuMXRn1eNe6nsJVAHeSXdVkoWsQMLD
+1oXULUM5jwT1AKoqb2i/eSH1uPC05FqISLrB1Dpcp6e+rh/gsBNw2bvZHCnhna0+8BNrHLdw1l6x
+D4UUeCDfko3wIkiXlDIGmONH433cuQI8bKv9KleEnTvZsjwvYhgPOd06g1TBuu1HANW2Y3Wdbx2j
+44s13SoE+W5XC9OFInTDrbJRgjYcN106bmMmdRXG+v6g6szDBmEpL6JQqPLDQwaRBQ54zCqs34Wo
+rsdBVk6+j/VaH9ZQ52OB3dL+aFFVsF4bXrXOpnuQ7Xvi7Vtbryzozq4uhQNGOszSm8M6wbaXSJOG
+TVt3XtiApdtd7QwsVm2fPwfSj5LnV8us7b7oUmPcBzmy/nxf8fJCWpZ/cd5fRPvLWPzIkOzpFprX
+LriX+C6FfHfZ2dmtAzApNVzWuv6CWxnzj3Ns7t1eFrrQ2ohDlTEd3bR0dwFg+B77+pLvew3qshAj
+vdBZixjPtRfDsnUw2HWXpqf4dPUqkcVXVmclQ9c1DnxdARLypGyL7slOTZ9mnxmIyoPBIqQf9qW9
+q1YtYhsyTgxAvZHimulZkLSlrysLkbQX29ejLDUJTtLRVe6v8PTQOqaWaqOZr9J5Tvx+Xd8Hrhe3
+vObtrSx3z0dTlvcrffU12NcnutAZp7CAYan79i+vev69cQLte7DXqUPVEa2eRbYFHLRB6WqMSMoP
+abks1u2/v7BctnsqQHPDe/fC9Ta/ahJYbpXmr5BuUvpaA/E5+JDMtFs7wLKl4vYScyRNQEnmgaQb
+13UaK67LusCB5JqRDIr9lEgGPrLuUctmlDZl21zT9XlB1f8PkZZULzs9WdZeeLVeIHFH1tQZvJT6
+4Cfjnkre01WkpUjZ06XbuhLY24bj1s9wn5yWBQ6TENYpoH27+mXPIJFHsq+xx3qGLgh1RodkoGBb
+UlLvxoPI6HYk/SQLbqnCapIsvEZj9ZJor0kkvRixMs64rsUpuPWd/HzpA2CfTbcFGQuSRShQFd5s
+i3rKUlcKVjnWenOPeiHQqtbLNlt8zWAvw7C8BmFB0tedDiY6CKF2aWm/96X2MVaKa3kpPpCZqtqP
+BNiqsWU1ArXnQiu/6v7ypKvS1gh1L15aO7vsaa41r03SkcTr2r093PP9a7r29dz2dSGkBz4y/3i1
+2Qu+GnECUaK9cGlDbCmVIgArwKLrA5bVpCKyBTJUoYF0iFpIRVS91du6W29ZF06VZa/fIxYFeQXn
+K3e/+iALGbdbXcsLX1z45iRL3Ul6gTp9i0CmolWZoGpMsuDeWwJWbxNIwc7L4Bc6UR2bSO05Mdyr
+ffDlFfz49gWr5QO7R7vsdTO4Z3nopiYFiQf8MoIfP4ociAVa1jtbyBLcZaljEGIdaZeefSohs+zm
+/9UPcuMGaLfZZbeAX47APo19DYjXNS4Lye/uhSRY9k471YDdlJvMyIXO+iB37YF94NLGmkhd/K2t
+GZLZ72sIlkN7SVJotZANQbBuPYbbqsr9vuhehVuoAUzx1+IdIDM+vfaqDfqqnLgZ3TU82NYWVm2u
+CDdB3NLtHADCBhyk1Rn5fL3xCW5ua7UQc53n8Mjb4b5usQ4jSBEW9eqWl/WT2mNsFYqV90UnGFqo
+Vq9I3J4VstWPzP3ZGZLly6MCVim6YNXeGkmn6X0iA1jdkyocJfURPLQG6kW8lL9snunXfXxQF62q
+LONJT6CuC8lNbyQH1u4RktJhBLK6EEhMiHub8f2gqviCeIbVTjH4soi0kGIbvpTLpAEogNBvbuU1
+vkBdiArUpZp1t9x6RirVEtX9we+zJe0uhIVV9yGrfHuVj30aXrqWH2GdwV8/odQVKVvIUFg7NurZ
+sMKiPbh/cXlLvSMRRW3ZC1i+rm03gFsVHlVSujsNvMIJSslRAF7XtJRla0+2X/FSjcE687+OpGWb
+gatQvmoVxqvw6IwLQiOHNchYXl7vbqiqOo5Sr7evim5IKeBm1Bba5g1JnEI3tCGcHenzt3soZFny
+CzOs2Jil7mS8OYcLIWHxKw2oZR9ZIbCwKzoC5YPq4hpCchBcF6HwpD4HmdHpimA6frliorBmprBy
+X7Ryq7jPtCQ2xV0ftteW3RDvD4VYZBTSvkis8FprWi0JX7kGUo66GdClrgZD4IYWavqa3g/LGi1s
+McxeiESDJRLDI9uBC+p9ACiBh9Uih6XuHEk0EfnKN57OW/Ze/CJtvyUpsN75mZFxeCg+Ok5kFNfD
+BoprJSPy9RnHCj1kSoCE3CuHPSux9jCqiHNhugdVaEhLpOtwlGTwqlqhpS6EQyA+0dfrH3udM9QB
+/aE6kLlYUPF8h4FipGVBibblw/lBrNMtVmwqa/tzqMgCNrMIvQUpBnwxFTUMdHEJHg3fPvB5efTC
+BuKO36agy7EXXANME0QsMhKo/Fzq/jGHmPuwHSGwLb7FTVWFtCkv1ULHMzo8p50YlVoTbE1Y+ACS
++CsBjMq+ogjqcWxSVV144SndQ1F6vsrKvYp8RJDWfhZgu8s6aiQ+xIdlfRaNl5cjLp6SJrMyNHAN
+dVIVR25HPwClSkPPCQ4m0zgK2xcWqVrD0B27jqrS29bxUn8ApV5TO0YbAxpWqJxDMlTWc9WekfZX
+XTpv3I/tjjaqWoGPlENIA82pVasEdIjUqLFZ2HY0/uaAK1Jq1Xd17S+K1dyBsAl24yTepqEtJXfc
+RODROe4i/OwRegzQxCstYiWNw27a2483zVrxO2DNRxncq0U+RXGMJ/k0H/Le56DuTCM1PMTDPvAo
+f7Gny+thQxLjM1TXiuCvOvebMTdr2bOu9XeaJZcowFn0WU4s4UX98y0PryizqFaTbVraQksp22g6
+mkm7rIVnrKBgLKTuz+S+pWdZv4iHtxqPRkSkkOW68pZRhqFjlZYFUeorU1UWevR/u03ySD/WdIle
+oo6HlaB11WOd+y1kBxh6jdUqKlZvXf2GLNBHQXkEYBGFAS7sXLQVKuHRfcOaMZPfJ2WUYseVIj2M
+QrInQkvqhep1qZtpbpVvC+nsW2tZ/X2lLsiSvMHq47RWQ1IczfgzI8pKtU1eB+petUdT98qri99G
+f6sbsRZyD1gp9z5LrOkynrbb60iospVDs9GFX0UxwkK+XoTvpix0bS5kd+vyaviKqrOD4iRctXIp
+xwamtIDugxbUoGL5cZHnsbW+nptRZN9aGxbSrqMUUvVUG49SZdqRLCzaFeTQAgo5q0s6NhATKoU9
+eyfdui1VbWuIdaBFF4K9wVLv5LNwi82zrHhsXEar0JZDcLsXHy2gGGS253XhzTgADrNU/azqA+lW
+1SDRUCikGYvmFNXdmKuyaeDdqJi/xvuvVhWi3ChjRanztSl1l2W2W+9SG6gFuCERjGoVAWKtJ4ji
+JItrdSzuJUyHiF9oa1iQenZ8G3ms+UrW2WsdNx+0y4sQWdQDCVl7KGF/eKS+orBqqbAU1DFBUg7D
+A/kaioKVIlcr5gtpB71CT+sClroJ14Hj28qcWWEFn1ERuK2libS9hl7gakEY1vXiKlIDzlKqdCZZ
+04fVLkBYSGp/Id4F76bE9bi+17o/Puw1GHyxCUCVZq1yp0CwJEao7lpFKyBgr7mnD11Ypbo5J7RV
+GmK1qzVSr6aU+p5Im7Dai2T1A1A3et7tGnLHr+rku6DsI6PSkHF7Omh5xnBM6W3lF/V+GFX36oW6
+mXW/zA9EqPcgI73/kJYxIWcehYmA9Xmj9TRVyzCSu6w3It0Tn3tFWDlu6kCrykpdPVbvsQ6vh1Gq
+qVJ3PbFeC7DOvKVU5aN88Bw3Y67z8MdJAutGptyLIGXZuO6JR8qMkW7+uPAluvSZkRmu0KIUKRjZ
+jQsuQsRazcYsp4/C8mcyDtaWXhT7hbkeP25lIa7vXmtbN/RZmB9FcFrHxGETlH1nzi0MBNqmjceA
+hwarpVrlifuHhUVryPY2EHTrsASClNDTYqq15Hst3tnWQkC1l0Dl6AFbLUi2h99S2USHP5DtLrK7
+c0gqvY5xD5IVSXujzoVYxHpftt3WL69NGciN8kaOCIeZHXkOGaHytQ876KzKT/JVfK3+DvCrdqrs
+3ktBqFbYAd0wFeswCIiiUreXW/OlCgeA7E1QE3Xbvex+/2bcaNutvbQZ6QJFNliQFE+9nhGSFZIs
+gNv4GbZI/RBmrD3rF06WfQ3iDWtmvJFufkInJKzTdTTOX3ioVPaVHUgWT9HVmLtBQ8I5UeUqr6q4
+muhZi7V2r+/LMiGZ33AtiSYVmnSBUWXbCq2MLbU3zHep4vHctgIXK48L68UITAd4PcZqQKQm3p+V
+gBXJsRUQ7rMN6ZS60JlvW+q+2fTjysrXEmMoZOeatfYaqwWn24CkGoVQzzCFbDJZOY9bRcpSzdD1
+MlZaQUUWdFDXiRRb7PEljeZw2ymX1oUDmwlR6Z13aLBKwpo6iYFV2TMNoAtZP4F4XOO/UGYGa49r
+bXy6rlXYd/6tw5WqqowqOK12Q7ZDTqldY7oCFI9pnr3MdsEjWVz28umFcj/sPqpycooZW5gDlS6S
+RTp0PQIQ5SKrVasejcur/BxZZSYJ4egOzfuMS+KWQ5qeEItY2BoTukZg9y+3UnEy4fJFT9ty7NqX
+qou0fpCAS02c4Xo5CEQR9ph7B2BlpnfzWa3B38prAfblaqQ7LNsTHbfln6/VXEQBqfodSbPactLF
+IYcmCFi3+thnO/pQlqovYDVLEMuCxM3F6uFR7wLIVmd0vwU81m7TRVFISDdmUZCsl99M07KXEwNd
+SQdQ7wxDt3XDOjfB4+DV3aYly7Ct/oN663DiWi6HVGi9GnMvZcZqGcMifC990PukQXoOFFJiTSnk
+zTtdtnvaMwt16LGPlRVA2neibNmINetTXmsaNuRKvT36XvLN6RVldj+wYDUnsjejXSrDe9zrkPiW
+uDd/RRpGrisSyX1/SKRVRRihVIOE9Yy5Who2ULfVaKSPPPLUHllFWN1GtX6apfKE/g0ri1w9UMKi
+lX29XrWmvZD98I65Bay5CcqsslTO3jIaKtYZSTuXH1ewIPFGoFouXaePlirtSD2elUxbpCwC6f5C
+1e5r5lsNUKlCkUKWDuO2co54YAv1Bl48wkIoX+rGghAbUf+J4syrUBe+R4JQXkzX6tM+C7w8cV1B
+WY2HusvOAjwFh4cl7oW51rKbjYTEICv5tv4My6GjLwBd5YkiVbyUPTytCeG6w2Wh5cGcsK9Kml8Z
+tXX5+Y/NQRcENseylsugtCg6svnV7LfQXXaXrZc5sIQhZxKrneoLbApzWOhRZ7HZrAbbuvtSz+v7
+wCfuadU6ie+fxwsLEA/EF0rtnQ6LmNigKVDvgwhQka6l1L0P6loVZGmkOq4UV3ZSV3Fz+YsysPEQ
+llTKgXUimE8WzMWqOBckgX/dXq2Oo4tUD1H2PRaqRi9ktqOk9XE9Ah7GEPKw5VD4hjWvVYQ0Iwkn
+174Ry5GsYnUDqzfFy8KReUrKBj8F6zZ1EkHG+26uY2rZPYNqNSBSNh8WwgbzDTdI+Ess6z7rs3Qe
+1glSFOt8y8HDQDymyOoqFmETSDLXg1BAhOL6cpZ5OsRqO8fww/0kpOii9YUzdk5bF74slCnmiz2Q
+m9v9JHVrrbqgqC5ow4PDWeek+fKkGm6a9js2jyW8D91pGEmilxt3JIx8VYy0biDC75eyaku9Bodl
+KpYtY1iqvQe2HgZstyWr4JdRxbUtX2PrKlzbC+aWav8HeeUeAB5bj9FdnZCnSuvBu3chQtYHsp6w
+SrXUn3lDy1oKXPVmIyqOLO6tcqh7WqyQHW6QrTvHIlQULocEaL3VEgqVDqUu4jimIGn1zUK8luVY
+Olrw0CPgkNtH1gCVejRFaA2FfN/E48x7LFY6rrCsJ0xpPdxOptaVbEUh24AZ3ZpTQBDLEA7Xcthf
+HmtGvYqlD+kvqNOQgoFEOO7Ww5991dcQjhP73qxmqZptoFiViPLeiMxbPG6/TdqWCVWxyK6RZiSQ
+V19ivY8G1znuURXaXKWqgyl1blSssYDDyq2VYfrABSqesGaceewjsOVrC6ZDMwVWpVI1j63d9So+
+29jMpS7aJp7KIo1UrAkwqQy4Anlntg4boPMZsCoYQalBQR268Moquu1WKZyxXer150K5bF10g2JJ
+KArfRa9DK0/WatxRdkrVObNyoJFyPixsoIUo1soyZB2krWJ3sl3Wca2EvJyTRP31cCjHtSQ0FCm0
+so6FKIWlOKtNkBao+As4jB5QF/se1kZUzXWXo7eKtJZCKkbZ33vVAVQlU8dYW1yeSYkyrej7WJCw
+u2+EFGE9mbdmCoxPoJyCtWALSVoMtYfPNuvcBwCpG+HqtRXTQJV6OzRwxroJ+pFlr/vi0ckRqypq
+VMpoWe2VoLhr2ormg/leycqyClHsdUf/P3NvtiTbERyJRZj1KylSXIwckk8cbvqB0f9/WLoGtysz
+3D0iT1UDoCQ8wIB7u6vOklt4+MLZkNWinD/o5oedpy6G+UCG4Ttt2blKtnFVKvmCffAI5P0DbUET
+piwvFPQxaAzCgY15y97gCdvqfDK6zx6XbKR4Ww/r774mssascci3w+DtyJGyYjXOdKfEThz1hyQG
+e7SYlD03EQeioe7tLgcXF0/1dYABT5MAI6YWfg4Y+8d27GzTG/PDvy6Lk/xN1JYKoPSFA/fV5OOh
+Q5b02ctQzz3Agwx7XhwmPAgDk7HvLp3Dz+rMDnby6VXQHaZx92J94ghf0AoqSddlN7gu3vX5X1j4
+aMXPWcs2/vR72efgtvPmkuG1fBvKeHyB/QOfJMH40S44fqXMlw91+LjcC949WAzTGxdrgtnIAvcx
+pqcwPDyLn2je22Lx5ALSd7g0pqVf2GdGL7iMtP7gbvEz/KjjYdHxUujJoyVbx+D+T9/8P3G34BPA
+h2YKiA8fbLw3Isr4wYc9fMPvt7Z4nuR/Sj6eUFsxRWj+SZeMx3nzyXNC/NEf+PBd5x//zD9zBHz0
+8t49EF4k/6RBhB88I/zwRflPvFkAPryTt4GEMHR8wl7/2BAbM2Q/yWP8+PyR9+8bw3WnjN8/afw/
+BMWOEy3jd7zj3xVN2f5Y7nPdr+2PzZm7IaVmK/8ZC8NlvF2rCB2E16kyhyDPfxZPL/xn7/5xAWge
+ak+TCpOJ36AJjihVGh3v+vt7eKkUw308zmPWTC/OLxjzZDnmeppZ5jx7O0w3Mk6E0YqGET+GmV9/
+lm3Q0YK5RS3zfNIyZ14XYusxN9+sLM5iS4FD2t0MiwAu8Nx9V7HfoK7DNFVhjczfe3I5luL5dCCj
+XITI5jPw6xGkisNuH1ipUUG5FHmMqOsdNt97jWJ/2OW+NJstqcNAAZKhTqvANHliGAw+CE+IG9lL
+F1FCxgaUYaULBguHaBTxYAKlAaGsoZuZKwzAIx72ecIAG/W+GTw4uX986262Xqk/0HQYuqb0+KhY
+TCEku/FXqIm0c32u1XU9mODS6wDFihHynTzRq3XB9ts4MWE2lcF9MbNOp7CVEw4Td3wASZkLMTnl
+pLoBmzvyfcmtf3PABtjo3DzHha23N7jh4KNd8ErvmTkf+x2yTD1Oa2Fl2jtUcRZLqEtj1+drgYDm
+ax6ud8d9hzk8Ag6etOQcnlxi2Q3Lb5WsQPKXby94yz8tP4DSgRZ/thBWsu1AGqDYB0DxsZOimViM
+TWp/tigXIgj7aK8oa7FNB3iJS6wrsROPvj9uR0xR+3Inv2xBlliKu8deDSy+jYgQ4VfHlIppuXe1
+RZFe4SQm1G5YI8TUecE0iO+fPZRu4f5LmJAMEhhIWtqndRahkAVvJ/2gnTmkPDXnb3C/PbvneOsO
+2fYNT6NO34Fs46NBXczTekbKCymzE+Q0t1KVqsRF+dq5aCmtN/TuE3PnA3aTodtXuoA2TvxU0jlw
+0TYA480jhZZzknv4HQDrxDYtQAbYvtOT6ycrPWvW8rynZffGJopH1Zc0f/f6LjHdoJW3jiWKtBtq
+z8+fd0JmWfJWwt9BGYjYF7U2LXsYJBw0wlmEOxgzduqzR8CUtwBYzvvikdSp0ZKIoQq3sDTnmriq
+y9j3mOTBeJR4qT3UJMn1WVT2ImD8faCsx2hZV9MTYZej9AvUXs227T+0e2nNxxDUuf0ek8NIzvvf
+waKv/IMjOFp2GqpW9a8TcjLjEIcpud/ZHttfRwSBpYXhYl267W5Z8dab9MGy821RJMGYR7M6IJfw
+PnUEhQ/S2rLODgke3AtttZaBFCr4UeAJ7JfxSgDSly5OYBLdrKSjSjlKoXrWTr+EbMI+ievskau6
+Y7mFG/k69lH+IpcZFJt2djgJzACl29qTRkVIczpxEZjW4ImgYR6isuRoNrLSrBphHfnvjtQ69ezr
+OKAuSK+FvkXPh/kwsHlGRYRt7wBYeMaiA1rST+y49Uo6zv5szboLYkCS9ax3TiK/C9T5cjEtno6/
+R13JakFT1p54MGctBqV8n408T/JVSDlG8eCLRA5AWhGxpI5Ylhb7Szd9JI8w/ArnuBEsyKCwUFXY
+kX59+UDCy+QiKP98TxSyD3U7s9j5aa+j79pmCWRKytHdVJMWNbl2kTzJyaCFL88Ovaj6PbmDRh+F
+gHmr9Nos0UGVE7l9AM6xW1+yfPZ5j+xPkIUh0A4OmqSLLfiIrgzJONR3LN9h5iqeO5kc6Hny+FZ5
+6VmHaFlMGZhWQ+VeHs42h8/inDQW1QHq9QDKnKy4cS6l8Br7Jy5dwvZeNG0bM7zgVmw9zqIENuw7
+5dI6FN2zDZBhzV4AJVsabA3GJrs4Yad7eRbuDK03XwvkKw562SeFNMy4sDz+QCYFVY8VNdGPwyk7
+Wx1j6iXygmjlSJSENcG5Z2RHllVn4pyZX1HPoIjJDaA5l3vrCJei0N8SykJYFu+WQDve8wRloQab
+c5wtSHYtq+24vFoUy0bS01KKLRqItQCxhPhMsdfLXhJjvk90iyQc7E9QJ0LmuXJdCwv/3K5QC2Vr
+fow5kmi/UhYFGXuijGEsXm2dBOsBX4DFnWeVEVwigpyGYEakK9WSTT0gKQL+dXrLFGjndRIkA50s
+C7dgjA1GLjo08X1cp2XvrAks01IX4X1iWS8nrty0+70BGuTwxXVqMxXG3Yu/uZ0gmzAHZi0PAcqW
+8P2b1hyGiGJgOfPWLb+uFM7FE+94sw3Isgzd6Io2oZiatpy9/SanZKCz2vjoCDEd6ycpoHHc0WKp
+B6uq6CIT908cg17BQOESbEruTd7t6qRFWUh6im62wAuM7Ffe/dkA9VitJYdxZnP7dduNMhOphVye
+Gas90475wSZUtqs6fhRoCsyWXDz8nIlh2nDkKHsN4KXPcbm+ixy/XYGXmCQ2juFt4jc5r79MNPA+
+7Sary3dTE83e93Msj6Bi+o0Eq3OASI8gM5lG9pALlayGSSwt8yUhwOicP+f/V0YmfaHKc+TEukh6
+o7fn54wh7w5w7n0wEBTsvzoZswweuuTL4V0ctNeGqwhneFrm0JO2YKg2Qo0xYhB4Af29nyO4bWja
+IZuf75Uxa8Oh76xvKIEDl0O9Na1b4mN7/AgmAuHCxf4BHfFdsOXnbLg3BMfbgoEPKZ14Q94KUKT0
+55TBx+eAn9E5cbtCvI8jvSkks50NnninGEHt/OBLf0JPxU94rw/PfH5+1wEkgHcL3MTP8iU/Jit+
++rJ+MEsyfsdco1+kZKCSsMbv+Mo77ZYJEzg1PJ3XQvsuKRBv47xdqa5u3VWea/p5M5nzTlUfGITQ
+djCMpzQS2Sa6MB6IdjfCXT5RkHLocoQva8/v9oGAh4cfn/6iiJz2ocKChBHJHnjMUgLlnSHrzLVx
+dqxqAzxRbo3h+PmE34zAGGp0f35PlOqWw/6j5ePdjv21mGwz6Nez0XJxHSwwNp6QXtZeBEj4fijB
+xqaAcmoX9XplycZD6MbuutF3M/8gozOwFvqkPl0Gt9h26bEl4DAF7OycVxeieqyyaB2Io9xn7yR0
+dnNKGYRi38IdnjT6LtGq9XMYRU+r0MoYlnfQNGPSw7LYrVxQ2ZjUSjY2o3NKaxFe0ezgfEMxJmWb
+YwvWAXja8yqcY1OPiZjbl1tUboGuYeQShJjnlcx/clC+UO3F+ZmXXLOVF27HpgIHty6G7VxaCAfV
+H/TKp9bY7LzyOi+fuyQfM1RoQZa5QTBZZFWrBKs/KEj4IxuMDCYc6JbdEwdsLUpf2b3kVUAEBy5W
+wYVGhHLSyMoQ6zUG74ij8as7UpwAI0cdYpDxwmniQ51RowJhoOEfe1ED50F8g2lYRAvLWl7YuIXX
+qAAtkELxe6HPwV2DfHEbyEZ8FQnqdFCs23PIPnLKQIFhLzAYZAfOvJUiE/XThJhtkKuyPN/dydhL
+7eli1UZWPJXXaFq7/ZydisyuSaDxS10v5cbtdnLKgqy7YbUBgz0aqQN0WoRlCbYkDCOFAwpxXAU5
+Msp6TNqB9VpZj93yjjXCiaOgo7/WtbVzvHrcxzyB2jQkyIDsspAeMbgL4T5tS4+nZYuep0W5ve+F
+KLQXxkW2YWcNWBIPJcEnsPQXYh3CwhzEMILn8plD+r6U3gwSxRTrz701NsFlSZgIRWbKIYJPPERV
+XlAYzmzYz5NbtPvTYvjdHQXpDspCu1J7NMXxMCYT6oA8mhrUhOSdnvvqgpwvZQbK3sbxY+eAuqQR
+dTIxyDvyPDvqPtXhC79+FsTY41PR0iN09f9RrfPSZiTlLIAW5W08u98FWlDpF2hHDvL533d2QiYA
+ITDA2hWJLINoYmHxtrMTcvNELaEYSrtHfEgUQScFYmtR+ksaaRDECsvXU1z7ezY2vDixCERW4uin
+dUJJlvDRyyQ/oSwsUPBGceZh/okho0gNXVE2XtR2Oh7+hypaPOSUHvEul8gqipt9+PaZP7u1CGaW
+tKfATENw4AdOXmIKyzDIxnoP8hXs/V8b12ZuJtFe48VyNM7IeQ6ruCe7pOOYryayie+03SCNhbMG
+ASV3hVqwiVFtlL2aRJxgSmPmi8pz7VUecw7gd27isr6gcjdeLVraCaTtSxkI6+WjKUntHA12uhA4
+uQNfa3nG8bKaT1tEUx9cT4dmFLV3hTOAl1rl824g/WeN0fbsNLXkphZQMmFiaX0Mjula5FHPR0F6
+0LG6a82pbSGo0/ez72almxq6+NW2DLXaPZKujwUj/OLgjrrcytuuyKe/bW1Vz13MZvZjxCXNKFhC
+tCJb61eox17oc7GoCwTtECGJ0qOMJS3JS8F74GQ+iyLPQCjrVXqkOTuDcKaeGqTpVmUGCgmVOe+Y
+3dvWazFz3kDMOQXQiqbyVJYjPHnIW56azBOb9S04QSC2JkUttF+wuCSLEh8IJkMKzNSeG1ovQry7
+8gtuLSWwS3P5hKK33jwkBEP6rgd2tK7PrQUI5x1AorOEqUE7ZsTF19By4dB62z31vTkjQ3d6IRll
+z1dokdg3lFgGOC7XXkfP5e8TBuSl7YJi1nzhC4wBZvSIqZRwAhbPXqGHiMM1n3+WNOwxTVR+Dj7c
+PZwk7gnRt37muL4JU3Juz4aN6ZYhYlXSfvZfuOzkt97UtW0BtF956mzd7a1uxhzv5+b7DqpKepv6
++u5B8tz3xtzC+tgFi6nN157t1MZ8/9nAT/vO0diXORILlkinuQFxRd2nHIc3Hf28uJlASqAHLg2V
+ijMHAH0kWCbCs7OTm0A+uyvhsbM+zzeZM3n5y3w3Uq0NLIYgBPokevuj/jKa/HC8Z0L5vX19Diny
+hSR9PQidWccsFrAwMusvIdia4LIocZSzhJF5fkLMHhLTZC+GXbITTMZ9JgwtonTSzRhcmnLtD9YE
+PdyDPze6mYVI1nPu/2/gSrq33HHyI60tlBmCajbLrH5OseWaAdUwzOKyiFnbQnCuRiCye2e406Fj
+dWzB9BMnY3AajGJNkHYUyMs4xLDe4M5sqWtdhQu8/vRrq/iiSnVSQmUDOyQ9R+r+aCrC5HYMrRZo
+vGgUIBJxxCpK1XQXdT6GQXYEjkJKEQztvBKaOIvbdktDMvfvuLPK4kXQWlJRUsuDOp9a0+xjKMur
+4Iiel8CGXRwKemSl5FwEFjbBmpyEXZxBYP3lFSpSa4Pt9YeL1JmlGKC6etFyyACgOBppOGYSYLi4
+g5KrzZQisK5qHa4s6zQLTU10avvxBbBFDLAzHNSpF9IKhTocSa1NkTt0C0iMjmpHAW8BnoVhZalB
+UV0w0QXEBCqgOSZtjOxr68xPv3D3rF/ACqICCLlV8y0BLuCDLYn2TnV42ezpvtt1omwjlJ1INWI/
+gqWpLJ7CQiKQJF7DEq11yXaT/QrIvUdyEljJeNDqMp04KHmSCg3l23dIPEyQCWGbi/UYQrxzvo0b
+YOlArCA8zkyLwEkNNj0uO3ZiysUtSLpGSwM+V4hNyMoXWLmRabIjc03YXgi3+UW4BDc0I48jsygC
+6xg7Lk4TAqlScYDKg0C++AWw8rbWkqwOw+arJC1s/LvE2IOzxRrBp+6pNpyo+wgGOdGdF7n9sXGV
+Biqq6lbCSWi8f7+rOG3I7y5Xnq6YlABLrIV451nnSLRQKDXAQp16AYclZSgfg4egmG/IE16mkKM+
+9tH69PzCo2jH4pRmCQutwVenmzBzCTjDZUuMUbyAYz4CiiUXZx9IRLh2TVI8404rLJholJJgfJqn
+SxOVz+LGfAhy4jknpsVN1KVhtp7PQJM+2dJq8yLI22HRlsWqcfYsOf3908bbXYXiUpxTWkK6HJyy
+xPr/BL93G2PclsUU5+6q05S2cgM7ReaXDoW3UNzjq7EJTedZgDwvGm/Twke5X5eSS1kntzJP2Sfq
+s0lldcSwzVDE72IvKlkgIBrWiuaw2zVDU8wyWShZcD0GRH8KBa/dw7zZVgyJsdRjlxYfJwWvrjgU
+NZnJOuWB027z+k6JyeaIaqHu0tE7uRW3KlWZOAWg1qsMDF/lqVvQwdRLmMiQNtdCTLvcL9QLYEkB
+Jsu4S281x3xG71vLDbPa1MNAZHFRuB3oEuQbbptCxBrUphfgUmXaEJ+Mdvxf1BHwrlpmi6Y7bUTY
+HBNrSZJcmydHOLxxifc7tKLX2Pva1NcWBrliVESNVuEs8nFrLkJpkW/kOJOxZCcNkjFkkNPpDI3i
+DUraoBnPrsvOShdRh/jJtdSv2QQzY7YZR8jxLMtZQmXGSojukp8PEmIG1Oi8r7A2pH7aEnArEq1z
+GEJncdzD6oS8yppG4L7Oy6uhZDBWqn/O5gakYW7X/gO5SUfans04AVK4F+e1LU8XSh1jLlQAW5in
+4t+F9vT4OnFyTjk8TJ0P4pLubMAgECuV1s7uN6ngAsRZFvUAZIzZQziTdhMwqiZJfki9J3nqTXkx
+m3WYPgG2+STVkZG2CJlPXnq/lBH9aAm+kKtlcm/e25cHAMsBWQ+q2fIbm+GuCrJNOC2zcuAzhHj9
+Zd4WvLR+coFKkrT4KqSXD+bI5rHLx15SlphDb5hVdS1GkpJsRrp5AECGPNKUHZfa/PrkGFkXu9Bi
+p7YzlJYf+QIja9f2ORNdFNn8vM2OPcrM1DycbK9C4TRmsJtislr3/sU+fIBRO6PcYsszjB6gRD7X
+hGdAI8HgoAoUjjfg4lwA5szX7up1ttRPR4+htlFlcLmojijgDCSAqfZVSgDEqQ/3AhQh/G2IcUkZ
+eNa9p1w34yH7KMhkHRBYdDCTDBHUBHEZdo15QDDqBbJfX5BAhc8O9ePEZT8uzUt0GwuUBRDl5Ftd
+PTrzbRxiETcV7LoXcpYEhcXA0W/+7wwJ+hD7ttfGcjQQJBg7aL1vKqdWX8VWJZyH/R9LlMRH+HLs
+3bTeIyo7yxc5+tIKnP4MiV4BwqIY1GYiz3nalrMJyWvAwY9SHJS+x8+vNmCk98YNSUYODiOMGlN9
+lGpUyUaGbCR6bJyWMqxXlj9hBZMsrbf2rpDWhlo4AGQ6fzELkBL6qxWAjQdwADtnAeqOrA4teSZD
+eQNiiIh+/XtVWArvwBrWsUGeFCq21+/lf0kGo8q57sntJPghkJ167l7j4/ys0L3TuO7HaHadk55q
+C+h5vd5DSm7B9vwjJc6qCQX1Stf3A84EYrbhOpOat08J62BwdImNafkdicAK1RpeoWax4XoNDvBI
+OWEwvoHN66fd2k9BZYVmlkdQ7cluHa6XDqRyKKgLEILOoyWOyuSnCSSuSdvG2hkVy1dzx/6sXcO9
+4IXOukr1yBNeOqj9R1vrFkscY8SBzsmudmdF94XhtZI7oUiZrI4gY2aPgcjcy3hR4cmvqmdQFJyR
+GHKLbStbDnTZwTeuG/UNzytVzuw008Xe/yigzAcwXUTug3/zsYNMWhxf75hjjhKDWr3AzAXVI7CB
+tGg8VjYQtVSdoSQ1pwaTNdniRXHw35T5le7/aHhV2nxt5oJJYDMMeFUwsdqA8WxE5WgZRpMWzBkJ
+Dxzm7uaDz+i+eE96vPVpP/7YyWutfebDNeHTcM0YOOXTR+CZjvygorjxr9+5gT17COF+q9DJ9Jkz
+Gh5ScS0a637TRgibxobBuXhCh/HM2n0mYc+E7R86gDnYC7ybCHg7f/i9ShuwuNN5n6joJk+NQkx2
+X+ZR0j92MV80Y7K6SAOzrjzfGz+55f/lA/H/WYegMWd572pIRFcd39lRxjnt72ypLjlZ/RLt47Rz
+k4023NzY6BGueNBzvFuf+NmQdt0t1fyWJpensYGRA8gNlvGq/z4M+M1EHzOThZAA4f2w4UlCmSHv
+uA3NMJz0OWCZpt26fm7fTPPRBI9AwEWQGIM7Kea30h9EWh2S3bM4KjgBdBRMc8thKWuSIca+YfZ4
+PUy/XW9RSMeJVdrF16oaf0eTSV1vjLozRDIbJ38cJHzIpiAGGBOs/O+JEBKq/IYTKnavOHZ+QtX1
+MkjXom4MOSkxV+AFZC0iHIFKiuMbL5TT7+9f3ltPnZDuNqw8fXJpNis1TvWtabkZeESG2iSsRMvu
+O0w+OxiscLVq0iazeiDp7iRQboNshrKNlS+BYPEruEmn3AAGbjPLfYmMRhZSgVhyjIKUsVFko+jK
+whRUF0bB1+va5fGLB6CURNdiC+oJorEmAXoggOtVa+/AD0l9XZpIwwYey2qfUxon9bYzRHYaOq+Y
+hdO99KMiks4LMMbCYTtmSlyWpogmMariZM5tkKt8CYiQjEKVY1NKQ80buANXBKRqBUqjcXG96N6G
+y5DquqbKIVzUWoKBu1lxXOzEw1cEJ4yhpdWe1OK1KGGo2nXI3pXhbAaIqAy00A4+CGKMEeTUtpRq
+K2SabBb25Q0g8FW1yvci+vrdknujjGce/NlZNsyBtZxIvdOEjlHM6/4WswReVnoc87aIfXla7QbI
+yub8nQvQAx7SAh6WHCAWZa+tRnkVJJXsiGqnxaCuWsy4PG3C5vQk8WLMhErh46cxpLzKPO4piIEF
+aW5GZuQuIR5Eg+XkIm3XIfSPbfU+HPXi1rcCq4VOcOJPyq6eltYUREUGpnq719TbEQnoce9NPkgU
+PAwG9YyDZlQwJx48D+QQmYzSM/DFvFpNthJg2vpBSYlIGCiAiwI5ILHzZhUOCINwc1oUmrWTSC79
+3JGgimZNINckzFR/XqoHaCxXdETmqyOOE/iFAWDAQ/hERx8jQlJtr5Cj+d7j6Wcne2D/zrhouD+4
+9sky2qGOJ/ANb8Cd9jn4CM5rHZrJuOUJkMTzk7kj0LgAZB/nQFiuAT74ZdxAWFyxNcRQG2B+7hfM
+McZIegMA4LDME4geGCbg8z1zG7H1AT8ELd9BlV++UzT76IFUyTeed9hn8Pino1leWGMDaAhhG0Zw
+Jz0JuZo95gfEydH+TKqxyJ2W046ZhSUAUvZbPX+s9e3NAV6p1G+uN95aE8RkKiCiI6nZQ4ghIyW2
+8QyzeXqkeP3fIxFUlRjGqJshq7vOvXwhOAPQp+SUTSAJVewanE8LKAZrAmIKMgms/SB3vdnuNAcD
+leEep0UiFRG9gvkDvrD//Isz0cpYM8TnDWJT/PrZVZzniN5LTzF600EJTuI9CkDKags37kihs4pA
+J0Nsj8Vrg2KZ82iX1UDCySQVYLmCCInK+85pd9AoL/FGyCUptOHOzpx/sBeUg0UoAUh130F5fjSx
+wPUkRIPOzMog74dYCmIlB7ecoziRbtL8CowmD3IcztSQ0SAFnoiSGKQMTbOtBTWbxuT4IKICNoNy
+BBdb+vKikeTBeOpu5fVXg+qFey0Ovw3SCGwWZRQpiLQdks4APe4zgSzNy1CyKNL4OMRxSI9xiyFK
+3UjEhwgE8kDndoZ6+aeAPiBvc1hr7tTvoGjj5Qws9nGHEXacVlyW3Rx6yD7+B1H1unJBmHwJpmds
+l9w8YFHRSl/U1i31FJJGaohn+pGWXSfQKxUGsezICYp5rl+vtwO4ToEHSZDDLacvE0bBYR5UbzKt
+miH1M0lWiGW5knrI+ei85xp56wCeEMcgBjcjlY13SDtWXwcDbXvskYvwN9i/mhFn+VmwZF0t3PMA
+cK/sArEfowCTLdo54zF7uharAQ+q1pYC1dUsteKP17yBO0cH4UmUnJ3GgpzKI6JbvUqAtZTrBANa
+RMud0mIpJFyzzIWtFx4fHoYgq+jnXp9DUk0FXFvaWuRdI8UwwdbGo9HXcwyDe9K2QwiDfSnSQotH
+WdziwUXuluYppKXNOVi97dMJTxeDCqcVB3P/+/s6/gds8kEahdW+QxlpMPZoqjVB0Ecb0MnGFyme
+9mfScUwxGJQmwMyNRAm0PeN0YLVyTiaaGWlqjHsoqKr35ZTcgc3q4yAhRipQZD4062CGv9RohjZb
+T++ie/paU0x24mJheGPH3eom/6MhuuiR0ZRXJpNaVHWCju+4oqKznnajFWHyvu2pXlcEyWdbPlO/
+Wu4cbpjkc57hE2iY+OCHHIQVGAUxlPEPHwbji9yB1RnfsM+YiFCRF+YhLjjTE8MwHgxYbbFlt6LH
++8IbnuA0bG7EsuiU5yvDr/w48wm8/e4CUDz46d8y6JhiBpoiSc2jgHMTxzQZYojSfPerlTV1SBZU
+m2empMCoj7+5YLIRRYYCcCstsmtrS3rqphpu5CEZaYxANrZdUCaerE4rJQwzlG7Sdv10RhqVHKKU
+YjJNZqeEM89fJJqebBgiJAbZgJUyMlVqbR7vZ/D1KKMa0CzFRgcTeaqDPyPK25FNXNn3AEmyYXan
+omMOaCyfciS1VMjlOYdMECMYTRKDistyutIkDQfVPILb8ZRPuXvCtFLHAUlcMjrjdfMtqmSpuSWw
+5OvZfq0VZBclEoki5+wHvphHAFGTgcU3FLygeX10sZvJ8vJwW8QGXMa0qxOf9t3rBLjUWZa9DVlL
+DfXRVxZXfdF5CufoSulHrKxjEIj9AsSViMA29r6z4KskI8gyfmAjT4qYGlZ00KAO6pfnYfVR5Lmf
+3M8gRJHAsj6DsbUlcvGUAMsy0bBFik9VFn/GC6IEboSVhxkSecWBF2kBHQVCYhNAu+/7QnNU8oic
+YPu4na6TxNBz9SDYFs2TYb9roHVw0M1wLGIYMpVXQavwweI8jER+Pnu5k3wS4zQo7GCQJd5qYDOI
+NejcYbuWkyMOiVDjmyRqCdOFspIthGYr1Ao2TZBak+NZII6pejrgthhHLoUkx3zHQXX0run6Wqnz
+qtPgji3sfFt4rBzewCGfOzrNeBQX+m0Pv1A/g/PWengR4Tlpx/fVSD383t0ODWa4wfZUMCbcec4G
+rkoylXBP9oJMIBbQGI9ae9vYow7AchUlsVo7BQAS0ilEL5Zvsw/lTuWJIOC581Xk3MzRcjIGt+cA
+PR5hQQ4vFJQmFB2chuQCBHq5OjHJproWt9Jf68gVbKE8IhgWyjRUTDSr78Sg/IABAWVeHW68h6Ne
+aDM3Qsbl99TAFG+67fTf0L/HE/Fjqosv5e3gSP0j3V57BHjAfZ7hjw/AJB9buMny4gIdD0LFm0/h
+h8X6W7wGb54t+1rEA3Hsxoa6PDPcEDtcgYovv/FFOEBENkbH0f1LK8yszfzGVtVQnB1fu7X7wxin
+vAe7V8hFY1FgRr+gdXiSB1skIq3+fSTbWD3GTrxpraOHDxH+NycorFabh+QqTOMvve3BJ63swplt
+BX+uI/MCTl5Uk1xvSquMWpTcthqQlquK81HsBrFAz8uk5SRjTPyo7IS2DgbTCBT1nsGDQyjJIKA1
+Shi9hyA7+RsoKiKvPOVaxzlhugd+pGihO0cNqMaEzrJihmCIoGaxeQdS2yhsaURAyMKiXq+qrLY4
+RQ0wK3VY467r4X9bICsR5vtet0JvHbt4VRziZfyRJmixoAVoospJ4F181FRyEoTTzWSTaMAYh6sk
+Kb4gi200hWHSc+AsesUSKo33LISrGIC+27BP/tZFwKZv2vEbiYbIwzgHu0klk49mYb4IB6r9p99N
+yp044JbzP3l2c9pTjT+AyGMmEQePOwEUaUEAh7DGEZZpwpESrzwoZJGHOhe53JQo/Grbwq+zeQoW
+c0oDgnIJDNw+gWsLqogI9nXik8WPlLHIl5JrpXTME5wrH3P9xr53Q2+aY5qPRmuF0U9hNY/iEJyU
+A/e5B7u+UN0nqawEtPGADTQDyVJ7bYPR8tk/E+wotSTmgPASlhNDeEKvCFtKe6G0piM22pv8Ei/5
+E3k+VnzsB7cugaphfIwpBJazILQ+VwZmkgwcYqgJsTFD48rzOMmzIcQRdwGMldDBlvMjlpLNhP3B
+i28hmy+2pj6xowz0RdsK8VJsQgRtgjNAKewbs6nuF64SC37earn/umYQsM4ZBkTeK59Ezvf4zRPQ
+fcXZc4+AByf5fCbqcP17zLwCOCdmEANd1Bt46GmrCRkGJn1cnH9wLVEx1vWMxmLWkgxMQVy4E/r7
+STvwRCAJA0QJNcdQP1/r8G4hhkY5fS7ZZbGDLkYDGhw5qQB9dMgfWBaAMC5Do+uuY2+K70XnOgyE
+rYnU1YK0X6fOFWtEJFpKL96hHxfUCB5gYgtzyxDA+A6/KlfdogRhAYpmG7PkxIOB0ZbNCcerwCId
+5R1USUtWRe1mmVOIpjrlzNSiW26w1vBhWBO8WIS58lwjXP1bV69eB9v8EgugiTg0r89SIhtW9kHK
+M1YviJ07PnxNw3zcXog9E5L67KwMfUeWmiyL2nPl+pqcExp+seRzhJZrgNeMMQzKSmia6KI+fCO+
+5d3oadz6CUu5rroZwxY3BZP3f74WWmK86cbzOMwG1+IkHCgQBHTsp978S4gDEWNUjb6oj5/cvjp2
+4zRhdn182od54uCQZmyROUxvU7gdjsA2JdkgjznAI8zAMlQzn8rEOphBgkhCnsyyY6UIiaZsOCS7
+Mi3VBYCjxZLip1SxuOg0F8e0JM53H5ecbeSye/mS/bDkQLeVg10PUIGrxdlI8VQJMogpZqiaZjL+
+UM/5W0/P/v8w8BZiGP6yz8Ay4ReXMttgZr8n9qwgQlmTUy8jgb3mCDiE7cVpoTTk7VakCxD9WWjO
+dLL+5qUJ4GCQM0UWh+VQxiFxb7IINPRO8K0FqJxZ85l9ObCcRQJMwsmq/cjpJyXOix/gVmAtJUw4
+n30Pami+m4AtxqaCtPDIrx/umxsqOglKc2FhEgVDJj1hsFPPkQxvm+VC4D2+4ew6gJgL7W7LSq19
+w518gm22lkVHFfi3ORUHq7CQ1UNmYZfcs5Cs02OXsiEh8XTsZZ9kJYfYLsogIwslqhyIh5yIqiuk
+/AIR3yTtrI1XkOIUtJIt62E8+t4r7ziI8edB+YHMCFxc74Pg7JeKNGu+iDoBBfWcpSopT47Uo0w8
+2uNnhTtnvvCts3esY68OKuUk6fsQ9ZLlwDzQNHlVKazxkLW3Vywl3rQ8wRa2WB2s1V5eNIGGVHPw
+z7WqK6ciXuuqNI4DmqGJW6QR4WfThU8isrVMr87EBCQ690W0Nfyiu1OQXDP6CW4Kh4OzC1ZES28k
+Zyaudr1KFoDKem6kNJ57iFFpNiPlA73/f2MaMMi2hqxDeEAl7qYgmt+wjHGJkMYJYpD3aO4A24zV
+mkjg9tKbhuEOKYsfdSlOYmx308aVm6DEqa+jYR4JBbCgwDuYJ3Zd2XuyEr00ESMQ2nPGpak61O2P
+xSNirH/5P9bghjtxCW6+OjvrJoedxXn2TaqBUUPS71M08UMBfsvZGwyHBTuYgRdKWurAaN7eAR2V
+LRYv7pX7GxfmiLEub3hEEjMTKfmLYv7xwETo7sq4P9MJvHEWpnU6+bmD/C3MN0fzD5EtWDebuKk7
+VN8fp76Rr4rN4qNS0S5D4o3NUlo8b4juunoC7UR/cRYDHIwS7MazCyH+LuLn2ghx6AM/046f/FXU
+m26nwuG7eKAZ8Qiy40Hjv+kIeXQACdFkDNge1YflEsxCnRjwstMvzyIxCUFlSAY+90l99PT0HzPZ
+4FVQPHVpAeMORzkVl8hmMJMKNW2h2j302AUqQ1fz3SEVxmsMLMEcONtRAzAUx0nNbKR36DFw6hOZ
+SvXeLXAyulED1sJ+Op4FS1+qdqhOLQie5oK+r8W5f/sXc5tHGKNrLYtIZtIHgRbcSqIzbSXQ+Dk5
+aLhBwTBCm75JPevUwwBsoNULKoeEcmEJdiI6mMbSuC6zONfCI2XP5/UtQwE8pVBXtfwLyOL8wsWO
+t5v7jfpZPvmvNEwEkv/37RK7BERMAReh+fQcv5Ya+R0ucAoj+ByBk+/lDrgSkWgwPF1R5Kul/SMF
+mctWmeQPqAQoIkk0CTjCUP19YtuW+Eu7FTwOjulGnmYJyHGXXXwTOOpMTARVwlm2GIj9AzI1bl2C
+2Nc6mNSZb4SuLipxKoI+JEp9O3XzmD9yYK/rPADUTT1KiTdaHGi71Z1bGAEQxYYuGOolT2YIG+Gk
+I+wJcXRTkFBX3iMBXroACWCEuTeNB+61Oin1+lsmCf8co/Jy1FAJ5169MlyboRqF9CXxJvwxYHQ/
+j9aXF7UZeuoZfx5xBzAZKzS9A04J5kYgR5xEQHQNZInLPPfttbdwKUxYBcmzgC7kpg1gxivIBZvD
+bIt5DT05YmQ3GFbDbfPa2THwFtRRuJPvimUYnZQX3XBXxECRZr5wzW/3EuCN0CN7Jbk2lz9UpyC8
+AI9NZkzBS5EsGq3Hl0n5Enak7LwgayEq2+4dlX00lOAm8AoKulCQPD1uhuvNxEM9l+28IphEmBp2
+Em+we74nKaHQ5pLgRgNKNW1IJ6Y/KLTvt+lB+fS8K/7yqcylILJoQpzOTJPNx8WCpcTDtCebQcrI
+ObX0aDFeWVkNffzVI1jtjXGiEEzSW5wGl7ZMFKPkn16sq4CZGleZU0xAOromh0XADEFOG4fSbY6R
+x+TYqr3gxIAku2XREPWUi30mWDtPSL1wtqvPfFKEgjkvtYafn5dNi8qLC+ijrZVC1DOVUlu9+qX+
+7hmSMMx6ijTv/mytWtWOe+rS2UezR7hJWXEiu0AiGZoEKyKs3HF2WXDpwYsoAaxAiXNEO08Go8Km
+26NjVVkKOu1Xu/k18Pl0ecbnIl6IGssm052RgmMgYSKruv6q79lnopz2thajLc18zdz2OkKwiSKd
+/rBqjGRxWA5O83q5K5UGrdYEXBL/7wXgmBeKwYe6jnD0VCGYYTW/+Z6LTJkjnu2IyIxh3nlAO1lW
+Cs8hPRyOgZ9IipixjTDEuIHOZ8m663Ps3J+fXdRJxiJn0gTVVbwjknBpk5fSDT4OdYw06a9joEcm
+fkefc41Yi8Lx7muyOyYPlUDJnaVA73KdSbbYPuYYmiBSjvohdrL1xJYAXotES9FDZwbhvkej75UE
+y+jFINIPKecK79gr0JLxrMlCZD5D726IzNB04d1zZ/EW9BwuyctuMEYLOJOPju+BiceOc/ALA2CR
+kPh1SnpXKCeEQMP41gJg6IWmxQmjaQOKacwCB43jhqPjUwDGXCb2iCguhTBlN6CpwKtPb3en3qRy
+fIpWA+JSfxknfNIzIHrs80VLwAQb5Pxc3NCxwJyOWLTORc0D+j7rk2fvbXfehN/oajYAdv4ZpQZj
+SxmXv/CXbdwOPll6yb1tuvZkWDb2hMtvxKC4EsYr8vtwAzazUjA1t+RF06lISpKZ7qSXgFDis5PC
+lIA2k51YwPSiAuMS5OEtfrRaWeqrVDFLRpcZNyL0UHZOYJtvEF1zX377IUlzcw83x+80MoXpCq7F
+vxiexLNTJwGOaVz5xW2wvDWesysLttSXGXnwWtSsq0/K7epE8jRc5xIDrPwGT8ClDgRz4PGQzxLa
+etXBx3VsjganeMJl4jmF98l/4Imq3z/nwaDGUlYr1wEacnODTAv/lhN3mtPLypxGScRF3fC1tcV7
+22ETz9sKfNJuV3nluSRDWy/r8M7Tk2xXSGy2jxqImCQHNVQIaMTelxP1hLMEhFl1vOWqHZhMy00T
+zqQmJNcpNSVlVlDhTX84arGU9RbknegCFV6kEQbwvM7ta9ucOeaCEKn3pm4n7/zcyxcQqjDCDNUn
+bJPIrSEI0ijkwulJL4L6wQGpptVvxCPiwif1caFqKYkeH52KiNnK18jYSlJsO5+QYKsXKByWOfVJ
+/AsuGXceYHCgC/n5I3ruo2aka2kl/n5ZmgEOxzktQrHSo2dJk+FrHVdQAqVeg5yjlqRWOpzzjTMU
+Zz3FYFNXJwj3ex1hyW8DuAwPk0IQDBtYr5ZQ5CD1tJbeUl99FvuUZJN8/AW8ImMURnGglJI06S+b
+VSa0TXQmDmEoYb34pLRfcN+yUUtJAntuQeXai/6eYzbkNGUIuXAXT1pQFXktog1MJWYFnrVa+U1l
+HmFLYPJYpJ2OWKOcxMzkn8OOp7SoM3coYj1OKTA0dcFJRiyrXdIKPTjTwc0XWRPUglRWh6sMbg8G
+jJAojeyd8wp4pb6+xbudhYTcj/bYOe/7tSFIHoCY9fxGBY56UYlbnduP4w0IloefJmjxnZiEOi14
+YwgWZdxBzEB67xdNCB9GginnXSbEyO+fv5uinnHhkKsRJVxNyP1aNAa1dhWoXsyWTIuptexVhnRb
+/Epg9GJxEjbTSHmzwltX8zIZA+JIa34a6xZACrZnfI3J1RyFpVzLSdvRDWRhlvFa/3eeAwzKUQxI
+DTrTSH6Nn3EAvWAZUwu1YS5KG1Po2pFGsx48POkxxs2j8gvLEl3S+uaJazxHSRi9/sXUHG8Awoo5
+NPJWqLlfX+053rsNtyagjpViE082lpPwhc+XMCb5mjj9+QQqxZDMzDIwY2nHjJdkmD8DBiba7X4f
+Uk4UTYHVqGhPAd6rnoQpTxiJWBPASN9xc/h8iBHFqxRJJUhBSzKRNce7ABhtPwJvRAVLtTS3wNBO
+1oiwIj+iuVbdMC4N473hGBniCchGiMdDqGSJwp8PpR3sQwQPEveFlzimyg9Ywnw2BgWbTB6ZJOd9
+FR8BbsIAqulW+RWsxS1YrrlRAFPSjpya14fF/HcNJj3Gp7QDt1xgCThxPzqqKUEcem+vsh9/1u7N
+mYG6nVId3QJE1IvQPfyw/RaTj9shOATzMyLTqLhuzPGSWzMHfnNPFoWcLJ6gq0JR2rl5AH0J8dut
+vdUCRnV+id18xKh7OZPq2L0tCm015RXr/rfl2NglCQHJd6htka74XJ0mUCoOAiWevEqdJQarcO/F
+1/j+2sCRrhiruwG/ekgvb4LxKPbtg7asHRgR6bJdEDlj8WlR2FDJx1JgOKZxQGlQGqzafakPWplz
+5qpwzwp/qJfxi4u/WC9vxcDxm1NEPqTnrfwBsYxAGmMOx39xD4SVKVoDLDWqDNONf5tnEpiLflTg
+5FuEP6skFdoS73m5h9z8hTS25RoInN/vJBfZla3CwI8Hw/YeWEv5/ewuFSpf5+AQQiuPV0U2kI3D
+MbPSl4/erbgYQRmUiYnCHi1z4XhZsJDHWdEJyg7Q01Z1a1Yzwa29r7QjceTUMI9VHOA24DE79b6/
+PIhQangmFuPm3jZw3uFBo+vSJdabK1CLHVW1Nz4UP9YrVYZcD4zko8UaAhvWhUdvYamD1hVmQulA
+STezmLgADJra553DmTfeswgy5MUguvPGk0d71+zHoJiBmajGoqRwmhYYwDW5wVpoBVsgVAzZOfR5
+qN5TcW5jTXgraEMGLb1Zyyzxv0jGOxT/wU3rHH466sS4A4gHGbZgxmrCQnAx8A+UyGveAtlrMMb2
+vvZg0kpjVRpsjsT+qfAfFVCMIfQwzh7k+WxNwG3DmK9pIMLI8Y2imuDH8ouMoYNdtwbyQ7DFaE3w
+7D/nqAd71UtzngvRxbz2nBEN759OXnUjIpJ0UqCOTTIecPfrX2ARUNf395WObgmzdqAXwCZiiojn
+uBIhyVsuIOpEpEDSI4eFnak8j9L1HTciQhdlOWpm7xfxZE0QNz+H7zbg9ks3VVPWYi1U2zSA77sP
+zDt+8be3n1uIzz6fAVT8g1Qg5OxipLXefU54Sy6LnBoiMYU5MnpYCKUWZcTFsqSWR5SOXVebHI1J
+c0yyDQOm1kg6KoLTasunrXJSowcfY1NFJBXJlSVDBmEa3F8mM85sLr8hLsBcviGdekK5iK/S79h+
+EalZe/Tcvw/xuj+GH0ix5pKtBS4qS0mFbvRwruUzmzf0WZB5PWCHoGY7lt1iLGiMLdU4NLFWE/Kk
+LU5978tGdlOwXoxnf5UAr76jHkFT9MTJCSZEmDgAEzugwJjqTPSgDADWG4CFDdQy0aRiBSHX4lJB
+GYdLGt1grKv05VE991K8eVOf6DMJEZAs0ucXX2GZkWloMOfpfde+IpHma6l02enDfCxmxt7iabaE
+eASzojq9oRd34PDDka/bKa7GOs+nQlm7NQGOyanmNRRuIOQfm9jw4NgDggXxJyAIvnhMkIcBTDgT
+npYkPfwQK3c96jOdHJRQjXqm0LSgqsuDgm6XkON0aKkd1aGtL9VuSDq1TfpVPKHSNqyUQJGNi+gp
+5RVo8x0MsnqmB6em9JOipL6wQYhbFwHTgZZ/NjVvfXkOfapfIZTVVGk968GnkNutaLptJ5EcIQUt
+qR6CGUTq2OSpOsIuMmTgepdUkxTqcYwhwAq01Ppv5GM49jLl3SWJsahsoPBSDnXh6ClADULc6wHL
+3nP24EuNH56S6rpnofKHFD8y8aNxLbTnKOlRBrhNVUAM45l2nyLzcWrv6tiUDisMOJX93MaHOHZe
+/PxtETcOQxeqQk5zmnjUiTxfAC5W47C2BQ7LiYuIdYyX+GhBfndpnVmuSdD1+GpNUFpgNDc3r+0j
+PrcmmP3bGCby1hVztdGIUPATG0V+WSV+yhcqV1aI3p8r/55FF4KI326dw1ils4olROPwtGdiqHMU
+mTFrgwss0qn2sywUk3Be+mxNUNa5nn8Hw5YccWDZ8a0e1x1eMwcRaFjDOfWSZVsl26ORqdIHCbUf
+92nHr7s+ZpFkWqPSdyR5kk+gZ3PslvcKNYe56QG+24B85E3PZDfL7TQCkNBfmb+/iKpenyeKABqM
+jsnw7rVPAod8wXZM5A1/YsW4523mm82s0epzddTxKlaNKI6HPi0gi40fo/INJNMP3PhZx5cwqD6W
+ep9KFUR09IkG5vFXiJRrCatRmXdeVVD5Pfxa2tMGM9e4wmlgsGkZsQZhZbZQp9h7sHwTHBthrDMb
+gCw5fNkTcEqvkVRzpyz2Ia1nuarzQWVwtYojwi1UY3ZGkHgJNH6OjbuCeqI9oFaxnqogOI3Yv4Hw
+HdpfO12qSvNXCbDdTFB18UTHRcqNHF2Al14v/jWYa//63WXsMsgxFDYxXUgFWai456qWXikGo5LS
+RhMyzYf+1EdGXjr97yM7TY6eeK3eHElhHI/FOAG3ZmA++yEmrEeE3TmphJcoAQbC/yzzz/Q6OosT
+Ubv2XqxXLWJm/cVoPs6YWMJ8g6ZIUm4eo/QZFot5SiXWGeRrVzsjYQeCngWV2n/puQpxJuHZvFbR
+DdFY+BxLq/fAtOS1sxqXUXY3OEUbz7auK2sC0iRQAKRyMujkYanAyjul7IZFMDHkzH7yDYX2nicd
+GEKYUXDGWxdoDyRMXIIFM+yEDvaJm27Iaas3OTRkHVSSKB2zOw6a39/Ak1fIYcglpPYPeJhGI4D0
+Gk0xg0Hu0KLvNnVVsu2azz0kxAN6IcaM10k8nn4se5A5A7d2t/o5JpGC0HvRhe6d9xZqoaLPXow7
+Ii4hE9o7Nxxr5MrD1R4XQMDfp8XddWsCEHZmtb+RLpf/3ujjjwZ0xvhsVWgn2M0mlHGqE31zMhFI
+6hCpr+KuAxj42OOsisHunAGL1h7jiCuzZj5KMH24lc4aLXyRjh0NDYesp4POvNghg36g+yZ6a2/M
+OHiox+YwEX1eEXfAY673/ByVXTSU0WrmqYfe9oBwNtySFqzeGqSV3Hgiq2c6prVG9f5obGTXGXSh
+jDdkHzLzJnMHaNu3HJwepBXD+xGc4DGzMWb9wOM/uGzYMXtzwhaAQ1+Vvn3XXUPsrtwLIC78cKMB
+wYDBtPd6Mt1cvGNOwSc6O+tYapMPrJbZ2nGO8mL5bnKwRAigxfROzmJz6zSRyg6LntiL8xGee+ec
+EWD0hTRrtdLRs1chnUxSuyjMdFj8LPz9NJVMhso2IHLV3eblel3yRt1MKCrTkZ2n3H7NpF7lTpyq
+l8BpbRJhKYMAXHUhLq5K1zCk0u9Ot0f89pdpBdh3LxFORRPFLZc5bLhDPAoBelNzGDM9v4ONUHt2
+xYmrP+/smIJCHvw54rJOPzZxo0wnah5y9vk6RFq2N0qPzhZrpGyabPBkRhAbqVpqSZTZxRUbg2UL
+0lYrrjU4x/R4vZ96ngY4yI6bN4eFpCBTNJ54tR0zuBtcDqfFe1hJE5ulvYAIOdRiHuq1gE6vKsQY
+oiQrfTnVhVKjUxbCKjPNJJderXGpGIM2X9mwsjz6qlUibnlgDKB2kdLVZ4+PN6LNCqrDCZxbTs7Z
+i+KiLAoDWE8IKLrUW2zn9yK9iAdgFL3j8/f6xdWs7wkYhUnPTy5AMp3qOBa75z+X1efst1Jt3bcY
+SE0W0V3IJRgUmn1hdNvlXV5ONz0ILhonmt/JkqPwaip2tR3TbqgEVtIOsGAadjcqacGdjArjmDF4
+F18jp3Rn2Sv7Qrdu5jqdteoNfWD9fISZmno5yNmOIeKpZLIUc8p5EJ8swMJNUn4fzXy1CDzrQh2m
+SQovhDl1OEkBGdpC5PdBbCTOHISwdbUm/V6AYW7PzI0Y2t2cXLTFZcvKTglPWedWFpkfCg61iUFQ
+vo0cyj1tuRGDOxAc6OYzgcHnMNH8D78NQYCWf/d9J6vVZMI+elf3GC8/RSwUTdIYRly4qCzGmmoi
+l4wgnydXhrsTu0qhB5LiIR0xBrddXNjbGJ5ja9dgLExb3mL7sPH9XExYgzsnGKEP3HRYD0z7jE5i
+Uc56N6iYjUfRsZzJd79dirZsO5h3V3K47+T0ygWPwG3hUxziZuAxWLq+QRJmP4FmAIPslhT2C79y
+AfjYHew1vrj3XnTq6W1jAvj2Z2aqMELev+YO6kCGaJrDa6Bw3rQtKux3b60i6YaASdi0IOVEtoHl
+HERp2G2AJfq9LwmoMtU1+/Jn16tkLNLta6zWW2iICUXSxrd60t8pwdawzkYKvsDPmNu2KazKpFSb
+NNxBtAuiPyIPx+3tsEJ8I32YFDbSu0TMd1iHhu5sxCph/HNrN81urZAKTk5ErnGl1FRCyRps7pBQ
+H8fVCHoUG7+ZnMkt+jq3f6lXmEV/vepocA/xgGUEeGyHn1S2zbcHH2SQ1ZEvrI5kQQ5xvBacSHzs
+rYObkShbM+GUsuVWKJ8f1Pb87qUOjDeuebN4EGATSPL6Y6roN3ts6SkoNUnneNEl06K3jztN3BUn
+I2ELomTGLjWyCF6U6IR1HImJWXY0REutqkpvgIMFnKMx9Z0rQYccBLeACGrbxVNnMa7A3R3m8K/y
+jdzEr83bYP+NYyHAp6zldmVJeRDFofg2egF3Kiuv8FC7VXS0uLcr3pnkr7Esa0NKq7D4vOKYQE6g
+ISBksPWJS/QhFDUKgDXvBpoLX789ueVnu6wwwqAQDlaqKK8flKnW9f6Fx3UPge9FIjlSmOrtTYLJ
+yopLCA980tAXGWJZ2cnhm4xHeW8XTYas12UuR0k4Ai0eZ7CSNkAdf0j9ZsAVU88UFGLAZPWjOaCc
+jFBQL5k/AO15+1GanyEbj/IwXFBA4tf7XFp/V+85pEuQFKwiKPoh+4hJhOgpDuNxoUBgcfdhHcEU
+1kpegeI5k5UFyAhTc1gywxHROqjRrJQBqFCSg82Au1GFxsF8LTi+jHEjY+U0vUixBrXU+CUGWoMW
+oItqBkGKGTTiwnIxu87LV13MEGVXmH6u/05jzg2gi7uiRJcjPFZiDZK5BkB24ceYP+qiETz0eBVB
+HUgtngrbRa1XocT1jAob4LjWq8D0FPBMgkrIc5rMaKf/bs91IMgIyWt1cU6v8XEd8v4Ow/Qfl4Gv
+Md0Ni7nPl86zwSO/4PYnMCUSr9nf2YDIVv+9ox/ATCgtLZLqlw/AwlQMrkM0sBZI0omcI8wp51Ko
+ANbmtLx1FRT14I9GlJm4FWLwn+biq/ZbKU3dODTSxOV5drvR5gScdmJJrs0/4ZCM79YMLK02n4g3
+OSKBLlxx510TBnVXGeVIRAMjhOQzhmjiwYn0wgni8TYgPG3sSLDt5TsYG3JolfGdaFhGzp83+ei2
+PBWI9iGJtfmFbVh42itTPk/qh536lWplIznuvj4yROARycfBOq4nJaAIPy/TbMeJtw+ikGae/ms6
++zP1+pb13M1Qu3gGLNGEWEJUi4exyxNaugiwIUur3X7KCpGUDHtpwREga6Q3p4ySTIO+dwnDs6gZ
+L7zjgGd0T0JyKV/C03KFOg2VcWlnDoI4Aptw8x1BYTz1pJLi0APUM2DjHidwlC1ENnazd9hM7aAf
+ExACu8W3FhoEYzpFEObDIaq8k1ZycIrNOAusJFBExgqp9rKCSrtbFcSSTXEdzlQi9J/G/w4BlsCT
+3QZMDgt4ASJV8pc+HnQD3BfX48bSOnqTE056LjvFQrT5e6VaA8ABiprmVB3IIAS13tLivpjKwwg+
+mXq8Zov6qevLLtAJoVyOPEKPVr7QkVyCMzgHABp2yiGTB7xKul/qsizTYxxwtLEj64R0HG3Jgnsv
+jFJuZUTzB5D6vlOzt6fCsmdX9ASUsekLUWaVIRa7FuGkKXPqjiQyncVLZWbuVrQmKrJgxqyNeJHf
+iKeABR3vPG6hvHs+UK5T20MBQQtj4eMriDAl3n+2aEmwKNQ748xfFD7GYbKZL1twxEN9DQdQYu6L
+X7kBEMBpMo70iR7SWpkDLpwF0OtLXEjsMdZguOkaWq2M1lvVgBN4760ZWApqO51Y1Ma2i4Ikeu2C
+qQy8C/BuFU6aCTXevDw7DJVyxy0whmtgqt8JrBTPxtVB2MDY7b5gSWYFOsEJouNvD5/EO4PxbeNQ
+TMa37Hg04R94qOQHDMOowRvTgGjnOt8AE6bz+r3vXIChkPAJoVzkUatj3vfdDKTVYU+JjZQH2Hz1
+BmnHCFyZlwEFz48FvYph+qczr97NHOoAZb8LjNcUdKLB0+Mgf/ypFGwe+OPTIaUlpmLxm/qduPWo
+L5PnsvDf5Dvzc0dn91wDRB5SPJvFyJtEjCeMcTQT5VDVCTS5fcHzRVx8SkaiFv9neSco3oYBx7HR
+Kv//tb3BkhVQxFPXMAcaXKijWWZdCINxeWFIjYk5GohTNbW8T5z+NkaUIjQIIypgoXTTFH4KA3mA
+Ti0VyivTpWHJrCntO6R6tKeEObpHvPn079KEJ35oOchBm+Kzl2YWdcxVoVkk5/tf5KJffPs8piXk
+nRZlvJJajlmYq2jNWQRGWEdehGAs8Cm7MjeYrdo16WY0Q5ACOcmDIV1tZsElYsiw6vuSXY6ifPpk
+wQ+9X8kuNO1CcibA65kuD5dBSLhrEIdmx50nm3a/3l2mguVrcdiL0vOj4sG5/tT6T2mHUMeRpHMf
+W4sDJQgi8QOTYEr48X3xJ9mVSSnSCmTBEcwfN8U7vZxbt7sK+/u/XHKgnHk4z37Rt1ASbppScm3j
+kxfImAwiLnWDYdHGijDDWII4FxujQCaUOERxbhwBYBW8aUnxZJRxOEbIYxTCPXfmOOTr3oDCAZjb
+fvAWlvO+QlyxVPgqvvTE74Bw7Fl+vV4TJCrokoZc8uIswhciZdFzUWcmL0U2MFs/9x3MUpuj6Eg2
+T8GZq2TCefwP0rIWAQqMWSdQZwfYMK+k+B7axZIQUxSx6gQHBmNuEeX8vc41UDTYzBGHHW9AfgG1
+iKRhCFDACiSUWRaMSIwpr8VT1NNe+S21I6MLLtIYWoP8SFfSjUAZYGRnIRjYGPI78UoMStkI2Apq
+xcKlrGOThNc2t6Ddju+5n9+Ao51ECoIjSS4nBDfTU3J6O4sQuk5DUoQ1RMIYRwQoWogMtcUY/pA4
+Ue5igMgzo9GFAeJGfSG/ntrNoUYwx7WZT9QUKQ9Jm2JDmXI8TrYpOfH2ptqjwI8jIJJWzVLjlKPg
+S3HXailagdbVYfu+s9EeRqdKjoskpkYy5geQN+XDBRNyGgruXCK3R8cz3eZJKnHBHeODj23JRQ2U
+wTtwpn9ZJ7AM4o8nbs/DPWFG5R65Wzf723TnZlxq3evDfSB1IC6kH7zlHOG2A8X7e5oBPDti4YMx
+HVqzYlCTuYIycM+OuOymI/in9zDPwzs3CjNPzAHUSVEYQclArAPfAENOYJv+9xPRZAgPGqQ13QEF
+pJ0XYw7hMqeRgixVYURXyNQhouUfdgcbCtVon9uNUqa0G8kDaOSonojcsUlyQcq8gnPNVCXcoBfU
+0ovDBfBvysuFjOSgJ0CWcxgi2yOeSVVPMbvvqGn6wKfgjHwHKUKZe2F7bzadYKoVjj33MEMccZkm
+o5ecwMxLWLZT4g52JOPU2LQSUSusj5crMLUYFs+M1dsPNZgJ/zIwrEC4jOYgHY4Oag0XxjY/LibB
+PV3zXTvl6xJHlBOqaci7+EIwqOVcJtbKcCIRiMD0KjRXlLf+dtQ917cqERmWRXcAq0aaDiXqgGvo
+FF59HsIKBazsP+NSYFWvoAIoi2xzugH7OhalBMV3KZJk8lpYIQN3enzeJLGNSywuJSxdGLctorX/
+dCIFOSFvU47yd0hhW4bhKitSAD9kUkJ2iGuUaF5CjVcPeJVlEluQQTkPHAOScEGXnizEtyFDgMbv
+ymIJOKmVK5uQ1CJ8ytWssfJVVsMRLUVls7XITFEcdcKSd8y9ZlWC5EE3Y5KwvlJ4JQL71K3l5JrH
+tZghiNciEdWF2A+qyB3o0lJopDajDScUBVytqcjpVFMLauJArr6RJAAyPUNR7MuF99hbZaXElu2T
+GrcWaLuBpChLcU7xye32y3vBkuRlThrunpMvfCJgJDCK2mIm3iHObBahpf9C02oPe2+RHVtgZr6y
+2Yon3lLW929xd2xvfvz0lysg2T8bFgiy2YfspJMKNv/61ZIM/9o+TVkHwkZY0l1oSDkA+YGUU7SL
+UVj32zwWU8tzNgpN59q8ns1XARxcH0NAEmYmqf/d0i/GROjBAVI4rqvAnTQfbZ4kOKBmJQd1t14Q
+fY4NdeFFr6ysNOXTSTbkQsx9yARlJYJx0FLeTYlDjm85InekoxAf+yoxXsxHTvg5rf0llmDVWcDg
+kF2Tf+0EpAx14GmewlYHJ1Gxk6K2DBcCWcZNoa1CFlqsClzazrXqC8gGlIpKks8R5GrUCT/RE4ij
+7MGkTWsA77YIW63ODgv8JBkxd4BsICadThrdnUrtRq7LmIV7ey9fpVpEi/vZGADkMPMAEDn77KZi
+ekCIJvbaBEK25OfPARcg7kDMjbGI219Cgc4LxgO8Qa3w4KSDAdjLGB1xHpN+LQuxfx9733e6cry7
+h+lHL7+DmXj2PCyyM/1weUd4hsn6c8e7d40BIktlEOIjWHiwaVtPT3Ng2b7HW98MPAWhH/LQEJwM
+xI82Lzy7Zi2cQvfMp7jkJxBHSA8PYOLTnzY7mLizrdxSuoFxHBtlFOaGLBk4KOqraXJkcxbiNldS
+jd/xr24rfd7BUF5cES4SzeSb630HwvXHrinQ7Cj0yIODvYMGounHLAPVrtc5xNOpMegbRHDILmN/
+mAcUWaLR6lTshJ151UJmIxV7ilCmCVjRU6kxxPnJCSAoZUUuXmo/QrpXkrRzFcSByUOtqLy1ri6N
+FjvJPKkUR/Huy5PGoneyBDhLC+/gtWAJxAGxpWbOLbu+IDs4k05V5lJild3yAqPDKLFQozrzrbzA
+mqSk2FEmDHF9raSgOClPais1dF3MVWidMoNlrWiIeDPyFLIUOSSza/Thy9SiuiJNQg2K9cpyfTpp
+wRybVTFarAw9bEOJtgvFYFiRF+gdnjc77YFoOEw2KcOSQOokd6zDrD1uUuswLH1PiqhIvJVmykvd
+pnVO71lrDZYtVBrnp6nHv50AFoVFQmWuubgzQKIHq6P16K6ngyDLp5rkS3pUp84kEE1ltTqQJEO9
+9WeLFBNmRQ2wjJVcWCwJ6UA0SFIXvhaig9xrnbonxbI4Mpas4kUcAlsIH1ppdRUA5nprRyGJeuog
+LMBRZoT0S4dCj7tF5Sars7P6qMFkUWxh2Yevne3gU0scdvR9phQirO0njWcscLpNMS1BTtWHEWje
+/yA7ObZ2LfMd1M8KUYaBaOoGnO7Aer1DRki2A5KnOREQmuTEBD0JbPCze6fmAVELuM56v8GbWS1u
+C8xaDYqDX+ri/epWfB1bqFfLZ62l9U+yjziUekuIaK/v1deNLZ1KH20MuiSHZf57aXWQFRUd9SvS
+m70K9zxdLzARNW8XIdY0uDgxdhHICfbUX9HAJ3AGISceRaHyzNQKsrpOFHsRKztpQ+ReZI11zDIr
+/43RogwFbTc1Olv5CNOzcCoedV30AZ9sQmVVzphAafkVpOSd/XvC1ilnLTXN4wwA11gBzg+pd0IH
+LDq5efAqhYFCOzoZtXDnEmd+h+3P5N8L7rLY+0y71rNoZ+VYvN4x+2TCVJFkIakGg3D2n9qpc+GI
+vQCclhu8Tozuh37X/Q4qy1lf26y0OOmHfdD4pUcJXyDBmnRVbH3PKcd4IpNhZBs+ZcnjQj1Uh9i5
+PQPXyaI/j4c0MWnpsL7e6RU9vxDn1DGyCDO612IMPonOlktc8Dd1ilgSiJrkKUinxGqphIbJ6ZXM
++YAVHMpLDzxWqennw3ZTNbpRc5EW10GNB8tjbOw+6jXAgT81cJGuBS5m7BMS6iGjD2D4vsevSpgZ
+4B8XBD0hnzmRVXNGfvOeuSbrxoIwnHZsWY7e8BBiSRBGMbLanIQRDOzc0UcYKDSxHVscIYZbx+yn
+NcNs0ViQlMQX03qaA3jl2QIN3OLe/mDFXtHrfPKbbLAY3+jjQEo2Tnymn820vpSAbgaislOPj4sF
+Dz60pN1K2ClnnxDg8ZyKMsWGHpexstobY7DV8jBT38toZ9b4r0ZGNcLSwOsUdi3/8tchFjCYRGSO
+k4d3AI+BliiOt662I9opyzc72UrpjzahAYxtQqbs7hrzqOrE652trGYzkMzpaJykjMszj9IyAxS8
+VMpt2VC9juIb3AqYm29K1c4OwHUNUJbgtI6ATraWMwASaqWYMaJ7+DkfIXT3P47PZHuVlh9I2264
+6lYmaRR+wKQxGfhwqiwk7mqamSBATdc8SEBqSLK12p2DmILCH/KJjq5yP+Qk241BOxV/16/anCZq
+2oa5F92VerQskBWC6UnXriXn5rcceIMb7ZgDOhoxAMM7BMreax2dM9dskAYykK1W3avvImAms6jI
+adTjbd3EWukaL+sw4DaTq0ItcCSX1dFgEMxow7SawlxftgccGzYyS0tPTqB8BZJNHwhjL1rFHtz0
+Uqa9/PqTFTG5P5RZJoLXvsoyLFyk8jOXHFzzpZgDZfCVLRyiezJtySlr2ReFXnoCU7YyhuvUI61e
+S8qnPNmDJbj2XEoF3CBRaNU8KXBX8QDNEeQ248GPPGKO1Y+pxqacr7mp7MlUe9pk4yUETnScq8BM
+Ljuo+/BiOQrp61jRp8TDaazinj+/MQGPU+h6oYgQrfbWBpwJRfLUBDu/hdFBN489DhjCAhmYyQbX
+k9tbD05oSHjZ/TLwpHbhFJFMLas1SC1BK1EGlxvi16NH5Qzya6O4aPLOY8VY8+TPpJON7nBSK2fN
+2DMIVplnFkV11SK5yFBksYnmKjOUhZmYQovzSqLTQnEYwXnScwj3s17KT5JgyrPsHDrsQclzOOkl
+RcCn2pClgafHFIROKstdewgsy4lkZa3DnRq7OfWTLFnQ+t0hIDrxCW457/O16AXR3qNMYL9TkJb4
+CPbFHQZY1uYr2ZWvjTMlAg4UDnqog0m6/UJDsJNhVpdHpiDrlSm1hQ+FhDL/m0ELB+sc+LEjFldy
+lEzLdQWzB7mPGqHBkmGlsOckKO0YjVnHL5fLFKeHwMEZGCpsCLLswOD46B7kAelO0KC2SaunJCWv
+nF4INGRSQ1xqF5Tj5XLsuDYGBT7Z2CWKPx+9HAqeLEKF5UAObT8vCnRdA8yEIW9iZN1lKogL/Z1s
+4OqA9NKlMfB3lgY20QlNqWLcAy5gW6FgLDtHYwCZ1Zqgvu/1Lr54MHl4wp0D+gGdduJeD7ZguKUv
+XtFlo2rSzpWrO7N2quldS58dtO0689S6FXdhvFJZb1YLuPxWH0uPenl1mI1LMEQ0pDqmf2dcjDNj
+5kDnTJV1HL/RebN7gPpNvSfTYtww+nAsB6MQUphev5i/SNrz5Q2jg7XwsJ1HawLvFlmPn5UDbLlm
+C8iCTx9cpi3rJtwQBA903Xda7PGf9fw7uH3L6kDOjeidjOQ+9CsQV6robAIZs6fjjbLqoFNmC2h4
+8/XXS+7hH5MJg3IYnrw49dcH/wQMlGluqnA468PChDejAHjDdY979jAcdbt2ePVUNs9dZUpe1uLP
+/gE6Cv/pB1wDnnlJfVEk2Vtg9ZaDKduJKawl8a8SoNNFy/Yo0nNLB7fdA74af1k1nMMV6a4K6R5D
++mbrkeKOPlGYfjkKGtY488fE4eV0UTRjUygOTd6HvOrqO8y8RUoNFiw58A/aQgKxipo6rtw9cMc+
+3a4ZxbZurTA3+YiQPe3Wu4AtCYqe3Lgwzp7QJ2hjhSZYD+9x04QzhrZvkGy6Nc/uPe/BRHi4v8WO
+MNENY8h4x7Q0fEpTO48yAi1+e7U78fIhSGaD0vM/JLQXWPx1kk8Ooh3SbpDwwY0kJyzIoTTr7JJy
+0GzRcWe0YFUeSGyrDZUon96syHVroHIHQ/1JoHqBXBazTLUw50UK8zFFHyAkkIRElclyKRFmtJgw
+TTaS+uoV5gFrTUo0NdLSlPUdQQw1dcdnSvQiGvI3ZdmtiFMtWqBx500utzSQAtNjBpOIrMZggl7q
+3t0CwPa7WrCEIXWUTMIQROtQVhM21tX78nSJkiaf4B3lu3ActoPH+VKXoO0BkCDthMPNoARqyP3A
+GLDnHS0Fyg+5Gpfl9HQBjsWoxRUdMCQpBos45av6qcfFlEyIToqqQ3fF1HkhmN/Op7njn1eYgR0J
+hTaauRNcNn9+R1lFUSsTsDbZi1e/aMVfWbSaF9Lu/PDzvcG9+qqzUlqehE1I2m+ee63WUNWvuaLB
+Yu7KJO0qAwM1cTZE016JvVtBRs6wL8FJvNyUsAn9y7odUa3DvfBqtBiEO7/btblSzUk26v2qY8uP
+YZ3N5QDGFLXueg3m92+n5xWFrktrllOlmZr7GguQHEfKwWAtDKxceK1oC9SFeI1dTHLuxQlCall/
+qMmLAFsubVYqZpO7i6MuR6CSLYkQ4kK60hPgNzEQyLEljgDnOI+G8yLzxEoxYOGAHnORf2tl8Jzu
+u0cd66a47hAkP0++nq/cYCT9cLdZMEEqrCPIqNizau/wUX41Xj5S25fH4pkI6mdRgUYzn12Rs/dS
+pcfwdhlMOflqD54TSTM80fjqFf6sKl8OZAtWCzTJVpdawx9RTKg9dbxSmbns27ufuAKdjsU6rsoe
+m6ZsPbTMvd0lWUGGMUKVZiVHOSYdl58s7gq3zBypjyFBCaxefU3kRcpCcAsc3E2gWC6xZEs7vWpk
+falLjX6cxS/p9PuUWLmKj6PO02tR+RLvcJiV0aANSOvLf/MklMvs1mLUdlUWnni7h1JQoYx0bSXp
++Ziz9jiGWQkkHMjhyrIQIpC2KkWH8xIhrXANRqYvRNqLlawYeL2/VEzJDkMsAjotW8qHp8HWEH8a
+fEcajBpMYWbWYMAhVoFLUMttRM9t7J0dFpVB6arGoT/IU2obqzgFjGinMCdPmCgfycWVh9h83FLd
+n3pIZZXd0CQqQ4NqBTNVTaQUZTFWfpfWls7omoCzLr/yBIKyCCIkYFYwjAyxLWdxFwz1r27C93j4
+BQKeOst6ho5y/HacW2YsMffsYdqNlIWgm2AaLrdG3NZ6KtqXV0sstbDaI44NKzlAtMmaA0MPS084
+dWqsox/fC7y3mDfzI9zTpKA9tJwcbkhdmHx1vGDTQoTW8woJ7+yLyIBL0+kCPJL3fXN6ES3maLA/
+2v+maBpmJ6j0FiBMrIYLvA5tII88+k4KkPvbalUXYqlwB91q/NJsG7twpqxNmII1zJdzt0sTcycB
+l3TAnQ78zkUrEJee9wc9jsekzdH56vlTgY+vYPKLx6O1E+Ye3ONd4+n2Zr/250cyf/8Hrl0zmy0+
+vsfPulWursTzs8KH4+TWrZ1+RnhjH/bY8PCxeOJZYHwH+Oglfsbd+OhxYxrXdiU/fxQeDEIkjbfJ
+kHd7qCGa8jkeEemuWlLr5NXnyhvtP1MtxtM10dHn5wwI/Oh3tcevtzq1PSe/+P5qhyf+wF/o0pbn
+198aZlMPTmzXPhuU+dGMeH62I89h2pQyfzRW3tvbcY894hpme7nZx2dg3YuYRHmP89HJW1kLQCMt
+JAlb0j3UtK4S0kuUr7xaWsfQDQidvEszG0ErwKIeN5+nQBFfKaEHl/cJWzRCumjMgKieK/mq3wf7
+NLaWoa4WYJo3PlhKKng2Xo51UZi9QWpNkyJp/sEo0WVehwp40jlBFBEnXXEjDX0PWEv9zb7g3/rr
+fSMYTjiXfUownFzUmlUV5KSaTiMHyU7rXpISDOuSYipUCIeYpPZsH4hkcZeFvBztTqhnIusl2Ffw
+psrf2YAFCC2yAkvNpd+qNFTr6tcAPy0eNDcZvsFdFxb10wIdl1M6nbmQIohwTvzxS0e8FiAjNZ2P
+TP2dUC6os7PT7JQTZTDB1mRzfB60X7towkATW2qAFzq/TC4sPgjUUj3uSKKJt7yl5E5FzdCKHS9F
+2xk0Z71fhQmBMh52E50xFZloRVby55ShLWcUNH2IMeJpF2Qnx4B0sA/jcEANC1XZwRpsUc+2chy4
+cjpJKd0WDWoJ0VwEh8Ycq/fieECuQ4ki1bqtluqJIRFlrMCmpw+aJE7jBWPRgq0Jy98/cPwAOFm1
+boT8GkiCWaYt1A6CEqePTPE8BIgAApY8DDEKYG/0rJ0kSPCwOwCZ1P8kD3dZnbU/ne5+d3TskJ32
+NFEWJAaJJc3VD0/x42Mo+bRNF3UxqFdeLVsIIaiBVK0lxiQUYxFahsP572SzSiVgUSYGKezCG0zf
+DTZ0G3k5DLKoFRplXkd4UhHy81ipctio0A3mE9Q+tQiAI+8E04sg3EfLiUi7XVaeRewehMaWLIu5
+SpZ65fyWM6tK+JBiPVdJxZTmDCOQIWtxoB7+9vrT5KiSkx/vyyizWFYN/bIFD8BiqItFdDqqZgN1
+jlKLJlfWGX67kyKU7XR2kGPMsRrozeeb40Poq7+Aa2TCyRrxvVO/WgoQ+/Ns38ua+3PKORJK8q+j
+tlQtqt8tOj7haNBRSTbl6IZaaNcQ8rCpzFtyXL34/QsVTVW+CeVQjCxOBB8fdihI2K7BjeZjpJPe
+Jij1G+fznim9NE1aTnbnZFKBJOdvxST11UJz1iRJj91OrQxjV5nBnKh0bjOFsOOcNb+f4z6BrRX2
+9xU1XkA/REC05ezBXZIF6bZVG5dbgl4ULWWALpYAcyZyyZ2FD0Mnozy+AwoYfi1mYy1a87LINHti
+i5SRtO+g3uEJr94Tx47F3FE46/UxMXj97uIMvtDIbjKIEJqsxYEn3DGJDEEFCIH6roF/nvLjPBjF
++657EJPBaTNKRcmuldassVq6s646CoLxGDQ+OwAy42B2JrHNGElflCEXbNE1eTHEK+48T2ngrSYm
+/FRY1i4bSq5bP8Muuyu67Jo2lChi15K4OWhdSy5RS3IStPGLzFDn45AIs5Prx1kPwQQijTY/o3m7
+9ezxcQxpW/K36CpkoRVMRd9fvjw7ysUoWzx7VSQk+96cGCbw/fY8/9f/+r/BqXiHV+9tiuRV09lH
+IQGGLF4oYMUMPuNGtCCwZr9gvujj/kLhj6GBj0mrOXvdS41OlOdI11HrfQeZpPScc/ofevHdlz4u
+X6C9Zhd+dDZSXyRO8Khfk+ldZ15LipYihncqANUoT/G3F8bcI4ZC9pJMwkLF1HAeHyGQbC14btMF
+HmgJwyGMlSrH6K5U00DajDZBHA9qr824erLn6A/z25LF2T5YRgE/suQNm3ILjF2TpwRwRxRUFuDk
+4lLWHibkoCw283F9HSkRzbe0hcXWqWEHH/CDb6y5JrEjEwUyE219cTfvmKXdh2lYuXUZYeDhQRkX
+MQlbohh5+0+BjrzzBpo3IROPznHuOOBsZZy+x0NDZvAn0ijEcIc2OSaDnl+3goGPPH3zzlPmU+am
+5/LnLiGumvGHmHG3Xjw7DEEIYGUZD2lSl6hK3skQUfbNwtT+RHL50ocUQ/pnjMjBZhnNnecKg9GY
+qL516k0ionVDlRAjmLR+0ysabI2dQ0Y38cDeaqEGuBlueNgHm4RmG/SdW5JtANz4CVINgOmNF+NP
+SkoRv/l1oUXb9ybUhPuZlIHoYjq1rGavxWhsuCnHLtoJIO3lF7aBZoI6n07wAYdnuyK9I8bAAmQR
+Tz4x8gIlKdroxnQ6c8vuMBeibENfF6vR6t38/q3HcyeyJXdNFs0L88Mc9hI9fEKqvvaO4PebM+nN
+iFt8hhiJQBxc846U8W7yt2NA3DID3n3hJ7wvG1i8g1/YV5A0F1pqgB+QHfsxGBLD0r8Yb4mT0xH4
+VoIMRJ11X3hwZaINSwHe03fwyVh5qJz0HL0kdHpNxIBlN4CHEXRlOULf1oXR/pbWN9xQInqGAl3o
++GwxLK2Y28vta+1kftUwtJM5pgXgZ7TCH5Hj/tgP3MrBt79wH3D4aELf9r5bVY3AT27r9z1E/L5H
+iT/rdf3OH35+/Bcu+83PLT9/JG+Xb/wZ4/pyKhin4c8eKT585E/3Mn3G1+77/9zu6/8H/+CZx3ll
+u/7Or8oPzyN/5tP8lOX86XX/KRf5+KHx5oPndyPZBY2I/m5EP9zMjdL7/9GQd7ZqJ40rJfEpR/jt
+axz/Uv/wCyGi7nfE/R7gIf2tD67hwXLwxnF/DqW+/TSkh+of/lHk+HB9lxik5iyET76n8f3nyPNW
+Fnw6ch/CmSKIk/CDiY989gH8bKWdl8/Ftuw0XfKjwY77o8G0ADnZ6v04fDemu6YDY8elpS55AeMq
+1+mBP3hZynhaedENfP/P1xLvumg11Y03LnxrOb7dM+yD0N7Toove851eOy578PwSIA2rs8CtuEeY
+nZdvzyPNVPFhN+IMueqd5cM5IUa5aweTonsS5rwYPJ169M0QpfUyokfplSUG33aYaVF7tptlY9ds
+R/Re47PDzTYwCWHR3VdxE1vw+oFi6UlMuowRfSfNL7HP3nsJJ/FgER43BzxvxPrnakenbMcZJ/k6
+Mc/RlUN4XNFfX7EoLoyePGQqYz5DM3KdntgGu7GIIF5/9K/s4pmgsGik2klJgJ7Fo9Eqd/Le6aiq
+UU19CgI6OPODraVlCSYvOBkqhuD/RExTfFweWOiV1q9qllfoQGGG5PcJwu6+g7KM60i6HTKZkqzi
+szzZfCE8BAgP93ST/NgzmJzK/ZI4aW9QYs4xTF42dtER1FP5+hFKW5Gd9u0uQpr8dHMwxgWVwktI
+kNk753UCiEGCzi/Vl9XtMNM6Ab1P63zxUnbxMUyVfzghFZYNdyFLaTD0fsbZYTnyMRTHosRFcIzB
+bthXY8i+6sdrkDlG4vI8Y1Ac2jMUARrJWfuOh7dA9jFy9YG9VYuDDTMQMiw5e/X7M/vR1r1we3RK
+ry3O4rY4/kcddSROc4DU8a4Okr9dxDrVk4CHLyInhEIZeLi7urSFu1SzXu9V72816BCD5XylRwmT
+dUe07QXSMje/1E2l70JLrNdX234x1WKZ9sLtYSzmcK8LrwyyYIB571ZeNQFQmHvw+YULQeX1Z7jI
+S+UULsxEXZnFsimHD/NnDcRDQWI7cs+JZRNWtfl2L/gJPSAjVVgwKKz4QpqnbA9albLHqJVIXUyP
+jRfLYXVbNZYeKpqLyip2zCmPgqGAZDdn3N7var8XflICi3H8AvxVV5SYvOdcJSkOx3eMDoR8aGEm
+bQZ1sks3/gSFymqm/K///mKzwfZli6gDwm1/HaHjcqqV1BziXZtmH83bHuWUyrvqizufIHPP5BfC
+KjY98gjKHGUqykfcrUeIwyGPjkDwiYIJNkcEQipA0wFMFdhRbNnEVlGUnqpkosnJo++L/Pf8x0sw
+pQvZB2gtK0ixoqIwlrNm2ykpjZSf6ApNA257aslz/WDtp9Yaj1BtyOseJNGXj98UkOHfW3+0vDCl
++V47dUdNSpchFYhezEgAqjmy5Fn5qqHWBC8MhUqW80x4kVnEIPyNB3DSYPlIT0vCSeYV4E7ltotd
+UNNy28EvGXr8g9b3lWZJQY8cCnlQzS3D3Sm/QS7BabU4e/e9pKNCNWc32u0rr4j/mW4rpH6rpxFC
+u8IRkthhD6VxkHp3n0ACU1qICpRa6Y4h4JKHkXr0/dLDh0mCz+tWd2JdLQhMyojkfEHavI4FNcgI
+89jLU84CiV9A0klknHIvU7EEUMjB0bknBOw+0mKLh+/sz3qwJy36zIF1bL45YwEDsFJKTRJDheVm
+ch4G+TLki8KbQ/cHSZmCL2l2SbyzfyYZkbr+ZZ86TnmH8hTM//qv/6umTNqmk2V/XJoRO2KlZq57
+uyMH6yXpzMEy2XPIds8ckWyvK4/cNG2VzuwYTNDPOqKcqd1oOmZxGMdJpwkrDTKFdilVnyXAWFy7
+7PDBUeo59VRSEoHYLUWXLnIFfmq9upXXpa2mPzYUHkzDZa+m47ugcPr3AhHRrIfax3IAS0q3RtuT
+biE01Nc5Q5FV7uh+klYf9zebQykcdz5KDv1Hd+WSBTNnkDgVrFZUIkX54G37XyeB//rP/9IYnRbh
+krpr2dE1HwkDl4ZldkwtzDKcj4UZg4dg9MsFO+Hm/ACEcPL6gLImL+VXf63D8S71PpPq01TAl1J/
+CNDKvHf1uYTIlFJkvwu2k5LMPqjIrQYIJQB57eYAl/Mn2BqN8+ePrJmt0Q3cJC/+2AlUPvkjmhNQ
+Zg5ZbeQowdZib/krtkjS/aXxOCCpydGDPmliHozD7OPbM2UwsV2z5zqCmiC1AlV6VzaMxxcx2awi
+G6lonyDyP//zPzCkW4Z2QNmoISOnhWuKi5L+XF5acIRWDh/KMRthyP7cGc4u6IQmHjEKGqkVXt5W
+4cb6qUWgN0osMShzaLFyDUo8iJw99rgkybYDqfWZdvuj8Rq4xTZl4aElHYa9K0UIPjWqxOTYk37a
+i86Iu2FNlx7DU5sxPYhvPCRApMnNcawtCDGDjzFMWhY2tb5I0pr7ZM7bvQ2nU3ZwqWcNiZO49B//
+8R/oR+kYHWlBRzjwLhApxpk5uOrG01CjifN45jwjwR45mVGks67Cwkonwou0nIfB9PwhMd85bG28
+kBd8aeE+qSZc1unCv5sstjLzMlQuPARb6KbjPacBx9BNmI+/+eys+2YREnJVzmxAacjkdFrUbgsi
+bU+yJdmAYz/IIhmszR5EG9FKiLZUJWcXEmY2nFjqPsmTwDbkeOJJ3vZMmlP57//+7zjZeakGjM+c
+5WcK60Zh82aNPNBrRwYeW2NFqLnB5AVp/JGJAjkOOGYRpdbfoONuTvfnJ2VjZPHOptHaforQ6OaG
+hXA7kPwX9ui4Lg4j7fQd7Vrz7lvtnpMqJ1td6jVaNgBk3nX8O9vJcyKDpvPgcoYyhhVDsKGJRqik
+mPGEJfMr+9OZFqgrbTmnc86bzxo2KC49Ndj2+w7y3/7t3zC2MPhDHizURzxjXB78VIA2eYZDspKC
+emE98l5lFc5LmSLHcAbfcjw3s2WZRjzzqXUA2uK9DoHTjG875zAGBxMdCJofOdFqO5gUQwkzozs3
+HcQwIeKW4nDJdng6UdzANXeJfoYB7qdKO7lN/w4er2GbDHNfhNCU+jqdsvt4KFPNQsrh18uyGCC/
+iCe9zH5f+T//9X/itixdJ/cfkFNNfPROd8iP3qIvlu/zHuZd67bKTiALbpTPoVuRj2t4Xo5lb+q9
+K6t4BinzCs722jd9h0fG46zuhv3RjAozn06os5Tg8yFwgwS8bvO144OLyLmDkHm5yI5HTCXFpzvo
+O9nXCUFNj9B9oiRnA3fzX//1X/Hu5t+vKJ9O/YekoJHO+nsWmAZfRgwMx5Eu9+GQ+/lgvPzudODI
+nz25qayaX9XbD7/3+hxAyg6W/mgcPChH444I/Knj7X66yHev8POjxuPg++mg+iP5VPe/GQ1BlB++
+pK/902/T+bbG/V5ox22G/PwhYDAUuxpR3O1xHu8Xj9dlAp4ndfucl/nwfbhg9vjg0j90ivDd3EOi
+YXx3fPp+HIa+FYv444NcjfDuj2PYiYQZffv923B5WAhY7XI9BHxwfv7pVH/6rMsCMKyMn5/vH//4
+upCM/oM/u6Xf/0/+CZ/7FDSKP+crr35P+BPv46d3ips/1cM946MF7tO7+f3DRQ0iB4XIBxfw6eL7
+PP7xJ7+VTwfbZQEwn7THz+i21U/2yJ/5/312D1cX7B89CA2M0Pp1+szLQ7l99M3TD7/jGdxWR/HE
+7g9JHWzv5uBPr/d+tdlTgn56/THf0poG0e9a4y73nBjsF++Dfn7FmPw4x6GSzbuQaIb46d7Qr01m
+VwtEKZtxnvJfMFNODVOKliTSdyL15G+nPEwkmkWe/2EW22F20BSdZU8UZm07+ui7duF8QVbij91k
+Uu56f7m8MnArEM3BWGK82kkA9yuV5vbs0OD7VbJAxEVl25IbVWNDg6/0Fdh60pyub0VXG+TJSa/z
+qu0r7XZExkXQj7gAcLZ6DL+vHRQKhUnYZVqKD1TAPF3ZeJvOG2trv1qT9wO9jR8hxOHqhwhKJgty
+FpCK9HXfX5oYY4NhTXEFFVWFYRfduw1bGZUK76XUy1L4VWSSTsBfIZ8Hf6DPgz7h8iPYVNfuo46c
+7N5X/fmC3OHRiPPk5rSXI9XE5VinvvtxiBzQHME2CSFAWXKSC3v6y6mFlhNyQE4r330if/+zatHc
+GXYBJ8LRQE4i50R3dBa4oHaeRO1AnhQlQaK8tF9200ODhrMiTWUapfLcjEuswfYcnCLEaUWTRT6J
+wFInLk6oLio9bY/JNRwlxc1bFz82mY+AKCLvlZ94o8tiUNqVEiCdufYv//IvyKSbg6aY0Clv3Jmn
+BBoxxjZSDR9J+2qdslpzdoAn6QZRSUErYvrJQAI5OisPtjNl6yumRJUfDhcJPRzUSvNxT4nbjpZm
+lDDDs0zNQczSMfgOqozD1EUXlsgD6uZQngM/IU6TYWr15Pne0m7kSccpI9NCSXg7VlCR2TMa46Nx
+6WndeQMP+QWkDV6L3Q4KS0WAzJBSFzqNpdZTVN7ev3LyNZarPCsyY/B/jJZ2tC/OT8MlZ4/7dcSl
+1P/nf/lnjPnvwYSH0ujvFYpXHmSvkoMMKsChhRzmwCaJwX+GcfetD09lzh26aDEZD13YFG4liAli
+plU+IFOddeQ575qUknRMS0pwPZOQY6kkviwGLyEpIs7ioRttknzVqaq+WtOSbfFRae5NZ1dLUmCw
+KnTIDlMSFD8KErEcFuCwANtxRRbWFr1lepRz2ko5UgszkdmSFCOmvK8klSt6RNkQziE/F33MiLAt
+pgUlD6mHx0ilYU+Wglyu6MaZ7DglN/iao7aQntfzT//0z+DJ53XfSTtF5y3DtK1JxdBZTYO4zFRX
+VTpQDTDpBKeuSKD6FNDwjZzqNM5Sz5Bj3NF5W6uIa4WkbPq+t9VkTvbGy9kMdu+CYS4C7RicQSVW
+0uemKB1lYOsvh6dkcMYcHJs4O0WK/yAaNwJS1+6FInmSRfbwE1H6UdSVPONs9mAppy5fDOkzSA1Z
+WZSDFBs+rgZZVUvf0c/jXbzSeSNKuUpxYVmTrsYiWXGd+2fqvZ0qWNkqSFZWTmHqKVDrd6bN8+xn
+49v8bQH4J438JPWSEE1QLxR0YfLi3Nac5Zqh2EUOBBzY/yflo/ExJwXAif7z4dYEZBSZnfsHVqjJ
+0cz6tSKDpVGzJwQbmJLUmDPb0nT9XuYEUY67rLe7kDfwjimozr23GkfZfyEOxqJjoEkO00RMdbrL
+KULUfyxpdjaD5u0lnzzPOpID350is7NLC2j9Kdou05736Wag7l6sCcSHkt2BZcenMiTN7VnGo8iG
+7UTVewamkE2Sl4dQkWvY7RNCp/PlP/6P/4FSZ9l5MEz7TEDCPI0iRhURj9iLzTJr+JuOuq2cYU7C
+z8T5uzXBYNjR2mX5aLzdpRc5CE9ipMT6rluTJUWrMvM+MDZWG1/d7qwN7MvP+rIak7bggUmpCkIz
+V8mSaOdgv9218jqu2CgG4kY1PB4bd+fn6HslK7H3J/rpbmjOiCw8nvn9D9YEwyUr/dhrfxZPySne
+xq4LS/dCmf/4j/842cKqGrlZNIeFbcy+I3edRxdUuzfbUx7KO4rjFFeQk3T6KgCIT97mI9HtPntp
+obhS9D9l1N1//JFyHE9/MSXU3BXvj9cUETdxxsf3e7NRijfP9kf8ii7imr0hHkbljTr9Z/B7Mh5E
+czGI7z+nfOc//MM/4Jll9t9Fpnv+hWke/SQbcMydxKff+PNr//S3P/q53/0a/t9hAv53/POHrzzN
+zexPe8h3BtrjJ/zZr+KHn/fpjxcT8MLSSmdIST9ce8Cd4zG1CPmz8MavPTXy2VuIuLPWln8ftPEn
+2Jn3thktjZQI9G3q4G3POH+ej+ww2GI76bw72eUdv5GjxAvqZ6OQG+HqibE2DwRlu+SQzNu6cGhQ
+lfU6qH3duEGzEr6ecfEfVhC569ahDhPR5hQow5LzNTwGMqEJjK/Jupjt6L0l67gxDe0hJmAtvWxy
+Zc1QvTEFrSv093//99CHkA2ZPm0L0SjHAcRA/dZDIaZ21EGxBbBib/s+3tuBhJB6zk1P2EIk/u9u
+qaXIGSO0kxi5GyvGHEPkvXnKtNcJ1wexZ8TLwEld7HJ8sanpSdBFm7sZ2jkhO2v29bNyDk5xowGa
+3qINXTDrllMXTrZnE56aLgh9L0kJCPFx4V0EiTGTxZ3wAFnQ/f66PIk7IL6RtBauORIzt0V69+Gr
+p5EByKkZPinYUAeTnMoGado4+Pu/+3uAyCPl/Rf0oSDgJAUwSTx47XBqT04Ipq62brhtHd1odtxk
+fXwQ5ogO4sFJSWWjdRJVQK0yGWDz0tD9/txgkghKzZHVV+M0IM7ArohgB2M4XTeyGYUwvVViPTzA
+Q1p03vpi1Bw61xBmUsFRaKlH8YQmcvHkEutu8oZMyvyL8vMX2q2cPNUoJv06qf8fwa5X/RiEdhSx
+rgBCoTZv5JyNKoyxSJtWFgmIu09pwDt4kT9+giktNR77RbZyWnnoveyu1N/93d9CsyxS0UluxV3c
+FAA9SjNDL51NKH7m0TnYrW2VzTbbTUVitI5SoK15RUSHeJEdjZ0R8PcgnKCPYpzBO49xG5K96jpj
+8NyhrRbdCMWSe5LbZLT4pfvgaAxb5h2RgpBZZrBJnbcG22vzE5muhs00weaqvNtlN0p1x6mIwT70
+wdqtqM2p70WqrFSNhfQ+LfhjcmK+RIHD2sFzdyQakaw7cA2+GNY9yb/927/Fe8DwJ/nJnwRvm2Io
+P3QAurrz6KhSRNccYcyyOezxDb6JD5HTk/mlI/w/gYPf3/izGZNl7J0UJDNynRyCPgiaf+wCtIb7
+Z82C55t6b4Xyu77nKdXqbWPi1uLBeF59dqL0sTnZx108HD9wKVED0bk7lH/zN3/z3wgbG/ISvwM2
+vSpBP9IqxyRX/vPk8z+R1jY4Nd5rnG8/6wDSRYua+AitTjxcz9Nl/uCxf/I0xp95eH3P96L4lbMU
+myTjiik/SII/6QZ8MopY9/J52+rzZz4BuNUFiOh6fhLUxCQ+YKln/46pRosJOJc/GJIVoDXdSigI
+eMqNVSwwOGVCEQVWeU36zswuz+RKQ/gZ1lPQvDoDhbY+U5S+6Mjv6iNy02ArMXl9C/fsJJJstQ2Y
+E41jdTss0IE8zNPThEULCpPCBCxV04c+G6b/kkYkByouWG+RhPSHlo0N2+fPARpIJj83ZPMdcaR3
+ifgjCVviSDDZ74yOLfOLQklAWmFIUE0MeMYM8fHYmcbUKZIYRP3tu/76r//P1+97y8wlsEEc5BrF
+mVY3now0ehAm+JAaimKNg46shSIrIQmsnhMxEqOlaQDSXHMJA3KDnybM0JDDUOCHl0MGT6lrwvRq
+2PNlias7GHL2vIoprbo7KH9qW8uzGi02He1I7M9LqbFBDsqMhilonWbbrok3Wq/qgsAirRy8EKqG
+BvnkG5LPYyBCVZVngeQmjtItm88/WBfB4CGJyw7FVr0hahjkgPvAql4NhYHhcAewC85O7P/P/euk
+xCKL75A38b8XgL+Ghk5AVu9ksAj5pijOa03asv/cIjmGlovlup+dwJpFNTCfcvL69TJgKGqQzIas
+3Vhg3UV4DucYY9cuRp7qlcwqMYtFN75qZrdyZ9CrFj6X8HJHJTWr/gHHALTbwG081o6ICCovFTO/
+Q8zPojNQ+Vp6nNzNz36irbfMI4nUHtSBclKNZxbgGM8Uhst0OEREqBIAoydtnzvalbGOIfk2/Pa9
++Vd/9Vc/d/r8CebiC0G8Y9Y+ffKfxa/8M/752bU8uU9PeM4jQPU7SNIfX/OU33j9qEEt86c8sfc/
++ZZK/N4j/g8Npx9lEHwAIf7Rod7HkN/7/IFf4p4yOsbhEW1hNhYGdEWqEnB/13qv3aAq5k9h5nKa
+ZLTZJMzehJnag6WiDVQLs6FCfzpddtGMITpXa0ZnkJ3A4dZazpGgo16Va2lPko/UA6CVU89bXWUM
+9dH7MEO99nQGGh4+BgHRa+lUpp/W7RAGXrKnQD7X0lYFGSbkdm/Ocel/jkaW6Pd5hW8bYS47l+DN
+4sJ/oq+g40v5l3/5f6BFgkE93hqBJ/Tn6iKjOfykW17IhpGq7KKBpBJLGr5SzxlTLo1VJkQhI4xF
+ygQqvgGPlDAzDKUU67v1SRr2DEL0/mFpgg3fT86Bp+nnoRzCfqMItbboDIuIRGXrQGXprmI+ULIU
+OdQU/uNEFt0oGCuAIfQ5kEOZgSnEKK7BfaL7fRu57aTtmodEk+mdjWBgmiZ5NxhZSep8uE9Wd4Oc
+zPekHgJnC97NetTfMJWZK1mPL0bjX/7lX+KJHFPBkewWE5rnCxtIjBMFv7i0sBirb9UoTY0UXEpp
+iDxHiktc9mHRjdmtwc43ea3b7PudTNOyFNFCTMsoNMqF5uFYLQYYMeX1MeIOiyWnGjeYF4Fe41rq
+TUs4JnXoTSAdhtu4nr7FsgvhbMiVjEs8n/XTJay2oxpDD92Iay29Zyq+nRlpp44ppNPyHeeMHo1N
+T+awID7K5hyffjOE1NN6piUu/8Vf/MV7DOAPld4/E7p2BpXqqBurbzxQfYBbPAQeNl7KNZn3k6y7
+D/CRT7THv/sd/JmV9zvCkiCNf853/l644/9h7163XLcNNIECthMnnsy8/3P2j+nOrNXhOHafKoCk
+SNxIkdTeWRXXqav0lfSJFxDo/YadJcT3F1aNL4tr9fFTeGn46KNg8R//+Ee2c5ed1onLU1bbgybC
+ytWCe/vgcblZmu7PZhMsrs2f/j3bSbb2+uLStPVztfNN17UBLyGE1eMbWwMv8tNta5fwJKdLp40h
+KOmm3OY89Wublcm+9GzoQ3pSJztnHGZXNL48/rM4FxNmc7Ylf8o4m0E4hK3ruNNxJ2tXyK1MPfv6
+sbj6q7Yu515eDBentb/d/sCkxU5edk562h4ZlMyROB+XEleWoX9197KLCme7FvFHAUzJ1XmL5a+T
+SSTDYhBMWGzGTSE/H5ttIU35NQJf69mvLMGdb86m++cx2RWbktNPyQU52abmbH695En1PYNuPrVX
+vk8d8nn80lNu6axEU8jGPyyXzQr5xRtft//7VNnXkYXZBRvf69pPy33K7LqBkF+Jlx0wDMn1DOkU
+Xct5DKe1y02zueyXs8dO2YN2NlfxlF7Akm/lxWTMfb6DkU+gOc3OnU/ziZ+nmM2BN6XzNc5Pd2Yn
+x5PN4vQAdYyLawdCuuke5sP+Y3ahVTr/YHp8aT6Reczm/U+mCgvL2YO/JkYNr1Zon5ab/GGeXzov
+4++//7f/9dsUZ+sdL9Y8X0xNFItPXUwrE3Fn2/fZlFj5gIn44nxYdlVbctBlivN9oNkKuas7VssB
+UF/TZmcz426v8fhq/r7tWXl2Fkx9ucuSHicIswtedjZQVy6omOKrceohm98wzJ+/K+cv5wcz00fq
+crHy9Enx6mfPJlxduaAorjz+Vs64L7Oez7bz8rG8srO5ONYSsqm5Qtjbl381ZmT+eFld4/f1XuxK
+yS5mU0ivDv7tt992RhvnE2Ksbimvbd6nG1LFsw2tTZC9vo0YV+ZLX11qINlFSKemXp2+a9q+ZVPB
+7V+cwnqxuxRmQ2JbJiNamzd+fiuXw+D3rz94uTsSqu7+7t9wc2mI+Tj+raHxL8fkF1zbsLV8W9Hf
+YW2I/OI87uvo54tA7f6N9m7fYk2tlyeg/7ipv/3979PaHPFfm0bZnPn5EdxpViurV/Cnp+KS6a3T
+TfPvo9Uha9QpOYf9PaxztmkW52fGpvmdCNkw1mk2EWi60EJ2yWZ+FDW/nPh73/17Qo103Prs92Rz
+y6+MC3+1qshyLocwX79rmk2VPt+4+lqUJMwntIz5tOezrbz8SHuy6Zhlur5ITDpXQrYyUlhOcJnN
+1TA76xBmswcvrxmYn1oLYTE8OabDyFf252NYjh5Mx5jMF2UJs039bGxCMulGsusSZrP7zrb6k8lw
+l404rTwm8odF3iBxMZZ2dqo+e/j9/r+//14ARcOUprBYXCCf1XSaDQfN5gpev3J2ayRDXNn4SsaC
+xzitfuH8mup8JqPZ3ZudZXix1Zet4LKc1z+8GI6bPsjDy0k3s4HQ6cIX+UnKML9AZv2a5dfLlH9d
+UDTNJ7iY8glDwvKa+cXe0c4pu+XdXdm1jMt5IdZH7k0vjp/n+/Tx5cSj+3/borMQ2d7mfG6MfL2H
+7Z2Q1Vk+F3/XV1f3f0earxHwfdwrJrvOs1PXizkifn/729/+Pm1sU64ecX91VHx/LdX1A54vZgVb
+31wMr9ZE3d9aezHYq3hrb3XOw9qfmE5ttjZCsHQV5rAxndXqja67dnUxaKX00t9sHr6V7dvNy3v3
+5xsMYW/uyfBy62la2UjeinuxdbbzoKq7erf+2VJyCXXVQ/DPAvh1mqb5KL9ptsJIsuBiNvpuPifZ
+7JhpTF5Pvr4ln+YxLCaujNkUUq/PHsw2IZPto3zo6/eZimz5r/l6dLOjqOluwfzJGmf7ZOmuxZQe
+A8ku5Qv5qLnk1SQkA3Wmlbnh4vxIX7LmXkiuRovp+ImsZJdHu9Lpo9KlxrKBS7Mthmk+5+N84df4
+PQIze+2ejfr7njIsXzJtOQYtnxlpmh/PCWE2eCmZH38+HdqUr9jzNRAozHa5sjV4vnd9vif2XFnS
+e6UAs4lAFu2T/IbssvCYnUvLjonF5TRL89ORYbYm4eJI4ewx+Mf///rrr9PaofztC8EWY7JWjrBO
+yyvEXi6hsTND0GyTPSRnAbLFMOLK2YGVbb7F4ilxvkG+NZhoWuwHbl5wsjWAY3FIN4TlcjZhcdZl
+/UKhtdln5svjLM+gbA9jyo8kh5ebpVtDYOYrTMWdTfb17e70BWh7HNfKnG7zMwPZNHDLKbXWHksl
+w8s2JxGaPeBeHs2fts8iLZ8508pYx+K9mRD/+utfpzjlK6NOs+EGLydljuuDLL7PGry4+CS9tnpl
+lpyYLLn86tjAq5Eey3Xe0vJcbkS9Gj7z9TSK02JCjJeHdlfmps/PhiTDgWdnHtPVe5e7K8nsPtkk
+E+lgkFfTjH8f3JzWdp7i4pT7YpGol+dCskkJkvUX42zm25UFSqdQNtVPun7g2tj6F6+X27PjLB4/
+YXH4enp1hiDZL1lOmJyMZYgrS5yv71wtymq+6xPnC4aGtUkr146/rf3evALiX/7y1ykuhrzmY5MX
+T4zVWU/yNe3SCTfya5bj7EBdWC5mnw3ayyfliFN69VvIDrplq8bG2W5ANsJ4Wkx+GrLJNr/nRPh+
+jE+Lq7a+B9IsN2WzSSXDenuH2StRfqFKuicQs7X/1na/1g6bTcmAqXQzcHHd/eKAZ36dQLpuXXYg
+OH0gJZO0TMkgn2y9yfRisxizo+7zyWG+FszMtkCSBVFDPpPq4nU8eXIsizzkg8DS+RNDzOeKnL53
+gb8fL+lAt2QmpmnKdvvy50w6kGm5dZYdjM2eX7OBXYvRhPnAtZAMSosr13Cky7H/cRbgL3/5y1Q/
+vrjwO650+f7o2zT0vnX+sO7bcrU/1IuzNnd4cBROaHsVv+TX5ofstEQ6Hdj3uf507fZkdPFshZU/
+Nmmza5CTyySzQxgxezVJW29+BGF17af52PG4nLB3/ejw/PxuyKfymrYGMaVDXEM+5deUn6tdTA0e
+8mm8smmt5tfAh3TswzTbtY2rMxPH7DTR8nLakE419rV5uXZcZX6dxuwhMtssT5cxjzG96m7KFuSY
+pvRxNC1XSIphfrIsmz9iPqddujmfLleezzv+PWJvSqfMmj9r5/P/zU+exNkm9rQ2U8L60O6vrYCQ
+n67LFtVZXJadzkUYZ8Omv39HPm/FfB7M+ToOs93yn3/5ZVpswqxevJiOFZlvyn6fi109JPLqiOJs
+6em1o1zT7mrAyylslqvMxOXpj5dz+cfFXATx1YCFxQHAlYNcUz4ZQbYM9PL4Xvaw3L/WcWU59OzS
+4PkoopidR56t4b1yhHF6sbk6u2U/BsTMxx7E6fUy1hsHadP7ELL5+OP+StRx4xjr17LbMV8nIR2P
+sfZ3mS0lnr1IpjsR88Vys0Fa63Pap7s76QSr2aHouHUgOuSXka8cIJ49BPNMfv7l52n9JGt8MUJn
+4+z4Yr3j+YGjF7Ptbh3wm14djEmbvGwcwqvRltnBpEXTTtsnvbOr9uYHr16P3szu2myprLUj85tD
+RdeWXcwmCCm7Ci/NY4rT5tp8W1dE5gPXkhmmpxcXK+0MbV0Mbw7LKxDj18Vc4fVB52yrIywGCsTZ
+ad0wP+P3Yk7wHxmXDL9drly1Mv4g2XqZ1hbdXBvtOuUzZcVp2j3Q+u9viz///NOUvWpN+cQQm1e3
+r72yr0zY8TVr7Xza7hhfrUY/W7whn1w0xHzkYQizMXUr5+Gz2xHmm8trWyjJRJXJ59PLfONinfcp
+n+hidoXg+tnUfH2+dKKI7OKaZDq1GGN+8VEyziHG2QpAs83h/GDTbDWbxQHImM2FkG5qLBbTTq8C
+TA76fS9PlVw5mi2NlVyJmb1ix2yhjO/RmHH+EppPvDKtvRDF2TDkpAjS2aHnByKz3OZPnikb//A9
+U2/Mt4ankE1s851tOow7ZmNV4nypvGzSkh955xcbh/TKzvSs0HwC05BuTf/+c3/66adp9cV/64Wv
+ZUzS3sUOe605m356a0qlvdFVLxd3WH0lLT39WTcUq3bNh9L7tv7ZjUuZ1q496PXyz1t2Icvi1Xsq
+u9fLLcuVe105aLN/+e+6MX6bp5nD4L/Nvx+H8aeYX6H+Nb3ycgXg9CBCfjBjNjQoa72VKcY3ptDK
+X5FjMh3yFJZltrIFsTLyKbuAKUzZAZ35tQrpq2C6NttiFr8pX2wyPS0YstOfcX7II9k8S+Z5y+Yk
+CNm87iGZ6y89pZctqhFmI9DmU6ytXaMf8i2EdJXgdCtpbSqt/EBVyC6kSgfczBcjWUxdPaW7Xssj
+D7ODT7NxD/lxiPQAdHqQNVsuLZuGK+SPxWzvIH8cfV9Uk7xivxpoM9v1+t5ayM9zZ8dw0/kcQn4g
+erHVszZAKh1gtDg1nY9ZSy/x/v1nx6aXtMG9dKnfdnUtL4pjMx/1MnrQD6j6liMfW9d43G7dip+m
+ZB/uq1GmZLmiKWni5BTJv/7nAz8+N2XvfP+Mf/+8P37M9OPrk0mdp2n2NeH7d/5YdumPD/4rORX0
+4+v/5/uT75umaTG91tfP/rFcVrIE9PfpzOnr+9P7P6Wv3D9u/5RkFZL79LVMVHby5sd5rDAlX/eV
+d5LV1/GA6ftAyo/b85XR/9yff/34zUlOIaT/nbJDwFNyf6bk/i5fwZLPLf4myd/6j0Wzvr8mzJYh
++3F///jHv9LflT62kilH0sdY8nf6un/fD8Uk+++/+TQ7G/X1Z05/3hSyx+H3Y+xfyeMkfRzMNjB+
+XF8yuzFff5/sNsx+b5pu+jyakr/Y1+MkfZ4lt+n7L/j9/+kl/LMZneaP3/Q5/H2fvLTCR/vlj2f/
+X+/x9t8/h/D/wj3ehDr+7SaJhp//2Kr45y1C/eXPk4Fh/NtB+zJ3eTs9nM8I9WZHaq7/9sthA5Q/
++AEQb/PguNdzSUeND/VWWwB36ul7hHqT8g/HFcBNEj0s1L4CaL29F3qSHxW5UMeH+vBE3xJqXQEc
+cXtPiHJU5McUwE1Cje8P9XkP0yNCPaIARvxhT0i59te1PljGFMAZoQ58jIb3h/qQRA8Ota4M9gug
+9Xe1PjsP2PdqfQC0RFJ+FuCMUOOjQn1AopcLdbsAQmXV1t6XQSVQ+8eqfXC0RCvU8aHePNFLhvq6
+AEJDonu3tyaPAZGWxNx69/ZfdYQ6OtSeRMN7E62smPNCXS+AMCDp0oQHH2Vp/bWtMYbiAmgNNQj1
+RQG0/rgLJNrwxO8NtfcgYOsT/9V92ssj1kdY+mNjR7xjDwLW/rbaUMOjQr1pohcJNQw6CNj6xF/7
+98F6b15dlD0HAY8KNY4P9I2h1iZ4g0TfHuqyAELj47YlwYHptv6arZvfGkvs+u43hlrzrW8ItXLg
+4EUeptcOtfwsQCj8XOltb8mj4dtqbkbrXW4/C3CxUFsatfRZ1tqklWcBLpzoJUNtGwocGt4PDe83
+buq3xtvyRB83FPhioV4w4AcleplQy04D1rwfBrx/YqTz90fF3B+kUF8VwDsTPebo1PtCzQsgdFZq
+S9J921RVP6okxtZODc1bAA8JNR4f6hUSbS+Ga4baNhS4JtW9pBsSjRXxhcab2HLuv28o8M1DDceH
+epVE+5701wq1fiDQ1u2ovV9jj7Ds/vitm1P7QBk7EEioowcCtSZae5fbdxOuEWrbtQClv6slyYpE
+S7695NfXxHjctQC1t+rzQj0j0Tg+0UuHWjcSsDXN2JlDYbw1P37v7sSKr+kbCdhzKz4r1Csk2ndg
+8HqhjpkSLAz47wHHWEf8931Tggl11IxAcfDNf1Ko+6cBj/zvCc64K/VXAwq1JdSzEz3Xe0KtGwrc
+k37NfR4Y38iNrGOGAgu1ZihwODHRsQURLxnqdwG0HklpPaIy6CB161Oh9W6Vn38W6uhQW5/o7000
+djbtsaGOPQvQc76l8txK649qPcFSG7NQx4d6w0QHHPk/NtTyg4Clv78k1RN2to4YYlG3sXXzUOP1
+Qr3/w/R6oZYPBCoZYlWT9KtcBl4MFDpuXusQ4LqBQBcONQwINY4NteYqwIsneplQ64YC17wfKt4/
+eCug5P3R11rdKtR4UKhhbKhHXAV43MP0HqHWTwnW8n4Y9/7IH3nUk79+SrA3hxreHGRhqEekeEKi
+lw61blbgI2dZOPHK1Z5JQepnBQ7PDzWcE2p9CV8y0UG3Ykyo5ZcDh1A3z1LPnICDz1j13NT2ib1G
+zF8j1NEzAvUUQd/R/xFTgY0Pte40YGgohdDw74GHVkr+3XtX+9cGFGrPacCRU66elGhliMeFetys
+wKHiazpT7oly72vOmxU4CHXgfAClN+HERBtCDQ336IhZgfeSG7lISMGWU8us6mHAza9bjGLkEhaj
+Qw23DPVmiQ4MNRwWav1AoKNWrxp8vGrvY60LLx0zEOjsUOMtQz1iAas3JNoQ4HGh1g0ECjsJh4aP
+H7y7GjpvauvSi0IdH2rNMYCLJxrqFgrtWU+ydSBQaEi4Js0QupYLb13LvWaB5dB8ciUEoY4P9YaJ
+HhBqGBrq/lmAkoRLKrc07Yq6LfkRpTel5O6UxhK7vvthocZxod400UuHWj4SsOzQd1vag3dRw4A/
+ek8McehPu3moYVyoN0604iefG2rdlGA9z5rQWYKDv/WIu9o+DuBDQo19od480coiOCfU/jkBw6D7
+MvDQytE39fg5AR8aamcsZyUajk/0MqGOmRT0qL/CYDGceVeFOvotfkyq593T+gL4UMcVQBDqCbsA
+Aq0dB3B0Od2sS2t/x5iDORcMNb4v1Icm+sZH6drVgCG8b9f1gBjP+DOEsHc58INCDe8L9SGJvinU
+9e9tPwZwxHGNzgPWRxx6ab8CTaijQ715opcMtWxa8JaxBz3nTwafsu7ZbKyJOISaacEvGmq8bqj3
+fZi2bKKfE+qYgUC196P0fnb8AXoGflxjINCbQg1vCHXQQcAbJtrwhB8bav18ALVplqTckG7Lt/Xe
+/OPmA7h4qHFgqB3NesNELx9q28IgrWnuDVw6qEt7L1o7Z3nwC4caBoba0awPSfRSodZdDVj6u0vv
+U0kusfnLhl1hXVsOseo7hFoT6lUTLX+iXyvUPwug9gjXiOnBQjj0ROuIOVbaNv1HTAgi1LWvuXKi
+8Xah1kwIUprgiMnVDpq+LnTc7JZZ14Q6PtSbJ3qxUENoGwew9XNrbuegdGt+VM3NbJ0KrG0cgFBH
+XwtwRqLHPfnPC7V9abDSlRdaFpY4IOKW6exr1qEbszSYUEecBTgr0fiAULdnBW5N9dxlVnYjHrEA
+U/3ClEIdHeoDE317qG1DgUPoW2XxImsDbr3fsy5g21Dgh4Yax4V6o0RvE+qYxUHDwNRP6tPeu3T8
+4qAPCXVgsz4o0cuEWj8OoCTVtdtXmuiAA9ajYgyh/WSLUMeHevNELxnq/uKgWx8LlR8bn2hVvKHj
+ptefaxZqd6gVqwPfKNFLhVq/MlBJ0q+qda92K9Iu+bbWm1Jz18esDCTUUZcDj0409CV6+VC3BwKF
+iqRLq/VNlwO33syWkWex+48j1JqBQEcmes7y4O8Lte4gYKhMrOd7GzeqWv7b+719BwGFWhrqAxK9
+XKjHzQp8I/eZFfgmYR509z/3YXpcqOUjAc8qq5O79YhX//KRgA8MNRwX6v1f/a8XavvioCNuc+lx
+kY4v7b2ZLfv/7YuDCnXra0YnGs9J9NKhbg8FbjnXUnJ+JRxSq9W/ruUu1M8KLNRRoT4o0cuE2j4S
+sCTB2jNVB8xd0XKTRlxpLdTxod4s0VuEWj4lWOhMfO8+HdCtJTHWDhUdOyXYyFDD40N9WKKXCLVu
+WvCaQde1qTaWwshf138BUMu04KNCjY8P9caJXjbU/RmBRr5/XJVWRX/UXSyfEeghocZzQ314om8J
+dczVgLWXNI+r1ao2P/rK67FXA94g1HBuqDdP9JKh9p0GLLk9NQlX7HjFiphrIwyh/Whz/2nAllDD
+R4R6w0QvH2r9xUC9k66Fin83dmvJH7NlhrW6vawzQ40fEeoDEr1cqNuXA5f8uyXR8akWR3vsHKsl
+lwOPCjV8XKgPSfTNofYuDRYGJFySauPagD2zrIeKuzt2abCWUOPHhXpUouHYRA8INXaEGjoPAtYs
+ybJ3//pSrfr22njPHQh0Rqjh9qEelWgc+5A8IdQwLNTyocBbSYaCj4fCjx9wQqU2ylAZadgtgCuE
+ev/FF89INJ6baEeocUioZSsD1SxGupVmyRN/0PR1pfGWrgZce1z/EaHGa4V680QHhNqzWvDo04Cl
+Ke8lPWiLoGaV9VB5F847DXixUMO1Qn1Ioh2hho5QQ8NBwNJd2dqkaxJvLILSX1tzN45dHnxUqOGx
+oT4o0cuEWnYWoGbLIlTcn4P13LTeKN4XanxsqA9N9K2h1k0JNvJ2vUHv3TxmSjChjp4S7OaJnhrq
+uDkBH+Q6cwIKdfScgOfd2XuEetykoAfM3hhv9CbU8W83SHPwy8jxb+N2AZ5SqpfaBXh4qAcVwLvv
+zp1C3T8LMKLUHrI1WvNzhNp4FxrPAjww0VNCfT0QKAxM741pH3GQqGzAiVBHh9qbaLhuom8LtW5W
+4CNOrMZjo6yNr/WocfuswEIdPStw6zCZkxO9RKj7qwOPGlp1/PCq7nFHPWdUQ6hZHVioLaE+JNFL
+hdo+IUjN0OSa+zX4cFbrH751xFnfhCBCHT0hyMUSvVyo5SMBaz9ecp8GpVvzo3ovqyjd4BLq+FBv
+nmiou+zonFC3pwWvKZjS21163wdHWvqH741gf1rw3j/ig0NtnBb8BolW/IRzQ20bB9AzX8XBqy4c
+NfdK/XHXltnrPzzUEIaNA7hWovGyoZZfDlz6xD9qMrbCuELFr225O2MvB+4N7LNCvWmiDU/080Jt
+mxKsJvXQ8e/OSEv/3XNXx00JVvPvg0K8eKgPSPRyodbNCFQzz3Io+NxeugOmsK+5OW2v9L0zAh0d
+anxMqDdM9PKh1s0KvLe10rIUy4EHrENlhC13r39WYKGOnhX4ook2VsyxobZdDViT3HHrLFU/Nmvf
+rz222nc1oFBHjwO4cKKDAx55NWBNmYSK909It3bF1yPu7v5QYKG2RlOzJPj1Eo0Hh9r2B2hfHLQ2
+ydbVkTtPsLSuwN76YOtbHFSooxcHvUiijaVwfKh/FkDpMatQmXppupUfix2P2a2PlT54ymekFero
+UG+U6C1CrV8arPS2lCR+8O5qaLhZW3ex5lirUMeH+qBELxNq/cVAJUnX3L+Ow6wl395yc2ru+piL
+gYQ6+iDghRJtDDWeEmrd5cClafY+UBq7dMSvbX/Ct14OPDLU8OhQb57o4N88JtTtgUBH/vdEZ9yl
+8oFADwn3DaE+PNG3hNo/K/DFUj7ySX3erMBCHT0r8PXK4Bqhth8DaH2Rq8lk8LfURtm3oSXU0aHe
+ONGDN/fbQ92/GrD297Uez6g8dtK6v9Z682sPtQh1fKhXTXTcAcBweqj18wG0nms54RxLLIx49AmV
+Y+YDEOro+QCOSjTeONSyWYFDRZKh4WOdj9kRQytC5V3tnxX44aEeMHbl5oleMtTy5cFDxedrUz3x
+upWW0dZt488/PNQwPtSzEg3HJ3qZUMdcDXjElRYv3h/xY1rvxrlXAx4darhdqGclOqZa7xHq/oQg
+pe93PgaPNOKq1drYrx9qvF2oV0x07EP7/FDrtwBeJdoyw8JJV662RNjbrUIdH+qIuQAukOjAUPu3
+AranBe+ZXO24OZY2v7TmV7ZMslS+dy/U0aH2D89+W6INwYWKW9weat+swC3Tr8Zw+C5B780Z87g9
+cg7bzwz1YYl2tOm4UMvPApSkO2JO5QPOWL36d8/s6mPOApSerhFqiLdPtCLUeFqo9fMBhAEfq0l1
+0NwVo+/GuElBewL8rFBvlmjnd58TatnlwK8qtTbNvY8P3qCqvRkjlwo7NtT4kaE+JNFLhTpudeCe
+1RcbVmDcW2M1VP6hS5YBqzsAddVQw21DvWGilw+1bChw6e8sTbMv0eLYRyzEXDIBc9gtgCuFGm8b
+6gMTfXuo9SsD1d6WmrQrU40V8ZbcpJq7N3ZloA8INfaHetNELx3q9mnAmi3Z1rQ7twxafnRr1HVd
+K9TqYHe+7saJXjbUsrMANSnXJtP6fYN+TOtd6j8LcGSo4ZGhPiDRy4VaPx/A6Nt78DGAd9yleJFb
+8LRQH5joSa+qo68GfOMT+53xnzcnoFBHzwl480QPC1YBKICPLYBPf/LbBXjsLsBNtlTfvAvw6Zv/
+DgI+9iDgAaGG94f6gETfUP49swLf4PzKM08DBqEOPg345kQvG6qBQJ0dGooLYMRWwWeHetNELx2q
+ocAVMT9jKHDH49RQ4MeF6mKgygfP/S8GiuPa1MVArYleJlSXA+/clWteDnzBUOPxoT4k0UuFakKQ
+xo+9d0KQC4Yajg/1jETDuERvEaopwRqjDM0F8MGhxr5Qz0g0HpfoJUM1KWjHkz6EltOAHxxqZ7Oe
+nWg4NtFLhGpa8JV/tx/4My34kaGenejYUrhmqBYGabhbFgZ5T6gPSfRSoVoarCLqZy0Ndr9Q75Vo
+vEWoFgdtfILff3HQ+4V6o0Q7ntjx1FAtDz7g7h6/PHgQanxUogU/+ZxQy4YCv0qw5Qlfc78HnVyJ
+nY/dmrjLhwLXhBqFGm+f6CVDrZ8P4NXHtm7P1n056HhVTaRbd6V1A0uo40N9SKKXCnV/HEBJmqHg
+c6HgcxVpl3xbza8vuWsl0ZSNAxBqS6hnJhrGJHr5UOsvBmpJvLQ6Y33N9vz4ngfQ2IuBhDr6YqDe
+ROPYRC8bav+cgGHgfwduXI347/vmBBTq6DkBL5boZULdHgdw5H9PdMZdKh8HcPNQ4/tCfe7D9H2h
+ll0OPKpSa+7zwPh6o2458PTYUMP7Qj060XBsopcMtf0YQGnKvff/gMMroTLK844BCHX0MYCaROMx
+iV461Pr5AFoOSp5zbqUqvtqbfOx8AEItCfVBiV4m1D8LIFQmWjr6IhR8LNR/rOVbW86y9sQh1GNC
+7U3vxERvEWrZLkBpoqOGAccxPVobbev4qrZdAKGOvhowNBZDa6LjXvHfF+r2UOCWREdcYTEg4pGX
+XLR9rVAbLqBoGgr8rkTjA0IdczVgGPj+iY/XvfffezXgh4Q6+CDgkYmOdY1Q6w4Cvkq05yLsAUda
+YmPMI+5e/0FAoY4+CHhUov3FcL1Q61cGCg012zqvUuyPsubmtM39N2JlIKGOXhnoIolePtT6g4C1
+My+Gjn93dGtsiLp3ItD2g4APCjUeF+oDEr1cqH2zAm9tifTOvRzHRDnqpp43K/DNQw3HhXrFRMc9
+6d8Tav18AKXp1SR40piVlnhrF0pumw/gA0M9eD6AsxKNNw91e1rw0hey1jWYBqy/VLvIUqh8ktdG
+sD8tuFCrwg5hd1rwGyR62VDLzgKEho9vpbyV3sAD1kcsvVi6NSDU8aHePNFLhjpudeC9lPeSHny8
+qvSPW7OefN2GvVBHh/qARC8Xat3lwCW/tybpvW2shmhLfk3Liush1B6BPirU8LGhPiTRS4VaNitw
+HHCbWhLvjLfmJtTcrTGzAvf89s8M9WGJXiLU1wOB6g97993+g4y4qbX7nbHr6IFQX33PgxN9W6j7
+C4O0/s73pNgc9chXk/2FQYTaEseHJXpKqG3jAD7UseMAhDp6HMB779Q9Qu2fFfjEt5vczAGzAgv1
+rje1/9X73LdxBfCBr/LHF4BQRxbAs17731EAvbfnBo/D6VK7AEIduQtwr12Ic0ItHwkYDng8nxzj
+NDDyMSMBhVoT6jMTjW8NtXx58CPGAxyQckmMJZGXRNy/PLhQa0J9UKIdT/axoZZfDjxqRODefT0o
+ztoISzp0qi6Ad4QaHhPqAxK9XKh1MwKVplmS8sCES+KcCmPeirgm2uuEGh8T6s0TvWSo5UOBQ2Oa
+rUVwUM/uRTnt7O6WRivU8aHeO9FXT/73hto2JVjpxdalCXdsBbyKribOqSLGqTAioY4P9caJVgZ9
+Xqj1S4OFgo/VJtyYbsnjtCbOaaNn91/xe5YGE2pJqDdNtDHUeEqo25cDh8qUaxMeW6erkbY8Rkui
+3Pu3UMeH+pBEC0Ptadfyf7dPCLL1762ED0q3JtKtOOue5HtTggl1ZKgPSLQjxGNCbT8NWLouQahM
+uzDpveOpWxFuxbkXdennhDo+1BsmWhlqSTGMDbV9cdCWtZcOWotp67FY+pjdi7rsSd+7OGjsDOvZ
+od480UuGuj8OYOT743aiumIvja32/e0CCCcF/NxQH57oW0Ldnha8tWpLK3NAvZZ0ZenX1j3Bl+9P
+oWRacKG2hnrjRAuDmk4PtfxagNIXtZKkD94iKI03rnx+K86auIU6PtSHJVrRqMeF2n4MYOtjofJj
+oe5jNeNUpsrHbkvcdQUg1NZQb5boLUKtmxV4q15rEi9JubNTS2J+Fd9ep4aizwl1dKgPSvQyofad
+BgyV1VqSZEXaWxFuRVnSq1PzE7/3NKBQX33upoleOtTyocC1/2393oGdWhrX1PG9oaoAhNoT6kMS
+vVSox00KehO9D6C2AhBqy38/NM1DQ607CFhbkSfWa2s/tn5vfwEItTbU0YnG8xO9XKjbA4F6drB6
+0uu8crUm8tAY4f7XCHV0qDdO9LKh1l8MVHqItfaFrDLhmsMpoaFX657srbsAQq0J9YaJXj7U/dWB
+S1/Mas6vHDO7QtWwimkntpKYtz8m1NGhnpFoOD7RS4VadxqwNsnecZeD4yzp3L2Y9+Ld3gIQak+o
+ZyR6bLVeL9QxVwOWfL72MTugW0uiDZWRTsV3TaijQ31QopcJte00YG96He/XxNbz/lqMdTdXqKND
+vVGitwl1eyjw1q5sKHz/vEptij8UdmjN18WmsIS6F+oDE317qHWTgtakW5PwQcerSuIMnZG+vitC
+HR3qQxK9VKj1uwB76dYm3Jly7bR1oTLe8id8zy6AUEtu/o0TvWyoZSsDrf27JdHxqVZHWxtv2Il4
+Ki4AofaGevNELxlq+6zANYmXpnzQntVaVLXxbT/ZW7cAhFoT6gMTfXuofxZAqEgyVHysJuVQ/rGa
+aRZCRbxbEYfCmPOPCXV0qDdK9Bahti0PvpV6bcpbH2/o0lAZ79bHX0W39fHXT36h9ob67kTHHgS8
+Rqj1S4OVrL1cknJJogOmsA+NUW7dhKno7gh1dKjvTrStFK4davlIwFDw+b2US9MurNq9aMOLnm2J
+cmsDq74AhNoS6hUTbdvPv06oddOCh8qUW9M84MrVrYhLoiy5Wcv9f6GODPWKicabh9o+I9Beei3T
+rzTWbdyJrPRpMPU9bVaGggp1ZKg3T/SSoS4vB25NOjZkMXiOplgY1YDXyIINLqGODvUhiV4q1NcD
+gWqr86ITso38VXUbZUIdHeqDE31bqHW7AB+ufuinUEcfmpDo2FCPmxX4gn+Z8xtdqBK9dqj9BTDq
+L3hCdNOpfwKhjg71QYleJtT+XYBRyXekHBuiKzlR8r5dAKE+MNFLhjpmIFBN8gfsF7acVJk6oo5D
+Hq5CrQ31xoleNtT9awFCRZIjh1fF/kh7xlht3YSyeIU6OtSbJnrpUNsXBw2hbhjWVsoN6ZYMruwZ
+ZV0S37R5E4U6OtQbJnr5UMsmBNlLtCTNvUoeeGhlaoiy5JKLussthDo61AcleplQywsgFCZdUp1v
+WsNiq3dbr6ou32AVam+oD0n0UqFuzwrcM83KqKlXGueuaJlXZe1j9ZOAvApCqL2h3izRW4S6XwCl
+aZWk1zL5WkOf1s6sVvI1sbpfhTo61JsneslQ6wqg5q9Qk96Bu6s1kddOqTjm4SrUD0z0MqGOWxgk
+VHxuL81Bp6xbZlgvjXo/ZqGODvXGiV421NerA7ckvpbMicuv1K6xsvW5kvi2v06oo0N9SKKXCrWs
+AHrfD+PeH7my2lY0U0PMoaoAhFob6o0SvU2o+wXQmuo5VTqkZ4+JVqijQ31oom8Ndb0AWtIOlZ8P
+4xJ/FVmoiLF0zdWtjavth6tQe0O9eaKXDLW8AMKApLc+dlCnvoqsJOatj9VvsAq1N9QHJvr2ULcL
+oCThva/ZSzIWVm7BMdW12Gpiromx/CyAUEeFesNELx/q+rTgoTPNknRPPGNVGunW2Kn6qIU6OtQb
+J3rZUJcF0JJwabp7tdqxrbUVYenXlsZX1rFCHR3qAxK9XKivC+CM/554fPXI/9Y9bITaGuqDE31b
+qGMK4GIpH/ekrr0VQh0Z6sMSvUSoZQUwOuWSv27ncdSWqEv2qOoGAgl1ZKg3T/SSoW4XQM8Rk9ZD
+qhVHWGpi3Iu474Bf7Z6jUFtCvWmilw51vQBq0hpxUvWEyWtqz7SWnmzZHggk1JGhPijRy4S6XwB7
+SbWkW/L5jY/VjKHqHUZR96QPAwMQ6s0TvUWodQUwIv2SKh04g3XtyOr+i4B6AxHqAxO9bKh5AYxK
+t/f9ARtVre+Pu/ZKqKNDfUiilwq1rQBa0zoo4bMusKy/VUIdGerNE71kqNsF0JpUz+cKt7Fq5lcZ
+NcVC/YxAQh0Z6g0TvXyoywKoSaX33wMnXduaUW3vcyHUTbIUig61CHV0qA9I9HKh7hdAaQLvnWGx
+qF9Dw79rIx4biFA/ING3hlpWAK1pjv5ZFV269TU18YWmJ//IcIR680QvHep6AdQkMjrRAV0aQv3S
+C3uRv4p0fyCQUEeF+qBELxNqnP7rv6aqxN758Y09m+t9XKijP37zRC8Zapz++c+p+RDn2Z9riPZ9
+nxPq6M89INHLhfp6F6D23p7xMyr2sl792L2V1aeCm9N2EFCovaE+INHLhVpWAC33/IifWfGjpsJf
+N1XcnKnqJgt1dKgPSfRSodYVwKhUTjpbVbIRVBJj280W6uhQH5jo20PtK4D3p9d9U6bD7oJQj9gj
+eXCibwn1uAK4iXjDn/ypoX5woofd+zj9LgAfWivTjxMs3rx5+7S3X4LXf/hYCgAUAKAAAAUAKABA
+AQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABA
+AQAKAFAAgAIAFACgAAAFACgAUAAKABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAA
+gAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABQAAoAFACg
+AAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACg
+AAAFACgAQAEACgBQAIACABQAoAAABQAoAFAAQgAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoA
+UACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoA
+FACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIA
+FACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAA
+BQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAA
+BQAoAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABA
+AQAKAFAAgAIAFACgAAAFACgAQAEACgDYLIBJAYAtAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAA
+gAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAA
+oACEAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAo
+AEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFAAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAK
+AFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAK
+AFAAgAIABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIAC
+ABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAoAAABQAoAEABAAoAUACAAgAUAKAA
+AAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAA
+AAUAKABAAQAKABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgA
+QAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABQAAoAFACgAAAFACgAQAEACgBQ
+AIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQ
+AIACABQAoACA1E8igA/eArABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEA
+CgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFAAoABmAAgAUAKAA
+AAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAA
+AAUAKABAAQAKAFAAgAIAFACgAAAFAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgA
+QAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAEABAAoA
+UACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoA
+UACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFAAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIA
+FACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIA
+BQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAA
+BQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABA
+AQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAgPUC0ABg
+CwBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEA
+CgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACA
+AgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACA
+AgAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACg
+AAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACgAAAFACgAQAEACgBQAIACABQAoAAABQAo
+AEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAo
+AEABAAoAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAK
+AFAAgAIAFACgAAAFACgAuI///r//GX7+7TcFAJ/op9/+Hq70nFMAYBcAUACAAgAUAKAAAAUAKABA
+AQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABA
+AQAKAFAAgAIAFAAoAAUACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAA
+gAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUACgAGYACABQAoAAABQA8
+WgxTmOIf73jz5u3T3n4JNgHgc3cBFAAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACg
+AAAFACgAQAEACgBQAMANCmD6jxDi/xEefGQBxP/9+//95+9vfxMgfOYuwK//3hQQIDgGACgAQAEA
+CgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAGA
+AlAAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIAC
+ABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAYACUACgAAAFACgAQAEACgBQAIACABQAoAAA
+BQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAA
+BQAoAEABgAIQAigAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAA
+gAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACgAAAFACgAQAEACgBQAIACABQA
+oAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQA
+oAAABQAoAEABAAoAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUA
+KABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABgAIAFACgAAAFACgAQAEA
+CgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAPD2AtAAYAsAUACAAgAUAKAAAAUAKABAAQAKAFAA
+gAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAA
+gAIAFAAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQA
+oAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIABQAoAEABAAoAUACAAgAUAKAAAAUA
+KABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUA
+KABAAQAKAFAAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEA
+CgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABAAQAKABQAoAAABQAoAEABAAoAUACA
+AgAUAKAAAAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACA
+AgAUAKAAAAUAKABQAAoAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAA
+AAUAKABAAQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAFAACgAUAKAAAAUAKABA
+AQAKAFAAgAIAFACgAAAFACgAQAEACgBQAIACABQAoAAABQAoAEABAAoAUACAAgAUAKAAAAUAKABA
+AQAKAFAAgAIAFACgAIDE/xdgAKd04xpAhkGbAAAAAElFTkSuQmCC</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/NoColor.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/NoColor.png.xml
new file mode 100644
index 0000000000..03db640643
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/NoColor.png.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003723.82</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>NoColor.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAA0AAAANCAIAAAD9iXMrAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAAAK5JREFUeNqMkbERhiAMhcN/OoMrWLiCrRM4hbM5gQUNK1A4g432FPHl
+F85EGzkuF16+C3ngDvq0fhKmib3nbeN9NxuK96hmjsfRzTPFSCndHZDHCB1VnCqRuo6JRPrnVNcG
+gpI5FBTq2pbX9YZQzZxFqe9dCBoqPgqKToBoWQRFXiDLpYTrKAQaBkTJla3q7U7maxpjK3PWHVtb
+yq9+gmumB3pxT+j9Aogf//cUYADj4Ht5eajeZAAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>13</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>268</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>13</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/bar-opacity.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/bar-opacity.png.xml
new file mode 100644
index 0000000000..f0ba2a8ee6
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/bar-opacity.png.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003722.41</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>bar-opacity.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAIAAABLbSncAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAAAChJREFUeNpiPHPmDAMMGBsbw9lMDDgA6RKM////h3POnj1LCzsAAgwA
+QtYIcFfEyzkAAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>8</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>134</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>8</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/map-opacity.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/map-opacity.png.xml
new file mode 100644
index 0000000000..f3b0d56ef6
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/map-opacity.png.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003722.77</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>map-opacity.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAAAC1JREFUeNpiPHPmDAM2YGxsjFWciYFEMKqBGMD4//9/rBJnz54dDSX6
+aQAIMABCtQiAsDRF+wAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>139</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint.gif.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint.gif.xml
new file mode 100644
index 0000000000..9d5d25e413
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint.gif.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003723.34</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>mappoint.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/gif</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">R0lGODlhDwAPAJECAAAAAP///////wAAACH5BAEAAAIALAAAAAAPAA8AAAIulA2Zx5IB4WIANnlq
+aAa7zXXAFzLBUx5nlYpsu4LpSZb0J5s3fu2IFplwFEJDAQA7</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>15</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>93</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>15</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint_c.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint_c.png.xml
new file mode 100644
index 0000000000..ae6e8f6018
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint_c.png.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003722.96</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>mappoint_c.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAAAJ5JREFUeNqkU4ENgDAIA7OXvGL+pP6kV3gUsgVmM3VLlIQsIG0JIIsI
+1cbMt6TWcZ0LT6AWIZKwF6aPAJrUR8Ae6pvVXQQGELCovqSce4otL6aQn6wMqllR41njFVr2OHeA
+6oXQFUGJsBPLk6sHercdX1B+nnaHaG+uqmHRpn8gydABFGAaWrW+n9P+veevF8Z4x53bptfb/vJX
+nQIMAEGb5PDljJOZAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>15</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>252</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>15</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint_f.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint_f.png.xml
new file mode 100644
index 0000000000..7432e04e5d
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/mappoint_f.png.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003723.14</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>mappoint_f.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAAAKFJREFUeNqcU1sSgCAIhMbbdajoUJ2iQ5EYFiFa087sh7jLwwiZGTwQ
+sQlmHfpYikyjhDYJVqFcGtMKLRbV3QnUwAYkZ0+JV4Gen21L4kzSbL76rvdXe8m0i0GrFMSKQXwJ
+xiBTdYsE1yhK6swLhiXerexm3iPN17ZDTOfs5a0YvoHrt578xZvRzxYuSubsH8kuiBDtHr/sNnR3
++89fdQgwAB1fwHzYeLmXAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>15</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>255</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>15</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/picker.gif.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/picker.gif.xml
new file mode 100644
index 0000000000..522810b804
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/picker.gif.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003724.01</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>picker.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/gif</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">R0lGODlhGQAYAKIEANjY2P////Dw8BseI////wAAAAAAAAAAACH5BAEAAAQALAAAAAAZABgAAANX
+KLDc/kvBSWO4OOssVyBgKI5i0HxkOpoMqr6s984x4M5kfePlyae6X84n7LWKRhltE+jYcLXJblh5
+0qpWWGMAma4Yg/DDawybHeRQFCJgcrDwijPuECQAADs=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>146</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>25</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/preview-opacity.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/preview-opacity.png.xml
new file mode 100644
index 0000000000..766e20fb3a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/preview-opacity.png.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003724.2</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>preview-opacity.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAIAAAACUFjqAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAAAClJREFUeNpiPHPmDAMSMDY2RuYyMeAFNJVm/P//PzL/7Nmzg8VpAAEG
+ALE5CHQT4Ca/AAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>10</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>135</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>10</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/rangearrows.gif.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/rangearrows.gif.xml
new file mode 100644
index 0000000000..a01c4deb53
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/rangearrows.gif.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003721.04</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>rangearrows.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/gif</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">R0lGODlhKAAJAJECAHRyav///////wAAACH5BAEAAAIALAAAAAAoAAkAAAIvFC6py+17gAlUvosT
+oOHwnoXMxnmfJWZkuZYp1lYx+j5zS9f2ueb6XjEgfqKIoAAAOw==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>9</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>94</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>40</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/rangearrows2.gif.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/rangearrows2.gif.xml
new file mode 100644
index 0000000000..a09fe992d0
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/images/rangearrows2.gif.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003724.39</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>rangearrows2.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/gif</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">R0lGODlhCQAoAKEBAHRyav///////////yH5BAEAAAIALAAAAAAJACgAAAIuFI5gwR3nGoxvOSVs
+zRls3oHiSJbmiabqyrbuC8cxJnp0J3HepV17NAEaEgdBAQA7</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>40</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>93</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>9</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jpicker-1.0.12.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jpicker-1.0.12.min.js.xml
new file mode 100644
index 0000000000..19a953f196
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jpicker-1.0.12.min.js.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003716.39</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jpicker-1.0.12.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+(function(e,a){var d=function(t,k){var o=this,j=t.find("img"),B=0,A=100,s=100,z=0,w=100,r=100,q=0,p=0,m,n=function(x){var y=t.offset();m={left:y.left+parseInt(t.css("border-left-width")),top:y.top+parseInt(t.css("border-top-width"))};u(x);o.draw();e(document).bind("mousemove",l).bind("mouseup",h);x.stopPropagation();x.preventDefault();return false;},l=function(x){u(x);o.draw();x.stopPropagation();x.preventDefault();return false;},h=function(x){e(document).unbind("mouseup",h).unbind("mousemove",l);x.stopPropagation();x.preventDefault();return false;},u=function(E){var C=E.pageX-m.left,x=E.pageY-m.top,D=t.w,y=t.h;if(C<0){C=0;}else{if(C>D){C=D;}}if(x<0){x=0;}else{if(x>y){x=y;}}o.set_X(((C/D)*s)+B);o.set_Y(((x/y)*r)+z);e.isFunction(o.valuesChanged)&&o.valuesChanged(o);};e.extend(true,o,{settings:k,valuesChanged:e.isFunction(arguments[2])&&arguments[2]||null,get_X:function(){return q;},set_X:function(x){x=Math.floor(x);if(q==x){return;}if(x<B){x=B;}else{if(x>A){x=A;}}q=x;},get_Y:function(){return p;},set_Y:function(x){x=Math.floor(x);if(p==x){return;}if(x<z){x=z;}else{if(x>w){x=w;}}p=x;},set_RangeX:function(y,x){if(B==y&&A==x){return;}if(y>x){return;}B=y;A=x;s=A-B;},set_RangeY:function(y,x){if(z==y&&w==x){return;}if(y>x){return;}z=y;w=x;r=w-z;},draw:function(){var D=0,x=0,F=t.w,C=t.h,E=j.w,y=j.h;if(s>0){if(q==A){D=F;}else{D=Math.floor((q/s)*F);}}if(r>0){if(p==w){x=C;}else{x=Math.floor((p/r)*C);}}if(E>F){D=(F>>1)-(E>>1);}else{D-=E>>1;}if(y>C){x=(C>>1)-(y>>1);}else{x-=y>>1;}j.css({left:D+"px",top:x+"px"});},destroy:function(){e(document).unbind("mouseup",h).unbind("mousemove",l);t.unbind("mousedown",n);t=null;j=null;o.valuesChanged=null;}});var v=o.settings;j.src=v.arrow&&v.arrow.image;j.w=v.arrow&&v.arrow.width||j.width();j.h=v.arrow&&v.arrow.height||j.height();t.w=v.map&&v.map.width||t.width();t.h=v.map&&v.map.height||t.height();t.bind("mousedown",n);o.draw();e.isFunction(o.valuesChanged)&&o.valuesChanged(o);},b=function(m){var l=this,w=function(A){if(A.target.value==""){return;}if(!u.get_R()){s.red.val(0);}if(!u.get_G()){s.green.val(0);}if(!u.get_B()){s.blue.val(0);}if(!u.get_A()){s.alpha.val(100);}q(A);l.setValuesFromHsva();e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},p=function(A){if(A.target.value==""){return;}if(!u.get_H()){s.hue.val(0);}if(!u.get_S()){s.saturation.val(0);}if(!u.get_V()){s.value.val(0);}if(!u.get_A()){s.alpha.val(100);}o(A);l.setValuesFromRgba();e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},r=function(A){if(A.target.value==""){return;}if(!u.get_R()){s.red.val(0);}if(!u.get_G()){s.green.val(0);}if(!u.get_B()){s.blue.val(0);}if(!u.get_H()){s.hue.val(0);}if(!u.get_S()){s.saturation.val(0);}if(!u.get_V()){s.value.val(0);}y(A);l.setValuesFromRgba();e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},t=function(A){if(A.target.value==""){l.setValuesFromRgba();}e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},k=function(A){if(A.target.value==""){l.setValuesFromHsva();}e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},x=function(A){if(A.target.value==""){s.alpha.val(100);}e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},z=function(A){v(A);l.setValuesFromHex();e.isFunction(l.valuesChanged)&&l.valuesChanged(l);},j=function(A){if(A.target.value==""){l.setValuesFromHex();}},o=function(D){if(!n(D)){return D;}var C=h(s.red.val(),0,255),B=h(s.green.val(),0,255),A=h(s.blue.val(),0,255);s.red.val(C!=null?C:"");s.green.val(B!=null?B:"");s.blue.val(A!=null?A:"");},y=function(B){if(!n(B)){return B;}var A=h(s.alpha.val(),0,100);s.alpha.val(A!=null?A:"");},q=function(D){if(!n(D)){return D;}var A=h(s.hue.val(),0,360),B=h(s.saturation.val(),0,100),C=h(s.value.val(),0,100);s.hue.val(A!=null?A:"");s.saturation.val(B!=null?B:"");s.value.val(C!=null?C:"");},v=function(A){if(!n(A)){return A;}s.hex.val(s.hex.val().replace(/[^a-fA-F0-9]/g,"").toLowerCase().substring(0,8));},n=function(A){switch(A.keyCode){case 9:case 16:case 29:case 37:case 38:case 40:return false;case"c".charCodeAt():case"v".charCodeAt():if(A.ctrlKey){return false;}}return true;},h=function(C,B,A){if(C==""||isNaN(C)){return B;}if(C>A){return A;}if(C<B){return B;}return C;};e.extend(true,l,{color:new f(),fields:{hue:m.find(".jPicker_HueText"),saturation:m.find(".jPicker_SaturationText"),value:m.find(".jPicker_BrightnessText"),red:m.find(".jPicker_RedText"),green:m.find(".jPicker_GreenText"),blue:m.find(".jPicker_BlueText"),hex:m.find(".jPicker_HexText"),alpha:m.find(".jPicker_AlphaText")},valuesChanged:e.isFunction(arguments[1])&&arguments[1]||null,bindedHexKeyUp:function(A){z(A);},setValuesFromRgba:function(){u.fromRgba(s.red.val(),s.green.val(),s.blue.val(),s.alpha.val());var B=u.get_Rgba(),A=u.get_H(),C=u.get_S(),D=u.get_V(),E=u.get_A();s.hex.val(B!=null?B:"");s.hue.val(A!=null?A:"");s.saturation.val(C!=null?C:"");s.value.val(D!=null?D:"");s.alpha.val(E!=null?E:"");},setValuesFromHsva:function(){u.fromHsva(s.hue.val(),s.saturation.val(),s.value.val(),s.alpha.val());var B=u.get_Rgba(),E=u.get_R(),C=u.get_G(),A=u.get_B(),D=u.get_A();s.hex.val(B!=null?B:"");s.red.val(E!=null?E:"");s.green.val(C!=null?C:"");s.blue.val(A!=null?A:"");s.alpha.val(D!=null?D:"");},setValuesFromHex:function(){u.fromHex(s.hex.val());var C=u.get_Rgba(),H=u.get_R(),F=u.get_G(),A=u.get_B(),G=u.get_A(),B=u.get_H(),D=u.get_S(),E=u.get_V();s.red.val(H!=null?H:"");s.green.val(F!=null?F:"");s.blue.val(A!=null?A:"");s.alpha.val(G!=null?G:"");s.hue.val(B!=null?B:"");s.saturation.val(D!=null?D:"");s.value.val(E!=null?E:"");},destroy:function(){s.hue.add(s.saturation).add(s.value).unbind("keyup",events.hsvKeyUp).unbind("blur",t);s.red.add(s.green).add(s.blue).unbind("keyup",events.rgbKeyUp).unbind("blur",k);s.alpha.unbind("keyup",alphaKeyUp).unbind("blur",x);s.hex.unbind("keyup",z);s=null;u=null;l.valuesChanged=null;}});var s=l.fields,u=l.color;s.hue.add(s.saturation).add(s.value).bind("keyup",w).bind("blur",t);s.red.add(s.green).add(s.blue).bind("keyup",p).bind("blur",k);s.alpha.bind("keyup",r).bind("blur",x);s.hex.bind("keyup",z).bind("blur",j);if(s.hex.val()!=""){u.fromHex(s.hex.val());l.setValuesFromHex();}};e.jPicker={List:[],Color:function(q){var m=this,j,l,n,o,k,t,p;e.extend(true,m,{get_R:function(){return j;},get_G:function(){return l;},get_B:function(){return n;},get_A:function(){return o;},get_Rgba:function(){return j!=null&&l!=null&&n!=null&&o!=null?g.rgbaToHex({r:j,g:l,b:n,a:o}):null;},get_Hex:function(){var h=m.get_Rgba();return h&&h.substring(0,6)||null;},get_H:function(){return k;},get_S:function(){return t;},get_V:function(){return p;},get_Hsv:function(){return{h:k,s:t,v:p};},fromRgba:function(v,s,h,u){j=v;l=s;n=h;o=u;var r=g.rgbToHsv({r:v,g:s,b:h});k=r.h;t=r.s;p=r.v;},fromHsva:function(h,s,u,v){k=h;t=s;p=u;o=v;var r=g.hsvToRgb({h:h,s:s,v:u});j=r.r;l=r.g;n=r.b;},fromHex:function(s){if(s==null||s==""){j=null;l=null;n=null;o=null;k=null;t=null;p=null;return;}var r=g.hexToRgba(s);j=r.r;l=r.g;n=r.b;o=r.a;var h=g.rgbToHsv({r:r.r,g:r.g,b:r.b});k=h.h;t=h.s;p=h.v;}});if(q){if(q.hex!=null&&q.hex!=""){m.fromHex(q.hex);}else{if(!isNaN(q.r)){m.fromRgba(q.r,q.g,q.b,q.a||100);}else{if(!isNaN(q.h)){m.fromHsva(q.h,q.s,q.v,q.a||100);}}}}},ColorMethods:{hexToRgba:function(m){m=this.validateHex(m);if(m==""){return{r:null,g:null,b:null,a:null};}var l="00",k="00",h="00",j="100";if(m.length==6){m+="ff";}if(m.length>6){l=m.substring(0,2);k=m.substring(2,4);h=m.substring(4,6);j=m.substring(6,m.length);}else{if(m.length>4){l=m.substring(4,m.length);m=m.substring(0,4);}if(m.length>2){k=m.substring(2,m.length);m=m.substring(0,2);}if(m.length>0){h=m.substring(0,m.length);}}return{r:this.hexToInt(l),g:this.hexToInt(k),b:this.hexToInt(h),a:Math.floor((this.hexToInt(j)*100)/255)};},validateHex:function(h){h=h.toLowerCase().replace(/[^a-f0-9]/g,"");if(h.length>8){h=h.substring(0,8);}return h;},rgbaToHex:function(h){return this.intToHex(h.r)+this.intToHex(h.g)+this.intToHex(h.b)+this.intToHex(Math.floor((h.a*255)/100));},intToHex:function(j){var h=Math.floor(j).toString(16);if(h.length==1){h=("0"+h);}return h.toLowerCase();},hexToInt:function(h){return parseInt(h,16);},rgbToHsv:function(l){var o=l.r/255,n=l.g/255,j=l.b/255,k={h:0,s:0,v:0},m=0,h=0,p;if(o>=n&&o>=j){h=o;m=n>j?j:n;}else{if(n>=j&&n>=o){h=n;m=o>j?j:o;}else{h=j;m=n>o?o:n;}}k.v=h;k.s=h?(h-m)/h:0;if(!k.s){k.h=0;}else{p=h-m;if(o==h){k.h=(n-j)/p;}else{if(n==h){k.h=2+(j-o)/p;}else{k.h=4+(o-n)/p;}}k.h=parseInt(k.h*60);if(k.h<0){k.h+=360;}}k.s=Math.floor(k.s*100);k.v=Math.floor(k.v*100);return k;},hsvToRgb:function(n){var r={r:0,g:0,b:0,a:100},m=n.h,x=n.s,u=n.v;if(x==0){if(u==0){r.r=r.g=r.b=0;}else{r.r=r.g=r.b=Math.floor(u*255/100);}}else{if(m==360){m=0;}m/=60;x=x/100;u=u/100;var l=Math.floor(m),o=m-l,k=u*(1-x),j=u*(1-(x*o)),w=u*(1-(x*(1-o)));switch(l){case 0:r.r=u;r.g=w;r.b=k;break;case 1:r.r=j;r.g=u;r.b=k;break;case 2:r.r=k;r.g=u;r.b=w;break;case 3:r.r=k;r.g=j;r.b=u;break;case 4:r.r=w;r.g=k;r.b=u;break;case 5:r.r=u;r.g=k;r.b=j;break;}r.r=Math.floor(r.r*255);r.g=Math.floor(r.g*255);r.b=Math.floor(r.b*255);}return r;}}};var f=e.jPicker.Color,c=e.jPicker.List,g=e.jPicker.ColorMethods;e.fn.jPicker=function(j){var h=arguments;return this.each(function(){var w=e(this),y=e.extend(true,{},e.fn.jPicker.defaults,j);if(w.get(0).nodeName.toLowerCase()=="input"){e.extend(true,y,{window:{bindToInput:true,expandable:true,input:w}});if(g.validateHex(w.val())){y.color.active=new f({hex:w.val(),a:y.color.active.get_A()});y.color.current=new f({hex:w.val(),a:y.color.active.get_A()});}}if(y.window.expandable){w.after(\'<span class="jPicker_Picker"><span class="jPicker_Color">&nbsp;</span><span class="jPicker_Alpha">&nbsp;</span><span class="jPicker_Icon" title="Click To Open Color Picker">&nbsp;</span><span class="jPicker_Container">&nbsp;</span></span>\');}else{y.window.liveUpdate=false;}var U=parseFloat(navigator.appVersion.split("MSIE")[1])<7&&document.body.filters,ay=null,av=null,au=null,T=null,S=null,R=null,Q=null,P=null,O=null,V=null,aa=null,aA=null,ak=null,am=null,ao=null,I=null,aw=null,G=null,Y=null,az=null,M=null,L=null,at=null,aq=null,A=null,l=null,J=null,ap=null,ab=null,ai=null,o=null,m=null,C=null,u=null,an=function(aE){K.active=az.color;var aF=K.active,aG=q.clientPath,aD=aF.get_Hex(),aC=function(aH){ad(aH,100);aH.css({backgroundColor:"transparent",backgroundPosition:"0px 0px",filter:""});};aC(ay);aC(av);aC(au);aC(T);aC(S);aC(R);aC(Q);aC(P);aC(O);aa.add(aA).add(ak).add(am).add(ao).add(I).removeAttr("checked");switch(aE){case"h":aa.attr({checked:true});ay.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});av.css({backgroundColor:"transparent"});x(av,-256);ad(av,100);x(Q,-256);ad(O,0);break;case"s":aA.attr({checked:true});x(ay,-512);x(av,-768);z(R,aF.get_Hex());x(Q,-512);ad(O,0);break;case"v":ak.attr({checked:true});z(ay,"000000");x(av,-1024);R.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});x(Q,-768);ad(O,0);break;case"r":am.attr({checked:true});x(av,-1536);x(ay,-1280);x(Q,-1024);x(R,-1280);x(S,-1536);x(T,-1792);ad(O,0);break;case"g":ao.attr({checked:true});x(av,-2048);x(ay,-1792);x(Q,-2048);x(R,-2304);x(S,-2560);x(T,-2816);ad(O,0);break;case"b":I.attr({checked:true});x(av,-2560);x(ay,-2304);x(Q,-3072);x(R,-3328);x(S,-3584);x(T,-3840);ad(O,0);break;case"a":aw.attr({checked:true});x(ay,-512);x(av,-768);ad(av,0);z(R,aF.get_Hex());ad(Q,0);ad(P,0);ad(O,100);break;default:throw ("Invalid Mode");break;}switch(aE){case"h":G.set_RangeX(0,100);G.set_RangeY(0,100);Y.set_RangeY(0,360);break;case"s":case"v":case"a":G.set_RangeX(0,360);G.set_RangeY(0,100);Y.set_RangeY(0,100);break;case"r":case"g":case"b":G.set_RangeX(0,255);G.set_RangeY(0,255);Y.set_RangeY(0,255);break;}K.mode=aE;v();G.draw();Y.draw();ah();if(aj.expandable&&aj.liveUpdate){o.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});ad(m,100-aF.get_A());if(aj.bindToInput){aj.input.val(aF.get_Rgba()||"").css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent",color:aF.get_V()>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aF);},n=function(){v();G.draw();Y.draw();ah();K.active=az.color;var aD=K.active;if(aj.expandable&&aj.liveUpdate){var aC=aD.get_Hex();o.css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent"});ad(m,100-aD.get_A());if(aj.bindToInput){aj.input.val(az.fields.hex.val()||"").css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent",color:aD.get_V()>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aD);},B=function(){if(!az||!G||!Y){return;}K.active=az.color;var aC=az.fields,aE=K.active;switch(K.mode){case"h":aC.saturation.val(G.get_X());aC.value.val(100-G.get_Y());if(aE.get_H()==null){aC.hue.val(0);}break;case"s":case"a":aC.hue.val(G.get_X());aC.value.val(100-G.get_Y());if(aE.get_S()==null){aC.saturation.val(0);}break;case"v":aC.hue.val(G.get_X());aC.saturation.val(100-G.get_Y());if(aE.get_V()==null){aC.value.val(0);}break;case"r":aC.green.val(255-G.get_Y());aC.blue.val(G.get_X());if(aE.get_R()==null){aC.red.val(0);}break;case"g":aC.red.val(255-G.get_Y());aC.blue.val(G.get_X());if(aE.get_G()==null){aC.green.val(0);}break;case"b":aC.red.val(G.get_X());aC.green.val(255-G.get_Y());if(aE.get_B()==null){aC.blue.val(0);}break;}if(aE.get_A()==null){aC.alpha.val(100);az.setValuesFromHsva();v();Y.draw();}switch(K.mode){case"h":case"s":case"v":case"a":az.setValuesFromHsva();break;case"r":case"g":case"b":az.setValuesFromRgba();break;}ah();if(aj.expandable&&aj.liveUpdate){var aD=aE.get_Hex();o.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});ad(m,100-aE.get_A());if(aj.bindToInput){aj.input.val(aE.get_Rgba()||"").css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent",color:aE.get_V()>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aE);},al=function(){if(!az||!G||!Y){return;}K.active=az.color;var aC=az.fields,aE=K.active;switch(K.mode){case"h":aC.hue.val(360-Y.get_Y());if(aE.get_S()==null){aC.saturation.val(0);}if(aE.get_V()==null){aC.value.val(0);}break;case"s":aC.saturation.val(100-Y.get_Y());if(aE.get_H()==null){aC.hue.val(0);}if(aE.get_V()==null){aC.value.val(0);}break;case"v":aC.value.val(100-Y.get_Y());if(aE.get_H()==null){aC.hue.val(0);}if(aE.get_S()==null){aC.saturation.val(0);}break;case"r":aC.red.val(255-Y.get_Y());if(aE.get_G()==null){aC.green.val(0);}if(aE.get_B()==null){aC.blue.val(0);}break;case"g":aC.green.val(255-Y.get_Y());if(aE.get_R()==null){aC.red.val(0);}if(aE.get_B()==null){aC.blue.val(0);}break;case"b":aC.blue.val(255-Y.get_Y());if(aE.get_R()==null){aC.red.val(0);}if(aE.get_G()==null){aC.green.val(0);}break;case"a":aC.alpha.val(100-Y.get_Y());if(aE.get_R()==null){aC.red.val(0);}if(aE.get_G()==null){aC.green.val(0);}if(aE.get_B()==null){aC.blue.val(0);}break;}if(aE.get_A()==null){aC.alpha.val(100);}switch(K.mode){case"h":case"s":case"v":az.setValuesFromHsva();break;case"r":case"g":case"b":case"a":az.setValuesFromRgba();break;}ah();if(aj.expandable&&aj.liveUpdate){var aD=aE.get_Hex();o.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});ad(m,100-aE.get_A());if(aj.bindToInput){aj.input.val(aE.get_Rgba()||"").css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent",color:aE.get_V()>75?"#000000":"#ffffff"});}}e.isFunction(w.liveCallback)&&w.liveCallback(aE);},v=function(){K.active=az.color;var aF=0,aE=K.active;switch(w.settings.color.mode){case"h":aF=360-aE.get_H();break;case"s":aF=100-aE.get_S();break;case"v":aF=100-aE.get_V();break;case"r":aF=255-aE.get_R();break;case"g":aF=255-aE.get_G();break;case"b":aF=255-aE.get_B();break;case"a":aF=100-aE.get_A();break;}Y.set_Y(aF);var aD=0,aC=0;switch(w.settings.color.mode){case"h":aD=aE.get_S();aC=100-aE.get_V();break;case"s":case"a":aD=aE.get_H();aC=100-aE.get_V();break;case"v":aD=aE.get_H();aC=100-aE.get_S();break;case"r":aD=aE.get_B();aC=255-aE.get_G();break;case"g":aD=aE.get_B();aC=255-aE.get_R();break;case"b":aD=aE.get_R();aC=255-aE.get_G();break;}G.set_X(aD);G.set_Y(aC);},ah=function(){aB();ar();Z();},aB=function(){try{var aC=az.color.get_Hex();A.css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent"});ad(A,az.color.get_A());}catch(aD){}},ar=function(){if(!K||!az){return;}K.active=az.color;var aC=K.active;switch(K.mode){case"h":z(ay,new f({h:aC.get_H(),s:100,v:100}).get_Hex());break;case"s":case"a":ad(av,100-aC.get_S());break;case"v":ad(av,aC.get_V());break;case"r":ad(av,aC.get_R()/255*100);break;case"g":ad(av,aC.get_G()/255*100);break;case"b":ad(av,aC.get_B()/255*100);break;}ad(au,100-aC.get_A());},Z=function(){if(!K||!az){return;}K.active=az.color;var aG=K.active;switch(K.mode){case"h":ad(P,100-aG.get_A());break;case"s":var aH=new f({h:aG.get_H(),s:100,v:aG.get_V()});z(R,aH.get_Hex());ad(P,100-aG.get_A());break;case"v":var aJ=new f({h:aG.get_H(),s:aG.get_S(),v:100});z(R,aJ.get_Hex());ad(P,100-aG.get_A());break;case"r":case"g":case"b":var aI=0,aK=0;if(K.mode=="r"){aI=aG.get_B();aK=aG.get_G();}else{if(K.mode=="g"){aI=aG.get_B();aK=aG.get_R();}else{if(K.mode=="b"){aI=aG.get_R();aK=aG.get_G();}}}var aC=aI/255*100,aF=aK/255*100,aE=(255-aI)/255*100,aD=(255-aK)/255*100;ad(T,aD>aE?aE:aD);ad(S,aD>aC?aC:aD);ad(R,aF>aC?aC:aF);ad(Q,aF>aE?aE:aF);ad(P,100-aG.get_A());break;case"a":z(R,aG.get_Hex());break;}},z=function(aC,aD){aC.css({backgroundColor:aD&&aD.length==6?"#"+aD:"transparent"});},t=function(aC,aD){aC.css({backgroundImage:"url("+aD+")"});},x=function(aC,aD){aC.css({backgroundPosition:"0px "+aD+"px"});},ad=function(aD,aC){aD.css({visibility:aC>0?"visible":"hidden"});if(aC>0&&aC<100){aD.css({opacity:aC/100});}else{if(aC==0||aC==100){aD.css({opacity:""});}}},E=function(){az.fields.hex.val(K.current.get_Rgba()||"");az.setValuesFromHex();e.isFunction(az.valuesChanged)&&az.valuesChanged(az);},D=function(aC){an(aC.target.value);},ae=function(){E();},s=function(){E();aj.expandable&&w.hide();e.isFunction(w.cancelCallback)&&w.cancelCallback(K.active);},X=function(){var aD=K.active;K.current=new f({hex:aD.get_Rgba()});var aC=aD.get_Hex();l.css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent"});ad(l,az.color.get_A());if(aj.expandable){o.css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent"});ad(m,100-aD.get_A());if(aj.bindToInput){aj.input.val(aD.get_Rgba()||"").css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent",color:aD.get_V()>75?"#000000":"#ffffff"});}}e.isFunction(w.commitCallback)&&w.commitCallback(aD);},p=function(){X();aj.expandable&&w.hide();},ag=function(){w.show();},W=function(aE){var aC=aj.element,aD=aj.page;M=parseInt(V.css("left"));L=parseInt(V.css("top"));at=aE.pageX;aq=aE.pageY;e(document).bind("mousemove",k).bind("mouseup",r);aE.stopPropagation();aE.preventDefault();return false;},k=function(aC){V.css({left:M-(at-aC.pageX)+"px",top:L-(aq-aC.pageY)+"px"});aC.stopPropagation();aC.preventDefault();return false;},r=function(aC){e(document).unbind("mousemove",k).unbind("mouseup",r);aC.stopPropagation();aC.preventDefault();return false;},F=function(aC){az.fields.hex.val(w.settings.window.input.val());az.bindedHexKeyUp(aC);},H=function(aC){az.fields.hex.val(new f({hex:e(this).attr("title")}).get_Rgba()||"");az.setValuesFromHex();e.isFunction(az.valuesChanged)&&az.valuesChanged(az);};e.extend(true,w,{id:w.attr("id"),settings:y,color:null,icon:null,commitCallback:e.isFunction(h[1])&&h[1]||null,liveCallback:e.isFunction(h[2])&&h[2]||null,cancelCallback:e.isFunction(h[3])&&h[3]||null,show:function(){if(document.all){var aD=false;for(i=0;i<c.length;i++){if(aD){c[i].color.add(c[i].icon).css({display:"none"});}if(c[i].id==w.id){aD=true;}}}K.current=new f({hex:K.active.get_Rgba()});var aC=K.active.get_Hex();l.css({backgroundColor:aC&&aC.length==6?"#"+aC:"transparent"});ad(l,K.active.get_A());V.css({display:"block"});v();},hide:function(){if(document.all){var aC=false;for(i=0;i<c.length;i++){if(aC){c[i].color.add(c[i].icon).css({display:"block"});}if(c[i].id==w.id){aC=true;}}}V.css({display:"none"});},destroy:function(){if(aj.expandable){C=V.find(".jPicker_Icon").unbind("click",ag);}if(aj.bindToInput){aj.input.unbind("keyup",F).unbind("change",F);}aa.add(aA).add(ak).add(am).add(ao).add(I).unbind("click",D);l.unbind("click",ae);ab.unbind("click",s);ap.unbind("click",p);if(aj.expandable){u.unbind("mousedown",W);}V.find(".jPicker_QuickColor").unbind("click",H);aa=null;aA=null;ak=null;am=null;ao=null;I=null;aw=null;ay=null;av=null;au=null;T=null;S=null;R=null;Q=null;P=null;O=null;J=null;A=null;l=null;ap=null;ab=null;ai=null;w.color=null;w.icon=null;G.destroy();G=null;Y.destroy();Y=null;az.destroy();az=null;w.commitCallback=null;w.cancelCallback=null;w.liveCallback=null;V.html("");for(i=0;i<c.length;i++){if(c[i].id==w.id){c.splice(i,1);}}}});var q=w.settings.images,aj=w.settings.window,af=w.settings.localization,K=w.settings.color;V=aj.expandable?w.next().find(".jPicker_Container"):w;if(aj.expandable){V.css({left:aj.position.x=="left"?"-526px":aj.position.x=="center"?"-259px":aj.position.x=="right"?"0px":aj.position.x=="screenCenter"?((e(document).width()>>1)-259)-w.next().offset().left+"px":aj.position.x,position:"absolute",top:aj.position.y=="top"?"-350px":aj.position.y=="center"?"-158px":aj.position.y=="bottom"?"25px":aj.position.y});}if((typeof(K.active)).toString().toLowerCase()=="string"){K.active=new f({hex:K.active});}V.html(\'<table class="jPicker_table"><tbody>\'+(aj.expandable?\'<tr><td class="jPicker_MoveBar" colspan="6">&nbsp;</td></tr>\':"")+\'<tr><td rowspan="9"><h2 class="jPicker_Title">\'+(aj.title||af.text.title)+\'</h2><div class="jPicker_ColorMap"><span class="jPicker_ColorMap_l1">&nbsp;</span><span class="jPicker_ColorMap_l2">&nbsp;</span><span class="jPicker_ColorMap_l3">&nbsp;</span><img src="\'+q.clientPath+q.colorMap.arrow.file+\'" class="jPicker_ColorMap_Arrow"/></div></td><td rowspan="9"><div class="jPicker_ColorBar"><span class="jPicker_ColorBar_l1">&nbsp;</span><span class="jPicker_ColorBar_l2">&nbsp;</span><span class="jPicker_ColorBar_l3">&nbsp;</span><span class="jPicker_ColorBar_l4">&nbsp;</span><span class="jPicker_ColorBar_l5">&nbsp;</span><span class="jPicker_ColorBar_l6">&nbsp;</span><img src="\'+q.clientPath+q.colorBar.arrow.file+\'" class="jPicker_ColorBar_Arrow"/></div></td><td colspan="3" class="jPicker_Preview">\'+af.text.newColor+\'<div class="jPicker_NewCurrent"><span class="jPicker_Active" title="\'+af.tooltips.colors.newColor+\'">&nbsp;</span><span class="jPicker_Current" title="\'+af.tooltips.colors.currentColor+\'">&nbsp;</span></div>\'+af.text.currentColor+\'</td><td rowspan="9" class="jPicker_OkCancel"><input type="button" class="jPicker_Ok" value="\'+af.text.ok+\'" title="\'+af.tooltips.buttons.ok+\'"/><input type="button" class="jPicker_Cancel" value="\'+af.text.cancel+\'" title="\'+af.tooltips.buttons.cancel+\'"/><hr/><div class="jPicker_Grid">&nbsp;</div></td></tr><tr><td><input type="radio" class="jPicker_HueRadio" id="jPicker_Hue_\'+c.length+\'" name="jPicker_Mode_\'+c.length+\'" value="h" title="\'+af.tooltips.hue.radio+\'"/></td><td><label for="jPicker_Hue_\'+c.length+\'" title="\'+af.tooltips.hue.radio+\'">H:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_HueText" value="\'+K.active.get_H()+\'" title="\'+af.tooltips.hue.textbox+\'"/> &deg;</td></tr><tr><td><input type="radio" class="jPicker_SaturationRadio" id="jPicker_Saturation_\'+c.length+\'" name="jPicker_Mode_\'+c.length+\'" value="s" title="\'+af.tooltips.saturation.radio+\'"/></td><td><label for="jPicker_Saturation_\'+c.length+\'" title="\'+af.tooltips.saturation.radio+\'">S:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_SaturationText" value="\'+K.active.get_S()+\'" title="\'+af.tooltips.saturation.textbox+\'"/> %</td></tr><tr><td><input type="radio" class="jPicker_BrightnessRadio" id="jPicker_Brightness_\'+c.length+\'" name="jPicker_Mode_\'+c.length+\'" value="v" title="\'+af.tooltips.brightness.radio+\'"/><br/><br/></td><td><label for="jPicker_Brightness_\'+c.length+\'" title="\'+af.tooltips.brightness.radio+\'">B:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_BrightnessText" value="\'+K.active.get_V()+\'" title="\'+af.tooltips.brightness.textbox+\'"/> %</td></tr><tr><td><input type="radio" class="jPicker_RedRadio" id="jPicker_Red_\'+c.length+\'" name="jPicker_Mode_\'+c.length+\'" value="r" title="\'+af.tooltips.red.radio+\'"/></td><td><label for="jPicker_Red_\'+c.length+\'" title="\'+af.tooltips.red.radio+\'">R:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_RedText" value="\'+K.active.get_R()+\'" title="\'+af.tooltips.red.textbox+\'"/></td></tr><tr><td><input type="radio" class="jPicker_GreenRadio" id="jPicker_Green_\'+c.length+\'" name="jPicker_Mode_\'+c.length+\'" value="g" title="\'+af.tooltips.green.radio+\'"/></td><td><label for="jPicker_Green_\'+c.length+\'" title="\'+af.tooltips.green.radio+\'">G:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_GreenText" value="\'+K.active.get_G()+\'" title="\'+af.tooltips.green.textbox+\'"/></td></tr><tr><td><input type="radio" class="jPicker_BlueRadio" id="jPicker_Blue_\'+c.length+\'" name="jPicker_Mode_\'+c.length+\'" value="b" title="\'+af.tooltips.blue.radio+\'"/></td><td><label for="jPicker_Blue_\'+c.length+\'" title="\'+af.tooltips.blue.radio+\'">B:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_BlueText" value="\'+K.active.get_B()+\'" title="\'+af.tooltips.blue.textbox+\'"/></td></tr><tr><td><input type="radio" class="jPicker_AlphaRadio" id="jPicker_Alpha_\'+c.length+\'" name="jPicker_Mode_\'+c.length+\'" value="a" title="\'+af.tooltips.alpha.radio+\'"/></td><td><label for="jPicker_Alpha_\'+c.length+\'" title="\'+af.tooltips.alpha.radio+\'">A:</label></td><td class="jPicker_Text"><input type="text" class="jPicker_AlphaText" value="\'+K.active.get_A()+\'" title="\'+af.tooltips.alpha.textbox+\'"/> %</td></tr><tr><td class="jPicker_HexCol"><label for="jPicker_Hex_\'+c.length+\'" title="\'+af.tooltips.hex.textbox+\'">#:</label></td><td class="jPicker_EnterHex" colspan="2"><input type="text" class="jPicker_HexText" id="jPicker_Hex_\'+c.length+\'" value="\'+K.active.get_Rgba()+\'" title="\'+af.tooltips.hex.textbox+\'"/></td></tr></tbody></table>\');aa=V.find(".jPicker_HueRadio");aA=V.find(".jPicker_SaturationRadio");ak=V.find(".jPicker_BrightnessRadio");am=V.find(".jPicker_RedRadio");ao=V.find(".jPicker_GreenRadio");I=V.find(".jPicker_BlueRadio");aw=V.find(".jPicker_AlphaRadio");ay=V.find(".jPicker_ColorMap_l1");av=V.find(".jPicker_ColorMap_l2");au=V.find(".jPicker_ColorMap_l3");T=V.find(".jPicker_ColorBar_l1");S=V.find(".jPicker_ColorBar_l2");R=V.find(".jPicker_ColorBar_l3");Q=V.find(".jPicker_ColorBar_l4");P=V.find(".jPicker_ColorBar_l5");O=V.find(".jPicker_ColorBar_l6");J=V.find(".jPicker_NewCurrent");var ac=K.active.get_Hex();A=V.find(".jPicker_Active").css({backgroundColor:ac&&ac.length==6?"#"+ac:"transparent"});l=V.find(".jPicker_Current").css({backgroundColor:ac&&ac.length==6?"#"+ac:"transparent"});ap=V.find(".jPicker_Ok");ab=V.find(".jPicker_Cancel");ai=V.find(".jPicker_Grid");w.color=e(".Picker_Color");w.icon=e(".jPicker_Icon");az=new b(V,n);G=new d(V.find(".jPicker_ColorMap"),{map:{width:q.colorMap.width,height:q.colorMap.height},arrow:{image:q.clientPath+q.colorMap.arrow.file,width:q.colorMap.arrow.width,height:q.colorMap.arrow.height}},B);Y=new d(V.find(".jPicker_ColorBar"),{map:{width:q.colorBar.width,height:q.colorBar.height},arrow:{image:q.clientPath+q.colorBar.arrow.file,width:q.colorBar.arrow.width,height:q.colorBar.arrow.height}},al);t(ay,q.clientPath+"Maps.png");t(av,q.clientPath+"Maps.png");t(au,q.clientPath+"map-opacity.png");t(T,q.clientPath+"Bars.png");t(S,q.clientPath+"Bars.png");t(R,q.clientPath+"Bars.png");t(Q,q.clientPath+"Bars.png");t(P,q.clientPath+"bar-opacity.png");t(O,q.clientPath+"AlphaBar.png");t(J,q.clientPath+"preview-opacity.png");if(aj.expandable){o=w.next().find(".jPicker_Color").css({backgroundColor:ac&&ac.length==6?"#"+ac:"transparent"});m=w.next().find(".jPicker_Alpha");t(m,q.clientPath+"bar-opacity.png");ad(m,100-K.active.get_A());C=w.next().find(".jPicker_Icon").css({backgroundImage:"url("+q.clientPath+q.picker.file+")"}).bind("click",ag);if(aj.bindToInput){aj.input.bind("keyup",F).bind("change",F);}}aa.add(aA).add(ak).add(am).add(ao).add(I).add(aw).bind("click",D);l.bind("click",ae);ab.bind("click",s);ap.bind("click",p);if(aj.expandable){u=V.find(".jPicker_MoveBar").bind("mousedown",W);}if(K.quickList&&K.quickList.length>0){ai.html("");for(i=0;i<K.quickList.length;i++){if((typeof(K.quickList[i])).toString().toLowerCase()=="string"){K.quickList[i]=new f({hex:K.quickList[i]});}var ax=K.quickList[i].get_Rgba();ai.append(\'<span class="jPicker_QuickColor" title="\'+(ax&&"#"+ax||"")+\'">&nbsp;</span>\');var N=K.quickList[i].get_Hex();V.find(".jPicker_QuickColor").eq(i).css({backgroundColor:N&&N.length==6?"#"+N:"transparent",backgroundImage:N?"none":"url("+q.clientPath+"NoColor.png)"}).click(H);}}an(K.mode);az.fields.hex.val(K.active.get_Rgba()||"");az.setValuesFromHex();v();ah();if(!aj.expandable){w.show();}c.push(w);});};e.fn.jPicker.defaults={window:{title:null,position:{x:"screenCenter",y:"top"},expandable:false,liveUpdate:true},color:{mode:"h",active:new f({hex:"#ffcc00ff"}),quickList:[new f({h:360,s:33,v:100}),new f({h:360,s:66,v:100}),new f({h:360,s:100,v:100}),new f({h:360,s:100,v:75}),new f({h:360,s:100,v:50}),new f({h:180,s:0,v:100}),new f({h:30,s:33,v:100}),new f({h:30,s:66,v:100}),new f({h:30,s:100,v:100}),new f({h:30,s:100,v:75}),new f({h:30,s:100,v:50}),new f({h:180,s:0,v:90}),new f({h:60,s:33,v:100}),new f({h:60,s:66,v:100}),new f({h:60,s:100,v:100}),new f({h:60,s:100,v:75}),new f({h:60,s:100,v:50}),new f({h:180,s:0,v:80}),new f({h:90,s:33,v:100}),new f({h:90,s:66,v:100}),new f({h:90,s:100,v:100}),new f({h:90,s:100,v:75}),new f({h:90,s:100,v:50}),new f({h:180,s:0,v:70}),new f({h:120,s:33,v:100}),new f({h:120,s:66,v:100}),new f({h:120,s:100,v:100}),new f({h:120,s:100,v:75}),new f({h:120,s:100,v:50}),new f({h:180,s:0,v:60}),new f({h:150,s:33,v:100}),new f({h:150,s:66,v:100}),new f({h:150,s:100,v:100}),new f({h:150,s:100,v:75}),new f({h:150,s:100,v:50}),new f({h:180,s:0,v:50}),new f({h:180,s:33,v:100}),new f({h:180,s:66,v:100}),new f({h:180,s:100,v:100}),new f({h:180,s:100,v:75}),new f({h:180,s:100,v:50}),new f({h:180,s:0,v:40}),new f({h:210,s:33,v:100}),new f({h:210,s:66,v:100}),new f({h:210,s:100,v:100}),new f({h:210,s:100,v:75}),new f({h:210,s:100,v:50}),new f({h:180,s:0,v:30}),new f({h:240,s:33,v:100}),new f({h:240,s:66,v:100}),new f({h:240,s:100,v:100}),new f({h:240,s:100,v:75}),new f({h:240,s:100,v:50}),new f({h:180,s:0,v:20}),new f({h:270,s:33,v:100}),new f({h:270,s:66,v:100}),new f({h:270,s:100,v:100}),new f({h:270,s:100,v:75}),new f({h:270,s:100,v:50}),new f({h:180,s:0,v:10}),new f({h:300,s:33,v:100}),new f({h:300,s:66,v:100}),new f({h:300,s:100,v:100}),new f({h:300,s:100,v:75}),new f({h:300,s:100,v:50}),new f({h:180,s:0,v:0}),new f({h:330,s:33,v:100}),new f({h:330,s:66,v:100}),new f({h:330,s:100,v:100}),new f({h:330,s:100,v:75}),new f({h:330,s:100,v:50}),new f()]},images:{clientPath:"/jPicker/images/",colorMap:{width:256,height:256,arrow:{file:"mappoint.gif",width:15,height:15}},colorBar:{width:20,height:256,arrow:{file:"rangearrows.gif",width:40,height:9}},picker:{file:"picker.gif",width:25,height:24}},localization:{text:{title:"Drag Markers To Pick A Color",newColor:"new",currentColor:"current",ok:"OK",cancel:"Cancel"},tooltips:{colors:{newColor:"New Color - Press &ldquo;OK&rdquo; To Commit",currentColor:"Click To Revert To Original Color"},buttons:{ok:"Commit To This Color Selection",cancel:"Cancel And Revert To Original Color"},hue:{radio:"Set To &ldquo;Hue&rdquo; Color Mode",textbox:"Enter A &ldquo;Hue&rdquo; Value (0-360&deg;)"},saturation:{radio:"Set To &ldquo;Saturation&rdquo; Color Mode",textbox:"Enter A &ldquo;Saturation&rdquo; Value (0-100%)"},brightness:{radio:"Set To &ldquo;Brightness&rdquo; Color Mode",textbox:"Enter A &ldquo;Brightness&rdquo; Value (0-100%)"},red:{radio:"Set To &ldquo;Red&rdquo; Color Mode",textbox:"Enter A &ldquo;Red&rdquo; Value (0-255)"},green:{radio:"Set To &ldquo;Green&rdquo; Color Mode",textbox:"Enter A &ldquo;Green&rdquo; Value (0-255)"},blue:{radio:"Set To &ldquo;Blue&rdquo; Color Mode",textbox:"Enter A &ldquo;Blue&rdquo; Value (0-255)"},alpha:{radio:"Set To &ldquo;Alpha&rdquo; Color Mode",textbox:"Enter A &ldquo;Alpha&rdquo; Value (0-100)"},hex:{textbox:"Enter A &ldquo;Hex&rdquo; Color Value (#000000-#ffffff)"}}}};})(jQuery,"1.0.12");
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>32141</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jquery.jgraduate.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jquery.jgraduate.js.xml
new file mode 100644
index 0000000000..2a4e5a52aa
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jquery.jgraduate.js.xml
@@ -0,0 +1,1132 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003716.63</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery.jgraduate.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * jGraduate 0.3.x\n
+ *\n
+ * jQuery Plugin for a gradient picker\n
+ *\n
+ * Copyright (c) 2010 Jeff Schiller\n
+ * http://blog.codedread.com/\n
+ * Copyright (c) 2010 Alexis Deveria\n
+ * http://a.deveria.com/\n
+ *\n
+ * Apache 2 License\n
+\n
+jGraduate( options, okCallback, cancelCallback )\n
+\n
+where options is an object literal:\n
+\t{\n
+\t\twindow: { title: "Pick the start color and opacity for the gradient" },\n
+\t\timages: { clientPath: "images/" },\n
+\t\tpaint: a Paint object\n
+\t}\n
+ \n
+- the Paint object is:\n
+\tPaint {\n
+\t\ttype: String, // one of "none", "solidColor", "linearGradient", "radialGradient"\n
+\t\talpha: Number representing opacity (0-100),\n
+\t\tsolidColor: String representing #RRGGBB hex of color,\n
+\t\tlinearGradient: object of interface SVGLinearGradientElement,\n
+\t\tradialGradient: object of interface SVGRadialGradientElement,\n
+\t}\n
+\n
+$.jGraduate.Paint() -> constructs a \'none\' color\n
+$.jGraduate.Paint({copy: o}) -> creates a copy of the paint o\n
+$.jGraduate.Paint({hex: "#rrggbb"}) -> creates a solid color paint with hex = "#rrggbb"\n
+$.jGraduate.Paint({linearGradient: o, a: 50}) -> creates a linear gradient paint with opacity=0.5\n
+$.jGraduate.Paint({radialGradient: o, a: 7}) -> creates a radial gradient paint with opacity=0.07\n
+$.jGraduate.Paint({hex: "#rrggbb", linearGradient: o}) -> throws an exception?\n
+\n
+- picker accepts the following object as input:\n
+\t{\n
+\t\tokCallback: function to call when Ok is pressed\n
+\t\tcancelCallback: function to call when Cancel is pressed\n
+\t\tpaint: object describing the paint to display initially, if not set, then default to opaque white\n
+\t}\n
+\n
+- okCallback receives a Paint object\n
+\n
+ *\n
+ */\n
+ \n
+(function() {\n
+ \n
+var ns = { svg: \'http://www.w3.org/2000/svg\', xlink: \'http://www.w3.org/1999/xlink\' };\n
+if(!window.console) {\n
+  window.console = new function() {\n
+    this.log = function(str) {};\n
+    this.dir = function(str) {};\n
+  };\n
+}\n
+$.cloneNode = function(el) {\n
+\tif(!window.opera) return el.cloneNode(true);\n
+\t// manually create a copy of the element\n
+\topera.postError(ns.svg, el.nodeName);\n
+\tvar new_el = document.createElementNS(ns.svg, el.nodeName);\n
+\t$.each(el.attributes, function(i, attr) {\n
+\t\tnew_el.setAttributeNS(ns.svg, attr.nodeName, attr.nodeValue);\n
+\t});\n
+\t$.each(el.childNodes, function(i, child) {\n
+\t\tif(child.nodeType == 1) {\n
+\t\t\tnew_el.appendChild($.cloneNode(child));\n
+\t\t}\n
+\t});\n
+\treturn new_el;\n
+}\n
+\n
+$.jGraduate = { \n
+\tPaint:\n
+\t\tfunction(opt) {\n
+\t\t\tvar options = opt || {};\n
+\t\t\tthis.alpha = options.alpha || 100;\n
+\t\t\t// copy paint object\n
+    \t\tif (options.copy) {\n
+    \t\t\tthis.type = options.copy.type;\n
+    \t\t\tthis.alpha = options.copy.alpha;\n
+\t\t\t\tthis.solidColor = null;\n
+\t\t\t\tthis.linearGradient = null;\n
+\t\t\t\tthis.radialGradient = null;\n
+\n
+    \t\t\tswitch(this.type) {\n
+    \t\t\t\tcase "none":\n
+    \t\t\t\t\tbreak;\n
+    \t\t\t\tcase "solidColor":\n
+    \t\t\t\t\tthis.solidColor = options.copy.solidColor;\n
+    \t\t\t\t\tbreak;\n
+    \t\t\t\tcase "linearGradient":\n
+    \t\t\t\t\tthis.linearGradient = $.cloneNode(options.copy.linearGradient);\n
+    \t\t\t\t\tbreak;\n
+    \t\t\t\tcase "radialGradient":\n
+    \t\t\t\t\tthis.radialGradient = $.cloneNode(options.copy.radialGradient);\n
+    \t\t\t\t\tbreak;\n
+    \t\t\t}\n
+    \t\t}\n
+    \t\t// create linear gradient paint\n
+    \t\telse if (options.linearGradient) {\n
+    \t\t\tthis.type = "linearGradient";\n
+    \t\t\tthis.solidColor = null;\n
+    \t\t\tthis.radialGradient = null;\n
+    \t\t\tthis.linearGradient = $.cloneNode(options.linearGradient);\n
+    \t\t}\n
+    \t\t// create linear gradient paint\n
+    \t\telse if (options.radialGradient) {\n
+    \t\t\tthis.type = "radialGradient";\n
+    \t\t\tthis.solidColor = null;\n
+    \t\t\tthis.linearGradient = null;\n
+    \t\t\tthis.radialGradient = $.cloneNode(options.radialGradient);\n
+    \t\t}\n
+    \t\t// create solid color paint\n
+    \t\telse if (options.solidColor) {\n
+    \t\t\tthis.type = "solidColor";\n
+    \t\t\tthis.solidColor = options.solidColor;\n
+    \t\t}\n
+    \t\t// create empty paint\n
+\t    \telse {\n
+\t    \t\tthis.type = "none";\n
+    \t\t\tthis.solidColor = null;\n
+    \t\t\tthis.linearGradient = null;\n
+    \t\t\tthis.radialGradient = null;\n
+\t    \t}\n
+\t\t}\n
+};\n
+\n
+jQuery.fn.jGraduateDefaults = {\n
+\tpaint: new $.jGraduate.Paint(),\n
+\twindow: {\n
+\t\tpickerTitle: "Drag markers to pick a paint"\n
+\t},\n
+\timages: {\n
+\t\tclientPath: "images/"\n
+\t}\n
+};\n
+\n
+jQuery.fn.jGraduate =\n
+\tfunction(options) {\n
+\t \tvar $arguments = arguments;\n
+\t\treturn this.each( function() {\n
+\t\t\tvar $this = $(this), $settings = $.extend(true, {}, jQuery.fn.jGraduateDefaults, options),\n
+\t\t\t\tid = $this.attr(\'id\'),\n
+\t\t\t\tidref = \'#\'+$this.attr(\'id\')+\' \';\n
+\t\t\t\n
+            if (!idref)\n
+            {\n
+              alert(\'Container element must have an id attribute to maintain unique id strings for sub-elements.\');\n
+              return;\n
+            }\n
+            \n
+            var okClicked = function() {\n
+\t            // TODO: Fix this ugly hack\n
+\t            if($this.paint.type == "radialGradient") {\n
+\t            \t$this.paint.linearGradient = null;\n
+\t            } else if($this.paint.type == "linearGradient") {\n
+\t            \t$this.paint.radialGradient = null;\t            \n
+\t            } else if($this.paint.type == "solidColor") {\n
+\t            \t$this.paint.linearGradient = null;\n
+\t            \t$this.paint.radialGradient = null;\n
+\t            }\n
+            \t$.isFunction($this.okCallback) && $this.okCallback($this.paint);\n
+            \t$this.hide();\n
+            },\n
+            cancelClicked = function() {\n
+            \t$.isFunction($this.cancelCallback) && $this.cancelCallback();\n
+            \t$this.hide();\n
+            };\n
+\n
+            $.extend(true, $this, // public properties, methods, and callbacks\n
+              {\n
+              \t// make a copy of the incoming paint\n
+                paint: new $.jGraduate.Paint({copy: $settings.paint}),\n
+                okCallback: $.isFunction($arguments[1]) && $arguments[1] || null,\n
+                cancelCallback: $.isFunction($arguments[2]) && $arguments[2] || null\n
+              });\n
+\n
+\t\t\tvar pos = $this.position(),\n
+\t\t\t\tcolor = null;\n
+\n
+\t\t\tif ($this.paint.type == "none") {\n
+\t\t\t\t$this.paint = $.jGraduate.Paint({solidColor: \'ffffff\'});\n
+\t\t\t}\n
+\t\t\t\n
+            $this.addClass(\'jGraduate_Picker\');\n
+            $this.html(\'<ul class="jGraduate_tabs">\' +\n
+            \t\t\t\t\'<li class="jGraduate_tab_color jGraduate_tab_current" data-type="col">Solid Color</li>\' +\n
+            \t\t\t\t\'<li class="jGraduate_tab_lingrad" data-type="lg">Linear Gradient</li>\' +\n
+            \t\t\t\t\'<li class="jGraduate_tab_radgrad" data-type="rg">Radial Gradient</li>\' +\n
+            \t\t\t\'</ul>\' +\n
+            \t\t\t\'<div class="jGraduate_colPick"></div>\' +\n
+            \t\t\t\'<div class="jGraduate_lgPick"></div>\' +\n
+            \t\t\t\'<div class="jGraduate_rgPick"></div>\');\n
+\t\t\tvar colPicker = $(idref + \'> .jGraduate_colPick\');\n
+\t\t\tvar lgPicker = $(idref + \'> .jGraduate_lgPick\');\n
+\t\t\tvar rgPicker = $(idref + \'> .jGraduate_rgPick\');\n
+\t\t\t\n
+            lgPicker.html(\n
+            \t\'<div id="\' + id + \'_jGraduate_Swatch" class="jGraduate_Swatch">\' +\n
+            \t\t\'<h2 class="jGraduate_Title">\' + $settings.window.pickerTitle + \'</h2>\' +\n
+            \t\t\'<div id="\' + id + \'_lg_jGraduate_GradContainer" class="jGraduate_GradContainer"></div>\' +\n
+            \t\t\'<div id="\' + id + \'_lg_jGraduate_Opacity" class="jGraduate_Opacity" title="Click to set overall opacity of the gradient paint">\' +\n
+            \t\t\t\'<img id="\' + id + \'_lg_jGraduate_AlphaArrows" class="jGraduate_AlphaArrows" src="\' + $settings.images.clientPath + \'rangearrows2.gif"></img>\' +\n
+            \t\t\'</div>\' +\n
+            \t\'</div>\' + \n
+            \t\'<div class="jGraduate_Form">\' +\n
+            \t\t\'<div class="jGraduate_StopSection">\' +\n
+\t            \t\t\'<label class="jGraduate_Form_Heading">Begin Stop</label>\' +\n
+    \t        \t\t\'<div class="jGraduate_Form_Section">\' +\n
+        \t    \t\t\t\'<label>x:</label>\' +\n
+            \t\t\t\t\'<input type="text" id="\' + id + \'_jGraduate_x1" size="3" title="Enter starting x value between 0.0 and 1.0"/>\' +\n
+            \t\t\t\t\'<label> y:</label>\' +\n
+            \t\t\t\t\'<input type="text" id="\' + id + \'_jGraduate_y1" size="3" title="Enter starting y value between 0.0 and 1.0"/>\' +\n
+\t        \t    \t\t\'<div id="\' + id + \'_jGraduate_colorBoxBegin" class="colorBox"></div>\' +\n
+\t\t            \t\t\'<label id="\' + id + \'_jGraduate_beginOpacity"> 100%</label>\' +\n
+        \t   \t\t\t\'</div>\' +\n
+        \t   \t\t\'</div>\' +\n
+        \t   \t\t\'<div class="jGraduate_StopSection">\' +\n
+\t            \t\t\'<label class="jGraduate_Form_Heading">End Stop</label>\' +\n
+    \t        \t\t\'<div class="jGraduate_Form_Section">\' +\n
+\t    \t        \t\t\'<label>x:</label>\' +\n
+\t\t    \t        \t\'<input type="text" id="\' + id + \'_jGraduate_x2" size="3" title="Enter ending x value between 0.0 and 1.0"/>\' +\n
+    \t\t    \t    \t\'<label> y:</label>\' +\n
+        \t\t    \t\t\'<input type="text" id="\' + id + \'_jGraduate_y2" size="3" title="Enter ending y value between 0.0 and 1.0"/>\' +\n
+        \t    \t\t\t\'<div id="\' + id + \'_jGraduate_colorBoxEnd" class="colorBox"></div>\' +\n
+\t\t\t            \t\'<label id="\' + id + \'_jGraduate_endOpacity">100%</label>\' +\n
+    \t    \t    \t\'</div>\' +\n
+    \t    \t    \'</div>\' +\n
+    \t    \t    \'<div class="lg_jGraduate_OpacityField">\' +\n
+    \t    \t    \t\'<label class="lg_jGraduate_OpacityLabel">A: </label>\' +\n
+    \t    \t    \t\'<input type="text" id="\' + id + \'_lg_jGraduate_OpacityInput" class="jGraduate_OpacityInput" size="3" value="100"/>%\' +\n
+    \t    \t    \'</div>\' +\n
+    \t       \t\'</div>\' +\n
+        \t    \'<div class="jGraduate_OkCancel">\' +\n
+            \t\t\'<input type="button" id="\' + id + \'_lg_jGraduate_Ok" class="jGraduate_Ok" value="OK"/>\' +\n
+            \t\t\'<input type="button" id="\' + id + \'_lg_jGraduate_Cancel" class="jGraduate_Cancel" value="Cancel"/>\' +\n
+            \t\'</div>\' +\n
+            \t\'<div class="jGraduate_LightBox"></div>\' +\n
+            \t\'<div id="\' + id + \'_jGraduate_stopPicker" class="jGraduate_stopPicker"></div>\');\n
+            \t\n
+            rgPicker.html(\n
+            \t\'<div class="jGraduate_Swatch">\' +\n
+            \t\t\'<h2 class="jGraduate_Title">\' + $settings.window.pickerTitle + \'</h2>\' +\n
+            \t\t\'<div id="\' + id + \'_rg_jGraduate_GradContainer" class="jGraduate_GradContainer"></div>\' +\n
+            \t\t\'<div id="\' + id + \'_rg_jGraduate_Opacity" class="jGraduate_Opacity" title="Click to set overall opacity of the gradient paint">\' +\n
+            \t\t\t\'<img id="\' + id + \'_rg_jGraduate_AlphaArrows" class="jGraduate_AlphaArrows" src="\' + $settings.images.clientPath + \'rangearrows2.gif"></img>\' +\n
+            \t\t\'</div>\' +\n
+            \t\'</div>\' + \n
+\t\t\t\t\'<div id="jGraduate_radColors" class="jGraduate_StopSection">\' +\n
+\t\t\t\t\t\'<label class="jGraduate_Form_Heading">Colors</label>\' +\n
+\t\t\t\t\t\'<div class="jGraduate_Form_Section jGraduate_Colorblocks">\' +\n
+\t\t\t\t\t\t\'<div class="jGraduate_colorblock"><span>Center:</span>\' +\n
+\t\t\t\t\t\t\'<div id="\' + id + \'_jGraduate_colorBoxCenter" class="colorBox"></div>\' +\n
+\t\t\t\t\t\t\'<label id="\' + id + \'_rg_jGraduate_centerOpacity"> 100%</label></div>\' +\n
+\n
+\t\t\t\t\t\t\'<div class="jGraduate_colorblock"><span>Outer:</span>\' +\n
+\t\t\t\t\t\t\t\'<div id="\' + id + \'_jGraduate_colorBoxOuter" class="colorBox"></div>\' +\n
+\t\t\t\t\t\t\t\'<label id="\' + id + \'_jGraduate_outerOpacity"> 100%</label></div>\' +\n
+\t\t\t\t\t\'</div>\' +\n
+\t\t\t\t\'</div>\' +\n
+\t\t\t\t\'<div class="jGraduate_StopSection">\' +\n
+\t\t\t\t\'</div>\' +\n
+            \t\'<div class="jGraduate_Form">\' +\n
+        \t   \t\t\'<div class="jGraduate_StopSection">\' +\n
+\t            \t\t\'<label class="jGraduate_Form_Heading">Center Point</label>\' +\n
+    \t        \t\t\'<div class="jGraduate_Form_Section">\' +\n
+\t    \t        \t\t\'<label>x:</label>\' +\n
+\t\t    \t        \t\'<input type="text" id="\' + id + \'_jGraduate_cx" size="3" title="Enter x value between 0.0 and 1.0"/>\' +\n
+    \t\t    \t    \t\'<label> y:</label>\' +\n
+        \t\t    \t\t\'<input type="text" id="\' + id + \'_jGraduate_cy" size="3" title="Enter y value between 0.0 and 1.0"/>\' +\n
+    \t    \t    \t\'</div>\' +\n
+    \t    \t    \'</div>\' +\n
+        \t   \t\t\'<div class="jGraduate_StopSection">\' +\n
+\t            \t\t\'<label class="jGraduate_Form_Heading">Focal Point</label>\' +\n
+    \t        \t\t\'<div class="jGraduate_Form_Section">\' +\n
+\t    \t        \t\t\'<label>Match center: <input type="checkbox" checked="checked" id="\' + id + \'_jGraduate_match_ctr"/></label><br/>\' +\n
+\t    \t        \t\t\'<label>x:</label>\' +\n
+\t\t    \t        \t\'<input type="text" id="\' + id + \'_jGraduate_fx" size="3" title="Enter x value between 0.0 and 1.0"/>\' +\n
+    \t\t    \t    \t\'<label> y:</label>\' +\n
+        \t\t    \t\t\'<input type="text" id="\' + id + \'_jGraduate_fy" size="3" title="Enter y value between 0.0 and 1.0"/>\' +\n
+    \t    \t    \t\'</div>\' +\n
+    \t    \t    \'</div>\' +\n
+        \t   \t\t\'<div class="jGraduate_RadiusField">\' +\n
+\t            \t\t\'<label class="jGraduate_Form_Heading">Radius</label>\' +\n
+    \t        \t\t\'<div class="jGraduate_Form_Section">\' +\n
+\t\t\t\t\t\t\t\'<div id="\' + id + \'_jGraduate_RadiusContainer" class="jGraduate_RadiusContainer"></div>\' +\n
+\t\t\t\t\t\t\t\'<input type="text" id="\' + id + \'_jGraduate_RadiusInput" size="3" value="100"/>%\' +\n
+\t\t\t\t\t\t\t\'<div id="\' + id + \'_jGraduate_Radius" class="jGraduate_Radius" title="Click to set radius">\' +\n
+\t\t\t\t\t\t\t\t\'<img id="\' + id + \'_jGraduate_RadiusArrows" class="jGraduate_RadiusArrows" src="\' + $settings.images.clientPath + \'rangearrows2.gif"></img>\' +\n
+\t\t\t\t\t\t\t\'</div>\' +\n
+    \t    \t    \t\'</div>\' +\n
+    \t    \t    \'</div>\' +\n
+    \t       \t\'</div>\' +\n
+\t\t\t\t\'<div class="rg_jGraduate_OpacityField">\' +\n
+\t\t\t\t\t\'<label class="rg_jGraduate_OpacityLabel">A: </label>\' +\n
+\t\t\t\t\t\'<input type="text" id="\' + id + \'_rg_jGraduate_OpacityInput" class="jGraduate_OpacityInput" size="3" value="100"/>%\' +\n
+\t\t\t\t\'</div>\' +\n
+        \t    \'<div class="jGraduate_OkCancel">\' +\n
+            \t\t\'<input type="button" id="\' + id + \'_rg_jGraduate_Ok" class="jGraduate_Ok" value="OK"/>\' +\n
+            \t\t\'<input type="button" id="\' + id + \'_rg_jGraduate_Cancel" class="jGraduate_Cancel" value="Cancel"/>\' +\n
+            \t\'</div>\' +\n
+            \t\'<div class="jGraduate_LightBox"></div>\' +\n
+            \t\'<div id="\' + id + \'_rg_jGraduate_stopPicker" class="jGraduate_stopPicker"></div>\');\n
+\t\t\t\n
+\t\t\t// --------------\n
+            // Set up all the SVG elements (the gradient, stops and rectangle)\n
+            var MAX = 256, MARGINX = 0, MARGINY = 0, STOP_RADIUS = 15/2,\n
+            \tSIZEX = MAX - 2*MARGINX, SIZEY = MAX - 2*MARGINY;\n
+            \t\n
+            $.each([\'lg\', \'rg\'], function(i) {\n
+            \tvar grad_id = id + \'_\' + this;\n
+\t\t\t\tvar container = document.getElementById(grad_id+\'_jGraduate_GradContainer\');\n
+\t\t\t\tvar svg = container.appendChild(document.createElementNS(ns.svg, \'svg\'));\n
+\t\t\t\tsvg.id = grad_id + \'_jgraduate_svg\';            \n
+\t\t\t\tsvg.setAttribute(\'width\', MAX);\n
+\t\t\t\tsvg.setAttribute(\'height\', MAX);\n
+\t\t\t\tsvg.setAttribute("xmlns", ns.svg);\n
+            });\n
+\t\t\t\n
+\t\t\t\n
+\t\t\t// Linear gradient\n
+\t\t\t(function() {\n
+\t\t\t\tvar svg = document.getElementById(id + \'_lg_jgraduate_svg\');\n
+\t\t\t\t\n
+\t\t\t\t// if we are sent a gradient, import it \n
+\t\t\t\tif ($this.paint.type == "linearGradient") {\n
+\t\t\t\t\t$this.paint.linearGradient.id = id+\'_jgraduate_grad\';\n
+\t\t\t\t\t$this.paint.linearGradient = svg.appendChild($.cloneNode($this.paint.linearGradient));\n
+\t\t\t\t} else { // we create a gradient\n
+\t\t\t\t\tvar grad = svg.appendChild(document.createElementNS(ns.svg, \'linearGradient\'));\n
+\t\t\t\t\tgrad.id = id+\'_jgraduate_grad\';\n
+\t\t\t\t\tgrad.setAttribute(\'x1\',\'0.0\');\n
+\t\t\t\t\tgrad.setAttribute(\'y1\',\'0.0\');\n
+\t\t\t\t\tgrad.setAttribute(\'x2\',\'1.0\');\n
+\t\t\t\t\tgrad.setAttribute(\'y2\',\'1.0\');\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar begin = grad.appendChild(document.createElementNS(ns.svg, \'stop\'));\n
+\t\t\t\t\tbegin.setAttribute(\'offset\', \'0.0\');\n
+\t\t\t\t\tbegin.setAttribute(\'stop-color\', \'#ff0000\');\n
+\t\n
+\t\t\t\t\tvar end = grad.appendChild(document.createElementNS(ns.svg, \'stop\'));\n
+\t\t\t\t\tend.setAttribute(\'offset\', \'1.0\');\n
+\t\t\t\t\tend.setAttribute(\'stop-color\', \'#ffff00\');\n
+\t\t\t\t\n
+\t\t\t\t\t$this.paint.linearGradient = grad;\n
+\t\t\t\t}\n
+\t\n
+\t\t\t\tvar gradalpha = $this.paint.alpha;\n
+\t\t\t\t$(\'#\' + id + \'_lg_jGraduate_OpacityInput\').val(gradalpha);\n
+\t\t\t\tvar posx = parseInt(255*(gradalpha/100)) - 4.5;\n
+\t\t\t\t$(\'#\' + id + \'_lg_jGraduate_AlphaArrows\').css({\'margin-left\':posx});\n
+\t\t\t\t\n
+\t\t\t\tvar x1 = parseFloat($this.paint.linearGradient.getAttribute(\'x1\')||0.0),\n
+\t\t\t\t\ty1 = parseFloat($this.paint.linearGradient.getAttribute(\'y1\')||0.0),\n
+\t\t\t\t\tx2 = parseFloat($this.paint.linearGradient.getAttribute(\'x2\')||1.0),\n
+\t\t\t\t\ty2 = parseFloat($this.paint.linearGradient.getAttribute(\'y2\')||0.0);\n
+\t\t\t\t\n
+\t\t\t\tvar rect = document.createElementNS(ns.svg, \'rect\');\n
+\t\t\t\trect.id = id + \'_lg_jgraduate_rect\';\n
+\t\t\t\trect.setAttribute(\'x\', MARGINX);\n
+\t\t\t\trect.setAttribute(\'y\', MARGINY);\n
+\t\t\t\trect.setAttribute(\'width\', SIZEY);\n
+\t\t\t\trect.setAttribute(\'height\', SIZEY);\n
+\t\t\t\trect.setAttribute(\'fill\', \'url(#\'+id+\'_jgraduate_grad)\');\n
+\t\t\t\trect.setAttribute(\'fill-opacity\', \'1.0\');\n
+\t\t\t\trect = svg.appendChild(rect);\n
+\t\t\t\t$(\'#\' + id + \'_lg_jgraduate_rect\').attr(\'fill-opacity\', gradalpha/100);\n
+\t\t\t\t\n
+\t\t\t\t// stop visuals created here\n
+\t\t\t\tvar beginStop = document.createElementNS(ns.svg, \'image\');\n
+\t\t\t\tbeginStop.id = id + "_stop1";\n
+\t\t\t\tbeginStop.setAttribute(\'class\', \'stop\');\n
+\t\t\t\tbeginStop.setAttributeNS(ns.xlink, \'href\', $settings.images.clientPath + \'mappoint.gif\');\n
+\t\t\t\tbeginStop.setAttributeNS(ns.xlink, "title", "Begin Stop");\n
+\t\t\t\tbeginStop.appendChild(document.createElementNS(ns.svg, \'title\')).appendChild(\n
+\t\t\t\t\tdocument.createTextNode("Begin Stop"));\n
+\t\t\t\tbeginStop.setAttribute(\'width\', 18);\n
+\t\t\t\tbeginStop.setAttribute(\'height\', 18);\n
+\t\t\t\tbeginStop.setAttribute(\'x\', MARGINX + SIZEX*x1 - STOP_RADIUS);\n
+\t\t\t\tbeginStop.setAttribute(\'y\', MARGINY + SIZEY*y1 - STOP_RADIUS);\n
+\t\t\t\tbeginStop.setAttribute(\'cursor\', \'move\');\n
+\t\t\t\t// must append only after setting all attributes due to Webkit Bug 27952\n
+\t\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=27592\n
+\t\t\t\tbeginStop = svg.appendChild(beginStop);\n
+\t\t\t\t\n
+\t\t\t\tvar endStop = document.createElementNS(ns.svg, \'image\');\n
+\t\t\t\tendStop.id = id + "_stop2";\n
+\t\t\t\tendStop.setAttribute(\'class\', \'stop\');\n
+\t\t\t\tendStop.setAttributeNS(ns.xlink, \'href\', $settings.images.clientPath + \'mappoint.gif\');\n
+\t\t\t\tendStop.setAttributeNS(ns.xlink, "title", "End Stop");\n
+\t\t\t\tendStop.appendChild(document.createElementNS(ns.svg, \'title\')).appendChild(\n
+\t\t\t\t\tdocument.createTextNode("End Stop"));\n
+\t\t\t\tendStop.setAttribute(\'width\', 18);\n
+\t\t\t\tendStop.setAttribute(\'height\', 18);\n
+\t\t\t\tendStop.setAttribute(\'x\', MARGINX + SIZEX*x2 - STOP_RADIUS);\n
+\t\t\t\tendStop.setAttribute(\'y\', MARGINY + SIZEY*y2 - STOP_RADIUS);\n
+\t\t\t\tendStop.setAttribute(\'cursor\', \'move\');\n
+\t\t\t\tendStop = svg.appendChild(endStop);\n
+\t\t\t\t\n
+\t\t\t\t// bind GUI elements\n
+\t\t\t\t$(\'#\'+id+\'_lg_jGraduate_Ok\').bind(\'click\', function() {\n
+\t\t\t\t\t$this.paint.type = "linearGradient";\n
+\t\t\t\t\t$this.paint.solidColor = null;\n
+\t\t\t\t\tokClicked();\n
+\t\t\t\t});\n
+\t\t\t\t$(\'#\'+id+\'_lg_jGraduate_Cancel\').bind(\'click\', function(paint) {\n
+\t\t\t\t\tcancelClicked();\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar x1 = $this.paint.linearGradient.getAttribute(\'x1\');\n
+\t\t\t\tif(!x1) x1 = "0.0";\n
+\t\t\t\tvar x1Input = $(\'#\'+id+\'_jGraduate_x1\');\n
+\t\t\t\tx1Input.val(x1);\n
+\t\t\t\tx1Input.change( function() {\n
+\t\t\t\t\tif (isNaN(parseFloat(this.value)) || this.value < 0.0 || this.value > 1.0) { \n
+\t\t\t\t\t\tthis.value = 0.0; \n
+\t\t\t\t\t}\n
+\t\t\t\t\t$this.paint.linearGradient.setAttribute(\'x1\', this.value);\n
+\t\t\t\t\tbeginStop.setAttribute(\'x\', MARGINX + SIZEX*this.value - STOP_RADIUS);\n
+\t\t\t\t});\n
+\t\n
+\t\t\t\tvar y1 = $this.paint.linearGradient.getAttribute(\'y1\');\n
+\t\t\t\tif(!y1) y1 = "0.0";\n
+\t\t\t\tvar y1Input = $(\'#\'+id+\'_jGraduate_y1\');\n
+\t\t\t\ty1Input.val(y1);\n
+\t\t\t\ty1Input.change( function() {\n
+\t\t\t\t\tif (isNaN(parseFloat(this.value)) || this.value < 0.0 || this.value > 1.0) { \n
+\t\t\t\t\t\tthis.value = 0.0; \n
+\t\t\t\t\t}\n
+\t\t\t\t\t$this.paint.linearGradient.setAttribute(\'y1\', this.value);\n
+\t\t\t\t\tbeginStop.setAttribute(\'y\', MARGINY + SIZEY*this.value - STOP_RADIUS);\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar x2 = $this.paint.linearGradient.getAttribute(\'x2\');\n
+\t\t\t\tif(!x2) x2 = "1.0";\n
+\t\t\t\tvar x2Input = $(\'#\'+id+\'_jGraduate_x2\');\n
+\t\t\t\tx2Input.val(x2);\n
+\t\t\t\tx2Input.change( function() {\n
+\t\t\t\t\tif (isNaN(parseFloat(this.value)) || this.value < 0.0 || this.value > 1.0) { \n
+\t\t\t\t\t\tthis.value = 1.0;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t$this.paint.linearGradient.setAttribute(\'x2\', this.value);\n
+\t\t\t\t\tendStop.setAttribute(\'x\', MARGINX + SIZEX*this.value - STOP_RADIUS);\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar y2 = $this.paint.linearGradient.getAttribute(\'y2\');\n
+\t\t\t\tif(!y2) y2 = "0.0";\n
+\t\t\t\ty2Input = $(\'#\'+id+\'_jGraduate_y2\');\n
+\t\t\t\ty2Input.val(y2);\n
+\t\t\t\ty2Input.change( function() {\n
+\t\t\t\t\tif (isNaN(parseFloat(this.value)) || this.value < 0.0 || this.value > 1.0) { \n
+\t\t\t\t\t\tthis.value = 0.0;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t$this.paint.linearGradient.setAttribute(\'y2\', this.value);\n
+\t\t\t\t\tendStop.setAttribute(\'y\', MARGINY + SIZEY*this.value - STOP_RADIUS);\n
+\t\t\t\t});            \n
+\t\t\t\t\n
+\t\t\t\tvar stops = $this.paint.linearGradient.getElementsByTagNameNS(ns.svg, \'stop\');\n
+\t\t\t\tvar numstops = stops.length;\n
+\t\t\t\t// if there are not at least two stops, then \n
+\t\t\t\tif (numstops < 2) {\n
+\t\t\t\t\twhile (numstops < 2) {\n
+\t\t\t\t\t\t$this.paint.linearGradient.appendChild( document.createElementNS(ns.svg, \'stop\') );\n
+\t\t\t\t\t\t++numstops;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tstops = $this.paint.linearGradient.getElementsByTagNameNS(ns.svg, \'stop\');\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar setLgOpacitySlider = function(e, div) {\n
+\t\t\t\t\tvar offset = div.offset();\n
+\t\t\t\t\tvar x = (e.pageX - offset.left - parseInt(div.css(\'border-left-width\')));\n
+\t\t\t\t\tif (x > 255) x = 255;\n
+\t\t\t\t\tif (x < 0) x = 0;\n
+\t\t\t\t\tvar posx = x - 4.5;\n
+\t\t\t\t\tx /= 255;\n
+\t\t\t\t\t$(\'#\' + id + \'_lg_jGraduate_AlphaArrows\').css({\'margin-left\':posx});\n
+\t\t\t\t\t$(\'#\' + id + \'_lg_jgraduate_rect\').attr(\'fill-opacity\', x);\n
+\t\t\t\t\tx = parseInt(x*100);\n
+\t\t\t\t\t$(\'#\' + id + \'_lg_jGraduate_OpacityInput\').val(x);\n
+\t\t\t\t\t$this.paint.alpha = x;\n
+\t\t\t\t};\n
+\t\t\t\t\n
+\t\t\t\t// handle dragging on the opacity slider\n
+\t\t\t\tvar bSlidingOpacity = false;\n
+\t\t\t\t$(\'#\' + id + \'_lg_jGraduate_Opacity\').mousedown(function(evt) {\n
+\t\t\t\t\tsetLgOpacitySlider(evt, $(this));\n
+\t\t\t\t\tbSlidingOpacity = true;\n
+\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t}).mousemove(function(evt) {\n
+\t\t\t\t\tif (bSlidingOpacity) {\n
+\t\t\t\t\t\tsetLgOpacitySlider(evt, $(this));\n
+\t\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t\t}\n
+\t\t\t\t}).mouseup(function(evt) {\n
+\t\t\t\t\tsetLgOpacitySlider(evt, $(this));\n
+\t\t\t\t\tbSlidingOpacity = false;\n
+\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\t// handle dragging the stop around the swatch\n
+\t\t\t\tvar draggingStop = null;\n
+\t\t\t\tvar startx = -1, starty = -1;\n
+\t\t\t\t// for whatever reason, Opera does not allow $(\'image.stop\') here,\n
+\t\t\t\t// and Firefox 1.5 does not allow $(\'.stop\')\n
+\t\t\t\t$(\'.stop, #color_picker_lg_jGraduate_GradContainer image\').mousedown(function(evt) {\n
+\t\t\t\t\tdraggingStop = this;\n
+\t\t\t\t\tstartx = evt.clientX;\n
+\t\t\t\t\tstarty = evt.clientY;\n
+\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t});\n
+\t\t\t\t$(\'#\'+id+\'_lg_jgraduate_svg\').mousemove(function(evt) {\n
+\t\t\t\t\tif (null != draggingStop) {\n
+\t\t\t\t\t\tvar dx = evt.clientX - startx;\n
+\t\t\t\t\t\tvar dy = evt.clientY - starty;\n
+\t\t\t\t\t\tstartx += dx;\n
+\t\t\t\t\t\tstarty += dy;\n
+\t\t\t\t\t\tvar x = parseFloat(draggingStop.getAttribute(\'x\')) + dx;\n
+\t\t\t\t\t\tvar y = parseFloat(draggingStop.getAttribute(\'y\')) + dy;\n
+\t\n
+\t\t\t\t\t\t// clamp stop to the swatch\n
+\t\t\t\t\t\tif (x < MARGINX - STOP_RADIUS) x = MARGINX - STOP_RADIUS;\n
+\t\t\t\t\t\tif (y < MARGINY - STOP_RADIUS) y = MARGINY - STOP_RADIUS;\n
+\t\t\t\t\t\tif (x > MARGINX + SIZEX - STOP_RADIUS) x = MARGINX + SIZEX - STOP_RADIUS;\n
+\t\t\t\t\t\tif (y > MARGINY + SIZEY - STOP_RADIUS) y = MARGINY + SIZEY - STOP_RADIUS;\n
+\t\t\t\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\tdraggingStop.setAttribute(\'x\', x);\n
+\t\t\t\t\t\tdraggingStop.setAttribute(\'y\', y);\n
+\t\n
+\t\t\t\t\t\t// calculate stop offset            \t\t\n
+\t\t\t\t\t\tvar fracx = (x - MARGINX + STOP_RADIUS)/SIZEX;\n
+\t\t\t\t\t\tvar fracy = (y - MARGINY + STOP_RADIUS)/SIZEY;\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tif (draggingStop.id == (id+\'_stop1\')) {\n
+\t\t\t\t\t\t\tx1Input.val(fracx);\n
+\t\t\t\t\t\t\ty1Input.val(fracy);\n
+\t\t\t\t\t\t\t$this.paint.linearGradient.setAttribute(\'x1\', fracx);\n
+\t\t\t\t\t\t\t$this.paint.linearGradient.setAttribute(\'y1\', fracy);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\telse {\n
+\t\t\t\t\t\t\tx2Input.val(fracx);\n
+\t\t\t\t\t\t\ty2Input.val(fracy);\n
+\t\t\t\t\t\t\t$this.paint.linearGradient.setAttribute(\'x2\', fracx);\n
+\t\t\t\t\t\t\t$this.paint.linearGradient.setAttribute(\'y2\', fracy);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t$(\'#\'+id+\'_lg_jgraduate_svg\').mouseup(function(evt) {\n
+\t\t\t\t\tdraggingStop = null;\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar beginColor = stops[0].getAttribute(\'stop-color\');\n
+\t\t\t\tif(!beginColor) beginColor = \'#000\';\n
+\t\t\t\tbeginColorBox = $(\'#\'+id+\'_jGraduate_colorBoxBegin\');\n
+\t\t\t\tbeginColorBox.css({\'background-color\':beginColor});\n
+\t\n
+\t\t\t\tvar beginOpacity = stops[0].getAttribute(\'stop-opacity\');\n
+\t\t\t\tif(!beginOpacity) beginOpacity = \'1.0\';\n
+\t\t\t\t$(\'#\'+id+\'lg_jGraduate_beginOpacity\').html( (beginOpacity*100)+\'%\' );\n
+\t\n
+\t\t\t\tvar endColor = stops[stops.length-1].getAttribute(\'stop-color\');\n
+\t\t\t\tif(!endColor) endColor = \'#000\';\n
+\t\t\t\tendColorBox = $(\'#\'+id+\'_jGraduate_colorBoxEnd\');\n
+\t\t\t\tendColorBox.css({\'background-color\':endColor});\n
+\t\n
+\t\t\t\tvar endOpacity = stops[stops.length-1].getAttribute(\'stop-opacity\');\n
+\t\t\t\tif(!endOpacity) endOpacity = \'1.0\';\n
+\t\t\t\t$(\'#\'+id+\'jGraduate_endOpacity\').html( (endOpacity*100)+\'%\' );\n
+\t\t\t\t\n
+\t\t\t\t$(\'#\'+id+\'_jGraduate_colorBoxBegin\').click(function() {\n
+\t\t\t\t\t$(\'div.jGraduate_LightBox\').show();\t\t\t\n
+\t\t\t\t\tvar colorbox = $(this);\n
+\t\t\t\t\tvar thisAlpha = (parseFloat(beginOpacity)*255).toString(16);\n
+\t\t\t\t\twhile (thisAlpha.length < 2) { thisAlpha = "0" + thisAlpha; }\n
+\t\t\t\t\tcolor = beginColor.substr(1) + thisAlpha;\n
+\t\t\t\t\t$(\'#\'+id+\'_jGraduate_stopPicker\').css({\'left\': 100, \'bottom\': 15}).jPicker({\n
+\t\t\t\t\t\t\twindow: { title: "Pick the start color and opacity for the gradient" },\n
+\t\t\t\t\t\t\timages: { clientPath: $settings.images.clientPath },\n
+\t\t\t\t\t\t\tcolor: { active: color, alphaSupport: true }\n
+\t\t\t\t\t\t}, function(color){\n
+\t\t\t\t\t\t\tbeginColor = color.get_Hex() ? (\'#\'+color.get_Hex()) : "none";\n
+\t\t\t\t\t\t\tbeginOpacity = color.get_A() ? color.get_A()/100 : 1;\n
+\t\t\t\t\t\t\tcolorbox.css(\'background\', beginColor);\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_jGraduate_beginOpacity\').html(parseInt(beginOpacity*100)+\'%\');\n
+\t\t\t\t\t\t\tstops[0].setAttribute(\'stop-color\', beginColor);\n
+\t\t\t\t\t\t\tstops[0].setAttribute(\'stop-opacity\', beginOpacity);\n
+\t\t\t\t\t\t\t$(\'div.jGraduate_LightBox\').hide();\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_jGraduate_stopPicker\').hide();\n
+\t\t\t\t\t\t}, null, function() {\n
+\t\t\t\t\t\t\t$(\'div.jGraduate_LightBox\').hide();\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_jGraduate_stopPicker\').hide();\n
+\t\t\t\t\t\t});\n
+\t\t\t\t});\n
+\t\t\t\t$(\'#\'+id+\'_jGraduate_colorBoxEnd\').click(function() {\n
+\t\t\t\t\t$(\'div.jGraduate_LightBox\').show();\n
+\t\t\t\t\tvar colorbox = $(this);\n
+\t\t\t\t\tvar thisAlpha = (parseFloat(endOpacity)*255).toString(16);\n
+\t\t\t\t\twhile (thisAlpha.length < 2) { thisAlpha = "0" + thisAlpha; }\n
+\t\t\t\t\tcolor = endColor.substr(1) + thisAlpha;\n
+\t\t\t\t\t$(\'#\'+id+\'_jGraduate_stopPicker\').css({\'left\': 100, \'top\': 15}).jPicker({\n
+\t\t\t\t\t\t\twindow: { title: "Pick the end color and opacity for the gradient" },\n
+\t\t\t\t\t\t\timages: { clientPath: $settings.images.clientPath },\n
+\t\t\t\t\t\t\tcolor: { active: color, alphaSupport: true }\n
+\t\t\t\t\t\t}, function(color){\n
+\t\t\t\t\t\t\tendColor = color.get_Hex() ? (\'#\'+color.get_Hex()) : "none";\n
+\t\t\t\t\t\t\tendOpacity = color.get_A() ? color.get_A()/100 : 1;\n
+\t\t\t\t\t\t\tcolorbox.css(\'background\', endColor);\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_jGraduate_endOpacity\').html(parseInt(endOpacity*100)+\'%\');\n
+\t\t\t\t\t\t\tstops[1].setAttribute(\'stop-color\', endColor);\n
+\t\t\t\t\t\t\tstops[1].setAttribute(\'stop-opacity\', endOpacity);\n
+\t\t\t\t\t\t\t$(\'div.jGraduate_LightBox\').hide();\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_jGraduate_stopPicker\').hide();\n
+\t\t\t\t\t\t}, null, function() {\n
+\t\t\t\t\t\t\t$(\'div.jGraduate_LightBox\').hide();\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_jGraduate_stopPicker\').hide();\n
+\t\t\t\t\t\t});\n
+\t\t\t\t});            \n
+\t\t\t\t\n
+\t\t\t\t// --------------\n
+\t\t\t\tvar thisAlpha = ($this.paint.alpha*255/100).toString(16);\n
+\t\t\t\twhile (thisAlpha.length < 2) { thisAlpha = "0" + thisAlpha; }\n
+\t\t\t\tcolor = $this.paint.solidColor == "none" ? "" : $this.paint.solidColor + thisAlpha;\n
+\t\t\t\tcolPicker.jPicker(\n
+\t\t\t\t\t{\n
+\t\t\t\t\t\twindow: { title: $settings.window.pickerTitle },\n
+\t\t\t\t\t\timages: { clientPath: $settings.images.clientPath },\n
+\t\t\t\t\t\tcolor: { active: color, alphaSupport: true }\n
+\t\t\t\t\t},\n
+\t\t\t\t\tfunction(color) {\n
+\t\t\t\t\t\t$this.paint.type = "solidColor";\n
+\t\t\t\t\t\t$this.paint.alpha = color.get_A() ? color.get_A() : 100;\n
+\t\t\t\t\t\t$this.paint.solidColor = color.get_Hex() ? color.get_Hex() : "none";\n
+\t\t\t\t\t\t$this.paint.linearGradient = null;\n
+\t\t\t\t\t\tokClicked(); \n
+\t\t\t\t\t},\n
+\t\t\t\t\tnull,\n
+\t\t\t\t\tfunction(){ cancelClicked(); }\n
+\t\t\t\t\t);\n
+\t\t\t}());\t\n
+\t\t\t\n
+\t\t\t\n
+\t\t\t// Radial gradient\n
+\t\t\t(function() {\n
+\t\t\t\tvar svg = document.getElementById(id + \'_rg_jgraduate_svg\');\n
+\t\t\t\t\n
+\t\t\t\t// if we are sent a gradient, import it \n
+\t\t\t\tif ($this.paint.type == "radialGradient") {\n
+\t\t\t\t\t$this.paint.radialGradient.id = id+\'_rg_jgraduate_grad\';\n
+\t\t\t\t\t$this.paint.radialGradient = svg.appendChild($.cloneNode($this.paint.radialGradient));\n
+\t\t\t\t} else { // we create a gradient\n
+\t\t\t\t\tvar grad = svg.appendChild(document.createElementNS(ns.svg, \'radialGradient\'));\n
+\t\t\t\t\tgrad.id = id+\'_rg_jgraduate_grad\';\n
+\t\t\t\t\tgrad.setAttribute(\'cx\',\'0.5\');\n
+\t\t\t\t\tgrad.setAttribute(\'cy\',\'0.5\');\n
+\t\t\t\t\tgrad.setAttribute(\'r\',\'0.5\');\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar begin = grad.appendChild(document.createElementNS(ns.svg, \'stop\'));\n
+\t\t\t\t\tbegin.setAttribute(\'offset\', \'0.0\');\n
+\t\t\t\t\tbegin.setAttribute(\'stop-color\', \'#ff0000\');\n
+\t\n
+\t\t\t\t\tvar end = grad.appendChild(document.createElementNS(ns.svg, \'stop\'));\n
+\t\t\t\t\tend.setAttribute(\'offset\', \'1.0\');\n
+\t\t\t\t\tend.setAttribute(\'stop-color\', \'#ffff00\');\n
+\t\t\t\t\n
+\t\t\t\t\t$this.paint.radialGradient = grad;\n
+\t\t\t\t}\n
+\t\n
+\t\t\t\tvar gradalpha = $this.paint.alpha;\n
+\t\t\t\t$(\'#\' + id + \'_rg_jGraduate_OpacityInput\').val(gradalpha);\n
+\t\t\t\tvar posx = parseInt(255*(gradalpha/100)) - 4.5;\n
+\t\t\t\t$(\'#\' + id + \'_rg_jGraduate_AlphaArrows\').css({\'margin-left\':posx});\n
+\t\t\t\t\n
+\t\t\t\tvar grad = $this.paint.radialGradient;\n
+\t\t\t\t\n
+\t\t\t\tvar cx = parseFloat(grad.getAttribute(\'cx\')||0.5),\n
+\t\t\t\t\tcy = parseFloat(grad.getAttribute(\'cy\')||0.5),\n
+\t\t\t\t\tfx = parseFloat(grad.getAttribute(\'fx\')||0.5),\n
+\t\t\t\t\tfy = parseFloat(grad.getAttribute(\'fy\')||0.5);\n
+\t\t\t\t\n
+\t\t\t\t// No match, so show focus point\n
+\t\t\t\tvar showFocus = grad.getAttribute(\'fx\') != null && !(cx == fx && cy == fy);\n
+\t\t\t\t\n
+\t\t\t\tvar rect = document.createElementNS(ns.svg, \'rect\');\n
+\t\t\t\trect.id = id + \'_rg_jgraduate_rect\';\n
+\t\t\t\trect.setAttribute(\'x\', MARGINX);\n
+\t\t\t\trect.setAttribute(\'y\', MARGINY);\n
+\t\t\t\trect.setAttribute(\'width\', SIZEY);\n
+\t\t\t\trect.setAttribute(\'height\', SIZEY);\n
+\t\t\t\trect.setAttribute(\'fill\', \'url(#\'+id+\'_rg_jgraduate_grad)\');\n
+\t\t\t\trect.setAttribute(\'fill-opacity\', \'1.0\');\n
+\n
+\t\t\t\trect = svg.appendChild(rect);\n
+\t\t\t\t\n
+\t\t\t\t$(\'#\' + id + \'_rg_jgraduate_rect\').attr(\'fill-opacity\', gradalpha/100);\n
+\n
+\t\t\t\t// stop visuals created here\n
+\t\t\t\tvar centerPoint = document.createElementNS(ns.svg, \'image\');\n
+\t\t\t\tcenterPoint.id = id + "_center_pt";\n
+\t\t\t\tcenterPoint.setAttribute(\'class\', \'stop\');\n
+\t\t\t\tcenterPoint.setAttributeNS(ns.xlink, \'href\', $settings.images.clientPath + \'mappoint_c.png\');\n
+\t\t\t\tcenterPoint.setAttributeNS(ns.xlink, "title", "Center Point");\n
+\t\t\t\tcenterPoint.appendChild(document.createElementNS(ns.svg, \'title\')).appendChild(\n
+\t\t\t\t\tdocument.createTextNode("Center Point"));\n
+\t\t\t\tcenterPoint.setAttribute(\'width\', 18);\n
+\t\t\t\tcenterPoint.setAttribute(\'height\', 18);\n
+\t\t\t\tcenterPoint.setAttribute(\'x\', MARGINX + SIZEX*cx - STOP_RADIUS);\n
+\t\t\t\tcenterPoint.setAttribute(\'y\', MARGINY + SIZEY*cy - STOP_RADIUS);\n
+\t\t\t\tcenterPoint.setAttribute(\'cursor\', \'move\');\n
+\n
+\t\t\t\t\n
+\t\t\t\tvar focusPoint = document.createElementNS(ns.svg, \'image\');\n
+\t\t\t\tfocusPoint.id = id + "_focus_pt";\n
+\t\t\t\tfocusPoint.setAttribute(\'class\', \'stop\');\n
+\t\t\t\tfocusPoint.setAttributeNS(ns.xlink, \'href\', $settings.images.clientPath + \'mappoint_f.png\');\n
+\t\t\t\tfocusPoint.setAttributeNS(ns.xlink, "title", "Focus Point");\n
+\t\t\t\tfocusPoint.appendChild(document.createElementNS(ns.svg, \'title\')).appendChild(\n
+\t\t\t\t\tdocument.createTextNode("Focus Point"));\n
+\t\t\t\tfocusPoint.setAttribute(\'width\', 18);\n
+\t\t\t\tfocusPoint.setAttribute(\'height\', 18);\n
+\t\t\t\tfocusPoint.setAttribute(\'x\', MARGINX + SIZEX*fx - STOP_RADIUS);\n
+\t\t\t\tfocusPoint.setAttribute(\'y\', MARGINY + SIZEY*fy - STOP_RADIUS);\n
+\t\t\t\tfocusPoint.setAttribute(\'cursor\', \'move\');\n
+\t\t\t\t\n
+\t\t\t\t// must append only after setting all attributes due to Webkit Bug 27952\n
+\t\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=27592\n
+\t\t\t\t\n
+\t\t\t\t// centerPoint is added last so it is moved first\n
+\t\t\t\tfocusPoint = svg.appendChild(focusPoint);\n
+\t\t\t\tcenterPoint = svg.appendChild(centerPoint);\n
+\t\t\t\t\n
+\t\t\t\t// bind GUI elements\n
+\t\t\t\t$(\'#\'+id+\'_rg_jGraduate_Ok\').bind(\'click\', function() {\n
+\t\t\t\t\t$this.paint.type = "radialGradient";\n
+\t\t\t\t\t$this.paint.solidColor = null;\n
+\t\t\t\t\tokClicked();\n
+\t\t\t\t});\n
+\t\t\t\t$(\'#\'+id+\'_rg_jGraduate_Cancel\').bind(\'click\', function(paint) {\n
+\t\t\t\t\tcancelClicked();\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar cx = $this.paint.radialGradient.getAttribute(\'cx\');\n
+\t\t\t\tif(!cx) cx = "0.0";\n
+\t\t\t\tvar cxInput = $(\'#\'+id+\'_jGraduate_cx\');\n
+\t\t\t\tcxInput.val(cx);\n
+\t\t\t\tcxInput.change( function() {\n
+\t\t\t\t\tif (isNaN(parseFloat(this.value)) || this.value < 0.0 || this.value > 1.0) { \n
+\t\t\t\t\t\tthis.value = 0.0; \n
+\t\t\t\t\t}\n
+\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'cx\', this.value);\n
+\t\t\t\t\tcenterPoint.setAttribute(\'x\', MARGINX + SIZEX*this.value - STOP_RADIUS);\n
+\t\t\t\t});\n
+\t\n
+\t\t\t\tvar cy = $this.paint.radialGradient.getAttribute(\'cy\');\n
+\t\t\t\tif(!cy) cy = "0.0";\n
+\t\t\t\tvar cyInput = $(\'#\'+id+\'_jGraduate_cy\');\n
+\t\t\t\tcyInput.val(cy);\n
+\t\t\t\tcyInput.change( function() {\n
+\t\t\t\t\tif (isNaN(parseFloat(this.value)) || this.value < 0.0 || this.value > 1.0) { \n
+\t\t\t\t\t\tthis.value = 0.0; \n
+\t\t\t\t\t}\n
+\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'cy\', this.value);\n
+\t\t\t\t\tcenterPoint.setAttribute(\'y\', MARGINY + SIZEY*this.value - STOP_RADIUS);\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar fx = $this.paint.radialGradient.getAttribute(\'fx\');\n
+\t\t\t\tif(!fx) fx = "1.0";\n
+\t\t\t\tvar fxInput = $(\'#\'+id+\'_jGraduate_fx\');\n
+\t\t\t\tfxInput.val(fx);\n
+\t\t\t\tfxInput.change( function() {\n
+\t\t\t\t\tif (isNaN(parseFloat(this.value)) || this.value < 0.0 || this.value > 1.0) { \n
+\t\t\t\t\t\tthis.value = 1.0;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'fx\', this.value);\n
+\t\t\t\t\tfocusPoint.setAttribute(\'x\', MARGINX + SIZEX*this.value - STOP_RADIUS);\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar fy = $this.paint.radialGradient.getAttribute(\'fy\');\n
+\t\t\t\tif(!fy) fy = "0.0";\n
+\t\t\t\tvar fyInput = $(\'#\'+id+\'_jGraduate_fy\');\n
+\t\t\t\tfyInput.val(fy);\n
+\t\t\t\tfyInput.change( function() {\n
+\t\t\t\t\tif (isNaN(parseFloat(this.value)) || this.value < 0.0 || this.value > 1.0) { \n
+\t\t\t\t\t\tthis.value = 0.0;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'fy\', this.value);\n
+\t\t\t\t\tfocusPoint.setAttribute(\'y\', MARGINY + SIZEY*this.value - STOP_RADIUS);\n
+\t\t\t\t});      \n
+\t\t\t\t\n
+\t\t\t\tif(!showFocus) {\n
+\t\t\t\t\tfocusPoint.setAttribute(\'display\', \'none\');\t\n
+\t\t\t\t\tfxInput.val("");\n
+\t\t\t\t\tfyInput.val("");\n
+\t\t\t\t}\n
+\n
+\t\t\t\t$("#" + id + "_jGraduate_match_ctr")[0].checked = !showFocus;\n
+\t\t\t\t\n
+\t\t\t\tvar lastfx, lastfy;\n
+\t\t\t\t\n
+\t\t\t\t$("#" + id + "_jGraduate_match_ctr").change(function() {\n
+\t\t\t\t\tshowFocus = !this.checked;\n
+\t\t\t\t\tfocusPoint.setAttribute(\'display\', showFocus?\'inline\':\'none\');\n
+\t\t\t\t\tfxInput.val("");\n
+\t\t\t\t\tfyInput.val("");\n
+\t\t\t\t\tvar grad = $this.paint.radialGradient;\n
+\t\t\t\t\tif(!showFocus) {\n
+\t\t\t\t\t\tlastfx = grad.getAttribute(\'fx\');\n
+\t\t\t\t\t\tlastfy = grad.getAttribute(\'fy\');\n
+\t\t\t\t\t\tgrad.removeAttribute(\'fx\');\n
+\t\t\t\t\t\tgrad.removeAttribute(\'fy\');\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tvar fx = lastfx || .5;\n
+\t\t\t\t\t\tvar fy = lastfy || .5;\n
+\t\t\t\t\t\tgrad.setAttribute(\'fx\', fx);\n
+\t\t\t\t\t\tgrad.setAttribute(\'fy\', fy);\n
+\t\t\t\t\t\tfxInput.val(fx);\n
+\t\t\t\t\t\tfyInput.val(fy);\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar stops = $this.paint.radialGradient.getElementsByTagNameNS(ns.svg, \'stop\');\n
+\t\t\t\tvar numstops = stops.length;\n
+\t\t\t\t// if there are not at least two stops, then \n
+\t\t\t\tif (numstops < 2) {\n
+\t\t\t\t\twhile (numstops < 2) {\n
+\t\t\t\t\t\t$this.paint.radialGradient.appendChild( document.createElementNS(ns.svg, \'stop\') );\n
+\t\t\t\t\t\t++numstops;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tstops = $this.paint.radialGradient.getElementsByTagNameNS(ns.svg, \'stop\');\n
+\t\t\t\t}\n
+\t\t\t\tvar radius = $this.paint.radialGradient.getAttribute(\'r\')-0;\n
+\t\t\t\tvar radiusx = parseInt((245/2)*(radius)) - 4.5;\n
+\t\t\t\t$(\'#\' + id + \'_jGraduate_RadiusArrows\').css({\'margin-left\':radiusx});\n
+\t\t\t\t$(\'#\' + id + \'_jGraduate_RadiusInput\').val(parseInt(radius*100)).change(function(e) {\n
+\t\t\t\t\tvar x = this.value / 100;\n
+\t\t\t\t\tif(x < 0.01) {\n
+\t\t\t\t\t\tx = 0.01;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'r\', x);\n
+\t\t\t\t\t// Allow higher value, but pretend it\'s the max for the slider\n
+\t\t\t\t\tif(x > 2) x = 2;\n
+\t\t\t\t\tvar posx = parseInt((245/2) * x) - 4.5;\n
+\t\t\t\t\t$(\'#\' + id + \'_jGraduate_RadiusArrows\').css({\'margin-left\':posx});\n
+\t\t\t\t\t\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar setRgOpacitySlider = function(e, div) {\n
+\t\t\t\t\tvar offset = div.offset();\n
+\t\t\t\t\tvar x = (e.pageX - offset.left - parseInt(div.css(\'border-left-width\')));\n
+\t\t\t\t\tif (x > 255) x = 255;\n
+\t\t\t\t\tif (x < 0) x = 0;\n
+\t\t\t\t\tvar posx = x - 4.5;\n
+\t\t\t\t\tx /= 255;\n
+\t\t\t\t\t$(\'#\' + id + \'_rg_jGraduate_AlphaArrows\').css({\'margin-left\':posx});\n
+\t\t\t\t\t$(\'#\' + id + \'_rg_jgraduate_rect\').attr(\'fill-opacity\', x);\n
+\t\t\t\t\tx = parseInt(x*100);\n
+\t\t\t\t\t$(\'#\' + id + \'_rg_jGraduate_OpacityInput\').val(x);\n
+\t\t\t\t\t$this.paint.alpha = x;\n
+\t\t\t\t};\n
+\t\t\t\t\n
+\t\t\t\t// handle dragging on the opacity slider\n
+\t\t\t\tvar bSlidingOpacity = false;\n
+\t\t\t\t$(\'#\' + id + \'_rg_jGraduate_Opacity\').mousedown(function(evt) {\n
+\t\t\t\t\tsetRgOpacitySlider(evt, $(this));\n
+\t\t\t\t\tbSlidingOpacity = true;\n
+\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t}).mousemove(function(evt) {\n
+\t\t\t\t\tif (bSlidingOpacity) {\n
+\t\t\t\t\t\tsetRgOpacitySlider(evt, $(this));\n
+\t\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t\t}\n
+\t\t\t\t}).mouseup(function(evt) {\n
+\t\t\t\t\tsetRgOpacitySlider(evt, $(this));\n
+\t\t\t\t\tbSlidingOpacity = false;\n
+\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar setRadiusSlider = function(e, div) {\n
+\t\t\t\t\tvar offset = div.offset();\n
+\t\t\t\t\tvar x = (e.pageX - offset.left - parseInt(div.css(\'border-left-width\')));\n
+\t\t\t\t\tif (x > 245) x = 245;\n
+\t\t\t\t\tif (x <= 1) x = 1;\n
+\t\t\t\t\tvar posx = x - 5;\n
+\t\t\t\t\tx /= (245/2);\n
+\t\t\t\t\t$(\'#\' + id + \'_jGraduate_RadiusArrows\').css({\'margin-left\':posx});\n
+\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'r\', x);\n
+\t\t\t\t\tx = parseInt(x*100);\n
+\t\t\t\t\t\n
+\t\t\t\t\t$(\'#\' + id + \'_jGraduate_RadiusInput\').val(x);\n
+\t\t\t\t};\n
+\t\t\t\t\n
+\t\t\t\t// handle dragging on the radius slider\n
+\t\t\t\tvar bSlidingRadius = false;\n
+\t\t\t\t$(\'#\' + id + \'_jGraduate_Radius\').mousedown(function(evt) {\n
+\t\t\t\t\tsetRadiusSlider(evt, $(this));\n
+\t\t\t\t\tbSlidingRadius = true;\n
+\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t}).mousemove(function(evt) {\n
+\t\t\t\t\tif (bSlidingRadius) {\n
+\t\t\t\t\t\tsetRadiusSlider(evt, $(this));\n
+\t\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t\t}\n
+\t\t\t\t}).mouseup(function(evt) {\n
+\t\t\t\t\tsetRadiusSlider(evt, $(this));\n
+\t\t\t\t\tbSlidingRadius = false;\n
+\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\t\n
+\t\t\t\t// handle dragging the stop around the swatch\n
+\t\t\t\tvar draggingStop = null;\n
+\t\t\t\tvar startx = -1, starty = -1;\n
+\t\t\t\t// for whatever reason, Opera does not allow $(\'image.stop\') here,\n
+\t\t\t\t// and Firefox 1.5 does not allow $(\'.stop\')\n
+\t\t\t\t$(\'.stop, #color_picker_rg_jGraduate_GradContainer image\').mousedown(function(evt) {\n
+\t\t\t\t\tdraggingStop = this;\n
+\t\t\t\t\tstartx = evt.clientX;\n
+\t\t\t\t\tstarty = evt.clientY;\n
+\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t});\n
+\t\t\t\t$(\'#\'+id+\'_rg_jgraduate_svg\').mousemove(function(evt) {\n
+\t\t\t\t\tif (null != draggingStop) {\n
+\t\t\t\t\t\tvar dx = evt.clientX - startx;\n
+\t\t\t\t\t\tvar dy = evt.clientY - starty;\n
+\t\t\t\t\t\tstartx += dx;\n
+\t\t\t\t\t\tstarty += dy;\n
+\t\t\t\t\t\tvar x = parseFloat(draggingStop.getAttribute(\'x\')) + dx;\n
+\t\t\t\t\t\tvar y = parseFloat(draggingStop.getAttribute(\'y\')) + dy;\n
+\t\n
+\t\t\t\t\t\t// clamp stop to the swatch\n
+\t\t\t\t\t\tif (x < MARGINX - STOP_RADIUS) x = MARGINX - STOP_RADIUS;\n
+\t\t\t\t\t\tif (y < MARGINY - STOP_RADIUS) y = MARGINY - STOP_RADIUS;\n
+\t\t\t\t\t\tif (x > MARGINX + SIZEX - STOP_RADIUS) x = MARGINX + SIZEX - STOP_RADIUS;\n
+\t\t\t\t\t\tif (y > MARGINY + SIZEY - STOP_RADIUS) y = MARGINY + SIZEY - STOP_RADIUS;\n
+\t\t\t\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\tdraggingStop.setAttribute(\'x\', x);\n
+\t\t\t\t\t\tdraggingStop.setAttribute(\'y\', y);\n
+\t\n
+\t\t\t\t\t\t// calculate stop offset            \t\t\n
+\t\t\t\t\t\tvar fracx = (x - MARGINX + STOP_RADIUS)/SIZEX;\n
+\t\t\t\t\t\tvar fracy = (y - MARGINY + STOP_RADIUS)/SIZEY;\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tif (draggingStop.id == (id+\'_center_pt\')) {\n
+\t\t\t\t\t\t\tcxInput.val(fracx);\n
+\t\t\t\t\t\t\tcyInput.val(fracy);\n
+\t\t\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'cx\', fracx);\n
+\t\t\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'cy\', fracy);\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tif(!showFocus) {\n
+\t\t\t\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'fx\', fracx);\n
+\t\t\t\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'fy\', fracy);\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\telse {\n
+\t\t\t\t\t\t\tfxInput.val(fracx);\n
+\t\t\t\t\t\t\tfyInput.val(fracy);\n
+\t\t\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'fx\', fracx);\n
+\t\t\t\t\t\t\t$this.paint.radialGradient.setAttribute(\'fy\', fracy);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t$(\'#\'+id+\'_rg_jgraduate_svg\').mouseup(function(evt) {\n
+\t\t\t\t\tdraggingStop = null;\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar centerColor = stops[0].getAttribute(\'stop-color\');\n
+\t\t\t\tif(!centerColor) centerColor = \'#000\';\n
+\t\t\t\tcenterColorBox = $(\'#\'+id+\'_jGraduate_colorBoxCenter\');\n
+\t\t\t\tcenterColorBox.css({\'background-color\':centerColor});\n
+\t\n
+\t\t\t\tvar centerOpacity = stops[0].getAttribute(\'stop-opacity\');\n
+\t\t\t\tif(!centerOpacity) centerOpacity = \'1.0\';\n
+\t\t\t\t$(\'#\'+id+\'jGraduate_centerOpacity\').html( (centerOpacity*100)+\'%\' );\n
+\t\n
+\t\t\t\tvar outerColor = stops[stops.length-1].getAttribute(\'stop-color\');\n
+\t\t\t\tif(!outerColor) outerColor = \'#000\';\n
+\t\t\t\touterColorBox = $(\'#\'+id+\'_jGraduate_colorBoxOuter\');\n
+\t\t\t\touterColorBox.css({\'background-color\':outerColor});\n
+\t\n
+\t\t\t\tvar outerOpacity = stops[stops.length-1].getAttribute(\'stop-opacity\');\n
+\t\t\t\tif(!outerOpacity) outerOpacity = \'1.0\';\n
+\t\t\t\t$(\'#\'+id+\'rg_jGraduate_outerOpacity\').html( (outerOpacity*100)+\'%\' );\n
+\t\t\t\t\n
+\t\t\t\t$(\'#\'+id+\'_jGraduate_colorBoxCenter\').click(function() {\n
+\t\t\t\t\t$(\'div.jGraduate_LightBox\').show();\t\t\t\n
+\t\t\t\t\tvar colorbox = $(this);\n
+\t\t\t\t\tvar thisAlpha = (parseFloat(centerOpacity)*255).toString(16);\n
+\t\t\t\t\twhile (thisAlpha.length < 2) { thisAlpha = "0" + thisAlpha; }\n
+\t\t\t\t\tcolor = centerColor.substr(1) + thisAlpha;\n
+\t\t\t\t\t$(\'#\'+id+\'_rg_jGraduate_stopPicker\').css({\'left\': 100, \'bottom\': 15}).jPicker({\n
+\t\t\t\t\t\t\twindow: { title: "Pick the center color and opacity for the gradient" },\n
+\t\t\t\t\t\t\timages: { clientPath: $settings.images.clientPath },\n
+\t\t\t\t\t\t\tcolor: { active: color, alphaSupport: true }\n
+\t\t\t\t\t\t}, function(color){\n
+\t\t\t\t\t\t\tcenterColor = color.get_Hex() ? (\'#\'+color.get_Hex()) : "none";\n
+\t\t\t\t\t\t\tcenterOpacity = color.get_A() ? color.get_A()/100 : 1;\n
+\t\t\t\t\t\t\tcolorbox.css(\'background\', centerColor);\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_rg_jGraduate_centerOpacity\').html(parseInt(centerOpacity*100)+\'%\');\n
+\t\t\t\t\t\t\tstops[0].setAttribute(\'stop-color\', centerColor);\n
+\t\t\t\t\t\t\tstops[0].setAttribute(\'stop-opacity\', centerOpacity);\n
+\t\t\t\t\t\t\t$(\'div.jGraduate_LightBox\').hide();\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_rg_jGraduate_stopPicker\').hide();\n
+\t\t\t\t\t\t}, null, function() {\n
+\t\t\t\t\t\t\t$(\'div.jGraduate_LightBox\').hide();\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_rg_jGraduate_stopPicker\').hide();\n
+\t\t\t\t\t\t});\n
+\t\t\t\t});\n
+\t\t\t\t$(\'#\'+id+\'_jGraduate_colorBoxOuter\').click(function() {\n
+\t\t\t\t\t$(\'div.jGraduate_LightBox\').show();\n
+\t\t\t\t\tvar colorbox = $(this);\n
+\t\t\t\t\tvar thisAlpha = (parseFloat(outerOpacity)*255).toString(16);\n
+\t\t\t\t\twhile (thisAlpha.length < 2) { thisAlpha = "0" + thisAlpha; }\n
+\t\t\t\t\tcolor = outerColor.substr(1) + thisAlpha;\n
+\t\t\t\t\t$(\'#\'+id+\'_rg_jGraduate_stopPicker\').css({\'left\': 100, \'top\': 15}).jPicker({\n
+\t\t\t\t\t\t\twindow: { title: "Pick the outer color and opacity for the gradient" },\n
+\t\t\t\t\t\t\timages: { clientPath: $settings.images.clientPath },\n
+\t\t\t\t\t\t\tcolor: { active: color, alphaSupport: true }\n
+\t\t\t\t\t\t}, function(color){\n
+\t\t\t\t\t\t\touterColor = color.get_Hex() ? (\'#\'+color.get_Hex()) : "none";\n
+\t\t\t\t\t\t\touterOpacity = color.get_A() ? color.get_A()/100 : 1;\n
+\t\t\t\t\t\t\tcolorbox.css(\'background\', outerColor);\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_jGraduate_outerOpacity\').html(parseInt(outerOpacity*100)+\'%\');\n
+\t\t\t\t\t\t\tstops[1].setAttribute(\'stop-color\', outerColor);\n
+\t\t\t\t\t\t\tstops[1].setAttribute(\'stop-opacity\', outerOpacity);\n
+\t\t\t\t\t\t\t$(\'div.jGraduate_LightBox\').hide();\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_rg_jGraduate_stopPicker\').hide();\n
+\t\t\t\t\t\t}, null, function() {\n
+\t\t\t\t\t\t\t$(\'div.jGraduate_LightBox\').hide();\n
+\t\t\t\t\t\t\t$(\'#\'+id+\'_rg_jGraduate_stopPicker\').hide();\n
+\t\t\t\t\t\t});\n
+\t\t\t\t});            \n
+\t\t\t\t\n
+\t\t\t\t// --------------\n
+\t\t\t\tvar thisAlpha = ($this.paint.alpha*255/100).toString(16);\n
+\t\t\t\twhile (thisAlpha.length < 2) { thisAlpha = "0" + thisAlpha; }\n
+\t\t\t\tcolor = $this.paint.solidColor == "none" ? "" : $this.paint.solidColor + thisAlpha;\n
+\t\t\t\tcolPicker.jPicker(\n
+\t\t\t\t\t{\n
+\t\t\t\t\t\twindow: { title: $settings.window.pickerTitle },\n
+\t\t\t\t\t\timages: { clientPath: $settings.images.clientPath },\n
+\t\t\t\t\t\tcolor: { active: color, alphaSupport: true }\n
+\t\t\t\t\t},\n
+\t\t\t\t\tfunction(color) {\n
+\t\t\t\t\t\t$this.paint.type = "solidColor";\n
+\t\t\t\t\t\t$this.paint.alpha = color.get_A() ? color.get_A() : 100;\n
+\t\t\t\t\t\t$this.paint.solidColor = color.get_Hex() ? color.get_Hex() : "none";\n
+\t\t\t\t\t\t$this.paint.radialGradient = null;\n
+\t\t\t\t\t\tokClicked(); \n
+\t\t\t\t\t},\n
+\t\t\t\t\tnull,\n
+\t\t\t\t\tfunction(){ cancelClicked(); }\n
+\t\t\t\t\t);\n
+\t\t\t}());\t\n
+\t\t\t\n
+\t\t\tvar tabs = $(idref + \' .jGraduate_tabs li\');\n
+\t\t\ttabs.click(function() {\n
+\t\t\t\ttabs.removeClass(\'jGraduate_tab_current\');\n
+\t\t\t\t$(this).addClass(\'jGraduate_tab_current\');\n
+\t\t\t\t$(idref + " > div").hide();\n
+\t\t\t\t$(idref + \' .jGraduate_\' +  $(this).attr(\'data-type\') + \'Pick\').show();\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(idref + " > div").hide();\n
+\t\t\ttabs.removeClass(\'jGraduate_tab_current\');\n
+\t\t\tvar tab;\n
+\t\t\tswitch ( $this.paint.type ) {\n
+\t\t\t\tcase \'linearGradient\':\n
+\t\t\t\t\ttab = $(idref + \' .jGraduate_tab_lingrad\');\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase \'radialGradient\':\n
+\t\t\t\t\ttab = $(idref + \' .jGraduate_tab_radgrad\');\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tdefault:\n
+\t\t\t\t\ttab = $(idref + \' .jGraduate_tab_color\');\n
+\t\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t\ttab.addClass(\'jGraduate_tab_current\').click();\t\n
+\n
+\t\t\t$this.show();\n
+\t\t});\n
+\t};\n
+})();
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>44285</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jquery.jgraduate.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jquery.jgraduate.min.js.xml
new file mode 100644
index 0000000000..195a442b80
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jgraduate/jquery.jgraduate.min.js.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003715.16</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery.jgraduate.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+(function(){var a={svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink"};if(!window.console){window.console=new function(){this.log=function(b){};this.dir=function(b){}}}$.cloneNode=function(b){if(!window.opera){return b.cloneNode(true)}opera.postError(a.svg,b.nodeName);var c=document.createElementNS(a.svg,b.nodeName);$.each(b.attributes,function(e,d){c.setAttributeNS(a.svg,d.nodeName,d.nodeValue)});$.each(b.childNodes,function(d,e){if(e.nodeType==1){c.appendChild($.cloneNode(e))}});return c};$.jGraduate={Paint:function(c){var b=c||{};this.alpha=b.alpha||100;if(b.copy){this.type=b.copy.type;this.alpha=b.copy.alpha;this.solidColor=null;this.linearGradient=null;this.radialGradient=null;switch(this.type){case"none":break;case"solidColor":this.solidColor=b.copy.solidColor;break;case"linearGradient":this.linearGradient=$.cloneNode(b.copy.linearGradient);break;case"radialGradient":this.radialGradient=$.cloneNode(b.copy.radialGradient);break}}else{if(b.linearGradient){this.type="linearGradient";this.solidColor=null;this.radialGradient=null;this.linearGradient=$.cloneNode(b.linearGradient)}else{if(b.radialGradient){this.type="radialGradient";this.solidColor=null;this.linearGradient=null;this.radialGradient=$.cloneNode(b.radialGradient)}else{if(b.solidColor){this.type="solidColor";this.solidColor=b.solidColor}else{this.type="none";this.solidColor=null;this.linearGradient=null;this.radialGradient=null}}}}}};jQuery.fn.jGraduateDefaults={paint:new $.jGraduate.Paint(),window:{pickerTitle:"Drag markers to pick a paint"},images:{clientPath:"images/"}};jQuery.fn.jGraduate=function(c){var b=arguments;return this.each(function(){var k=$(this),g=$.extend(true,{},jQuery.fn.jGraduateDefaults,c),p=k.attr("id"),v="#"+k.attr("id")+" ";if(!v){alert("Container element must have an id attribute to maintain unique id strings for sub-elements.");return}var h=function(){if(k.paint.type=="radialGradient"){k.paint.linearGradient=null}else{if(k.paint.type=="linearGradient"){k.paint.radialGradient=null}else{if(k.paint.type=="solidColor"){k.paint.linearGradient=null;k.paint.radialGradient=null}}}$.isFunction(k.okCallback)&&k.okCallback(k.paint);k.hide()},i=function(){$.isFunction(k.cancelCallback)&&k.cancelCallback();k.hide()};$.extend(true,k,{paint:new $.jGraduate.Paint({copy:g.paint}),okCallback:$.isFunction(b[1])&&b[1]||null,cancelCallback:$.isFunction(b[2])&&b[2]||null});var j=k.position(),r=null;if(k.paint.type=="none"){k.paint=$.jGraduate.Paint({solidColor:"ffffff"})}k.addClass("jGraduate_Picker");k.html(\'<ul class="jGraduate_tabs"><li class="jGraduate_tab_color jGraduate_tab_current" data-type="col">Solid Color</li><li class="jGraduate_tab_lingrad" data-type="lg">Linear Gradient</li><li class="jGraduate_tab_radgrad" data-type="rg">Radial Gradient</li></ul><div class="jGraduate_colPick"></div><div class="jGraduate_lgPick"></div><div class="jGraduate_rgPick"></div>\');var u=$(v+"> .jGraduate_colPick");var q=$(v+"> .jGraduate_lgPick");var f=$(v+"> .jGraduate_rgPick");q.html(\'<div id="\'+p+\'_jGraduate_Swatch" class="jGraduate_Swatch"><h2 class="jGraduate_Title">\'+g.window.pickerTitle+\'</h2><div id="\'+p+\'_lg_jGraduate_GradContainer" class="jGraduate_GradContainer"></div><div id="\'+p+\'_lg_jGraduate_Opacity" class="jGraduate_Opacity" title="Click to set overall opacity of the gradient paint"><img id="\'+p+\'_lg_jGraduate_AlphaArrows" class="jGraduate_AlphaArrows" src="\'+g.images.clientPath+\'rangearrows2.gif"></img></div></div><div class="jGraduate_Form"><div class="jGraduate_StopSection"><label class="jGraduate_Form_Heading">Begin Stop</label><div class="jGraduate_Form_Section"><label>x:</label><input type="text" id="\'+p+\'_jGraduate_x1" size="3" title="Enter starting x value between 0.0 and 1.0"/><label> y:</label><input type="text" id="\'+p+\'_jGraduate_y1" size="3" title="Enter starting y value between 0.0 and 1.0"/><div id="\'+p+\'_jGraduate_colorBoxBegin" class="colorBox"></div><label id="\'+p+\'_jGraduate_beginOpacity"> 100%</label></div></div><div class="jGraduate_StopSection"><label class="jGraduate_Form_Heading">End Stop</label><div class="jGraduate_Form_Section"><label>x:</label><input type="text" id="\'+p+\'_jGraduate_x2" size="3" title="Enter ending x value between 0.0 and 1.0"/><label> y:</label><input type="text" id="\'+p+\'_jGraduate_y2" size="3" title="Enter ending y value between 0.0 and 1.0"/><div id="\'+p+\'_jGraduate_colorBoxEnd" class="colorBox"></div><label id="\'+p+\'_jGraduate_endOpacity">100%</label></div></div><div class="lg_jGraduate_OpacityField"><label class="lg_jGraduate_OpacityLabel">A: </label><input type="text" id="\'+p+\'_lg_jGraduate_OpacityInput" class="jGraduate_OpacityInput" size="3" value="100"/>%</div></div><div class="jGraduate_OkCancel"><input type="button" id="\'+p+\'_lg_jGraduate_Ok" class="jGraduate_Ok" value="OK"/><input type="button" id="\'+p+\'_lg_jGraduate_Cancel" class="jGraduate_Cancel" value="Cancel"/></div><div class="jGraduate_LightBox"></div><div id="\'+p+\'_jGraduate_stopPicker" class="jGraduate_stopPicker"></div>\');f.html(\'<div class="jGraduate_Swatch"><h2 class="jGraduate_Title">\'+g.window.pickerTitle+\'</h2><div id="\'+p+\'_rg_jGraduate_GradContainer" class="jGraduate_GradContainer"></div><div id="\'+p+\'_rg_jGraduate_Opacity" class="jGraduate_Opacity" title="Click to set overall opacity of the gradient paint"><img id="\'+p+\'_rg_jGraduate_AlphaArrows" class="jGraduate_AlphaArrows" src="\'+g.images.clientPath+\'rangearrows2.gif"></img></div></div><div id="jGraduate_radColors" class="jGraduate_StopSection"><label class="jGraduate_Form_Heading">Colors</label><div class="jGraduate_Form_Section jGraduate_Colorblocks"><div class="jGraduate_colorblock"><span>Center:</span><div id="\'+p+\'_jGraduate_colorBoxCenter" class="colorBox"></div><label id="\'+p+\'_rg_jGraduate_centerOpacity"> 100%</label></div><div class="jGraduate_colorblock"><span>Outer:</span><div id="\'+p+\'_jGraduate_colorBoxOuter" class="colorBox"></div><label id="\'+p+\'_jGraduate_outerOpacity"> 100%</label></div></div></div><div class="jGraduate_StopSection"></div><div class="jGraduate_Form"><div class="jGraduate_StopSection"><label class="jGraduate_Form_Heading">Center Point</label><div class="jGraduate_Form_Section"><label>x:</label><input type="text" id="\'+p+\'_jGraduate_cx" size="3" title="Enter x value between 0.0 and 1.0"/><label> y:</label><input type="text" id="\'+p+\'_jGraduate_cy" size="3" title="Enter y value between 0.0 and 1.0"/></div></div><div class="jGraduate_StopSection"><label class="jGraduate_Form_Heading">Focal Point</label><div class="jGraduate_Form_Section"><label>Match center: <input type="checkbox" checked="checked" id="\'+p+\'_jGraduate_match_ctr"/></label><br/><label>x:</label><input type="text" id="\'+p+\'_jGraduate_fx" size="3" title="Enter x value between 0.0 and 1.0"/><label> y:</label><input type="text" id="\'+p+\'_jGraduate_fy" size="3" title="Enter y value between 0.0 and 1.0"/></div></div><div class="jGraduate_RadiusField"><label class="jGraduate_Form_Heading">Radius</label><div class="jGraduate_Form_Section"><div id="\'+p+\'_jGraduate_RadiusContainer" class="jGraduate_RadiusContainer"></div><input type="text" id="\'+p+\'_jGraduate_RadiusInput" size="3" value="100"/>%<div id="\'+p+\'_jGraduate_Radius" class="jGraduate_Radius" title="Click to set radius"><img id="\'+p+\'_jGraduate_RadiusArrows" class="jGraduate_RadiusArrows" src="\'+g.images.clientPath+\'rangearrows2.gif"></img></div></div></div></div><div class="rg_jGraduate_OpacityField"><label class="rg_jGraduate_OpacityLabel">A: </label><input type="text" id="\'+p+\'_rg_jGraduate_OpacityInput" class="jGraduate_OpacityInput" size="3" value="100"/>%</div><div class="jGraduate_OkCancel"><input type="button" id="\'+p+\'_rg_jGraduate_Ok" class="jGraduate_Ok" value="OK"/><input type="button" id="\'+p+\'_rg_jGraduate_Cancel" class="jGraduate_Cancel" value="Cancel"/></div><div class="jGraduate_LightBox"></div><div id="\'+p+\'_rg_jGraduate_stopPicker" class="jGraduate_stopPicker"></div>\');var t=256,o=0,n=0,d=15/2,m=t-2*o,l=t-2*n;$.each(["lg","rg"],function(z){var y=p+"_"+this;var w=document.getElementById(y+"_jGraduate_GradContainer");var x=w.appendChild(document.createElementNS(a.svg,"svg"));x.id=y+"_jgraduate_svg";x.setAttribute("width",t);x.setAttribute("height",t);x.setAttribute("xmlns",a.svg)});(function(){var Q=document.getElementById(p+"_lg_jgraduate_svg");if(k.paint.type=="linearGradient"){k.paint.linearGradient.id=p+"_jgraduate_grad";k.paint.linearGradient=Q.appendChild($.cloneNode(k.paint.linearGradient))}else{var I=Q.appendChild(document.createElementNS(a.svg,"linearGradient"));I.id=p+"_jgraduate_grad";I.setAttribute("x1","0.0");I.setAttribute("y1","0.0");I.setAttribute("x2","1.0");I.setAttribute("y2","1.0");var V=I.appendChild(document.createElementNS(a.svg,"stop"));V.setAttribute("offset","0.0");V.setAttribute("stop-color","#ff0000");var E=I.appendChild(document.createElementNS(a.svg,"stop"));E.setAttribute("offset","1.0");E.setAttribute("stop-color","#ffff00");k.paint.linearGradient=I}var D=k.paint.alpha;$("#"+p+"_lg_jGraduate_OpacityInput").val(D);var S=parseInt(255*(D/100))-4.5;$("#"+p+"_lg_jGraduate_AlphaArrows").css({"margin-left":S});var U=parseFloat(k.paint.linearGradient.getAttribute("x1")||0),C=parseFloat(k.paint.linearGradient.getAttribute("y1")||0),T=parseFloat(k.paint.linearGradient.getAttribute("x2")||1),A=parseFloat(k.paint.linearGradient.getAttribute("y2")||0);var y=document.createElementNS(a.svg,"rect");y.id=p+"_lg_jgraduate_rect";y.setAttribute("x",o);y.setAttribute("y",n);y.setAttribute("width",l);y.setAttribute("height",l);y.setAttribute("fill","url(#"+p+"_jgraduate_grad)");y.setAttribute("fill-opacity","1.0");y=Q.appendChild(y);$("#"+p+"_lg_jgraduate_rect").attr("fill-opacity",D/100);var x=document.createElementNS(a.svg,"image");x.id=p+"_stop1";x.setAttribute("class","stop");x.setAttributeNS(a.xlink,"href",g.images.clientPath+"mappoint.gif");x.setAttributeNS(a.xlink,"title","Begin Stop");x.appendChild(document.createElementNS(a.svg,"title")).appendChild(document.createTextNode("Begin Stop"));x.setAttribute("width",18);x.setAttribute("height",18);x.setAttribute("x",o+m*U-d);x.setAttribute("y",n+l*C-d);x.setAttribute("cursor","move");x=Q.appendChild(x);var P=document.createElementNS(a.svg,"image");P.id=p+"_stop2";P.setAttribute("class","stop");P.setAttributeNS(a.xlink,"href",g.images.clientPath+"mappoint.gif");P.setAttributeNS(a.xlink,"title","End Stop");P.appendChild(document.createElementNS(a.svg,"title")).appendChild(document.createTextNode("End Stop"));P.setAttribute("width",18);P.setAttribute("height",18);P.setAttribute("x",o+m*T-d);P.setAttribute("y",n+l*A-d);P.setAttribute("cursor","move");P=Q.appendChild(P);$("#"+p+"_lg_jGraduate_Ok").bind("click",function(){k.paint.type="linearGradient";k.paint.solidColor=null;h()});$("#"+p+"_lg_jGraduate_Cancel").bind("click",function(Y){i()});var U=k.paint.linearGradient.getAttribute("x1");if(!U){U="0.0"}var G=$("#"+p+"_jGraduate_x1");G.val(U);G.change(function(){if(isNaN(parseFloat(this.value))||this.value<0||this.value>1){this.value=0}k.paint.linearGradient.setAttribute("x1",this.value);x.setAttribute("x",o+m*this.value-d)});var C=k.paint.linearGradient.getAttribute("y1");if(!C){C="0.0"}var F=$("#"+p+"_jGraduate_y1");F.val(C);F.change(function(){if(isNaN(parseFloat(this.value))||this.value<0||this.value>1){this.value=0}k.paint.linearGradient.setAttribute("y1",this.value);x.setAttribute("y",n+l*this.value-d)});var T=k.paint.linearGradient.getAttribute("x2");if(!T){T="1.0"}var K=$("#"+p+"_jGraduate_x2");K.val(T);K.change(function(){if(isNaN(parseFloat(this.value))||this.value<0||this.value>1){this.value=1}k.paint.linearGradient.setAttribute("x2",this.value);P.setAttribute("x",o+m*this.value-d)});var A=k.paint.linearGradient.getAttribute("y2");if(!A){A="0.0"}y2Input=$("#"+p+"_jGraduate_y2");y2Input.val(A);y2Input.change(function(){if(isNaN(parseFloat(this.value))||this.value<0||this.value>1){this.value=0}k.paint.linearGradient.setAttribute("y2",this.value);P.setAttribute("y",n+l*this.value-d)});var J=k.paint.linearGradient.getElementsByTagNameNS(a.svg,"stop");var w=J.length;if(w<2){while(w<2){k.paint.linearGradient.appendChild(document.createElementNS(a.svg,"stop"));++w}J=k.paint.linearGradient.getElementsByTagNameNS(a.svg,"stop")}var X=function(aa,ac){var ab=ac.offset();var Z=(aa.pageX-ab.left-parseInt(ac.css("border-left-width")));if(Z>255){Z=255}if(Z<0){Z=0}var Y=Z-4.5;Z/=255;$("#"+p+"_lg_jGraduate_AlphaArrows").css({"margin-left":Y});$("#"+p+"_lg_jgraduate_rect").attr("fill-opacity",Z);Z=parseInt(Z*100);$("#"+p+"_lg_jGraduate_OpacityInput").val(Z);k.paint.alpha=Z};var W=false;$("#"+p+"_lg_jGraduate_Opacity").mousedown(function(Y){X(Y,$(this));W=true;Y.preventDefault()}).mousemove(function(Y){if(W){X(Y,$(this));Y.preventDefault()}}).mouseup(function(Y){X(Y,$(this));W=false;Y.preventDefault()});var M=null;var B=-1,z=-1;$(".stop, #color_picker_lg_jGraduate_GradContainer image").mousedown(function(Y){M=this;B=Y.clientX;z=Y.clientY;Y.preventDefault()});$("#"+p+"_lg_jgraduate_svg").mousemove(function(aa){if(null!=M){var ac=aa.clientX-B;var Z=aa.clientY-z;B+=ac;z+=Z;var Y=parseFloat(M.getAttribute("x"))+ac;var ae=parseFloat(M.getAttribute("y"))+Z;if(Y<o-d){Y=o-d}if(ae<n-d){ae=n-d}if(Y>o+m-d){Y=o+m-d}if(ae>n+l-d){ae=n+l-d}M.setAttribute("x",Y);M.setAttribute("y",ae);var ad=(Y-o+d)/m;var ab=(ae-n+d)/l;if(M.id==(p+"_stop1")){G.val(ad);F.val(ab);k.paint.linearGradient.setAttribute("x1",ad);k.paint.linearGradient.setAttribute("y1",ab)}else{K.val(ad);y2Input.val(ab);k.paint.linearGradient.setAttribute("x2",ad);k.paint.linearGradient.setAttribute("y2",ab)}aa.preventDefault()}});$("#"+p+"_lg_jgraduate_svg").mouseup(function(Y){M=null});var H=J[0].getAttribute("stop-color");if(!H){H="#000"}beginColorBox=$("#"+p+"_jGraduate_colorBoxBegin");beginColorBox.css({"background-color":H});var R=J[0].getAttribute("stop-opacity");if(!R){R="1.0"}$("#"+p+"lg_jGraduate_beginOpacity").html((R*100)+"%");var N=J[J.length-1].getAttribute("stop-color");if(!N){N="#000"}endColorBox=$("#"+p+"_jGraduate_colorBoxEnd");endColorBox.css({"background-color":N});var L=J[J.length-1].getAttribute("stop-opacity");if(!L){L="1.0"}$("#"+p+"jGraduate_endOpacity").html((L*100)+"%");$("#"+p+"_jGraduate_colorBoxBegin").click(function(){$("div.jGraduate_LightBox").show();var Z=$(this);var Y=(parseFloat(R)*255).toString(16);while(Y.length<2){Y="0"+Y}r=H.substr(1)+Y;$("#"+p+"_jGraduate_stopPicker").css({left:100,bottom:15}).jPicker({window:{title:"Pick the start color and opacity for the gradient"},images:{clientPath:g.images.clientPath},color:{active:r,alphaSupport:true}},function(aa){H=aa.get_Hex()?("#"+aa.get_Hex()):"none";R=aa.get_A()?aa.get_A()/100:1;Z.css("background",H);$("#"+p+"_jGraduate_beginOpacity").html(parseInt(R*100)+"%");J[0].setAttribute("stop-color",H);J[0].setAttribute("stop-opacity",R);$("div.jGraduate_LightBox").hide();$("#"+p+"_jGraduate_stopPicker").hide()},null,function(){$("div.jGraduate_LightBox").hide();$("#"+p+"_jGraduate_stopPicker").hide()})});$("#"+p+"_jGraduate_colorBoxEnd").click(function(){$("div.jGraduate_LightBox").show();var Z=$(this);var Y=(parseFloat(L)*255).toString(16);while(Y.length<2){Y="0"+Y}r=N.substr(1)+Y;$("#"+p+"_jGraduate_stopPicker").css({left:100,top:15}).jPicker({window:{title:"Pick the end color and opacity for the gradient"},images:{clientPath:g.images.clientPath},color:{active:r,alphaSupport:true}},function(aa){N=aa.get_Hex()?("#"+aa.get_Hex()):"none";L=aa.get_A()?aa.get_A()/100:1;Z.css("background",N);$("#"+p+"_jGraduate_endOpacity").html(parseInt(L*100)+"%");J[1].setAttribute("stop-color",N);J[1].setAttribute("stop-opacity",L);$("div.jGraduate_LightBox").hide();$("#"+p+"_jGraduate_stopPicker").hide()},null,function(){$("div.jGraduate_LightBox").hide();$("#"+p+"_jGraduate_stopPicker").hide()})});var O=(k.paint.alpha*255/100).toString(16);while(O.length<2){O="0"+O}r=k.paint.solidColor=="none"?"":k.paint.solidColor+O;u.jPicker({window:{title:g.window.pickerTitle},images:{clientPath:g.images.clientPath},color:{active:r,alphaSupport:true}},function(Y){k.paint.type="solidColor";k.paint.alpha=Y.get_A()?Y.get_A():100;k.paint.solidColor=Y.get_Hex()?Y.get_Hex():"none";k.paint.linearGradient=null;h()},null,function(){i()})}());(function(){var w=document.getElementById(p+"_rg_jgraduate_svg");if(k.paint.type=="radialGradient"){k.paint.radialGradient.id=p+"_rg_jgraduate_grad";k.paint.radialGradient=w.appendChild($.cloneNode(k.paint.radialGradient))}else{var G=w.appendChild(document.createElementNS(a.svg,"radialGradient"));G.id=p+"_rg_jgraduate_grad";G.setAttribute("cx","0.5");G.setAttribute("cy","0.5");G.setAttribute("r","0.5");var B=G.appendChild(document.createElementNS(a.svg,"stop"));B.setAttribute("offset","0.0");B.setAttribute("stop-color","#ff0000");var E=G.appendChild(document.createElementNS(a.svg,"stop"));E.setAttribute("offset","1.0");E.setAttribute("stop-color","#ffff00");k.paint.radialGradient=G}var R=k.paint.alpha;$("#"+p+"_rg_jGraduate_OpacityInput").val(R);var D=parseInt(255*(R/100))-4.5;$("#"+p+"_rg_jGraduate_AlphaArrows").css({"margin-left":D});var G=k.paint.radialGradient;var M=parseFloat(G.getAttribute("cx")||0.5),K=parseFloat(G.getAttribute("cy")||0.5),O=parseFloat(G.getAttribute("fx")||0.5),N=parseFloat(G.getAttribute("fy")||0.5);var H=G.getAttribute("fx")!=null&&!(M==O&&K==N);var U=document.createElementNS(a.svg,"rect");U.id=p+"_rg_jgraduate_rect";U.setAttribute("x",o);U.setAttribute("y",n);U.setAttribute("width",l);U.setAttribute("height",l);U.setAttribute("fill","url(#"+p+"_rg_jgraduate_grad)");U.setAttribute("fill-opacity","1.0");U=w.appendChild(U);$("#"+p+"_rg_jgraduate_rect").attr("fill-opacity",R/100);var V=document.createElementNS(a.svg,"image");V.id=p+"_center_pt";V.setAttribute("class","stop");V.setAttributeNS(a.xlink,"href",g.images.clientPath+"mappoint_c.png");V.setAttributeNS(a.xlink,"title","Center Point");V.appendChild(document.createElementNS(a.svg,"title")).appendChild(document.createTextNode("Center Point"));V.setAttribute("width",18);V.setAttribute("height",18);V.setAttribute("x",o+m*M-d);V.setAttribute("y",n+l*K-d);V.setAttribute("cursor","move");var A=document.createElementNS(a.svg,"image");A.id=p+"_focus_pt";A.setAttribute("class","stop");A.setAttributeNS(a.xlink,"href",g.images.clientPath+"mappoint_f.png");A.setAttributeNS(a.xlink,"title","Focus Point");A.appendChild(document.createElementNS(a.svg,"title")).appendChild(document.createTextNode("Focus Point"));A.setAttribute("width",18);A.setAttribute("height",18);A.setAttribute("x",o+m*O-d);A.setAttribute("y",n+l*N-d);A.setAttribute("cursor","move");A=w.appendChild(A);V=w.appendChild(V);$("#"+p+"_rg_jGraduate_Ok").bind("click",function(){k.paint.type="radialGradient";k.paint.solidColor=null;h()});$("#"+p+"_rg_jGraduate_Cancel").bind("click",function(ag){i()});var M=k.paint.radialGradient.getAttribute("cx");if(!M){M="0.0"}var af=$("#"+p+"_jGraduate_cx");af.val(M);af.change(function(){if(isNaN(parseFloat(this.value))||this.value<0||this.value>1){this.value=0}k.paint.radialGradient.setAttribute("cx",this.value);V.setAttribute("x",o+m*this.value-d)});var K=k.paint.radialGradient.getAttribute("cy");if(!K){K="0.0"}var P=$("#"+p+"_jGraduate_cy");P.val(K);P.change(function(){if(isNaN(parseFloat(this.value))||this.value<0||this.value>1){this.value=0}k.paint.radialGradient.setAttribute("cy",this.value);V.setAttribute("y",n+l*this.value-d)});var O=k.paint.radialGradient.getAttribute("fx");if(!O){O="1.0"}var ae=$("#"+p+"_jGraduate_fx");ae.val(O);ae.change(function(){if(isNaN(parseFloat(this.value))||this.value<0||this.value>1){this.value=1}k.paint.radialGradient.setAttribute("fx",this.value);A.setAttribute("x",o+m*this.value-d)});var N=k.paint.radialGradient.getAttribute("fy");if(!N){N="0.0"}var Q=$("#"+p+"_jGraduate_fy");Q.val(N);Q.change(function(){if(isNaN(parseFloat(this.value))||this.value<0||this.value>1){this.value=0}k.paint.radialGradient.setAttribute("fy",this.value);A.setAttribute("y",n+l*this.value-d)});if(!H){A.setAttribute("display","none");ae.val("");Q.val("")}$("#"+p+"_jGraduate_match_ctr")[0].checked=!H;var J,I;$("#"+p+"_jGraduate_match_ctr").change(function(){H=!this.checked;A.setAttribute("display",H?"inline":"none");ae.val("");Q.val("");var ai=k.paint.radialGradient;if(!H){J=ai.getAttribute("fx");I=ai.getAttribute("fy");ai.removeAttribute("fx");ai.removeAttribute("fy")}else{var ah=J||0.5;var ag=I||0.5;ai.setAttribute("fx",ah);ai.setAttribute("fy",ag);ae.val(ah);Q.val(ag)}});var T=k.paint.radialGradient.getElementsByTagNameNS(a.svg,"stop");var X=T.length;if(X<2){while(X<2){k.paint.radialGradient.appendChild(document.createElementNS(a.svg,"stop"));++X}T=k.paint.radialGradient.getElementsByTagNameNS(a.svg,"stop")}var ab=k.paint.radialGradient.getAttribute("r")-0;var Z=parseInt((245/2)*(ab))-4.5;$("#"+p+"_jGraduate_RadiusArrows").css({"margin-left":Z});$("#"+p+"_jGraduate_RadiusInput").val(parseInt(ab*100)).change(function(ai){var ah=this.value/100;if(ah<0.01){ah=0.01}k.paint.radialGradient.setAttribute("r",ah);if(ah>2){ah=2}var ag=parseInt((245/2)*ah)-4.5;$("#"+p+"_jGraduate_RadiusArrows").css({"margin-left":ag})});var z=function(ai,ak){var aj=ak.offset();var ah=(ai.pageX-aj.left-parseInt(ak.css("border-left-width")));if(ah>255){ah=255}if(ah<0){ah=0}var ag=ah-4.5;ah/=255;$("#"+p+"_rg_jGraduate_AlphaArrows").css({"margin-left":ag});$("#"+p+"_rg_jgraduate_rect").attr("fill-opacity",ah);ah=parseInt(ah*100);$("#"+p+"_rg_jGraduate_OpacityInput").val(ah);k.paint.alpha=ah};var ad=false;$("#"+p+"_rg_jGraduate_Opacity").mousedown(function(ag){z(ag,$(this));ad=true;ag.preventDefault()}).mousemove(function(ag){if(ad){z(ag,$(this));ag.preventDefault()}}).mouseup(function(ag){z(ag,$(this));ad=false;ag.preventDefault()});var L=function(ai,ak){var aj=ak.offset();var ah=(ai.pageX-aj.left-parseInt(ak.css("border-left-width")));if(ah>245){ah=245}if(ah<=1){ah=1}var ag=ah-5;ah/=(245/2);$("#"+p+"_jGraduate_RadiusArrows").css({"margin-left":ag});k.paint.radialGradient.setAttribute("r",ah);ah=parseInt(ah*100);$("#"+p+"_jGraduate_RadiusInput").val(ah)};var C=false;$("#"+p+"_jGraduate_Radius").mousedown(function(ag){L(ag,$(this));C=true;ag.preventDefault()}).mousemove(function(ag){if(C){L(ag,$(this));ag.preventDefault()}}).mouseup(function(ag){L(ag,$(this));C=false;ag.preventDefault()});var ac=null;var y=-1,x=-1;$(".stop, #color_picker_rg_jGraduate_GradContainer image").mousedown(function(ag){ac=this;y=ag.clientX;x=ag.clientY;ag.preventDefault()});$("#"+p+"_rg_jgraduate_svg").mousemove(function(ai){if(null!=ac){var ak=ai.clientX-y;var ah=ai.clientY-x;y+=ak;x+=ah;var ag=parseFloat(ac.getAttribute("x"))+ak;var am=parseFloat(ac.getAttribute("y"))+ah;if(ag<o-d){ag=o-d}if(am<n-d){am=n-d}if(ag>o+m-d){ag=o+m-d}if(am>n+l-d){am=n+l-d}ac.setAttribute("x",ag);ac.setAttribute("y",am);var al=(ag-o+d)/m;var aj=(am-n+d)/l;if(ac.id==(p+"_center_pt")){af.val(al);P.val(aj);k.paint.radialGradient.setAttribute("cx",al);k.paint.radialGradient.setAttribute("cy",aj);if(!H){k.paint.radialGradient.setAttribute("fx",al);k.paint.radialGradient.setAttribute("fy",aj)}}else{ae.val(al);Q.val(aj);k.paint.radialGradient.setAttribute("fx",al);k.paint.radialGradient.setAttribute("fy",aj)}ai.preventDefault()}});$("#"+p+"_rg_jgraduate_svg").mouseup(function(ag){ac=null});var S=T[0].getAttribute("stop-color");if(!S){S="#000"}centerColorBox=$("#"+p+"_jGraduate_colorBoxCenter");centerColorBox.css({"background-color":S});var W=T[0].getAttribute("stop-opacity");if(!W){W="1.0"}$("#"+p+"jGraduate_centerOpacity").html((W*100)+"%");var F=T[T.length-1].getAttribute("stop-color");if(!F){F="#000"}outerColorBox=$("#"+p+"_jGraduate_colorBoxOuter");outerColorBox.css({"background-color":F});var Y=T[T.length-1].getAttribute("stop-opacity");if(!Y){Y="1.0"}$("#"+p+"rg_jGraduate_outerOpacity").html((Y*100)+"%");$("#"+p+"_jGraduate_colorBoxCenter").click(function(){$("div.jGraduate_LightBox").show();var ah=$(this);var ag=(parseFloat(W)*255).toString(16);while(ag.length<2){ag="0"+ag}r=S.substr(1)+ag;$("#"+p+"_rg_jGraduate_stopPicker").css({left:100,bottom:15}).jPicker({window:{title:"Pick the center color and opacity for the gradient"},images:{clientPath:g.images.clientPath},color:{active:r,alphaSupport:true}},function(ai){S=ai.get_Hex()?("#"+ai.get_Hex()):"none";W=ai.get_A()?ai.get_A()/100:1;ah.css("background",S);$("#"+p+"_rg_jGraduate_centerOpacity").html(parseInt(W*100)+"%");T[0].setAttribute("stop-color",S);T[0].setAttribute("stop-opacity",W);$("div.jGraduate_LightBox").hide();$("#"+p+"_rg_jGraduate_stopPicker").hide()},null,function(){$("div.jGraduate_LightBox").hide();$("#"+p+"_rg_jGraduate_stopPicker").hide()})});$("#"+p+"_jGraduate_colorBoxOuter").click(function(){$("div.jGraduate_LightBox").show();var ah=$(this);var ag=(parseFloat(Y)*255).toString(16);while(ag.length<2){ag="0"+ag}r=F.substr(1)+ag;$("#"+p+"_rg_jGraduate_stopPicker").css({left:100,top:15}).jPicker({window:{title:"Pick the outer color and opacity for the gradient"},images:{clientPath:g.images.clientPath},color:{active:r,alphaSupport:true}},function(ai){F=ai.get_Hex()?("#"+ai.get_Hex()):"none";Y=ai.get_A()?ai.get_A()/100:1;ah.css("background",F);$("#"+p+"_jGraduate_outerOpacity").html(parseInt(Y*100)+"%");T[1].setAttribute("stop-color",F);T[1].setAttribute("stop-opacity",Y);$("div.jGraduate_LightBox").hide();$("#"+p+"_rg_jGraduate_stopPicker").hide()},null,function(){$("div.jGraduate_LightBox").hide();$("#"+p+"_rg_jGraduate_stopPicker").hide()})});var aa=(k.paint.alpha*255/100).toString(16);while(aa.length<2){aa="0"+aa}r=k.paint.solidColor=="none"?"":k.paint.solidColor+aa;u.jPicker({window:{title:g.window.pickerTitle},images:{clientPath:g.images.clientPath},color:{active:r,alphaSupport:true}},function(ag){k.paint.type="solidColor";k.paint.alpha=ag.get_A()?ag.get_A():100;k.paint.solidColor=ag.get_Hex()?ag.get_Hex():"none";k.paint.radialGradient=null;h()},null,function(){i()})}());var s=$(v+" .jGraduate_tabs li");s.click(function(){s.removeClass("jGraduate_tab_current");$(this).addClass("jGraduate_tab_current");$(v+" > div").hide();$(v+" .jGraduate_"+$(this).attr("data-type")+"Pick").show()});$(v+" > div").hide();s.removeClass("jGraduate_tab_current");var e;switch(k.paint.type){case"linearGradient":e=$(v+" .jGraduate_tab_lingrad");break;case"radialGradient":e=$(v+" .jGraduate_tab_radgrad");break;default:e=$(v+" .jGraduate_tab_color");break}e.addClass("jGraduate_tab_current").click();k.show()})}})();
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>26369</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui-1.8.1.custom.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui-1.8.1.custom.min.js.xml
new file mode 100644
index 0000000000..a2429428ba
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui-1.8.1.custom.min.js.xml
@@ -0,0 +1,866 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts79960945.2</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery-ui-1.8.1.custom.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>199801</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*!\n
+ * jQuery UI 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI\n
+ */\n
+jQuery.ui||function(c){c.ui={version:"1.8.1",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")=="hidden")return false;\n
+b=b&&b=="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,f,g){return c.ui.isOverAxis(a,d,f)&&c.ui.isOverAxis(b,e,g)},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,\n
+PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none")},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||\n
+/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==\n
+undefined)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b=="absolute"||b=="relative"||b=="fixed"){b=parseInt(a.css("zIndex"));if(!isNaN(b)&&b!=0)return b}a=a.parent()}}return 0}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b||"area"==b?a.href||!isNaN(d):!isNaN(d))&&\n
+!c(a)["area"==b?"parents":"closest"](":hidden").length},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}})}(jQuery);\n
+;/*!\n
+ * jQuery UI Widget 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Widget\n
+ */\n
+(function(b){var j=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add(this).each(function(){b(this).triggerHandler("remove")});return j.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend({},c.options);b[e][a].prototype=\n
+b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==undefined){h=i;return false}}):this.each(function(){var g=\n
+b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){this.element=b(c).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();\n
+this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===undefined)return this.options[a];d={};d[a]=c}b.each(d,function(f,\n
+h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=\n
+b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);\n
+;/*!\n
+ * jQuery UI Mouse 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Mouse\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.widget.js\n
+ */\n
+(function(c){c.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var a=this;this.element.bind("mousedown."+this.widgetName,function(b){return a._mouseDown(b)}).bind("click."+this.widgetName,function(b){if(a._preventClickEvent){a._preventClickEvent=false;b.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(a){a.originalEvent=a.originalEvent||{};if(!a.originalEvent.mouseHandled){this._mouseStarted&&\n
+this._mouseUp(a);this._mouseDownEvent=a;var b=this,e=a.which==1,f=typeof this.options.cancel=="string"?c(a.target).parents().add(a.target).filter(this.options.cancel).length:false;if(!e||f||!this._mouseCapture(a))return true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){b.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();\n
+return true}}this._mouseMoveDelegate=function(d){return b._mouseMove(d)};this._mouseUpDelegate=function(d){return b._mouseUp(d)};c(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);c.browser.safari||a.preventDefault();return a.originalEvent.mouseHandled=true}},_mouseMove:function(a){if(c.browser.msie&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&\n
+this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){c(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=a.target==this._mouseDownEvent.target;this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-\n
+a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery);\n
+;/*\n
+ * jQuery UI Position 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Position\n
+ */\n
+(function(c){c.ui=c.ui||{};var m=/left|center|right/,n=/top|center|bottom/,p=c.fn.position,q=c.fn.offset;c.fn.position=function(a){if(!a||!a.of)return p.apply(this,arguments);a=c.extend({},a);var b=c(a.of),d=(a.collision||"flip").split(" "),e=a.offset?a.offset.split(" "):[0,0],g,h,i;if(a.of.nodeType===9){g=b.width();h=b.height();i={top:0,left:0}}else if(a.of.scrollTo&&a.of.document){g=b.width();h=b.height();i={top:b.scrollTop(),left:b.scrollLeft()}}else if(a.of.preventDefault){a.at="left top";g=h=\n
+0;i={top:a.of.pageY,left:a.of.pageX}}else{g=b.outerWidth();h=b.outerHeight();i=b.offset()}c.each(["my","at"],function(){var f=(a[this]||"").split(" ");if(f.length===1)f=m.test(f[0])?f.concat(["center"]):n.test(f[0])?["center"].concat(f):["center","center"];f[0]=m.test(f[0])?f[0]:"center";f[1]=n.test(f[1])?f[1]:"center";a[this]=f});if(d.length===1)d[1]=d[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(a.at[0]==="right")i.left+=g;else if(a.at[0]==="center")i.left+=\n
+g/2;if(a.at[1]==="bottom")i.top+=h;else if(a.at[1]==="center")i.top+=h/2;i.left+=e[0];i.top+=e[1];return this.each(function(){var f=c(this),k=f.outerWidth(),l=f.outerHeight(),j=c.extend({},i);if(a.my[0]==="right")j.left-=k;else if(a.my[0]==="center")j.left-=k/2;if(a.my[1]==="bottom")j.top-=l;else if(a.my[1]==="center")j.top-=l/2;j.left=parseInt(j.left);j.top=parseInt(j.top);c.each(["left","top"],function(o,r){c.ui.position[d[o]]&&c.ui.position[d[o]][r](j,{targetWidth:g,targetHeight:h,elemWidth:k,\n
+elemHeight:l,offset:e,my:a.my,at:a.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(j,{using:a.using}))})};c.ui.position={fit:{left:function(a,b){var d=c(window);b=a.left+b.elemWidth-d.width()-d.scrollLeft();a.left=b>0?a.left-b:Math.max(0,a.left)},top:function(a,b){var d=c(window);b=a.top+b.elemHeight-d.height()-d.scrollTop();a.top=b>0?a.top-b:Math.max(0,a.top)}},flip:{left:function(a,b){if(b.at[0]!=="center"){var d=c(window);d=a.left+b.elemWidth-d.width()-d.scrollLeft();var e=b.my[0]==="left"?\n
+-b.elemWidth:b.my[0]==="right"?b.elemWidth:0,g=-2*b.offset[0];a.left+=a.left<0?e+b.targetWidth+g:d>0?e-b.targetWidth+g:0}},top:function(a,b){if(b.at[1]!=="center"){var d=c(window);d=a.top+b.elemHeight-d.height()-d.scrollTop();var e=b.my[1]==="top"?-b.elemHeight:b.my[1]==="bottom"?b.elemHeight:0,g=b.at[1]==="top"?b.targetHeight:-b.targetHeight,h=-2*b.offset[1];a.top+=a.top<0?e+b.targetHeight+h:d>0?e+g+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(a,b){if(/static/.test(c.curCSS(a,"position")))a.style.position=\n
+"relative";var d=c(a),e=d.offset(),g=parseInt(c.curCSS(a,"top",true),10)||0,h=parseInt(c.curCSS(a,"left",true),10)||0;e={top:b.top-e.top+g,left:b.left-e.left+h};"using"in b?b.using.call(a,e):d.css(e)};c.fn.offset=function(a){var b=this[0];if(!b||!b.ownerDocument)return null;if(a)return this.each(function(){c.offset.setOffset(this,a)});return q.call(this)}}})(jQuery);\n
+;/*\n
+ * jQuery UI Draggable 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Draggables\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.mouse.js\n
+ *\tjquery.ui.widget.js\n
+ */\n
+(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==\n
+"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b=\n
+this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-\n
+this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions();\n
+d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||\n
+this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if(!this.element[0]||!this.element[0].parentNode)return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,\n
+b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==\n
+a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||\n
+0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],\n
+this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top-\n
+(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment==\n
+"parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&\n
+a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),\n
+10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],\n
+this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():\n
+f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])e=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+\n
+this.offset.click.top;if(a.pageX-this.offset.click.left>this.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;e=this.originalPageX+\n
+Math.round((e-this.originalPageX)/b.grid[0])*b.grid[0];e=this.containment?!(e-this.offset.click.left<this.containment[0]||e-this.offset.click.left>this.containment[2])?e:!(e-this.offset.click.left<this.containment[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-\n
+this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=\n
+this._convertPositionTo("absolute");return d.Widget.prototype._trigger.call(this,a,b,c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.1"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var g=d.data(this,"sortable");\n
+if(g&&!g.options.disabled){c.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",a,e)}})},stop:function(a,b){var c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;\n
+c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=\n
+1;this.instance.currentItem=d(f).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;\n
+this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=\n
+this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","iframeFix",{start:function(){var a=\n
+d(this).data("draggable").options;d(a.iframeFix===true?"iframe":a.iframeFix).each(function(){d(\'<div class="ui-draggable-iframeFix" style="background: #fff;"></div>\').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;\n
+if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!=\n
+"HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else if(a.pageX-\n
+b.overflowOffset.left<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-\n
+c.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,\n
+width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,g=b.offset.left,n=g+c.helperProportions.width,m=b.offset.top,o=m+c.helperProportions.height,h=c.snapElements.length-1;h>=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e<g&&g<k+e&&j-e<m&&m<l+e||i-e<g&&g<k+e&&j-e<o&&o<l+e||i-e<n&&n<k+e&&j-e<m&&m<l+e||i-e<n&&n<k+e&&j-e<o&&\n
+o<l+e){if(f.snapMode!="inner"){var p=Math.abs(j-o)<=e,q=Math.abs(l-m)<=e,r=Math.abs(i-n)<=e,s=Math.abs(k-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k}).left-c.margins.left}var t=\n
+p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(j-m)<=e;q=Math.abs(l-o)<=e;r=Math.abs(i-g)<=e;s=Math.abs(k-n)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:j,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:l-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:i}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:k-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[h].snapping&&\n
+(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=p||q||r||s||t}else{c.snapElements[h].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[h].item}));c.snapElements[h].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),\n
+10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);\n
+;/*\n
+ * jQuery UI Droppable 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Droppables\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.widget.js\n
+ *\tjquery.ui.mouse.js\n
+ *\tjquery.ui.draggable.js\n
+ */\n
+(function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);\n
+a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable ui-droppable-disabled").removeData("droppable").unbind(".droppable");return this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&\n
+this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);\n
+this._trigger("over",a,this.ui(b))}},_out:function(a){var b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return false;var e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var g=\n
+d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return false}});if(e)return false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",\n
+a,this.ui(c));return this.element}return false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.1"});d.ui.intersect=function(a,b,c){if(!b.offset)return false;var e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;\n
+switch(c){case "fit":return i<e&&g<k&&j<f&&h<l;case "intersect":return i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case "pointer":return d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=i&&\n
+e<=k||g>=i&&g<=k||e<i&&g>k);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue a}c[f].visible=c[f].element.css("display")!=\n
+"none";if(c[f].visible){c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight};e=="mousedown"&&c[f]._activate.call(c[f],b)}}},drop:function(a,b){var c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||\n
+a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return c},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var c=d.ui.intersect(a,this,this.options.tolerance);if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var e;if(this.options.greedy){var g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=\n
+d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})}}})(jQuery);\n
+;/*\n
+ * jQuery UI Resizable 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Resizables\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.mouse.js\n
+ *\tjquery.ui.widget.js\n
+ */\n
+(function(d){d.widget("ui.resizable",d.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var b=this,a=this.options;this.element.addClass("ui-resizable");d.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,\n
+_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&d.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(d(\'<div class="ui-wrapper" style="overflow: hidden;"></div>\').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),\n
+top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=\n
+this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!d(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",\n
+nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var e=0;e<c.length;e++){var g=d.trim(c[e]),f=d(\'<div class="ui-resizable-handle \'+("ui-resizable-"+g)+\'"></div>\');/sw|se|ne|nw/.test(g)&&f.css({zIndex:++a.zIndex});"se"==g&&f.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[g]=".ui-resizable-"+g;this.element.append(f)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor==\n
+String)this.handles[i]=d(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=d(this.handles[i],this.element),l=0;l=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,l);this._proportionallyResize()}d(this.handles[i])}};this._renderAxis(this.element);this._handles=d(".ui-resizable-handle",this.element).disableSelection();\n
+this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();d(this.element).addClass("ui-resizable-autohide").hover(function(){d(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){d(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){d(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};\n
+if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(d(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(),\n
+e=this.element;this.resizing=true;this.documentScroll={top:d(document).scrollTop(),left:d(document).scrollLeft()};if(e.is(".ui-draggable")||/absolute/.test(e.css("position")))e.css({position:"absolute",top:c.top,left:c.left});d.browser.opera&&/relative/.test(e.css("position"))&&e.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var g=m(this.helper.css("top"));if(a.containment){c+=d(a.containment).scrollLeft()||0;g+=d(a.containment).scrollTop()||0}this.offset=\n
+this.helper.offset();this.position={left:c,top:g};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:c,top:g};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio:\n
+this.originalSize.width/this.originalSize.height||1;a=d(".ui-resizable-"+this.axis).css("cursor");d("body").css("cursor",a=="auto"?this.axis+"-resize":a);e.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,e=this._change[this.axis];if(!e)return false;c=e.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize",\n
+b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var e=this._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName);e=g&&d.ui.hasScroll(e[0],"left")?0:c.sizeDiff.height;\n
+g={width:c.size.width-(g?0:c.sizeDiff.width),height:c.size.height-e};e=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var f=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(d.extend(g,{top:f,left:e}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}d("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",\n
+b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(k(b.left))this.position.left=b.left;if(k(b.top))this.position.top=b.top;if(k(b.height))this.size.height=b.height;if(k(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,e=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(e=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(e=="nw"){b.top=\n
+a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,e=k(b.width)&&a.maxWidth&&a.maxWidth<b.width,g=k(b.height)&&a.maxHeight&&a.maxHeight<b.height,f=k(b.width)&&a.minWidth&&a.minWidth>b.width,h=k(b.height)&&a.minHeight&&a.minHeight>b.height;if(f)b.width=a.minWidth;if(h)b.height=a.minHeight;if(e)b.width=a.maxWidth;if(g)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height,\n
+l=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(f&&l)b.left=i-a.minWidth;if(e&&l)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(g&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a<this._proportionallyResizeElements.length;a++){var c=this._proportionallyResizeElements[a];if(!this.borderDif){var e=[c.css("borderTopWidth"),\n
+c.css("borderRightWidth"),c.css("borderBottomWidth"),c.css("borderLeftWidth")],g=[c.css("paddingTop"),c.css("paddingRight"),c.css("paddingBottom"),c.css("paddingLeft")];this.borderDif=d.map(e,function(f,h){f=parseInt(f,10)||0;h=parseInt(g[h],10)||0;return f+h})}d.browser.msie&&(d(b).is(":hidden")||d(b).parents(":hidden").length)||c.css({height:b.height()-this.borderDif[0]-this.borderDif[2]||0,width:b.width()-this.borderDif[1]-this.borderDif[3]||0})}},_renderProxy:function(){var b=this.options;this.elementOffset=\n
+this.element.offset();if(this._helper){this.helper=this.helper||d(\'<div style="overflow:hidden;"></div>\');var a=d.browser.msie&&d.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+\n
+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return d.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return d.extend(this._change.n.apply(this,\n
+arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return d.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){d.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});d.extend(d.ui.resizable,\n
+{version:"1.8.1"});d.ui.plugin.add("resizable","alsoResize",{start:function(){var b=d(this).data("resizable").options,a=function(c){d(c).each(function(){d(this).data("resizable-alsoresize",{width:parseInt(d(this).width(),10),height:parseInt(d(this).height(),10),left:parseInt(d(this).css("left"),10),top:parseInt(d(this).css("top"),10)})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else d.each(b.alsoResize,function(c){a(c)});\n
+else a(b.alsoResize)},resize:function(){var b=d(this).data("resizable"),a=b.options,c=b.originalSize,e=b.originalPosition,g={height:b.size.height-c.height||0,width:b.size.width-c.width||0,top:b.position.top-e.top||0,left:b.position.left-e.left||0},f=function(h,i){d(h).each(function(){var j=d(this),l=d(this).data("resizable-alsoresize"),p={};d.each((i&&i.length?i:["width","height","top","left"])||["width","height","top","left"],function(n,o){if((n=(l[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(/relative/.test(j.css("position"))&&\n
+d.browser.opera){b._revertToRelativePosition=true;j.css({position:"absolute",top:"auto",left:"auto"})}j.css(p)})};typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?d.each(a.alsoResize,function(h,i){f(h,i)}):f(a.alsoResize)},stop:function(){var b=d(this).data("resizable");if(b._revertToRelativePosition&&d.browser.opera){b._revertToRelativePosition=false;el.css({position:"relative"})}d(this).removeData("resizable-alsoresize-start")}});d.ui.plugin.add("resizable","animate",{stop:function(b){var a=\n
+d(this).data("resizable"),c=a.options,e=a._proportionallyResizeElements,g=e.length&&/textarea/i.test(e[0].nodeName),f=g&&d.ui.hasScroll(e[0],"left")?0:a.sizeDiff.height;g={width:a.size.width-(g?0:a.sizeDiff.width),height:a.size.height-f};f=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(d.extend(g,h&&f?{top:h,left:f}:{}),{duration:c.animateDuration,easing:c.animateEasing,\n
+step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};e&&e.length&&d(e[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});d.ui.plugin.add("resizable","containment",{start:function(){var b=d(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof d?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=\n
+d(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:d(document),left:0,top:0,width:d(document).width(),height:d(document).height()||document.body.parentNode.scrollHeight}}else{var e=d(a),g=[];d(["Top","Right","Left","Bottom"]).each(function(i,j){g[i]=m(e.css("padding"+j))});b.containerOffset=e.offset();b.containerPosition=e.position();b.containerSize={height:e.innerHeight()-g[3],width:e.innerWidth()-g[1]};c=b.containerOffset;\n
+var f=b.containerSize.height,h=b.containerSize.width;h=d.ui.hasScroll(a,"left")?a.scrollWidth:h;f=d.ui.hasScroll(a)?a.scrollHeight:f;b.parentData={element:a,left:c.left,top:c.top,width:h,height:f}}}},resize:function(b){var a=d(this).data("resizable"),c=a.options,e=a.containerOffset,g=a.position;b=a._aspectRatio||b.shiftKey;var f={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))f=e;if(g.left<(a._helper?e.left:0)){a.size.width+=a._helper?a.position.left-e.left:\n
+a.position.left-f.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?e.left:0}if(g.top<(a._helper?e.top:0)){a.size.height+=a._helper?a.position.top-e.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?e.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-f.left:a.offset.left-f.left)+a.sizeDiff.width);e=Math.abs((a._helper?a.offset.top-f.top:a.offset.top-\n
+e.top)+a.sizeDiff.height);g=a.containerElement.get(0)==a.element.parent().get(0);f=/relative|absolute/.test(a.containerElement.css("position"));if(g&&f)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(e+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-e;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=d(this).data("resizable"),a=b.options,c=b.containerOffset,e=b.containerPosition,\n
+g=b.containerElement,f=d(b.helper),h=f.offset(),i=f.outerWidth()-b.sizeDiff.width;f=f.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f});b._helper&&!a.animate&&/static/.test(g.css("position"))&&d(this).css({left:h.left-e.left-c.left,width:i,height:f})}});d.ui.plugin.add("resizable","ghost",{start:function(){var b=d(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,\n
+display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=d(this).data("resizable");b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=d(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});d.ui.plugin.add("resizable","grid",{resize:function(){var b=\n
+d(this).data("resizable"),a=b.options,c=b.size,e=b.originalSize,g=b.originalPosition,f=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-e.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-e.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a}else if(/^(ne)$/.test(f)){b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}else{if(/^(sw)$/.test(f)){b.size.width=e.width+h;b.size.height=\n
+e.height+a}else{b.size.width=e.width+h;b.size.height=e.height+a;b.position.top=g.top-a}b.position.left=g.left-h}}});var m=function(b){return parseInt(b,10)||0},k=function(b){return!isNaN(parseInt(b,10))}})(jQuery);\n
+;/*\n
+ * jQuery UI Selectable 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Selectables\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.mouse.js\n
+ *\tjquery.ui.widget.js\n
+ */\n
+(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var d=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(d.options.filter,d.element[0]);f.each(function(){var c=e(this),b=c.offset();e.data(this,"selectable-item",{element:this,$element:c,left:b.left,top:b.top,right:b.left+c.outerWidth(),bottom:b.top+c.outerHeight(),startselected:false,selected:c.hasClass("ui-selected"),\n
+selecting:c.hasClass("ui-selecting"),unselecting:c.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e(document.createElement("div")).css({border:"1px dotted black"}).addClass("ui-selectable-helper")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},\n
+_mouseStart:function(d){var f=this;this.opos=[d.pageX,d.pageY];if(!this.options.disabled){var c=this.options;this.selectees=e(c.filter,this.element[0]);this._trigger("start",d);e(c.appendTo).append(this.helper);this.helper.css({"z-index":100,position:"absolute",left:d.clientX,top:d.clientY,width:0,height:0});c.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!d.metaKey){b.$element.removeClass("ui-selected");\n
+b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting",d,{unselecting:b.element})}});e(d.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){b.$element.removeClass("ui-unselecting").addClass("ui-selecting");b.unselecting=false;b.selecting=true;b.selected=true;f._trigger("selecting",d,{selecting:b.element});return false}})}},_mouseDrag:function(d){var f=this;this.dragged=true;if(!this.options.disabled){var c=this.options,\n
+b=this.opos[0],g=this.opos[1],h=d.pageX,i=d.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(c.tolerance=="touch")k=!(a.left>h||a.right<b||a.top>i||a.bottom<g);else if(c.tolerance=="fit")k=a.left>b&&a.right<h&&a.top>g&&a.bottom<i;if(k){if(a.selected){a.$element.removeClass("ui-selected");a.selected=false}if(a.unselecting){a.$element.removeClass("ui-unselecting");\n
+a.unselecting=false}if(!a.selecting){a.$element.addClass("ui-selecting");a.selecting=true;f._trigger("selecting",d,{selecting:a.element})}}else{if(a.selecting)if(d.metaKey&&a.startselected){a.$element.removeClass("ui-selecting");a.selecting=false;a.$element.addClass("ui-selected");a.selected=true}else{a.$element.removeClass("ui-selecting");a.selecting=false;if(a.startselected){a.$element.addClass("ui-unselecting");a.unselecting=true}f._trigger("unselecting",d,{unselecting:a.element})}if(a.selected)if(!d.metaKey&&\n
+!a.startselected){a.$element.removeClass("ui-selected");a.selected=false;a.$element.addClass("ui-unselecting");a.unselecting=true;f._trigger("unselecting",d,{unselecting:a.element})}}}});return false}},_mouseStop:function(d){var f=this;this.dragged=false;e(".ui-unselecting",this.element[0]).each(function(){var c=e.data(this,"selectable-item");c.$element.removeClass("ui-unselecting");c.unselecting=false;c.startselected=false;f._trigger("unselected",d,{unselected:c.element})});e(".ui-selecting",this.element[0]).each(function(){var c=\n
+e.data(this,"selectable-item");c.$element.removeClass("ui-selecting").addClass("ui-selected");c.selecting=false;c.selected=true;c.startselected=true;f._trigger("selected",d,{selected:c.element})});this._trigger("stop",d);this.helper.remove();return false}});e.extend(e.ui.selectable,{version:"1.8.1"})})(jQuery);\n
+;/*\n
+ * jQuery UI Sortable 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Sortables\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.mouse.js\n
+ *\tjquery.ui.widget.js\n
+ */\n
+(function(d){d.widget("ui.sortable",d.ui.mouse,{widgetEventPrefix:"sort",options:{appendTo:"parent",axis:false,connectWith:false,containment:false,cursor:"auto",cursorAt:false,dropOnEmpty:true,forcePlaceholderSize:false,forceHelperSize:false,grid:false,handle:false,helper:"original",items:"> *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable");\n
+this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(self,\n
+arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=\n
+c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,\n
+{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();\n
+if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",\n
+a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");\n
+if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop+b.scrollSpeed;else if(a.pageY-this.overflowOffset.top<b.scrollSensitivity)this.scrollParent[0].scrollTop=c=this.scrollParent[0].scrollTop-b.scrollSpeed;if(this.overflowOffset.left+\n
+this.scrollParent[0].offsetWidth-a.pageX<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft+b.scrollSpeed;else if(a.pageX-this.overflowOffset.left<b.scrollSensitivity)this.scrollParent[0].scrollLeft=c=this.scrollParent[0].scrollLeft-b.scrollSpeed}else{if(a.pageY-d(document).scrollTop()<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()-b.scrollSpeed);else if(d(window).height()-(a.pageY-d(document).scrollTop())<b.scrollSensitivity)c=d(document).scrollTop(d(document).scrollTop()+\n
+b.scrollSpeed);if(a.pageX-d(document).scrollLeft()<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()-b.scrollSpeed);else if(d(window).width()-(a.pageX-d(document).scrollLeft())<b.scrollSensitivity)c=d(document).scrollLeft(d(document).scrollLeft()+b.scrollSpeed)}c!==false&&d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a)}this.positionAbs=this._convertPositionTo("absolute");if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+\n
+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";for(b=this.items.length-1;b>=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,\n
+c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==\n
+document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp();this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",\n
+null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):\n
+d(this.domPosition.parent).prepend(this.currentItem);return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},\n
+_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+j<k&&b+l>g&&b+l<h;return this.options.tolerance=="pointer"||this.options.forcePointerForContainers||this.options.tolerance!="pointer"&&this.helperProportions[this.floating?"width":"height"]>a[this.floating?"width":"height"]?j:g<b+this.helperProportions.width/\n
+2&&c-this.helperProportions.width/2<h&&i<e+this.helperProportions.height/2&&f-this.helperProportions.height/2<k},_intersectsWithPointer:function(a){var b=d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left,a.width);b=b&&a;a=this._getDragVerticalDirection();var c=this._getDragHorizontalDirection();if(!b)return false;return this.floating?c&&c=="right"||a=="down"?2:1:a&&(a=="down"?2:1)},_intersectsWithSides:function(a){var b=\n
+d.ui.isOverAxis(this.positionAbs.top+this.offset.click.top,a.top+a.height/2,a.height);a=d.ui.isOverAxis(this.positionAbs.left+this.offset.click.left,a.left+a.width/2,a.width);var c=this._getDragVerticalDirection(),e=this._getDragHorizontalDirection();return this.floating&&e?e=="right"&&a||e=="left"&&!a:c&&(c=="down"&&b||c=="up"&&!b)},_getDragVerticalDirection:function(){var a=this.positionAbs.top-this.lastPositionAbs.top;return a!=0&&(a>0?"down":"up")},_getDragHorizontalDirection:function(){var a=\n
+this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?\n
+h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),\n
+b=0;b<this.items.length;b++)for(var c=0;c<a.length;c++)a[c]==this.items[b].item[0]&&this.items.splice(b,1)},_refreshItems:function(a){this.items=[];this.containers=[this];var b=this.items,c=[[d.isFunction(this.options.items)?this.options.items.call(this.element[0],a,{item:this.currentItem}):d(this.options.items,this.element),this]],e=this._connectWith();if(e)for(var f=e.length-1;f>=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?\n
+i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h<g;h++){i=d(e[h]);i.data("sortable-item",a);b.push({item:i,instance:a,width:0,height:0,left:0,top:0})}}},r
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>next</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+efreshPositions:function(a){if(this.offsetParent&&this.helper)this.offset.parent=this._getParentOffset();for(var b=this.items.length-1;b>=0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,\n
+c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=\n
+this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-\n
+parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],\n
+this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=\n
+1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)<b){b=Math.abs(h-f);e=this.items[g]}}if(e||this.options.dropOnEmpty){this.currentContainer=this.containers[c];e?this._rearrange(a,e,null,true):this._rearrange(a,null,this.containers[c].element,true);this._trigger("change",a,this._uiHash());this.containers[c]._trigger("change",\n
+a,this._uiHash(this));this.options.placeholder.update(this.currentContainer,this.placeholder);this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}}},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a,this.currentItem])):b.helper=="clone"?this.currentItem.clone():this.currentItem;a.parents("body").length||d(b.appendTo!="parent"?b.appendTo:this.currentItem[0].parentNode)[0].appendChild(a[0]);if(a[0]==\n
+this.currentItem[0])this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")};if(a[0].style.width==""||b.forceHelperSize)a.width(this.currentItem.width());if(a[0].style.height==""||b.forceHelperSize)a.height(this.currentItem.height());return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]||\n
+0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],\n
+this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.currentItem.position();return{top:a.top-\n
+(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;\n
+if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)){var b=\n
+d(a.containment)[0];a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-\n
+this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);return{top:b.top+\n
+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],\n
+this.offsetParent[0]))?this.offsetParent:this.scrollParent,e=/(html|body)/i.test(c[0].tagName);if(this.cssPosition=="relative"&&!(this.scrollParent[0]!=document&&this.scrollParent[0]!=this.offsetParent[0]))this.offset.relative=this._getRelativeOffset();var f=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.left<this.containment[0])f=this.containment[0]+this.offset.click.left;if(a.pageY-this.offset.click.top<this.containment[1])g=this.containment[1]+this.offset.click.top;\n
+if(a.pageX-this.offset.click.left>this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.top<this.containment[1])?g-b.grid[1]:g+b.grid[1]:g;f=this.originalPageX+Math.round((f-\n
+this.originalPageX)/b.grid[0])*b.grid[0];f=this.containment?!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:!(f-this.offset.click.left<this.containment[0])?f-b.grid[0]:f+b.grid[0]:f}}return{top:g-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():e?0:c.scrollTop()),left:f-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+\n
+(d.browser.safari&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():e?0:c.scrollLeft())}},_rearrange:function(a,b,c,e){c?c[0].appendChild(this.placeholder[0]):b.item[0].parentNode.insertBefore(this.placeholder[0],this.direction=="down"?b.item[0]:b.item[0].nextSibling);this.counter=this.counter?++this.counter:1;var f=this,g=this.counter;window.setTimeout(function(){g==f.counter&&f.refreshPositions(!e)},0)},_clear:function(a,b){this.reverting=false;var c=[];!this._noFinalSort&&\n
+this.currentItem[0].parentNode&&this.placeholder.before(this.currentItem);this._noFinalSort=null;if(this.helper[0]==this.currentItem[0]){for(var e in this._storedCSS)if(this._storedCSS[e]=="auto"||this._storedCSS[e]=="static")this._storedCSS[e]="";this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();this.fromOutside&&!b&&c.push(function(f){this._trigger("receive",f,this._uiHash(this.fromOutside))});if((this.fromOutside||this.domPosition.prev!=this.currentItem.prev().not(".ui-sortable-helper")[0]||\n
+this.domPosition.parent!=this.currentItem.parent()[0])&&!b)c.push(function(f){this._trigger("update",f,this._uiHash())});if(!d.ui.contains(this.element[0],this.currentItem[0])){b||c.push(function(f){this._trigger("remove",f,this._uiHash())});for(e=this.containers.length-1;e>=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",\n
+g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",\n
+this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}return false}b||this._trigger("beforeStop",a,this._uiHash());this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.helper[0]!=this.currentItem[0]&&this.helper.remove();this.helper=null;if(!b){for(e=\n
+0;e<c.length;e++)c[e].call(this,a);this._trigger("stop",a,this._uiHash())}this.fromOutside=false;return true},_trigger:function(){d.Widget.prototype._trigger.apply(this,arguments)===false&&this.cancel()},_uiHash:function(a){var b=a||this;return{helper:b.helper,placeholder:b.placeholder||d([]),position:b.position,originalPosition:b.originalPosition,offset:b.positionAbs,item:b.currentItem,sender:a?a.element:null}}});d.extend(d.ui.sortable,{version:"1.8.1"})})(jQuery);\n
+;/*\n
+ * jQuery UI Accordion 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Accordion\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.widget.js\n
+ */\n
+(function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:true,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()==location.href.toLowerCase()}},_create:function(){var a=this.options,b=this;this.running=0;this.element.addClass("ui-accordion ui-widget ui-helper-reset");\n
+this.element[0].nodeName=="UL"&&this.element.children("li").addClass("ui-accordion-li-fix");this.headers=this.element.find(a.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){c(this).removeClass("ui-state-focus")});\n
+this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");if(a.navigation){var d=this.element.find("a").filter(a.navigationFilter);if(d.length){var f=d.closest(".ui-accordion-header");this.active=f.length?f:d.closest(".ui-accordion-content").prev()}}this.active=this._findActive(this.active||a.active).toggleClass("ui-state-default").toggleClass("ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");this.active.next().addClass("ui-accordion-content-active");\n
+this._createIcons();this.resize();this.element.attr("role","tablist");this.headers.attr("role","tab").bind("keydown",function(g){return b._keydown(g)}).next().attr("role","tabpanel");this.headers.not(this.active||"").attr("aria-expanded","false").attr("tabIndex","-1").next().hide();this.active.length?this.active.attr("aria-expanded","true").attr("tabIndex","0"):this.headers.eq(0).attr("tabIndex","0");c.browser.safari||this.headers.find("a").attr("tabIndex","-1");a.event&&this.headers.bind(a.event+\n
+".accordion",function(g){b._clickHandler.call(b,g,this);g.preventDefault()})},_createIcons:function(){var a=this.options;if(a.icons){c("<span/>").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.find(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role").unbind(".accordion").removeData("accordion");\n
+this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex");this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active");if(a.autoHeight||a.fillHeight)b.css("height",\n
+"");return this},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons();b&&this._createIcons()}},_keydown:function(a){var b=c.ui.keyCode;if(!(this.options.disabled||a.altKey||a.ctrlKey)){var d=this.headers.length,f=this.headers.index(a.target),g=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:g=this.headers[(f+1)%d];break;case b.LEFT:case b.UP:g=this.headers[(f-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},\n
+a.target);a.preventDefault()}if(g){c(a.target).attr("tabIndex","-1");c(g).attr("tabIndex","0");g.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,\n
+b-c(this).innerHeight()+c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a=="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=\n
+this.options;if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]==this.active[0];d.active=d.collapsible&&b?false:c(".ui-accordion-header",this.element).index(a);if(!(this.running||!d.collapsible&&b)){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").find(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);\n
+a.next().addClass("ui-accordion-content-active")}e=a.next();f=this.active.next();g={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):e,oldContent:f};d=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(e,f,g,b,d)}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").find(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);\n
+this.active.next().addClass("ui-accordion-content-active");var f=this.active.next(),g={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:f},e=this.active=c([]);this._toggle(e,f,g)}},_toggle:function(a,b,d,f,g){var e=this.options,k=this;this.toShow=a;this.toHide=b;this.data=d;var i=function(){if(k)return k._completed.apply(k,arguments)};this._trigger("changestart",null,this.data);this.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&f?{toShow:c([]),\n
+toHide:b,complete:i,down:g,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:i,down:g,autoHeight:e.autoHeight||e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;f=c.ui.accordion.animations;var h=e.duration,j=e.animated;if(j&&!f[j]&&!c.easing[j])j="slide";f[j]||(f[j]=function(l){this.slide(l,{easing:j,\n
+duration:h||700})});f[j](d)}else{if(e.collapsible&&f)a.toggle();else{b.hide();a.show()}i(true)}b.prev().attr("aria-expanded","false").attr("tabIndex","-1").blur();a.prev().attr("aria-expanded","true").attr("tabIndex","0").focus()},_completed:function(a){var b=this.options;this.running=a?0:--this.running;if(!this.running){b.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,\n
+{version:"1.8.1",animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),f=0,g={},e={},k;b=a.toShow;k=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(i,h){e[h]="hide";i=(""+c.css(a.toShow[0],\n
+h)).match(/^([\\d+-.]+)(.*)$/);g[h]={value:i[1],unit:i[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(e,{step:function(i,h){if(h.prop=="height")f=h.end-h.start===0?0:(h.now-h.start)/(h.end-h.start);a.toShow[0].style[h.prop]=f*g[h.prop].value+g[h.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css("width",k);a.toShow.css({overflow:d});a.complete()}})}else a.toHide.animate({height:"hide"},\n
+a);else a.toShow.animate({height:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery);\n
+;/*\n
+ * jQuery UI Autocomplete 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Autocomplete\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.widget.js\n
+ *\tjquery.ui.position.js\n
+ */\n
+(function(e){e.widget("ui.autocomplete",{options:{minLength:1,delay:300},_create:function(){var a=this,b=this.element[0].ownerDocument;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){var d=e.ui.keyCode;switch(c.keyCode){case d.PAGE_UP:a._move("previousPage",c);break;case d.PAGE_DOWN:a._move("nextPage",c);break;case d.UP:a._move("previous",c);c.preventDefault();\n
+break;case d.DOWN:a._move("next",c);c.preventDefault();break;case d.ENTER:a.menu.active&&c.preventDefault();case d.TAB:if(!a.menu.active)return;a.menu.select(c);break;case d.ESCAPE:a.element.val(a.term);a.close(c);break;case d.LEFT:case d.RIGHT:case d.SHIFT:case d.CONTROL:case d.ALT:break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){a.search(null,c)},a.options.delay);break}}).bind("focus.autocomplete",function(){a.selectedItem=null;a.previous=a.element.val()}).bind("blur.autocomplete",\n
+function(c){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=e("<ul></ul>").addClass("ui-autocomplete").appendTo("body",b).menu({focus:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("focus",null,{item:d})&&/^key/.test(c.originalEvent.type)&&a.element.val(d.value)},selected:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("select",\n
+c,{item:d})&&a.element.val(d.value);a.close(c);c=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=c}a.selectedItem=d},blur:function(){a.menu.element.is(":visible")&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");\n
+this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource()},_initSource:function(){var a,b;if(e.isArray(this.options.source)){a=this.options.source;this.source=function(c,d){d(e.ui.autocomplete.filter(a,c.term))}}else if(typeof this.options.source==="string"){b=this.options.source;this.source=function(c,d){e.getJSON(b,c,d)}}else this.source=this.options.source},search:function(a,b){a=\n
+a!=null?a:this.element.val();if(a.length<this.options.minLength)return this.close(b);clearTimeout(this.closing);if(this._trigger("search")!==false)return this._search(a)},_search:function(a){this.term=this.element.addClass("ui-autocomplete-loading").val();this.source({term:a},this.response)},_response:function(a){if(a.length){a=this._normalize(a);this._suggest(a);this._trigger("open")}else this.close();this.element.removeClass("ui-autocomplete-loading")},close:function(a){clearTimeout(this.closing);\n
+if(this.menu.element.is(":visible")){this._trigger("close",a);this.menu.element.hide();this.menu.deactivate()}},_change:function(a){this.previous!==this.element.val()&&this._trigger("change",a,{item:this.selectedItem})},_normalize:function(a){if(a.length&&a[0].label&&a[0].value)return a;return e.map(a,function(b){if(typeof b==="string")return{label:b,value:b};return e.extend({label:b.label||b.value,value:b.value||b.label},b)})},_suggest:function(a){var b=this.menu.element.empty().zIndex(this.element.zIndex()+\n
+1),c;this._renderMenu(b,a);this.menu.deactivate();this.menu.refresh();this.menu.element.show().position({my:"left top",at:"left bottom",of:this.element,collision:"none"});a=b.width("").width();c=this.element.width();b.width(Math.max(a,c))},_renderMenu:function(a,b){var c=this;e.each(b,function(d,f){c._renderItem(a,f)})},_renderItem:function(a,b){return e("<li></li>").data("item.autocomplete",b).append("<a>"+b.label+"</a>").appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&\n
+/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/gi,"\\\\$1")},filter:function(a,b){var c=new RegExp(e.ui.autocomplete.escapeRegex(b),"i");return e.grep(a,function(d){return c.test(d.label||d.value||d)})}})})(jQuery);\n
+(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(b){if(e(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex",\n
+-1).mouseenter(function(b){a.activate(b,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.attr("scrollTop"),f=this.element.height();if(c<0)this.element.attr("scrollTop",d+c);else c>f&&this.element.attr("scrollTop",d+c-f+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})},deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");\n
+this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prev().length},last:function(){return this.active&&!this.active.next().length},move:function(a,b,c){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0);a.length?this.activate(c,a):this.activate(c,this.element.children(b))}else this.activate(c,this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active||\n
+this.last())this.activate(a,this.element.children(":first"));else{var b=this.active.offset().top,c=this.element.height(),d=this.element.children("li").filter(function(){var f=e(this).offset().top-b-c+e(this).height();return f<10&&f>-10});d.length||(d=this.element.children(":last"));this.activate(a,d)}else this.activate(a,this.element.children(!this.active||this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(":last"));\n
+else{var b=this.active.offset().top,c=this.element.height();result=this.element.children("li").filter(function(){var d=e(this).offset().top-b+c-e(this).height();return d<10&&d>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()<this.element.attr("scrollHeight")},select:function(a){this._trigger("selected",a,{item:this.active})}})})(jQuery);\n
+;/*\n
+ * jQuery UI Button 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Button\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.widget.js\n
+ */\n
+(function(a){var g,i=function(b){a(":ui-button",b.target.form).each(function(){var c=a(this).data("button");setTimeout(function(){c.refresh()},1)})},h=function(b){var c=b.name,d=b.form,e=a([]);if(c)e=d?a(d).find("[name=\'"+c+"\']"):a("[name=\'"+c+"\']",b.ownerDocument).filter(function(){return!this.form});return e};a.widget("ui.button",{options:{text:true,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset.button").bind("reset.button",i);this._determineButtonType();\n
+this.hasTitle=!!this.buttonElement.attr("title");var b=this,c=this.options,d=this.type==="checkbox"||this.type==="radio",e="ui-state-hover"+(!d?" ui-state-active":"");if(c.label===null)c.label=this.buttonElement.html();if(this.element.is(":disabled"))c.disabled=true;this.buttonElement.addClass("ui-button ui-widget ui-state-default ui-corner-all").attr("role","button").bind("mouseenter.button",function(){if(!c.disabled){a(this).addClass("ui-state-hover");this===g&&a(this).addClass("ui-state-active")}}).bind("mouseleave.button",\n
+function(){c.disabled||a(this).removeClass(e)}).bind("focus.button",function(){a(this).addClass("ui-state-focus")}).bind("blur.button",function(){a(this).removeClass("ui-state-focus")});d&&this.element.bind("change.button",function(){b.refresh()});if(this.type==="checkbox")this.buttonElement.bind("click.button",function(){if(c.disabled)return false;a(this).toggleClass("ui-state-active");b.buttonElement.attr("aria-pressed",b.element[0].checked)});else if(this.type==="radio")this.buttonElement.bind("click.button",\n
+function(){if(c.disabled)return false;a(this).addClass("ui-state-active");b.buttonElement.attr("aria-pressed",true);var f=b.element[0];h(f).not(f).map(function(){return a(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed",false)});else{this.buttonElement.bind("mousedown.button",function(){if(c.disabled)return false;a(this).addClass("ui-state-active");g=this;a(document).one("mouseup",function(){g=null})}).bind("mouseup.button",function(){if(c.disabled)return false;a(this).removeClass("ui-state-active")}).bind("keydown.button",\n
+function(f){if(c.disabled)return false;if(f.keyCode==a.ui.keyCode.SPACE||f.keyCode==a.ui.keyCode.ENTER)a(this).addClass("ui-state-active")}).bind("keyup.button",function(){a(this).removeClass("ui-state-active")});this.buttonElement.is("a")&&this.buttonElement.keyup(function(f){f.keyCode===a.ui.keyCode.SPACE&&a(this).click()})}this._setOption("disabled",c.disabled)},_determineButtonType:function(){this.type=this.element.is(":checkbox")?"checkbox":this.element.is(":radio")?"radio":this.element.is("input")?\n
+"input":"button";if(this.type==="checkbox"||this.type==="radio"){this.buttonElement=this.element.parents().last().find("[for="+this.element.attr("id")+"]");this.element.addClass("ui-helper-hidden-accessible");var b=this.element.is(":checked");b&&this.buttonElement.addClass("ui-state-active");this.buttonElement.attr("aria-pressed",b)}else this.buttonElement=this.element},widget:function(){return this.buttonElement},destroy:function(){this.element.removeClass("ui-helper-hidden-accessible");this.buttonElement.removeClass("ui-button ui-widget ui-state-default ui-corner-all ui-state-hover ui-state-active ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon ui-button-text-only").removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html());\n
+this.hasTitle||this.buttonElement.removeAttr("title");a.Widget.prototype.destroy.call(this)},_setOption:function(b,c){a.Widget.prototype._setOption.apply(this,arguments);if(b==="disabled")c?this.element.attr("disabled",true):this.element.removeAttr("disabled");this._resetButton()},refresh:function(){var b=this.element.is(":disabled");b!==this.options.disabled&&this._setOption("disabled",b);if(this.type==="radio")h(this.element[0]).each(function(){a(this).is(":checked")?a(this).button("widget").addClass("ui-state-active").attr("aria-pressed",\n
+true):a(this).button("widget").removeClass("ui-state-active").attr("aria-pressed",false)});else if(this.type==="checkbox")this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed",true):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed",false)},_resetButton:function(){if(this.type==="input")this.options.label&&this.element.val(this.options.label);else{var b=this.buttonElement,c=a("<span></span>").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),\n
+d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":""));d.primary&&b.prepend("<span class=\'ui-button-icon-primary ui-icon "+d.primary+"\'></span>");d.secondary&&b.append("<span class=\'ui-button-icon-secondary ui-icon "+d.secondary+"\'></span>");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon");this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}});\n
+a.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()},\n
+destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery);\n
+;/*\n
+ * jQuery UI Dialog 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Dialog\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.widget.js\n
+ *  jquery.ui.button.js\n
+ *\tjquery.ui.draggable.js\n
+ *\tjquery.ui.mouse.js\n
+ *\tjquery.ui.position.js\n
+ *\tjquery.ui.resizable.js\n
+ */\n
+(function(c){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");var a=this,b=a.options,d=b.title||a.originalTitle||"&#160;",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+\n
+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),\n
+h=c(\'<a href="#"></a>\').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("<span></span>").addClass("ui-dialog-title").attr("id",\n
+e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");\n
+a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==\n
+b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index",\n
+c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;d.next().length&&d.appendTo("body");a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===\n
+f[0]&&e.shiftKey){g.focus(1);return false}}});c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();a._trigger("open");a._isOpen=true;return a}},_createButtons:function(a){var b=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a,\n
+function(g,f){g=c(\'<button type="button"></button>\').text(g).click(function(){f.apply(b.element[0],arguments)}).appendTo(e);c.fn.button&&g.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");\n
+b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,originalSize:f.originalSize,position:f.position,size:f.size}}a=a===undefined?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");\n
+a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",f,b(h))},stop:function(f,h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",\n
+f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0];a=a||c.ui.dialog.prototype.options.position;if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(e,g){if(+b[e]===b[e]){d[e]=b[e];b[e]=\n
+g}})}else if(typeof a==="object"){if("left"in a){b[0]="left";d[0]=a.left}else if("right"in a){b[0]="right";d[0]=-a.right}if("top"in a){b[1]="top";d[1]=a.top}else if("bottom"in a){b[1]="bottom";d[1]=-a.bottom}}(a=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position({my:b.join(" "),at:b.join(" "),offset:d.join(" "),of:window,collision:"fit",using:function(e){var g=c(this).css(e).offset().top;g<0&&c(this).css("top",e.top-g)}});a||this.uiDialog.hide()},_setOption:function(a,\n
+b){var d=this,e=d.uiDialog,g=e.is(":data(resizable)"),f=false;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled");break;case "draggable":b?d._makeDraggable():e.draggable("destroy");break;\n
+case "height":f=true;break;case "maxHeight":g&&e.resizable("option","maxHeight",b);f=true;break;case "maxWidth":g&&e.resizable("option","maxWidth",b);f=true;break;case "minHeight":g&&e.resizable("option","minHeight",b);f=true;break;case "minWidth":g&&e.resizable("option","minWidth",b);f=true;break;case "position":d._position(b);break;case "resizable":g&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",\n
+d.uiDialogTitlebar).html(""+(b||"&#160;"));break;case "width":f=true;break}c.Widget.prototype._setOption.apply(d,arguments);f&&d._size()},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});b=this.uiDialog.css({height:"auto",width:a.width}).height();this.element.css(a.height==="auto"?{minHeight:Math.max(a.minHeight-b,0),height:"auto"}:{minHeight:0,height:Math.max(a.height-b,0)}).show();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",\n
+this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.1",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&\n
+c(document).bind(c.ui.dialog.overlay.events,function(d){return c(d.target).zIndex()>=c.ui.dialog.overlay.maxZ})},1);c(document).bind("keydown.dialog-overlay",function(d){if(a.options.closeOnEscape&&d.keyCode&&d.keyCode===c.ui.keyCode.ESCAPE){a.close(d);d.preventDefault()}});c(window).bind("resize.dialog-overlay",c.ui.dialog.overlay.resize)}var b=(this.oldInstances.pop()||c("<div></div>").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&\n
+b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,\n
+document.body.offsetHeight);return a<b?c(window).height()+"px":a+"px"}else return c(document).height()+"px"},width:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return a<b?c(window).width()+"px":a+"px"}else return c(document).width()+"px"},resize:function(){var a=c([]);c.each(c.ui.dialog.overlay.instances,function(){a=a.add(this)});a.css({width:0,\n
+height:0}).css({width:c.ui.dialog.overlay.width(),height:c.ui.dialog.overlay.height()})}});c.extend(c.ui.dialog.overlay.prototype,{destroy:function(){c.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);\n
+;/*\n
+ * jQuery UI Slider 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Slider\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.mouse.js\n
+ *\tjquery.ui.widget.js\n
+ */\n
+(function(d){d.widget("ui.slider",d.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var b=this,a=this.options;this._mouseSliding=this._keySliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");a.disabled&&this.element.addClass("ui-slider-disabled ui-disabled");\n
+this.range=d([]);if(a.range){if(a.range===true){this.range=d("<div></div>");if(!a.values)a.values=[this._valueMin(),this._valueMin()];if(a.values.length&&a.values.length!==2)a.values=[a.values[0],a.values[0]]}else this.range=d("<div></div>");this.range.appendTo(this.element).addClass("ui-slider-range");if(a.range==="min"||a.range==="max")this.range.addClass("ui-slider-range-"+a.range);this.range.addClass("ui-widget-header")}d(".ui-slider-handle",this.element).length===0&&d("<a href=\'#\'></a>").appendTo(this.element).addClass("ui-slider-handle");\n
+if(a.values&&a.values.length)for(;d(".ui-slider-handle",this.element).length<a.values.length;)d("<a href=\'#\'></a>").appendTo(this.element).addClass("ui-slider-handle");this.handles=d(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(c){c.preventDefault()}).hover(function(){a.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(a.disabled)d(this).blur();\n
+else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(c){d(this).data("index.ui-slider-handle",c)});this.handles.keydown(function(c){var e=true,f=d(this).data("index.ui-slider-handle"),g,h,i;if(!b.options.disabled){switch(c.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:e=\n
+false;if(!b._keySliding){b._keySliding=true;d(this).addClass("ui-state-active");g=b._start(c,f);if(g===false)return}break}i=b.options.step;g=b.options.values&&b.options.values.length?(h=b.values(f)):(h=b.value());switch(c.keyCode){case d.ui.keyCode.HOME:h=b._valueMin();break;case d.ui.keyCode.END:h=b._valueMax();break;case d.ui.keyCode.PAGE_UP:h=g+(b._valueMax()-b._valueMin())/5;break;case d.ui.keyCode.PAGE_DOWN:h=g-(b._valueMax()-b._valueMin())/5;break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(g===\n
+b._valueMax())return;h=g+i;break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(g===b._valueMin())return;h=g-i;break}b._slide(c,f,h);return e}}).keyup(function(c){var e=d(this).data("index.ui-slider-handle");if(b._keySliding){b._keySliding=false;b._stop(c,e);b._change(c,e);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");\n
+this._mouseDestroy();return this},_mouseCapture:function(b){var a=this.options,c,e,f,g,h,i;if(a.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c={x:b.pageX,y:b.pageY};e=this._normValueFromMouse(c);f=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(j){var k=Math.abs(e-h.values(j));if(f>k){f=k;g=d(this);i=j}});if(a.range===true&&this.values(1)===a.min){i+=1;g=d(this.handles[i])}if(this._start(b,\n
+i)===false)return false;this._mouseSliding=true;h._handleIndex=i;g.addClass("ui-state-active").focus();a=g.offset();this._clickOffset=!d(b.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:b.pageX-a.left-g.width()/2,top:b.pageY-a.top-g.height()/2-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)};e=this._normValueFromMouse(c);this._slide(b,i,e);return this._animateOff=true},_mouseStart:function(){return true},\n
+_mouseDrag:function(b){var a=this._normValueFromMouse({x:b.pageX,y:b.pageY});this._slide(b,this._handleIndex,a);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(b){var a;\n
+if(this.orientation==="horizontal"){a=this.elementSize.width;b=b.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{a=this.elementSize.height;b=b.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}a=b/a;if(a>1)a=1;if(a<0)a=0;if(this.orientation==="vertical")a=1-a;b=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+a*b)},_start:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=\n
+this.values(a);c.values=this.values()}return this._trigger("start",b,c)},_slide:function(b,a,c){var e;if(this.options.values&&this.options.values.length){e=this.values(a?0:1);if(this.options.values.length===2&&this.options.range===true&&(a===0&&c>e||a===1&&c<e))c=e;if(c!==this.values(a)){e=this.values();e[a]=c;b=this._trigger("slide",b,{handle:this.handles[a],value:c,values:e});this.values(a?0:1);b!==false&&this.values(a,c,true)}}else if(c!==this.value()){b=this._trigger("slide",b,{handle:this.handles[a],\n
+value:c});b!==false&&this.value(c)}},_stop:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("stop",b,c)},_change:function(b,a){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(a);c.values=this.values()}this._trigger("change",b,c)}},value:function(b){if(arguments.length){this.options.value=\n
+this._trimAlignValue(b);this._refreshValue();this._change(null,0)}return this._value()},values:function(b,a){var c,e,f;if(arguments.length>1){this.options.values[b]=this._trimAlignValue(a);this._refreshValue();this._change(null,b)}if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;e=arguments[0];for(f=0;f<c.length;f+=1){c[f]=this._trimAlignValue(e[f]);this._change(null,f)}this._refreshValue()}else return this.options.values&&this.options.values.length?this._values(b):this.value();\n
+else return this._values()},_setOption:function(b,a){var c,e=0;if(d.isArray(this.options.values))e=this.options.values.length;d.Widget.prototype._setOption.apply(this,arguments);switch(b){case "disabled":if(a){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled");this.element.addClass("ui-disabled")}else{this.handles.removeAttr("disabled");this.element.removeClass("ui-disabled")}break;case "orientation":this._detectOrientation();\n
+this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case "value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case "values":this._animateOff=true;this._refreshValue();for(c=0;c<e;c+=1)this._change(null,c);this._animateOff=false;break}},_value:function(){var b=this.options.value;return b=this._trimAlignValue(b)},_values:function(b){var a,c;if(arguments.length){a=this.options.values[b];\n
+return a=this._trimAlignValue(a)}else{a=this.options.values.slice();for(c=0;c<a.length;c+=1)a[c]=this._trimAlignValue(a[c]);return a}},_trimAlignValue:function(b){if(b<this._valueMin())return this._valueMin();if(b>this._valueMax())return this._valueMax();var a=this.options.step,c=b%a;b=b-c;if(c>=a/2)b+=a;return parseFloat(b.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var b=this.options.range,a=this.options,c=this,\n
+e=!this._animateOff?a.animate:false,f,g={},h,i,j,k;if(this.options.values&&this.options.values.length)this.handles.each(function(l){f=(c.values(l)-c._valueMin())/(c._valueMax()-c._valueMin())*100;g[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](g,a.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(l===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},a.animate);if(l===1)c.range[e?"animate":"css"]({width:f-h+"%"},{queue:false,duration:a.animate})}else{if(l===\n
+0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},a.animate);if(l===1)c.range[e?"animate":"css"]({height:f-h+"%"},{queue:false,duration:a.animate})}h=f});else{i=this.value();j=this._valueMin();k=this._valueMax();f=k!==j?(i-j)/(k-j)*100:0;g[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](g,a.animate);if(b==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"},a.animate);if(b==="max"&&this.orientation==="horizontal")this.range[e?\n
+"animate":"css"]({width:100-f+"%"},{queue:false,duration:a.animate});if(b==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},a.animate);if(b==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:a.animate})}}});d.extend(d.ui.slider,{version:"1.8.1"})})(jQuery);\n
+;/*\n
+ * jQuery UI Tabs 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Tabs\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.widget.js\n
+ */\n
+(function(d){var s=0,u=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"<div></div>",remove:null,select:null,show:null,spinner:"<em>Loading&#8230;</em>",tabTemplate:\'<li><a href="#{href}"><span>#{label}</span></a></li>\'},_create:function(){this._tabify(true)},_setOption:function(c,e){if(c=="selected")this.options.collapsible&&e==this.options.selected||\n
+this.select(e);else{this.options[c]=e;this._tabify()}},_tabId:function(c){return c.title&&c.title.replace(/\\s/g,"_").replace(/[^A-Za-z0-9\\-_:\\.]/g,"")||this.options.idPrefix+ ++s},_sanitizeSelector:function(c){return c.replace(/:/g,"\\\\:")},_cookie:function(){var c=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+ ++u);return d.cookie.apply(null,[c].concat(d.makeArray(arguments)))},_ui:function(c,e){return{tab:c,panel:e,index:this.anchors.index(c)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var c=\n
+d(this);c.html(c.data("label.tabs")).removeData("label.tabs")})},_tabify:function(c){function e(g,f){g.css({display:""});!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}this.list=this.element.find("ol,ul").eq(0);this.lis=d("li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);var a=this,b=this.options,h=/^#.+/;this.anchors.each(function(g,f){var j=d(f).attr("href"),l=j.split("#")[0],p;if(l&&(l===location.toString().split("#")[0]||\n
+(p=d("base")[0])&&l===p.href)){j=f.hash;f.href=j}if(h.test(j))a.panels=a.panels.add(a._sanitizeSelector(j));else if(j!="#"){d.data(f,"href.tabs",j);d.data(f,"load.tabs",j.replace(/#.*$/,""));j=a._tabId(f);f.href="#"+j;f=d("#"+j);if(!f.length){f=d(b.panelTemplate).attr("id",j).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else b.disabled.push(g)});if(c){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all");\n
+this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(b.selected===undefined){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){b.selected=g;return false}});if(typeof b.selected!="number"&&b.cookie)b.selected=parseInt(a._cookie(),10);if(typeof b.selected!="number"&&this.lis.filter(".ui-tabs-selected").length)b.selected=\n
+this.lis.index(this.lis.filter(".ui-tabs-selected"));b.selected=b.selected||(this.lis.length?0:-1)}else if(b.selected===null)b.selected=-1;b.selected=b.selected>=0&&this.anchors[b.selected]||b.selected<0?b.selected:0;b.disabled=d.unique(b.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(b.selected,b.disabled)!=-1&&b.disabled.splice(d.inArray(b.selected,b.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active");\n
+if(b.selected>=0&&this.anchors.length){this.panels.eq(b.selected).removeClass("ui-tabs-hide");this.lis.eq(b.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[b.selected],a.panels[b.selected]))});this.load(b.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else b.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[b.collapsible?"addClass":\n
+"removeClass"]("ui-tabs-collapsible");b.cookie&&this._cookie(b.selected,b.cookie);c=0;for(var i;i=this.lis[c];c++)d(i)[d.inArray(c,b.disabled)!=-1&&!d(i).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");b.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(b.event!="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs",\n
+function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(b.fx)if(d.isArray(b.fx)){m=b.fx[0];o=b.fx[1]}else m=o=b.fx;var q=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);a._trigger("show",\n
+null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},r=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")};this.anchors.bind(b.event+".tabs",\n
+function(){var g=this,f=d(this).closest("li"),j=a.panels.filter(":not(.ui-tabs-hide)"),l=d(a._sanitizeSelector(this.hash));if(f.hasClass("ui-tabs-selected")&&!b.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}b.selected=a.anchors.index(this);a.abort();if(b.collapsible)if(f.hasClass("ui-tabs-selected")){b.selected=-1;b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){r(g,\n
+j)}).dequeue("tabs");this.blur();return false}else if(!j.length){b.cookie&&a._cookie(b.selected,b.cookie);a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this));this.blur();return false}b.cookie&&a._cookie(b.selected,b.cookie);if(l.length){j.length&&a.element.queue("tabs",function(){r(g,j)});a.element.queue("tabs",function(){q(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",\n
+function(){return false})},destroy:function(){var c=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(b,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,\n
+"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});c.cookie&&this._cookie(null,c.cookie);return this},add:function(c,e,a){if(a===undefined)a=this.anchors.length;var b=this,h=this.options;e=d(h.tabTemplate.replace(/#\\{href\\}/g,c).replace(/#\\{label\\}/g,e));c=!c.indexOf("#")?c.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",\n
+true);var i=d("#"+c);i.length||(i=d(h.panelTemplate).attr("id",c).data("destroy.tabs",true));i.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);i.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]);i.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");i.removeClass("ui-tabs-hide");\n
+this.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[0],b.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(c){var e=this.options,a=this.lis.eq(c).remove(),b=this.panels.eq(c).remove();if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(c+(c+1<this.anchors.length?1:-1));e.disabled=d.map(d.grep(e.disabled,function(h){return h!=c}),function(h){return h>=c?--h:h});this._tabify();this._trigger("remove",\n
+null,this._ui(a.find("a")[0],b[0]));return this},enable:function(c){var e=this.options;if(d.inArray(c,e.disabled)!=-1){this.lis.eq(c).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=c});this._trigger("enable",null,this._ui(this.anchors[c],this.panels[c]));return this}},disable:function(c){var e=this.options;if(c!=e.selected){this.lis.eq(c).addClass("ui-state-disabled");e.disabled.push(c);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[c],this.panels[c]))}return this},\n
+select:function(c){if(typeof c=="string")c=this.anchors.index(this.anchors.filter("[href$="+c+"]"));else if(c===null)c=-1;if(c==-1&&this.options.collapsible)c=this.options.selected;this.anchors.eq(c).trigger(thi
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>next</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+s.options.event+".tabs");return this},load:function(c){var e=this,a=this.options,b=this.anchors.eq(c)[0],h=d.data(b,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(b,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(c).addClass("ui-state-processing");\n
+if(a.spinner){var i=d("span",b);i.data("label.tabs",i.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(b.hash)).html(k);e._cleanup();a.cache&&d.data(b,"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[c],e.panels[c]));try{a.ajaxOptions.error(k,n,c,b)}catch(m){}}}));e.element.dequeue("tabs");return this}},\n
+abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(c,e){this.anchors.eq(c).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.1"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(c,e){var a=this,b=this.options,h=a._rotate||(a._rotate=\n
+function(i){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=b.selected;a.select(++k<a.anchors.length?k:0)},c);i&&i.stopPropagation()});e=a._unrotate||(a._unrotate=!e?function(i){i.clientX&&a.rotate(null)}:function(){t=b.selected;h()});if(c){this.element.bind("tabsshow",h);this.anchors.bind(b.event+".tabs",e);h()}else{clearTimeout(a.rotation);this.element.unbind("tabsshow",h);this.anchors.unbind(b.event+".tabs",e);delete this._rotate;delete this._unrotate}return this}})})(jQuery);\n
+;/*\n
+ * jQuery UI Datepicker 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Datepicker\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ */\n
+(function(d){function J(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=\n
+"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",\n
+"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"show",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",\n
+minDate:null,maxDate:null,duration:"_default",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=d(\'<div id="\'+this._mainDivId+\'" class="ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-helper-hidden-accessible"></div>\')}function E(a,b){d.extend(a,\n
+b);for(var c in b)if(b[c]==null||b[c]==undefined)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.1"}});var y=(new Date).getTime();d.extend(J.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){E(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=\n
+f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id)a.id="dp"+ ++this.uuid;var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_])/g,"\\\\\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d(\'<div class="\'+this._inlineClass+\' ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all"></div>\')}},\n
+_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&\n
+b.append.remove();if(c){b.append=d(\'<span class="\'+this._appendClass+\'">\'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d(\'<button type="button"></button>\').addClass(this._triggerClass).html(f==\n
+""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a,\n
+c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),\n
+true);this._updateDatepicker(b);this._updateAlternate(b)}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){a="dp"+ ++this.uuid;this._dialogInput=d(\'<input type="text" id="\'+a+\'" style="position: absolute; top: -100px; width: 0px; z-index: -10;"/>\');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}E(a.settings,e||{});b=b&&b.constructor==Date?\n
+this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);\n
+d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},\n
+_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=\n
+d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;\n
+for(var b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return true;return false},_getInst:function(a){try{return d.data(a,"datepicker")}catch(b){throw"Missing instance data for this datepicker";}},_optionDatepicker:function(a,b,c){var e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof b=="string"){f={};f[b]=c}if(e){this._curInst==e&&\n
+this._hideDatepicker();var h=this._getDateDatepicker(a,true);E(e.settings,f);this._attachments(d(a),e);this._autoSize(e);this._setDateDatepicker(a,h);this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&\n
+!a.inline&&this._setDateFromField(a,b);return a?this._getDate(a):null},_doKeyDown:function(a){var b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 9:d.datepicker._hideDatepicker();c=false;break;case 13:c=d("td."+d.datepicker._dayOverClass,b.dpDiv).add(d("td."+d.datepicker._currentClass,b.dpDiv));c[0]?d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]):d.datepicker._hideDatepicker();\n
+return false;case 27:d.datepicker._hideDatepicker();break;case 33:d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case 36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||\n
+a.metaKey;break;case 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case 38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case 39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,\n
+a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case 40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));\n
+var c=String.fromCharCode(a.charCode==undefined?a.keyCode:a.charCode);return a.ctrlKey||c<" "||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||\n
+a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");E(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);\n
+d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&\n
+d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=d.datepicker._getBorders(b.dpDiv);b.dpDiv.find("iframe.ui-datepicker-cover").css({left:-i[0],top:-i[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,\n
+h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a)).find("iframe.ui-datepicker-cover").css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover");\n
+this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover");\n
+this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);var e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");\n
+a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input.focus()},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),\n
+k=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>k&&k>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1);)a=a[b?"previousSibling":"nextSibling"];\n
+a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val():\n
+"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&\n
+!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;\n
+b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){a=this._getInst(d(a)[0]);\n
+a.input&&a._selectingMonthYear&&!d.browser.msie&&a.input.focus();a._selectingMonthYear=!a._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);this._getInst(a[0]);this._selectDate(a,\n
+"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||\n
+this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;\n
+for(var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff,f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,k=c=-1,l=-1,u=-1,j=false,o=function(p){(p=z+1<a.length&&a.charAt(z+1)==p)&&z++;return p},m=function(p){o(p);p=new RegExp("^\\\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"?4:p=="o"?3:2)+"}");p=b.substring(s).match(p);if(!p)throw"Missing number at position "+\n
+s;s+=p[0].length;return parseInt(p[0],10)},n=function(p,w,G){p=o(p)?G:w;for(w=0;w<p.length;w++)if(b.substr(s,p[w].length)==p[w]){s+=p[w].length;return w+1}throw"Unknown name at position "+s;},r=function(){if(b.charAt(s)!=a.charAt(z))throw"Unexpected literal at position "+s;s++},s=0,z=0;z<a.length;z++)if(j)if(a.charAt(z)=="\'"&&!o("\'"))j=false;else r();else switch(a.charAt(z)){case "d":l=m("d");break;case "D":n("D",f,h);break;case "o":u=m("o");break;case "m":k=m("m");break;case "M":k=n("M",i,g);break;\n
+case "y":c=m("y");break;case "@":var v=new Date(m("@"));c=v.getFullYear();k=v.getMonth()+1;l=v.getDate();break;case "!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();k=v.getMonth()+1;l=v.getDate();break;case "\'":if(o("\'"))r();else j=true;break;default:r()}if(c==-1)c=(new Date).getFullYear();else if(c<100)c+=(new Date).getFullYear()-(new Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){k=1;l=u;do{e=this._getDaysInMonth(c,k-1);if(l<=e)break;k++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,\n
+k-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=k||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?\n
+c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=j+1<a.length&&a.charAt(j+1)==o)&&j++;return o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return m},k=function(o,m,n,r){return i(o)?r[m]:n[m]},l="",u=false;if(b)for(var j=0;j<a.length;j++)if(u)if(a.charAt(j)=="\'"&&!i("\'"))u=false;else l+=a.charAt(j);else switch(a.charAt(j)){case "d":l+=g("d",b.getDate(),2);break;\n
+case "D":l+=k("D",b.getDay(),e,f);break;case "o":l+=g("o",(b.getTime()-(new Date(b.getFullYear(),0,0)).getTime())/864E5,3);break;case "m":l+=g("m",b.getMonth()+1,2);break;case "M":l+=k("M",b.getMonth(),h,c);break;case "y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case "@":l+=b.getTime();break;case "!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "\'":if(i("\'"))l+="\'";else u=true;break;default:l+=a.charAt(j)}return l},_possibleChars:function(a){for(var b="",c=false,\n
+e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=0;f<a.length;f++)if(c)if(a.charAt(f)=="\'"&&!e("\'"))c=false;else b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case "@":b+="0123456789";break;case "D":case "M":return null;case "\'":if(e("\'"))b+="\'";else c=true;break;default:b+=a.charAt(f)}return b},_get:function(a,b){return a.settings[b]!==undefined?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var c=this._get(a,"dateFormat"),\n
+e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);var i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new Date))},\n
+_determineDate:function(a,b,c){var e=function(h){var i=new Date;i.setDate(i.getDate()+h);return i},f=function(h){try{return d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new Date,k=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var u=/([+-]?[0-9]+)\\s*(d|D|w|W|m|M|y|Y)?/g,j=u.exec(h);j;){switch(j[2]||"d"){case "d":case "D":g+=parseInt(j[1],10);break;case "w":case "W":g+=parseInt(j[1],\n
+10)*7;break;case "m":case "M":l+=parseInt(j[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(k,l));break;case "y":case "Y":k+=parseInt(j[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(k,l));break}j=u.exec(h)}return new Date(k,l,g)};if(b=(b=b==null?c:typeof b=="string"?f(b):typeof b=="number"?isNaN(b)?c:e(b):b)&&b.toString()=="Invalid Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return null;\n
+a.setHours(a.getHours()>12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||\n
+a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),k=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?\n
+new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),j=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=j&&n<j?j:n;this._daylightSavingAdjust(new Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-k,1)),this._getFormatConfig(a));\n
+n=this._canAdjustMonth(a,-1,m,g)?\'<a class="ui-datepicker-prev ui-corner-all" onclick="DP_jQuery_\'+y+".datepicker._adjustDate(\'#"+a.id+"\', -"+k+", \'M\');\\" title=\\""+n+\'"><span class="ui-icon ui-icon-circle-triangle-\'+(c?"e":"w")+\'">\'+n+"</span></a>":f?"":\'<a class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="\'+n+\'"><span class="ui-icon ui-icon-circle-triangle-\'+(c?"e":"w")+\'">\'+n+"</span></a>";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,\n
+g+k,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?\'<a class="ui-datepicker-next ui-corner-all" onclick="DP_jQuery_\'+y+".datepicker._adjustDate(\'#"+a.id+"\', +"+k+", \'M\');\\" title=\\""+r+\'"><span class="ui-icon ui-icon-circle-triangle-\'+(c?"w":"e")+\'">\'+r+"</span></a>":f?"":\'<a class="ui-datepicker-next ui-corner-all ui-state-disabled" title="\'+r+\'"><span class="ui-icon ui-icon-circle-triangle-\'+(c?"w":"e")+\'">\'+r+"</span></a>";k=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&\n
+a.currentDay?u:b;k=!h?k:this.formatDate(k,r,this._getFormatConfig(a));h=!a.inline?\'<button type="button" class="ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all" onclick="DP_jQuery_\'+y+\'.datepicker._hideDatepicker();">\'+this._get(a,"closeText")+"</button>":"";e=e?\'<div class="ui-datepicker-buttonpane ui-widget-content">\'+(c?h:"")+(this._isInRange(a,r)?\'<button type="button" class="ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all" onclick="DP_jQuery_\'+\n
+y+".datepicker._gotoToday(\'#"+a.id+"\');\\">"+k+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;k=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),w=this._get(a,"showOtherMonths"),G=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var K=this._getDefaultDate(a),H="",C=0;C<i[0];C++){for(var L=\n
+"",D=0;D<i[1];D++){var M=this._daylightSavingAdjust(new Date(m,g,a.selectedDay)),t=" ui-corner-all",x="";if(l){x+=\'<div class="ui-datepicker-group\';if(i[1]>1)switch(D){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+=\'">\'}x+=\'<div class="ui-datepicker-header ui-widget-header ui-helper-clearfix\'+t+\'">\'+(/all|left/.test(t)&&C==0?c?\n
+f:n:"")+(/all|right/.test(t)&&C==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,j,o,C>0||D>0,z,v)+\'</div><table class="ui-datepicker-calendar"><thead><tr>\';var A=k?\'<th class="ui-datepicker-week-col">\'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var q=(t+h)%7;A+="<th"+((t+h+6)%7>=5?\' class="ui-datepicker-week-end"\':"")+\'><span title="\'+r[q]+\'">\'+s[q]+"</span></th>"}x+=A+"</tr></thead><tbody>";A=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,\n
+A);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;A=l?6:Math.ceil((t+A)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var N=0;N<A;N++){x+="<tr>";var O=!k?"":\'<td class="ui-datepicker-week-col">\'+this._get(a,"calculateWeek")(q)+"</td>";for(t=0;t<7;t++){var F=p?p.apply(a.input?a.input[0]:null,[q]):[true,""],B=q.getMonth()!=g,I=B&&!G||!F[0]||j&&q<j||o&&q>o;O+=\'<td class="\'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(B?" ui-datepicker-other-month":"")+(q.getTime()==M.getTime()&&g==a.selectedMonth&&\n
+a._keyEvent||K.getTime()==q.getTime()&&K.getTime()==M.getTime()?" "+this._dayOverClass:"")+(I?" "+this._unselectableClass+" ui-state-disabled":"")+(B&&!w?"":" "+F[1]+(q.getTime()==u.getTime()?" "+this._currentClass:"")+(q.getTime()==b.getTime()?" ui-datepicker-today":""))+\'"\'+((!B||w)&&F[2]?\' title="\'+F[2]+\'"\':"")+(I?"":\' onclick="DP_jQuery_\'+y+".datepicker._selectDay(\'#"+a.id+"\',"+q.getMonth()+","+q.getFullYear()+\', this);return false;"\')+">"+(B&&!w?"&#xa0;":I?\'<span class="ui-state-default">\'+q.getDate()+\n
+"</span>":\'<a class="ui-state-default\'+(q.getTime()==b.getTime()?" ui-state-highlight":"")+(q.getTime()==u.getTime()?" ui-state-active":"")+(B?" ui-priority-secondary":"")+\'" href="#">\'+q.getDate()+"</a>")+"</td>";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=O+"</tr>"}g++;if(g>11){g=0;m++}x+="</tbody></table>"+(l?"</div>"+(i[0]>0&&D==i[1]-1?\'<div class="ui-datepicker-row-break"></div>\':""):"");L+=x}H+=L}H+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?\'<iframe src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>\':\n
+"");a._keyEvent=false;return H},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var k=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),j=\'<div class="ui-datepicker-title">\',o="";if(h||!k)o+=\'<span class="ui-datepicker-month">\'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+=\'<select class="ui-datepicker-month" onchange="DP_jQuery_\'+y+".datepicker._selectMonthYear(\'#"+a.id+"\', this, \'M\');\\" onclick=\\"DP_jQuery_"+y+".datepicker._clickMonthYear(\'#"+\n
+a.id+"\');\\">";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&(!m||n<=f.getMonth()))o+=\'<option value="\'+n+\'"\'+(n==b?\' selected="selected"\':"")+">"+g[n]+"</option>";o+="</select>"}u||(j+=o+(h||!(k&&l)?"&#xa0;":""));if(h||!l)j+=\'<span class="ui-datepicker-year">\'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b,\n
+i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(j+=\'<select class="ui-datepicker-year" onchange="DP_jQuery_\'+y+".datepicker._selectMonthYear(\'#"+a.id+"\', this, \'Y\');\\" onclick=\\"DP_jQuery_"+y+".datepicker._clickMonthYear(\'#"+a.id+"\');\\">";b<=g;b++)j+=\'<option value="\'+b+\'"\'+(b==c?\' selected="selected"\':"")+">"+b+"</option>";j+="</select>"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?"&#xa0;":"")+o;j+="</div>";return j},_adjustInstDate:function(a,b,c){var e=\n
+a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return b=a&&b>a?a:b},_notifyChange:function(a){var b=this._get(a,\n
+"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a);\n
+c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,\n
+"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=\n
+function(a){if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));\n
+return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new J;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.1";window["DP_jQuery_"+y]=d})(jQuery);\n
+;/*\n
+ * jQuery UI Progressbar 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Progressbar\n
+ *\n
+ * Depends:\n
+ *   jquery.ui.core.js\n
+ *   jquery.ui.widget.js\n
+ */\n
+(function(b){b.widget("ui.progressbar",{options:{value:0},_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this._valueMin(),"aria-valuemax":this._valueMax(),"aria-valuenow":this._value()});this.valueDiv=b("<div class=\'ui-progressbar-value ui-widget-header ui-corner-left\'></div>").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow");\n
+this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===undefined)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){switch(a){case "value":this.options.value=c;this._refreshValue();this._trigger("change");break}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;if(a<this._valueMin())a=this._valueMin();if(a>this._valueMax())a=this._valueMax();return a},\n
+_valueMin:function(){return 0},_valueMax:function(){return 100},_refreshValue:function(){var a=this.value();this.valueDiv[a===this._valueMax()?"addClass":"removeClass"]("ui-corner-right").width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.1"})})(jQuery);\n
+;/*\n
+ * jQuery UI Effects 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/\n
+ */\n
+jQuery.effects||function(f){function k(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\\(\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*,\\s*([0-9]{1,3})\\s*\\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\\(\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*,\\s*([0-9]+(?:\\.[0-9]+)?)\\%\\s*\\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1],\n
+16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\\(0, 0, 0, 0\\)/.exec(c))return l.transparent;return l[f.trim(c).toLowerCase()]}function q(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return k(b)}function m(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle,\n
+a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\\-(\\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function n(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in r||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function s(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function j(c,a,b,d){if(typeof c=="object"){d=\n
+a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(f.isFunction(b)){d=b;b=null}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:f.fx.speeds[b]||f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=q(b.elem,a);b.end=k(b.end);b.colorInit=\n
+true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var l={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,\n
+183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,\n
+165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},o=["add","remove","toggle"],r={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,d){if(f.isFunction(b)){d=b;b=null}return this.each(function(){var e=f(this),g=e.attr("style")||" ",h=n(m.call(this)),p,t=e.attr("className");f.each(o,function(u,\n
+i){c[i]&&e[i+"Class"](c[i])});p=n(m.call(this));e.attr("className",t);e.animate(s(h,p),a,b,function(){f.each(o,function(u,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)})})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?\n
+f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===undefined?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.1",save:function(c,a){for(var b=0;b<a.length;b++)a[b]!==\n
+null&&c.data("ec.storage."+a[b],c[0].style[a[b]])},restore:function(c,a){for(var b=0;b<a.length;b++)a[b]!==null&&c.css(a[b],c.data("ec.storage."+a[b]))},setMode:function(c,a){if(a=="toggle")a=c.is(":hidden")?"show":"hide";return a},getBaseline:function(c,a){var b;switch(c[0]){case "top":b=0;break;case "middle":b=0.5;break;case "bottom":b=1;break;default:b=c[0]/a.height}switch(c[1]){case "left":c=0;break;case "center":c=0.5;break;case "right":c=1;break;default:c=c[1]/a.width}return{x:c,y:b}},createWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent();\n
+var a={width:c.outerWidth(true),height:c.outerHeight(true),"float":c.css("float")},b=f("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"});\n
+c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=j.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c||\n
+typeof c=="number"||f.fx.speeds[c])return this._show.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c])return this._hide.apply(this,arguments);else{var a=j.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||typeof c=="boolean"||f.isFunction(c))return this.__toggle.apply(this,\n
+arguments);else{var a=j.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,\n
+a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+\n
+b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,\n
+10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*\n
+a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return-(h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g))+b},easeOutElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);return h*Math.pow(2,-10*a)*Math.sin((a*e-c)*2*Math.PI/g)+d+b},easeInOutElastic:function(c,\n
+a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e/2)==2)return b+d;g||(g=e*0.3*1.5);if(h<Math.abs(d)){h=d;c=g/4}else c=g/(2*Math.PI)*Math.asin(d/h);if(a<1)return-0.5*h*Math.pow(2,10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)+b;return h*Math.pow(2,-10*(a-=1))*Math.sin((a*e-c)*2*Math.PI/g)*0.5+d+b},easeInBack:function(c,a,b,d,e,g){if(g==undefined)g=1.70158;return d*(a/=e)*a*((g+1)*a-g)+b},easeOutBack:function(c,a,b,d,e,g){if(g==undefined)g=1.70158;return d*((a=a/e-1)*a*((g+1)*a+g)+1)+b},easeInOutBack:function(c,\n
+a,b,d,e,g){if(g==undefined)g=1.70158;if((a/=e/2)<1)return d/2*a*a*(((g*=1.525)+1)*a-g)+b;return d/2*((a-=2)*a*(((g*=1.525)+1)*a+g)+2)+b},easeInBounce:function(c,a,b,d,e){return d-f.easing.easeOutBounce(c,e-a,0,d,e)+b},easeOutBounce:function(c,a,b,d,e){return(a/=e)<1/2.75?d*7.5625*a*a+b:a<2/2.75?d*(7.5625*(a-=1.5/2.75)*a+0.75)+b:a<2.5/2.75?d*(7.5625*(a-=2.25/2.75)*a+0.9375)+b:d*(7.5625*(a-=2.625/2.75)*a+0.984375)+b},easeInOutBounce:function(c,a,b,d,e){if(a<e/2)return f.easing.easeInBounce(c,a*2,0,\n
+d,e)*0.5+b;return f.easing.easeOutBounce(c,a*2-e,0,d,e)*0.5+d*0.5+b}})}(jQuery);\n
+;/*\n
+ * jQuery UI Effects Blind 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Blind\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(b){b.effects.blind=function(c){return this.queue(function(){var a=b(this),g=["position","top","left"],f=b.effects.setMode(a,c.options.mode||"hide"),d=c.options.direction||"vertical";b.effects.save(a,g);a.show();var e=b.effects.createWrapper(a).css({overflow:"hidden"}),h=d=="vertical"?"height":"width";d=d=="vertical"?e.height():e.width();f=="show"&&e.css(h,0);var i={};i[h]=f=="show"?d:0;e.animate(i,c.duration,c.options.easing,function(){f=="hide"&&a.hide();b.effects.restore(a,g);b.effects.removeWrapper(a);\n
+c.callback&&c.callback.apply(a[0],arguments);a.dequeue()})})}})(jQuery);\n
+;/*\n
+ * jQuery UI Effects Bounce 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Bounce\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(e){e.effects.bounce=function(b){return this.queue(function(){var a=e(this),l=["position","top","left"],h=e.effects.setMode(a,b.options.mode||"effect"),d=b.options.direction||"up",c=b.options.distance||20,m=b.options.times||5,i=b.duration||250;/show|hide/.test(h)&&l.push("opacity");e.effects.save(a,l);a.show();e.effects.createWrapper(a);var f=d=="up"||d=="down"?"top":"left";d=d=="up"||d=="left"?"pos":"neg";c=b.options.distance||(f=="top"?a.outerHeight({margin:true})/3:a.outerWidth({margin:true})/\n
+3);if(h=="show")a.css("opacity",0).css(f,d=="pos"?-c:c);if(h=="hide")c/=m*2;h!="hide"&&m--;if(h=="show"){var g={opacity:1};g[f]=(d=="pos"?"+=":"-=")+c;a.animate(g,i/2,b.options.easing);c/=2;m--}for(g=0;g<m;g++){var j={},k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing);c=h=="hide"?c*2:c/2}if(h=="hide"){g={opacity:0};g[f]=(d=="pos"?"-=":"+=")+c;a.animate(g,i/2,b.options.easing,function(){a.hide();e.effects.restore(a,l);e.effects.removeWrapper(a);\n
+b.callback&&b.callback.apply(this,arguments)})}else{j={};k={};j[f]=(d=="pos"?"-=":"+=")+c;k[f]=(d=="pos"?"+=":"-=")+c;a.animate(j,i/2,b.options.easing).animate(k,i/2,b.options.easing,function(){e.effects.restore(a,l);e.effects.removeWrapper(a);b.callback&&b.callback.apply(this,arguments)})}a.queue("fx",function(){a.dequeue()});a.dequeue()})}})(jQuery);\n
+;/*\n
+ * jQuery UI Effects Clip 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Clip\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(b){b.effects.clip=function(e){return this.queue(function(){var a=b(this),i=["position","top","left","height","width"],f=b.effects.setMode(a,e.options.mode||"hide"),c=e.options.direction||"vertical";b.effects.save(a,i);a.show();var d=b.effects.createWrapper(a).css({overflow:"hidden"});d=a[0].tagName=="IMG"?d:a;var g={size:c=="vertical"?"height":"width",position:c=="vertical"?"top":"left"};c=c=="vertical"?d.height():d.width();if(f=="show"){d.css(g.size,0);d.css(g.position,c/2)}var h={};h[g.size]=\n
+f=="show"?c:0;h[g.position]=f=="show"?0:c/2;d.animate(h,{queue:false,duration:e.duration,easing:e.options.easing,complete:function(){f=="hide"&&a.hide();b.effects.restore(a,i);b.effects.removeWrapper(a);e.callback&&e.callback.apply(a[0],arguments);a.dequeue()}})})}})(jQuery);\n
+;/*\n
+ * jQuery UI Effects Drop 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Drop\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(c){c.effects.drop=function(d){return this.queue(function(){var a=c(this),h=["position","top","left","opacity"],e=c.effects.setMode(a,d.options.mode||"hide"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a);var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true})/2:a.outerWidth({margin:true})/2);if(e=="show")a.css("opacity",0).css(f,b=="pos"?-g:g);var i={opacity:e=="show"?1:\n
+0};i[f]=(e=="show"?b=="pos"?"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);\n
+;/*\n
+ * jQuery UI Effects Explode 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Explode\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(j){j.effects.explode=function(a){return this.queue(function(){var c=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3,d=a.options.pieces?Math.round(Math.sqrt(a.options.pieces)):3;a.options.mode=a.options.mode=="toggle"?j(this).is(":visible")?"hide":"show":a.options.mode;var b=j(this).show().css("visibility","hidden"),g=b.offset();g.top-=parseInt(b.css("marginTop"),10)||0;g.left-=parseInt(b.css("marginLeft"),10)||0;for(var h=b.outerWidth(true),i=b.outerHeight(true),e=0;e<c;e++)for(var f=\n
+0;f<d;f++)b.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+\n
+e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery);\n
+;/*\n
+ * jQuery UI Effects Fold 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Fold\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","left"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],10)/100*\n
+f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery);\n
+;/*\n
+ * jQuery UI Effects Highlight 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Highlight\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&&\n
+this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);\n
+;/*\n
+ * jQuery UI Effects Pulsate 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Pulsate\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c<times;c++){b.animate({opacity:animateTo},duration,a.options.easing);animateTo=(animateTo+1)%2}b.animate({opacity:animateTo},duration,\n
+a.options.easing,function(){animateTo==0&&b.hide();a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()}).dequeue()})}})(jQuery);\n
+;/*\n
+ * jQuery UI Effects Scale 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Scale\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(c){c.effects.puff=function(b){return this.queue(function(){var a=c(this),e=c.effects.setMode(a,b.options.mode||"hide"),g=parseInt(b.options.percent,10)||150,h=g/100,i={height:a.height(),width:a.width()};c.extend(b.options,{fade:true,mode:e,percent:e=="hide"?g:100,from:e=="hide"?i:{height:i.height*h,width:i.width*h}});a.effect("scale",b.options,b.duration,b.callback);a.dequeue()})};c.effects.scale=function(b){return this.queue(function(){var a=c(this),e=c.extend(true,{},b.options),g=c.effects.setMode(a,\n
+b.options.mode||"effect"),h=parseInt(b.options.percent,10)||(parseInt(b.options.percent,10)==0?0:g=="hide"?0:100),i=b.options.direction||"both",f=b.options.origin;if(g!="effect"){e.origin=f||["middle","center"];e.restore=true}f={height:a.height(),width:a.width()};a.from=b.options.from||(g=="show"?{height:0,width:0}:f);h={y:i!="horizontal"?h/100:1,x:i!="vertical"?h/100:1};a.to={height:f.height*h.y,width:f.width*h.x};if(b.options.fade){if(g=="show"){a.from.opacity=0;a.to.opacity=1}if(g=="hide"){a.from.opacity=\n
+1;a.to.opacity=0}}e.from=a.from;e.to=a.to;e.mode=g;a.effect("size",e,b.duration,b.callback);a.dequeue()})};c.effects.size=function(b){return this.queue(function(){var a=c(this),e=["position","top","left","width","height","overflow","opacity"],g=["position","top","left","overflow","opacity"],h=["width","height","overflow"],i=["fontSize"],f=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],k=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=c.effects.setMode(a,\n
+b.options.mode||"effect"),n=b.options.restore||false,m=b.options.scale||"both",l=b.options.origin,j={height:a.height(),width:a.width()};a.from=b.options.from||j;a.to=b.options.to||j;if(l){l=c.effects.getBaseline(l,j);a.from.top=(j.height-a.from.height)*l.y;a.from.left=(j.width-a.from.width)*l.x;a.to.top=(j.height-a.to.height)*l.y;a.to.left=(j.width-a.to.width)*l.x}var d={from:{y:a.from.height/j.height,x:a.from.width/j.width},to:{y:a.to.height/j.height,x:a.to.width/j.width}};if(m=="box"||m=="both"){if(d.from.y!=\n
+d.to.y){e=e.concat(f);a.from=c.effects.setTransition(a,f,d.from.y,a.from);a.to=c.effects.setTransition(a,f,d.to.y,a.to)}if(d.from.x!=d.to.x){e=e.concat(k);a.from=c.effects.setTransition(a,k,d.from.x,a.from);a.to=c.effects.setTransition(a,k,d.to.x,a.to)}}if(m=="content"||m=="both")if(d.from.y!=d.to.y){e=e.concat(i);a.from=c.effects.setTransition(a,i,d.from.y,a.from);a.to=c.effects.setTransition(a,i,d.to.y,a.to)}c.effects.save(a,n?e:g);a.show();c.effects.createWrapper(a);a.css("overflow","hidden").css(a.from);\n
+if(m=="content"||m=="both"){f=f.concat(["marginTop","marginBottom"]).concat(i);k=k.concat(["marginLeft","marginRight"]);h=e.concat(f).concat(k);a.find("*[width]").each(function(){child=c(this);n&&c.effects.save(child,h);var o={height:child.height(),width:child.width()};child.from={height:o.height*d.from.y,width:o.width*d.from.x};child.to={height:o.height*d.to.y,width:o.width*d.to.x};if(d.from.y!=d.to.y){child.from=c.effects.setTransition(child,f,d.from.y,child.from);child.to=c.effects.setTransition(child,\n
+f,d.to.y,child.to)}if(d.from.x!=d.to.x){child.from=c.effects.setTransition(child,k,d.from.x,child.from);child.to=c.effects.setTransition(child,k,d.to.x,child.to)}child.css(child.from);child.animate(child.to,b.duration,b.options.easing,function(){n&&c.effects.restore(child,h)})})}a.animate(a.to,{queue:false,duration:b.duration,easing:b.options.easing,complete:function(){a.to.opacity===0&&a.css("opacity",a.from.opacity);p=="hide"&&a.hide();c.effects.restore(a,n?e:g);c.effects.removeWrapper(a);b.callback&&\n
+b.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);\n
+;/*\n
+ * jQuery UI Effects Shake 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Shake\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(d){d.effects.shake=function(a){return this.queue(function(){var b=d(this),j=["position","top","left"];d.effects.setMode(b,a.options.mode||"effect");var c=a.options.direction||"left",e=a.options.distance||20,l=a.options.times||3,f=a.duration||a.options.duration||140;d.effects.save(b,j);b.show();d.effects.createWrapper(b);var g=c=="up"||c=="down"?"top":"left",h=c=="up"||c=="left"?"pos":"neg";c={};var i={},k={};c[g]=(h=="pos"?"-=":"+=")+e;i[g]=(h=="pos"?"+=":"-=")+e*2;k[g]=(h=="pos"?"-=":"+=")+\n
+e*2;b.animate(c,f,a.options.easing);for(e=1;e<l;e++)b.animate(i,f,a.options.easing).animate(k,f,a.options.easing);b.animate(i,f,a.options.easing).animate(c,f/2,a.options.easing,function(){d.effects.restore(b,j);d.effects.removeWrapper(b);a.callback&&a.callback.apply(this,arguments)});b.queue("fx",function(){b.dequeue()});b.dequeue()})}})(jQuery);\n
+;/*\n
+ * jQuery UI Effects Slide 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Slide\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(c){c.effects.slide=function(d){return this.queue(function(){var a=c(this),h=["position","top","left"],e=c.effects.setMode(a,d.options.mode||"show"),b=d.options.direction||"left";c.effects.save(a,h);a.show();c.effects.createWrapper(a).css({overflow:"hidden"});var f=b=="up"||b=="down"?"top":"left";b=b=="up"||b=="left"?"pos":"neg";var g=d.options.distance||(f=="top"?a.outerHeight({margin:true}):a.outerWidth({margin:true}));if(e=="show")a.css(f,b=="pos"?-g:g);var i={};i[f]=(e=="show"?b=="pos"?\n
+"+=":"-=":b=="pos"?"-=":"+=")+g;a.animate(i,{queue:false,duration:d.duration,easing:d.options.easing,complete:function(){e=="hide"&&a.hide();c.effects.restore(a,h);c.effects.removeWrapper(a);d.callback&&d.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery);\n
+;/*\n
+ * jQuery UI Effects Transfer 1.8.1\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Effects/Transfer\n
+ *\n
+ * Depends:\n
+ *\tjquery.effects.core.js\n
+ */\n
+(function(e){e.effects.transfer=function(a){return this.queue(function(){var b=e(this),c=e(a.options.to),d=c.offset();c={top:d.top,left:d.left,height:c.innerHeight(),width:c.innerWidth()};d=b.offset();var f=e(\'<div class="ui-effects-transfer"></div>\').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments);\n
+b.dequeue()})})}})(jQuery);\n
+;
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>next</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui.xml
new file mode 100644
index 0000000000..466e39d45a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>jquery-ui</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui/jquery-ui-1.8.custom.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui/jquery-ui-1.8.custom.min.js.xml
new file mode 100644
index 0000000000..4c15ebd69a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery-ui/jquery-ui-1.8.custom.min.js.xml
@@ -0,0 +1,193 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003829.66</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery-ui-1.8.custom.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>__propsets__</string> </key>
+            <value>
+              <tuple>
+                <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*!\n
+ * jQuery UI 1.8\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI\n
+ *//*\n
+ * jQuery UI 1.8\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI\n
+ */\n
+jQuery.ui||(function(a){a.ui={version:"1.8",plugin:{add:function(c,d,f){var e=a.ui[c].prototype;for(var b in f){e.plugins[b]=e.plugins[b]||[];e.plugins[b].push([d,f[b]])}},call:function(b,d,c){var f=b.plugins[d];if(!f||!b.element[0].parentNode){return}for(var e=0;e<f.length;e++){if(b.options[f[e][0]]){f[e][1].apply(b.element,c)}}}},contains:function(d,c){return document.compareDocumentPosition?d.compareDocumentPosition(c)&16:d!==c&&d.contains(c)},hasScroll:function(e,c){if(a(e).css("overflow")=="hidden"){return false}var b=(c&&c=="left")?"scrollLeft":"scrollTop",d=false;if(e[b]>0){return true}e[b]=1;d=(e[b]>0);e[b]=0;return d},isOverAxis:function(c,b,d){return(c>b)&&(c<(b+d))},isOver:function(g,c,f,e,b,d){return a.ui.isOverAxis(g,f,b)&&a.ui.isOverAxis(c,e,d)},keyCode:{BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38}};a.fn.extend({_focus:a.fn.focus,focus:function(b,c){return typeof b==="number"?this.each(function(){var d=this;setTimeout(function(){a(d).focus();(c&&c.call(d))},b)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable","off").css("MozUserSelect","").unbind("selectstart.ui")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none").bind("selectstart.ui",function(){return false})},scrollParent:function(){var b;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){b=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{b=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!b.length?a(document):b},zIndex:function(e){if(e!==undefined){return this.css("zIndex",e)}if(this.length){var c=a(this[0]),b,d;while(c.length&&c[0]!==document){b=c.css("position");if(b=="absolute"||b=="relative"||b=="fixed"){d=parseInt(c.css("zIndex"));if(!isNaN(d)&&d!=0){return d}}c=c.parent()}}return 0}});a.extend(a.expr[":"],{data:function(d,c,b){return !!a.data(d,b[3])},focusable:function(c){var d=c.nodeName.toLowerCase(),b=a.attr(c,"tabindex");return(/input|select|textarea|button|object/.test(d)?!c.disabled:"a"==d||"area"==d?c.href||!isNaN(b):!isNaN(b))&&!a(c)["area"==d?"parents":"closest"](":hidden").length},tabbable:function(c){var b=a.attr(c,"tabindex");return(isNaN(b)||b>=0)&&a(c).is(":focusable")}})})(jQuery);;/*!\n
+ * jQuery UI Widget 1.8\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Widget\n
+ *//*\n
+ * jQuery UI Widget 1.8\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Widget\n
+ */\n
+(function(b){var a=b.fn.remove;b.fn.remove=function(c,d){return this.each(function(){if(!d){if(!c||b.filter(c,[this]).length){b("*",this).add(this).each(function(){b(this).triggerHandler("remove")})}}return a.call(b(this),c,d)})};b.widget=function(d,f,c){var e=d.split(".")[0],h;d=d.split(".")[1];h=e+"-"+d;if(!c){c=f;f=b.Widget}b.expr[":"][h]=function(i){return !!b.data(i,d)};b[e]=b[e]||{};b[e][d]=function(i,j){if(arguments.length){this._createWidget(i,j)}};var g=new f();g.options=b.extend({},g.options);b[e][d].prototype=b.extend(true,g,{namespace:e,widgetName:d,widgetEventPrefix:b[e][d].prototype.widgetEventPrefix||d,widgetBaseClass:h},c);b.widget.bridge(d,b[e][d])};b.widget.bridge=function(d,c){b.fn[d]=function(g){var e=typeof g==="string",f=Array.prototype.slice.call(arguments,1),h=this;g=!e&&f.length?b.extend.apply(null,[true,g].concat(f)):g;if(e&&g.substring(0,1)==="_"){return h}if(e){this.each(function(){var i=b.data(this,d),j=i&&b.isFunction(i[g])?i[g].apply(i,f):i;if(j!==i&&j!==undefined){h=j;return false}})}else{this.each(function(){var i=b.data(this,d);if(i){if(g){i.option(g)}i._init()}else{b.data(this,d,new c(g,this))}})}return h}};b.Widget=function(c,d){if(arguments.length){this._createWidget(c,d)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(d,e){this.element=b(e).data(this.widgetName,this);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(e)[this.widgetName],d);var c=this;this.element.bind("remove."+this.widgetName,function(){c.destroy()});this._create();this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled")},widget:function(){return this.element},option:function(e,f){var d=e,c=this;if(arguments.length===0){return b.extend({},c.options)}if(typeof e==="string"){if(f===undefined){return this.options[e]}d={};d[e]=f}b.each(d,function(g,h){c._setOption(g,h)});return c},_setOption:function(c,d){this.options[c]=d;if(c==="disabled"){this.widget()[d?"addClass":"removeClass"](this.widgetBaseClass+"-disabled "+this.namespace+"-state-disabled").attr("aria-disabled",d)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(d,e,f){var h=this.options[d];e=b.Event(e);e.type=(d===this.widgetEventPrefix?d:this.widgetEventPrefix+d).toLowerCase();f=f||{};if(e.originalEvent){for(var c=b.event.props.length,g;c;){g=b.event.props[--c];e[g]=e.originalEvent[g]}}this.element.trigger(e,f);return !(b.isFunction(h)&&h.call(this.element[0],e,f)===false||e.isDefaultPrevented())}}})(jQuery);;/*!\n
+ * jQuery UI Mouse 1.8\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Mouse\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.widget.js\n
+ *//*\n
+ * jQuery UI Mouse 1.8\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Mouse\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.widget.js\n
+ */\n
+(function(a){a.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var b=this;this.element.bind("mousedown."+this.widgetName,function(c){return b._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(b._preventClickEvent){b._preventClickEvent=false;c.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(d){d.originalEvent=d.originalEvent||{};if(d.originalEvent.mouseHandled){return}(this._mouseStarted&&this._mouseUp(d));this._mouseDownEvent=d;var c=this,e=(d.which==1),b=(typeof this.options.cancel=="string"?a(d.target).parents().add(d.target).filter(this.options.cancel).length:false);if(!e||b||!this._mouseCapture(d)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(d)!==false);if(!this._mouseStarted){d.preventDefault();return true}}this._mouseMoveDelegate=function(f){return c._mouseMove(f)};this._mouseUpDelegate=function(f){return c._mouseUp(f)};a(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);(a.browser.safari||d.preventDefault());d.originalEvent.mouseHandled=true;return true},_mouseMove:function(b){if(a.browser.msie&&!b.button){return this._mouseUp(b)}if(this._mouseStarted){this._mouseDrag(b);return b.preventDefault()}if(this._mouseDistanceMet(b)&&this._mouseDelayMet(b)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,b)!==false);(this._mouseStarted?this._mouseDrag(b):this._mouseUp(b))}return !this._mouseStarted},_mouseUp:function(b){a(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._preventClickEvent=(b.target==this._mouseDownEvent.target);this._mouseStop(b)}return false},_mouseDistanceMet:function(b){return(Math.max(Math.abs(this._mouseDownEvent.pageX-b.pageX),Math.abs(this._mouseDownEvent.pageY-b.pageY))>=this.options.distance)},_mouseDelayMet:function(b){return this.mouseDelayMet},_mouseStart:function(b){},_mouseDrag:function(b){},_mouseStop:function(b){},_mouseCapture:function(b){return true}})})(jQuery);;/*\n
+ * jQuery UI Draggable 1.8\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Draggables\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.mouse.js\n
+ *\tjquery.ui.widget.js\n
+ */(function(a){a.widget("ui.draggable",a.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper=="original"&&!(/^(?:r|a|f)/).test(this.element.css("position"))){this.element[0].style.position="relative"}(this.options.addClasses&&this.element.addClass("ui-draggable"));(this.options.disabled&&this.element.addClass("ui-draggable-disabled"));this._mouseInit()},destroy:function(){if(!this.element.data("draggable")){return}this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this},_mouseCapture:function(b){var c=this.options;if(this.helper||c.disabled||a(b.target).is(".ui-resizable-handle")){return false}this.handle=this._getHandle(b);if(!this.handle){return false}return true},_mouseStart:function(b){var c=this.options;this.helper=this._createHelper(b);this._cacheHelperProportions();if(a.ui.ddmanager){a.ui.ddmanager.current=this}this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};a.extend(this.offset,{click:{left:b.pageX-this.offset.left,top:b.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(b);this.originalPageX=b.pageX;this.originalPageY=b.pageY;(c.cursorAt&&this._adjustOffsetFromHelper(c.cursorAt));if(c.containment){this._setContainment()}if(this._trigger("start",b)===false){this._clear();return false}this._cacheHelperProportions();if(a.ui.ddmanager&&!c.dropBehaviour){a.ui.ddmanager.prepareOffsets(this,b)}this.helper.addClass("ui-draggable-dragging");this._mouseDrag(b,true);return true},_mouseDrag:function(b,d){this.position=this._generatePosition(b);this.positionAbs=this._convertPositionTo("absolute");if(!d){var c=this._uiHash();if(this._trigger("drag",b,c)===false){this._mouseUp({});return false}this.position=c.position}if(!this.options.axis||this.options.axis!="y"){this.helper[0].style.left=this.position.left+"px"}if(!this.options.axis||this.options.axis!="x"){this.helper[0].style.top=this.position.top+"px"}if(a.ui.ddmanager){a.ui.ddmanager.drag(this,b)}return false},_mouseStop:function(c){var d=false;if(a.ui.ddmanager&&!this.options.dropBehaviour){d=a.ui.ddmanager.drop(this,c)}if(this.dropped){d=this.dropped;this.dropped=false}if(!this.element[0]||!this.element[0].parentNode){return false}if((this.options.revert=="invalid"&&!d)||(this.options.revert=="valid"&&d)||this.options.revert===true||(a.isFunction(this.options.revert)&&this.options.revert.call(this.element,d))){var b=this;a(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){if(b._trigger("stop",c)!==false){b._clear()}})}else{if(this._trigger("stop",c)!==false){this._clear()}}return false},cancel:function(){if(this.helper.is(".ui-draggable-dragging")){this._mouseUp({})}else{this._clear()}return this},_getHandle:function(b){var c=!this.options.handle||!a(this.options.handle,this.element).length?true:false;a(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==b.target){c=true}});return c},_createHelper:function(c){var d=this.options;var b=a.isFunction(d.helper)?a(d.helper.apply(this.element[0],[c])):(d.helper=="clone"?this.element.clone():this.element);if(!b.parents("body").length){b.appendTo((d.appendTo=="parent"?this.element[0].parentNode:d.appendTo))}if(b[0]!=this.element[0]&&!(/(fixed|absolute)/).test(b.css("position"))){b.css("position","absolute")}return b},_adjustOffsetFromHelper:function(b){if(typeof b=="string"){b=b.split(" ")}if(a.isArray(b)){b={left:+b[0],top:+b[1]||0}}if("left" in b){this.offset.click.left=b.left+this.margins.left}if("right" in b){this.offset.click.left=this.helperProportions.width-b.right+this.margins.left}if("top" in b){this.offset.click.top=b.top+this.margins.top}if("bottom" in b){this.offset.click.top=this.helperProportions.height-b.bottom+this.margins.top}},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var b=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0])){b.left+=this.scrollParent.scrollLeft();b.top+=this.scrollParent.scrollTop()}if((this.offsetParent[0]==document.body)||(this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&a.browser.msie)){b={top:0,left:0}}return{top:b.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:b.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var b=this.element.position();return{top:b.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:b.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else{return{top:0,left:0}}},_cacheMargins:function(){this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e=this.options;if(e.containment=="parent"){e.containment=this.helper[0].parentNode}if(e.containment=="document"||e.containment=="window"){this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,a(e.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a(e.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]}if(!(/^(document|window|parent)$/).test(e.containment)&&e.containment.constructor!=Array){var c=a(e.containment)[0];if(!c){return}var d=a(e.containment).offset();var b=(a(c).css("overflow")!="hidden");this.containment=[d.left+(parseInt(a(c).css("borderLeftWidth"),10)||0)+(parseInt(a(c).css("paddingLeft"),10)||0)-this.margins.left,d.top+(parseInt(a(c).css("borderTopWidth"),10)||0)+(parseInt(a(c).css("paddingTop"),10)||0)-this.margins.top,d.left+(b?Math.max(c.scrollWidth,c.offsetWidth):c.offsetWidth)-(parseInt(a(c).css("borderLeftWidth"),10)||0)-(parseInt(a(c).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,d.top+(b?Math.max(c.scrollHeight,c.offsetHeight):c.offsetHeight)-(parseInt(a(c).css("borderTopWidth"),10)||0)-(parseInt(a(c).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}else{if(e.containment.constructor==Array){this.containment=e.containment}}},_convertPositionTo:function(f,h){if(!h){h=this.position}var c=f=="absolute"?1:-1;var e=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,g=(/(html|body)/i).test(b[0].tagName);return{top:(h.top+this.offset.relative.top*c+this.offset.parent.top*c-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(g?0:b.scrollTop()))*c)),left:(h.left+this.offset.relative.left*c+this.offset.parent.left*c-(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():g?0:b.scrollLeft())*c))}},_generatePosition:function(e){var h=this.options,b=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&a.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,i=(/(html|body)/i).test(b[0].tagName);var d=e.pageX;var c=e.pageY;if(this.originalPosition){if(this.containment){if(e.pageX-this.offset.click.left<this.containment[0]){d=this.containment[0]+this.offset.click.left}if(e.pageY-this.offset.click.top<this.containment[1]){c=this.containment[1]+this.offset.click.top}if(e.pageX-this.offset.click.left>this.containment[2]){d=this.containment[2]+this.offset.click.left}if(e.pageY-this.offset.click.top>this.containment[3]){c=this.containment[3]+this.offset.click.top}}if(h.grid){var g=this.originalPageY+Math.round((c-this.originalPageY)/h.grid[1])*h.grid[1];c=this.containment?(!(g-this.offset.click.top<this.containment[1]||g-this.offset.click.top>this.containment[3])?g:(!(g-this.offset.click.top<this.containment[1])?g-h.grid[1]:g+h.grid[1])):g;var f=this.originalPageX+Math.round((d-this.originalPageX)/h.grid[0])*h.grid[0];d=this.containment?(!(f-this.offset.click.left<this.containment[0]||f-this.offset.click.left>this.containment[2])?f:(!(f-this.offset.click.left<this.containment[0])?f-h.grid[0]:f+h.grid[0])):f}}return{top:(c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():(i?0:b.scrollTop())))),left:(d-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(a.browser.safari&&a.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():i?0:b.scrollLeft())))}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval){this.helper.remove()}this.helper=null;this.cancelHelperRemoval=false},_trigger:function(b,c,d){d=d||this._uiHash();a.ui.plugin.call(this,b,[c,d]);if(b=="drag"){this.positionAbs=this._convertPositionTo("absolute")}return a.Widget.prototype._trigger.call(this,b,c,d)},plugins:{},_uiHash:function(b){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});a.extend(a.ui.draggable,{version:"1.8"});a.ui.plugin.add("draggable","connectToSortable",{start:function(c,e){var d=a(this).data("draggable"),f=d.options,b=a.extend({},e,{item:d.element});d.sortables=[];a(f.connectToSortable).each(function(){var g=a.data(this,"sortable");if(g&&!g.options.disabled){d.sortables.push({instance:g,shouldRevert:g.options.revert});g._refreshItems();g._trigger("activate",c,b)}})},stop:function(c,e){var d=a(this).data("draggable"),b=a.extend({},e,{item:d.element});a.each(d.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;d.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert){this.instance.options.revert=true}this.instance._mouseStop(c);this.instance.options.helper=this.instance.options._helper;if(d.options.helper=="original"){this.instance.currentItem.css({top:"auto",left:"auto"})}}else{this.instance.cancelHelperRemoval=false;this.instance._trigger("deactivate",c,b)}})},drag:function(c,f){var e=a(this).data("draggable"),b=this;var d=function(i){var n=this.offset.click.top,m=this.offset.click.left;var g=this.positionAbs.top,k=this.positionAbs.left;var j=i.height,l=i.width;var p=i.top,h=i.left;return a.ui.isOver(g+n,k+m,p,h,j,l)};a.each(e.sortables,function(g){this.instance.positionAbs=e.positionAbs;this.instance.helperProportions=e.helperProportions;this.instance.offset.click=e.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=a(b).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return f.helper[0]};c.target=this.instance.currentItem[0];this.instance._mouseCapture(c,true);this.instance._mouseStart(c,true,true);this.instance.offset.click.top=e.offset.click.top;this.instance.offset.click.left=e.offset.click.left;this.instance.offset.parent.left-=e.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=e.offset.parent.top-this.instance.offset.parent.top;e._trigger("toSortable",c);e.dropped=this.instance.element;e.currentItem=e.element;this.instance.fromOutside=e}if(this.instance.currentItem){this.instance._mouseDrag(c)}}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",c,this.instance._uiHash(this.instance));this.instance._mouseStop(c,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder){this.instance.placeholder.remove()}e._trigger("fromSortable",c);e.dropped=false}}})}});a.ui.plugin.add("draggable","cursor",{start:function(c,d){var b=a("body"),e=a(this).data("draggable").options;if(b.css("cursor")){e._cursor=b.css("cursor")}b.css("cursor",e.cursor)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._cursor){a("body").css("cursor",d._cursor)}}});a.ui.plugin.add("draggable","iframeFix",{start:function(b,c){var d=a(this).data("draggable").options;a(d.iframeFix===true?"iframe":d.iframeFix).each(function(){a(\'<div class="ui-draggable-iframeFix" style="background: #fff;"></div>\').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css(a(this).offset()).appendTo("body")})},stop:function(b,c){a("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});a.ui.plugin.add("draggable","opacity",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("opacity")){e._opacity=b.css("opacity")}b.css("opacity",e.opacity)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._opacity){a(c.helper).css("opacity",d._opacity)}}});a.ui.plugin.add("draggable","scroll",{start:function(c,d){var b=a(this).data("draggable");if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){b.overflowOffset=b.scrollParent.offset()}},drag:function(d,e){var c=a(this).data("draggable"),f=c.options,b=false;if(c.scrollParent[0]!=document&&c.scrollParent[0].tagName!="HTML"){if(!f.axis||f.axis!="x"){if((c.overflowOffset.top+c.scrollParent[0].offsetHeight)-d.pageY<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop+f.scrollSpeed}else{if(d.pageY-c.overflowOffset.top<f.scrollSensitivity){c.scrollParent[0].scrollTop=b=c.scrollParent[0].scrollTop-f.scrollSpeed}}}if(!f.axis||f.axis!="y"){if((c.overflowOffset.left+c.scrollParent[0].offsetWidth)-d.pageX<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft+f.scrollSpeed}else{if(d.pageX-c.overflowOffset.left<f.scrollSensitivity){c.scrollParent[0].scrollLeft=b=c.scrollParent[0].scrollLeft-f.scrollSpeed}}}}else{if(!f.axis||f.axis!="x"){if(d.pageY-a(document).scrollTop()<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()-f.scrollSpeed)}else{if(a(window).height()-(d.pageY-a(document).scrollTop())<f.scrollSensitivity){b=a(document).scrollTop(a(document).scrollTop()+f.scrollSpeed)}}}if(!f.axis||f.axis!="y"){if(d.pageX-a(document).scrollLeft()<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()-f.scrollSpeed)}else{if(a(window).width()-(d.pageX-a(document).scrollLeft())<f.scrollSensitivity){b=a(document).scrollLeft(a(document).scrollLeft()+f.scrollSpeed)}}}}if(b!==false&&a.ui.ddmanager&&!f.dropBehaviour){a.ui.ddmanager.prepareOffsets(c,d)}}});a.ui.plugin.add("draggable","snap",{start:function(c,d){var b=a(this).data("draggable"),e=b.options;b.snapElements=[];a(e.snap.constructor!=String?(e.snap.items||":data(draggable)"):e.snap).each(function(){var g=a(this);var f=g.offset();if(this!=b.element[0]){b.snapElements.push({item:this,width:g.outerWidth(),height:g.outerHeight(),top:f.top,left:f.left})}})},drag:function(u,p){var g=a(this).data("draggable"),q=g.options;var y=q.snapTolerance;var x=p.offset.left,w=x+g.helperProportions.width,f=p.offset.top,e=f+g.helperProportions.height;for(var v=g.snapElements.length-1;v>=0;v--){var s=g.snapElements[v].left,n=s+g.snapElements[v].width,m=g.snapElements[v].top,A=m+g.snapElements[v].height;if(!((s-y<x&&x<n+y&&m-y<f&&f<A+y)||(s-y<x&&x<n+y&&m-y<e&&e<A+y)||(s-y<w&&w<n+y&&m-y<f&&f<A+y)||(s-y<w&&w<n+y&&m-y<e&&e<A+y))){if(g.snapElements[v].snapping){(g.options.snap.release&&g.options.snap.release.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=false;continue}if(q.snapMode!="inner"){var c=Math.abs(m-e)<=y;var z=Math.abs(A-f)<=y;var j=Math.abs(s-w)<=y;var k=Math.abs(n-x)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m-g.helperProportions.height,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s-g.helperProportions.width}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n}).left-g.margins.left}}var h=(c||z||j||k);if(q.snapMode!="outer"){var c=Math.abs(m-f)<=y;var z=Math.abs(A-e)<=y;var j=Math.abs(s-x)<=y;var k=Math.abs(n-w)<=y;if(c){p.position.top=g._convertPositionTo("relative",{top:m,left:0}).top-g.margins.top}if(z){p.position.top=g._convertPositionTo("relative",{top:A-g.helperProportions.height,left:0}).top-g.margins.top}if(j){p.position.left=g._convertPositionTo("relative",{top:0,left:s}).left-g.margins.left}if(k){p.position.left=g._convertPositionTo("relative",{top:0,left:n-g.helperProportions.width}).left-g.margins.left}}if(!g.snapElements[v].snapping&&(c||z||j||k||h)){(g.options.snap.snap&&g.options.snap.snap.call(g.element,u,a.extend(g._uiHash(),{snapItem:g.snapElements[v].item})))}g.snapElements[v].snapping=(c||z||j||k||h)}}});a.ui.plugin.add("draggable","stack",{start:function(c,d){var f=a(this).data("draggable").options;var e=a.makeArray(a(f.stack)).sort(function(h,g){return(parseInt(a(h).css("zIndex"),10)||0)-(parseInt(a(g).css("zIndex"),10)||0)});if(!e.length){return}var b=parseInt(e[0].style.zIndex)||0;a(e).each(function(g){this.style.zIndex=b+g});this[0].style.zIndex=b+e.length}});a.ui.plugin.add("draggable","zIndex",{start:function(c,d){var b=a(d.helper),e=a(this).data("draggable").options;if(b.css("zIndex")){e._zIndex=b.css("zIndex")}b.css("zIndex",e.zIndex)},stop:function(b,c){var d=a(this).data("draggable").options;if(d._zIndex){a(c.helper).css("zIndex",d._zIndex)}}})})(jQuery);;/*\n
+ * jQuery UI Slider 1.8\n
+ *\n
+ * Copyright (c) 2010 AUTHORS.txt (http://jqueryui.com/about)\n
+ * Dual licensed under the MIT (MIT-LICENSE.txt)\n
+ * and GPL (GPL-LICENSE.txt) licenses.\n
+ *\n
+ * http://docs.jquery.com/UI/Slider\n
+ *\n
+ * Depends:\n
+ *\tjquery.ui.core.js\n
+ *\tjquery.ui.mouse.js\n
+ *\tjquery.ui.widget.js\n
+ */(function(b){var a=5;b.widget("ui.slider",b.ui.mouse,{widgetEventPrefix:"slide",options:{animate:false,distance:0,max:100,min:0,orientation:"horizontal",range:false,step:1,value:0,values:null},_create:function(){var c=this,d=this.options;this._keySliding=false;this._mouseSliding=false;this._animateOff=true;this._handleIndex=null;this._detectOrientation();this._mouseInit();this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget ui-widget-content ui-corner-all");if(d.disabled){this.element.addClass("ui-slider-disabled ui-disabled")}this.range=b([]);if(d.range){if(d.range===true){this.range=b("<div></div>");if(!d.values){d.values=[this._valueMin(),this._valueMin()]}if(d.values.length&&d.values.length!=2){d.values=[d.values[0],d.values[0]]}}else{this.range=b("<div></div>")}this.range.appendTo(this.element).addClass("ui-slider-range");if(d.range=="min"||d.range=="max"){this.range.addClass("ui-slider-range-"+d.range)}this.range.addClass("ui-widget-header")}if(b(".ui-slider-handle",this.element).length==0){b(\'<a href="#"></a>\').appendTo(this.element).addClass("ui-slider-handle")}if(d.values&&d.values.length){while(b(".ui-slider-handle",this.element).length<d.values.length){b(\'<a href="#"></a>\').appendTo(this.element).addClass("ui-slider-handle")}}this.handles=b(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(e){e.preventDefault()}).hover(function(){if(!d.disabled){b(this).addClass("ui-state-hover")}},function(){b(this).removeClass("ui-state-hover")}).focus(function(){if(!d.disabled){b(".ui-slider .ui-state-focus").removeClass("ui-state-focus");b(this).addClass("ui-state-focus")}else{b(this).blur()}}).blur(function(){b(this).removeClass("ui-state-focus")});this.handles.each(function(e){b(this).data("index.ui-slider-handle",e)});this.handles.keydown(function(j){var g=true;var f=b(this).data("index.ui-slider-handle");if(c.options.disabled){return}switch(j.keyCode){case b.ui.keyCode.HOME:case b.ui.keyCode.END:case b.ui.keyCode.PAGE_UP:case b.ui.keyCode.PAGE_DOWN:case b.ui.keyCode.UP:case b.ui.keyCode.RIGHT:case b.ui.keyCode.DOWN:case b.ui.keyCode.LEFT:g=false;if(!c._keySliding){c._keySliding=true;b(this).addClass("ui-state-active");c._start(j,f)}break}var h,e,i=c._step();if(c.options.values&&c.options.values.length){h=e=c.values(f)}else{h=e=c.value()}switch(j.keyCode){case b.ui.keyCode.HOME:e=c._valueMin();break;case b.ui.keyCode.END:e=c._valueMax();break;case b.ui.keyCode.PAGE_UP:e=h+((c._valueMax()-c._valueMin())/a);break;case b.ui.keyCode.PAGE_DOWN:e=h-((c._valueMax()-c._valueMin())/a);break;case b.ui.keyCode.UP:case b.ui.keyCode.RIGHT:if(h==c._valueMax()){return}e=h+i;break;case b.ui.keyCode.DOWN:case b.ui.keyCode.LEFT:if(h==c._valueMin()){return}e=h-i;break}c._slide(j,f,e);return g}).keyup(function(f){var e=b(this).data("index.ui-slider-handle");if(c._keySliding){c._keySliding=false;c._stop(f,e);c._change(f,e);b(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider");this._mouseDestroy();return this},_mouseCapture:function(e){var f=this.options;if(f.disabled){return false}this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();var i={x:e.pageX,y:e.pageY};var k=this._normValueFromMouse(i);var d=this._valueMax()-this._valueMin()+1,g;var l=this,j;this.handles.each(function(m){var n=Math.abs(k-l.values(m));if(d>n){d=n;g=b(this);j=m}});if(f.range==true&&this.values(1)==f.min){g=b(this.handles[++j])}this._start(e,j);this._mouseSliding=true;l._handleIndex=j;g.addClass("ui-state-active").focus();var h=g.offset();var c=!b(e.target).parents().andSelf().is(".ui-slider-handle");this._clickOffset=c?{left:0,top:0}:{left:e.pageX-h.left-(g.width()/2),top:e.pageY-h.top-(g.height()/2)-(parseInt(g.css("borderTopWidth"),10)||0)-(parseInt(g.css("borderBottomWidth"),10)||0)+(parseInt(g.css("marginTop"),10)||0)};k=this._normValueFromMouse(i);this._slide(e,j,k);this._animateOff=true;return true},_mouseStart:function(c){return true},_mouseDrag:function(e){var c={x:e.pageX,y:e.pageY};var d=this._normValueFromMouse(c);this._slide(e,this._handleIndex,d);return false},_mouseStop:function(c){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(c,this._handleIndex);this._change(c,this._handleIndex);this._handleIndex=null;this._clickOffset=null;this._animateOff=false;return false},_detectOrientation:function(){this.orientation=this.options.orientation=="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(e){var d,i;if("horizontal"==this.orientation){d=this.elementSize.width;i=e.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{d=this.elementSize.height;i=e.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}var g=(i/d);if(g>1){g=1}if(g<0){g=0}if("vertical"==this.orientation){g=1-g}var f=this._valueMax()-this._valueMin(),j=g*f,c=j%this.options.step,h=this._valueMin()+j-c;if(c>(this.options.step/2)){h+=this.options.step}return parseFloat(h.toFixed(5))},_start:function(e,d){var c={handle:this.handles[d],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(d);c.values=this.values()}this._trigger("start",e,c)},_slide:function(g,f,e){var h=this.handles[f];if(this.options.values&&this.options.values.length){var c=this.values(f?0:1);if((this.options.values.length==2&&this.options.range===true)&&((f==0&&e>c)||(f==1&&e<c))){e=c}if(e!=this.values(f)){var d=this.values();d[f]=e;var i=this._trigger("slide",g,{handle:this.handles[f],value:e,values:d});var c=this.values(f?0:1);if(i!==false){this.values(f,e,true)}}}else{if(e!=this.value()){var i=this._trigger("slide",g,{handle:this.handles[f],value:e});if(i!==false){this.value(e)}}}},_stop:function(e,d){var c={handle:this.handles[d],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(d);c.values=this.values()}this._trigger("stop",e,c)},_change:function(e,d){if(!this._keySliding&&!this._mouseSliding){var c={handle:this.handles[d],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(d);c.values=this.values()}this._trigger("change",e,c)}},value:function(c){if(arguments.length){this.options.value=this._trimValue(c);this._refreshValue();this._change(null,0)}return this._value()},values:function(e,h){if(arguments.length>1){this.options.values[e]=this._trimValue(h);this._refreshValue();this._change(null,e)}if(arguments.length){if(b.isArray(arguments[0])){var g=this.options.values,d=arguments[0];for(var f=0,c=g.length;f<c;f++){g[f]=this._trimValue(d[f]);this._change(null,f)}this._refreshValue()}else{if(this.options.values&&this.options.values.length){return this._values(e)}else{return this.value()}}}else{return this._values()}},_setOption:function(d,e){var c,f=0;if(jQuery.isArray(this.options.values)){f=this.options.values.length}b.Widget.prototype._setOption.apply(this,arguments);switch(d){case"disabled":if(e){this.handles.filter(".ui-state-focus").blur();this.handles.removeClass("ui-state-hover");this.handles.attr("disabled","disabled");this.element.addClass("ui-disabled")}else{this.handles.removeAttr("disabled");this.element.removeClass("ui-disabled")}case"orientation":this._detectOrientation();this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation);this._refreshValue();break;case"value":this._animateOff=true;this._refreshValue();this._change(null,0);this._animateOff=false;break;case"values":this._animateOff=true;this._refreshValue();for(c=0;c<f;c++){this._change(null,c)}this._animateOff=false;break}},_step:function(){var c=this.options.step;return c},_value:function(){var c=this.options.value;c=this._trimValue(c);return c},_values:function(d){if(arguments.length){var g=this.options.values[d];g=this._trimValue(g);return g}else{var f=this.options.values.slice();for(var e=0,c=f.length;e<c;e++){f[e]=this._trimValue(f[e])}return f}},_trimValue:function(c){if(c<this._valueMin()){c=this._valueMin()}if(c>this._valueMax()){c=this._valueMax()}return c},_valueMin:function(){var c=this.options.min;return c},_valueMax:function(){var c=this.options.max;return c},_refreshValue:function(){var g=this.options.range,e=this.options,m=this;var d=(!this._animateOff)?e.animate:false;if(this.options.values&&this.options.values.length){var j,i;this.handles.each(function(q,o){var p=(m.values(q)-m._valueMin())/(m._valueMax()-m._valueMin())*100;var n={};n[m.orientation=="horizontal"?"left":"bottom"]=p+"%";b(this).stop(1,1)[d?"animate":"css"](n,e.animate);if(m.options.range===true){if(m.orientation=="horizontal"){(q==0)&&m.range.stop(1,1)[d?"animate":"css"]({left:p+"%"},e.animate);(q==1)&&m.range[d?"animate":"css"]({width:(p-lastValPercent)+"%"},{queue:false,duration:e.animate})}else{(q==0)&&m.range.stop(1,1)[d?"animate":"css"]({bottom:(p)+"%"},e.animate);(q==1)&&m.range[d?"animate":"css"]({height:(p-lastValPercent)+"%"},{queue:false,duration:e.animate})}}lastValPercent=p})}else{var k=this.value(),h=this._valueMin(),l=this._valueMax(),f=l!=h?(k-h)/(l-h)*100:0;var c={};c[m.orientation=="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[d?"animate":"css"](c,e.animate);(g=="min")&&(this.orientation=="horizontal")&&this.range.stop(1,1)[d?"animate":"css"]({width:f+"%"},e.animate);(g=="max")&&(this.orientation=="horizontal")&&this.range[d?"animate":"css"]({width:(100-f)+"%"},{queue:false,duration:e.animate});(g=="min")&&(this.orientation=="vertical")&&this.range.stop(1,1)[d?"animate":"css"]({height:f+"%"},e.animate);(g=="max")&&(this.orientation=="vertical")&&this.range[d?"animate":"css"]({height:(100-f)+"%"},{queue:false,duration:e.animate})}}});b.extend(b.ui.slider,{version:"1.8"})})(jQuery);;
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>38744</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PropertySheet" module="OFS.PropertySheets"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_md</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>xmlns</string> </key>
+                    <value> <unicode>http://apache.org/dav/props/</unicode> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <unicode>executable</unicode> </value>
+                  </item>
+                  <item>
+                      <key> <string>meta</string> </key>
+                      <value>
+                        <dictionary>
+                          <item>
+                              <key> <string>__xml_attrs__</string> </key>
+                              <value>
+                                <dictionary/>
+                              </value>
+                          </item>
+                        </dictionary>
+                      </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>executable</string> </key>
+            <value> <string>T</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.colorPicker.css.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.colorPicker.css.xml
new file mode 100644
index 0000000000..f1506073c4
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.colorPicker.css.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery.colorPicker.css</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string>div.color_picker {\n
+  height: 16px;\n
+  width: 16px;\n
+  padding: 0 !important;\n
+  border: 1px solid #ccc;\n
+  background: url(arrow.gif) no-repeat top right;\n
+  cursor: pointer;\n
+  line-height: 16px;\n
+}\n
+\n
+div#color_selector {\n
+  width: 110px;\n
+  position: absolute;\n
+  border: 1px solid #598FEF;\n
+  background-color: #EFEFEF;\n
+  padding: 2px;\n
+}\n
+  div#color_custom {width: 100%; float:left }\n
+  div#color_custom label {font-size: 95%; color: #2F2F2F; margin: 5px 2px; width: 25%}\n
+  div#color_custom input {margin: 5px 2px; padding: 0; font-size: 95%; border: 1px solid #000; width: 65%; }\n
+\n
+div.color_swatch {\n
+  height: 12px;\n
+  width: 12px;\n
+  border: 1px solid #000;\n
+  margin: 2px;\n
+  float: left;\n
+  cursor: pointer;\n
+  line-height: 12px;\n
+}\n
+</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.colorPicker.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.colorPicker.min.js.xml
new file mode 100644
index 0000000000..fc0fc1e554
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.colorPicker.min.js.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts79962420.93</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery.colorPicker.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+(function(c){c.fn.colorPicker=function(){if(this.length>0){buildSelector()}return this.each(function(d){buildPicker(this)})};var a;var b=false;buildPicker=function(d){control=c("<div class=\'color_picker\'>&nbsp;</div>");control.css("background-color",c(d).val());control.bind("click",toggleSelector);c(d).after(control);c(d).hide()};buildSelector=function(){selector=c("<div id=\'color_selector\'></div>");c.each(c.fn.colorPicker.defaultColors,function(d){swatch=c("<div class=\'color_swatch\'>&nbsp;</div>");swatch.css("background-color","#"+this);swatch.bind("click",function(f){changeColor(c(this).css("background-color"))});swatch.bind("mouseover",function(f){c(this).css("border-color","#598FEF");c("input#color_value").val(toHex(c(this).css("background-color")))});swatch.bind("mouseout",function(f){c(this).css("border-color","#000");c("input#color_value").val(toHex(c(a).css("background-color")))});swatch.appendTo(selector)});hex_field=c("<label for=\'color_value\'>Hex</label><input type=\'text\' size=\'8\' id=\'color_value\'/>");hex_field.bind("keydown",function(d){if(d.keyCode==13){changeColor(c(this).val())}if(d.keyCode==27){toggleSelector()}});c("<div id=\'color_custom\'></div>").append(hex_field).appendTo(selector);c("body").append(selector);selector.hide()};checkMouse=function(e){var d="div#color_selector";var f=c(e.target).parents(d).length;if(e.target==c(d)[0]||e.target==a||f>0){return}hideSelector()};hideSelector=function(){var d=c("div#color_selector");c(document).unbind("mousedown",checkMouse);d.hide();b=false};showSelector=function(){var d=c("div#color_selector");d.css({top:c(a).offset().top+(c(a).outerHeight()),left:c(a).offset().left});hexColor=c(a).next("input").val();c("input#color_value").val(hexColor);d.show();c(document).bind("mousedown",checkMouse);b=true};toggleSelector=function(d){a=this;b?hideSelector():showSelector()};changeColor=function(d){if(selectedValue=toHex(d)){c(a).css("background-color",selectedValue);c(a).prev("input").val(selectedValue).change();hideSelector()}};toHex=function(e){if(e.match(/[0-9a-fA-F]{3}$/)||e.match(/[0-9a-fA-F]{6}$/)){e=(e.charAt(0)=="#")?e:("#"+e)}else{if(e.match(/^rgb\\(([0-9]|[1-9][0-9]|[1][0-9]{2}|[2][0-4][0-9]|[2][5][0-5]),[ ]{0,1}([0-9]|[1-9][0-9]|[1][0-9]{2}|[2][0-4][0-9]|[2][5][0-5]),[ ]{0,1}([0-9]|[1-9][0-9]|[1][0-9]{2}|[2][0-4][0-9]|[2][5][0-5])\\)$/)){var j=([parseInt(RegExp.$1),parseInt(RegExp.$2),parseInt(RegExp.$3)]);var i=function(l){if(l.length<2){for(var k=0,g=2-l.length;k<g;k++){l="0"+l}}return l};if(j.length==3){var h=i(j[0].toString(16)),f=i(j[1].toString(16)),d=i(j[2].toString(16));e="#"+h+f+d}}else{e=false}}return e};c.fn.colorPicker.addColors=function(d){c.fn.colorPicker.defaultColors=c.fn.colorPicker.defaultColors.concat(d)};c.fn.colorPicker.defaultColors=["000000","993300","333300","000080","333399","333333","800000","FF6600","808000","008000","008080","0000FF","666699","808080","FF0000","FF9900","99CC00","339966","33CCCC","3366FF","800080","999999","FF00FF","FFCC00","FFFF00","00FF00","00FFFF","00CCFF","993366","C0C0C0","FF99CC","FFCC99","FFFF99","CCFFFF","99CCFF","FFFFFF"]})(jQuery);
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>3097</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.elastic.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.elastic.min.js.xml
new file mode 100644
index 0000000000..147b4a3e94
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.elastic.min.js.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts79962421.12</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery.elastic.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/**\n
+*\t@name\t\t\t\t\t\t\tElastic\n
+*\t@descripton\t\t\t\t\t\tElastic is Jquery plugin that grow and shrink your textareas automaticliy\n
+*\t@version\t\t\t\t\t\t1.6.4\n
+*\t@requires\t\t\t\t\t\tJquery 1.2.6+\n
+*\n
+*\t@author\t\t\t\t\t\t\tJan Jarfalk\n
+*\t@author-email\t\t\t\t\tjan.jarfalk@unwrongest.com\n
+*\t@author-website\t\t\t\t\thttp://www.unwrongest.com\n
+*\n
+*\t@licens\t\t\t\t\t\t\tMIT License - http://www.opensource.org/licenses/mit-license.php\n
+*/\n
+(function(a){a.fn.extend({elastic:function(){var b=["paddingTop","paddingRight","paddingBottom","paddingLeft","fontSize","lineHeight","fontFamily","width","fontWeight"];return this.each(function(){if(this.type!="textarea"){return false}var g=a(this),c=a("<div />").css({position:"absolute",display:"none","word-wrap":"break-word"}),h=parseInt(g.css("line-height"),10)||parseInt(g.css("font-size"),"10"),k=parseInt(g.css("height"),10)||h*3,j=parseInt(g.css("max-height"),10)||Number.MAX_VALUE,d=0,f=0;if(j<0){j=Number.MAX_VALUE}c.appendTo(g.parent());var f=b.length;while(f--){c.css(b[f].toString(),g.css(b[f].toString()))}function l(i,m){curratedHeight=Math.floor(parseInt(i,10));if(g.height()!=curratedHeight){g.css({height:curratedHeight+"px",overflow:m})}}function e(){var n=g.val().replace(/&/g,"&amp;").replace(/  /g,"&nbsp;").replace(/<|>/g,"&gt;").replace(/\\n/g,"<br />");var i=c.html();if(n+"&nbsp;"!=i){c.html(n+"&nbsp;");if(Math.abs(c.height()+h-g.height())>3){var m=c.height()+h;if(m>=j){l(j,"auto")}else{if(m<=k){l(k,"hidden")}else{l(m,"hidden")}}}}}g.css({overflow:"hidden"});g.keyup(function(){e()});g.live("input paste",function(i){setTimeout(e,250)});e()})}})})(jQuery);
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1569</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.scrollTo-min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.scrollTo-min.js.xml
new file mode 100644
index 0000000000..3d0b83ca63
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquery.scrollTo-min.js.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts79962421.31</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery.scrollTo-min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * jQuery.ScrollTo - Easy element scrolling using jQuery\n
+ * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com\n
+ * Dual licensed under MIT and GPL.\n
+ * Date: 06/05/2009\n
+ * @author Ariel Flesler\n
+ * @version 1.4.2\n
+ * http://flesler.blogspot.com/2007/10/jqueryscrollto.html\n
+ */\n
+;(function(c){var a=c.scrollTo=function(f,e,d){c(window).scrollTo(f,e,d)};a.defaults={axis:"xy",duration:parseFloat(c.fn.jquery)>=1.3?0:1};a.window=function(d){return c(window)._scrollable()};c.fn._scrollable=function(){return this.map(function(){var e=this,d=!e.nodeName||c.inArray(e.nodeName.toLowerCase(),["iframe","#document","html","body"])!=-1;if(!d){return e}var f=(e.contentWindow||e).document||e.ownerDocument||e;return c.browser.safari||f.compatMode=="BackCompat"?f.body:f.documentElement})};c.fn.scrollTo=function(f,e,d){if(typeof e=="object"){d=e;e=0}if(typeof d=="function"){d={onAfter:d}}if(f=="max"){f=9000000000}d=c.extend({},a.defaults,d);e=e||d.speed||d.duration;d.queue=d.queue&&d.axis.length>1;if(d.queue){e/=2}d.offset=b(d.offset);d.over=b(d.over);return this._scrollable().each(function(){var l=this,j=c(l),k=f,i,g={},m=j.is("html,body");switch(typeof k){case"number":case"string":if(/^([+-]=)?\\d+(\\.\\d+)?(px|%)?$/.test(k)){k=b(k);break}k=c(k,this);case"object":if(k.is||k.style){i=(k=c(k)).offset()}}c.each(d.axis.split(""),function(q,r){var s=r=="x"?"Left":"Top",u=s.toLowerCase(),p="scroll"+s,o=l[p],n=a.max(l,r);if(i){g[p]=i[u]+(m?0:o-j.offset()[u]);if(d.margin){g[p]-=parseInt(k.css("margin"+s))||0;g[p]-=parseInt(k.css("border"+s+"Width"))||0}g[p]+=d.offset[u]||0;if(d.over[u]){g[p]+=k[r=="x"?"width":"height"]()*d.over[u]}}else{var t=k[u];g[p]=t.slice&&t.slice(-1)=="%"?parseFloat(t)/100*n:t}if(/^\\d+$/.test(g[p])){g[p]=g[p]<=0?0:Math.min(g[p],n)}if(!q&&d.queue){if(o!=g[p]){h(d.onAfterFirst)}delete g[p]}});h(d.onAfter);function h(n){j.animate(g,e,d.easing,n&&function(){n.call(this,f,d)})}}).end()};a.max=function(j,i){var h=i=="x"?"Width":"Height",e="scroll"+h;if(!c(j).is("html,body")){return j[e]-c(j)[h.toLowerCase()]()}var g="client"+h,f=j.ownerDocument.documentElement,d=j.ownerDocument.body;return Math.max(f[e],d[e])-Math.min(f[g],d[g])};function b(d){return typeof d=="object"?d:{top:d,left:d}}})(jQuery);
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>2266</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquerybbq.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquerybbq.xml
new file mode 100644
index 0000000000..6623f7fcd0
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquerybbq.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>jquerybbq</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquerybbq/jquery.bbq.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquerybbq/jquery.bbq.min.js.xml
new file mode 100644
index 0000000000..be2c6ca2a3
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/jquerybbq/jquery.bbq.min.js.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003785.82</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery.bbq.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * jQuery BBQ: Back Button & Query Library - v1.2.1 - 2/17/2010\n
+ * http://benalman.com/projects/jquery-bbq-plugin/\n
+ * \n
+ * Copyright (c) 2010 "Cowboy" Ben Alman\n
+ * Dual licensed under the MIT and GPL licenses.\n
+ * http://benalman.com/about/license/\n
+ */\n
+(function($,p){var i,m=Array.prototype.slice,r=decodeURIComponent,a=$.param,c,l,v,b=$.bbq=$.bbq||{},q,u,j,e=$.event.special,d="hashchange",A="querystring",D="fragment",y="elemUrlAttr",g="location",k="href",t="src",x=/^.*\\?|#.*$/g,w=/^.*\\#/,h,C={};function E(F){return typeof F==="string"}function B(G){var F=m.call(arguments,1);return function(){return G.apply(this,F.concat(m.call(arguments)))}}function n(F){return F.replace(/^[^#]*#?(.*)$/,"$1")}function o(F){return F.replace(/(?:^[^?#]*\\?([^#]*).*$)?.*/,"$1")}function f(H,M,F,I,G){var O,L,K,N,J;if(I!==i){K=F.match(H?/^([^#]*)\\#?(.*)$/:/^([^#?]*)\\??([^#]*)(#?.*)/);J=K[3]||"";if(G===2&&E(I)){L=I.replace(H?w:x,"")}else{N=l(K[2]);I=E(I)?l[H?D:A](I):I;L=G===2?I:G===1?$.extend({},I,N):$.extend({},N,I);L=a(L);if(H){L=L.replace(h,r)}}O=K[1]+(H?"#":L||!K[1]?"?":"")+L+J}else{O=M(F!==i?F:p[g][k])}return O}a[A]=B(f,0,o);a[D]=c=B(f,1,n);c.noEscape=function(G){G=G||"";var F=$.map(G.split(""),encodeURIComponent);h=new RegExp(F.join("|"),"g")};c.noEscape(",/");$.deparam=l=function(I,F){var H={},G={"true":!0,"false":!1,"null":null};$.each(I.replace(/\\+/g," ").split("&"),function(L,Q){var K=Q.split("="),P=r(K[0]),J,O=H,M=0,R=P.split("]["),N=R.length-1;if(/\\[/.test(R[0])&&/\\]$/.test(R[N])){R[N]=R[N].replace(/\\]$/,"");R=R.shift().split("[").concat(R);N=R.length-1}else{N=0}if(K.length===2){J=r(K[1]);if(F){J=J&&!isNaN(J)?+J:J==="undefined"?i:G[J]!==i?G[J]:J}if(N){for(;M<=N;M++){P=R[M]===""?O.length:R[M];O=O[P]=M<N?O[P]||(R[M+1]&&isNaN(R[M+1])?{}:[]):J}}else{if($.isArray(H[P])){H[P].push(J)}else{if(H[P]!==i){H[P]=[H[P],J]}else{H[P]=J}}}}else{if(P){H[P]=F?i:""}}});return H};function z(H,F,G){if(F===i||typeof F==="boolean"){G=F;F=a[H?D:A]()}else{F=E(F)?F.replace(H?w:x,""):F}return l(F,G)}l[A]=B(z,0);l[D]=v=B(z,1);$[y]||($[y]=function(F){return $.extend(C,F)})({a:k,base:k,iframe:t,img:t,input:t,form:"action",link:k,script:t});j=$[y];function s(I,G,H,F){if(!E(H)&&typeof H!=="object"){F=H;H=G;G=i}return this.each(function(){var L=$(this),J=G||j()[(this.nodeName||"").toLowerCase()]||"",K=J&&L.attr(J)||"";L.attr(J,a[I](K,H,F))})}$.fn[A]=B(s,A);$.fn[D]=B(s,D);b.pushState=q=function(I,F){if(E(I)&&/^#/.test(I)&&F===i){F=2}var H=I!==i,G=c(p[g][k],H?I:{},H?F:2);p[g][k]=G+(/#/.test(G)?"":"#")};b.getState=u=function(F,G){return F===i||typeof F==="boolean"?v(F):v(G)[F]};b.removeState=function(F){var G={};if(F!==i){G=u();$.each($.isArray(F)?F:arguments,function(I,H){delete G[H]})}q(G,2)};e[d]=$.extend(e[d],{add:function(F){var H;function G(J){var I=J[D]=c();J.getState=function(K,L){return K===i||typeof K==="boolean"?l(I,K):l(I,L)[K]};H.apply(this,arguments)}if($.isFunction(F)){H=F;return G}else{H=F.handler;F.handler=G}}})})(jQuery,this);\n
+/*\n
+ * jQuery hashchange event - v1.2 - 2/11/2010\n
+ * http://benalman.com/projects/jquery-hashchange-plugin/\n
+ * \n
+ * Copyright (c) 2010 "Cowboy" Ben Alman\n
+ * Dual licensed under the MIT and GPL licenses.\n
+ * http://benalman.com/about/license/\n
+ */\n
+(function($,i,b){var j,k=$.event.special,c="location",d="hashchange",l="href",f=$.browser,g=document.documentMode,h=f.msie&&(g===b||g<8),e="on"+d in i&&!h;function a(m){m=m||i[c][l];return m.replace(/^[^#]*#?(.*)$/,"$1")}$[d+"Delay"]=100;k[d]=$.extend(k[d],{setup:function(){if(e){return false}$(j.start)},teardown:function(){if(e){return false}$(j.stop)}});j=(function(){var m={},r,n,o,q;function p(){o=q=function(s){return s};if(h){n=$(\'<iframe src="javascript:0"/>\').hide().insertAfter("body")[0].contentWindow;q=function(){return a(n.document[c][l])};o=function(u,s){if(u!==s){var t=n.document;t.open().close();t[c].hash="#"+u}};o(a())}}m.start=function(){if(r){return}var t=a();o||p();(function s(){var v=a(),u=q(t);if(v!==t){o(t=v,u);$(i).trigger(d)}else{if(u!==t){i[c][l]=i[c][l].replace(/#.*/,"")+"#"+u}}r=setTimeout(s,$[d+"Delay"])})()};m.stop=function(){if(!n){r&&clearTimeout(r);r=0}};return m})()})(jQuery,this);
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>4122</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys.xml
new file mode 100644
index 0000000000..dc2b5cebc1
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>js-hotkeys</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys/README.md.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys/README.md.xml
new file mode 100644
index 0000000000..086a36fa9b
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys/README.md.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>README.md</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string>#About\n
+**jQuery Hotkeys** is a plug-in that lets you easily add and remove handlers for keyboard events anywhere in your code supporting almost any key combination.  \n
+\n
+This plugin is based off of the plugin by Tzury Bar Yochay: [jQuery.hotkeys](http://github.com/tzuryby/hotkeys)\n
+\n
+The syntax is as follows:\n
+\n
+    $(expression).bind(types, keys, handler);\n
+    $(expression).unbind(types, handler);\n
+    \n
+    $(document).bind(\'keydown\', \'ctrl+a\', fn);\n
+    \n
+    // e.g. replace \'$\' sign with \'EUR\'\n
+    $(\'input.foo\').bind(\'keyup\', \'$\', function(){\n
+      this.value = this.value.replace(\'$\', \'EUR\');\n
+    });\n
+\n
+## Types\n
+Supported types are `\'keydown\'`, `\'keyup\'` and `\'keypress\'`\n
+\n
+## Notes\n
+\n
+If you want to use more than one modifiers (e.g. alt+ctrl+z) you should define them by an alphabetical order e.g. alt+ctrl+shift\n
+\n
+Hotkeys aren\'t tracked if you\'re inside of an input element (unless you explicitly bind the hotkey directly to the input). This helps to avoid conflict with normal user typing.\n
+\n
+## jQuery Compatibility\n
+\n
+Works with jQuery 1.4.2 and newer.\n
+\n
+It known to be working with all the major browsers on all available platforms (Win/Mac/Linux)\n
+\n
+ * IE 6/7/8\n
+ * FF 1.5/2/3\n
+ * Opera-9\n
+ * Safari-3\n
+ * Chrome-0.2\n
+\n
+### Addendum\n
+\n
+Firefox is the most liberal one in the manner of letting you capture all short-cuts even those that are built-in in the browser such as `Ctrl-t` for new tab, or `Ctrl-a` for selecting all text. You can always bubble them up to the browser by returning `true` in your handler.\n
+\n
+Others, (IE) either let you handle built-in short-cuts, but will add their functionality after your code has executed. Or (Opera/Safari) will *not* pass those events to the DOM at all.\n
+\n
+*So, if you bind `Ctrl-Q` or `Alt-F4` and your Safari/Opera window is closed don\'t be surprised.*</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys/jquery.hotkeys.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys/jquery.hotkeys.min.js.xml
new file mode 100644
index 0000000000..112e98dae5
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/js-hotkeys/jquery.hotkeys.min.js.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003845.65</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery.hotkeys.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * jQuery Hotkeys Plugin\n
+ * Copyright 2010, John Resig\n
+ * Dual licensed under the MIT or GPL Version 2 licenses.\n
+ *\n
+ * http://github.com/jeresig/jquery.hotkeys\n
+ *\n
+ * Based upon the plugin by Tzury Bar Yochay:\n
+ * http://github.com/tzuryby/hotkeys\n
+ *\n
+ * Original idea by:\n
+ * Binny V A, http://www.openjs.com/scripts/events/keyboard_shortcuts/\n
+*/\n
+\n
+(function(b){b.hotkeys={version:"0.8",specialKeys:{8:"backspace",9:"tab",13:"return",16:"shift",17:"ctrl",18:"alt",19:"pause",20:"capslock",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"del",96:"0",97:"1",98:"2",99:"3",100:"4",101:"5",102:"6",103:"7",104:"8",105:"9",106:"*",107:"+",109:"-",110:".",111:"/",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",144:"numlock",145:"scroll",191:"/",224:"meta"},shiftNums:{"`":"~","1":"!","2":"@","3":"#","4":"$","5":"%","6":"^","7":"&","8":"*","9":"(","0":")","-":"_","=":"+",";":": ","\'":\'"\',",":"<",".":">","/":"?","\\\\":"|"}};function a(d){if(typeof d.data!=="string"){return}var c=d.handler,e=d.data.toLowerCase().split(" ");d.handler=function(n){if(this!==n.target&&(/textarea|select/i.test(n.target.nodeName)||n.target.type==="text")){return}var h=n.type!=="keypress"&&b.hotkeys.specialKeys[n.which],o=String.fromCharCode(n.which).toLowerCase(),k,m="",g={};if(n.altKey&&h!=="alt"){m+="alt+"}if(n.ctrlKey&&h!=="ctrl"){m+="ctrl+"}if(n.metaKey&&!n.ctrlKey&&h!=="meta"){m+="meta+"}if(n.shiftKey&&h!=="shift"){m+="shift+"}if(h){g[m+h]=true}else{g[m+o]=true;g[m+b.hotkeys.shiftNums[o]]=true;if(m==="shift+"){g[b.hotkeys.shiftNums[o]]=true}}for(var j=0,f=e.length;j<f;j++){if(g[e[j]]){return c.apply(this,arguments)}}}}b.each(["keydown","keyup","keypress"],function(){b.event.special[this]={add:a}})})(jQuery);
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1837</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/mbMenu.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/mbMenu.min.js.xml
new file mode 100644
index 0000000000..240565e231
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/mbMenu.min.js.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts79962421.52</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>mbMenu.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*******************************************************************************\n
+ jquery.mb.components\n
+ Copyright (c) 2001-2010. Matteo Bicocchi (Pupunzi); Open lab srl, Firenze - Italy\n
+ email: info@pupunzi.com\n
+ site: http://pupunzi.com\n
+\n
+ Licences: MIT, GPL\n
+ http://www.opensource.org/licenses/mit-license.php\n
+ http://www.gnu.org/licenses/gpl.html\n
+ ******************************************************************************/\n
+\n
+(function($){$.mbMenu={actualMenuOpener:false,options:{template:"yourMenuVoiceTemplate",additionalData:"",menuSelector:".menuContainer",menuWidth:150,openOnRight:false,containment:"window",iconPath:"ico/",hasImages:true,fadeInTime:100,fadeOutTime:200,menuTop:0,menuLeft:0,submenuTop:0,submenuLeft:4,opacity:1,shadow:false,shadowColor:"transparent",shadowOpacity:.2,openOnClick:true,closeOnMouseOut:false,closeAfter:500,minZindex:"auto",hoverIntent:0,submenuHoverIntent:200,onContextualMenu:function(){}},buildMenu:function(g){return this.each(function(){var c=this;c.id=!this.id?"menu_"+Math.floor(Math.random()*1000):this.id;this.options={};$.extend(this.options,$.mbMenu.options);$.extend(this.options,g);$(".mbmenu").hide();c.clicked=false;c.rootMenu=false;c.clearClicked=false;c.actualOpenedMenu=false;c.menuvoice=false;var d=$(this);var e=this.options.openOnClick;var f=this.options.closeOnMouseOut;$(d).each(function(){if($.metadata){$.metadata.setType("class");c.menuvoice=$(this).find(".rootVoice");$(c.menuvoice).each(function(){if($(this).metadata().menu)$(this).attr("menu",$(this).metadata().menu)})}c.menuvoice=$(this).find("[menu]").add($(this).filter("[menu]"));$(c.menuvoice).each(function(){$(this).addClass("rootVoice");$(this).attr("nowrap","nowrap")});if(e){$(c.menuvoice).bind("click",function(){if(!$(this).attr("isOpen")){$(this).buildMbMenu(c,$(this).attr("menu"));$(this).attr("isOpen","true")}else{$(this).removeMbMenu(c,true);$(this).addClass("selected")}if($(this).attr("menu")=="empty"){if(c.actualOpenedMenu){$(c.actualOpenedMenu).removeClass("selected");c.clicked=true;$(this).removeAttr("isOpen");clearTimeout(c.clearClicked)}}return false})}var a=$.browser.msie?"mouseenter":"mouseover";var b=$.browser.msie?"mouseleave":"mouseout";if(this.options.hoverIntent==0){$(c.menuvoice).bind(a,function(){if(f)clearTimeout($.mbMenu.deleteOnMouseOut);if(!e)$(c).find(".selected").removeClass("selected");if(c.actualOpenedMenu){$(c.actualOpenedMenu).removeClass("selected")}$(this).addClass("selected");if((c.clicked||!e)&&!$(this).attr("isOpen")){clearTimeout(c.clearClicked);$(this).buildMbMenu(c,$(this).attr("menu"));if($(this).attr("menu")=="empty"){$(this).removeAttr("isOpen")}}});$(c.menuvoice).bind(b,function(){if(f)$.mbMenu.deleteOnMouseOut=setTimeout(function(){$(this).removeMbMenu(c,true)},$(d)[0].options.closeAfter);if($(this).attr("menu")=="empty"){$(this).removeClass("selected");c.clearClicked=setTimeout(function(){c.rootMenu=false;c.clicked=false},$(d)[0].options.closeAfter)}if(!c.clicked)$(this).removeClass("selected");$(document).one("click",function(){if($(this).attr("menu")=="empty"){clearTimeout(c.clearClicked);return}$(this).removeClass("selected");$(this).removeMbMenu(c,true)})})}else{$(c.menuvoice).hoverIntent({over:function(){if(f)clearTimeout($.mbMenu.deleteOnMouseOut);if(!e)$(c).find(".selected").removeClass("selected");if(c.actualOpenedMenu){$(c.actualOpenedMenu).removeClass("selected")}$(this).addClass("selected");if((c.clicked||!e)&&!$(this).attr("isOpen")){clearTimeout(c.clearClicked);$(this).buildMbMenu(c,$(this).attr("menu"));if($(this).attr("menu")=="empty"){$(this).removeMbMenu(c);$(this).removeAttr("isOpen")}}},sensitivity:30,interval:this.options.hoverIntent,timeout:0,out:function(){if(f)$.mbMenu.deleteOnMouseOut=setTimeout(function(){$(this).removeMbMenu(c,true)},$(d)[0].options.closeAfter);if($(this).attr("menu")=="empty"){$(this).removeClass("selected");c.clearClicked=setTimeout(function(){c.rootMenu=false;c.clicked=false},$(d)[0].options.closeAfter)}if(!c.clicked)$(this).removeClass("selected");$(document).one("click",function(){if($(this).attr("menu")=="empty"){clearTimeout(c.clearClicked);return}$(this).removeClass("selected");$(this).removeMbMenu(c,true)})}})}})})},buildContextualMenu:function(e){return this.each(function(){var c=this;c.options={};$.extend(c.options,$.mbMenu.options);$.extend(c.options,e);$(".mbmenu").hide();c.clicked=false;c.rootMenu=false;c.clearClicked=false;c.actualOpenedMenu=false;c.menuvoice=false;var d;if($.metadata){$.metadata.setType("class");d=$(this).find(".cmVoice");$(d).each(function(){if($(this).metadata().cMenu)$(this).attr("cMenu",$(this).metadata().cMenu)})}d=$(this).find("[cMenu]").add($(this).filter("[cMenu]"));$(d).each(function(){$(this).css("-khtml-user-select","none");var b=this;b.id=!b.id?"menu_"+Math.floor(Math.random()*100):b.id;$(b).css({cursor:"default"});$(b).bind("contextmenu","mousedown",function(a){a.preventDefault();a.stopPropagation();a.cancelBubble=true;$.mbMenu.lastContextMenuEl=b;if($.mbMenu.options.actualMenuOpener){$(c).removeMbMenu($.mbMenu.options.actualMenuOpener)}c.options.onContextualMenu(this,a);$(this).buildMbMenu(c,$(this).attr("cMenu"),"cm",a);$(this).attr("isOpen","true")})})})}};$.fn.extend({buildMbMenu:function(n,m,o,e){var p=$.browser.msie&&$.browser.version=="6.0";var q=$.browser.msie?"mouseenter":"mouseover";var r=$.browser.msie?"mouseleave":"mouseout";if(e){this.mouseX=$(this).getMouseX(e);this.mouseY=$(this).getMouseY(e)}if($.mbMenu.options.actualMenuOpener&&$.mbMenu.options.actualMenuOpener!=n)$(n).removeMbMenu($.mbMenu.options.actualMenuOpener);$.mbMenu.options.actualMenuOpener=n;if(!o||o=="cm"){if(n.rootMenu){$(n.rootMenu).removeMbMenu(n);$(n.actualOpenedMenu).removeAttr("isOpen")}n.clicked=true;n.actualOpenedMenu=this;$(n.actualOpenedMenu).attr("isOpen","true");$(n.actualOpenedMenu).addClass("selected")}var s=this;var u=(!o||o=="cm")?$(document.body):$(this).parent().parent();if($(this).attr("menu")=="empty"){return}var v=n.options.menuSelector.replace(".","");u.append("<div class=\'menuDiv\'><div class=\'"+v+"\' style=\'display:table\'></div></div>");this.menu=u.find(".menuDiv");$(this.menu).css({width:0,height:0});if(n.options.minZindex!="auto"){$(this.menu).css({zIndex:n.options.minZindex++})}else{$(this.menu).mb_BringToFront()}this.menuContainer=$(this.menu).find(n.options.menuSelector);$(this.menuContainer).bind(q,function(){$(s).addClass("selected")});$(this.menuContainer).css({position:"absolute",opacity:n.options.opacity});if(!$("#"+m).html()){$.ajax({type:"POST",url:n.options.template,cache:false,async:false,data:"menuId="+m+(n.options.additionalData!=""?"&"+n.options.additionalData:""),success:function(a){$("body").append(a);$("#"+m).hide()}})}$(this.menuContainer).hide();this.voices=$("#"+m).find("a").clone();if(n.options.shadow){var w=$("<div class=\'menuShadow\'></div>").hide();if(p)w=$("<iframe class=\'menuShadow\'></iframe>").hide()}if($.metadata){$.metadata.setType("class");$(this.voices).each(function(){if($(this).metadata().disabled)$(this).attr("disabled",$(this).metadata().disabled);if($(this).metadata().img)$(this).attr("img",$(this).metadata().img);if($(this).metadata().menu)$(this).attr("menu",$(this).metadata().menu);if($(this).metadata().action)$(this).attr("action",$(this).metadata().action);if($(this).metadata().disabled)$(this).attr("disabled",$(this).metadata().disabled)})}$(this.voices).each(function(i){var c=this;var d="";var e=$(c).attr("rel")=="text";var f=$(c).attr("rel")=="title";var g=$(c).is("[disabled]");var h=$(c).attr("rel")=="separator";if(n.options.hasImages&&!e){var j=$(c).attr("img")?$(c).attr("img"):"blank.gif";j=(j.length>3&&j.indexOf(".")>-1)?"<img class=\'imgLine\' src=\'"+n.options.iconPath+j+"\'>":j;d="<td class=\'img\'>"+j+"</td>"}var k="<table id=\'"+m+"_"+i+"\' class=\'line"+(f?" title":"")+"\' cellspacing=\'0\' cellpadding=\'0\' border=\'0\' style=\'width:100%;\' width=\'100%\'><tr>"+d+"<td class=\'voice\' nowrap></td></tr></table>";if(h)k="<div class=\'separator\' style=\'width:100%; display:inline-block\'><img src=\'"+n.options.iconPath+"blank.gif\' width=\'1\' height=\'1\'></div>";if(e)k="<div style=\'width:100%; display:table\' class=\'line\' id=\'"+m+"_"+i+"\'><div class=\'voice\'></div></div>";$(s.menuContainer).append(k);var l=$(s.menuContainer).find("#"+m+"_"+i);if(!h){l.find(".voice").append(this);if($(this).attr("menu")){l.find(".voice a").wrap("<div class=\'menuArrow\'></div>");l.find(".menuArrow").addClass("subMenuOpener");l.css({cursor:"default"});this.isOpener=true}if(e){l.find(".voice").addClass("textBox");this.isOpener=true}if(g){l.addClass("disabled").css({cursor:"default"})}if(!(e||f||g)){l.css({cursor:"pointer"});if(n.options.submenuHoverIntent==0){l.bind("mouseover",function(a){clearTimeout($.mbMenu.deleteOnMouseOut);$(this).addClass("selected");if(s.menuContainer.actualSubmenu&&!$(c).attr("menu")){$(s.menu).find(".menuDiv").remove();$(s.menuContainer.actualSubmenu).removeClass("selected");s.menuContainer.actualSubmenu=false}if($(c).attr("menu")){if(s.menuContainer.actualSubmenu&&s.menuContainer.actualSubmenu!=this){$(s.menu).find(".menuDiv").remove();$(s.menuContainer.actualSubmenu).removeClass("selected");s.menuContainer.actualSubmenu=false}if(!$(c).attr("action"))$(s.menuContainer).find("#"+m+"_"+i).css("cursor","default");if(!s.menuContainer.actualSubmenu||s.menuContainer.actualSubmenu!=this){$(s.menu).find(".menuDiv").remove();s.menuContainer.actualSubmenu=false;$(this).buildMbMenu(n,$(c).attr("menu"),"sm",a);s.menuContainer.actualSubmenu=this}$(this).attr("isOpen","true");return false}})}else{l.bind("mouseover",function(){clearTimeout($.mbMenu.deleteOnMouseOut);$(this).addClass("selected")});l.hoverIntent({over:function(a){if(s.menuContainer.actualSubmenu&&!$(c).attr("menu")){$(s.menu).find(".menuDiv").remove();$(s.menuContainer.actualSubmenu).removeClass("selected");s.menuContainer.actualSubmenu=false}if($(c).attr("menu")){if(s.menuContainer.actualSubmenu&&s.menuContainer.actualSubmenu!=this){$(s.menu).find(".menuDiv").remove();$(s.menuContainer.actualSubmenu).removeClass("selected");s.menuContainer.actualSubmenu=false}if(!$(c).attr("action"))$(s.menuContainer).find("#"+m+"_"+i).css("cursor","default");if(!s.menuContainer.actualSubmenu||s.menuContainer.actualSubmenu!=this){$(s.menu).find(".menuDiv").remove();s.menuContainer.actualSubmenu=false;$(this).buildMbMenu(n,$(c).attr("menu"),"sm",a);s.menuContainer.actualSubmenu=this}$(this).attr("isOpen","true");return false}},out:function(){},sensitivity:30,interval:n.options.submenuHoverIntent,timeout:0})}l.bind(r,function(){$(this).removeClass("selected")})}if(g||f||e){$(this).removeAttr("href");l.bind(q,function(){$(document).unbind("click");if(x)clearTimeout($.mbMenu.deleteOnMouseOut);if(s.menuContainer.actualSubmenu){$(s.menu).find(".menuDiv").remove();s.menuContainer.actualSubmenu=false}}).css("cursor","default")}l.bind("click",function(){if(($(c).attr("action")||$(c).attr("href"))&&!g){var a=$(c).attr("target")?$(c).attr("target"):"_self";if($(c).attr("href")&&$(c).attr("href").indexOf("javascript:")>-1){$(c).attr("action",$(c).attr("href").replace("javascript:",""))}var b=$(c).attr("action")?$(c).attr("action"):"window.open(\'"+$(c).attr("href")+"\', \'"+a+"\')";if(!$(c).attr("href")||($(c).attr("href")&&$(c).attr("href").indexOf("javascript:")>-1)){$(c).removeAttr("href");eval(b)}$(this).removeMbMenu(n,true)}else if($(c).attr("menu"))return false})}});var x=$(n)[0].options.closeOnMouseOut;if(x){$(s.menuContainer).bind("mouseenter",function(){clearTimeout($.mbMenu.deleteOnMouseOut)});$(s.menuContainer).bind("mouseleave",function(){var a=$.mbMenu.options.actualMenuOpener;$.mbMenu.deleteOnMouseOut=setTimeout(function(){$(this).removeMbMenu(a,true)},$(n)[0].options.closeAfter)})}var t=0,l=0;$(this.menuContainer).css({width:n.options.menuWidth});if($.browser.msie)$(this.menuContainer).css("width",$(this.menuContainer).width()+2);switch(o){case"sm":t=$(this).position().top+n.options.submenuTop;l=$(this).position().left+$(this).width()-n.options.submenuLeft;break;case"cm":t=this.mouseY-5;l=this.mouseX-5;break;default:if(n.options.openOnRight){t=$(this).offset().top-($.browser.msie?2:0)+n.options.menuTop;l=$(this).offset().left+$(this).outerWidth()-n.options.menuLeft-($.browser.msie?2:0)}else{t=$(this).offset().top+$(this).outerHeight()-(!$.browser.mozilla?2:0)+n.options.menuTop;l=$(this).offset().left+n.options.menuLeft}break}$(this.menu).css({position:"absolute",top:t,left:l});if(!o||o=="cm")n.rootMenu=this.menu;$(this.menuContainer).bind(r,function(){$(document).one("click",function(){$(document).removeMbMenu(n,true)})});if(n.options.fadeInTime>0)$(this.menuContainer).fadeIn(n.options.fadeInTime);else $(this.menuContainer).show();if(n.options.shadow){$(this.menu).prepend(w);w.css({width:$(this.menuContainer).outerWidth(),height:$(this.menuContainer).outerHeight()-1,position:\'absolute\',backgroundColor:n.options.shadowColor,border:0,opacity:n.options.shadowOpacity}).show()}var y=(n.options.containment=="window")?$(window).height():$("#"+n.options.containment).offset().top+$("#"+n.options.containment).outerHeight();var z=(n.options.containment=="window")?$(window).width():$("#"+n.options.containment).offset().left+$("#"+n.options.containment).outerWidth();var A=$(this.menuContainer).outerHeight();var B=w?w.outerWidth():$(this.menuContainer).outerWidth();var C=$(u.find(".menuDiv:first")).offset().left-$(window).scrollLeft();var D=$(u.find(".menuDiv:first")).offset().top-$(window).scrollTop();switch(o){case"sm":if((C+B)>=z&&B<z){l-=((n.options.menuWidth*2)-(n.options.submenuLeft*2))}break;case"cm":if((C+(n.options.menuWidth*1.5))>=z&&B<z){l-=((n.options.menuWidth)-(n.options.submenuLeft))}break;default:if((C+B)>=z&&B<z){l-=($(this.menuContainer).offset().left+B)-z+1}break}if((D+A)>=y-10&&A<y){t-=((D+A)-y)+10}$(this.menu).css({top:t,left:l})},removeMbMenu:function(a,b){if(!a)a=$.mbMenu.options.actualMenuOpener;if(a.rootMenu){$(a.actualOpenedMenu).removeAttr("isOpen").removeClass("selected");$(a.rootMenu).css({width:1,height:1});if(b)$(a.rootMenu).fadeOut(a.options.fadeOutTime,function(){$(this).remove()});else $(a.rootMenu).remove();a.rootMenu=false;a.clicked=false;$(document).unbind("click")}},getMouseX:function(e){var a;if($.browser.msie)a=e.clientX+document.documentElement.scrollLeft;else a=e.pageX;if(a<0)a=0;return a},getMouseY:function(e){var a;if($.browser.msie)a=e.clientY+document.documentElement.scrollTop;else a=e.pageY;if(a<0)a=0;return a},mb_BringToFront:function(){var b=10;$(\'*\').each(function(){if($(this).css("position")=="absolute"){var a=parseInt($(this).css(\'zIndex\'));b=a>b?parseInt($(this).css(\'zIndex\')):b}});$(this).css(\'zIndex\',b+=10)}});$.fn.buildMenu=$.mbMenu.buildMenu;$.fn.buildContextualMenu=$.mbMenu.buildContextualMenu})(jQuery);
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>14726</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/menu.css.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/menu.css.xml
new file mode 100644
index 0000000000..26873dbffd
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/menu.css.xml
@@ -0,0 +1,237 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>menu.css</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string>body{\n
+\tfont-family:sans-serif;\n
+\tfont-size:13px;\n
+\tcolor:black;\n
+}\n
+\n
+.mbmenu{\n
+  display:none;\n
+}\n
+.rootVoices{\n
+\tbackground-color:#f3f3f3;\n
+\tpadding:5px;\n
+\tpadding-bottom:0;\n
+}\n
+.rootVoices td.rootVoice {\n
+\tbackground-color:transparent;\n
+\twidth:120px;\n
+\tline-height:18px;\n
+\tfont-family:Arial,Helvetica,sans-serif;\n
+\tcolor: gray;\n
+\tfont-size:12px;\n
+\tpadding:8px;\n
+\tpadding-left:10px;\n
+\tcursor: pointer;\n
+}\n
+.rootVoices td.selected{\n
+\tbackground-color:gray;\n
+\tcolor:#ffffff;\n
+\tcursor: pointer;\n
+\tfont-size:14px;\n
+}\n
+\n
+.menuShadow{\n
+\tpadding:2px;\n
+\tpadding-bottom:0px;\n
+\tleft:-2;\n
+\ttop:1px;\n
+}\n
+\n
+.menuContainer{\n
+\tbackground-color:gray;\n
+}\n
+\n
+.menuContainer .line{\n
+\tbackground-color:white;\n
+\twidth:100%;\n
+\tpadding-left:-5;\n
+}\n
+\n
+.menuContainer .line.title {\n
+\ttext-align:right;\n
+}\n
+\n
+.menuContainer .line.title a{\n
+\tcolor:dimgray;\n
+\tfont-size:14px;\n
+}\n
+\n
+.menuContainer td a{\n
+\ttext-decoration:none;\n
+\tcolor: #000000;\n
+}\n
+\n
+.menuContainer td.voice{\n
+\tborder-top:1px solid #f3f3f3;\n
+\tfont-family:Arial,Helvetica,sans-serif;\n
+\tfont-size:12px;\n
+\tpadding:5px;\n
+}\n
+\n
+.menuContainer .separator{\n
+\tbackground-color:#f1f1f1;\n
+\theight:1px;\n
+}\n
+.menuContainer td.img{\n
+\tborder-top:1px solid #f3f3f3;\n
+\tfont-family:Arial,Helvetica,sans-serif;\n
+\ttext-align:center;\n
+\tfont-size:12px;\n
+\tcolor: #c3c3c3;\n
+\tbackground-color:#f9f9f9;\n
+\twidth:24px;\n
+\tpadding:5px;\n
+}\n
+.menuContainer td.img img{\n
+\twidth:20px;\n
+}\n
+.menuContainer .textBox{\n
+\tpadding: 5px;\n
+\tfont-family:Arial,Helvetica,sans-serif;\n
+\tfont-size:12px;\n
+\tbackground-color:#ffffff;\n
+\tcolor: #c3c3c3;\n
+}\n
+.menuContainer .selected td{\n
+\tbackground-color:#f3f3f3;\n
+\tbackground-image:url("../images/bgnd_sel_2.jpg")\n
+}\n
+.menuContainer .selected td a{\n
+\tcolor:#000;\n
+  display:block;\n
+}\n
+.menuContainer .disabled td, .menuContainer .disabled td a {\n
+\tcolor: #cccccc;\n
+}\n
+.menuContainer .subMenuOpener{\n
+\tbackground-image:url("../images/menuArrow.gif");\n
+\tbackground-repeat:no-repeat;\n
+\tbackground-position:right;\n
+}\n
+\n
+/*\n
+vertical menu\n
+*/\n
+\n
+\n
+/**/\n
+\n
+.rootVerticalVoices{\n
+\tbackground-color:#333;\n
+\tpadding:0px;\n
+}\n
+.rootVerticalVoices td.rootVoice {\n
+/*border-top:1px solid #666;*/\n
+\twidth:130px;\n
+\tfont-family:Arial,Helvetica,sans-serif;\n
+\tcolor: gray;\n
+\tfont-size:13px;\n
+\tpadding:7px;\n
+\tcursor: pointer;\n
+}\n
+.rootVerticalVoices td.selected{\n
+\tbackground-image:url("../images/bgnd_sel_4.png");\n
+\tcolor:#ffffff;\n
+\tcursor: pointer;\n
+}\n
+\n
+\n
+.verticalMenu{\n
+\tbackground-color:#000;\n
+\t/*\n
+ The menu container style must be set via the options paramiter\n
+ within the function call due to a Safari bug interpreting css on the fly...\n
+ */\n
+}\n
+.verticalMenu .line{\n
+\tbackground-color:#333;\n
+\twidth:100%;\n
+\tpadding-left:-5px;\n
+}\n
+.verticalMenu td a{\n
+\ttext-decoration:none;\n
+\tcolor: #d3d3d3;\n
+}\n
+.verticalMenu td.voice{\n
+\tborder-top:0px solid #666;\n
+\tfont-family:Arial,Helvetica,sans-serif;\n
+\tfont-size:12px;\n
+\tpadding:5px;\n
+}\n
+.verticalMenu .separator{\n
+\tbackground-color:#666;\n
+\theight:1px;\n
+}\n
+.verticalMenu td.img{\n
+\tborder-top:0px solid #666;\n
+\tfont-family:Arial,Helvetica,sans-serif;\n
+\ttext-align:center;\n
+\tfont-size:12px;\n
+\tcolor: #c3c3c3;\n
+\tbackground-color:#333;\n
+\twidth:24px;\n
+\tpadding:5px;\n
+}\n
+.verticalMenu td.img img{\n
+\twidth:20px;\n
+}\n
+.verticalMenu .textBox{\n
+\tpadding: 10px;\n
+\tfont-family:Arial,Helvetica,sans-serif;\n
+\tfont-size:12px;\n
+\tcolor: #c3c3c3;\n
+}\n
+.verticalMenu .selected td{\n
+\tbackground-image:url("../images/bgnd_sel_4.png");\n
+}\n
+.verticalMenu .selected td a{\n
+\tcolor:#fff;\n
+}\n
+.verticalMenu .disabled td, .verticalMenu .disabled td a {\n
+\tcolor: #666;\n
+}\n
+\n
+\n
+.verticalMenu .subMenuOpener{\n
+\tbackground-image:url("../images/menuArrow_w.gif");\n
+\tbackground-repeat:no-repeat;\n
+\tbackground-position:right;\n
+}\n
+\n
+.verticalMenu .menuShadow{\n
+\tbackground:black;\n
+\tpadding:5px;\n
+}\n
+\n
+</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn.xml
new file mode 100644
index 0000000000..9ad8250ee0
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>spinbtn</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.css.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.css.xml
new file mode 100644
index 0000000000..e5fb8b6860
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.css.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>JQuerySpinBtn.css</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+\tStyles to make ordinary <INPUT type="text"/> look like a spinbutton/spinbox control.\n
+\tUse with JQuerySpinBtn.js to provide the spin functionality by reacting to mouse etc.\n
+\t(Requires a reference to the JQuery library found at http://jquery.com/src/latest/)\n
+\t(Hats-off to John Resig for creating the excellent JQuery library. It is fab.)\n
+\n
+\tThis control is achieved with no extra html markup whatsoever and uses unobtrusive javascript.\n
+\n
+\tWritten by George Adamson, Software Unity (george.jquery@softwareunity.com) September 2006.\n
+\tBig improvements added by Mark Gibson, (mgibson@designlinks.net) September 2006.\n
+\n
+\tDo contact me with comments and suggestions but please don\'t ask for support.\n
+\tAs much as I\'d love to help with specific problems I have plenty to get on with already!\n
+\n
+\tGo ahead and use it in your own projects. This code is provided \'as is\'.\n
+\tSure I\'ve tested in heaps of ways. Its good for me, but you use it at your own risk.\n
+\tSoftwareUnity and I are certainly not responsible if your computer sets fire to the sofa,\n
+\thacks into the pentagon, hijacks a plane or gives you any kind of hassle whatsoever.\n
+\n
+\tIf you\'d like your spin-button image in a different place then you\'ll need to alter both\n
+\tthe CSS below and the javascript isMouseOverUpDn() function to accommodate the new position.\n
+\tYou could even have left and right buttons either side of the textbox.\n
+*/\n
+\n
+INPUT.spin-button {\n
+\t/* explicitly put padding for top/bottom/left in here so that Opera displays it better */\n
+\tpadding: 2px 20px 2px 2px;\n
+\tbackground-repeat:no-repeat;\t\t/* Warning: Img may disappear in Firefox if you use \'background-attachment:fixed\' ! */\n
+\tbackground-position:100% 0%;\n
+\tbackground-image:url(\'spinbtn_updn.png\');\n
+\tbackground-color:white; /* Needed for Opera */\n
+}\n
+\n
+INPUT.spin-button.up {\t\t\t\t\t/* Change button img when mouse is over the UP-arrow */\n
+\tcursor:pointer;\n
+\tbackground-position:100% -18px;\t\t/* 18px matches height of 2 visible buttons */\n
+}\n
+INPUT.spin-button.down {\t\t\t\t/* Change button img when mouse is over the DOWN-arrow */\n
+\tcursor:pointer;\n
+\tbackground-position:100% -36px;\t\t/* 36px matches height of 2x2 visible buttons */\n
+}\n
+
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.js.xml
new file mode 100644
index 0000000000..25b1e1350c
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.js.xml
@@ -0,0 +1,308 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003855.5</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>JQuerySpinBtn.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/* SpinButton control\n
+ *\n
+ * Adds bells and whistles to any ordinary textbox to\n
+ * make it look and feel like a SpinButton Control.\n
+ *\n
+ * Originally written by George Adamson, Software Unity (george.jquery@softwareunity.com) August 2006.\n
+ * - Added min/max options\n
+ * - Added step size option\n
+ * - Added bigStep (page up/down) option\n
+ *\n
+ * Modifications made by Mark Gibson, (mgibson@designlinks.net) September 2006:\n
+ * - Converted to jQuery plugin\n
+ * - Allow limited or unlimited min/max values\n
+ * - Allow custom class names, and add class to input element\n
+ * - Removed global vars\n
+ * - Reset (to original or through config) when invalid value entered\n
+ * - Repeat whilst holding mouse button down (with initial pause, like keyboard repeat)\n
+ * - Support mouse wheel in Firefox\n
+ * - Fix double click in IE\n
+ * - Refactored some code and renamed some vars\n
+ *\n
+ * Modifications by Jeff Schiller, June 2009:\n
+ * - provide callback function for when the value changes based on the following\n
+ *   http://www.mail-archive.com/jquery-en@googlegroups.com/msg36070.html\n
+ * Modifications by Jeff Schiller, July 2009:\n
+ * - improve styling for widget in Opera\n
+ * - consistent key-repeat handling cross-browser\n
+ * Modifications by Alexis Deveria, October 2009:\n
+ * - provide "stepfunc" callback option to allow custom function to run when changing a value\n
+ * - Made adjustValue(0) only run on certain keyup events, not all.\n
+ *\n
+ * Tested in IE6, Opera9, Firefox 1.5\n
+ * v1.0  11 Aug 2006 - George Adamson\t- First release\n
+ * v1.1     Aug 2006 - George Adamson\t- Minor enhancements\n
+ * v1.2  27 Sep 2006 - Mark Gibson\t\t- Major enhancements\n
+ * v1.3a 28 Sep 2006 - George Adamson\t- Minor enhancements\n
+ * v1.4  18 Jun 2009 - Jeff Schiller    - Added callback function\n
+ * v1.5  06 Jul 2009 - Jeff Schiller    - Fixes for Opera.  \n
+ * v1.6  13 Oct 2009 - Alexis Deveria   - Added stepfunc function  \n
+ * v1.7  21 Oct 2009 - Alexis Deveria   - Minor fixes\n
+ *                                        Fast-repeat for keys and live updating as you type.\n
+ * v1.8  12 Jan 2010 - Benjamin Thomas  - Fixes for mouseout behavior.\n
+ *                                        Added smallStep\n
+ \n
+ Sample usage:\n
+ \n
+\t// Create group of settings to initialise spinbutton(s). (Optional)\n
+\tvar myOptions = {\n
+\t\t\t\t\tmin: 0,\t\t\t\t\t\t// Set lower limit.\n
+\t\t\t\t\tmax: 100,\t\t\t\t\t// Set upper limit.\n
+\t\t\t\t\tstep: 1,\t\t\t\t\t// Set increment size.\n
+\t\t\t\t\tsmallStep: 0.5,\t\t\t\t// Set shift-click increment size.\n
+\t\t\t\t\tspinClass: mySpinBtnClass,\t// CSS class to style the spinbutton. (Class also specifies url of the up/down button image.)\n
+\t\t\t\t\tupClass: mySpinUpClass,\t\t// CSS class for style when mouse over up button.\n
+\t\t\t\t\tdownClass: mySpinDnClass\t// CSS class for style when mouse over down button.\n
+\t\t\t\t\t}\n
+ \n
+\t$(document).ready(function(){\n
+\n
+\t\t// Initialise INPUT element(s) as SpinButtons: (passing options if desired)\n
+\t\t$("#myInputElement").SpinButton(myOptions);\n
+\n
+\t});\n
+ \n
+ */\n
+$.fn.SpinButton = function(cfg){\n
+\treturn this.each(function(){\n
+\n
+\t\tthis.repeating = false;\n
+\t\t\n
+\t\t// Apply specified options or defaults:\n
+\t\t// (Ought to refactor this some day to use $.extend() instead)\n
+\t\tthis.spinCfg = {\n
+\t\t\t//min: cfg && cfg.min ? Number(cfg.min) : null,\n
+\t\t\t//max: cfg && cfg.max ? Number(cfg.max) : null,\n
+\t\t\tmin: cfg && !isNaN(parseFloat(cfg.min)) ? Number(cfg.min) : null,\t// Fixes bug with min:0\n
+\t\t\tmax: cfg && !isNaN(parseFloat(cfg.max)) ? Number(cfg.max) : null,\n
+\t\t\tstep: cfg && cfg.step ? Number(cfg.step) : 1,\n
+\t\t\tstepfunc: cfg && cfg.stepfunc ? cfg.stepfunc : false,\n
+\t\t\tpage: cfg && cfg.page ? Number(cfg.page) : 10,\n
+\t\t\tupClass: cfg && cfg.upClass ? cfg.upClass : \'up\',\n
+\t\t\tdownClass: cfg && cfg.downClass ? cfg.downClass : \'down\',\n
+\t\t\treset: cfg && cfg.reset ? cfg.reset : this.value,\n
+\t\t\tdelay: cfg && cfg.delay ? Number(cfg.delay) : 500,\n
+\t\t\tinterval: cfg && cfg.interval ? Number(cfg.interval) : 100,\n
+\t\t\t_btn_width: 20,\n
+\t\t\t_direction: null,\n
+\t\t\t_delay: null,\n
+\t\t\t_repeat: null,\n
+\t\t\tcallback: cfg && cfg.callback ? cfg.callback : null\n
+\t\t};\n
+\n
+\t\t// if a smallStep isn\'t supplied, use half the regular step\n
+\t\tthis.spinCfg.smallStep = cfg && cfg.smallStep ? cfg.smallStep : this.spinCfg.step/2;\n
+\t\t\n
+\t\tthis.adjustValue = function(i){\n
+\t\t\tvar v;\n
+\t\t\tif(isNaN(this.value)) {\n
+\t\t\t\tv = this.spinCfg.reset;\n
+\t\t\t} else if($.isFunction(this.spinCfg.stepfunc)) {\n
+\t\t\t\tv = this.spinCfg.stepfunc(this, i);\n
+\t\t\t} else {\n
+\t\t\t\t// weirdest javascript bug ever: 5.1 + 0.1 = 5.199999999\n
+\t\t\t\tv = Number((Number(this.value) + Number(i)).toFixed(5));\n
+\t\t\t}\n
+\t\t\tif (this.spinCfg.min !== null) v = Math.max(v, this.spinCfg.min);\n
+\t\t\tif (this.spinCfg.max !== null) v = Math.min(v, this.spinCfg.max);\n
+\t\t\tthis.value = v;\n
+\t\t\tif ($.isFunction(this.spinCfg.callback)) this.spinCfg.callback(this);\n
+\t\t};\n
+\t\t\n
+\t\t$(this)\n
+\t\t.addClass(cfg && cfg.spinClass ? cfg.spinClass : \'spin-button\')\n
+\t\t\n
+\t\t.mousemove(function(e){\n
+\t\t\t// Determine which button mouse is over, or not (spin direction):\n
+\t\t\tvar x = e.pageX || e.x;\n
+\t\t\tvar y = e.pageY || e.y;\n
+\t\t\tvar el = e.target || e.srcElement;\n
+\t\t\tvar height = $(el).outerHeight()/2;\n
+\t\t\tvar direction = \n
+\t\t\t\t(x > coord(el,\'offsetLeft\') + el.offsetWidth - this.spinCfg._btn_width)\n
+\t\t\t\t? ((y < coord(el,\'offsetTop\') + height) ? 1 : -1) : 0;\n
+\t\t\t\n
+\t\t\tif (direction !== this.spinCfg._direction) {\n
+\t\t\t\t// Style up/down buttons:\n
+\t\t\t\tswitch(direction){\n
+\t\t\t\t\tcase 1: // Up arrow:\n
+\t\t\t\t\t\t$(this).removeClass(this.spinCfg.downClass).addClass(this.spinCfg.upClass);\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t\tcase -1: // Down arrow:\n
+\t\t\t\t\t\t$(this).removeClass(this.spinCfg.upClass).addClass(this.spinCfg.downClass);\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t\tdefault: // Mouse is elsewhere in the textbox\n
+\t\t\t\t\t\t$(this).removeClass(this.spinCfg.upClass).removeClass(this.spinCfg.downClass);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// Set spin direction:\n
+\t\t\t\tthis.spinCfg._direction = direction;\n
+\t\t\t}\n
+\t\t})\n
+\t\t\n
+\t\t.mouseout(function(){\n
+\t\t\t// Reset up/down buttons to their normal appearance when mouse moves away:\n
+\t\t\t$(this).removeClass(this.spinCfg.upClass).removeClass(this.spinCfg.downClass);\n
+\t\t\tthis.spinCfg._direction = null;\n
+\t\t\twindow.clearInterval(this.spinCfg._repeat);\n
+\t\t\twindow.clearTimeout(this.spinCfg._delay);\n
+\t\t})\n
+\t\t\n
+\t\t.mousedown(function(e){\n
+\t\t\tif ( e.button === 0 && this.spinCfg._direction != 0) {\n
+\t\t\t\t// Respond to click on one of the buttons:\n
+\t\t\t\tvar self = this;\n
+\t\t\t\tvar stepSize = e.shiftKey ? self.spinCfg.smallStep : self.spinCfg.step\n
+\n
+\t\t\t\tvar adjust = function() {\n
+\t\t\t\t\tself.adjustValue(self.spinCfg._direction * stepSize);\n
+\t\t\t\t};\n
+\t\t\t\n
+\t\t\t\tadjust();\n
+\t\t\t\t\n
+\t\t\t\t// Initial delay before repeating adjustment\n
+\t\t\t\tself.spinCfg._delay = window.setTimeout(function() {\n
+\t\t\t\t\tadjust();\n
+\t\t\t\t\t// Repeat adjust at regular intervals\n
+\t\t\t\t\tself.spinCfg._repeat = window.setInterval(adjust, self.spinCfg.interval);\n
+\t\t\t\t}, self.spinCfg.delay);\n
+\t\t\t}\n
+\t\t})\n
+\t\t\n
+\t\t.mouseup(function(e){\n
+\t\t\t// Cancel repeating adjustment\n
+\t\t\twindow.clearInterval(this.spinCfg._repeat);\n
+\t\t\twindow.clearTimeout(this.spinCfg._delay);\n
+\t\t})\n
+\t\t\n
+\t\t.dblclick(function(e) {\n
+\t\t\tif ($.browser.msie)\n
+\t\t\t\tthis.adjustValue(this.spinCfg._direction * this.spinCfg.step);\n
+\t\t})\n
+\t\t\n
+\t\t.keydown(function(e){\n
+\t\t\t// Respond to up/down arrow keys.\n
+\t\t\tswitch(e.keyCode){\n
+\t\t\t\tcase 38: this.adjustValue(this.spinCfg.step);  break; // Up\n
+\t\t\t\tcase 40: this.adjustValue(-this.spinCfg.step); break; // Down\n
+\t\t\t\tcase 33: this.adjustValue(this.spinCfg.page);  break; // PageUp\n
+\t\t\t\tcase 34: this.adjustValue(-this.spinCfg.page); break; // PageDown\n
+\t\t\t}\n
+\t\t})\n
+\t\t\n
+\t\t/*\n
+\t\thttp://unixpapa.com/js/key.html describes the current state-of-affairs for\n
+\t\tkey repeat events:\n
+\t\t- Safari 3.1 changed their model so that keydown is reliably repeated going forward\n
+\t\t- Firefox and Opera still only repeat the keypress event, not the keydown\n
+\t\t*/\n
+\t\t.keypress(function(e){\n
+\t\t\tif (this.repeating) {\n
+\t\t\t\t// Respond to up/down arrow keys.\n
+\t\t\t\tswitch(e.keyCode){\n
+\t\t\t\t\tcase 38: this.adjustValue(this.spinCfg.step);  break; // Up\n
+\t\t\t\t\tcase 40: this.adjustValue(-this.spinCfg.step); break; // Down\n
+\t\t\t\t\tcase 33: this.adjustValue(this.spinCfg.page);  break; // PageUp\n
+\t\t\t\t\tcase 34: this.adjustValue(-this.spinCfg.page); break; // PageDown\n
+\t\t\t\t}\n
+\t\t\t} \n
+\t\t\t// we always ignore the first keypress event (use the keydown instead)\n
+\t\t\telse {\n
+\t\t\t\tthis.repeating = true;\n
+\t\t\t}\n
+\t\t})\n
+\t\t\n
+\t\t// clear the \'repeating\' flag\n
+\t\t.keyup(function(e) {\n
+\t\t\tthis.repeating = false;\n
+\t\t\tswitch(e.keyCode){\n
+\t\t\t\tcase 38: // Up\n
+\t\t\t\tcase 40: // Down\n
+\t\t\t\tcase 33: // PageUp\n
+\t\t\t\tcase 34: // PageDown\n
+\t\t\t\tcase 13: this.adjustValue(0); break; // Enter/Return\n
+\t\t\t}\n
+\t\t})\n
+\t\t\n
+\t\t.bind("mousewheel", function(e){\n
+\t\t\t// Respond to mouse wheel in IE. (It returns up/dn motion in multiples of 120)\n
+\t\t\tif (e.wheelDelta >= 120)\n
+\t\t\t\tthis.adjustValue(this.spinCfg.step);\n
+\t\t\telse if (e.wheelDelta <= -120)\n
+\t\t\t\tthis.adjustValue(-this.spinCfg.step);\n
+\t\t\t\n
+\t\t\te.preventDefault();\n
+\t\t})\n
+\t\t\n
+\t\t.change(function(e){\n
+\t\t\tthis.adjustValue(0);\n
+\t\t});\n
+\t\t\n
+\t\tif (this.addEventListener) {\n
+\t\t\t// Respond to mouse wheel in Firefox\n
+\t\t\tthis.addEventListener(\'DOMMouseScroll\', function(e) {\n
+\t\t\t\tif (e.detail > 0)\n
+\t\t\t\t\tthis.adjustValue(-this.spinCfg.step);\n
+\t\t\t\telse if (e.detail < 0)\n
+\t\t\t\t\tthis.adjustValue(this.spinCfg.step);\n
+\t\t\t\t\n
+\t\t\t\te.preventDefault();\n
+\t\t\t}, false);\n
+\t\t}\n
+\t});\n
+\t\n
+\tfunction coord(el,prop) {\n
+\t\tvar c = el[prop], b = document.body;\n
+\t\t\n
+\t\twhile ((el = el.offsetParent) && (el != b)) {\n
+\t\t\tif (!$.browser.msie || (el.currentStyle.position != \'relative\'))\n
+\t\t\t\tc += el[prop];\n
+\t\t}\n
+\t\t\n
+\t\treturn c;\n
+\t}\n
+};\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9261</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.min.js.xml
new file mode 100644
index 0000000000..b9149be320
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/JQuerySpinBtn.min.js.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003855.69</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>JQuerySpinBtn.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+;$.fn.SpinButton=function(a){return this.each(function(){this.repeating=false;this.spinCfg={min:a&&!isNaN(parseFloat(a.min))?Number(a.min):null,max:a&&!isNaN(parseFloat(a.max))?Number(a.max):null,step:a&&a.step?Number(a.step):1,stepfunc:a&&a.stepfunc?a.stepfunc:false,page:a&&a.page?Number(a.page):10,upClass:a&&a.upClass?a.upClass:"up",downClass:a&&a.downClass?a.downClass:"down",reset:a&&a.reset?a.reset:this.value,delay:a&&a.delay?Number(a.delay):500,interval:a&&a.interval?Number(a.interval):100,_btn_width:20,_direction:null,_delay:null,_repeat:null,callback:a&&a.callback?a.callback:null};this.spinCfg.smallStep=a&&a.smallStep?a.smallStep:this.spinCfg.step/2;this.adjustValue=function(d){var c;if(isNaN(this.value)){c=this.spinCfg.reset}else{if($.isFunction(this.spinCfg.stepfunc)){c=this.spinCfg.stepfunc(this,d)}else{c=Number((Number(this.value)+Number(d)).toFixed(5))}}if(this.spinCfg.min!==null){c=Math.max(c,this.spinCfg.min)}if(this.spinCfg.max!==null){c=Math.min(c,this.spinCfg.max)}this.value=c;if($.isFunction(this.spinCfg.callback)){this.spinCfg.callback(this)}};$(this).addClass(a&&a.spinClass?a.spinClass:"spin-button").mousemove(function(h){var d=h.pageX||h.x;var i=h.pageY||h.y;var f=h.target||h.srcElement;var c=$(f).outerHeight()/2;var g=(d>b(f,"offsetLeft")+f.offsetWidth-this.spinCfg._btn_width)?((i<b(f,"offsetTop")+c)?1:-1):0;if(g!==this.spinCfg._direction){switch(g){case 1:$(this).removeClass(this.spinCfg.downClass).addClass(this.spinCfg.upClass);break;case -1:$(this).removeClass(this.spinCfg.upClass).addClass(this.spinCfg.downClass);break;default:$(this).removeClass(this.spinCfg.upClass).removeClass(this.spinCfg.downClass)}this.spinCfg._direction=g}}).mouseout(function(){$(this).removeClass(this.spinCfg.upClass).removeClass(this.spinCfg.downClass);this.spinCfg._direction=null;window.clearInterval(this.spinCfg._repeat);window.clearTimeout(this.spinCfg._delay)}).mousedown(function(g){if(g.button===0&&this.spinCfg._direction!=0){var d=this;var c=g.shiftKey?d.spinCfg.smallStep:d.spinCfg.step;var f=function(){d.adjustValue(d.spinCfg._direction*c)};f();d.spinCfg._delay=window.setTimeout(function(){f();d.spinCfg._repeat=window.setInterval(f,d.spinCfg.interval)},d.spinCfg.delay)}}).mouseup(function(c){window.clearInterval(this.spinCfg._repeat);window.clearTimeout(this.spinCfg._delay)}).dblclick(function(c){if($.browser.msie){this.adjustValue(this.spinCfg._direction*this.spinCfg.step)}}).keydown(function(c){switch(c.keyCode){case 38:this.adjustValue(this.spinCfg.step);break;case 40:this.adjustValue(-this.spinCfg.step);break;case 33:this.adjustValue(this.spinCfg.page);break;case 34:this.adjustValue(-this.spinCfg.page);break}}).keypress(function(c){if(this.repeating){switch(c.keyCode){case 38:this.adjustValue(this.spinCfg.step);break;case 40:this.adjustValue(-this.spinCfg.step);break;case 33:this.adjustValue(this.spinCfg.page);break;case 34:this.adjustValue(-this.spinCfg.page);break}}else{this.repeating=true}}).keyup(function(c){this.repeating=false;switch(c.keyCode){case 38:case 40:case 33:case 34:case 13:this.adjustValue(0);break}}).bind("mousewheel",function(c){if(c.wheelDelta>=120){this.adjustValue(this.spinCfg.step)}else{if(c.wheelDelta<=-120){this.adjustValue(-this.spinCfg.step)}}c.preventDefault()}).change(function(c){this.adjustValue(0)});if(this.addEventListener){this.addEventListener("DOMMouseScroll",function(c){if(c.detail>0){this.adjustValue(-this.spinCfg.step)}else{if(c.detail<0){this.adjustValue(this.spinCfg.step)}}c.preventDefault()},false)}});function b(e,g){var f=e[g],d=document.body;while((e=e.offsetParent)&&(e!=d)){if(!$.browser.msie||(e.currentStyle.position!="relative")){f+=e[g]}}return f}};
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>3677</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/spinbtn_updn.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/spinbtn_updn.png.xml
new file mode 100644
index 0000000000..623d0955d6
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/spinbtn/spinbtn_updn.png.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003854.11</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>spinbtn_updn.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABEAAAA2CAMAAAAWGoJGAAAAAXNSR0IArs4c6QAAAUdQTFRF6fT6
+BhUdCyk4DC4/DS9ADzhMFBMSFlFvGFd3GVx+G2GEIXikIXmmI36sI4CuJIKxJSQjJ47CKI/DKJHF
+KSgnKZPIKZbMKikoMC8uQ6bYRkVESklISqnZS0pJT05NT6zaUlJRVa/cYrXfZWRjZmVkZ2ZlZ7jg
+aWlobGtqbLrhbm1scbzid3Z1eHd2eHd3eL/jeXl4enl4e3p6fn18h8bmisjnj4+Pj8rokcvok8zo
+lJSTls3pmJeXm5qam5ubo6Oio9TspqWkqNbtqaioqamoq6uqsK+vstvvuLi3u7q6vr6+v+HywL+/
+wMC/wcHBysrKzc3M09PS1ev21+z22O3329vb5vP55/T66Ojo6eno6urq7Pb77vf78Pf78fHx8vLy
+8/Pz9PT09fX19vb29/f3+Pj4+Pv9+/3+/Pz8/f39/f7+/v7+////0stKKAAAAAF0Uk5TAEDm2GYA
+AAD0SURBVCjPY2AgHoTqBqIKREiwsUWhiMgJCAgoIAsYSck6S0sZIwTslVUCGPyVlR3hIsrKnkDS
+Q1kZLuLjC6a8/OAitrZgysYOLsLGZgUkzdjY4CI6bGxuDK5sbAYIy1QFxK1EBNSRHaQhJSWlheoN
+PWVDNJ9GukQx0AZ4C7mjCgSxMjKGIAtEczIxMXFFI4mIsnNocrCLIQSUuHmcGBy4udXgItzcpkDS
+hJsbLmJhCabMrYdfGA5gOlRUBFPyinARRkYZICnJyAgXEWRk1GfQZmQURljGw8Qiw8zEi+wgPnZ2
+dn4UN4cJcQuHo3osWDOEhHABANJgIXKLmJLiAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>54</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>666</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>17</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor.xml
new file mode 100644
index 0000000000..a5ab2dac0a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>svg-editor</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg.xml
new file mode 100644
index 0000000000..e1771e4771
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>canvg</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg/canvg.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg/canvg.js.xml
new file mode 100644
index 0000000000..83457a6d17
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg/canvg.js.xml
@@ -0,0 +1,1818 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80002936.33</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>canvg.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * canvg.js - Javascript SVG parser and renderer on Canvas\n
+ * MIT Licensed \n
+ * Gabe Lerner (gabelerner@gmail.com)\n
+ * http://code.google.com/p/canvg/\n
+ *\n
+ * Requires: rgbcolor.js - http://www.phpied.com/rgb-color-parser-in-javascript/\n
+ */\n
+if(!window.console) {\n
+\twindow.console = {};\n
+\twindow.console.log = function(str) {};\n
+\twindow.console.dir = function(str) {};\n
+}\n
+(function(){\n
+\t// canvg(target, s)\n
+\t// target: canvas element or the id of a canvas element\n
+\t// s: svg string or url to svg file\n
+\tthis.canvg = function (target, s) {\n
+\t\tif (typeof target == \'string\') {\n
+\t\t\ttarget = document.getElementById(target);\n
+\t\t}\n
+\t\t\n
+\t\t// reuse class per canvas\n
+\t\tvar svg;\n
+\t\tif (target.svg == null) {\n
+\t\t\tsvg = build();\n
+\t\t\ttarget.svg = svg;\n
+\t\t}\n
+\t\telse {\n
+\t\t\tsvg = target.svg;\n
+\t\t\tsvg.stop();\n
+\t\t}\n
+\t\t\n
+\t\tvar ctx = target.getContext(\'2d\');\n
+\t\tif (s.substr(0,1) == \'<\') {\n
+\t\t\t// load from xml string\n
+\t\t\tsvg.loadXml(ctx, s);\n
+\t\t}\n
+\t\telse {\n
+\t\t\t// load from url\n
+\t\t\tsvg.load(ctx, s);\n
+\t\t}\n
+\t}\n
+\n
+\tfunction build() {\n
+\t\tvar svg = {};\n
+\t\t\n
+\t\tsvg.FRAMERATE = 30;\n
+\t\t\n
+\t\t// globals\n
+\t\tsvg.init = function(ctx) {\n
+\t\t\tsvg.Definitions = {};\n
+\t\t\tsvg.Styles = {};\n
+\t\t\tsvg.Animations = [];\n
+\t\t\tsvg.ctx = ctx;\n
+\t\t\tsvg.ViewPort = new (function () {\n
+\t\t\t\tthis.viewPorts = [];\n
+\t\t\t\tthis.SetCurrent = function(width, height) { this.viewPorts.push({ width: width, height: height }); }\n
+\t\t\t\tthis.RemoveCurrent = function() { this.viewPorts.pop(); }\n
+\t\t\t\tthis.Current = function() { return this.viewPorts[this.viewPorts.length - 1]; }\n
+\t\t\t\tthis.width = function() { return this.Current().width; }\n
+\t\t\t\tthis.height = function() { return this.Current().height; }\n
+\t\t\t\tthis.ComputeSize = function(d) {\n
+\t\t\t\t\tif (d != null && typeof(d) == \'number\') return d;\n
+\t\t\t\t\tif (d == \'x\') return this.width();\n
+\t\t\t\t\tif (d == \'y\') return this.height();\n
+\t\t\t\t\treturn Math.sqrt(Math.pow(this.width(), 2) + Math.pow(this.height(), 2)) / Math.sqrt(2);\t\t\t\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t}\n
+\t\tsvg.init();\n
+\n
+\t\t// trim\n
+\t\tsvg.trim = function(s) { return s.replace(/^\\s+|\\s+$/g, \'\'); }\n
+\t\t\n
+\t\t// compress spaces\n
+\t\tsvg.compressSpaces = function(s) { return s.replace(/[\\s\\r\\t\\n]+/gm,\' \'); }\n
+\t\t\n
+\t\t// ajax\n
+\t\tsvg.ajax = function(url) {\n
+\t\t\tvar AJAX;\n
+\t\t\tif(window.XMLHttpRequest){AJAX=new XMLHttpRequest();}\n
+\t\t\telse{AJAX=new ActiveXObject(\'Microsoft.XMLHTTP\');}\n
+\t\t\tif(AJAX){\n
+\t\t\t   AJAX.open(\'GET\',url,false);\n
+\t\t\t   AJAX.send(null);\n
+\t\t\t   return AJAX.responseText;\n
+\t\t\t}\n
+\t\t\treturn null;\n
+\t\t} \n
+\t\t\n
+\t\t// parse xml\n
+\t\tsvg.parseXml = function(xml) {\n
+\t\t\tif (window.DOMParser)\n
+\t\t\t{\n
+\t\t\t\tvar parser = new DOMParser();\n
+\t\t\t\treturn parser.parseFromString(xml, \'text/xml\');\n
+\t\t\t}\n
+\t\t\telse \n
+\t\t\t{\n
+\t\t\t\txml = xml.replace(/<!DOCTYPE svg[^>]*>/, \'\');\n
+\t\t\t\tvar xmlDoc = new ActiveXObject(\'Microsoft.XMLDOM\');\n
+\t\t\t\txmlDoc.async = \'false\';\n
+\t\t\t\txmlDoc.loadXML(xml); \n
+\t\t\t\treturn xmlDoc;\n
+\t\t\t}\t\t\n
+\t\t}\n
+\t\t\n
+\t\tsvg.Property = function(name, value) {\n
+\t\t\tthis.name = name;\n
+\t\t\tthis.value = value;\n
+\t\t\t\n
+\t\t\tthis.hasValue = function() {\n
+\t\t\t\treturn (this.value != null && this.value != \'\');\n
+\t\t\t}\n
+\t\t\t\t\t\t\t\n
+\t\t\t// return the numerical value of the property\n
+\t\t\tthis.numValue = function() {\n
+\t\t\t\tif (!this.hasValue()) return 0;\n
+\t\t\t\t\n
+\t\t\t\tvar n = parseFloat(this.value);\n
+\t\t\t\tif ((this.value + \'\').match(/%$/)) {\n
+\t\t\t\t\tn = n / 100.0;\n
+\t\t\t\t}\n
+\t\t\t\treturn n;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.valueOrDefault = function(def) {\n
+\t\t\t\tif (this.hasValue()) return this.value;\n
+\t\t\t\treturn def;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.numValueOrDefault = function(def) {\n
+\t\t\t\tif (this.hasValue()) return this.numValue();\n
+\t\t\t\treturn def;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t/* EXTENSIONS */\n
+\t\t\tvar that = this;\n
+\t\t\t\n
+\t\t\t// color extensions\n
+\t\t\tthis.Color = {\n
+\t\t\t\t// augment the current color value with the opacity\n
+\t\t\t\taddOpacity: function(opacity) {\n
+\t\t\t\t\tvar newValue = that.value;\n
+\t\t\t\t\tif (opacity != null && opacity != \'\') {\n
+\t\t\t\t\t\tvar color = new RGBColor(that.value);\n
+\t\t\t\t\t\tif (color.ok) {\n
+\t\t\t\t\t\t\tnewValue = \'rgba(\' + color.r + \', \' + color.g + \', \' + color.b + \', \' + opacity + \')\';\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\treturn new svg.Property(that.name, newValue);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// definition extensions\n
+\t\t\tthis.Definition = {\n
+\t\t\t\t// get the definition from the definitions table\n
+\t\t\t\tgetDefinition: function() {\n
+\t\t\t\t\tvar name = that.value.replace(/^(url\\()?#([^\\)]+)\\)?$/, \'$2\');\n
+\t\t\t\t\treturn svg.Definitions[name];\n
+\t\t\t\t},\n
+\t\t\t\t\n
+\t\t\t\tisUrl: function() {\n
+\t\t\t\t\treturn that.value.indexOf(\'url(\') == 0\n
+\t\t\t\t},\n
+\t\t\t\t\n
+\t\t\t\tgetFillStyle: function(e) {\n
+\t\t\t\t\tvar def = this.getDefinition();\n
+\t\t\t\t\t\n
+\t\t\t\t\t// gradient\n
+\t\t\t\t\tif (def != null && def.createGradient) {\n
+\t\t\t\t\t\treturn def.createGradient(svg.ctx, e);\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\t// pattern\n
+\t\t\t\t\tif (def != null && def.createPattern) {\n
+\t\t\t\t\t\treturn def.createPattern(svg.ctx, e);\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\treturn null;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// length extensions\n
+\t\t\tthis.Length = {\n
+\t\t\t\tDPI: function(viewPort) {\n
+\t\t\t\t\treturn 96.0; // TODO: compute?\n
+\t\t\t\t},\n
+\t\t\t\t\n
+\t\t\t\tEM: function(viewPort) {\n
+\t\t\t\t\tvar em = 12;\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar fontSize = new svg.Property(\'fontSize\', svg.Font.Parse(svg.ctx.font).fontSize);\n
+\t\t\t\t\tif (fontSize.hasValue()) em = fontSize.Length.toPixels(viewPort);\n
+\t\t\t\t\t\n
+\t\t\t\t\treturn em;\n
+\t\t\t\t},\n
+\t\t\t\n
+\t\t\t\t// get the length as pixels\n
+\t\t\t\ttoPixels: function(viewPort) {\n
+\t\t\t\t\tif (!that.hasValue()) return 0;\n
+\t\t\t\t\tvar s = that.value+\'\';\n
+\t\t\t\t\tif (s.match(/em$/)) return that.numValue() * this.EM(viewPort);\n
+\t\t\t\t\tif (s.match(/ex$/)) return that.numValue() * this.EM(viewPort) / 2.0;\n
+\t\t\t\t\tif (s.match(/px$/)) return that.numValue();\n
+\t\t\t\t\tif (s.match(/pt$/)) return that.numValue() * 1.25;\n
+\t\t\t\t\tif (s.match(/pc$/)) return that.numValue() * 15;\n
+\t\t\t\t\tif (s.match(/cm$/)) return that.numValue() * this.DPI(viewPort) / 2.54;\n
+\t\t\t\t\tif (s.match(/mm$/)) return that.numValue() * this.DPI(viewPort) / 25.4;\n
+\t\t\t\t\tif (s.match(/in$/)) return that.numValue() * this.DPI(viewPort);\n
+\t\t\t\t\tif (s.match(/%$/)) return that.numValue() * svg.ViewPort.ComputeSize(viewPort);\n
+\t\t\t\t\treturn that.numValue();\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// time extensions\n
+\t\t\tthis.Time = {\n
+\t\t\t\t// get the time as milliseconds\n
+\t\t\t\ttoMilliseconds: function() {\n
+\t\t\t\t\tif (!that.hasValue()) return 0;\n
+\t\t\t\t\tvar s = that.value+\'\';\n
+\t\t\t\t\tif (s.match(/s$/)) return that.numValue() * 1000;\n
+\t\t\t\t\tif (s.match(/ms$/)) return that.numValue();\n
+\t\t\t\t\treturn that.numValue();\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// angle extensions\n
+\t\t\tthis.Angle = {\n
+\t\t\t\t// get the angle as radians\n
+\t\t\t\ttoRadians: function() {\n
+\t\t\t\t\tif (!that.hasValue()) return 0;\n
+\t\t\t\t\tvar s = that.value+\'\';\n
+\t\t\t\t\tif (s.match(/deg$/)) return that.numValue() * (Math.PI / 180.0);\n
+\t\t\t\t\tif (s.match(/grad$/)) return that.numValue() * (Math.PI / 200.0);\n
+\t\t\t\t\tif (s.match(/rad$/)) return that.numValue();\n
+\t\t\t\t\treturn that.numValue() * (Math.PI / 180.0);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\t// fonts\n
+\t\tsvg.Font = new (function() {\n
+\t\t\tthis.Styles = [\'normal\',\'italic\',\'oblique\',\'inherit\'];\n
+\t\t\tthis.Variants = [\'normal\',\'small-caps\',\'inherit\'];\n
+\t\t\tthis.Weights = [\'normal\',\'bold\',\'bolder\',\'lighter\',\'100\',\'200\',\'300\',\'400\',\'500\',\'600\',\'700\',\'800\',\'900\',\'inherit\'];\n
+\t\t\t\n
+\t\t\tthis.CreateFont = function(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit) { \n
+\t\t\t\tvar f = inherit != null ? this.Parse(inherit) : this.CreateFont(\'\', \'\', \'\', \'\', \'\', svg.ctx.font);\n
+\t\t\t\treturn { \n
+\t\t\t\t\tfontFamily: fontFamily || f.fontFamily, \n
+\t\t\t\t\tfontSize: fontSize || f.fontSize, \n
+\t\t\t\t\tfontStyle: fontStyle || f.fontStyle, \n
+\t\t\t\t\tfontWeight: fontWeight || f.fontWeight, \n
+\t\t\t\t\tfontVariant: fontVariant || f.fontVariant,\n
+\t\t\t\t\ttoString: function () { return [this.fontStyle, this.fontVariant, this.fontWeight, this.fontSize, this.fontFamily].join(\' \') } \n
+\t\t\t\t} \n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar that = this;\n
+\t\t\tthis.Parse = function(s) {\n
+\t\t\t\tvar f = {};\n
+\t\t\t\tvar d = svg.trim(svg.compressSpaces(s || \'\')).split(\' \');\n
+\t\t\t\tvar set = { fontSize: false, fontStyle: false, fontWeight: false, fontVariant: false }\n
+\t\t\t\tvar ff = \'\';\n
+\t\t\t\tfor (var i=0; i<d.length; i++) {\n
+\t\t\t\t\tif (!set.fontStyle && that.Styles.indexOf(d[i]) != -1) { if (d[i] != \'inherit\') f.fontStyle = d[i]; set.fontStyle = true; }\n
+\t\t\t\t\telse if (!set.fontVariant && that.Variants.indexOf(d[i]) != -1) { if (d[i] != \'inherit\') f.fontVariant = d[i]; set.fontStyle = set.fontVariant = true;\t}\n
+\t\t\t\t\telse if (!set.fontWeight && that.Weights.indexOf(d[i]) != -1) {\tif (d[i] != \'inherit\') f.fontWeight = d[i]; set.fontStyle = set.fontVariant = set.fontWeight = true; }\n
+\t\t\t\t\telse if (!set.fontSize) { if (d[i] != \'inherit\') f.fontSize = d[i].split(\'/\')[0]; set.fontStyle = set.fontVariant = set.fontWeight = set.fontSize = true; }\n
+\t\t\t\t\telse { if (d[i] != \'inherit\') ff += d[i]; }\n
+\t\t\t\t} if (ff != \'\') f.fontFamily = ff;\n
+\t\t\t\treturn f;\n
+\t\t\t}\n
+\t\t});\n
+\t\t\n
+\t\t// points and paths\n
+\t\tsvg.ToNumberArray = function(s) {\n
+\t\t\tvar a = svg.trim(svg.compressSpaces((s || \'\').replace(/,/g, \' \'))).split(\' \');\n
+\t\t\tfor (var i=0; i<a.length; i++) {\n
+\t\t\t\ta[i] = parseFloat(a[i]);\n
+\t\t\t}\n
+\t\t\treturn a;\n
+\t\t}\t\t\n
+\t\tsvg.Point = function(x, y) {\n
+\t\t\tthis.x = x;\n
+\t\t\tthis.y = y;\n
+\t\t\t\n
+\t\t\tthis.angleTo = function(p) {\n
+\t\t\t\treturn Math.atan2(p.y - this.y, p.x - this.x);\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.CreatePoint = function(s) {\n
+\t\t\tvar a = svg.ToNumberArray(s);\n
+\t\t\treturn new svg.Point(a[0], a[1]);\n
+\t\t}\n
+\t\tsvg.CreatePath = function(s) {\n
+\t\t\tvar a = svg.ToNumberArray(s);\n
+\t\t\tvar path = [];\n
+\t\t\tfor (var i=0; i<a.length; i+=2) {\n
+\t\t\t\tpath.push(new svg.Point(a[i], a[i+1]));\n
+\t\t\t}\n
+\t\t\treturn path;\n
+\t\t}\n
+\t\t\n
+\t\t// bounding box\n
+\t\tsvg.BoundingBox = function(x1, y1, x2, y2) { // pass in initial points if you want\n
+\t\t\tthis.x1 = Number.NaN;\n
+\t\t\tthis.y1 = Number.NaN;\n
+\t\t\tthis.x2 = Number.NaN;\n
+\t\t\tthis.y2 = Number.NaN;\n
+\t\t\t\n
+\t\t\tthis.x = function() { return this.x1; }\n
+\t\t\tthis.y = function() { return this.y1; }\n
+\t\t\tthis.width = function() { return this.x2 - this.x1; }\n
+\t\t\tthis.height = function() { return this.y2 - this.y1; }\n
+\t\t\t\n
+\t\t\tthis.addPoint = function(x, y) {\t\n
+\t\t\t\tif (x != null) {\n
+\t\t\t\t\tif (isNaN(this.x1) || isNaN(this.x2)) {\n
+\t\t\t\t\t\tthis.x1 = x;\n
+\t\t\t\t\t\tthis.x2 = x;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tif (x < this.x1) this.x1 = x;\n
+\t\t\t\t\tif (x > this.x2) this.x2 = x;\n
+\t\t\t\t}\n
+\t\t\t\n
+\t\t\t\tif (y != null) {\n
+\t\t\t\t\tif (isNaN(this.y1) || isNaN(this.y2)) {\n
+\t\t\t\t\t\tthis.y1 = y;\n
+\t\t\t\t\t\tthis.y2 = y;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tif (y < this.y1) this.y1 = y;\n
+\t\t\t\t\tif (y > this.y2) this.y2 = y;\n
+\t\t\t\t}\n
+\t\t\t}\t\t\t\n
+\t\t\tthis.addX = function(x) { this.addPoint(x, null); }\n
+\t\t\tthis.addY = function(y) { this.addPoint(null, y); }\n
+\t\t\t\n
+\t\t\tthis.addQuadraticCurve = function(p0x, p0y, p1x, p1y, p2x, p2y) {\n
+\t\t\t\tvar cp1x = p0x + 2/3 * (p1x - p0x); // CP1 = QP0 + 2/3 *(QP1-QP0)\n
+\t\t\t\tvar cp1y = p0y + 2/3 * (p1y - p0y); // CP1 = QP0 + 2/3 *(QP1-QP0)\n
+\t\t\t\tvar cp2x = cp1x + 1/3 * (p2x - p0x); // CP2 = CP1 + 1/3 *(QP2-QP0)\n
+\t\t\t\tvar cp2y = cp1y + 1/3 * (p2y - p0y); // CP2 = CP1 + 1/3 *(QP2-QP0)\n
+\t\t\t\tthis.addBezierCurve(p0x, p0y, cp1x, cp2x, cp1y,\tcp2y, p2x, p2y);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.addBezierCurve = function(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) {\n
+\t\t\t\t// from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\n
+\t\t\t\tvar p0 = [p0x, p0y], p1 = [p1x, p1y], p2 = [p2x, p2y], p3 = [p3x, p3y];\n
+\t\t\t\tthis.addPoint(p0[0], p0[1]);\n
+\t\t\t\tthis.addPoint(p3[0], p3[1]);\n
+\t\t\t\t\n
+\t\t\t\tfor (i=0; i<=1; i++) {\n
+\t\t\t\t\tvar f = function(t) { \n
+\t\t\t\t\t\treturn Math.pow(1-t, 3) * p0[i]\n
+\t\t\t\t\t\t+ 3 * Math.pow(1-t, 2) * t * p1[i]\n
+\t\t\t\t\t\t+ 3 * (1-t) * Math.pow(t, 2) * p2[i]\n
+\t\t\t\t\t\t+ Math.pow(t, 3) * p3[i];\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n
+\t\t\t\t\tvar a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n
+\t\t\t\t\tvar c = 3 * p1[i] - 3 * p0[i];\n
+\t\t\t\t\t\n
+\t\t\t\t\tif (a == 0) {\n
+\t\t\t\t\t\tif (b == 0) continue;\n
+\t\t\t\t\t\tvar t = -c / b;\n
+\t\t\t\t\t\tif (0 < t && t < 1) {\n
+\t\t\t\t\t\t\tif (i == 0) this.addX(f(t));\n
+\t\t\t\t\t\t\tif (i == 1) this.addY(f(t));\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tcontinue;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar b2ac = Math.pow(b, 2) - 4 * c * a;\n
+\t\t\t\t\tif (b2ac < 0) continue;\n
+\t\t\t\t\tvar t1 = (-b + Math.sqrt(b2ac)) / (2 * a);\n
+\t\t\t\t\tif (0 < t1 && t1 < 1) {\n
+\t\t\t\t\t\tif (i == 0) this.addX(f(t1));\n
+\t\t\t\t\t\tif (i == 1) this.addY(f(t1));\n
+\t\t\t\t\t}\n
+\t\t\t\t\tvar t2 = (-b - Math.sqrt(b2ac)) / (2 * a);\n
+\t\t\t\t\tif (0 < t2 && t2 < 1) {\n
+\t\t\t\t\t\tif (i == 0) this.addX(f(t2));\n
+\t\t\t\t\t\tif (i == 1) this.addY(f(t2));\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.addPoint(x1, y1);\n
+\t\t\tthis.addPoint(x2, y2);\n
+\t\t}\n
+\t\t\n
+\t\t// transforms\n
+\t\tsvg.Transform = function(v) {\t\n
+\t\t\tvar that = this;\n
+\t\t\tthis.Type = {}\n
+\t\t\n
+\t\t\t// translate\n
+\t\t\tthis.Type.translate = function(s) {\n
+\t\t\t\tthis.p = svg.CreatePoint(s);\t\t\t\n
+\t\t\t\tthis.apply = function(ctx) {\n
+\t\t\t\t\tctx.translate(this.p.x || 0.0, this.p.y || 0.0);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// rotate\n
+\t\t\tthis.Type.rotate = function(s) {\n
+\t\t\t\tvar a = svg.ToNumberArray(s);\n
+\t\t\t\tthis.angle = new svg.Property(\'angle\', a[0]);\n
+\t\t\t\tthis.cx = a[1] || 0;\n
+\t\t\t\tthis.cy = a[2] || 0;\n
+\t\t\t\tthis.apply = function(ctx) {\n
+\t\t\t\t\tctx.translate(this.cx, this.cy);\n
+\t\t\t\t\tctx.rotate(this.angle.Angle.toRadians());\n
+\t\t\t\t\tctx.translate(-this.cx, -this.cy);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.Type.scale = function(s) {\n
+\t\t\t\tthis.p = svg.CreatePoint(s);\n
+\t\t\t\tthis.apply = function(ctx) {\n
+\t\t\t\t\tctx.scale(this.p.x || 1.0, this.p.y || this.p.x || 1.0);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.Type.matrix = function(s) {\n
+\t\t\t\tthis.m = svg.ToNumberArray(s);\n
+\t\t\t\tthis.apply = function(ctx) {\n
+\t\t\t\t\tctx.transform(this.m[0], this.m[1], this.m[2], this.m[3], this.m[4], this.m[5]);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.Type.SkewBase = function(s) {\n
+\t\t\t\tthis.base = that.Type.matrix;\n
+\t\t\t\tthis.base(s);\n
+\t\t\t\tthis.angle = new svg.Property(\'angle\', s);\n
+\t\t\t}\n
+\t\t\tthis.Type.SkewBase.prototype = new this.Type.matrix;\n
+\t\t\t\n
+\t\t\tthis.Type.skewX = function(s) {\n
+\t\t\t\tthis.base = that.Type.SkewBase;\n
+\t\t\t\tthis.base(s);\n
+\t\t\t\tthis.m = [1, 0, Math.tan(this.angle.Angle.toRadians()), 1, 0, 0];\n
+\t\t\t}\n
+\t\t\tthis.Type.skewX.prototype = new this.Type.SkewBase;\n
+\t\t\t\n
+\t\t\tthis.Type.skewY = function(s) {\n
+\t\t\t\tthis.base = that.Type.SkewBase;\n
+\t\t\t\tthis.base(s);\n
+\t\t\t\tthis.m = [1, Math.tan(this.angle.Angle.toRadians()), 0, 1, 0, 0];\n
+\t\t\t}\n
+\t\t\tthis.Type.skewY.prototype = new this.Type.SkewBase;\n
+\t\t\n
+\t\t\tthis.transforms = [];\n
+\t\t\tthis.apply = function(ctx) {\n
+\t\t\t\tfor (var i=0; i<this.transforms.length; i++) {\n
+\t\t\t\t\tthis.transforms[i].apply(ctx);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar data = v.split(/\\s(?=[a-z])/);\n
+\t\t\tfor (var i=0; i<data.length; i++) {\n
+\t\t\t\tvar type = data[i].split(\'(\')[0];\n
+\t\t\t\tvar s = data[i].split(\'(\')[1].replace(\')\',\'\');\n
+\t\t\t\tvar transform = eval(\'new this.Type.\' + type + \'(s)\');\n
+\t\t\t\tthis.transforms.push(transform);\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\t// elements\n
+\t\tsvg.Element = {}\n
+\t\t\n
+\t\tsvg.Element.ElementBase = function(node) {\t\n
+\t\t\tthis.attributes = {};\n
+\t\t\tthis.styles = {};\n
+\t\t\tthis.children = [];\n
+\t\t\t\n
+\t\t\t// get or create attribute\n
+\t\t\tthis.attribute = function(name, createIfNotExists) {\n
+\t\t\t\tvar a = this.attributes[name];\n
+\t\t\t\tif (a != null) return a;\n
+\t\t\t\t\t\t\t\n
+\t\t\t\ta = new svg.Property(name, \'\');\n
+\t\t\t\tif (createIfNotExists == true) this.attributes[name] = a;\n
+\t\t\t\treturn a;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// get or create style\n
+\t\t\tthis.style = function(name, createIfNotExists) {\n
+\t\t\t\tvar s = this.styles[name];\n
+\t\t\t\tif (s != null) return s;\n
+\t\t\t\t\n
+\t\t\t\tvar a = this.attribute(name);\n
+\t\t\t\tif (a != null && a.hasValue()) {\n
+\t\t\t\t\treturn a;\n
+\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\ts = new svg.Property(name, \'\');\n
+\t\t\t\tif (createIfNotExists == true) this.styles[name] = s;\n
+\t\t\t\treturn s;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// base render\n
+\t\t\tthis.render = function(ctx) {\n
+\t\t\t\tctx.save();\n
+\t\t\t\tthis.setContext(ctx);\n
+\t\t\t\tthis.renderChildren(ctx);\n
+\t\t\t\tthis.clearContext(ctx);\n
+\t\t\t\tctx.restore();\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// base set context\n
+\t\t\tthis.setContext = function(ctx) {\n
+\t\t\t\t// OVERRIDE ME!\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// base clear context\n
+\t\t\tthis.clearContext = function(ctx) {\n
+\t\t\t\t// OVERRIDE ME!\n
+\t\t\t}\t\t\t\n
+\t\t\t\n
+\t\t\t// base render children\n
+\t\t\tthis.renderChildren = function(ctx) {\n
+\t\t\t\tfor (var i=0; i<this.children.length; i++) {\n
+\t\t\t\t\tthis.children[i].render(ctx);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.addChild = function(childNode, create) {\n
+\t\t\t\tvar child = childNode;\n
+\t\t\t\tif (create) child = svg.CreateElement(childNode);\n
+\t\t\t\tchild.parent = this;\n
+\t\t\t\tthis.children.push(child);\t\t\t\n
+\t\t\t}\n
+\t\t\t\t\n
+\t\t\tif (node != null && node.nodeType == 1) { //ELEMENT_NODE\n
+\t\t\t\t// add children\n
+\t\t\t\tfor (var i=0; i<node.childNodes.length; i++) {\n
+\t\t\t\t\tvar childNode = node.childNodes[i];\n
+\t\t\t\t\tif (childNode.nodeType == 1) this.addChild(childNode, true); //ELEMENT_NODE\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// add attributes\n
+\t\t\t\tfor (var i=0; i<node.attributes.length; i++) {\n
+\t\t\t\t\tvar attribute = node.attributes[i];\n
+\t\t\t\t\tthis.attributes[attribute.nodeName] = new svg.Property(attribute.nodeName, attribute.nodeValue);\n
+\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\t\t\n
+\t\t\t\t// add tag styles\n
+\t\t\t\tvar styles = svg.Styles[this.type];\n
+\t\t\t\tif (styles != null) {\n
+\t\t\t\t\tfor (var name in styles) {\n
+\t\t\t\t\t\tthis.styles[name] = styles[name];\n
+\t\t\t\t\t}\n
+\t\t\t\t}\t\t\t\t\t\n
+\t\t\t\t\n
+\t\t\t\t// add class styles\n
+\t\t\t\tif (this.attribute(\'class\').hasValue()) {\n
+\t\t\t\t\tvar classes = svg.compressSpaces(this.attribute(\'class\').value).split(\' \');\n
+\t\t\t\t\tfor (var j=0; j<classes.length; j++) {\n
+\t\t\t\t\t\tstyles = svg.Styles[\'.\'+classes[j]];\n
+\t\t\t\t\t\tif (styles != null) {\n
+\t\t\t\t\t\t\tfor (var name in styles) {\n
+\t\t\t\t\t\t\t\tthis.styles[name] = styles[name];\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// add inline styles\n
+\t\t\t\tif (this.attribute(\'style\').hasValue()) {\n
+\t\t\t\t\tvar styles = this.attribute(\'style\').value.split(\';\');\n
+\t\t\t\t\tfor (var i=0; i<styles.length; i++) {\n
+\t\t\t\t\t\tif (svg.trim(styles[i]) != \'\') {\n
+\t\t\t\t\t\t\tvar style = styles[i].split(\':\');\n
+\t\t\t\t\t\t\tvar name = svg.trim(style[0]);\n
+\t\t\t\t\t\t\tvar value = svg.trim(style[1]);\n
+\t\t\t\t\t\t\tthis.styles[name] = new svg.Property(name, value);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// set id\n
+\t\t\t\tif (this.attribute(\'id\').hasValue()) svg.Definitions[this.attribute(\'id\').value] = this;\t\t\t\t\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\tsvg.Element.RenderedElementBase = function(node) {\n
+\t\t\tthis.base = svg.Element.ElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.setContext = function(ctx) {\n
+\t\t\t\t// fill\n
+\t\t\t\tif (this.style(\'fill\').Definition.isUrl()) {\n
+\t\t\t\t\tvar fs = this.style(\'fill\').Definition.getFillStyle(this);\n
+\t\t\t\t\tif (fs != null) ctx.fillStyle = fs;\n
+\t\t\t\t}\n
+\t\t\t\telse if (this.style(\'fill\').hasValue()) {\n
+\t\t\t\t\tvar fillStyle = this.style(\'fill\');\n
+\t\t\t\t\tif (this.style(\'fill-opacity\').hasValue()) fillStyle = fillStyle.Color.addOpacity(this.style(\'fill-opacity\').value);\n
+\t\t\t\t\tctx.fillStyle = (fillStyle.value == \'none\' ? \'rgba(0,0,0,0)\' : fillStyle.value);\n
+\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\t\n
+\t\t\t\t// stroke\n
+\t\t\t\tif (this.style(\'stroke\').Definition.isUrl()) {\n
+\t\t\t\t\tvar fs = this.style(\'stroke\').Definition.getFillStyle(this);\n
+\t\t\t\t\tif (fs != null) ctx.strokeStyle = fs;\n
+\t\t\t\t}\n
+\t\t\t\telse if (this.style(\'stroke\').hasValue()) {\n
+\t\t\t\t\tvar strokeStyle = this.style(\'stroke\');\n
+\t\t\t\t\tif (this.style(\'stroke-opacity\').hasValue()) strokeStyle = strokeStyle.Color.addOpacity(this.style(\'stroke-opacity\').value);\n
+\t\t\t\t\tctx.strokeStyle = (strokeStyle.value == \'none\' ? \'rgba(0,0,0,0)\' : strokeStyle.value);\n
+\t\t\t\t}\n
+\t\t\t\tif (this.style(\'stroke-width\').hasValue()) ctx.lineWidth = this.style(\'stroke-width\').Length.toPixels();\n
+\t\t\t\tif (this.style(\'stroke-linecap\').hasValue()) ctx.lineCap = this.style(\'stroke-linecap\').value;\n
+\t\t\t\tif (this.style(\'stroke-linejoin\').hasValue()) ctx.lineJoin = this.style(\'stroke-linejoin\').value;\n
+\t\t\t\tif (this.style(\'stroke-miterlimit\').hasValue()) ctx.miterLimit = this.style(\'stroke-miterlimit\').value;\n
+\n
+\t\t\t\t// font\n
+\t\t\t\tif (typeof(ctx.font) != \'undefined\') {\n
+\t\t\t\t\tctx.font = svg.Font.CreateFont( \n
+\t\t\t\t\t\tthis.style(\'font-style\').value, \n
+\t\t\t\t\t\tthis.style(\'font-variant\').value, \n
+\t\t\t\t\t\tthis.style(\'font-weight\').value, \n
+\t\t\t\t\t\tthis.style(\'font-size\').hasValue() ? this.style(\'font-size\').Length.toPixels() + \'px\' : \'\', \n
+\t\t\t\t\t\tthis.style(\'font-family\').value).toString();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// transform\n
+\t\t\t\tif (this.attribute(\'transform\').hasValue()) { \n
+\t\t\t\t\tvar transform = new svg.Transform(this.attribute(\'transform\').value);\n
+\t\t\t\t\ttransform.apply(ctx);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// clip\n
+\t\t\t\tif (this.attribute(\'clip-path\').hasValue()) {\n
+\t\t\t\t\tvar clip = this.attribute(\'clip-path\').Definition.getDefinition();\n
+\t\t\t\t\tif (clip != null) clip.apply(ctx);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// opacity\n
+\t\t\t\tif (this.style(\'opacity\').hasValue()) {\n
+\t\t\t\t\tctx.globalAlpha = this.style(\'opacity\').numValue();\n
+\t\t\t\t}\n
+\t\t\t}\t\t\n
+\t\t}\n
+\t\tsvg.Element.RenderedElementBase.prototype = new svg.Element.ElementBase;\n
+\t\t\n
+\t\tsvg.Element.PathElementBase = function(node) {\n
+\t\t\tthis.base = svg.Element.RenderedElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.path = function(ctx) {\n
+\t\t\t\tif (ctx != null) ctx.beginPath();\n
+\t\t\t\treturn new svg.BoundingBox();\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.renderChildren = function(ctx) {\n
+\t\t\t\tthis.path(ctx);\n
+\t\t\t\tif (ctx.fillStyle != \'\') ctx.fill();\n
+\t\t\t\tif (ctx.strokeStyle != \'\') ctx.stroke();\n
+\t\t\t\t\n
+\t\t\t\tvar markers = this.getMarkers();\n
+\t\t\t\tif (markers != null) {\n
+\t\t\t\t\tif (this.attribute(\'marker-start\').Definition.isUrl()) {\n
+\t\t\t\t\t\tvar marker = this.attribute(\'marker-start\').Definition.getDefinition();\n
+\t\t\t\t\t\tmarker.render(ctx, markers[0][0], markers[0][1]);\n
+\t\t\t\t\t}\n
+\t\t\t\t\tif (this.attribute(\'marker-mid\').Definition.isUrl()) {\n
+\t\t\t\t\t\tvar marker = this.attribute(\'marker-mid\').Definition.getDefinition();\n
+\t\t\t\t\t\tfor (var i=1;i<markers.length-1;i++) {\n
+\t\t\t\t\t\t\tmarker.render(ctx, markers[i][0], markers[i][1]);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\tif (this.attribute(\'marker-end\').Definition.isUrl()) {\n
+\t\t\t\t\t\tvar marker = this.attribute(\'marker-end\').Definition.getDefinition();\n
+\t\t\t\t\t\tmarker.render(ctx, markers[markers.length-1][0], markers[markers.length-1][1]);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\t\t\t\t\t\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.getBoundingBox = function() {\n
+\t\t\t\treturn this.path();\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.getMarkers = function() {\n
+\t\t\t\treturn null;\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.PathElementBase.prototype = new svg.Element.RenderedElementBase;\n
+\t\t\n
+\t\t// svg element\n
+\t\tsvg.Element.svg = function(node) {\n
+\t\t\tthis.base = svg.Element.RenderedElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.baseClearContext = this.clearContext;\n
+\t\t\tthis.clearContext = function(ctx) {\n
+\t\t\t\tthis.baseClearContext(ctx);\n
+\t\t\t\tsvg.ViewPort.RemoveCurrent();\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.baseSetContext = this.setContext;\n
+\t\t\tthis.setContext = function(ctx) {\n
+\t\t\t\tthis.baseSetContext(ctx);\n
+\t\t\t\t\n
+\t\t\t\t// create new view port\n
+\t\t\t\tif (this.attribute(\'x\').hasValue() && this.attribute(\'y\').hasValue()) {\n
+\t\t\t\t\tctx.translate(this.attribute(\'x\').Length.toPixels(\'x\'), this.attribute(\'y\').Length.toPixels(\'y\'));\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar width = svg.ViewPort.width();\n
+\t\t\t\tvar height = svg.ViewPort.height();\n
+\t\t\t\tif (this.attribute(\'width\').hasValue() && this.attribute(\'height\').hasValue()) {\n
+\t\t\t\t\twidth = this.attribute(\'width\').Length.toPixels(\'x\');\n
+\t\t\t\t\theight = this.attribute(\'height\').Length.toPixels(\'y\');\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar x = 0;\n
+\t\t\t\t\tvar y = 0;\n
+\t\t\t\t\tif (this.attribute(\'refX\').hasValue() && this.attribute(\'refY\').hasValue()) {\n
+\t\t\t\t\t\tx = -this.attribute(\'refX\').Length.toPixels(\'x\');\n
+\t\t\t\t\t\ty = -this.attribute(\'refY\').Length.toPixels(\'y\');\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tctx.beginPath();\n
+\t\t\t\t\tctx.moveTo(x, y);\n
+\t\t\t\t\tctx.lineTo(width, y);\n
+\t\t\t\t\tctx.lineTo(width, height);\n
+\t\t\t\t\tctx.lineTo(x, height);\n
+\t\t\t\t\tctx.closePath();\n
+\t\t\t\t\tctx.clip();\n
+\t\t\t\t}\n
+\t\t\t\tsvg.ViewPort.SetCurrent(width, height);\t\n
+\t\t\t\t\t\t\n
+\t\t\t\t// viewbox\n
+\t\t\t\tif (this.attribute(\'viewBox\').hasValue()) {\t\t\t\t\n
+\t\t\t\t\tvar viewBox = svg.ToNumberArray(this.attribute(\'viewBox\').value);\n
+\t\t\t\t\tvar minX = viewBox[0];\n
+\t\t\t\t\tvar minY = viewBox[1];\n
+\t\t\t\t\twidth = viewBox[2];\n
+\t\t\t\t\theight = viewBox[3];\n
+\t\t\t\t\t\n
+\t\t\t\t\t// aspect ratio - http://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute\n
+\t\t\t\t\tvar preserveAspectRatio = svg.compressSpaces(this.attribute(\'preserveAspectRatio\').value);\n
+\t\t\t\t\tpreserveAspectRatio = preserveAspectRatio.replace(/^defer\\s/,\'\'); // ignore defer\n
+\t\t\t\t\tvar align = preserveAspectRatio.split(\' \')[0] || \'xMidYMid\';\n
+\t\t\t\t\tvar meetOrSlice = preserveAspectRatio.split(\' \')[1] || \'meet\';\t\t\t\t\t\n
+\t\t\t\t\t\n
+\t\t\t\t\t// calculate scale\n
+\t\t\t\t\tvar scaleX = svg.ViewPort.width() / width;\n
+\t\t\t\t\tvar scaleY = svg.ViewPort.height() / height;\n
+\t\t\t\t\tvar scaleMin = Math.min(scaleX, scaleY);\n
+\t\t\t\t\tvar scaleMax = Math.max(scaleX, scaleY);\n
+\t\t\t\t\tif (meetOrSlice == \'meet\') { width *= scaleMin; height *= scaleMin; }\n
+\t\t\t\t\tif (meetOrSlice == \'slice\') { width *= scaleMax; height *= scaleMax; }\t\n
+\t\t\t\t\t\n
+\t\t\t\t\tif (this.attribute(\'refX\').hasValue() && this.attribute(\'refY\').hasValue()) {\n
+\t\t\t\t\t\tctx.translate(-scaleMin * this.attribute(\'refX\').Length.toPixels(\'x\'), -scaleMin * this.attribute(\'refY\').Length.toPixels(\'y\'));\n
+\t\t\t\t\t} \n
+\t\t\t\t\telse {\t\t\t\t\t\n
+\t\t\t\t\t\t// align\n
+\t\t\t\t\t\tif (align.match(/^xMid/) && ((meetOrSlice == \'meet\' && scaleMin == scaleY) || (meetOrSlice == \'slice\' && scaleMax == scaleY))) ctx.translate(svg.ViewPort.width() / 2.0 - width / 2.0, 0); \n
+\t\t\t\t\t\tif (align.match(/YMid$/) && ((meetOrSlice == \'meet\' && scaleMin == scaleX) || (meetOrSlice == \'slice\' && scaleMax == scaleX))) ctx.translate(0, svg.ViewPort.height() / 2.0 - height / 2.0); \n
+\t\t\t\t\t\tif (align.match(/^xMax/) && ((meetOrSlice == \'meet\' && scaleMin == scaleY) || (meetOrSlice == \'slice\' && scaleMax == scaleY))) ctx.translate(svg.ViewPort.width() - width, 0); \n
+\t\t\t\t\t\tif (align.match(/YMax$/) && ((meetOrSlice == \'meet\' && scaleMin == scaleX) || (meetOrSlice == \'slice\' && scaleMax == scaleX))) ctx.translate(0, svg.ViewPort.height() - height); \n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\t// scale\n
+\t\t\t\t\tif (meetOrSlice == \'meet\') ctx.scale(scaleMin, scaleMin); \n
+\t\t\t\t\tif (meetOrSlice == \'slice\') ctx.scale(scaleMax, scaleMax); \t\n
+\t\t\t\t\tctx.translate(-minX, -minY);\t\n
+\t\t\t\t\t\n
+\t\t\t\t\tsvg.ViewPort.RemoveCurrent();\t\n
+\t\t\t\t\tsvg.ViewPort.SetCurrent(viewBox[2], viewBox[3]);\t\t\t\t\t\t\n
+\t\t\t\t}\t\t\t\t\n
+\t\t\t\t\n
+\t\t\t\t// initial values\n
+\t\t\t\tctx.strokeStyle = \'rgba(0,0,0,0)\';\n
+\t\t\t\tctx.lineCap = \'butt\';\n
+\t\t\t\tctx.lineJoin = \'miter\';\n
+\t\t\t\tctx.miterLimit = 4;\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.svg.prototype = new svg.Element.RenderedElementBase;\n
+\n
+\t\t// rect element\n
+\t\tsvg.Element.rect = function(node) {\n
+\t\t\tthis.base = svg.Element.PathElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.path = function(ctx) {\n
+\t\t\t\tvar x = this.attribute(\'x\').Length.toPixels(\'x\');\n
+\t\t\t\tvar y = this.attribute(\'y\').Length.toPixels(\'y\');\n
+\t\t\t\tvar width = this.attribute(\'width\').Length.toPixels(\'x\');\n
+\t\t\t\tvar height = this.attribute(\'height\').Length.toPixels(\'y\');\n
+\t\t\t\tvar rx = this.attribute(\'rx\').Length.toPixels(\'x\');\n
+\t\t\t\tvar ry = this.attribute(\'ry\').Length.toPixels(\'y\');\n
+\t\t\t\tif (this.attribute(\'rx\').hasValue() && !this.attribute(\'ry\').hasValue()) ry = rx;\n
+\t\t\t\tif (this.attribute(\'ry\').hasValue() && !this.attribute(\'rx\').hasValue()) rx = ry;\n
+\t\t\t\t\n
+\t\t\t\tif (ctx != null) {\n
+\t\t\t\t\tctx.beginPath();\n
+\t\t\t\t\tctx.moveTo(x + rx, y);\n
+\t\t\t\t\tctx.lineTo(x + width - rx, y);\n
+\t\t\t\t\tctx.quadraticCurveTo(x + width, y, x + width, y + ry)\n
+\t\t\t\t\tctx.lineTo(x + width, y + height - ry);\n
+\t\t\t\t\tctx.quadraticCurveTo(x + width, y + height, x + width - rx, y + height)\n
+\t\t\t\t\tctx.lineTo(x + rx, y + height);\n
+\t\t\t\t\tctx.quadraticCurveTo(x, y + height, x, y + height - ry)\n
+\t\t\t\t\tctx.lineTo(x, y + ry);\n
+\t\t\t\t\tctx.quadraticCurveTo(x, y, x + rx, y)\n
+\t\t\t\t\tctx.closePath();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\treturn new svg.BoundingBox(x, y, x + width, y + height);\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.rect.prototype = new svg.Element.PathElementBase;\n
+\t\t\n
+\t\t// circle element\n
+\t\tsvg.Element.circle = function(node) {\n
+\t\t\tthis.base = svg.Element.PathElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.path = function(ctx) {\n
+\t\t\t\tvar cx = this.attribute(\'cx\').Length.toPixels(\'x\');\n
+\t\t\t\tvar cy = this.attribute(\'cy\').Length.toPixels(\'y\');\n
+\t\t\t\tvar r = this.attribute(\'r\').Length.toPixels();\n
+\t\t\t\n
+\t\t\t\tif (ctx != null) {\n
+\t\t\t\t\tctx.beginPath();\n
+\t\t\t\t\tctx.arc(cx, cy, r, 0, Math.PI * 2, true); \n
+\t\t\t\t\tctx.closePath();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\treturn new svg.BoundingBox(cx - r, cy - r, cx + r, cy + r);\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.circle.prototype = new svg.Element.PathElementBase;\t\n
+\n
+\t\t// ellipse element\n
+\t\tsvg.Element.ellipse = function(node) {\n
+\t\t\tthis.base = svg.Element.PathElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.path = function(ctx) {\n
+\t\t\t\tvar KAPPA = 4 * ((Math.sqrt(2) - 1) / 3);\n
+\t\t\t\tvar rx = this.attribute(\'rx\').Length.toPixels(\'x\');\n
+\t\t\t\tvar ry = this.attribute(\'ry\').Length.toPixels(\'y\');\n
+\t\t\t\tvar cx = this.attribute(\'cx\').Length.toPixels(\'x\');\n
+\t\t\t\tvar cy = this.attribute(\'cy\').Length.toPixels(\'y\');\n
+\t\t\t\t\n
+\t\t\t\tif (ctx != null) {\n
+\t\t\t\t\tctx.beginPath();\n
+\t\t\t\t\tctx.moveTo(cx, cy - ry);\n
+\t\t\t\t\tctx.bezierCurveTo(cx + (KAPPA * rx), cy - ry,  cx + rx, cy - (KAPPA * ry), cx + rx, cy);\n
+\t\t\t\t\tctx.bezierCurveTo(cx + rx, cy + (KAPPA * ry), cx + (KAPPA * rx), cy + ry, cx, cy + ry);\n
+\t\t\t\t\tctx.bezierCurveTo(cx - (KAPPA * rx), cy + ry, cx - rx, cy + (KAPPA * ry), cx - rx, cy);\n
+\t\t\t\t\tctx.bezierCurveTo(cx - rx, cy - (KAPPA * ry), cx - (KAPPA * rx), cy - ry, cx, cy - ry);\n
+\t\t\t\t\tctx.closePath();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\treturn new svg.BoundingBox(cx - rx, cy - ry, cx + rx, cy + ry);\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.ellipse.prototype = new svg.Element.PathElementBase;\t\t\t\n
+\t\t\n
+\t\t// line element\n
+\t\tsvg.Element.line = function(node) {\n
+\t\t\tthis.base = svg.Element.PathElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.getPoints = function() {\n
+\t\t\t\treturn [\n
+\t\t\t\t\tnew svg.Point(this.attribute(\'x1\').Length.toPixels(\'x\'), this.attribute(\'y1\').Length.toPixels(\'y\')),\n
+\t\t\t\t\tnew svg.Point(this.attribute(\'x2\').Length.toPixels(\'x\'), this.attribute(\'y2\').Length.toPixels(\'y\'))];\n
+\t\t\t}\n
+\t\t\t\t\t\t\t\t\n
+\t\t\tthis.path = function(ctx) {\n
+\t\t\t\tvar points = this.getPoints();\n
+\t\t\t\t\n
+\t\t\t\tif (ctx != null) {\n
+\t\t\t\t\tctx.beginPath();\n
+\t\t\t\t\tctx.moveTo(points[0].x, points[0].y);\n
+\t\t\t\t\tctx.lineTo(points[1].x, points[1].y);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\treturn new svg.BoundingBox(points[0].x, points[0].y, points[1].x, points[1].y);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.getMarkers = function() {\n
+\t\t\t\tvar points = this.getPoints();\t\n
+\t\t\t\tvar a = points[0].angleTo(points[1]);\n
+\t\t\t\treturn [[points[0], a], [points[1], a]];\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.line.prototype = new svg.Element.PathElementBase;\t\t\n
+\t\t\t\t\n
+\t\t// polyline element\n
+\t\tsvg.Element.polyline = function(node) {\n
+\t\t\tthis.base = svg.Element.PathElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.points = svg.CreatePath(this.attribute(\'points\').value);\n
+\t\t\tthis.path = function(ctx) {\n
+\t\t\t\tvar bb = new svg.BoundingBox(this.points[0].x, this.points[0].y);\n
+\t\t\t\tif (ctx != null) {\n
+\t\t\t\t\tctx.beginPath();\n
+\t\t\t\t\tctx.moveTo(this.points[0].x, this.points[0].y);\n
+\t\t\t\t}\n
+\t\t\t\tfor (var i=1; i<this.points.length; i++) {\n
+\t\t\t\t\tbb.addPoint(this.points[i].x, this.points[i].y);\n
+\t\t\t\t\tif (ctx != null) ctx.lineTo(this.points[i].x, this.points[i].y);\n
+\t\t\t\t}\n
+\t\t\t\treturn bb;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.getMarkers = function() {\n
+\t\t\t\tvar markers = [];\n
+\t\t\t\tfor (var i=0; i<this.points.length - 1; i++) {\n
+\t\t\t\t\tmarkers.push([this.points[i], this.points[i].angleTo(this.points[i+1])]);\n
+\t\t\t\t}\n
+\t\t\t\tmarkers.push([this.points[this.points.length-1], markers[markers.length-1][1]]);\n
+\t\t\t\treturn markers;\n
+\t\t\t}\t\t\t\n
+\t\t}\n
+\t\tsvg.Element.polyline.prototype = new svg.Element.PathElementBase;\t\t\t\t\n
+\t\t\t\t\n
+\t\t// polygon element\n
+\t\tsvg.Element.polygon = function(node) {\n
+\t\t\tthis.base = svg.Element.polyline;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.basePath = this.path;\n
+\t\t\tthis.path = function(ctx) {\n
+\t\t\t\tvar bb = this.basePath(ctx);\n
+\t\t\t\tif (ctx != null) {\n
+\t\t\t\t\tctx.lineTo(this.points[0].x, this.points[0].y);\n
+\t\t\t\t\tctx.closePath();\n
+\t\t\t\t}\n
+\t\t\t\treturn bb;\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.polygon.prototype = new svg.Element.polyline;\n
+\n
+\t\t// path element\n
+\t\tsvg.Element.path = function(node) {\n
+\t\t\tthis.base = svg.Element.PathElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\t\t\n
+\t\t\tvar d = this.attribute(\'d\').value;\n
+\t\t\t// TODO: floating points, convert to real lexer based on http://www.w3.org/TR/SVG11/paths.html#PathDataBNF\n
+\t\t\td = d.replace(/,/gm,\' \'); // get rid of all commas\n
+\t\t\td = d.replace(/([A-Za-z])([A-Za-z])/gm,\'$1 $2\'); // separate commands from commands\n
+\t\t\td = d.replace(/([A-Za-z])([A-Za-z])/gm,\'$1 $2\'); // separate commands from commands\n
+\t\t\td = d.replace(/([A-Za-z])([^\\s])/gm,\'$1 $2\'); // separate commands from points\n
+\t\t\td = d.replace(/([^\\s])([A-Za-z])/gm,\'$1 $2\'); // separate commands from points\n
+\t\t\td = d.replace(/([0-9])([+\\-])/gm,\'$1 $2\'); // separate digits when no comma\n
+\t\t\td = d.replace(/(\\.[0-9]*)(\\.)/gm,\'$1 $2\'); // separate digits when no comma\n
+\t\t\td = d.replace(/([Aa](\\s+[0-9]+){3})\\s+([01])\\s*([01])/gm,\'$1 $3 $4 \'); // shorthand elliptical arc path syntax\n
+\t\t\td = svg.compressSpaces(d); // compress multiple spaces\n
+\t\t\td = svg.trim(d);\n
+\t\t\tthis.PathParser = new (function(d) {\n
+\t\t\t\tthis.tokens = d.split(\' \');\n
+\t\t\t\t\n
+\t\t\t\tthis.reset = function() {\n
+\t\t\t\t\tthis.i = -1;\n
+\t\t\t\t\tthis.command = \'\';\n
+\t\t\t\t\tthis.control = new svg.Point(0, 0);\n
+\t\t\t\t\tthis.current = new svg.Point(0, 0);\n
+\t\t\t\t\tthis.points = [];\n
+\t\t\t\t\tthis.angles = [];\n
+\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\n
+\t\t\t\tthis.isEnd = function() {\n
+\t\t\t\t\treturn this.i == this.tokens.length - 1;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tthis.isCommandOrEnd = function() {\n
+\t\t\t\t\tif (this.isEnd()) return true;\n
+\t\t\t\t\treturn this.tokens[this.i + 1].match(/[A-Za-z]/) != null;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tthis.isRelativeCommand = function() {\n
+\t\t\t\t\treturn this.command == this.command.toLowerCase();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tthis.getToken = function() {\n
+\t\t\t\t\tthis.i = this.i + 1;\n
+\t\t\t\t\treturn this.tokens[this.i];\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tthis.getScalar = function() {\n
+\t\t\t\t\treturn parseFloat(this.getToken());\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tthis.nextCommand = function() {\n
+\t\t\t\t\tthis.command = this.getToken();\n
+\t\t\t\t}\t\t\t\t\n
+\t\t\t\t\n
+\t\t\t\tthis.getPoint = function() {\n
+\t\t\t\t\tvar p = new svg.Point(this.getScalar(), this.getScalar());\n
+\t\t\t\t\treturn this.makeAbsolute(p);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tthis.getAsControlPoint = function() {\n
+\t\t\t\t\tvar p = this.getPoint();\n
+\t\t\t\t\tthis.control = p;\n
+\t\t\t\t\treturn p;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tthis.getAsCurrentPoint = function() {\n
+\t\t\t\t\tvar p = this.getPoint();\n
+\t\t\t\t\tthis.current = p;\n
+\t\t\t\t\treturn p;\t\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tthis.getReflectedControlPoint = function() {\n
+\t\t\t\t\tvar p = new svg.Point(2 * this.current.x - this.control.x, 2 * this.current.y - this.control.y);\t\t\t\t\t\n
+\t\t\t\t\treturn this.makeAbsolute(p);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tthis.makeAbsolute = function(p) {\n
+\t\t\t\t\tif (this.isRelativeCommand()) {\n
+\t\t\t\t\t\tp.x = this.current.x + p.x;\n
+\t\t\t\t\t\tp.y = this.current.y + p.y;\n
+\t\t\t\t\t}\n
+\t\t\t\t\treturn p;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tthis.addMarker = function(p, from) {\n
+\t\t\t\t\tthis.addMarkerAngle(p, from == null ? null : from.angleTo(p));\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tthis.addMarkerAngle = function(p, a) {\n
+\t\t\t\t\tthis.points.push(p);\n
+\t\t\t\t\tthis.angles.push(a);\n
+\t\t\t\t}\t\t\t\t\n
+\t\t\t\t\n
+\t\t\t\tthis.getMarkerPoints = function() { return this.points; }\n
+\t\t\t\tthis.getMarkerAngles = function() {\n
+\t\t\t\t\tfor (var i=0; i<this.angles.length; i++) {\n
+\t\t\t\t\t\tif (this.angles[i] == null) {\n
+\t\t\t\t\t\t\tfor (var j=i+1; j<this.angles.length; j++) {\n
+\t\t\t\t\t\t\t\tif (this.angles[j] != null) {\n
+\t\t\t\t\t\t\t\t\tthis.angles[i] = this.angles[j];\n
+\t\t\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\treturn this.angles;\n
+\t\t\t\t}\n
+\t\t\t})(d);\n
+\t\t\t\n
+\t\t\tthis.path = function(ctx) {\t\t\n
+\t\t\t\tvar pp = this.PathParser;\n
+\t\t\t\tpp.reset();\n
+\t\t\t\t\n
+\t\t\t\tvar bb = new svg.BoundingBox();\n
+\t\t\t\tif (ctx != null) ctx.beginPath();\n
+\t\t\t\twhile (!pp.isEnd()) {\n
+\t\t\t\t\tpp.nextCommand();\n
+\t\t\t\t\tif (pp.command.toUpperCase() == \'M\') {\n
+\t\t\t\t\t\tvar p = pp.getAsCurrentPoint();\n
+\t\t\t\t\t\tpp.addMarker(p);\n
+\t\t\t\t\t\tbb.addPoint(p.x, p.y);\n
+\t\t\t\t\t\tif (ctx != null) ctx.moveTo(p.x, p.y);\n
+\t\t\t\t\t\twhile (!pp.isCommandOrEnd()) {\n
+\t\t\t\t\t\t\tvar p = pp.getAsCurrentPoint();\n
+\t\t\t\t\t\t\tpp.addMarker(p);\n
+\t\t\t\t\t\t\tbb.addPoint(p.x, p.y);\n
+\t\t\t\t\t\t\tif (ctx != null) ctx.lineTo(p.x, p.y);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse if (pp.command.toUpperCase() == \'L\') {\n
+\t\t\t\t\t\twhile (!pp.isCommandOrEnd()) {\n
+\t\t\t\t\t\t\tvar c = pp.current;\n
+\t\t\t\t\t\t\tvar p = pp.getAsCurrentPoint();\n
+\t\t\t\t\t\t\tpp.addMarker(p, c);\n
+\t\t\t\t\t\t\tbb.addPoint(p.x, p.y);\n
+\t\t\t\t\t\t\tif (ctx != null) ctx.lineTo(p.x, p.y);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse if (pp.command.toUpperCase() == \'H\') {\n
+\t\t\t\t\t\twhile (!pp.isCommandOrEnd()) {\n
+\t\t\t\t\t\t\tvar newP = new svg.Point((pp.isRelativeCommand() ? pp.current.x : 0) + pp.getScalar(), pp.current.y);\n
+\t\t\t\t\t\t\tpp.addMarker(newP, pp.current);\n
+\t\t\t\t\t\t\tpp.current = newP;\n
+\t\t\t\t\t\t\tbb.addPoint(pp.current.x, pp.current.y);\n
+\t\t\t\t\t\t\tif (ctx != null) ctx.lineTo(pp.current.x, pp.current.y);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse if (pp.command.toUpperCase() == \'V\') {\n
+\t\t\t\t\t\twhile (!pp.isCommandOrEnd()) {\n
+\t\t\t\t\t\t\tvar newP = new svg.Point(pp.current.x, (pp.isRelativeCommand() ? pp.current.y : 0) + pp.getScalar());\n
+\t\t\t\t\t\t\tpp.addMarker(newP, pp.current);\n
+\t\t\t\t\t\t\tpp.current = newP;\n
+\t\t\t\t\t\t\tbb.addPoint(pp.current.x, pp.current.y);\n
+\t\t\t\t\t\t\tif (ctx != null) ctx.lineTo(pp.current.x, pp.current.y);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse if (pp.command.toUpperCase() == \'C\') {\n
+\t\t\t\t\t\twhile (!pp.isCommandOrEnd()) {\n
+\t\t\t\t\t\t\tvar curr = pp.current;\n
+\t\t\t\t\t\t\tvar p1 = pp.getPoint();\n
+\t\t\t\t\t\t\tvar cntrl = pp.getAsControlPoint();\n
+\t\t\t\t\t\t\tvar cp = pp.getAsCurrentPoint();\n
+\t\t\t\t\t\t\tpp.addMarker(cp, cntrl);\n
+\t\t\t\t\t\t\tbb.addBezierCurve(curr.x, curr.y, p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);\n
+\t\t\t\t\t\t\tif (ctx != null) ctx.bezierCurveTo(p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse if (pp.command.toUpperCase() == \'S\') {\n
+\t\t\t\t\t\twhile (!pp.isCommandOrEnd()) {\n
+\t\t\t\t\t\t\tvar curr = pp.current;\n
+\t\t\t\t\t\t\tvar p1 = pp.getReflectedControlPoint();\n
+\t\t\t\t\t\t\tvar cntrl = pp.getAsControlPoint();\n
+\t\t\t\t\t\t\tvar cp = pp.getAsCurrentPoint();\n
+\t\t\t\t\t\t\tpp.addMarker(cp, cntrl);\n
+\t\t\t\t\t\t\tbb.addBezierCurve(curr.x, curr.y, p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);\n
+\t\t\t\t\t\t\tif (ctx != null) ctx.bezierCurveTo(p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);\n
+\t\t\t\t\t\t}\t\t\t\t\n
+\t\t\t\t\t}\t\t\t\t\t\n
+\t\t\t\t\telse if (pp.command.toUpperCase() == \'Q\') {\n
+\t\t\t\t\t\twhile (!pp.isCommandOrEnd()) {\n
+\t\t\t\t\t\t\tvar curr = pp.current;\n
+\t\t\t\t\t\t\tvar cntrl = pp.getAsControlPoint();\n
+\t\t\t\t\t\t\tvar cp = pp.getAsCurrentPoint();\n
+\t\t\t\t\t\t\tpp.addMarker(cp, cntrl);\n
+\t\t\t\t\t\t\tbb.addQuadraticCurve(curr.x, curr.y, cntrl.x, cntrl.y, cp.x, cp.y);\n
+\t\t\t\t\t\t\tif (ctx != null) ctx.quadraticCurveTo(cntrl.x, cntrl.y, cp.x, cp.y);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\t\t\t\t\t\n
+\t\t\t\t\telse if (pp.command.toUpperCase() == \'T\') {\n
+\t\t\t\t\t\twhile (!pp.isCommandOrEnd()) {\n
+\t\t\t\t\t\t\tvar curr = pp.current;\n
+\t\t\t\t\t\t\tvar cntrl = pp.getReflectedControlPoint();\n
+\t\t\t\t\t\t\tpp.control = cntrl;\n
+\t\t\t\t\t\t\tvar cp = pp.getAsCurrentPoint();\n
+\t\t\t\t\t\t\tpp.addMarker(cp, cntrl);\n
+\t\t\t\t\t\t\tbb.addQuadraticCurve(curr.x, curr.y, cntrl.x, cntrl.y, cp.x, cp.y);\n
+\t\t\t\t\t\t\tif (ctx != null) ctx.quadraticCurveTo(cntrl.x, cntrl.y, cp.x, cp.y);\n
+\t\t\t\t\t\t}\t\t\t\t\t\n
+\t\t\t\t\t}\n
+\n
+\t\t\t\t\telse if (pp.command.toUpperCase() == \'A\') {\n
+\t\t\t\t\t\twhile (!pp.isCommandOrEnd()) {\n
+\t\t\t\t\t\t    var curr = pp.current;\n
+\t\t\t\t\t\t\tvar rx = pp.getScalar();\n
+\t\t\t\t\t\t\tvar ry = pp.getScalar();\n
+\t\t\t\t\t\t\tvar xAxisRotation = pp.getScalar() * (Math.PI / 180.0);\n
+\t\t\t\t\t\t\tvar largeArcFlag = pp.getScalar();\n
+\t\t\t\t\t\t\tvar sweepFlag = pp.getScalar();\n
+\t\t\t\t\t\t\tvar cp = pp.getAsCurrentPoint();\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// Conversion from endpoint to center parameterization\n
+\t\t\t\t\t\t\t// http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes\n
+\t\t\t\t\t\t\t// x1\', y1\'\n
+\t\t\t\t\t\t\tvar currp = new svg.Point(\n
+\t\t\t\t\t\t\t\tMath.cos(xAxisRotation) * (curr.x - cp.x) / 2.0 + Math.sin(xAxisRotation) * (curr.y - cp.y) / 2.0,\n
+\t\t\t\t\t\t\t\t-Math.sin(xAxisRotation) * (curr.x - cp.x) / 2.0 + Math.cos(xAxisRotation) * (curr.y - cp.y) / 2.0\n
+\t\t\t\t\t\t\t);\n
+\t\t\t\t\t\t\t// adjust radii\n
+\t\t\t\t\t\t\tvar l = Math.pow(currp.x,2)/Math.pow(rx,2)+Math.pow(currp.y,2)/Math.pow(ry,2);\n
+\t\t\t\t\t\t\tif (l > 1) {\n
+\t\t\t\t\t\t\t\trx *= Math.sqrt(l);\n
+\t\t\t\t\t\t\t\try *= Math.sqrt(l);\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t// cx\', cy\'\n
+\t\t\t\t\t\t\tvar s = (largeArcFlag == sweepFlag ? -1 : 1) * Math.sqrt(\n
+\t\t\t\t\t\t\t\t((Math.pow(rx,2)*Math.pow(ry,2))-(Math.pow(rx,2)*Math.pow(currp.y,2))-(Math.pow(ry,2)*Math.pow(currp.x,2))) /\n
+\t\t\t\t\t\t\t\t(Math.pow(rx,2)*Math.pow(currp.y,2)+Math.pow(ry,2)*Math.pow(currp.x,2))\n
+\t\t\t\t\t\t\t);\n
+\t\t\t\t\t\t\tif (isNaN(s)) s = 0;\n
+\t\t\t\t\t\t\tvar cpp = new svg.Point(s * rx * currp.y / ry, s * -ry * currp.x / rx);\n
+\t\t\t\t\t\t\t// cx, cy\n
+\t\t\t\t\t\t\tvar centp = new svg.Point(\n
+\t\t\t\t\t\t\t\t(curr.x + cp.x) / 2.0 + Math.cos(xAxisRotation) * cpp.x - Math.sin(xAxisRotation) * cpp.y,\n
+\t\t\t\t\t\t\t\t(curr.y + cp.y) / 2.0 + Math.sin(xAxisRotation) * cpp.x + Math.cos(xAxisRotation) * cpp.y\n
+\t\t\t\t\t\t\t);\n
+\t\t\t\t\t\t\t// vector magnitude\n
+\t\t\t\t\t\t\tvar m = function(v) { return Math.sqrt(Math.pow(v[0],2) + Math.pow(v[1],2)); }\n
+\t\t\t\t\t\t\t// ratio between two vectors\n
+\t\t\t\t\t\t\tvar r = function(u, v) { return (u[0]*v[0]+u[1]*v[1]) / (m(u)*m(v)) }\n
+\t\t\t\t\t\t\t// angle between two vectors\n
+\t\t\t\t\t\t\tvar a = function(u, v) { return (u[0]*v[1] < u[1]*v[0] ? -1 : 1) * Math.acos(r(u,v)); }\n
+\t\t\t\t\t\t\t// initial angle\n
+\t\t\t\t\t\t\tvar a1 = a([1,0], [(currp.x-cpp.x)/rx,(currp.y-cpp.y)/ry]);\n
+\t\t\t\t\t\t\t// angle delta\n
+\t\t\t\t\t\t\tvar u = [(currp.x-cpp.x)/rx,(currp.y-cpp.y)/ry];\n
+\t\t\t\t\t\t\tvar v = [(-currp.x-cpp.x)/rx,(-currp.y-cpp.y)/ry];\n
+\t\t\t\t\t\t\tvar ad = a(u, v);\n
+\t\t\t\t\t\t\tif (r(u,v) <= -1) ad = Math.PI;\n
+\t\t\t\t\t\t\tif (r(u,v) >= 1) ad = 0;\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tif (sweepFlag == 0 && ad > 0) ad = ad - 2 * Math.PI;\n
+\t\t\t\t\t\t\tif (sweepFlag == 1 && ad < 0) ad = ad + 2 * Math.PI;\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// for markers\n
+\t\t\t\t\t\t\tvar halfWay = new svg.Point(\n
+\t\t\t\t\t\t\t\tcentp.x - rx * Math.cos((a1 + ad) / 2),\n
+\t\t\t\t\t\t\t\tcentp.y - ry * Math.sin((a1 + ad) / 2)\n
+\t\t\t\t\t\t\t);\n
+\t\t\t\t\t\t\tpp.addMarkerAngle(halfWay, (a1 + ad) / 2 + (sweepFlag == 0 ? 1 : -1) * Math.PI / 2);\n
+\t\t\t\t\t\t\tpp.addMarkerAngle(cp, ad + (sweepFlag == 0 ? 1 : -1) * Math.PI / 2);\n
+\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tbb.addPoint(cp.x, cp.y); // TODO: this is too naive, make it better\n
+\t\t\t\t\t\t\tif (ctx != null) {\n
+\t\t\t\t\t\t\t\tvar r = rx > ry ? rx : ry;\n
+\t\t\t\t\t\t\t\tvar sx = rx > ry ? 1 : rx / ry;\n
+\t\t\t\t\t\t\t\tvar sy = rx > ry ? ry / rx : 1;\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\tctx.translate(centp.x, centp.y);\n
+\t\t\t\t\t\t\t\tctx.rotate(xAxisRotation);\n
+\t\t\t\t\t\t\t\tctx.scale(sx, sy);\n
+\t\t\t\t\t\t\t\tctx.arc(0, 0, r, a1, a1 + ad, 1 - sweepFlag);\n
+\t\t\t\t\t\t\t\tctx.scale(1/sx, 1/sy);\n
+\t\t\t\t\t\t\t\tctx.rotate(-xAxisRotation);\n
+\t\t\t\t\t\t\t\tctx.translate(-centp.x, -centp.y);\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse if (pp.command.toUpperCase() == \'Z\') {\n
+\t\t\t\t\t\tif (ctx != null) ctx.closePath();\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t\t\t\t\n
+\t\t\t\treturn bb;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.getMarkers = function() {\n
+\t\t\t\tvar points = this.PathParser.getMarkerPoints();\n
+\t\t\t\tvar angles = this.PathParser.getMarkerAngles();\n
+\t\t\t\t\n
+\t\t\t\tvar markers = [];\n
+\t\t\t\tfor (var i=0; i<points.length; i++) {\n
+\t\t\t\t\tmarkers.push([points[i], angles[i]]);\n
+\t\t\t\t}\n
+\t\t\t\treturn markers;\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.path.prototype = new svg.Element.PathElementBase;\n
+\t\t\n
+\t\t// pattern element\n
+\t\tsvg.Element.pattern = function(node) {\n
+\t\t\tthis.base = svg.Element.ElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.createPattern = function(ctx, element) {\n
+\t\t\t\t// render me using a temporary svg element\n
+\t\t\t\tvar tempSvg = new svg.Element.svg();\n
+\t\t\t\ttempSvg.attributes[\'viewBox\'] = new svg.Property(\'viewBox\', this.attribute(\'viewBox\').value);\n
+\t\t\t\ttempSvg.attributes[\'x\'] = new svg.Property(\'x\', this.attribute(\'x\').value);\n
+\t\t\t\ttempSvg.attributes[\'y\'] = new svg.Property(\'y\', this.attribute(\'y\').value);\n
+\t\t\t\ttempSvg.attributes[\'width\'] = new svg.Property(\'width\', this.attribute(\'width\').value);\n
+\t\t\t\ttempSvg.attributes[\'height\'] = new svg.Property(\'height\', this.attribute(\'height\').value);\n
+\t\t\t\ttempSvg.children = this.children;\n
+\t\t\t\t\n
+\t\t\t\tvar c = document.createElement(\'canvas\');\n
+\t\t\t\tc.width = this.attribute(\'width\').Length.toPixels();\n
+\t\t\t\tc.height = this.attribute(\'height\').Length.toPixels();\n
+\t\t\t\ttempSvg.render(c.getContext(\'2d\'));\t\t\n
+\t\t\t\treturn ctx.createPattern(c, \'repeat\');\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.pattern.prototype = new svg.Element.ElementBase;\n
+\t\t\n
+\t\t// marker element\n
+\t\tsvg.Element.marker = function(node) {\n
+\t\t\tthis.base = svg.Element.ElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.baseRender = this.render;\n
+\t\t\tthis.render = function(ctx, point, angle) {\n
+\t\t\t\tctx.translate(point.x, point.y);\n
+\t\t\t\tif (this.attribute(\'orient\').valueOrDefault(\'auto\') == \'auto\') ctx.rotate(angle);\n
+\t\t\t\tif (this.attribute(\'markerUnits\').valueOrDefault(\'strokeWidth\') == \'strokeWidth\') ctx.scale(ctx.lineWidth, ctx.lineWidth);\n
+\t\t\t\tctx.save();\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t// render me using a temporary svg element\n
+\t\t\t\tvar tempSvg = new svg.Element.svg();\n
+\t\t\t\ttempSvg.attributes[\'viewBox\'] = new svg.Property(\'viewBox\', this.attribute(\'viewBox\').value);\n
+\t\t\t\ttempSvg.attributes[\'refX\'] = new svg.Property(\'refX\', this.attribute(\'refX\').value);\n
+\t\t\t\ttempSvg.attributes[\'refY\'] = new svg.Property(\'refY\', this.attribute(\'refY\').value);\n
+\t\t\t\ttempSvg.attributes[\'width\'] = new svg.Property(\'width\', this.attribute(\'markerWidth\').value);\n
+\t\t\t\ttempSvg.attributes[\'height\'] = new svg.Property(\'height\', this.attribute(\'markerHeight\').value);\n
+\t\t\t\ttempSvg.attributes[\'fill\'] = new svg.Property(\'fill\', this.attribute(\'fill\').valueOrDefault(\'black\'));\n
+\t\t\t\ttempSvg.attributes[\'stroke\'] = new svg.Property(\'stroke\', this.attribute(\'stroke\').valueOrDefault(\'none\'));\n
+\t\t\t\ttempSvg.children = this.children;\n
+\t\t\t\ttempSvg.render(ctx);\n
+\t\t\t\t\n
+\t\t\t\tctx.restore();\n
+\t\t\t\tif (this.attribute(\'markerUnits\').valueOrDefault(\'strokeWidth\') == \'strokeWidth\') ctx.scale(1/ctx.lineWidth, 1/ctx.lineWidth);\n
+\t\t\t\tif (this.attribute(\'orient\').valueOrDefault(\'auto\') == \'auto\') ctx.rotate(-angle);\n
+\t\t\t\tctx.translate(-point.x, -point.y);\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.marker.prototype = new svg.Element.ElementBase;\n
+\t\t\n
+\t\t// definitions element\n
+\t\tsvg.Element.defs = function(node) {\n
+\t\t\tthis.base = svg.Element.ElementBase;\n
+\t\t\tthis.base(node);\t\t\t\n
+\t\t\t\n
+\t\t\tthis.render = function(ctx) {\n
+\t\t\t\t// NOOP\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.defs.prototype = new svg.Element.ElementBase;\n
+\t\t\n
+\t\t// base for gradients\n
+\t\tsvg.Element.GradientBase = function(node) {\n
+\t\t\tthis.base = svg.Element.ElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.gradientUnits = this.attribute(\'gradientUnits\').valueOrDefault(\'objectBoundingBox\');\n
+\t\t\t\n
+\t\t\tthis.stops = [];\t\t\t\n
+\t\t\tfor (var i=0; i<this.children.length; i++) {\n
+\t\t\t\tvar child = this.children[i];\n
+\t\t\t\tthis.stops.push(child);\n
+\t\t\t}\t\n
+\n
+\t\t\tthis.getGradient = function() {\n
+\t\t\t\t// OVERRIDE ME!\n
+\t\t\t}\t\t\t\n
+\n
+\t\t\tthis.createGradient = function(ctx, element) {\n
+\t\t\t\tvar g = this.getGradient(ctx, element);\n
+\t\t\t\tfor (var i=0; i<this.stops.length; i++) {\n
+\t\t\t\t\tg.addColorStop(this.stops[i].offset, this.stops[i].color);\n
+\t\t\t\t}\n
+\t\t\t\treturn g;\t\t\t\t\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.GradientBase.prototype = new svg.Element.ElementBase;\n
+\t\t\n
+\t\t// linear gradient element\n
+\t\tsvg.Element.linearGradient = function(node) {\n
+\t\t\tthis.base = svg.Element.GradientBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.getGradient = function(ctx, element) {\n
+\t\t\t\tvar bb = element.getBoundingBox();\n
+\t\t\t\t\n
+\t\t\t\tvar x1 = (this.gradientUnits == \'objectBoundingBox\' \n
+\t\t\t\t\t? bb.x() + bb.width() * this.attribute(\'x1\').numValue() \n
+\t\t\t\t\t: this.attribute(\'x1\').Length.toPixels(\'x\'));\n
+\t\t\t\tvar y1 = (this.gradientUnits == \'objectBoundingBox\' \n
+\t\t\t\t\t? bb.y() + bb.height() * this.attribute(\'y1\').numValue()\n
+\t\t\t\t\t: this.attribute(\'y1\').Length.toPixels(\'y\'));\n
+\t\t\t\tvar x2 = (this.gradientUnits == \'objectBoundingBox\' \n
+\t\t\t\t\t? bb.x() + bb.width() * this.attribute(\'x2\').numValue()\n
+\t\t\t\t\t: this.attribute(\'x2\').Length.toPixels(\'x\'));\n
+\t\t\t\tvar y2 = (this.gradientUnits == \'objectBoundingBox\' \n
+\t\t\t\t\t? bb.y() + bb.height() * this.attribute(\'y2\').numValue()\n
+\t\t\t\t\t: this.attribute(\'y2\').Length.toPixels(\'y\'));\n
+\t\t\t\t\n
+\t\t\t\treturn ctx.createLinearGradient(x1, y1, x2, y2);\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.linearGradient.prototype = new svg.Element.GradientBase;\n
+\t\t\n
+\t\t// radial gradient element\n
+\t\tsvg.Element.radialGradient = function(node) {\n
+\t\t\tthis.base = svg.Element.GradientBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.getGradient = function(ctx, element) {\n
+\t\t\t\tvar bb = element.getBoundingBox();\n
+\t\t\t\t\n
+\t\t\t\tvar cx = (this.gradientUnits == \'objectBoundingBox\' \n
+\t\t\t\t\t? bb.x() + bb.width() * this.attribute(\'cx\').numValue() \n
+\t\t\t\t\t: this.attribute(\'cx\').Length.toPixels(\'x\'));\n
+\t\t\t\tvar cy = (this.gradientUnits == \'objectBoundingBox\' \n
+\t\t\t\t\t? bb.y() + bb.height() * this.attribute(\'cy\').numValue() \n
+\t\t\t\t\t: this.attribute(\'cy\').Length.toPixels(\'y\'));\n
+\t\t\t\t\n
+\t\t\t\tvar fx = cx;\n
+\t\t\t\tvar fy = cy;\n
+\t\t\t\tif (this.attribute(\'fx\').hasValue()) {\n
+\t\t\t\t\tfx = (this.gradientUnits == \'objectBoundingBox\' \n
+\t\t\t\t\t? bb.x() + bb.width() * this.attribute(\'fx\').numValue() \n
+\t\t\t\t\t: this.attribute(\'fx\').Length.toPixels(\'x\'));\n
+\t\t\t\t}\n
+\t\t\t\tif (this.attribute(\'fy\').hasValue()) {\n
+\t\t\t\t\tfy = (this.gradientUnits == \'objectBoundingBox\' \n
+\t\t\t\t\t? bb.y() + bb.height() * this.attribute(\'fy\').numValue() \n
+\t\t\t\t\t: this.attribute(\'fy\').Length.toPixels(\'y\'));\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar r = (this.gradientUnits == \'objectBoundingBox\' \n
+\t\t\t\t\t? (bb.width() + bb.height()) / 2.0 * this.attribute(\'r\').numValue()\n
+\t\t\t\t\t: this.attribute(\'r\').Length.toPixels());\n
+\t\t\t\t\n
+\t\t\t\treturn ctx.createRadialGradient(fx, fy, 0, cx, cy, r);\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.radialGradient.prototype = new svg.Element.GradientBase;\n
+\t\t\n
+\t\t// gradient stop element\n
+\t\tsvg.Element.stop = function(node) {\n
+\t\t\tthis.base = svg.Element.ElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.offset = this.attribute(\'offset\').numValue();\n
+\t\t\t\n
+\t\t\tvar stopColor = this.style(\'stop-color\');\n
+\t\t\tif (this.style(\'stop-opacity\').hasValue()) stopColor = stopColor.Color.addOpacity(this.style(\'stop-opacity\').value);\n
+\t\t\tthis.color = stopColor.value;\n
+\t\t}\n
+\t\tsvg.Element.stop.prototype = new svg.Element.ElementBase;\n
+\t\t\n
+\t\t// animation base element\n
+\t\tsvg.Element.AnimateBase = function(node) {\n
+\t\t\tthis.base = svg.Element.ElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tsvg.Animations.push(this);\n
+\t\t\t\n
+\t\t\tthis.duration = 0.0;\n
+\t\t\tthis.begin = this.attribute(\'begin\').Time.toMilliseconds();\n
+\t\t\tthis.maxDuration = this.begin + this.attribute(\'dur\').Time.toMilliseconds();\n
+\n
+\t\t\tthis.calcValue = function() {\n
+\t\t\t\t// OVERRIDE ME!\n
+\t\t\t\treturn \'\';\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.update = function(delta) {\t\t\t\n
+\t\t\t\t// if we\'re past the end time\n
+\t\t\t\tif (this.duration > this.maxDuration) {\n
+\t\t\t\t\t// loop for indefinitely repeating animations\n
+\t\t\t\t\tif (this.attribute(\'repeatCount\').value == \'indefinite\') {\n
+\t\t\t\t\t\tthis.duration = 0.0\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse {\n
+\t\t\t\t\t\treturn false; // no updates made\n
+\t\t\t\t\t}\n
+\t\t\t\t}\t\t\t\n
+\t\t\t\tthis.duration = this.duration + delta;\n
+\t\t\t\n
+\t\t\t\t// if we\'re past the begin time\n
+\t\t\t\tvar updated = false;\n
+\t\t\t\tif (this.begin < this.duration) {\n
+\t\t\t\t\tvar newValue = this.calcValue(); // tween\n
+\t\t\t\t\tvar attributeType = this.attribute(\'attributeType\').value;\n
+\t\t\t\t\tvar attributeName = this.attribute(\'attributeName\').value;\n
+\t\t\t\t\t\n
+\t\t\t\t\tif (this.parent != null) {\n
+\t\t\t\t\t\tif (attributeType == \'CSS\') {\n
+\t\t\t\t\t\t\tthis.parent.style(attributeName, true).value = newValue;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\telse { // default or XML\n
+\t\t\t\t\t\t\tif (this.attribute(\'type\').hasValue()) {\n
+\t\t\t\t\t\t\t\t// for transform, etc.\n
+\t\t\t\t\t\t\t\tvar type = this.attribute(\'type\').value;\n
+\t\t\t\t\t\t\t\tthis.parent.attribute(attributeName, true).value = type + \'(\' + newValue + \')\';\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\telse {\n
+\t\t\t\t\t\t\t\tthis.parent.attribute(attributeName, true).value = newValue;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tupdated = true;\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\treturn updated;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// fraction of duration we\'ve covered\n
+\t\t\tthis.progress = function() {\n
+\t\t\t\treturn ((this.duration - this.begin) / (this.maxDuration - this.begin));\n
+\t\t\t}\t\t\t\n
+\t\t}\n
+\t\tsvg.Element.AnimateBase.prototype = new svg.Element.ElementBase;\n
+\t\t\n
+\t\t// animate element\n
+\t\tsvg.Element.animate = function(node) {\n
+\t\t\tthis.base = svg.Element.AnimateBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.calcValue = function() {\n
+\t\t\t\tvar from = this.attribute(\'from\').numValue();\n
+\t\t\t\tvar to = this.attribute(\'to\').numValue();\n
+\t\t\t\t\n
+\t\t\t\t// tween value linearly\n
+\t\t\t\treturn from + (to - from) * this.progress(); \n
+\t\t\t};\n
+\t\t}\n
+\t\tsvg.Element.animate.prototype = new svg.Element.AnimateBase;\n
+\t\t\t\n
+\t\t// animate color element\n
+\t\tsvg.Element.animateColor = function(node) {\n
+\t\t\tthis.base = svg.Element.AnimateBase;\n
+\t\t\tthis.base(node);\n
+\n
+\t\t\tthis.calcValue = function() {\n
+\t\t\t\tvar from = new RGBColor(this.attribute(\'from\').value);\n
+\t\t\t\tvar to = new RGBColor(this.attribute(\'to\').value);\n
+\t\t\t\t\n
+\t\t\t\tif (from.ok && to.ok) {\n
+\t\t\t\t\t// tween color linearly\n
+\t\t\t\t\tvar r = from.r + (to.r - from.r) * this.progress();\n
+\t\t\t\t\tvar g = from.g + (to.g - from.g) * this.progress();\n
+\t\t\t\t\tvar b = from.b + (to.b - from.b) * this.progress();\n
+\t\t\t\t\treturn \'rgb(\'+parseInt(r,10)+\',\'+parseInt(g,10)+\',\'+parseInt(b,10)+\')\';\n
+\t\t\t\t}\n
+\t\t\t\treturn this.attribute(\'from\').value;\n
+\t\t\t};\n
+\t\t}\n
+\t\tsvg.Element.animateColor.prototype = new svg.Element.AnimateBase;\n
+\t\t\n
+\t\t// animate transform element\n
+\t\tsvg.Element.animateTransform = function(node) {\n
+\t\t\tthis.base = svg.Element.animate;\n
+\t\t\tthis.base(node);\n
+\t\t}\n
+\t\tsvg.Element.animateTransform.prototype = new svg.Element.animate;\n
+\t\t\n
+\t\t// text element\n
+\t\tsvg.Element.text = function(node) {\n
+\t\t\tthis.base = svg.Element.RenderedElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tif (node != null) {\n
+\t\t\t\t// add children\n
+\t\t\t\tthis.children = [];\n
+\t\t\t\tfor (var i=0; i<node.childNodes.length; i++) {\n
+\t\t\t\t\tvar childNode = node.childNodes[i];\n
+\t\t\t\t\tif (childNode.nodeType == 1) { // capture tspan and tref nodes\n
+\t\t\t\t\t\tthis.addChild(childNode, true);\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse if (childNode.nodeType == 3) { // capture text\n
+\t\t\t\t\t\tthis.addChild(new svg.Element.tspan(childNode), false);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.baseSetContext = this.setContext;\n
+\t\t\tthis.setContext = function(ctx) {\n
+\t\t\t\tthis.baseSetContext(ctx);\n
+\t\t\t\tif (this.attribute(\'text-anchor\').hasValue()) {\n
+\t\t\t\t\tvar textAnchor = this.attribute(\'text-anchor\').value;\n
+\t\t\t\t\tctx.textAlign = textAnchor == \'middle\' ? \'center\' : textAnchor;\n
+\t\t\t\t}\n
+\t\t\t\tif (this.attribute(\'alignment-baseline\').hasValue()) ctx.textBaseline = this.attribute(\'alignment-baseline\').value;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.renderChildren = function(ctx) {\n
+\t\t\t\tvar x = this.attribute(\'x\').Length.toPixels(\'x\');\n
+\t\t\t\tvar y = this.attribute(\'y\').Length.toPixels(\'y\');\n
+\t\t\t\tfor (var i=0; i<this.children.length; i++) {\n
+\t\t\t\t\tthis.children[i].x = x;\n
+\t\t\t\t\tthis.children[i].y = y;\n
+\t\t\t\t\tthis.children[i].render(ctx);\n
+\t\t\t\t\tx += this.children[i].measureText(ctx);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.text.prototype = new svg.Element.RenderedElementBase;\n
+\t\t\n
+\t\t// text base\n
+\t\tsvg.Element.TextElementBase = function(node) {\n
+\t\t\tthis.base = svg.Element.RenderedElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.renderChildren = function(ctx) {\n
+\t\t\t\tctx.fillText(svg.compressSpaces(this.getText()), this.x, this.y);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.getText = function() {\n
+\t\t\t\t// OVERRIDE ME\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.measureText = function(ctx) {\n
+\t\t\t\treturn ctx.measureText(svg.compressSpaces(this.getText())).width;\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.TextElementBase.prototype = new svg.Element.RenderedElementBase;\n
+\t\t\n
+\t\t// tspan \n
+\t\tsvg.Element.tspan = function(node) {\n
+\t\t\tthis.base = svg.Element.TextElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\t//\t\t\t\t\t\t\t\t TEXT\t\t\t  ELEMENT\n
+\t\t\tthis.text = node.nodeType == 3 ? node.nodeValue : node.childNodes[0].nodeValue;\n
+\t\t\tthis.getText = function() {\n
+\t\t\t\treturn this.text;\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.tspan.prototype = new svg.Element.TextElementBase;\n
+\t\t\n
+\t\t// tref\n
+\t\tsvg.Element.tref = function(node) {\n
+\t\t\tthis.base = svg.Element.TextElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.getText = function() {\n
+\t\t\t\tvar element = this.attribute(\'xlink:href\').Definition.getDefinition();\n
+\t\t\t\tif (element != null) return element.children[0].getText();\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.tref.prototype = new svg.Element.TextElementBase;\t\t\n
+\t\t\n
+\t\t// group element\n
+\t\tsvg.Element.g = function(node) {\n
+\t\t\tthis.base = svg.Element.RenderedElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t}\n
+\t\tsvg.Element.g.prototype = new svg.Element.RenderedElementBase;\n
+\n
+\t\t// symbol element\n
+\t\tsvg.Element.symbol = function(node) {\n
+\t\t\tthis.base = svg.Element.RenderedElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t}\n
+\t\tsvg.Element.symbol.prototype = new svg.Element.RenderedElementBase;\t\t\n
+\t\t\n
+\t\t// a element\n
+\t\tsvg.Element.a = function(node) {\n
+\t\t\tthis.base = svg.Element.RenderedElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t}\n
+\t\tsvg.Element.a.prototype = new svg.Element.RenderedElementBase;\n
+\t\t\n
+\t\t// style element\n
+\t\tsvg.Element.style = function(node) { \n
+\t\t\tthis.base = svg.Element.ElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tvar css = node.childNodes[0].nodeValue;\n
+\t\t\tcss = css.replace(/(\\/\\*([^*]|[\\r\\n]|(\\*+([^*\\/]|[\\r\\n])))*\\*+\\/)|(\\/\\/.*)/gm, \'\'); // remove comments\n
+\t\t\tcss = svg.compressSpaces(css); // replace whitespace\n
+\t\t\tvar cssDefs = css.split(\'}\');\n
+\t\t\tfor (var i=0; i<cssDefs.length; i++) {\n
+\t\t\t\tif (svg.trim(cssDefs[i]) != \'\') {\n
+\t\t\t\t\tvar cssDef = cssDefs[i].split(\'{\');\n
+\t\t\t\t\tvar cssClasses = cssDef[0].split(\',\');\n
+\t\t\t\t\tvar cssProps = cssDef[1].split(\';\');\n
+\t\t\t\t\tfor (var j=0; j<cssClasses.length; j++) {\n
+\t\t\t\t\t\tvar cssClass = svg.trim(cssClasses[j]);\n
+\t\t\t\t\t\tif (cssClass != \'\') {\n
+\t\t\t\t\t\t\tvar props = {};\n
+\t\t\t\t\t\t\tfor (var k=0; k<cssProps.length; k++) {\n
+\t\t\t\t\t\t\t\tvar prop = cssProps[k].split(\':\');\n
+\t\t\t\t\t\t\t\tvar name = prop[0];\n
+\t\t\t\t\t\t\t\tvar value = prop[1];\n
+\t\t\t\t\t\t\t\tif (name != null && value != null) {\n
+\t\t\t\t\t\t\t\t\tprops[svg.trim(prop[0])] = new svg.Property(svg.trim(prop[0]), svg.trim(prop[1]));\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\tsvg.Styles[cssClass] = props;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.style.prototype = new svg.Element.ElementBase;\n
+\t\t\n
+\t\t// use element \n
+\t\tsvg.Element.use = function(node) {\n
+\t\t\tthis.base = svg.Element.RenderedElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.baseSetContext = this.setContext;\n
+\t\t\tthis.setContext = function(ctx) {\n
+\t\t\t\tthis.baseSetContext(ctx);\n
+\t\t\t\tif (this.attribute(\'x\').hasValue()) ctx.translate(this.attribute(\'x\').Length.toPixels(\'x\'), 0);\n
+\t\t\t\tif (this.attribute(\'y\').hasValue()) ctx.translate(0, this.attribute(\'y\').Length.toPixels(\'y\'));\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.renderChildren = function(ctx) {\n
+\t\t\t\tvar element = this.attribute(\'xlink:href\').Definition.getDefinition();\n
+\t\t\t\tif (element != null) element.render(ctx);\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.use.prototype = new svg.Element.RenderedElementBase;\n
+\t\t\n
+\t\t// clip element\n
+\t\tsvg.Element.clipPath = function(node) {\n
+\t\t\tthis.base = svg.Element.ElementBase;\n
+\t\t\tthis.base(node);\n
+\t\t\t\n
+\t\t\tthis.apply = function(ctx) {\n
+\t\t\t\tfor (var i=0; i<this.children.length; i++) {\n
+\t\t\t\t\tif (this.children[i].path) {\n
+\t\t\t\t\t\tthis.children[i].path(ctx);\n
+\t\t\t\t\t\tctx.clip();\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\tsvg.Element.clipPath.prototype = new svg.Element.ElementBase;\n
+\n
+\t\t// title element, do nothing\n
+\t\tsvg.Element.title = function(node) {\n
+\t\t}\n
+\t\tsvg.Element.title.prototype = new svg.Element.ElementBase;\n
+\n
+\t\t// desc element, do nothing\n
+\t\tsvg.Element.desc = function(node) {\n
+\t\t}\n
+\t\tsvg.Element.desc.prototype = new svg.Element.ElementBase;\t\t\n
+\t\t\n
+\t\tsvg.Element.MISSING = function(node) {\n
+\t\t\tconsole.log(\'ERROR: Element \\\'\' + node.nodeName + \'\\\' not yet implemented.\');\n
+\t\t}\n
+\t\tsvg.Element.MISSING.prototype = new svg.Element.ElementBase;\n
+\t\t\n
+\t\t// element factory\n
+\t\tsvg.CreateElement = function(node) {\n
+\t\t\tvar className = \'svg.Element.\' + node.nodeName.replace(/^[^:]+:/,\'\');\n
+\t\t\tif (!eval(className)) className = \'svg.Element.MISSING\';\n
+\t\t\n
+\t\t\tvar e = eval(\'new \' + className + \'(node)\');\n
+\t\t\te.type = node.nodeName;\n
+\t\t\treturn e;\n
+\t\t}\n
+\t\t\t\t\n
+\t\t// load from url\n
+\t\tsvg.load = function(ctx, url) {\n
+\t\t\tsvg.loadXml(ctx, svg.ajax(url));\n
+\t\t}\n
+\t\t\n
+\t\t// load from xml\n
+\t\tsvg.loadXml = function(ctx, xml) {\n
+\t\t\tsvg.init(ctx);\n
+\t\t\n
+\t\t\tvar dom = svg.parseXml(xml);\n
+\t\t\tvar e = svg.CreateElement(dom.documentElement);\n
+\t\t\t\n
+\t\t\t// set canvas size\n
+\t\t\tif (e.attribute(\'width\').hasValue()) {\n
+\t\t\t\tctx.canvas.width = e.attribute(\'width\').Length.toPixels(ctx.canvas.parentNode.clientWidth);\n
+\t\t\t}\n
+\t\t\tif (e.attribute(\'height\').hasValue()) {\n
+\t\t\t\tctx.canvas.height = e.attribute(\'height\').Length.toPixels(ctx.canvas.parentNode.clientHeight);\n
+\t\t\t}\n
+\t\t\tsvg.ViewPort.SetCurrent(ctx.canvas.clientWidth, ctx.canvas.clientHeight);\n
+\t\t\t\n
+\t\t\t// render loop\n
+\t\t\tctx.clearRect(0, 0, ctx.canvas.clientWidth, ctx.canvas.clientHeight);\n
+\t\t\te.render(ctx);\n
+\t\t\tsvg.intervalID = setInterval(function() { \n
+\t\t\t\t// update animations\n
+\t\t\t\tvar needUpdate = false;\n
+\t\t\t\tfor (var i=0; i<svg.Animations.length; i++) {\n
+\t\t\t\t\tneedUpdate = needUpdate | svg.Animations[i].update(1000 / svg.FRAMERATE);\n
+\t\t\t\t}\n
+\t\t\t\n
+\t\t\t\t// render if needed\n
+\t\t\t\tif (needUpdate) {\n
+\t\t\t\t\tctx.clearRect(0, 0, ctx.canvas.clientWidth, ctx.canvas.clientHeight);\n
+\t\t\t\t\te.render(ctx);\n
+\t\t\t\t}\n
+\t\t\t}, 1000 / svg.FRAMERATE);\n
+\t\t}\n
+\t\t\n
+\t\tsvg.stop = function() {\n
+\t\t\tif (svg.intervalID) {\n
+\t\t\t\tclearInterval(svg.intervalID);\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\treturn svg;\n
+\t}\n
+})();\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>57968</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg/rgbcolor.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg/rgbcolor.js.xml
new file mode 100644
index 0000000000..3db05ea374
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/canvg/rgbcolor.js.xml
@@ -0,0 +1,331 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80002935.08</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>rgbcolor.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/**\n
+ * A class to parse color values\n
+ * @author Stoyan Stefanov <sstoo@gmail.com>\n
+ * @link   http://www.phpied.com/rgb-color-parser-in-javascript/\n
+ * @license Use it if you like it\n
+ */\n
+function RGBColor(color_string)\n
+{\n
+    this.ok = false;\n
+\n
+    // strip any leading #\n
+    if (color_string.charAt(0) == \'#\') { // remove # if any\n
+        color_string = color_string.substr(1,6);\n
+    }\n
+\n
+    color_string = color_string.replace(/ /g,\'\');\n
+    color_string = color_string.toLowerCase();\n
+\n
+    // before getting into regexps, try simple matches\n
+    // and overwrite the input\n
+    var simple_colors = {\n
+        aliceblue: \'f0f8ff\',\n
+        antiquewhite: \'faebd7\',\n
+        aqua: \'00ffff\',\n
+        aquamarine: \'7fffd4\',\n
+        azure: \'f0ffff\',\n
+        beige: \'f5f5dc\',\n
+        bisque: \'ffe4c4\',\n
+        black: \'000000\',\n
+        blanchedalmond: \'ffebcd\',\n
+        blue: \'0000ff\',\n
+        blueviolet: \'8a2be2\',\n
+        brown: \'a52a2a\',\n
+        burlywood: \'deb887\',\n
+        cadetblue: \'5f9ea0\',\n
+        chartreuse: \'7fff00\',\n
+        chocolate: \'d2691e\',\n
+        coral: \'ff7f50\',\n
+        cornflowerblue: \'6495ed\',\n
+        cornsilk: \'fff8dc\',\n
+        crimson: \'dc143c\',\n
+        cyan: \'00ffff\',\n
+        darkblue: \'00008b\',\n
+        darkcyan: \'008b8b\',\n
+        darkgoldenrod: \'b8860b\',\n
+        darkgray: \'a9a9a9\',\n
+        darkgreen: \'006400\',\n
+        darkkhaki: \'bdb76b\',\n
+        darkmagenta: \'8b008b\',\n
+        darkolivegreen: \'556b2f\',\n
+        darkorange: \'ff8c00\',\n
+        darkorchid: \'9932cc\',\n
+        darkred: \'8b0000\',\n
+        darksalmon: \'e9967a\',\n
+        darkseagreen: \'8fbc8f\',\n
+        darkslateblue: \'483d8b\',\n
+        darkslategray: \'2f4f4f\',\n
+        darkturquoise: \'00ced1\',\n
+        darkviolet: \'9400d3\',\n
+        deeppink: \'ff1493\',\n
+        deepskyblue: \'00bfff\',\n
+        dimgray: \'696969\',\n
+        dodgerblue: \'1e90ff\',\n
+        feldspar: \'d19275\',\n
+        firebrick: \'b22222\',\n
+        floralwhite: \'fffaf0\',\n
+        forestgreen: \'228b22\',\n
+        fuchsia: \'ff00ff\',\n
+        gainsboro: \'dcdcdc\',\n
+        ghostwhite: \'f8f8ff\',\n
+        gold: \'ffd700\',\n
+        goldenrod: \'daa520\',\n
+        gray: \'808080\',\n
+        green: \'008000\',\n
+        greenyellow: \'adff2f\',\n
+        honeydew: \'f0fff0\',\n
+        hotpink: \'ff69b4\',\n
+        indianred : \'cd5c5c\',\n
+        indigo : \'4b0082\',\n
+        ivory: \'fffff0\',\n
+        khaki: \'f0e68c\',\n
+        lavender: \'e6e6fa\',\n
+        lavenderblush: \'fff0f5\',\n
+        lawngreen: \'7cfc00\',\n
+        lemonchiffon: \'fffacd\',\n
+        lightblue: \'add8e6\',\n
+        lightcoral: \'f08080\',\n
+        lightcyan: \'e0ffff\',\n
+        lightgoldenrodyellow: \'fafad2\',\n
+        lightgrey: \'d3d3d3\',\n
+        lightgreen: \'90ee90\',\n
+        lightpink: \'ffb6c1\',\n
+        lightsalmon: \'ffa07a\',\n
+        lightseagreen: \'20b2aa\',\n
+        lightskyblue: \'87cefa\',\n
+        lightslateblue: \'8470ff\',\n
+        lightslategray: \'778899\',\n
+        lightsteelblue: \'b0c4de\',\n
+        lightyellow: \'ffffe0\',\n
+        lime: \'00ff00\',\n
+        limegreen: \'32cd32\',\n
+        linen: \'faf0e6\',\n
+        magenta: \'ff00ff\',\n
+        maroon: \'800000\',\n
+        mediumaquamarine: \'66cdaa\',\n
+        mediumblue: \'0000cd\',\n
+        mediumorchid: \'ba55d3\',\n
+        mediumpurple: \'9370d8\',\n
+        mediumseagreen: \'3cb371\',\n
+        mediumslateblue: \'7b68ee\',\n
+        mediumspringgreen: \'00fa9a\',\n
+        mediumturquoise: \'48d1cc\',\n
+        mediumvioletred: \'c71585\',\n
+        midnightblue: \'191970\',\n
+        mintcream: \'f5fffa\',\n
+        mistyrose: \'ffe4e1\',\n
+        moccasin: \'ffe4b5\',\n
+        navajowhite: \'ffdead\',\n
+        navy: \'000080\',\n
+        oldlace: \'fdf5e6\',\n
+        olive: \'808000\',\n
+        olivedrab: \'6b8e23\',\n
+        orange: \'ffa500\',\n
+        orangered: \'ff4500\',\n
+        orchid: \'da70d6\',\n
+        palegoldenrod: \'eee8aa\',\n
+        palegreen: \'98fb98\',\n
+        paleturquoise: \'afeeee\',\n
+        palevioletred: \'d87093\',\n
+        papayawhip: \'ffefd5\',\n
+        peachpuff: \'ffdab9\',\n
+        peru: \'cd853f\',\n
+        pink: \'ffc0cb\',\n
+        plum: \'dda0dd\',\n
+        powderblue: \'b0e0e6\',\n
+        purple: \'800080\',\n
+        red: \'ff0000\',\n
+        rosybrown: \'bc8f8f\',\n
+        royalblue: \'4169e1\',\n
+        saddlebrown: \'8b4513\',\n
+        salmon: \'fa8072\',\n
+        sandybrown: \'f4a460\',\n
+        seagreen: \'2e8b57\',\n
+        seashell: \'fff5ee\',\n
+        sienna: \'a0522d\',\n
+        silver: \'c0c0c0\',\n
+        skyblue: \'87ceeb\',\n
+        slateblue: \'6a5acd\',\n
+        slategray: \'708090\',\n
+        snow: \'fffafa\',\n
+        springgreen: \'00ff7f\',\n
+        steelblue: \'4682b4\',\n
+        tan: \'d2b48c\',\n
+        teal: \'008080\',\n
+        thistle: \'d8bfd8\',\n
+        tomato: \'ff6347\',\n
+        turquoise: \'40e0d0\',\n
+        violet: \'ee82ee\',\n
+        violetred: \'d02090\',\n
+        wheat: \'f5deb3\',\n
+        white: \'ffffff\',\n
+        whitesmoke: \'f5f5f5\',\n
+        yellow: \'ffff00\',\n
+        yellowgreen: \'9acd32\'\n
+    };\n
+    for (var key in simple_colors) {\n
+        if (color_string == key) {\n
+            color_string = simple_colors[key];\n
+        }\n
+    }\n
+    // emd of simple type-in colors\n
+\n
+    // array of color definition objects\n
+    var color_defs = [\n
+        {\n
+            re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n
+            example: [\'rgb(123, 234, 45)\', \'rgb(255,234,245)\'],\n
+            process: function (bits){\n
+                return [\n
+                    parseInt(bits[1]),\n
+                    parseInt(bits[2]),\n
+                    parseInt(bits[3])\n
+];\n
+            }\n
+        },\n
+        {\n
+            re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n
+            example: [\'#00ff00\', \'336699\'],\n
+            process: function (bits){\n
+                return [\n
+                    parseInt(bits[1], 16),\n
+                    parseInt(bits[2], 16),\n
+                    parseInt(bits[3], 16)\n
+];\n
+            }\n
+        },\n
+        {\n
+            re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n
+            example: [\'#fb0\', \'f0f\'],\n
+            process: function (bits){\n
+                return [\n
+                    parseInt(bits[1] + bits[1], 16),\n
+                    parseInt(bits[2] + bits[2], 16),\n
+                    parseInt(bits[3] + bits[3], 16)\n
+];\n
+            }\n
+        }\n
+];\n
+\n
+    // search through the definitions to find a match\n
+    for (var i = 0; i < color_defs.length; i++) {\n
+        var re = color_defs[i].re;\n
+        var processor = color_defs[i].process;\n
+        var bits = re.exec(color_string);\n
+        if (bits) {\n
+            channels = processor(bits);\n
+            this.r = channels[0];\n
+            this.g = channels[1];\n
+            this.b = channels[2];\n
+            this.ok = true;\n
+        }\n
+\n
+    }\n
+\n
+    // validate/cleanup values\n
+    this.r = (this.r < 0 || isNaN(this.r)) ? 0 : ((this.r > 255) ? 255 : this.r);\n
+    this.g = (this.g < 0 || isNaN(this.g)) ? 0 : ((this.g > 255) ? 255 : this.g);\n
+    this.b = (this.b < 0 || isNaN(this.b)) ? 0 : ((this.b > 255) ? 255 : this.b);\n
+\n
+    // some getters\n
+    this.toRGB = function () {\n
+        return \'rgb(\' + this.r + \', \' + this.g + \', \' + this.b + \')\';\n
+    }\n
+    this.toHex = function () {\n
+        var r = this.r.toString(16);\n
+        var g = this.g.toString(16);\n
+        var b = this.b.toString(16);\n
+        if (r.length == 1) r = \'0\' + r;\n
+        if (g.length == 1) g = \'0\' + g;\n
+        if (b.length == 1) b = \'0\' + b;\n
+        return \'#\' + r + g + b;\n
+    }\n
+\n
+    // help\n
+    this.getHelpXML = function () {\n
+\n
+        var examples = new Array();\n
+        // add regexps\n
+        for (var i = 0; i < color_defs.length; i++) {\n
+            var example = color_defs[i].example;\n
+            for (var j = 0; j < example.length; j++) {\n
+                examples[examples.length] = example[j];\n
+            }\n
+        }\n
+        // add type-in colors\n
+        for (var sc in simple_colors) {\n
+            examples[examples.length] = sc;\n
+        }\n
+\n
+        var xml = document.createElement(\'ul\');\n
+        xml.setAttribute(\'id\', \'rgbcolor-examples\');\n
+        for (var i = 0; i < examples.length; i++) {\n
+            try {\n
+                var list_item = document.createElement(\'li\');\n
+                var list_color = new RGBColor(examples[i]);\n
+                var example_div = document.createElement(\'div\');\n
+                example_div.style.cssText =\n
+                        \'margin: 3px; \'\n
+                        + \'border: 1px solid black; \'\n
+                        + \'background:\' + list_color.toHex() + \'; \'\n
+                        + \'color:\' + list_color.toHex()\n
+                ;\n
+                example_div.appendChild(document.createTextNode(\'test\'));\n
+                var list_item_value = document.createTextNode(\n
+                    \' \' + examples[i] + \' -> \' + list_color.toRGB() + \' -> \' + list_color.toHex()\n
+                );\n
+                list_item.appendChild(example_div);\n
+                list_item.appendChild(list_item_value);\n
+                xml.appendChild(list_item);\n
+\n
+            } catch(e){}\n
+        }\n
+        return xml;\n
+\n
+    }\n
+\n
+}\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>8753</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/embedapi.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/embedapi.js.xml
new file mode 100644
index 0000000000..2660500ded
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/embedapi.js.xml
@@ -0,0 +1,201 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80046427.57</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>embedapi.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+function embedded_svg_edit(frame){\n
+  //initialize communication\n
+  this.frame = frame;\n
+  this.stack = []; //callback stack\n
+  \n
+  var editapi = this;\n
+  \n
+  window.addEventListener("message", function(e){\n
+    if(e.data.substr(0,5) == "ERROR"){\n
+      editapi.stack.splice(0,1)[0](e.data,"error")\n
+    }else{\n
+      editapi.stack.splice(0,1)[0](e.data)\n
+    }\n
+  }, false)\n
+}\n
+\n
+embedded_svg_edit.prototype.call = function(code, callback){\n
+  this.stack.push(callback);\n
+  this.frame.contentWindow.postMessage(code,"*");\n
+}\n
+\n
+embedded_svg_edit.prototype.getSvgString = function(callback){\n
+  this.call("svgCanvas.getSvgString()",callback)\n
+}\n
+\n
+embedded_svg_edit.prototype.setSvgString = function(svg){\n
+  this.call("svgCanvas.setSvgString(\'"+svg.replace(/\'/g, "\\\\\'")+"\')");\n
+}\n
+*/\n
+\n
+\n
+/*\n
+Embedded SVG-edit API\n
+\n
+General usage:\n
+- Have an iframe somewhere pointing to a version of svg-edit > r1000\n
+- Initialize the magic with:\n
+var svgCanvas = new embedded_svg_edit(window.frames[\'svgedit\']);\n
+- Pass functions in this format:\n
+svgCanvas.setSvgString("string")\n
+- Or if a callback is needed:\n
+svgCanvas.setSvgString("string")(function(data, error){\n
+  if(error){\n
+    //there was an error\n
+  }else{\n
+    //handle data\n
+  }\n
+})\n
+\n
+Everything is done with the same API as the real svg-edit, \n
+and all documentation is unchanged. The only difference is\n
+when handling returns, the callback notation is used instead. \n
+\n
+var blah = new embedded_svg_edit(window.frames[\'svgedit\']);\n
+blah.clearSelection("woot","blah",1337,[1,2,3,4,5,"moo"],-42,{a: "tree",b:6, c: 9})(function(){console.log("GET DATA",arguments)})\n
+*/\n
+\n
+function embedded_svg_edit(frame){\n
+  //initialize communication\n
+  this.frame = frame;\n
+  //this.stack = [] //callback stack\n
+  this.callbacks = {}; //successor to stack\n
+  this.encode = embedded_svg_edit.encode;\n
+  //List of functions extracted with this:\n
+  //Run in firebug on http://svg-edit.googlecode.com/svn/trunk/docs/files/svgcanvas-js.html\n
+  \n
+  //for(var i=0,q=[],f = document.querySelectorAll("div.CFunction h3.CTitle a");i<f.length;i++){q.push(f[i].name)};q\n
+  //var functions = ["clearSelection", "addToSelection", "removeFromSelection", "open", "save", "getSvgString", "setSvgString", "createLayer", "deleteCurrentLayer", "getNumLayers", "getLayer", "getCurrentLayer", "setCurrentLayer", "renameCurrentLayer", "setCurrentLayerPosition", "getLayerVisibility", "setLayerVisibility", "moveSelectedToLayer", "getLayerOpacity", "setLayerOpacity", "clear"];\n
+  \n
+  \n
+  //Newer, well, it extracts things that aren\'t documented as well. All functions accessible through the normal thingy can now be accessed though the API\n
+  //var l=[];for(var i in svgCanvas){if(typeof svgCanvas[i] == "function"){l.push(i)}};\n
+  //run in svgedit itself\n
+  var functions = ["updateElementFromJson", "embedImage", "fixOperaXML", "clearSelection", "addToSelection", "removeFromSelection", "addNodeToSelection", "open", "save", "getSvgString", "setSvgString", "createLayer", "deleteCurrentLayer", "getNumLayers", "getLayer", "getCurrentLayer", "setCurrentLayer", "renameCurrentLayer", "setCurrentLayerPosition", "getLayerVisibility", "setLayerVisibility", "moveSelectedToLayer", "getLayerOpacity", "setLayerOpacity", "clear", "clearPath", "getNodePoint", "clonePathNode", "deletePathNode", "getResolution", "getImageTitle", "setImageTitle", "setResolution", "setBBoxZoom", "setZoom", "getMode", "setMode", "getStrokeColor", "setStrokeColor", "getFillColor", "setFillColor", "setStrokePaint", "setFillPaint", "getStrokeWidth", "setStrokeWidth", "getStrokeStyle", "setStrokeStyle", "getOpacity", "setOpacity", "getFillOpacity", "setFillOpacity", "getStrokeOpacity", "setStrokeOpacity", "getTransformList", "getBBox", "getRotationAngle", "setRotationAngle", "each", "bind", "setIdPrefix", "getBold", "setBold", "getItalic", "setItalic", "getFontFamily", "setFontFamily", "getFontSize", "setFontSize", "getText", "setTextContent", "setImageURL", "setRectRadius", "setSegType", "quickClone", "beginUndoableChange", "changeSelectedAttributeNoUndo", "finishUndoableChange", "changeSelectedAttribute", "deleteSelectedElements", "groupSelectedElements", "ungroupSelectedElement", "moveToTopSelectedElement", "moveToBottomSelectedElement", "moveSelectedElements", "getStrokedBBox", "getVisibleElements", "cycleElement", "getUndoStackSize", "getRedoStackSize", "getNextUndoCommandText", "getNextRedoCommandText", "undo", "redo", "cloneSelectedElements", "alignSelectedElements", "getZoom", "getVersion", "setIconSize", "setLang", "setCustomHandlers"]\n
+  \n
+  //TODO: rewrite the following, it\'s pretty scary.\n
+  for(var i = 0; i < functions.length; i++){\n
+    this[functions[i]] = (function(d){\n
+      return function(){\n
+        var t = this //new callback\n
+        for(var g = 0, args = []; g < arguments.length; g++){\n
+          args.push(arguments[g]);\n
+        }\n
+        var cbid = t.send(d,args, function(){})  //the callback (currently it\'s nothing, but will be set later\n
+        \n
+        return function(newcallback){\n
+          t.callbacks[cbid] = newcallback; //set callback\n
+        }\n
+      }\n
+    })(functions[i])\n
+  }\n
+  //TODO: use AddEvent for Trident browsers, currently they dont support SVG, but they do support onmessage\n
+  var t = this;\n
+  window.addEventListener("message", function(e){\n
+    if(e.data.substr(0,4)=="SVGe"){ //because svg-edit is too longish\n
+      var data = e.data.substr(4);\n
+      var cbid = data.substr(0, data.indexOf(";"));\n
+      if(t.callbacks[cbid]){\n
+        if(data.substr(0,6) != "error:"){\n
+          t.callbacks[cbid](eval("("+data.substr(cbid.length+1)+")"))\n
+        }else{\n
+          t.callbacks[cbid](data, "error");\n
+        }\n
+      }\n
+    }\n
+    //this.stack.shift()[0](e.data,e.data.substr(0,5) == "ERROR"?\'error\':null) //replace with shift\n
+  }, false)\n
+}\n
+\n
+embedded_svg_edit.encode = function(obj){\n
+  //simple partial JSON encoder implementation\n
+  if(window.JSON && JSON.stringify) return JSON.stringify(obj);\n
+  var enc = arguments.callee; //for purposes of recursion\n
+  \n
+  if(typeof obj == "boolean" || typeof obj == "number"){\n
+      return obj+\'\' //should work...\n
+  }else if(typeof obj == "string"){\n
+    //a large portion of this is stolen from Douglas Crockford\'s json2.js\n
+    return \'"\'+\n
+          obj.replace(\n
+            /[\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g\n
+          , function (a) {\n
+            return \'\\\\u\' + (\'0000\' + a.charCodeAt(0).toString(16)).slice(-4);\n
+          })\n
+          +\'"\'; //note that this isn\'t quite as purtyful as the usualness\n
+  }else if(obj.length){ //simple hackish test for arrayish-ness\n
+    for(var i = 0; i < obj.length; i++){\n
+      obj[i] = enc(obj[i]); //encode every sub-thingy on top\n
+    }\n
+    return "["+obj.join(",")+"]";\n
+  }else{\n
+    var pairs = []; //pairs will be stored here\n
+    for(var k in obj){ //loop through thingys\n
+      pairs.push(enc(k)+":"+enc(obj[k])); //key: value\n
+    }\n
+    return "{"+pairs.join(",")+"}" //wrap in the braces\n
+  }\n
+}\n
+\n
+embedded_svg_edit.prototype.send = function(name, args, callback){\n
+  var cbid = Math.floor(Math.random()*31776352877+993577).toString();\n
+  //this.stack.push(callback);\n
+  this.callbacks[cbid] = callback;\n
+  for(var argstr = [], i = 0; i < args.length; i++){\n
+    argstr.push(this.encode(args[i]))\n
+  }\n
+  var t = this;\n
+  setTimeout(function(){//delay for the callback to be set in case its synchronous\n
+    t.frame.contentWindow.postMessage(cbid+";svgCanvas[\'"+name+"\']("+argstr.join(",")+")","*");\n
+  }, 0);\n
+  return cbid;\n
+  //this.stack.shift()("svgCanvas[\'"+name+"\']("+argstr.join(",")+")")\n
+}\n
+\n
+\n
+\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>7532</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions.xml
new file mode 100644
index 0000000000..a16c04da4b
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>extensions</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/TODO.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/TODO.xml
new file mode 100644
index 0000000000..fb0b8e51fc
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/TODO.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLDocument" module="OFS.DTMLDocument"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>TODO</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string>Change type of xml / svg stuff</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/closepath_icons.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/closepath_icons.svg.xml
new file mode 100644
index 0000000000..9b7af78a2a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/closepath_icons.svg.xml
@@ -0,0 +1,84 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80061401.32</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>closepath_icons.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<svg xmlns="http://www.w3.org/2000/svg">\n
+<g id="tool_closepath">\n
+<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <g>\n
+  <title>Layer 1</title>\n
+  <path stroke="#000" stroke-width="15" fill="#ffc8c8" d="m121.5,40l-84,106l27,115l166,2l29,-111"/>\n
+  <line x1="240" y1="136" x2="169.5" y2="74" stroke="#A00" stroke-width="25" fill="none"/>\n
+  <path stroke="none" fill ="#A00" d="m158,65l31,74l-3,-50l51,-3z"/>\n
+  <g stroke-width="15" stroke="#00f" fill="#0ff">\n
+  <circle r="30" cy="41" cx="123"/>\n
+  <circle r="30" cy="146" cx="40"/>\n
+  <circle r="30" cy="260" cx="69"/>\n
+  <circle r="30" cy="260" cx="228"/>\n
+  <circle r="30" cy="148" cx="260"/>\n
+  </g>\n
+ </g>\n
+</svg>\n
+</g>\n
+<g id="tool_openpath">\n
+<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <g>\n
+  <title>Layer 1</title>\n
+  <path stroke="#000" stroke-width="15" fill="#ffc8c8" d="m123.5,38l-84,106l27,115l166,2l29,-111"/>\n
+  <line x1="276.5" y1="153" x2="108.5" y2="24" stroke="#000" stroke-width="10" fill="none"/>\n
+  <g stroke-width="15" stroke="#00f" fill="#0ff">\n
+   <circle r="30" cy="41" cx="123"/>\n
+   <circle r="30" cy="146" cx="40"/>\n
+   <circle r="30" cy="260" cx="69"/>\n
+   <circle r="30" cy="260" cx="228"/>\n
+   <circle r="30" cy="148" cx="260"/>\n
+  </g>\n
+  <g  stroke="#A00" stroke-width="15" fill="none">\n
+   <line x1="168" y1="24" x2="210" y2="150"/>\n
+   <line x1="210" y1="24" x2="168" y2="150"/>\n
+  </g>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="svg_eof"/>\n
+</svg>
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1507</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-arrows.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-arrows.js.xml
new file mode 100644
index 0000000000..f8f92dd4d8
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-arrows.js.xml
@@ -0,0 +1,342 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80066299.89</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>ext-arrows.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * ext-arrows.js\n
+ *\n
+ * Licensed under the Apache License, Version 2\n
+ *\n
+ * Copyright(c) 2010 Alexis Deveria\n
+ *\n
+ */\n
+\n
+ \n
+svgEditor.addExtension("Arrows", function(S) {\n
+\t\tvar svgcontent = S.svgcontent,\n
+\t\t\taddElem = S.addSvgElementFromJson,\n
+\t\t\tnonce = S.nonce,\n
+\t\t\trandomize_ids = S.randomize_ids,\n
+\t\t\tselElems;\n
+\n
+\t\tsvgCanvas.bind(\'setarrownonce\', setArrowNonce);\n
+\t\tsvgCanvas.bind(\'unsetsetarrownonce\', unsetArrowNonce);\n
+\t\t\t\n
+\t\tvar lang_list = {\n
+\t\t\t"en":[\n
+\t\t\t\t{"id": "arrow_none", "textContent": "No arrow" }\n
+\t\t\t],\n
+\t\t\t"fr":[\n
+\t\t\t\t{"id": "arrow_none", "textContent": "Sans flèche" }\n
+\t\t\t]\n
+\t\t};\n
+\t\t\n
+\t\tvar prefix = \'se_arrow_\';\n
+\t\tif (randomize_ids) {\n
+\t\t  var arrowprefix = prefix + nonce + \'_\';\n
+\t\t} else {\n
+\t\t  var arrowprefix = prefix;\n
+\t\t}\n
+\n
+\t\tvar pathdata = {\n
+\t\t\tfw: {d:"m0,0l10,5l-10,5l5,-5l-5,-5z", refx:8,  id: arrowprefix + \'fw\'},\n
+\t\t\tbk: {d:"m10,0l-10,5l10,5l-5,-5l5,-5z", refx:2, id: arrowprefix + \'bk\'}\n
+\t\t}\n
+\t\t\n
+\t\tfunction setArrowNonce(window, n) {\n
+\t\t    randomize_ids = true;\n
+\t\t    arrowprefix = prefix + n + \'_\';\n
+ \t\t\tpathdata.fw.id = arrowprefix + \'fw\';\n
+\t\t\tpathdata.bk.id = arrowprefix + \'bk\';\n
+\t\t}\n
+\n
+\t\tfunction unsetArrowNonce(window) {\n
+\t\t    randomize_ids = false;\n
+\t\t    arrowprefix = prefix;\n
+ \t\t\tpathdata.fw.id = arrowprefix + \'fw\';\n
+\t\t\tpathdata.bk.id = arrowprefix + \'bk\';\n
+\t\t}\n
+\n
+\t\tfunction getLinked(elem, attr) {\n
+\t\t\tvar str = elem.getAttribute(attr);\n
+\t\t\tif(!str) return null;\n
+\t\t\tvar m = str.match(/\\(\\#(.*)\\)/);\n
+\t\t\tif(!m || m.length !== 2) {\n
+\t\t\t\treturn null;\n
+\t\t\t}\n
+\t\t\treturn S.getElem(m[1]);\n
+\t\t}\n
+\t\t\n
+\t\tfunction showPanel(on) {\n
+\t\t\t$(\'#arrow_panel\').toggle(on);\n
+\t\t\t\n
+\t\t\tif(on) {\n
+\t\t\t\tvar el = selElems[0];\n
+\t\t\t\tvar end = el.getAttribute("marker-end");\n
+\t\t\t\tvar start = el.getAttribute("marker-start");\n
+\t\t\t\tvar mid = el.getAttribute("marker-mid");\n
+\t\t\t\tvar val;\n
+\t\t\t\t\n
+\t\t\t\tif(end && start) {\n
+\t\t\t\t\tval = "both";\n
+\t\t\t\t} else if(end) {\n
+\t\t\t\t\tval = "end";\n
+\t\t\t\t} else if(start) {\n
+\t\t\t\t\tval = "start";\n
+\t\t\t\t} else if(mid) {\n
+\t\t\t\t\tval = "mid";\n
+\t\t\t\t\tif(mid.indexOf("bk") != -1) {\n
+\t\t\t\t\t\tval = "mid_bk";\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tif(!start && !mid && !end) {\n
+\t\t\t\t\tval = "none";\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t$("#arrow_list").val(val);\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\tfunction resetMarker() {\n
+\t\t\tvar el = selElems[0];\n
+\t\t\tel.removeAttribute("marker-start");\n
+\t\t\tel.removeAttribute("marker-mid");\n
+\t\t\tel.removeAttribute("marker-end");\n
+\t\t}\n
+\t\t\n
+\t\tfunction addMarker(dir, type, id) {\n
+\t\t\t// TODO: Make marker (or use?) per arrow type, since refX can be different\n
+\t\t\tid = id || arrowprefix + dir;\n
+\t\t\t\n
+\t\t\tvar marker = S.getElem(id);\n
+\n
+\t\t\tvar data = pathdata[dir];\n
+\t\t\t\n
+\t\t\tif(type == "mid") {\n
+\t\t\t\tdata.refx = 5;\n
+\t\t\t}\n
+\n
+\t\t\tif(!marker) {\n
+\t\t\t\tmarker = addElem({\n
+\t\t\t\t\t"element": "marker",\n
+\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t"viewBox": "0 0 10 10",\n
+\t\t\t\t\t\t"id": id,\n
+\t\t\t\t\t\t"refY": 5,\n
+\t\t\t\t\t\t"markerUnits": "strokeWidth",\n
+\t\t\t\t\t\t"markerWidth": 5,\n
+\t\t\t\t\t\t"markerHeight": 5,\n
+\t\t\t\t\t\t"orient": "auto",\n
+\t\t\t\t\t\t"style": "pointer-events:none" // Currently needed for Opera\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\tvar arrow = addElem({\n
+\t\t\t\t\t"element": "path",\n
+\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t"d": data.d,\n
+\t\t\t\t\t\t"fill": "#000000"\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\tmarker.appendChild(arrow);\n
+\t\t\t\tS.findDefs().appendChild(marker);\n
+\t\t\t} \n
+\t\t\t\n
+\t\t\tmarker.setAttribute(\'refX\', data.refx);\n
+\t\t\t\n
+\t\t\treturn marker;\n
+\t\t}\n
+\t\t\n
+\t\tfunction setArrow() {\n
+\t\t\tvar type = this.value;\n
+\t\t\tresetMarker();\n
+\t\t\n
+\t\t\tif(type == "none") {\n
+\t\t\t\treturn;\n
+\t\t\t}\n
+\t\t\n
+\t\t\t// Set marker on element\n
+\t\t\tvar dir = "fw";\n
+\t\t\tif(type == "mid_bk") {\n
+\t\t\t\ttype = "mid";\n
+\t\t\t\tdir = "bk";\n
+\t\t\t} else if(type == "both") {\n
+\t\t\t\taddMarker("bk", type);\n
+\t\t\t\tsvgCanvas.changeSelectedAttribute("marker-start", "url(#" + pathdata.bk.id + ")");\n
+\t\t\t\ttype = "end";\n
+\t\t\t\tdir = "fw";\n
+\t\t\t} else if (type == "start") {\n
+\t\t\t\tdir = "bk";\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\taddMarker(dir, type);\n
+\t\t\tsvgCanvas.changeSelectedAttribute("marker-"+type, "url(#" + pathdata[dir].id + ")");\n
+\t\t\tS.call("changed", selElems);\n
+\t\t}\n
+\t\t\n
+\t\tfunction colorChanged(elem) {\n
+\t\t\tvar color = elem.getAttribute(\'stroke\');\n
+\t\t\t\n
+\t\t\tvar mtypes = [\'start\',\'mid\',\'end\'];\n
+\t\t\tvar defs = S.findDefs();\n
+\t\t\t\n
+\t\t\t$.each(mtypes, function(i, type) {\n
+\t\t\t\tvar marker = getLinked(elem, \'marker-\'+type);\n
+\t\t\t\tif(!marker) return;\n
+\t\t\t\t\n
+\t\t\t\tvar cur_color = $(marker).children().attr(\'fill\');\n
+\t\t\t\tvar cur_d = $(marker).children().attr(\'d\');\n
+\t\t\t\tvar new_marker = null;\n
+\t\t\t\tif(cur_color === color) return;\n
+\t\t\t\t\n
+\t\t\t\tvar all_markers = $(defs).find(\'marker\');\n
+\t\t\t\t// Different color, check if already made\n
+\t\t\t\tall_markers.each(function() {\n
+\t\t\t\t\tvar attrs = $(this).children().attr([\'fill\', \'d\']);\n
+\t\t\t\t\tif(attrs.fill === color && attrs.d === cur_d) {\n
+\t\t\t\t\t\t// Found another marker with this color and this path\n
+\t\t\t\t\t\tnew_marker = this;\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tif(!new_marker) {\n
+\t\t\t\t\t// Create a new marker with this color\n
+\t\t\t\t\tvar last_id = marker.id;\n
+\t\t\t\t\tvar dir = last_id.indexOf(\'_fw\') !== -1?\'fw\':\'bk\';\n
+\t\t\t\t\t\n
+\t\t\t\t\tnew_marker = addMarker(dir, type, arrowprefix + dir + all_markers.length);\n
+\n
+\t\t\t\t\t$(new_marker).children().attr(\'fill\', color);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t$(elem).attr(\'marker-\'+type, "url(#" + new_marker.id + ")");\n
+\t\t\t\t\n
+\t\t\t\t// Check if last marker can be removed\n
+\t\t\t\tvar remove = true;\n
+\t\t\t\t$(S.svgcontent).find(\'line, polyline, path, polygon\').each(function() {\n
+\t\t\t\t\tvar elem = this;\n
+\t\t\t\t\t$.each(mtypes, function(j, mtype) {\n
+\t\t\t\t\t\tif($(elem).attr(\'marker-\' + mtype) === "url(#" + marker.id + ")") {\n
+\t\t\t\t\t\t\treturn remove = false;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\tif(!remove) return false;\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\t// Not found, so can safely remove\n
+\t\t\t\tif(remove) {\n
+\t\t\t\t\t$(marker).remove();\n
+\t\t\t\t}\n
+\n
+\t\t\t});\n
+\t\t\t\n
+\t\t}\n
+\t\t\n
+\t\treturn {\n
+\t\t\tname: "Arrows",\n
+\t\t\tcontext_tools: [{\n
+\t\t\t\ttype: "select",\n
+\t\t\t\tpanel: "arrow_panel",\n
+\t\t\t\ttitle: "Select arrow type",\n
+\t\t\t\tid: "arrow_list",\n
+\t\t\t\toptions: {\n
+\t\t\t\t\tnone: "No arrow",\n
+\t\t\t\t\tend: "----&gt;",\n
+\t\t\t\t\tstart: "&lt;----",\n
+\t\t\t\t\tboth: "&lt;---&gt;",\n
+\t\t\t\t\tmid: "--&gt;--",\n
+\t\t\t\t\tmid_bk: "--&lt;--"\n
+\t\t\t\t},\n
+\t\t\t\tdefval: "none",\n
+\t\t\t\tevents: {\n
+\t\t\t\t\tchange: setArrow\n
+\t\t\t\t}\n
+\t\t\t}],\n
+\t\t\tcallback: function() {\n
+\t\t\t\t$(\'#arrow_panel\').hide();\n
+\t\t\t\t// Set ID so it can be translated in locale file\n
+\t\t\t\t$(\'#arrow_list option\')[0].id = \'connector_no_arrow\';\n
+\t\t\t},\n
+\t\t\taddLangData: function(lang) {\n
+\t\t\t\treturn {\n
+\t\t\t\t\tdata: lang_list[lang]\n
+\t\t\t\t};\n
+\t\t\t},\n
+\t\t\tselectedChanged: function(opts) {\n
+\t\t\t\t\n
+\t\t\t\t// Use this to update the current selected elements\n
+\t\t\t\tselElems = opts.elems;\n
+\t\t\t\t\n
+\t\t\t\tvar i = selElems.length;\n
+\t\t\t\tvar marker_elems = [\'line\',\'path\',\'polyline\',\'polygon\'];\n
+\t\t\t\t\n
+\t\t\t\twhile(i--) {\n
+\t\t\t\t\tvar elem = selElems[i];\n
+\t\t\t\t\tif(elem && $.inArray(elem.tagName, marker_elems) != -1) {\n
+\t\t\t\t\t\tif(opts.selectedElement && !opts.multiselected) {\n
+\t\t\t\t\t\t\tshowPanel(true);\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\tshowPanel(false);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tshowPanel(false);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\telementChanged: function(opts) {\n
+\t\t\t\tvar elem = opts.elems[0];\n
+\t\t\t\tif(elem && (\n
+\t\t\t\t\telem.getAttribute("marker-start") ||\n
+\t\t\t\t\telem.getAttribute("marker-mid") ||\n
+\t\t\t\t\telem.getAttribute("marker-end")\n
+\t\t\t\t)) {\n
+\t// \t\t\t\t\t\t\t\tvar start = elem.getAttribute("marker-start");\n
+\t// \t\t\t\t\t\t\t\tvar mid = elem.getAttribute("marker-mid");\n
+\t// \t\t\t\t\t\t\t\tvar end = elem.getAttribute("marker-end");\n
+\t\t\t\t\t// Has marker, so see if it should match color\n
+\t\t\t\t\tcolorChanged(elem);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t}\n
+\t\t};\n
+});\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>7025</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-closepath.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-closepath.js.xml
new file mode 100644
index 0000000000..5d1a422596
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-closepath.js.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80066299.22</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>ext-closepath.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * ext-closepath.js\n
+ *\n
+ * Licensed under the Apache License, Version 2\n
+ *\n
+ * Copyright(c) 2010 Jeff Schiller\n
+ *\n
+ */\n
+\n
+// This extension adds a simple button to the contextual panel for paths\n
+// The button toggles whether the path is open or closed\n
+svgEditor.addExtension("ClosePath", function(S) {\n
+\t\tvar selElems,\n
+\t\t\tupdateButton = function(path) {\n
+\t\t\t\tvar seglist = path.pathSegList,\n
+\t\t\t\t\tclosed = seglist.getItem(seglist.numberOfItems - 1).pathSegType==1,\n
+\t\t\t\t\tshowbutton = closed ? \'#tool_openpath\' : \'#tool_closepath\',\n
+\t\t\t\t\thidebutton = closed ? \'#tool_closepath\' : \'#tool_openpath\';\n
+\t\t\t\t\t$(hidebutton).hide();\n
+\t\t\t\t\t$(showbutton).show();\n
+\t\t\t},\n
+\t\t\tshowPanel = function(on) {\n
+\t\t\t\t$(\'#closepath_panel\').toggle(on);\n
+\t\t\t\tif (on) {\n
+\t\t\t\t\tvar path = selElems[0];\n
+\t\t\t\t\tif (path) updateButton(path);\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\n
+\t\t\ttoggleClosed = function() {\n
+\t\t\t\tvar path = selElems[0];\n
+\t\t\t\tif (path) {\n
+\t\t\t\t\tvar seglist = path.pathSegList,\n
+\t\t\t\t\t\tlast = seglist.numberOfItems - 1;\t\t\t\t\t\n
+\t\t\t\t\t// is closed\n
+\t\t\t\t\tif(seglist.getItem(last).pathSegType == 1) {\n
+\t\t\t\t\t\tseglist.removeItem(last);\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse {\n
+\t\t\t\t\t\tseglist.appendItem(path.createSVGPathSegClosePath());\n
+\t\t\t\t\t}\n
+\t\t\t\t\tupdateButton(path);\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\treturn {\n
+\t\t\tname: "ClosePath",\n
+\t\t\tsvgicons: "jquery_plugin/svg-editor/extensions/closepath_icons.svg",\n
+\t\t\tbuttons: [{\n
+\t\t\t\tid: "tool_openpath",\n
+\t\t\t\ttype: "context",\n
+\t\t\t\tpanel: "closepath_panel",\n
+\t\t\t\ttitle: "Open path",\n
+\t\t\t\tevents: {\n
+\t\t\t\t\t\'click\': function() {\n
+\t\t\t\t\t\ttoggleClosed();\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\t{\n
+\t\t\t\tid: "tool_closepath",\n
+\t\t\t\ttype: "context",\n
+\t\t\t\tpanel: "closepath_panel",\n
+\t\t\t\ttitle: "Close path",\n
+\t\t\t\tevents: {\n
+\t\t\t\t\t\'click\': function() {\n
+\t\t\t\t\t\ttoggleClosed();\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}],\n
+\t\t\tcallback: function() {\n
+\t\t\t\t$(\'#closepath_panel\').hide();\n
+\t\t\t},\n
+\t\t\tselectedChanged: function(opts) {\n
+\t\t\t\tselElems = opts.elems;\n
+\t\t\t\tvar i = selElems.length;\n
+\t\t\t\t\n
+\t\t\t\twhile(i--) {\n
+\t\t\t\t\tvar elem = selElems[i];\n
+\t\t\t\t\tif(elem && elem.tagName == \'path\') {\n
+\t\t\t\t\t\tif(opts.selectedElement && !opts.multiselected) {\n
+\t\t\t\t\t\t\tshowPanel(true);\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\tshowPanel(false);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tshowPanel(false);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t};\n
+});\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>2131</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-connector.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-connector.js.xml
new file mode 100644
index 0000000000..7fb084a45d
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-connector.js.xml
@@ -0,0 +1,623 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80066568.68</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>ext-connector.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * ext-connector.js\n
+ *\n
+ * Licensed under the Apache License, Version 2\n
+ *\n
+ * Copyright(c) 2010 Alexis Deveria\n
+ *\n
+ */\n
+ \n
+svgEditor.addExtension("Connector", function(S) {\n
+\tvar svgcontent = S.svgcontent,\n
+\t\tsvgroot = S.svgroot,\n
+\t\tgetNextId = S.getNextId,\n
+\t\tgetElem = S.getElem,\n
+\t\taddElem = S.addSvgElementFromJson,\n
+\t\tselManager = S.selectorManager,\n
+\t\tcurConfig = svgEditor.curConfig,\n
+\t\tstarted = false,\n
+\t\tstart_x,\n
+\t\tstart_y,\n
+\t\tcur_line,\n
+\t\tstart_elem,\n
+\t\tend_elem,\n
+\t\tconnections = [],\n
+\t\tconn_sel = ".se_connector",\n
+\t\tse_ns,\n
+// \t\t\tconnect_str = "-SE_CONNECT-",\n
+\t\tselElems = [];\n
+\t\t\n
+\tvar lang_list = {\n
+\t\t"en":[\n
+\t\t\t{"id": "mode_connect", "title": "Connect two objects" }\n
+\t\t],\n
+\t\t"fr":[\n
+\t\t\t{"id": "mode_connect", "title": "Connecter deux objets"}\n
+\t\t]\n
+\t};\n
+\t\n
+\tfunction getOffset(side, line) {\n
+\t\tvar give_offset = !!line.getAttribute(\'marker-\' + side);\n
+// \t\tvar give_offset = $(line).data(side+\'_off\');\n
+\n
+\t\t// TODO: Make this number (5) be based on marker width/height\n
+\t\tvar size = line.getAttribute(\'stroke-width\') * 5;\n
+\t\treturn give_offset ? size : 0;\n
+\t}\n
+\t\n
+\tfunction showPanel(on) {\n
+\t\tvar conn_rules = $(\'#connector_rules\');\n
+\t\tif(!conn_rules.length) {\n
+\t\t\tconn_rules = $(\'<style id="connector_rules"><\\/style>\').appendTo(\'head\');\n
+\t\t} \n
+\t\tconn_rules.text(!on?"":"#tool_clone, #tool_topath, #tool_angle, #xy_panel { display: none !important; }");\n
+\t\t$(\'#connector_panel\').toggle(on);\n
+\t}\n
+\t\n
+\tfunction setPoint(elem, pos, x, y, setMid) {\n
+\t\tvar pts = elem.points;\n
+\t\tvar pt = svgroot.createSVGPoint();\n
+\t\tpt.x = x;\n
+\t\tpt.y = y;\n
+\t\tif(pos === \'end\') pos = pts.numberOfItems-1;\n
+\t\t// TODO: Test for this on init, then use alt only if needed\n
+\t\ttry {\n
+\t\t\tpts.replaceItem(pt, pos);\n
+\t\t} catch(err) {\n
+\t\t\t// Should only occur in FF which formats points attr as "n,n n,n", so just split\n
+\t\t\tvar pt_arr = elem.getAttribute("points").split(" ");\n
+\t\t\tfor(var i=0; i< pt_arr.length; i++) {\n
+\t\t\t\tif(i == pos) {\n
+\t\t\t\t\tpt_arr[i] = x + \',\' + y;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\telem.setAttribute("points",pt_arr.join(" ")); \n
+\t\t}\n
+\t\t\n
+\t\tif(setMid) {\n
+\t\t\t// Add center point\n
+\t\t\tvar pt_start = pts.getItem(0);\n
+\t\t\tvar pt_end = pts.getItem(pts.numberOfItems-1);\n
+\t\t\tsetPoint(elem, 1, (pt_end.x + pt_start.x)/2, (pt_end.y + pt_start.y)/2);\n
+\t\t}\n
+\t}\n
+\t\n
+\tfunction updateLine(diff_x, diff_y) {\n
+\t\t// Update line with element\n
+\t\tvar i = connections.length;\n
+\t\twhile(i--) {\n
+\t\t\tvar conn = connections[i];\n
+\t\t\tvar line = conn.connector;\n
+\t\t\tvar elem = conn.elem;\n
+\t\t\t\n
+\t\t\tvar pre = conn.is_start?\'start\':\'end\';\n
+// \t\t\t\t\t\tvar sw = line.getAttribute(\'stroke-width\') * 5;\n
+\t\t\t\n
+\t\t\t// Update bbox for this element\n
+\t\t\tvar bb = $(line).data(pre+\'_bb\');\n
+\t\t\tbb.x = conn.start_x + diff_x;\n
+\t\t\tbb.y = conn.start_y + diff_y;\n
+\t\t\t$(line).data(pre+\'_bb\', bb);\n
+\t\t\t\n
+\t\t\tvar alt_pre = conn.is_start?\'end\':\'start\';\n
+\t\t\t\n
+\t\t\t// Get center pt of connected element\n
+\t\t\tvar bb2 = $(line).data(alt_pre+\'_bb\');\n
+\t\t\tvar src_x = bb2.x + bb2.width/2;\n
+\t\t\tvar src_y = bb2.y + bb2.height/2;\n
+\t\t\t\n
+\t\t\t// Set point of element being moved\n
+\t\t\tvar pt = getBBintersect(src_x, src_y, bb, getOffset(pre, line)); // $(line).data(pre+\'_off\')?sw:0\n
+\t\t\tsetPoint(line, conn.is_start?0:\'end\', pt.x, pt.y, true);\n
+\t\t\t\n
+\t\t\t// Set point of connected element\n
+\t\t\tvar pt2 = getBBintersect(pt.x, pt.y, $(line).data(alt_pre + \'_bb\'), getOffset(alt_pre, line));\n
+\t\t\tsetPoint(line, conn.is_start?\'end\':0, pt2.x, pt2.y, true);\n
+\n
+\t\t}\n
+\t}\n
+\t\n
+\tfunction findConnectors(elems) {\n
+\t\tif(!elems) elems = selElems;\n
+\t\tvar connectors = $(svgcontent).find(conn_sel);\n
+\t\tconnections = [];\n
+\n
+\t\t// Loop through connectors to see if one is connected to the element\n
+\t\tconnectors.each(function() {\n
+\t\t\tvar start = $(this).data("c_start");\n
+\t\t\tvar end = $(this).data("c_end");\n
+\t\t\t\n
+\t\t\tvar parts = [getElem(start), getElem(end)];\n
+\t\t\tfor(var i=0; i<2; i++) {\n
+\t\t\t\tvar c_elem = parts[i];\n
+\t\t\t\tvar add_this = false;\n
+\t\t\t\t// The connected element might be part of a selected group\n
+\t\t\t\t$(c_elem).parents().each(function() {\n
+\t\t\t\t\tif($.inArray(this, elems) !== -1) {\n
+\t\t\t\t\t\t// Pretend this element is selected\n
+\t\t\t\t\t\tadd_this = true;\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tif(!c_elem || !c_elem.parentNode) {\n
+\t\t\t\t\t$(this).remove();\n
+\t\t\t\t\tcontinue;\n
+\t\t\t\t}\n
+\t\t\t\tif($.inArray(c_elem, elems) !== -1 || add_this) {\n
+\t\t\t\t\tvar bb = svgCanvas.getStrokedBBox([c_elem]);\n
+\t\t\t\t\tconnections.push({\n
+\t\t\t\t\t\telem: c_elem,\n
+\t\t\t\t\t\tconnector: this,\n
+\t\t\t\t\t\tis_start: (i === 0),\n
+\t\t\t\t\t\tstart_x: bb.x,\n
+\t\t\t\t\t\tstart_y: bb.y\n
+\t\t\t\t\t});\t\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t});\n
+\t}\n
+\t\n
+\tfunction updateConnectors(elems) {\n
+\t\t// Updates connector lines based on selected elements\n
+\t\t// Is not used on mousemove, as it runs getStrokedBBox every time,\n
+\t\t// which isn\'t necessary there.\n
+\t\tfindConnectors(elems);\n
+\t\tif(connections.length) {\n
+\t\t\t// Update line with element\n
+\t\t\tvar i = connections.length;\n
+\t\t\twhile(i--) {\n
+\t\t\t\tvar conn = connections[i];\n
+\t\t\t\tvar line = conn.connector;\n
+\t\t\t\tvar elem = conn.elem;\n
+\n
+\t\t\t\tvar sw = line.getAttribute(\'stroke-width\') * 5;\n
+\t\t\t\tvar pre = conn.is_start?\'start\':\'end\';\n
+\t\t\t\t\n
+\t\t\t\t// Update bbox for this element\n
+\t\t\t\tvar bb = svgCanvas.getStrokedBBox([elem]);\n
+\t\t\t\tbb.x = conn.start_x;\n
+\t\t\t\tbb.y = conn.start_y;\n
+\t\t\t\t$(line).data(pre+\'_bb\', bb);\n
+\t\t\t\tvar add_offset = $(line).data(pre+\'_off\');\n
+\t\t\t\n
+\t\t\t\tvar alt_pre = conn.is_start?\'end\':\'start\';\n
+\t\t\t\t\n
+\t\t\t\t// Get center pt of connected element\n
+\t\t\t\tvar bb2 = $(line).data(alt_pre+\'_bb\');\n
+\t\t\t\tvar src_x = bb2.x + bb2.width/2;\n
+\t\t\t\tvar src_y = bb2.y + bb2.height/2;\n
+\t\t\t\t\n
+\t\t\t\t// Set point of element being moved\n
+\t\t\t\tvar pt = getBBintersect(src_x, src_y, bb, getOffset(pre, line));\n
+\t\t\t\tsetPoint(line, conn.is_start?0:\'end\', pt.x, pt.y, true);\n
+\t\t\t\t\n
+\t\t\t\t// Set point of connected element\n
+\t\t\t\tvar pt2 = getBBintersect(pt.x, pt.y, $(line).data(alt_pre + \'_bb\'), getOffset(alt_pre, line));\n
+\t\t\t\tsetPoint(line, conn.is_start?\'end\':0, pt2.x, pt2.y, true);\n
+\t\t\t\t\n
+\t\t\t\t// Update points attribute manually for webkit\n
+\t\t\t\tif(navigator.userAgent.indexOf(\'AppleWebKit\') != -1) {\n
+\t\t\t\t\tvar pts = line.points;\n
+\t\t\t\t\tvar len = pts.numberOfItems;\n
+\t\t\t\t\tvar pt_arr = Array(len);\n
+\t\t\t\t\tfor(var j=0; j< len; j++) {\n
+\t\t\t\t\t\tvar pt = pts.getItem(j);\n
+\t\t\t\t\t\tpt_arr[j] = pt.x + \',\' + pt.y;\n
+\t\t\t\t\t}\t\n
+\t\t\t\t\tline.setAttribute("points",pt_arr.join(" ")); \n
+\t\t\t\t}\n
+\n
+\t\t\t}\n
+\t\t}\n
+\t}\n
+\t\n
+\tfunction getBBintersect(x, y, bb, offset) {\n
+\t\tif(offset) {\n
+\t\t\toffset -= 0;\n
+\t\t\tbb = $.extend({}, bb);\n
+\t\t\tbb.width += offset;\n
+\t\t\tbb.height += offset;\n
+\t\t\tbb.x -= offset/2;\n
+\t\t\tbb.y -= offset/2;\n
+\t\t}\n
+\t\n
+\t\tvar mid_x = bb.x + bb.width/2;\n
+\t\tvar mid_y = bb.y + bb.height/2;\n
+\t\tvar len_x = x - mid_x;\n
+\t\tvar len_y = y - mid_y;\n
+\t\t\n
+\t\tvar slope = Math.abs(len_y/len_x);\n
+\t\t\n
+\t\tvar ratio;\n
+\t\t\n
+\t\tif(slope < bb.height/bb.width) {\n
+\t\t\tratio = (bb.width/2) / Math.abs(len_x);\n
+\t\t} else {\n
+\t\t\tratio = (bb.height/2) / Math.abs(len_y);\n
+\t\t}\n
+\t\t\n
+\t\t\n
+\t\treturn {\n
+\t\t\tx: mid_x + len_x * ratio,\n
+\t\t\ty: mid_y + len_y * ratio\n
+\t\t}\n
+\t}\n
+\t\n
+\t// Do once\n
+\t(function() {\n
+\t\tvar gse = svgCanvas.groupSelectedElements;\n
+\t\t\n
+\t\tsvgCanvas.groupSelectedElements = function() {\n
+\t\t\tsvgCanvas.removeFromSelection($(conn_sel).toArray());\n
+\t\t\tgse();\n
+\t\t}\n
+\t\t\n
+\t\tvar mse = svgCanvas.moveSelectedElements;\n
+\t\t\n
+\t\tsvgCanvas.moveSelectedElements = function() {\n
+\t\t\tsvgCanvas.removeFromSelection($(conn_sel).toArray());\n
+\t\t\tmse.apply(this, arguments);\n
+\t\t\tupdateConnectors();\n
+\t\t}\n
+\t\t\n
+\t\tse_ns = svgCanvas.getEditorNS();\n
+\t}());\n
+\t\n
+\t// Do on reset\n
+\tfunction init() {\n
+\t\t// Make sure all connectors have data set\n
+\t\t$(svgcontent).find(\'*\').each(function() { \n
+\t\t\tvar conn = this.getAttributeNS(se_ns, "connector");\n
+\t\t\tif(conn) {\n
+\t\t\t\tthis.setAttribute(\'class\', conn_sel.substr(1));\n
+\t\t\t\tvar conn_data = conn.split(\' \');\n
+\t\t\t\tvar sbb = svgCanvas.getStrokedBBox([getElem(conn_data[0])]);\n
+\t\t\t\tvar ebb = svgCanvas.getStrokedBBox([getElem(conn_data[1])]);\n
+\t\t\t\t$(this).data(\'c_start\',conn_data[0])\n
+\t\t\t\t\t.data(\'c_end\',conn_data[1])\n
+\t\t\t\t\t.data(\'start_bb\', sbb)\n
+\t\t\t\t\t.data(\'end_bb\', ebb);\n
+\t\t\t\tsvgCanvas.getEditorNS(true);\n
+\t\t\t}\n
+\t\t});\n
+// \t\t\tupdateConnectors();\n
+\t}\n
+\t\n
+// \t\t$(svgroot).parent().mousemove(function(e) {\n
+// // \t\t\tif(started \n
+// // \t\t\t\t|| svgCanvas.getMode() != "connector"\n
+// // \t\t\t\t|| e.target.parentNode.parentNode != svgcontent) return;\n
+// \t\t\t\n
+// \t\t\tconsole.log(\'y\')\n
+// // \t\t\tif(e.target.parentNode.parentNode === svgcontent) {\n
+// // \t\t\t\t\t\n
+// // \t\t\t}\n
+// \t\t});\n
+\t\n
+\treturn {\n
+\t\tname: "Connector",\n
+\t\tsvgicons: "jquery_plugin/svg-editor/images/conn.svg",\n
+\t\tbuttons: [{\n
+\t\t\tid: "mode_connect",\n
+\t\t\ttype: "mode",\n
+\t\t\ticon: "jquery_plugin/svg-editor/images/cut.png",\n
+\t\t\ttitle: "Connect two objects",\n
+\t\t\tkey: "Shift+3",\n
+\t\t\tincludeWith: {\n
+\t\t\t\tbutton: \'#tool_line\',\n
+\t\t\t\tisDefault: false,\n
+\t\t\t\tposition: 1\n
+\t\t\t},\n
+\t\t\tevents: {\n
+\t\t\t\t\'click\': function() {\n
+\t\t\t\t\tsvgCanvas.setMode("connector");\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}],\n
+\t\taddLangData: function(lang) {\n
+\t\t\treturn {\n
+\t\t\t\tdata: lang_list[lang]\n
+\t\t\t};\n
+\t\t},\n
+\t\tmouseDown: function(opts) {\n
+\t\t\tvar e = opts.event;\n
+\t\t\tstart_x = opts.start_x,\n
+\t\t\tstart_y = opts.start_y;\n
+\t\t\tvar mode = svgCanvas.getMode();\n
+\t\t\t\n
+\t\t\tif(mode == "connector") {\n
+\t\t\t\t\n
+\t\t\t\tif(started) return;\n
+\t\t\t\t\n
+\t\t\t\tvar mouse_target = e.target;\n
+\t\t\t\t\n
+\t\t\t\tvar parents = $(mouse_target).parents();\n
+\t\t\t\t\n
+\t\t\t\tif($.inArray(svgcontent, parents) != -1) {\n
+\t\t\t\t\t// Connectable element\n
+\t\t\t\t\t\n
+\t\t\t\t\t// If child of foreignObject, use parent\n
+\t\t\t\t\tvar fo = $(mouse_target).closest("foreignObject");\n
+\t\t\t\t\tstart_elem = fo.length ? fo[0] : mouse_target;\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Get center of source element\n
+\t\t\t\t\tvar bb = svgCanvas.getStrokedBBox([start_elem]);\n
+\t\t\t\t\tvar x = bb.x + bb.width/2;\n
+\t\t\t\t\tvar y = bb.y + bb.height/2;\n
+\t\t\t\t\t\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tcur_line = addElem({\n
+\t\t\t\t\t\t"element": "polyline",\n
+\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t"id": getNextId(),\n
+\t\t\t\t\t\t\t"points": (x+\',\'+y+\' \'+x+\',\'+y+\' \'+start_x+\',\'+start_y),\n
+\t\t\t\t\t\t\t"stroke": \'#\' + curConfig.initStroke.color,\n
+\t\t\t\t\t\t\t"stroke-width": (!start_elem.stroke_width || start_elem.stroke_width == 0) ? curConfig.initStroke.width : start_elem.stroke_width,\n
+\t\t\t\t\t\t\t"fill": "none",\n
+\t\t\t\t\t\t\t"opacity": curConfig.initStroke.opacity,\n
+\t\t\t\t\t\t\t"style": "pointer-events:none"\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\t$(cur_line).data(\'start_bb\', bb);\n
+\t\t\t\t}\n
+\t\t\t\treturn {\n
+\t\t\t\t\tstarted: true\n
+\t\t\t\t};\n
+\t\t\t} else if(mode == "select") {\n
+\t\t\t\tfindConnectors();\n
+\t\t\t}\n
+\t\t},\n
+\t\tmouseMove: function(opts) {\n
+\t\t\tvar zoom = svgCanvas.getZoom();\n
+\t\t\tvar e = opts.event;\n
+\t\t\tvar x = opts.mouse_x/zoom;\n
+\t\t\tvar y = opts.mouse_y/zoom;\n
+\t\t\t\n
+\t\t\tvar\tdiff_x = x - start_x,\n
+\t\t\t\tdiff_y = y - start_y;\n
+\t\t\t\t\t\t\t\t\n
+\t\t\tvar mode = svgCanvas.getMode();\n
+\t\t\t\n
+\t\t\tif(mode == "connector" && started) {\n
+\t\t\t\t\n
+\t\t\t\tvar sw = cur_line.getAttribute(\'stroke-width\') * 3;\n
+\t\t\t\t// Set start point (adjusts based on bb)\n
+\t\t\t\tvar pt = getBBintersect(x, y, $(cur_line).data(\'start_bb\'), getOffset(\'start\', cur_line));\n
+\t\t\t\tstart_x = pt.x;\n
+\t\t\t\tstart_y = pt.y;\n
+\t\t\t\t\n
+\t\t\t\tsetPoint(cur_line, 0, pt.x, pt.y, true);\n
+\t\t\t\t\n
+\t\t\t\t// Set end point\n
+\t\t\t\tsetPoint(cur_line, \'end\', x, y, true);\n
+\t\t\t} else if(mode == "select") {\n
+\t\t\t\tvar slen = selElems.length;\n
+\t\t\t\t\n
+\t\t\t\twhile(slen--) {\n
+\t\t\t\t\tvar elem = selElems[slen];\n
+\t\t\t\t\t// Look for selected connector elements\n
+\t\t\t\t\tif(elem && $(elem).data(\'c_start\')) {\n
+\t\t\t\t\t\t// Remove the "translate" transform given to move\n
+\t\t\t\t\t\tsvgCanvas.removeFromSelection([elem]);\n
+\t\t\t\t\t\tsvgCanvas.getTransformList(elem).clear();\n
+\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\tif(connections.length) {\n
+\t\t\t\t\tupdateLine(diff_x, diff_y);\n
+\n
+\t\t\t\t\t\n
+\t\t\t\t}\n
+\t\t\t} \n
+\t\t},\n
+\t\tmouseUp: function(opts) {\n
+\t\t\tvar zoom = svgCanvas.getZoom();\n
+\t\t\tvar e = opts.event,\n
+\t\t\t\tx = opts.mouse_x/zoom,\n
+\t\t\t\ty = opts.mouse_y/zoom,\n
+\t\t\t\tmouse_target = e.target;\n
+\t\t\t\n
+\t\t\tif(svgCanvas.getMode() == "connector") {\n
+\t\t\t\tvar fo = $(mouse_target).closest("foreignObject");\n
+\t\t\t\tif(fo.length) mouse_target = fo[0];\n
+\t\t\t\t\n
+\t\t\t\tvar parents = $(mouse_target).parents();\n
+\n
+\t\t\t\tif(mouse_target == start_elem) {\n
+\t\t\t\t\t// Start line through click\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\treturn {\n
+\t\t\t\t\t\tkeep: true,\n
+\t\t\t\t\t\telement: null,\n
+\t\t\t\t\t\tstarted: started\n
+\t\t\t\t\t}\t\t\t\t\t\t\n
+\t\t\t\t} else if($.inArray(svgcontent, parents) === -1) {\n
+\t\t\t\t\t// Not a valid target element, so remove line\n
+\t\t\t\t\t$(cur_line).remove();\n
+\t\t\t\t\tstarted = false;\n
+\t\t\t\t\treturn {\n
+\t\t\t\t\t\tkeep: false,\n
+\t\t\t\t\t\telement: null,\n
+\t\t\t\t\t\tstarted: started\n
+\t\t\t\t\t}\n
+\t\t\t\t} else {\n
+\t\t\t\t\t// Valid end element\n
+\t\t\t\t\tend_elem = mouse_target;\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar start_id = start_elem.id, end_id = end_elem.id;\n
+\t\t\t\t\tvar conn_str = start_id + " " + end_id;\n
+\t\t\t\t\tvar alt_str = end_id + " " + start_id;\n
+\t\t\t\t\t// Don\'t create connector if one already exists\n
+\t\t\t\t\tvar dupe = $(svgcontent).find(conn_sel).filter(function() {\n
+\t\t\t\t\t\tvar conn = this.getAttributeNS(se_ns, "connector");\n
+\t\t\t\t\t\tif(conn == conn_str || conn == alt_str) return true;\n
+\t\t\t\t\t});\n
+\t\t\t\t\tif(dupe.length) {\n
+\t\t\t\t\t\t$(cur_line).remove();\n
+\t\t\t\t\t\treturn {\n
+\t\t\t\t\t\t\tkeep: false,\n
+\t\t\t\t\t\t\telement: null,\n
+\t\t\t\t\t\t\tstarted: false\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar bb = svgCanvas.getStrokedBBox([end_elem]);\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar pt = getBBintersect(start_x, start_y, bb, getOffset(\'start\', cur_line));\n
+\t\t\t\t\tsetPoint(cur_line, \'end\', pt.x, pt.y, true);\n
+\t\t\t\t\t$(cur_line)\n
+\t\t\t\t\t\t.data("c_start", start_id)\n
+\t\t\t\t\t\t.data("c_end", end_id)\n
+\t\t\t\t\t\t.data("end_bb", bb);\n
+\t\t\t\t\tse_ns = svgCanvas.getEditorNS(true);\n
+\t\t\t\t\tcur_line.setAttributeNS(se_ns, "se:connector", conn_str);\n
+\t\t\t\t\tcur_line.setAttribute(\'class\', conn_sel.substr(1));\n
+\t\t\t\t\tcur_line.setAttribute(\'opacity\', 1);\n
+\t\t\t\t\tsvgCanvas.addToSelection([cur_line]);\n
+\t\t\t\t\tsvgCanvas.moveToBottomSelectedElement();\n
+\t\t\t\t\tselManager.requestSelector(cur_line).showGrips(false);\n
+\t\t\t\t\tstarted = false;\n
+\t\t\t\t\treturn {\n
+\t\t\t\t\t\tkeep: true,\n
+\t\t\t\t\t\telement: cur_line,\n
+\t\t\t\t\t\tstarted: started\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t},\n
+\t\tselectedChanged: function(opts) {\n
+\t\t\t\n
+\t\t\t// Use this to update the current selected elements\n
+\t\t\tselElems = opts.elems;\n
+\t\t\t\n
+\t\t\tvar i = selElems.length;\n
+\t\t\t\n
+\t\t\twhile(i--) {\n
+\t\t\t\tvar elem = selElems[i];\n
+\t\t\t\tif(elem && $(elem).data(\'c_start\')) {\n
+\t\t\t\t\tselManager.requestSelector(elem).showGrips(false);\n
+\t\t\t\t\tif(opts.selectedElement && !opts.multiselected) {\n
+\t\t\t\t\t\t// TODO: Set up context tools and hide most regular line tools\n
+\t\t\t\t\t\tshowPanel(true);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tshowPanel(false);\n
+\t\t\t\t\t}\n
+\t\t\t\t} else {\n
+\t\t\t\t\tshowPanel(false);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\tupdateConnectors();\n
+\t\t},\n
+\t\telementChanged: function(opts) {\n
+\t\t\tvar elem = opts.elems[0];\n
+\t\t\tif (elem && elem.tagName == \'svg\' && elem.id == "svgcontent") {\n
+\t\t\t\t// Update svgcontent (can change on import)\n
+\t\t\t\tsvgcontent = elem;\n
+\t\t\t\tinit();\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// Has marker, so change offset\n
+\t\t\tif(elem && (\n
+\t\t\t\telem.getAttribute("marker-start") ||\n
+\t\t\t\telem.getAttribute("marker-mid") ||\n
+\t\t\t\telem.getAttribute("marker-end")\n
+\t\t\t)) {\n
+\t\t\t\tvar start = elem.getAttribute("marker-start");\n
+\t\t\t\tvar mid = elem.getAttribute("marker-mid");\n
+\t\t\t\tvar end = elem.getAttribute("marker-end");\n
+\t\t\t\tcur_line = elem;\n
+\t\t\t\t$(elem)\n
+\t\t\t\t\t.data("start_off", !!start)\n
+\t\t\t\t\t.data("end_off", !!end);\n
+\t\t\t\t\n
+\t\t\t\tif(elem.tagName == "line" && mid) {\n
+\t\t\t\t\t// Convert to polyline to accept mid-arrow\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar x1 = elem.getAttribute(\'x1\')-0;\n
+\t\t\t\t\tvar x2 = elem.getAttribute(\'x2\')-0;\n
+\t\t\t\t\tvar y1 = elem.getAttribute(\'y1\')-0;\n
+\t\t\t\t\tvar y2 = elem.getAttribute(\'y2\')-0;\n
+\t\t\t\t\tvar id = elem.id;\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar mid_pt = (\' \'+((x1+x2)/2)+\',\'+((y1+y2)/2) + \' \');\n
+\t\t\t\t\tvar pline = addElem({\n
+\t\t\t\t\t\t"element": "polyline",\n
+\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t"points": (x1+\',\'+y1+ mid_pt +x2+\',\'+y2),\n
+\t\t\t\t\t\t\t"stroke": elem.getAttribute(\'stroke\'),\n
+\t\t\t\t\t\t\t"stroke-width": elem.getAttribute(\'stroke-width\'),\n
+\t\t\t\t\t\t\t"marker-mid": mid,\n
+\t\t\t\t\t\t\t"fill": "none",\n
+\t\t\t\t\t\t\t"opacity": elem.getAttribute(\'opacity\') || 1\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\t$(elem).after(pline).remove();\n
+\t\t\t\t\tsvgCanvas.clearSelection();\n
+\t\t\t\t\tpline.id = id;\n
+\t\t\t\t\tsvgCanvas.addToSelection([pline]);\n
+\t\t\t\t\telem = pline;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t// Update line if it\'s a connector\n
+\t\t\tif(elem.getAttribute(\'class\') == conn_sel.substr(1)) {\n
+\t\t\t\tvar start = getElem($(elem).data(\'c_start\'));\n
+\t\t\t\tupdateConnectors([start]);\n
+\t\t\t} else {\n
+\t\t\t\tupdateConnectors();\n
+\t\t\t}\n
+\t\t},\n
+\t\ttoolButtonStateUpdate: function(opts) {\n
+\t\t\tif(opts.nostroke) {\n
+\t\t\t\tif ($(\'#mode_connect\').hasClass(\'tool_button_current\')) {\n
+\t\t\t\t\tclickSelect();\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t$(\'#mode_connect\')\n
+\t\t\t\t.toggleClass(\'disabled\',opts.nostroke);\n
+\t\t}\n
+\t};\n
+});\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>15647</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-eyedropper.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-eyedropper.js.xml
new file mode 100644
index 0000000000..a34624dd6c
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-eyedropper.js.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80066301.42</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>ext-eyedropper.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * ext-eyedropper.js\n
+ *\n
+ * Licensed under the Apache License, Version 2\n
+ *\n
+ * Copyright(c) 2010 Jeff Schiller\n
+ *\n
+ */\n
+\n
+svgEditor.addExtension("eyedropper", function(S) {\n
+\t\tvar svgcontent = S.svgcontent,\n
+\t\t\tsvgns = "http://www.w3.org/2000/svg",\n
+\t\t\tsvgdoc = S.svgroot.parentNode.ownerDocument,\n
+\t\t\tChangeElementCommand = svgCanvas.getPrivateMethods().ChangeElementCommand,\n
+\t\t\taddToHistory = svgCanvas.getPrivateMethods().addCommandToHistory,\n
+\t\t\tcurrentStyle = {fillPaint: "red", fillOpacity: 1.0,\n
+\t\t\t\t\t\t\tstrokePaint: "black", strokeOpacity: 1.0, \n
+\t\t\t\t\t\t\tstrokeWidth: 5, strokeDashArray: null,\n
+\t\t\t\t\t\t\topacity: 1.0,\n
+\t\t\t\t\t\t\tstrokeLinecap: \'butt\',\n
+\t\t\t\t\t\t\tstrokeLinejoin: \'miter\',\n
+\t\t\t\t\t\t\t};\n
+\t\t\t\t\t\t\t\n
+\t\tfunction getStyle(opts) {\n
+\t\t\t// if we are in eyedropper mode, we don\'t want to disable the eye-dropper tool\n
+\t\t\tvar mode = svgCanvas.getMode();\n
+\t\t\tif (mode == "eyedropper") return;\n
+\n
+\t\t\tvar elem = null;\n
+\t\t\tvar tool = $(\'#tool_eyedropper\');\n
+\t\t\t// enable-eye-dropper if one element is selected\n
+\t\t\tif (opts.elems.length == 1 && opts.elems[0] && \n
+\t\t\t\t$.inArray(opts.elems[0].nodeName, [\'svg\', \'g\', \'use\']) == -1) \n
+\t\t\t{\n
+\t\t\t\telem = opts.elems[0];\n
+\t\t\t\ttool.removeClass(\'disabled\');\n
+\t\t\t\t// grab the current style\n
+\t\t\t\tcurrentStyle.fillPaint = elem.getAttribute("fill") || "black";\n
+\t\t\t\tcurrentStyle.fillOpacity = elem.getAttribute("fill-opacity") || 1.0;\n
+\t\t\t\tcurrentStyle.strokePaint = elem.getAttribute("stroke");\n
+\t\t\t\tcurrentStyle.strokeOpacity = elem.getAttribute("stroke-opacity") || 1.0;\n
+\t\t\t\tcurrentStyle.strokeWidth = elem.getAttribute("stroke-width");\n
+\t\t\t\tcurrentStyle.strokeDashArray = elem.getAttribute("stroke-dasharray");\n
+\t\t\t\tcurrentStyle.strokeLinecap = elem.getAttribute("stroke-linecap");\n
+\t\t\t\tcurrentStyle.strokeLinejoin = elem.getAttribute("stroke-linejoin");\n
+\t\t\t\tcurrentStyle.opacity = elem.getAttribute("opacity") || 1.0;\n
+\t\t\t}\n
+\t\t\t// disable eye-dropper tool\n
+\t\t\telse {\n
+\t\t\t\ttool.addClass(\'disabled\');\n
+\t\t\t}\n
+\n
+\t\t}\n
+\t\t\n
+\t\treturn {\n
+\t\t\tname: "eyedropper",\n
+\t\t\tsvgicons: "jquery_plugin/svg-editor/extensions/eyedropper-icon.xml",\n
+\t\t\tbuttons: [{\n
+\t\t\t\tid: "tool_eyedropper",\n
+\t\t\t\ttype: "mode",\n
+\t\t\t\ttitle: "Eye Dropper Tool",\n
+\t\t\t\tevents: {\n
+\t\t\t\t\t"click": function() {\n
+\t\t\t\t\t\tsvgCanvas.setMode("eyedropper");\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}],\n
+\t\t\t\n
+\t\t\t// if we have selected an element, grab its paint and enable the eye dropper button\n
+\t\t\tselectedChanged: getStyle,\n
+\t\t\telementChanged: getStyle,\n
+\t\t\t\n
+\t\t\tmouseDown: function(opts) {\n
+\t\t\t\tvar mode = svgCanvas.getMode();\n
+\t\t\t\tif (mode == "eyedropper") {\n
+\t\t\t\t\tvar e = opts.event;\n
+\t\t\t\t\tvar target = e.target;\n
+\t\t\t\t\tif ($.inArray(target.nodeName, [\'svg\', \'g\', \'use\']) == -1) {\n
+\t\t\t\t\t\tvar changes = {};\n
+\n
+\t\t\t\t\t\tvar change = function(elem, attrname, newvalue) {\n
+\t\t\t\t\t\t\tchanges[attrname] = elem.getAttribute(attrname);\n
+\t\t\t\t\t\t\telem.setAttribute(attrname, newvalue);\n
+\t\t\t\t\t\t};\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tif (currentStyle.fillPaint) \t\tchange(target, "fill", currentStyle.fillPaint);\n
+\t\t\t\t\t\tif (currentStyle.fillOpacity) \t\tchange(target, "fill-opacity", currentStyle.fillOpacity);\n
+\t\t\t\t\t\tif (currentStyle.strokePaint) \t\tchange(target, "stroke", currentStyle.strokePaint);\n
+\t\t\t\t\t\tif (currentStyle.strokeOpacity) \tchange(target, "stroke-opacity", currentStyle.strokeOpacity);\n
+\t\t\t\t\t\tif (currentStyle.strokeWidth) \t\tchange(target, "stroke-width", currentStyle.strokeWidth);\n
+\t\t\t\t\t\tif (currentStyle.strokeDashArray) \tchange(target, "stroke-dasharray", currentStyle.strokeDashArray);\n
+\t\t\t\t\t\tif (currentStyle.opacity) \t\t\tchange(target, "opacity", currentStyle.opacity);\n
+\t\t\t\t\t\tif (currentStyle.strokeLinecap) \tchange(target, "stroke-linecap", currentStyle.strokeLinecap);\n
+\t\t\t\t\t\tif (currentStyle.strokeLinejoin) \tchange(target, "stroke-linejoin", currentStyle.strokeLinejoin);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\taddToHistory(new ChangeElementCommand(target, changes));\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t};\n
+});\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>3740</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-foreignobject.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-foreignobject.js.xml
new file mode 100644
index 0000000000..e7b4089ef0
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-foreignobject.js.xml
@@ -0,0 +1,321 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80066301.62</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>ext-foreignobject.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * ext-foreignobject.js\n
+ *\n
+ * Licensed under the Apache License, Version 2\n
+ *\n
+ * Copyright(c) 2010 Jacques Distler \n
+ * Copyright(c) 2010 Alexis Deveria \n
+ *\n
+ */\n
+\n
+svgEditor.addExtension("foreignObject", function(S) {\n
+\t\tvar svgcontent = S.svgcontent,\n
+\t\t\taddElem = S.addSvgElementFromJson,\n
+\t\t\tselElems,\n
+\t\t\tsvgns = "http://www.w3.org/2000/svg",\n
+\t\t\txlinkns = "http://www.w3.org/1999/xlink",\n
+\t\t\txmlns = "http://www.w3.org/XML/1998/namespace",\n
+\t\t\txmlnsns = "http://www.w3.org/2000/xmlns/",\n
+\t\t\tse_ns = "http://svg-edit.googlecode.com",\n
+\t\t\thtmlns = "http://www.w3.org/1999/xhtml",\n
+\t\t\tmathns = "http://www.w3.org/1998/Math/MathML",\n
+\t\t\teditingforeign = false,\n
+\t\t\tsvgdoc = S.svgroot.parentNode.ownerDocument,\n
+\t\t\tstarted,\n
+\t\t\tnewFO;\n
+\t\t\t\n
+\t\t\t\n
+\t\tvar properlySourceSizeTextArea = function(){\n
+\t\t\t// TODO: remove magic numbers here and get values from CSS\n
+\t\t\tvar height = $(\'#svg_source_container\').height() - 80;\n
+\t\t\t$(\'#svg_source_textarea\').css(\'height\', height);\n
+\t\t};\n
+\n
+\t\tfunction showPanel(on) {\n
+\t\t\tvar fc_rules = $(\'#fc_rules\');\n
+\t\t\tif(!fc_rules.length) {\n
+\t\t\t\tfc_rules = $(\'<style id="fc_rules"><\\/style>\').appendTo(\'head\');\n
+\t\t\t} \n
+\t\t\tfc_rules.text(!on?"":" #tool_topath { display: none !important; }");\n
+\t\t\t$(\'#foreignObject_panel\').toggle(on);\n
+\t\t}\n
+\n
+\t\tfunction toggleSourceButtons(on) {\n
+\t\t\t$(\'#tool_source_save, #tool_source_cancel\').toggle(!on);\n
+\t\t\t$(\'#foreign_save, #foreign_cancel\').toggle(on);\n
+\t\t}\n
+\t\t\n
+\t\t\t\n
+\t\t// Function: setForeignString(xmlString, elt)\n
+\t\t// This function sets the content of element elt to the input XML.\n
+\t\t//\n
+\t\t// Parameters:\n
+\t\t// xmlString - The XML text.\n
+\t\t// elt - the parent element to append to\n
+\t\t//\n
+\t\t// Returns:\n
+\t\t// This function returns false if the set was unsuccessful, true otherwise.\n
+\t\tfunction setForeignString(xmlString) {\n
+\t\t\tvar elt = selElems[0];\n
+\t\t\ttry {\n
+\t\t\t\t// convert string into XML document\n
+\t\t\t\tvar newDoc = Utils.text2xml(\'<svg xmlns="\'+svgns+\'" xmlns:xlink="\'+xlinkns+\'">\'+xmlString+\'</svg>\');\n
+\t\t\t\t// run it through our sanitizer to remove anything we do not support\n
+\t\t\t\tS.sanitizeSvg(newDoc.documentElement);\n
+\t\t\t\telt.parentNode.replaceChild(svgdoc.importNode(newDoc.documentElement.firstChild, true), elt);\n
+\t\t\t\tS.call("changed", [elt]);\n
+\t\t\t\tsvgCanvas.clearSelection();\n
+\t\t\t} catch(e) {\n
+\t\t\t\tconsole.log(e);\n
+\t\t\t\treturn false;\n
+\t\t\t}\n
+\t\n
+\t\t\treturn true;\n
+\t\t};\n
+\n
+\t\tfunction showForeignEditor() {\n
+\t\t\tvar elt = selElems[0];\n
+\t\t\tif (!elt || editingforeign) return;\n
+\t\t\teditingforeign = true;\n
+\t\t\ttoggleSourceButtons(true);\n
+\t\t\telt.removeAttribute(\'fill\');\n
+\n
+\t\t\tvar str = S.svgToString(elt, 0);\n
+\t\t\t$(\'#svg_source_textarea\').val(str);\n
+\t\t\t$(\'#svg_source_editor\').fadeIn();\n
+\t\t\tproperlySourceSizeTextArea();\n
+\t\t\t$(\'#svg_source_textarea\').focus();\n
+\t\t}\n
+\t\t\n
+\t\tfunction setAttr(attr, val) {\n
+\t\t\tsvgCanvas.changeSelectedAttribute(attr, val);\n
+\t\t\tS.call("changed", selElems);\n
+\t\t}\n
+\t\t\n
+\t\t\n
+\t\treturn {\n
+\t\t\tname: "foreignObject",\n
+\t\t\tsvgicons: "jquery_plugin/svg-editor/extensions/foreignobject-icons.xml",\n
+\t\t\tbuttons: [{\n
+\t\t\t\tid: "tool_foreign",\n
+\t\t\t\ttype: "mode",\n
+\t\t\t\ttitle: "Foreign Object Tool",\n
+\t\t\t\tevents: {\n
+\t\t\t\t\t\'click\': function() {\n
+\t\t\t\t\t\tsvgCanvas.setMode(\'foreign\')\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t},{\n
+\t\t\t\tid: "edit_foreign",\n
+\t\t\t\ttype: "context",\n
+\t\t\t\tpanel: "foreignObject_panel",\n
+\t\t\t\ttitle: "Edit ForeignObject Content",\n
+\t\t\t\tevents: {\n
+\t\t\t\t\t\'click\': function() {\n
+\t\t\t\t\t\tshowForeignEditor();\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}],\n
+\t\t\t\n
+\t\t\tcontext_tools: [{\n
+\t\t\t\ttype: "input",\n
+\t\t\t\tpanel: "foreignObject_panel",\n
+\t\t\t\ttitle: "Change foreignObject\'s width",\n
+\t\t\t\tid: "foreign_width",\n
+\t\t\t\tlabel: "w",\n
+\t\t\t\tsize: 3,\n
+\t\t\t\tevents: {\n
+\t\t\t\t\tchange: function() {\n
+\t\t\t\t\t\tsetAttr(\'width\', this.value);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t},{\n
+\t\t\t\ttype: "input",\n
+\t\t\t\tpanel: "foreignObject_panel",\n
+\t\t\t\ttitle: "Change foreignObject\'s height",\n
+\t\t\t\tid: "foreign_height",\n
+\t\t\t\tlabel: "h",\n
+\t\t\t\tevents: {\n
+\t\t\t\t\tchange: function() {\n
+\t\t\t\t\t\tsetAttr(\'height\', this.value);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}, {\n
+\t\t\t\ttype: "input",\n
+\t\t\t\tpanel: "foreignObject_panel",\n
+\t\t\t\ttitle: "Change foreignObject\'s font size",\n
+\t\t\t\tid: "foreign_font_size",\n
+\t\t\t\tlabel: "font-size",\n
+\t\t\t\tsize: 2,\n
+\t\t\t\tdefval: 16,\n
+\t\t\t\tevents: {\n
+\t\t\t\t\tchange: function() {\n
+\t\t\t\t\t\tsetAttr(\'font-size\', this.value);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t\n
+\t\t\t],\n
+\t\t\tcallback: function() {\n
+\t\t\t\t$(\'#foreignObject_panel\').hide();\n
+\n
+\t\t\t\tvar endChanges = function() {\n
+\t\t\t\t\t$(\'#svg_source_editor\').hide();\n
+\t\t\t\t\teditingforeign = false;\n
+\t\t\t\t\t$(\'#svg_source_textarea\').blur();\n
+\t\t\t\t\ttoggleSourceButtons(false);\n
+\t\t\t\t}\n
+\n
+\t\t\t\t// TODO: Needs to be done after orig icon loads\n
+\t\t\t\tsetTimeout(function() {\t\t\t\t\n
+\t\t\t\t\t// Create source save/cancel buttons\n
+\t\t\t\t\tvar save = $(\'#tool_source_save\').clone()\n
+\t\t\t\t\t\t.hide().attr(\'id\', \'foreign_save\').unbind()\n
+\t\t\t\t\t\t.appendTo("#tool_source_back").click(function() {\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tif (!editingforeign) return;\n
+\n
+\t\t\t\t\t\t\tif (!setForeignString($(\'#svg_source_textarea\').val())) {\n
+\t\t\t\t\t\t\t\t$.confirm("Errors found. Revert to original?", function(ok) {\n
+\t\t\t\t\t\t\t\t\tif(!ok) return false;\n
+\t\t\t\t\t\t\t\t\tendChanges();\n
+\t\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\tendChanges();\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t// setSelectMode();\t\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\n
+\t\t\t\t\tvar cancel = $(\'#tool_source_cancel\').clone()\n
+\t\t\t\t\t\t.hide().attr(\'id\', \'foreign_cancel\').unbind()\n
+\t\t\t\t\t\t.appendTo("#tool_source_back").click(function() {\n
+\t\t\t\t\t\t\tendChanges();\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\n
+\t\t\t\t}, 3000);\n
+\t\t\t},\n
+\t\t\tmouseDown: function(opts) {\n
+\t\t\t\tvar e = opts.event;\n
+\t\t\t\t\n
+\t\t\t\tif(svgCanvas.getMode() == "foreign") {\n
+\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tnewFO = S.addSvgElementFromJson({\n
+\t\t\t\t\t\t"element": "foreignObject",\n
+\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t"x": opts.start_x,\n
+\t\t\t\t\t\t\t"y": opts.start_y,\n
+\t\t\t\t\t\t\t"id": S.getNextId(),\n
+\t\t\t\t\t\t\t"font-size": 16, //cur_text.font_size,\n
+\t\t\t\t\t\t\t"width": "48",\n
+\t\t\t\t\t\t\t"height": "20",\n
+\t\t\t\t\t\t\t"style": "pointer-events:inherit"\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\tvar m = svgdoc.createElementNS(mathns, \'math\');\n
+\t\t\t\t\tm.setAttributeNS(xmlnsns, \'xmlns\', mathns);\n
+\t\t\t\t\tm.setAttribute(\'display\', \'inline\');\n
+\t\t\t\t\tvar mi = svgdoc.createElementNS(mathns, \'mi\');\n
+\t\t\t\t\tmi.setAttribute(\'mathvariant\', \'normal\');\n
+\t\t\t\t\tmi.textContent = "\\u03A6";\n
+\t\t\t\t\tvar mo = svgdoc.createElementNS(mathns, \'mo\');\n
+\t\t\t\t\tmo.textContent = "\\u222A";\n
+\t\t\t\t\tvar mi2 = svgdoc.createElementNS(mathns, \'mi\');\n
+\t\t\t\t\tmi2.textContent = "\\u2133";\n
+\t\t\t\t\tm.appendChild(mi);\n
+\t\t\t\t\tm.appendChild(mo);\n
+\t\t\t\t\tm.appendChild(mi2);\n
+\t\t\t\t\tnewFO.appendChild(m);\n
+\t\t\t\t\treturn {\n
+\t\t\t\t\t\tstarted: true\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\tmouseUp: function(opts) {\n
+\t\t\t\tvar e = opts.event;\n
+\t\t\t\tif(svgCanvas.getMode() == "foreign" && started) {\n
+\t\t\t\t\tvar attrs = $(newFO).attr(["width", "height"]);\n
+\t\t\t\t\tkeep = (attrs.width != 0 || attrs.height != 0);\n
+\t\t\t\t\tsvgCanvas.addToSelection([newFO], true);\n
+\n
+\t\t\t\t\treturn {\n
+\t\t\t\t\t\tkeep: keep,\n
+\t\t\t\t\t\telement: newFO\n
+\t\t\t\t\t}\n
+\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t},\n
+\t\t\tselectedChanged: function(opts) {\n
+\t\t\t\t// Use this to update the current selected elements\n
+\t\t\t\tselElems = opts.elems;\n
+\t\t\t\t\n
+\t\t\t\tvar i = selElems.length;\n
+\t\t\t\t\n
+\t\t\t\twhile(i--) {\n
+\t\t\t\t\tvar elem = selElems[i];\n
+\t\t\t\t\tif(elem && elem.tagName == "foreignObject") {\n
+\t\t\t\t\t\tif(opts.selectedElement && !opts.multiselected) {\n
+\t\t\t\t\t\t\t$(\'#foreign_font_size\').val(elem.getAttribute("font-size"));\n
+\t\t\t\t\t\t\t$(\'#foreign_width\').val(elem.getAttribute("width"));\n
+\t\t\t\t\t\t\t$(\'#foreign_height\').val(elem.getAttribute("height"));\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tshowPanel(true);\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\tshowPanel(false);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tshowPanel(false);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\telementChanged: function(opts) {\n
+\t\t\t\tvar elem = opts.elems[0];\n
+\t\t\t}\n
+\t\t};\n
+});\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>7267</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-helloworld.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-helloworld.js.xml
new file mode 100644
index 0000000000..4f79d2218b
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-helloworld.js.xml
@@ -0,0 +1,118 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80066302.54</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>ext-helloworld.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>/*\n
+ * ext-helloworld.js\n
+ *\n
+ * Licensed under the Apache License, Version 2\n
+ *\n
+ * Copyright(c) 2010 Alexis Deveria\n
+ *\n
+ */\n
+ \n
+/* \n
+\tThis is a very basic SVG-Edit extension. It adds a "Hello World" button in\n
+\tthe left panel. Clicking on the button, and then the canvas will show the\n
+ \tuser the point on the canvas that was clicked on.\n
+*/\n
+ \n
+svgEditor.addExtension("Hello World", function() {\n
+\n
+\t\treturn {\n
+\t\t\tname: "Hello World",\n
+\t\t\t// For more notes on how to make an icon file, see the source of\n
+\t\t\t// the hellorworld-icon.xml\n
+\t\t\tsvgicons: "jquery_plugin/svg-editor/extensions/helloworld-icon.xml",\n
+\t\t\t\n
+\t\t\t// Multiple buttons can be added in this array\n
+\t\t\tbuttons: [{\n
+\t\t\t\t// Must match the icon ID in helloworld-icon.xml\n
+\t\t\t\tid: "hello_world", \n
+\t\t\t\t\n
+\t\t\t\t// This indicates that the button will be added to the "mode"\n
+\t\t\t\t// button panel on the left side\n
+\t\t\t\ttype: "mode", \n
+\t\t\t\t\n
+\t\t\t\t// Tooltip text\n
+\t\t\t\ttitle: "Say \'Hello World\'", \n
+\t\t\t\t\n
+\t\t\t\t// Events\n
+\t\t\t\tevents: {\n
+\t\t\t\t\t\'click\': function() {\n
+\t\t\t\t\t\t// The action taken when the button is clicked on.\n
+\t\t\t\t\t\t// For "mode" buttons, any other button will \n
+\t\t\t\t\t\t// automatically be de-pressed.\n
+\t\t\t\t\t\tsvgCanvas.setMode("hello_world");\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}],\n
+\t\t\t// This is triggered when the main mouse button is pressed down \n
+\t\t\t// on the editor canvas (not the tool panels)\n
+\t\t\tmouseDown: function() {\n
+\t\t\t\t// Check the mode on mousedown\n
+\t\t\t\tif(svgCanvas.getMode() == "hello_world") {\n
+\t\t\t\t\n
+\t\t\t\t\t// The returned object must include "started" with \n
+\t\t\t\t\t// a value of true in order for mouseUp to be triggered\n
+\t\t\t\t\treturn {started: true};\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\t\n
+\t\t\t// This is triggered from anywhere, but "started" must have been set\n
+\t\t\t// to true (see above). Note that "opts" is an object with event info\n
+\t\t\tmouseUp: function(opts) {\n
+\t\t\t\t// Check the mode on mouseup\n
+\t\t\t\tif(svgCanvas.getMode() == "hello_world") {\n
+\t\t\t\t\tvar zoom = svgCanvas.getZoom();\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Get the actual coordinate by dividing by the zoom value\n
+\t\t\t\t\tvar x = opts.mouse_x / zoom;\n
+\t\t\t\t\tvar y = opts.mouse_y / zoom;\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar text = "Hello World!\\n\\nYou clicked here: " \n
+\t\t\t\t\t\t+ x + ", " + y;\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t// Show the text using the custom alert function\n
+\t\t\t\t\t$.alert(text);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t};\n
+});\n
+\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>2198</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-markers.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-markers.js.xml
new file mode 100644
index 0000000000..3a0f7073d9
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/ext-markers.js.xml
@@ -0,0 +1,616 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80066303.91</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>ext-markers.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * ext-markers.js\n
+ *\n
+ * Licensed under the Apache License, Version 2\n
+ *\n
+ * Copyright(c) 2010 Will Schleter \n
+ *   based on ext-arrows.js by Copyright(c) 2010 Alexis Deveria\n
+ *\n
+ * This extension provides for the addition of markers to the either end\n
+ * or the middle of a line, polyline, path, polygon. \n
+ * \n
+ * Markers may be either a graphic or arbitary text\n
+ * \n
+ * to simplify the coding and make the implementation as robust as possible,\n
+ * markers are not shared - every object has its own set of markers.\n
+ * this relationship is maintained by a naming convention between the\n
+ * ids of the markers and the ids of the object\n
+ * \n
+ * The following restrictions exist for simplicty of use and programming\n
+ *    objects and their markers to have the same color\n
+ *    marker size is fixed\n
+ *    text marker font, size, and attributes are fixed\n
+ *    an application specific attribute - se_type - is added to each marker element\n
+ *        to store the type of marker\n
+ *        \n
+ * TODO:\n
+ *    remove some of the restrictions above\n
+ *    add option for keeping text aligned to horizontal\n
+ *    add support for dimension extension lines\n
+ *\n
+ */\n
+\n
+svgEditor.addExtension("Markers", function(S) {\n
+\tvar svgcontent = S.svgcontent,\n
+\taddElem = S.addSvgElementFromJson,\n
+\tselElems;\n
+\n
+\tvar mtypes = [\'start\',\'mid\',\'end\'];\n
+\n
+\tvar marker_prefix = \'se_marker_\';\n
+\tvar id_prefix = \'mkr_\';\n
+\t\t\n
+\t// note - to add additional marker types add them below with a unique id\n
+\t// and add the associated icon(s) to marker-icons.svg\n
+\t// the geometry is normallized to a 100x100 box with the origin at lower left\n
+\t// Safari did not like negative values for low left of viewBox\n
+\t// remember that the coordinate system has +y downward\n
+\tvar marker_types = {\n
+\t\tnomarker: {},  \n
+\t\tleftarrow:  \n
+\t\t\t{element:\'path\', attr:{d:\'M0,50 L100,90 L70,50 L100,10 Z\'}},\n
+\t\trightarrow:\n
+\t\t\t{element:\'path\', attr:{d:\'M100,50 L0,90 L30,50 L0,10 Z\'}},\n
+\t\ttextmarker:\n
+\t\t\t{element:\'text\', attr: {x:0, y:0,\'stroke-width\':0,\'stroke\':\'none\',\'font-size\':75,\'font-family\':\'serif\',\'text-anchor\':\'left\',\n
+\t\t\t\t\'xml:space\': \'preserve\'}},\n
+\t\tforwardslash:\n
+\t\t\t{element:\'path\', attr:{d:\'M30,100 L70,0\'}},\n
+\t\treverseslash:\n
+\t\t\t{element:\'path\', attr:{d:\'M30,0 L70,100\'}},\n
+\t\tverticalslash:\n
+\t\t\t{element:\'path\', attr:{d:\'M50,0 L50,100\'}},\n
+\t\tbox:\n
+\t\t\t{element:\'path\', attr:{d:\'M20,20 L20,80 L80,80 L80,20 Z\'}},\n
+\t\tstar:\n
+\t\t\t{element:\'path\', attr:{d:\'M10,30 L90,30 L20,90 L50,10 L80,90 Z\'}},\n
+\t\txmark:\n
+\t\t\t{element:\'path\', attr:{d:\'M20,80 L80,20 M80,80 L20,20\'}},\n
+\t\ttriangle:\n
+\t\t\t{element:\'path\', attr:{d:\'M10,80 L50,20 L80,80 Z\'}},\n
+\t\tmcircle:\n
+\t\t\t{element:\'circle\', attr:{r:30, cx:50, cy:50}},\t\t\t\n
+\t}\n
+\t\n
+\t\n
+\tvar lang_list = {\n
+\t\t"en":[\n
+\t\t\t{id: "start_marker_list", title: "Select start marker type" },\n
+\t\t\t{id: "mid_marker_list", title: "Select mid marker type" },\n
+\t\t\t{id: "end_marker_list", title: "Select end marker type" },\n
+\t\t\t{id: "nomarker", title: "No Marker" },\n
+\t\t\t{id: "leftarrow", title: "Left Arrow" },\n
+\t\t\t{id: "rightarrow", title: "Right Arrow" },\n
+\t\t\t{id: "textmarker", title: "Text Marker" },\n
+\t\t\t{id: "forwardslash", title: "Forward Slash" },\n
+\t\t\t{id: "reverseslash", title: "Reverse Slash" },\n
+\t\t\t{id: "verticalslash", title: "Vertical Slash" },\n
+\t\t\t{id: "box", title: "Box" },\n
+\t\t\t{id: "star", title: "Star" },\n
+\t\t\t{id: "xmark", title: "X" },\n
+\t\t\t{id: "triangle", title: "Triangle" },\n
+\t\t\t{id: "mcircle", title: "Circle" },\n
+\t\t\t{id: "leftarrow_o", title: "Open Left Arrow" },\n
+\t\t\t{id: "rightarrow_o", title: "Open Right Arrow" },\n
+\t\t\t{id: "box_o", title: "Open Box" },\n
+\t\t\t{id: "star_o", title: "Open Star" },\n
+\t\t\t{id: "triangle_o", title: "Open Triangle" },\n
+\t\t\t{id: "mcircle_o", title: "Open Circle" },\n
+\t\t]\n
+\t};\n
+\n
+\n
+\t// duplicate shapes to support unfilled (open) marker types with an _o suffix\n
+\t$.each([\'leftarrow\',\'rightarrow\',\'box\',\'star\',\'mcircle\',\'triangle\'],function(i,v) {\n
+\t\tmarker_types[v+\'_o\'] = marker_types[v];\n
+\t});\n
+\t\n
+\t// elem = a graphic element will have an attribute like marker-start\n
+\t// attr - marker-start, marker-mid, or marker-end\n
+\t// returns the marker element that is linked to the graphic element\n
+\tfunction getLinked(elem, attr) {\n
+\t\tvar str = elem.getAttribute(attr);\n
+\t\tif(!str) return null;\n
+\t\tvar m = str.match(/\\(\\#(.*)\\)/);\n
+\t\tif(!m || m.length !== 2) {\n
+\t\t\treturn null;\n
+\t\t}\n
+\t\treturn S.getElem(m[1]);\n
+\t}\n
+\n
+\t//toggles context tool panel off/on\n
+\t//sets the controls with the selected element\'s settings\n
+\tfunction showPanel(on) {\n
+\t\t$(\'#marker_panel\').toggle(on);\n
+\n
+\t\tif(on) {\n
+\t\t\tvar el = selElems[0];\n
+\t\t\tvar val;\n
+\t\t\tvar ci;\n
+\n
+\t\t\t$.each(mtypes, function(i, pos) {\n
+\t\t\t\tvar m=getLinked(el,"marker-"+pos);\n
+\t\t\t\tvar txtbox = $(\'#\'+pos+\'_marker\');\n
+\t\t\t\tif (!m) {\n
+\t\t\t\t\tval=\'\\\\nomarker\';\n
+\t\t\t\t\tci=val;\n
+\t\t\t\t\ttxtbox.hide() // hide text box\n
+\t\t\t\t} else {\n
+\t\t\t\t\tif (!m.attributes.se_type) return; // not created by this extension\n
+\t\t\t\t\tval=\'\\\\\'+m.attributes.se_type.textContent;\n
+\t\t\t\t\tci=val;\n
+\t\t\t\t\tif (val==\'\\\\textmarker\') {\n
+\t\t\t\t\t\tval=m.lastChild.textContent;\n
+\t\t\t\t\t\t//txtbox.show(); // show text box\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\ttxtbox.hide() // hide text box\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\ttxtbox.val(val);\t\t\t\t\n
+\t\t\t\tsetIcon(pos,ci);\n
+\t\t\t})\n
+\t\t}\n
+\t}\t\n
+\n
+\tfunction addMarker(id, val) {\n
+\t\tvar txt_box_bg = \'#ffffff\';\n
+\t\tvar txt_box_border = \'none\';\n
+\t\tvar txt_box_stroke_width = 0;\n
+\t\t\n
+\t\tvar marker = S.getElem(id);\n
+\n
+\t\tif (marker) return;\n
+\n
+\t\tif (val==\'\' || val==\'\\\\nomarker\') return;\n
+\n
+\t\tvar el = selElems[0];\t\t \n
+\t\tvar color = el.getAttribute(\'stroke\');\n
+\t\t//NOTE: Safari didn\'t like a negative value in viewBox\n
+\t\t//so we use a standardized 0 0 100 100\n
+\t\t//with 50 50 being mapped to the marker position\n
+\t\tvar refX = 50;\n
+\t\tvar refY = 50;\n
+\t\tvar viewBox = "0 0 100 100";\n
+\t\tvar markerWidth = 5;\n
+\t\tvar markerHeight = 5;\n
+\t\tvar strokeWidth = 10;\n
+\t\tif (val.substr(0,1)==\'\\\\\') se_type=val.substr(1);\n
+\t\telse se_type=\'textmarker\';\n
+\n
+\t\tif (!marker_types[se_type]) return; // an unknown type!\n
+\t\t\n
+ \t\t// create a generic marker\n
+\t\tmarker = addElem({\n
+\t\t\t"element": "marker",\n
+\t\t\t"attr": {\n
+\t\t\t"id": id,\n
+\t\t\t"markerUnits": "strokeWidth",\n
+\t\t\t"orient": "auto",\n
+\t\t\t"style": "pointer-events:none",\n
+\t\t\t"se_type": se_type\n
+\t\t}\n
+\t\t});\n
+\n
+\t\tif (se_type!=\'textmarker\') {\n
+\t\t\tvar mel = addElem(marker_types[se_type]);\n
+\t\t\tvar fillcolor = color;\n
+\t\t\tif (se_type.substr(-2)==\'_o\') fillcolor=\'none\';\n
+\t\t\tmel.setAttribute(\'fill\',fillcolor);\n
+\t\t\tmel.setAttribute(\'stroke\',color);\n
+\t\t\tmel.setAttribute(\'stroke-width\',strokeWidth);\n
+\t\t\tmarker.appendChild(mel);\n
+\t\t} else {\n
+\t\t\tvar text = addElem(marker_types[se_type]);\n
+\t\t\t// have to add text to get bounding box\n
+\t\t\ttext.textContent = val;\n
+\t\t\tvar tb=text.getBBox();\n
+\t\t\t//alert( tb.x + " " + tb.y + " " + tb.width + " " + tb.height);\n
+\t\t\tvar pad=1;\n
+\t\t\tvar bb = tb;\n
+\t\t\tbb.x = 0;\n
+\t\t\tbb.y = 0;\n
+\t\t\tbb.width += pad*2;\n
+\t\t\tbb.height += pad*2;\n
+\t\t\t// shift text according to its size\n
+\t\t\ttext.setAttribute(\'x\', pad);\n
+\t\t\ttext.setAttribute(\'y\', bb.height - pad - tb.height/4); // kludge?\n
+\t\t\ttext.setAttribute(\'fill\',color);\n
+\t\t\trefX = bb.width/2+pad;\n
+\t\t\trefY = bb.height/2+pad;\n
+\t\t\tviewBox = bb.x + " " + bb.y + " " + bb.width + " " + bb.height;\n
+\t\t\tmarkerWidth =bb.width/10;\n
+\t\t\tmarkerHeight = bb.height/10;\n
+\n
+\t\t\tvar box = addElem({\n
+\t\t\t\t"element": "rect",\n
+\t\t\t\t"attr": {\n
+\t\t\t\t"x": bb.x,\n
+\t\t\t\t"y": bb.y,\n
+\t\t\t\t"width": bb.width,\n
+\t\t\t\t"height": bb.height,\n
+\t\t\t\t"fill": txt_box_bg,\n
+\t\t\t\t"stroke": txt_box_border,\n
+\t\t\t\t"stroke-width": txt_box_stroke_width\n
+\t\t\t}\n
+\t\t\t});\n
+\t\t\tmarker.setAttribute("orient",0);\n
+\t\t\tmarker.appendChild(box);\n
+\t\t\tmarker.appendChild(text);\n
+\t\t} \n
+\n
+\t\tmarker.setAttribute("viewBox",viewBox);\n
+\t\tmarker.setAttribute("markerWidth", markerWidth);\n
+\t\tmarker.setAttribute("markerHeight", markerHeight);\n
+\t\tmarker.setAttribute("refX", refX);\n
+\t\tmarker.setAttribute("refY", refY);\n
+\t\tS.findDefs().appendChild(marker);\n
+\n
+\t\treturn marker;\n
+\t}\n
+\n
+\n
+\tfunction setMarker() {\n
+\t\tvar poslist={\'start_marker\':\'start\',\'mid_marker\':\'mid\',\'end_marker\':\'end\'};\n
+\t\tvar pos = poslist[this.id];\n
+\t\tvar marker_name = \'marker-\'+pos;\n
+\t\tvar val = this.value;\n
+\t\tvar el = selElems[0];\n
+\t\tvar marker = getLinked(el, marker_name);\n
+\t\tif (marker) $(marker).remove();\n
+\t\tel.removeAttribute(marker_name);\n
+\t\tif (val==\'\') val=\'\\\\nomarker\';\n
+\t\tif (val==\'\\\\nomarker\') {\n
+\t\t\tsetIcon(pos,val);\n
+\t\t\tS.call("changed", selElems);\n
+\t\t\treturn;\n
+\t\t}\n
+\t\t// Set marker on element\n
+\t\tvar id = marker_prefix + pos + \'_\' + el.id;\n
+\t\taddMarker(id, val);\n
+\t\tsvgCanvas.changeSelectedAttribute(marker_name, "url(#" + id + ")");\n
+\t\tif (el.tagName == "line" && pos==\'mid\') el=convertline(el);\n
+\t\tS.call("changed", selElems);\n
+\t\tsetIcon(pos,val);\n
+\t}\n
+\n
+\tfunction convertline(elem) {\n
+\t\t// this routine came from the connectors extension\n
+\t\t// it is needed because midpoint markers don\'t work with line elements\n
+\t\tif (!(elem.tagName == "line")) return elem;\n
+\n
+\t\t// Convert to polyline to accept mid-arrow\n
+\n
+\t\tvar x1 = elem.getAttribute(\'x1\')-0;\n
+\t\tvar x2 = elem.getAttribute(\'x2\')-0;\n
+\t\tvar y1 = elem.getAttribute(\'y1\')-0;\n
+\t\tvar y2 = elem.getAttribute(\'y2\')-0;\n
+\t\tvar id = elem.id;\n
+\n
+\t\tvar mid_pt = (\' \'+((x1+x2)/2)+\',\'+((y1+y2)/2) + \' \');\n
+\t\tvar pline = addElem({\n
+\t\t\t"element": "polyline",\n
+\t\t\t"attr": {\n
+\t\t\t"points": (x1+\',\'+y1+ mid_pt +x2+\',\'+y2),\n
+\t\t\t"stroke": elem.getAttribute(\'stroke\'),\n
+\t\t\t"stroke-width": elem.getAttribute(\'stroke-width\'),\n
+\t\t\t"fill": "none",\n
+\t\t\t"opacity": elem.getAttribute(\'opacity\') || 1\n
+\t\t}\n
+\t\t});\n
+\t\t$.each(mtypes, function(i, pos) { // get any existing marker definitions\n
+\t\t\tvar nam = \'marker-\'+pos;\n
+\t\t\tvar m = elem.getAttribute(nam);\n
+\t\t\tif (m) pline.setAttribute(nam,elem.getAttribute(nam));\n
+\t\t});\n
+\t\t\n
+\t\tvar batchCmd = new S.BatchCommand();\n
+\t\tbatchCmd.addSubCommand(new S.RemoveElementCommand(elem, elem.parentNode));\n
+\t\tbatchCmd.addSubCommand(new S.InsertElementCommand(pline));\n
+\t\t\n
+\t\t$(elem).after(pline).remove();\n
+\t\tsvgCanvas.clearSelection();\n
+\t\tpline.id = id;\n
+\t\tsvgCanvas.addToSelection([pline]);\n
+\t\tS.addCommandToHistory(batchCmd);\n
+\t\treturn pline;\n
+\t}\n
+\n
+\t// called when the main system modifies an object\n
+\t// this routine changes the associated markers to be the same color\n
+\tfunction colorChanged(elem) {\n
+\t\tvar color = elem.getAttribute(\'stroke\');\n
+\n
+\t\t$.each(mtypes, function(i, pos) {\n
+\t\t\tvar marker = getLinked(elem, \'marker-\'+pos);\n
+\t\t\tif (!marker) return;\n
+\t\t\tif (!marker.attributes.se_type) return; //not created by this extension\n
+\t\t\tvar ch = marker.lastElementChild;\n
+\t\t\tif (!ch) return;\n
+\t\t\tvar curfill = ch.getAttribute("fill");\n
+\t\t\tvar curstroke = ch.getAttribute("stroke")\n
+\t\t\tif (curfill && curfill!=\'none\') ch.setAttribute("fill",color);\n
+\t\t\tif (curstroke && curstroke!=\'none\') ch.setAttribute("stroke",color);\n
+\t\t});\n
+\t}\n
+\n
+\t// called when the main system creates or modifies an object\n
+\t// primary purpose is create new markers for cloned objects\n
+\tfunction updateReferences(el) {\n
+\t\t$.each(mtypes, function (i,pos) {\n
+\t\t\tvar id = marker_prefix + pos + \'_\' + el.id;\n
+\t\t\tvar marker_name = \'marker-\'+pos;\n
+\t\t\tvar marker = getLinked(el, marker_name);\n
+\t\t\tif (!marker || !marker.attributes.se_type) return; //not created by this extension\n
+\t\t\tvar url = el.getAttribute(marker_name);\n
+\t\t\tif (url) {\n
+\t\t\t\tvar len = el.id.length;\n
+\t\t\t\tvar linkid = url.substr(-len-1,len);\n
+\t\t\t\tif (el.id != linkid) {\n
+\t\t\t\t\tvar val = $(\'#\'+pos+\'_marker\').attr(\'value\');\n
+\t\t\t\t\taddMarker(id, val);\n
+\t\t\t\t\tsvgCanvas.changeSelectedAttribute(marker_name, "url(#" + id + ")");\n
+\t\t\t\t\tif (el.tagName == "line" && pos==\'mid\') el=convertline(el);\n
+\t\t\t\t\tS.call("changed", selElems);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t});\n
+\t}\n
+\n
+\t// simulate a change event a text box that stores the current element\'s marker type\n
+\tfunction triggerTextEntry(pos,val) {\n
+\t\t$(\'#\'+pos+\'_marker\').val(val);\n
+\t\t$(\'#\'+pos+\'_marker\').change();\n
+\t\tvar txtbox = $(\'#\'+pos+\'_marker\');\n
+\t\t//if (val.substr(0,1)==\'\\\\\') txtbox.hide();\n
+\t\t//else txtbox.show();\n
+\t}\n
+\t\n
+\tfunction setIcon(pos,id) {\n
+\t\tif (id.substr(0,1)!=\'\\\\\') id=\'\\\\textmarker\'\n
+\t\tvar ci = \'#\'+id_prefix+pos+\'_\'+id.substr(1);\n
+\t\tsvgEditor.setIcon(\'#cur_\' + pos +\'_marker_list\', $(ci).children());\n
+\t\t$(ci).addClass(\'current\').siblings().removeClass(\'current\');\n
+\t}\n
+\t\t\n
+\tfunction setMarkerSet(obj) {\n
+\t\tvar parts = this.id.split(\'_\');\n
+\t\tvar set = parts[2];\n
+\t\tswitch (set) {\n
+\t\tcase \'off\':\n
+\t\t\ttriggerTextEntry(\'start\',\'\\\\nomarker\');\n
+\t\t\ttriggerTextEntry(\'mid\',\'\\\\nomarker\');\n
+\t\t\ttriggerTextEntry(\'end\',\'\\\\nomarker\');\n
+\t\t\tbreak;\n
+\t\tcase \'dimension\':\n
+\t\t\ttriggerTextEntry(\'start\',\'\\\\leftarrow\');\n
+\t\t\ttriggerTextEntry(\'end\',\'\\\\rightarrow\');\n
+\t\t\tshowTextPrompt(\'mid\');\n
+\t\t\tbreak;\n
+\t\tcase \'label\':\n
+\t\t\ttriggerTextEntry(\'mid\',\'\\\\nomarker\');\n
+\t\t\ttriggerTextEntry(\'end\',\'\\\\rightarrow\');\n
+\t\t\tshowTextPrompt(\'start\');\n
+\t\t\tbreak;\n
+\t\t}\n
+\t}\n
+\t\t\n
+\tfunction showTextPrompt(pos) {\n
+\t\tvar def = $(\'#\'+pos+\'_marker\').val();\n
+\t\tif (def.substr(0,1)==\'\\\\\') def=\'\';\n
+\t\t$.prompt(\'Enter text for \' + pos + \' marker\', def , function(txt) { if (txt) triggerTextEntry(pos,txt); });\n
+\t}\n
+\t\n
+\t// callback function for a toolbar button click\n
+\tfunction setArrowFromButton(obj) {\n
+\t\t\n
+\t\tvar parts = this.id.split(\'_\');\n
+\t\tvar pos = parts[1];\n
+\t\tvar val = parts[2];\n
+\t\tif (parts[3]) val+=\'_\'+parts[3];\n
+\t\t\n
+\t\tif (val!=\'textmarker\') {\n
+\t\t\ttriggerTextEntry(pos,\'\\\\\'+val);\n
+\t\t} else {\n
+\t\t\tshowTextPrompt(pos);\n
+\t\t}\n
+\t}\n
+\t\n
+\tfunction getTitle(lang,id) {\n
+\t\tvar list = lang_list[lang];\n
+\t\tfor (var i in list) {\n
+\t\t\tif (list[i].id==id) return list[i].title;\n
+\t\t}\n
+\t\treturn id;\n
+\t}\n
+\t\n
+\t\n
+\t// build the toolbar button array from the marker definitions\n
+\t// TODO: need to incorporate language specific titles\n
+\tfunction buildButtonList() {\n
+\t\tvar buttons=[];\n
+\t\tvar i=0;\n
+/*\n
+\t\tbuttons.push({\n
+\t\t\tid:id_prefix + \'markers_off\',\n
+\t\t\ttitle:\'Turn off all markers\',\n
+\t\t\ttype:\'context\',\n
+\t\t\tevents: { \'click\': setMarkerSet },\n
+\t\t\tpanel: \'marker_panel\'\n
+\t\t});\n
+\t\tbuttons.push({\n
+\t\t\tid:id_prefix + \'markers_dimension\',\n
+\t\t\ttitle:\'Dimension\',\n
+\t\t\ttype:\'context\',\n
+\t\t\tevents: { \'click\': setMarkerSet },\n
+\t\t\tpanel: \'marker_panel\'\n
+\t\t});\n
+\t\tbuttons.push({\n
+\t\t\tid:id_prefix + \'markers_label\',\n
+\t\t\ttitle:\'Label\',\n
+\t\t\ttype:\'context\',\n
+\t\t\tevents: { \'click\': setMarkerSet },\n
+\t\t\tpanel: \'marker_panel\'\n
+\t\t});\n
+*/\n
+\t\t$.each(mtypes,function(k,pos) {\n
+\t\t\tvar listname = pos + "_marker_list";\n
+\t\t\tvar def = true;\n
+\t\t$.each(marker_types,function(id,v) {\n
+\t\t\tvar title = getTitle(\'en\',id);\n
+\t\t\tbuttons.push({\n
+\t\t\t\t\tid:id_prefix + pos + "_" + id,\n
+\t\t\t\t\tsvgicon:id,\n
+\t\t\t\t\ttitle:title,\n
+\t\t\t\t\ttype:\'context\',\n
+\t\t\t\t\tevents: { \'click\': setArrowFromButton },\n
+\t\t\t\t\tpanel:\'marker_panel\',\n
+\t\t\t\t\tlist: listname,\n
+\t\t\t\t\tisDefault: def\n
+\t\t\t});\n
+\t\t\tdef = false;\n
+\t\t});\n
+\t\t});\n
+\t\treturn buttons;\n
+\t}\n
+\n
+\treturn {\n
+\t\tname: "Markers",\n
+\t\tsvgicons: "jquery_plugin/svg-editor/extensions/markers-icons.xml",\n
+\t\tbuttons: buildButtonList(),\n
+\t\tcontext_tools: [\n
+\t\t   {\n
+\t\t\ttype: "input",\n
+\t\t\tpanel: "marker_panel",\n
+\t\t\ttitle: "Start marker",\n
+\t\t\tid: "start_marker",\n
+\t\t\tlabel: "s",\n
+\t\t\tsize: 3,\n
+\t\t\tevents: { change: setMarker }\n
+\t\t},{\n
+\t\t\ttype: "button-select",\n
+\t\t\tpanel: "marker_panel",\n
+\t\t\ttitle: getTitle(\'en\',\'start_marker_list\'),\n
+\t\t\tid: "start_marker_list",\n
+\t\t\tcolnum: 3,\n
+\t\t\tevents: { change: setArrowFromButton }\n
+\t\t},{\n
+\t\t\ttype: "input",\n
+\t\t\tpanel: "marker_panel",\n
+\t\t\ttitle: "Middle marker",\n
+\t\t\tid: "mid_marker",\n
+\t\t\tlabel: "m",\n
+\t\t\tdefval: "",\n
+\t\t\tsize: 3,\n
+\t\t\tevents: { change: setMarker }\n
+\t\t},{\n
+\t\t\ttype: "button-select",\n
+\t\t\tpanel: "marker_panel",\n
+\t\t\ttitle: getTitle(\'en\',\'mid_marker_list\'),\n
+\t\t\tid: "mid_marker_list",\n
+\t\t\tcolnum: 3,\n
+\t\t\tevents: { change: setArrowFromButton }\n
+\t\t},{\n
+\t\t\ttype: "input",\n
+\t\t\tpanel: "marker_panel",\n
+\t\t\ttitle: "End marker",\n
+\t\t\tid: "end_marker",\n
+\t\t\tlabel: "e",\n
+\t\t\tsize: 3,\n
+\t\t\tevents: { change: setMarker }\n
+\t\t},{\n
+\t\t\ttype: "button-select",\n
+\t\t\tpanel: "marker_panel",\n
+\t\t\ttitle: getTitle(\'en\',\'end_marker_list\'),\n
+\t\t\tid: "end_marker_list",\n
+\t\t\tcolnum: 3,\n
+\t\t\tevents: { change: setArrowFromButton }\n
+\t\t} ],\n
+\t\tcallback: function() {\n
+\t\t\t$(\'#marker_panel\').addClass(\'toolset\').hide();\n
+\t\t\t\n
+\t\t},\n
+\t\taddLangData: function(lang) {\n
+\t\t\treturn { data: lang_list[lang] };\n
+\t\t},\n
+\n
+\tselectedChanged: function(opts) {\n
+\t\t// Use this to update the current selected elements\n
+\t\t//console.log(\'selectChanged\',opts);\n
+\t\tselElems = opts.elems;\n
+\n
+\t\tvar i = selElems.length;\n
+\t\tvar marker_elems = [\'line\',\'path\',\'polyline\',\'polygon\'];\n
+\n
+\t\twhile(i--) {\n
+\t\t\tvar elem = selElems[i];\n
+\t\t\tif(elem && $.inArray(elem.tagName, marker_elems) != -1) {\n
+\t\t\t\tif(opts.selectedElement && !opts.multiselected) {\n
+\t\t\t\t\tshowPanel(true);\n
+\t\t\t\t} else {\n
+\t\t\t\t\tshowPanel(false);\n
+\t\t\t\t}\n
+\t\t\t} else {\n
+\t\t\t\tshowPanel(false);\n
+\t\t\t}\n
+\t\t}\n
+\t},\n
+\n
+\telementChanged: function(opts) {\t\t\n
+\t\t//console.log(\'elementChanged\',opts);\n
+\t\tvar elem = opts.elems[0];\n
+\t\tif(elem && (\n
+\t\t\t\telem.getAttribute("marker-start") ||\n
+\t\t\t\telem.getAttribute("marker-mid") ||\n
+\t\t\t\telem.getAttribute("marker-end")\n
+\t\t)) {\n
+\t\t\tcolorChanged(elem);\n
+\t\t\tupdateReferences(elem);\n
+\t\t}\n
+\t\tchanging_flag = false;\n
+\t}\n
+\t};\n
+});\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>16245</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/eyedropper-icon.xml.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/eyedropper-icon.xml.xml
new file mode 100644
index 0000000000..7a5093ca03
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/eyedropper-icon.xml.xml
@@ -0,0 +1,77 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80061395.19</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>eyedropper-icon.xml</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<svg xmlns="http://www.w3.org/2000/svg">\n
+\n
+<g id="tool_eyedropper">\n
+<svg viewBox="0 0 320 320" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->\n
+ <defs>\n
+  <radialGradient id="eyedropper_svg_6" cx="0.5" cy="0.5" r="0.5">\n
+   <stop offset="0" stop-color="#ffffff" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#e5e5e5" stop-opacity="0.38"/>\n
+  </radialGradient>\n
+  <linearGradient id="eyedropper_svg_15" x1="0" y1="0" x2="0.58594" y2="0.55078">\n
+   <stop offset="0" stop-color="#ffffff" stop-opacity="0.57"/>\n
+   <stop offset="1" stop-color="#000056" stop-opacity="1"/>\n
+  </linearGradient>\n
+  <linearGradient id="eyedropper_svg_19" x1="0" y1="0" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#ffffff" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#ffffff" stop-opacity="0"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g display="inline">\n
+  <title>Layer 1</title>\n
+  <path d="m193.899994,73l-119.899979,118l-15,39.5l10.25,4.5l43.750015,-20l108.999969,-112l-28.100006,-30z" id="svg_3" fill="none" stroke="#000000" stroke-width="5"/>\n
+  <path d="m58.649994,232c-2.75,28.200012 -26.399994,28.950012 -21.899994,59c4.5,30.049988 55,28 55.5,-1.25c0.5,-29.25 -20.25,-28.75 -22.25,-54.75l-11.350006,-3z" id="svg_4" fill="#aa56ff" stroke="#000000" stroke-width="7"/>\n
+  <path d="m45.474976,269.275024l13.775024,0.474976l-0.75,16.75l-14.25,-1.25l1.224976,-15.974976z" id="svg_5" fill="url(#eyedropper_svg_6)" stroke-width="5" fill-opacity="0.73"/>\n
+  <path d="m217.899994,46c21.5,-101.549999 141.600006,20.449997 28.100006,33l-5,44l-63,-66l39.899994,-11z" id="svg_2" fill="#000000" stroke-width="5"/>\n
+  <path d="m206.825012,61.075008c3.712494,-2.46249 7.637482,-3.53751 14.424988,-5.575008c10.125,-16.5 32.875,-41.5 40.5,-35c7.625,6.5 -21.25,35.625 -37.5,39.25c-5.5,10.125 -8,13.875 -17.25,16.5c-2.837494,-8.162514 -4.262482,-12.337486 -0.174988,-15.174992z" id="svg_7" fill="url(#eyedropper_svg_15)" stroke-width="5"/>\n
+  <path d="m133.049988,134.75l46.950012,9.25l-66,70l-42.5,20.5l-11.5,-5l14,-37.5l59.049988,-57.25z" id="svg_11" fill="#aa56ff" stroke="#000000" stroke-width="7"/>\n
+  <path d="m71.425034,212.350006l9.050888,-20.022537l51.516724,-49.327469l8.507355,0.97197l-69.074966,68.378036z" id="svg_16" fill="url(#eyedropper_svg_19)" stroke-width="5"/>\n
+ </g>\n
+</svg>\n
+</g>\n
+\t\n
+\t<g id="svg_eof"/>\n
+</svg>
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>2374</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/eyedropper.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/eyedropper.png.xml
new file mode 100644
index 0000000000..adaa12dd04
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/eyedropper.png.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80046532.89</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>eyedropper.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
+WXMAAAsSAAALEgHS3X78AAAAB3RJTUUH1gEWFhEgML2oewAAAltJREFUOMullL1rFEEYh5/d+4oG
+NBIu5IMkRz6EhJAgOQ9ECJpC0LPSWFgJ2lhZhsMUFrK6LPofCDaCaKFgY0wRRSFIkkKDH2mEO/HM
+d0KIntG73bHI7DKsex65DLzMDjvvw29+7zujUeVoaU9cqI83PHbX+Vz2+trK8m13rVUL7k+mBAc7
+iXaksdfnsXMTzM1Oe7xwNdBEV/dpgGhHmuLXScTah3/2hHetEtDq+xClX5QWpgOhAPpuwHOz020A
+kbZh2PyCs/jW+7e5sZGu1tZW0zKEbduiP5nyoru37xp7GO2mZQjHccS7+W/i+csZD7wXaLMKHX81
+K0zLEEB8L2BP6fjUZ/Hg2RsPWilRqwDNLsfP8HrqIwAj3Tkyo2NNwFKZHFEJ3GRaxvcAaDOwGCDM
+b4kIAjealrFQBrpUplWFEoFgzbQMJwDaKpVq/1ErAMddh30KWgE/NAGsyr1aGV+dcldaBzAtIzs4
+dA54AkBmdKwd2ARiPoWqOjU0V7HmQusOn7pU13n86vlkOHX35li/PLoecGRbfpck3PbNjlqA0J+t
+xSM9fb2pRy8+zQA/gf1ArZz3ATVAFIgAISVXBBRvR1HD0csnOwZODDQ2xSkUCvqhnrM3JLBG2hCT
+wLDiteq3E/S6acUfKxfv3MoMAQyPXBkEcUyCo1Kdptii+Ypm+zsCEDoQCsVqWybe77RoPr+Evb21
+KlWGFEW29NUNW4E5vrYjDOihmgOTD+/db0CPdJUK6wUhSk+BIvAb2JaQogJ0Z9t/MdQmjyg+up7q
+clNRUehWXIWWfG3njb+rKB5tMRNJTQAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>718</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/foreignobject-icons.xml.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/foreignobject-icons.xml.xml
new file mode 100644
index 0000000000..f7c3e78d6e
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/foreignobject-icons.xml.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80061388.54</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>foreignobject-icons.xml</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<svg xmlns="http://www.w3.org/2000/svg">\n
+\t<g id="tool_foreign">\n
+\t\t<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 84 84">\n
+\t\t  <g fill="#444" opacity="0.2" transform="translate(6,6)">\n
+\t\t  <path d="M42.8,74.3c0,4.3,0,5.9,11.8,5.9l4.1,0l0,3.8c-4.5-0.4-16.1-0.4-21.2-0.3c-5.1,0-16.6,0-21,0.4l0-3.8l4.1,0\n
+\t\t\tc11.8,0,11.8-1.7,11.8-5.9l0-6.9C13.9,65.6,0,54.6,0,42c0-12.2,13.3-23.5,32.4-25.4l0-6.9c0-4.3,0-5.9-11.8-5.9l-4.1,0l0-3.8\n
+\t\t\tc4.5,0.4,16.1,0.4,21.2,0.3c5.1,0,16.6,0,21-0.4l0,3.8l-4.1,0c-11.8,0-11.8,1.7-11.8,5.9l0,6.9C61.6,18.1,75.8,29.2,75.8,42\n
+\t\t\tc0,12.4-13.8,23.9-33.1,25.4L42.8,74.3z M32.4,19.4c-18.7,2.5-19.9,16.2-19.9,22.6c0,7.6,2.3,20.2,20,22.5L32.4,19.4z M42.7,64.7\n
+\t\t\tc18.8-2.2,20.7-15.4,20.6-22.8c0-9.3-3.5-20.6-20.7-22.6L42.7,64.7z"/>\n
+\t\t  </g>\n
+\t\t  <g fill="#444" opacity="0.3" transform="translate(4,4)">\n
+\t\t  <path d="M42.8,74.3c0,4.3,0,5.9,11.8,5.9l4.1,0l0,3.8c-4.5-0.4-16.1-0.4-21.2-0.3c-5.1,0-16.6,0-21,0.4l0-3.8l4.1,0\n
+\t\t\tc11.8,0,11.8-1.7,11.8-5.9l0-6.9C13.9,65.6,0,54.6,0,42c0-12.2,13.3-23.5,32.4-25.4l0-6.9c0-4.3,0-5.9-11.8-5.9l-4.1,0l0-3.8\n
+\t\t\tc4.5,0.4,16.1,0.4,21.2,0.3c5.1,0,16.6,0,21-0.4l0,3.8l-4.1,0c-11.8,0-11.8,1.7-11.8,5.9l0,6.9C61.6,18.1,75.8,29.2,75.8,42\n
+\t\t\tc0,12.4-13.8,23.9-33.1,25.4L42.8,74.3z M32.4,19.4c-18.7,2.5-19.9,16.2-19.9,22.6c0,7.6,2.3,20.2,20,22.5L32.4,19.4z M42.7,64.7\n
+\t\t\tc18.8-2.2,20.7-15.4,20.6-22.8c0-9.3-3.5-20.6-20.7-22.6L42.7,64.7z"/>\n
+\t\t  </g>\n
+\t\t  <g fill="#444" opacity="0.5" transform="translate(2,2)">\n
+\t\t  <path d="M42.8,74.3c0,4.3,0,5.9,11.8,5.9l4.1,0l0,3.8c-4.5-0.4-16.1-0.4-21.2-0.3c-5.1,0-16.6,0-21,0.4l0-3.8l4.1,0\n
+\t\t\tc11.8,0,11.8-1.7,11.8-5.9l0-6.9C13.9,65.6,0,54.6,0,42c0-12.2,13.3-23.5,32.4-25.4l0-6.9c0-4.3,0-5.9-11.8-5.9l-4.1,0l0-3.8\n
+\t\t\tc4.5,0.4,16.1,0.4,21.2,0.3c5.1,0,16.6,0,21-0.4l0,3.8l-4.1,0c-11.8,0-11.8,1.7-11.8,5.9l0,6.9C61.6,18.1,75.8,29.2,75.8,42\n
+\t\t\tc0,12.4-13.8,23.9-33.1,25.4L42.8,74.3z M32.4,19.4c-18.7,2.5-19.9,16.2-19.9,22.6c0,7.6,2.3,20.2,20,22.5L32.4,19.4z M42.7,64.7\n
+\t\t\tc18.8-2.2,20.7-15.4,20.6-22.8c0-9.3-3.5-20.6-20.7-22.6L42.7,64.7z"/>\n
+\t\t  </g>\n
+\t\t  <g fill="#0000CC">\n
+\t\t  <path id="xyz321" d="M42.8,74.3c0,4.3,0,5.9,11.8,5.9l4.1,0l0,3.8c-4.5-0.4-16.1-0.4-21.2-0.3c-5.1,0-16.6,0-21,0.4l0-3.8l4.1,0\n
+\t\t\tc11.8,0,11.8-1.7,11.8-5.9l0-6.9C13.9,65.6,0,54.6,0,42c0-12.2,13.3-23.5,32.4-25.4l0-6.9c0-4.3,0-5.9-11.8-5.9l-4.1,0l0-3.8\n
+\t\t\tc4.5,0.4,16.1,0.4,21.2,0.3c5.1,0,16.6,0,21-0.4l0,3.8l-4.1,0c-11.8,0-11.8,1.7-11.8,5.9l0,6.9C61.6,18.1,75.8,29.2,75.8,42\n
+\t\t\tc0,12.4-13.8,23.9-33.1,25.4L42.8,74.3z M32.4,19.4c-18.7,2.5-19.9,16.2-19.9,22.6c0,7.6,2.3,20.2,20,22.5L32.4,19.4z M42.7,64.7\n
+\t\t\tc18.8-2.2,20.7-15.4,20.6-22.8c0-9.3-3.5-20.6-20.7-22.6L42.7,64.7z"/>\n
+\t\t  </g>\n
+\t\t</svg>\n
+\t</g>\n
+\t\n
+\t<g id="edit_foreign">\n
+\t\t<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="34 38 170 170" overflow="hidden">\n
+\t\t<g fill="#000088">\n
+\t\t\t<path d="M30.1,63.9v-4.3l30.2-14.9V50L36.5,61.7l23.8,11.7v5.3L30.1,63.9z"/>\n
+\t\t\t<path d="M106.1,79.7v-1.1c4.2-0.5,4.8-1.1,4.8-5.2V58.2c0-6-1.3-7.9-5.4-7.9c-3.3,0-5.7,1.3-7.8,4.4v18.1\n
+\t\t\t\tc0,4.5,1.1,5.7,5.2,5.8v1.1H86.8v-1.1c4.1-0.3,4.9-1.1,4.9-5.1V57.9c0-5-1.6-7.6-4.8-7.6c-2.5,0-5.6,1.2-7.4,2.9\n
+\t\t\t\tc-0.5,0.5-1.1,1.4-1.1,1.4v20.3c0,2.8,1.1,3.6,4.9,3.7v1.1h-16v-1.1c4-0.1,5-1.2,5-5V55.4c0-3.5-0.6-4.6-2.5-4.6\n
+\t\t\t\tc-0.8,0-1.4,0.1-2.3,0.3v-1.2c4-1.1,6.4-1.9,10.1-3.2l0.5,0.1v5.4c6-4.5,8-5.5,11.2-5.5c3.9,0,6.3,1.9,7.6,6c3.9-4.2,7.6-6,11.7-6\n
+\t\t\t\tc5.5,0,8.4,4.3,8.4,12.8v14.8c0,2.8,0.9,4.1,3.1,4.2l1.9,0.1v1.1H106.1z"/>\n
+\t\t\t<path d="M147.3,80.5c-3,0-4.2-1.4-4.6-5.3c-4.4,3.7-7.3,5.3-10.5,5.3c-4.5,0-7.6-3.2-7.6-7.7c0-2.4,1-4.8,2.6-6.3\n
+\t\t\t\tc3.1-2.7,4.3-3.3,15.4-7.8v-4.4c0-3.9-1.9-6-5.5-6c-2.9,0-5.2,1.6-5.2,3.5c0,0.5,0.1,1.1,0.2,1.7c0.1,0.5,0.1,0.9,0.1,1.2\n
+\t\t\t\tc0,1.6-1.5,3-3.2,3s-3.1-1.4-3.1-3.1c0-1.8,1.2-3.9,3-5.4c2-1.7,5.5-2.7,9.1-2.7c4.4,0,7.5,1.4,9,4.2c1,1.7,1.4,3.7,1.4,7.3v14\n
+\t\t\t\tc0,3.2,0.5,4.2,2.2,4.2c1.1,0,1.9-0.4,3.2-1.4v1.9C151.3,79.6,149.8,80.5,147.3,80.5z M142.6,60.5c-8.7,3.2-11.7,5.8-11.7,10v0.3\n
+\t\t\t\tc0,3.1,2,5.5,4.5,5.5c1.5,0,3.5-0.6,5.3-1.6c1.5-0.9,1.9-1.6,1.9-3.8V60.5z"/>\n
+\t\t\t<path d="M165.3,80.5c-4.2,0-6.3-3.1-6.3-9.1V49.7h-3.8c-0.2-0.1-0.3-0.3-0.3-0.5c0-0.4,0.4-0.9,1.2-1.4\n
+\t\t\t\tc1.9-1.1,4.3-3.7,7-7.7c0.5-0.6,1-1.3,1.4-2c0.4,0,0.5,0.2,0.5,0.9v8.4h7.3v2.3h-7.3v20.6c0,4.6,1.1,6.5,3.7,6.5\n
+\t\t\t\tc1.6,0,2.7-0.6,4.3-2.5l0.9,0.8C171.8,78.7,169,80.5,165.3,80.5z"/>\n
+\t\t\t<path d="M193.8,79.7v-1.1c4.1-0.4,4.9-1.3,4.9-6.2V58.1c0-5-1.8-7.6-5.4-7.6c-2.8,0-5,1.2-8,4.5v17.4\n
+\t\t\t\tc0,5,0.7,5.8,4.9,6.3v1.1h-15.6v-1.1c4.2-0.6,4.6-1.2,4.6-6.3V38.5c0-3.1-0.6-3.7-3.7-3.7c-0.4,0-0.6,0-0.9,0.1v-1.2l1.9-0.6\n
+\t\t\t\tc4-1.2,5.8-1.7,8.3-2.6l0.4,0.2v21.9c3.3-4.3,6.3-6,10.6-6c5.9,0,8.9,3.9,8.9,11.5v14.3c0,5,0.4,5.5,4.3,6.3v1.1h-15.2V79.7z"/>\n
+\t\t\t<path d="M59.1,116.1v-4.3l30.2-14.9v5.3l-23.8,11.7l23.8,11.7v5.3L59.1,116.1z"/>\n
+\t\t\t<path d="M135.1,131.9v-1.1c4.2-0.5,4.8-1.1,4.8-5.2v-15.1c0-6-1.3-7.9-5.4-7.9c-3.3,0-5.7,1.3-7.8,4.4v18.1\n
+\t\t\t\tc0,4.5,1.1,5.7,5.2,5.8v1.1h-16.1v-1.1c4.1-0.3,4.9-1.1,4.9-5.1v-15.7c0-5-1.6-7.6-4.8-7.6c-2.5,0-5.6,1.2-7.4,2.9\n
+\t\t\t\tc-0.5,0.5-1.1,1.4-1.1,1.4v20.3c0,2.8,1.1,3.6,4.9,3.7v1.1h-16v-1.1c4-0.1,5-1.2,5-5v-18.2c0-3.5-0.6-4.6-2.5-4.6\n
+\t\t\t\tc-0.8,0-1.4,0.1-2.3,0.3v-1.2c4-1.1,6.4-1.9,10.1-3.2l0.5,0.1v5.4c6-4.5,8-5.5,11.2-5.5c3.9,0,6.3,1.9,7.6,6c3.9-4.2,7.6-6,11.7-6\n
+\t\t\t\tc5.5,0,8.4,4.3,8.4,12.8v14.8c0,2.8,0.9,4.1,3.1,4.2l1.9,0.1v1.1H135.1z"/>\n
+\t\t\t<path d="M152.1,131.9v-1.1c5-0.3,5.7-1.1,5.7-6.3v-16.6c0-3.2-0.6-4.3-2.4-4.3c-0.6,0-1.6,0.1-2.4,0.2l-0.6,0.1v-1.1\n
+\t\t\t\tl11.2-4L164,99v25.6c0,5.2,0.6,5.9,5.3,6.3v1.1L152.1,131.9L152.1,131.9z M160.8,93.1c-2,0-3.7-1.6-3.7-3.7c0-2,1.7-3.7,3.7-3.7\n
+\t\t\t\tc2.1,0,3.7,1.7,3.7,3.7C164.6,91.6,163,93.1,160.8,93.1z"/>\n
+\t\t\t<path d="M175.8,131v-5.3l23.7-11.8l-23.7-11.7v-5.3l30.1,14.9v4.3L175.8,131z"/>\n
+\t\t\t<path d="M31.1,169.5v-4.3l30.2-14.9v5.3l-23.8,11.7L61.3,179v5.3L31.1,169.5z"/>\n
+\t\t\t<path d="M71.3,186.4h-4.9l16.5-49.7h4.8L71.3,186.4z"/>\n
+\t\t\t<path d="M127.1,185.3v-1.1c4.2-0.5,4.8-1.1,4.8-5.2v-15.2c0-6-1.3-7.9-5.4-7.9c-3.3,0-5.7,1.3-7.8,4.4v18.1\n
+\t\t\t\tc0,4.5,1.1,5.7,5.2,5.8v1.1h-16.1v-1.1c4.1-0.3,4.9-1.1,4.9-5.1v-15.6c0-5-1.6-7.6-4.8-7.6c-2.5,0-5.6,1.2-7.4,2.9\n
+\t\t\t\tc-0.5,0.5-1.1,1.4-1.1,1.4v20.3c0,2.8,1.1,3.6,4.9,3.7v1.1h-16v-1.1c4-0.1,5-1.2,5-5V161c0-3.5-0.6-4.6-2.5-4.6\n
+\t\t\t\tc-0.8,0-1.4,0.1-2.3,0.3v-1.2c4-1.1,6.4-1.9,10.1-3.2l0.5,0.1v5.4c6-4.5,8-5.5,11.2-5.5c3.9,0,6.3,1.9,7.6,6c3.9-4.2,7.6-6,11.7-6\n
+\t\t\t\tc5.5,0,8.4,4.3,8.4,12.8v14.8c0,2.8,0.9,4.1,3.1,4.2l1.9,0.1v1.1H127.1L127.1,185.3z"/>\n
+\t\t\t<path d="M168.3,186.1c-3,0-4.2-1.4-4.6-5.3c-4.4,3.7-7.3,5.3-10.5,5.3c-4.5,0-7.6-3.2-7.6-7.7c0-2.4,1-4.8,2.6-6.3\n
+\t\t\t\tc3.1-2.7,4.3-3.3,15.4-7.8v-4.4c0-3.9-1.9-6-5.5-6c-2.9,0-5.2,1.6-5.2,3.5c0,0.5,0.1,1.1,0.2,1.7c0.1,0.5,0.1,0.9,0.1,1.2\n
+\t\t\t\tc0,1.6-1.5,3-3.2,3s-3.1-1.4-3.1-3.1c0-1.8,1.2-3.9,3-5.4c2-1.7,5.5-2.7,9.1-2.7c4.4,0,7.5,1.4,9,4.2c1,1.7,1.4,3.7,1.4,7.3v14\n
+\t\t\t\tc0,3.2,0.5,4.2,2.2,4.2c1.1,0,1.9-0.4,3.2-1.4v1.9C172.3,185.2,170.8,186.1,168.3,186.1z M163.8,166.1c-8.7,3.2-11.7,5.8-11.7,10\n
+\t\t\t\tv0.3c0,3.1,2,5.5,4.5,5.5c1.5,0,3.5-0.6,5.3-1.6c1.5-0.9,1.9-1.6,1.9-3.8V166.1z"/>\n
+\t\t\t<path d="M186.3,186.1c-4.2,0-6.3-3.1-6.3-9.1v-21.7h-3.8c-0.2-0.1-0.3-0.3-0.3-0.5c0-0.4,0.4-0.9,1.2-1.4\n
+\t\t\t\tc1.9-1.1,4.3-3.7,7-7.7c0.5-0.6,1-1.3,1.4-2c0.4,0,0.5,0.2,0.5,0.9v8.4h7.3v2.3h-7.3v20.6c0,4.6,1.1,6.5,3.7,6.5\n
+\t\t\t\tc1.6,0,2.7-0.6,4.3-2.5l0.9,0.8C192.8,184.3,190,186.1,186.3,186.1z"/>\n
+\t\t\t<path d="M209.1,185.3h-13.4v-1.1c4.2-0.6,4.6-1.2,4.6-6.3V144c0-3.1-0.6-3.7-3.7-3.7c-0.4,0-0.6,0-0.9,0.1v-1.2\n
+\t\t\t\tl1.9-0.6c4-1.2,5.8-1.7,8.3-2.6l0.4,0.2v21.9c0.9-1.2,1.9-2.2,2.8-3.1"/>\n
+\t\t\t<path d="M209.1,157.9c-0.8,0.7-1.7,1.5-2.7,2.6v17.4c0,4,0.4,5.3,2.7,5.9"/>\n
+\t\t  </g>\n
+\t\t  <g>\n
+\t\t\t<polyline opacity="0.2" fill="#231F20" points="209.1,76.4 118.7,186.5 139.1,186.4 209.1,121 209.1,76.4 "/>\n
+\t\t\t<polyline opacity="0.4" fill="#231F20" points="209.1,76.2 118.5,186.5 129.7,186.4 200.2,120.3 209.1,100.8 209.1,76.4 "/>\n
+\t\t\t<path fill="#FFD761" d="M121.6,88.7l0.8,87.5l62.3-56.7c0,0-15.3-25.8-24.8-30C151.1,85.6,121.6,88.7,121.6,88.7z"/>\n
+\t\t\t<path fill="#FEA01E" d="M209.1,19.5h-54l-33.5,69.2c0,0,29.7-3.4,38.3,0.8c8.9,4.4,25,30.8,25,30.8l24.2-50V19.5z"/>\n
+\t\t\t<path d="M120.4,153.7l-0.6,25l23.8-16.9c0,0-8-7-11.2-8.1C129.4,152.8,120.4,153.7,120.4,153.7z"/>\n
+\t\t\t<polyline fill="none" stroke="#231F20" stroke-width="5" points="153.9,19.5 121.6,88.7 120.7,181.2 186.6,120.3 209.1,70.3 "/>\n
+\t\t  </g>\n
+\t\t</svg>\n
+\t</g>\n
+\t\n
+\t<g id="svg_eof"/>\n
+</svg>
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>8310</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/helloworld-icon.xml.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/helloworld-icon.xml.xml
new file mode 100644
index 0000000000..2fbcdf8aea
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/helloworld-icon.xml.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80061380.7</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>helloworld-icon.xml</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<svg xmlns="http://www.w3.org/2000/svg">\n
+<!-- \n
+\tSample icons file. This file looks like an SVG file with groups as its\n
+\tchildren. Each group element has an ID that must match the ID of the button given\n
+\tin the extension. The SVG inside the group makes up the actual icon, and\n
+\tneeds use a viewBox instead of width/height for it to scale\tproperly.\n
+\t\n
+\tMultiple icons can be included, each within their own group.\n
+-->\n
+\t<g id="hello_world">\n
+\t\t<svg width="102" height="102" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+\t\t <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->\n
+\t\t <g>\n
+\t\t  <title>Layer 1</title>\n
+\t\t  <rect ry="30" rx="30" x="2.5" y="2.5" width="97" height="97" id="svg_3" fill="#008000" stroke="#000000" stroke-width="5"/>\n
+\t\t  <text x="52.668" y="42.5" id="svg_1" fill="#ffffff" stroke="#000000" stroke-width="0" font-size="24" font-family="Monospace" text-anchor="middle" xml:space="preserve">Hello</text>\n
+\t\t  <text x="52.668" y="71.5" fill="#ffffff" stroke="#000000" stroke-width="0" font-size="24" font-family="Monospace" text-anchor="middle" xml:space="preserve" id="svg_2">World!</text>\n
+\t\t </g>\n
+\t\t</svg>\n
+\t</g>\n
+</svg>
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1175</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/markers-icons.xml.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/markers-icons.xml.xml
new file mode 100644
index 0000000000..6a2273fc8d
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/extensions/markers-icons.xml.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80061374.02</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>markers-icons.xml</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<svg xmlns="http://www.w3.org/2000/svg">\n
+    <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->\n
+    <g id="nomarker">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="#ff7f00" d="m-50,0l100,0"/>\n
+        </svg>\n
+    </g>\n
+    <g id="leftarrow">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="#ff7f00" d="m-50,0l100,40l-30,-40l30,-40z"/>\n
+        </svg>\n
+    </g>\n
+    <g id="rightarrow">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="#ff7f00" d="m50,0l-100,40l30,-40l-30,-40z"/>\n
+        </svg>\n
+    </g>\n
+    <g id="leftarrow_o">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="none" d="m-50,0l100,40l-30,-40l30,-40z"/>\n
+        </svg>\n
+    </g>\n
+    <g id="rightarrow_o">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="none" d="m50,0l-100,40l30,-40l-30,-40z"/>\n
+        </svg>\n
+    </g>\n
+    <g id="forwardslash">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="none" d="m-20,50l40,-100"/>\n
+        </svg>\n
+    </g>\n
+    <g id="reverseslash">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="none" d="m-20,-50l40,100"/>\n
+        </svg>\n
+    </g>\n
+    <g id="verticalslash">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="none" d="m0,-50l0,100"/>\n
+        </svg>\n
+    </g>\n
+    <g id="mcircle">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <circle stroke-width="10" stroke="#ff7f00" fill="#ff7f00" cy="0" cx="0" r="30"/>\n
+        </svg>\n
+    </g>\n
+    <g id="mcircle_o">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <circle stroke-width="10" stroke="#ff7f00" fill="none" cy="0" cx="0" r="30"/>\n
+        </svg>\n
+    </g>\n
+    <g id="xmark">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="#ff7f00" d="m-30,30l60,-60m0,60l-60,-60"/>\n
+        </svg>\n
+    </g>\n
+    <g id="box">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="#ff7f00" d="m-30,-30l0,60l60,0l0,-60z"/>\n
+        </svg>\n
+    </g>\n
+    <g id="star">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="#ff7f00" d="m-40,-20l80,0l-70,60l30,-80l30,80z"/>\n
+        </svg>\n
+    </g>\n
+    <g id="box_o">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="none" d="m-30,-30l0,60l60,0l0,-60z"/>\n
+        </svg>\n
+    </g>\n
+    <g id="star_o">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="none" d="m-40,-20l80,0l-70,60l30,-80l30,80z"/>\n
+        </svg>\n
+    </g>\n
+     <g id="triangle_o">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="none" d="M-30,30 L0,-30 L30,30 Z"/>\n
+        </svg>\n
+    </g>\n
+     <g id="triangle">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+            <path stroke-width="10" stroke="#ff7f00" fill="#ff7f00" d="M-30,30 L0,-30 L30,30 Z"/>\n
+        </svg>\n
+    </g>\n
+   <g id="textmarker">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+\t\t\t<text xml:space="preserve" text-anchor="middle" font-family="serif" font-size="120"  y="40" x="0" stroke-width="0" stroke="#ff7f00" fill="#ff7f00">T</text>\t\n
+        </svg>\n
+    </g>\n
+\t<g id="mkr_markers_off">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+\t\t   <line y2="0" x2="50" y1="0" x1="-50" stroke-width="5" stroke="#ff7f00" fill="none"/>\n
+       </svg>\n
+    </g>\n
+\t<g id="mkr_markers_dimension">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+ \t\t   <line y2="0" x2="40" y1="0" x1="20" stroke-width="5" stroke="#ff7f00" fill="none"/>\n
+\t\t   <line y2="0" x2="-40" y1="0" x1="-20" stroke-width="5" stroke="#ff7f00" fill="none"/>\n
+\t\t   <text text-anchor="middle" font-family="serif" font-size="80"  y="20" x="0" stroke-width="0" stroke="#ff7f00" fill="#ff7f00">T</text>\n
+           <path stroke-width="5" stroke="#ff7f00" fill="#ff7f00" d="M-50,0 L-30,-15 L-30,15 Z"/>\n
+           <path stroke-width="5" stroke="#ff7f00" fill="#ff7f00" d="M50,0 L30,-15 L30,15 Z"/>\n
+ \t\t</svg>\n
+    </g>\n
+   \t<g id="mkr_markers_label">\n
+        <svg viewBox="-60 -60 120 120" xmlns="http://www.w3.org/2000/svg">\n
+  \t\t   <line y2="0" x2="40" y1="0" x1="-20" stroke-width="5" stroke="#ff7f00" fill="none"/>\n
+\t\t   <text text-anchor="middle" font-family="serif" font-size="80"  y="20" x="-40" stroke-width="0" stroke="#ff7f00" fill="#ff7f00">T</text>\n
+           <path stroke-width="5" stroke="#ff7f00" fill="#ff7f00" d="M50,0 L30,-15 L30,15 Z"/>\n
+        </svg>\n
+    </g>\n
+\t<g id="svg_eof"/>\n
+</svg>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>5441</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images.xml
new file mode 100644
index 0000000000..8eb39eedde
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>images</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/README.txt.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/README.txt.xml
new file mode 100644
index 0000000000..17b3a3fa59
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/README.txt.xml
@@ -0,0 +1,93 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>README.txt</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string>filename                        origin\n
+\n
+align-bottom.png                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-bottom.png\n
+align-bottom.svg                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-bottom.svg\n
+align-center.png                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-center.png\n
+align-center.svg                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-center.svg\n
+align-left.png                  http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-left.png\n
+align-left.svg                  http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-left.svg\n
+align-middle.png                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-center.png\n
+align-middle.svg                http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-center.svg\n
+align-right.png                 http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-right.png\n
+align-right.svg                 http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-horizontal-right.svg\n
+align-top.png                   http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-top.png\n
+align-top.svg                   http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/actions/align-vertical-top.svg\n
+bold.png\n
+cancel.png\n
+circle.png\n
+clear.png\n
+clone.png\n
+copy.png\n
+cut.png\n
+delete.png\n
+document-properties.png\n
+dropdown.gif\n
+ellipse.png\n
+eye.png\n
+flyouth.png\n
+flyup.gif\n
+freehand-circle.png\n
+freehand-square.png\n
+go-down.png\n
+go-up.png\n
+image.png\n
+italic.png\n
+line.png\n
+logo.png\n
+logo.svg\n
+move_bottom.png\n
+move_top.png\n
+none.png\n
+open.png\n
+paste.png\n
+path.png\n
+polygon.png                     http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-polygon.png\n
+polygon.svg                     http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-polygon.svg\n
+rect.png\n
+redo.png\n
+rotate.png\n
+save.png\n
+select.png\n
+sep.png\n
+shape_group.png\n
+shape_ungroup.png\n
+source.png\n
+square.png\n
+text.png                        http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-text.png\n
+text.svg                        http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/draw-text.svg\n
+undo.png\n
+view-refresh.png\n
+wave.png\n
+zoom.png                        http://tango.freedesktop.org/static/cvs/tango-art-libre/22x22/tools/page-magnifier.png\n
+</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-bottom.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-bottom.png.xml
new file mode 100644
index 0000000000..2501d699ed
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-bottom.png.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005887.12</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-bottom.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAACgSURB
+VDiNY/z//z8DLQALjNHV1/Hi/99/4tgUMTIzvSwrqpAgy+D/f/+Jl5dWYVXU2d2G1UKiDIaBKzcu
+oPB1NAxINZOBgYGBgYksXcPSYIwwJgSITT0kG0xs6iHZYBgglHqGXuSNGjxqMCZgvJDA/ODfn7/y
+hBSycXEwMDAwMPz69oOgoUwszA9ZdPytFzEwMNRS7ERUsIhmLmakVWUKAASbPR7TVsMwAAAAAElF
+TkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>291</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-bottom.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-bottom.svg.xml
new file mode 100644
index 0000000000..646f6ae0d7
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-bottom.svg.xml
@@ -0,0 +1,321 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80047858.77</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-bottom.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n
+<!-- Created with Inkscape (http://www.inkscape.org/) -->\n
+<svg\n
+   xmlns:dc="http://purl.org/dc/elements/1.1/"\n
+   xmlns:cc="http://web.resource.org/cc/"\n
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n
+   xmlns:svg="http://www.w3.org/2000/svg"\n
+   xmlns="http://www.w3.org/2000/svg"\n
+   xmlns:xlink="http://www.w3.org/1999/xlink"\n
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n
+   width="22"\n
+   height="22"\n
+   id="svg5741"\n
+   sodipodi:version="0.32"\n
+   inkscape:version="0.44+devel"\n
+   version="1.0"\n
+   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"\n
+   sodipodi:docname="align-bottom-vertical.svg"\n
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"\n
+   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-bottom-vertical.png"\n
+   inkscape:export-xdpi="90"\n
+   inkscape:export-ydpi="90"\n
+   sodipodi:modified="true">\n
+  <defs\n
+     id="defs5743">\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2968"\n
+       id="linearGradient6938"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2974"\n
+       id="linearGradient6936"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2986"\n
+       id="linearGradient6934"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2980"\n
+       id="linearGradient6932"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+    <linearGradient\n
+       id="linearGradient2968"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2970"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2972"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2968"\n
+       id="linearGradient6930"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2974"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2976"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2978"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2974"\n
+       id="linearGradient6928"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+    <linearGradient\n
+       id="linearGradient2986"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2988"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2990"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2986"\n
+       id="linearGradient6926"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2980"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2982"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2984"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2980"\n
+       id="linearGradient6924"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+  </defs>\n
+  <sodipodi:namedview\n
+     id="base"\n
+     pagecolor="#ffffff"\n
+     bordercolor="#666666"\n
+     borderopacity="1.0"\n
+     inkscape:pageopacity="0.0"\n
+     inkscape:pageshadow="2"\n
+     inkscape:zoom="22.197802"\n
+     inkscape:cx="8"\n
+     inkscape:cy="9.8019802"\n
+     inkscape:current-layer="g6828"\n
+     showgrid="false"\n
+     inkscape:grid-bbox="true"\n
+     inkscape:document-units="px"\n
+     width="22px"\n
+     height="22px"\n
+     inkscape:window-width="1078"\n
+     inkscape:window-height="786"\n
+     inkscape:window-x="243"\n
+     inkscape:window-y="71" />\n
+  <metadata\n
+     id="metadata5746">\n
+    <rdf:RDF>\n
+      <cc:Work\n
+         rdf:about="">\n
+        <dc:format>image/svg+xml</dc:format>\n
+        <dc:type\n
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n
+      </cc:Work>\n
+    </rdf:RDF>\n
+  </metadata>\n
+  <g\n
+     id="layer1"\n
+     inkscape:label="Layer 1"\n
+     inkscape:groupmode="layer">\n
+    <g\n
+       style="display:inline"\n
+       id="g6828"\n
+       transform="translate(30.00011,90.000366)"\n
+       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+       inkscape:export-xdpi="90"\n
+       inkscape:export-ydpi="90">\n
+      <g\n
+         style="display:inline"\n
+         id="g6838"\n
+         transform="translate(-30.00009,-1.0002798)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90">\n
+        <rect\n
+           style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"\n
+           id="rect3052"\n
+           width="12"\n
+           height="7"\n
+           x="69.500122"\n
+           y="12.5"\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+           inkscape:export-xdpi="90"\n
+           inkscape:export-ydpi="90" />\n
+        <rect\n
+           style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"\n
+           id="rect3054"\n
+           width="10"\n
+           height="5.0000305"\n
+           x="70.500122"\n
+           y="13.5"\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           rx="0"\n
+           ry="0"\n
+           inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+           inkscape:export-xdpi="90"\n
+           inkscape:export-ydpi="90" />\n
+        <g\n
+           id="g3056"\n
+           transform="translate(-127,-559)"\n
+           inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+           inkscape:export-xdpi="90"\n
+           inkscape:export-ydpi="90">\n
+          <rect\n
+             transform="matrix(0,-1,1,0,0,0)"\n
+             y="129.49626"\n
+             x="-489.49979"\n
+             height="7.0035982"\n
+             width="17.999748"\n
+             id="rect3058"\n
+             style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />\n
+          <rect\n
+             transform="matrix(0,-1,1,0,0,0)"\n
+             y="130.50006"\n
+             x="-488.50009"\n
+             height="4.9998937"\n
+             width="15.999757"\n
+             id="rect3060"\n
+             style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"\n
+             rx="0"\n
+             ry="0" />\n
+        </g>\n
+        <g\n
+           id="g3294"\n
+           transform="translate(-187,-560)"\n
+           inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+           inkscape:export-xdpi="90"\n
+           inkscape:export-ydpi="90">\n
+          <rect\n
+             y="489.5"\n
+             x="196.49989"\n
+             height="1.9999999"\n
+             width="3.0000916"\n
+             id="rect3296"\n
+             style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+          <path\n
+             style="fill:url(#linearGradient6932);fill-opacity:1;stroke:url(#linearGradient6934);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"\n
+             d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"\n
+             id="path3298"\n
+             sodipodi:nodetypes="cccc" />\n
+          <path\n
+             style="fill:url(#linearGradient6936);fill-opacity:1;stroke:url(#linearGradient6938);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"\n
+             d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"\n
+             id="path3300"\n
+             sodipodi:nodetypes="cccc" />\n
+        </g>\n
+      </g>\n
+    </g>\n
+  </g>\n
+</svg>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10036</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-center.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-center.png.xml
new file mode 100644
index 0000000000..2439198582
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-center.png.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005887.51</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-center.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAE+SURB
+VDiN7ZSxSgNBFEXvziRabbpFO0tTiOQLFmzyA7Yp8gUWFmpjE1GyESws/AtJnybgB4RFLGIXO+N2
+2UqzOy9NWGaSmfhcEBsvDLO8eVzYO+8MiAjfrbgtJ1k/7MRtOeH0ExEqYEhl+R6AS5XlnHYAgEdE
+RqF3132nXO3otaPXCNXPGebbNQz3z00DKaZnpxe7a86rv9DtXdNPtOznR/Eyjovv/L4JlSYQfgB5
+MijqB/WGMwrhPNGk0gSHxyFUmnDa+cZlxDIWfoDnxycIP2AbOzM28nv4YBs6jT0pptHtjTlu4wjV
+rxnmWzUM6+vjZnXmUDRqgbJ+SKMWrKNlW792eR4RWWnTtSkKw0ynsAxtHAqNy9Np0+UiT9cqhf/k
+FTIydr5WZcmz0aZr00Ovy6DwT8kTFfkG4Gq5s7QAUgXDXTFEO1EAAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>449</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-center.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-center.svg.xml
new file mode 100644
index 0000000000..5c8735bcaa
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-center.svg.xml
@@ -0,0 +1,296 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80047886.15</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-center.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n
+<!-- Created with Inkscape (http://www.inkscape.org/) -->\n
+<svg\n
+   xmlns:dc="http://purl.org/dc/elements/1.1/"\n
+   xmlns:cc="http://web.resource.org/cc/"\n
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n
+   xmlns:svg="http://www.w3.org/2000/svg"\n
+   xmlns="http://www.w3.org/2000/svg"\n
+   xmlns:xlink="http://www.w3.org/1999/xlink"\n
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n
+   width="22"\n
+   height="22"\n
+   id="svg10958"\n
+   sodipodi:version="0.32"\n
+   inkscape:version="0.44+devel"\n
+   version="1.0"\n
+   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"\n
+   sodipodi:docname="align-horisontal-center.svg"\n
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"\n
+   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-horisontal-center.png"\n
+   inkscape:export-xdpi="90"\n
+   inkscape:export-ydpi="90"\n
+   sodipodi:modified="true">\n
+  <defs\n
+     id="defs10960">\n
+    <linearGradient\n
+       id="linearGradient2968"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2970"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2972"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2968"\n
+       id="linearGradient4708"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="translate(-395.9999,-981)"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2974"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2976"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2978"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2974"\n
+       id="linearGradient4706"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="translate(-395.9999,-981)"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+    <linearGradient\n
+       id="linearGradient2986"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2988"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2990"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2986"\n
+       id="linearGradient4704"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2980"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2982"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2984"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2980"\n
+       id="linearGradient4702"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+  </defs>\n
+  <sodipodi:namedview\n
+     id="base"\n
+     pagecolor="#ffffff"\n
+     bordercolor="#666666"\n
+     borderopacity="1.0"\n
+     inkscape:pageopacity="0.0"\n
+     inkscape:pageshadow="2"\n
+     inkscape:zoom="11.197802"\n
+     inkscape:cx="16"\n
+     inkscape:cy="11.460711"\n
+     inkscape:current-layer="layer1"\n
+     showgrid="false"\n
+     inkscape:grid-bbox="true"\n
+     inkscape:document-units="px"\n
+     width="22px"\n
+     height="22px"\n
+     inkscape:window-width="797"\n
+     inkscape:window-height="628"\n
+     inkscape:window-x="0"\n
+     inkscape:window-y="47" />\n
+  <metadata\n
+     id="metadata10963">\n
+    <rdf:RDF>\n
+      <cc:Work\n
+         rdf:about="">\n
+        <dc:format>image/svg+xml</dc:format>\n
+        <dc:type\n
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n
+      </cc:Work>\n
+    </rdf:RDF>\n
+  </metadata>\n
+  <g\n
+     id="layer1"\n
+     inkscape:label="Layer 1"\n
+     inkscape:groupmode="layer">\n
+    <g\n
+       style="display:inline"\n
+       id="g4044"\n
+       transform="matrix(0,-1,1,0,-59.999911,-168.00002)"\n
+       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+       inkscape:export-xdpi="90"\n
+       inkscape:export-ydpi="90">\n
+      <rect\n
+         style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"\n
+         id="rect3851"\n
+         width="12"\n
+         height="7"\n
+         x="-76.499878"\n
+         y="-177.5"\n
+         transform="matrix(0,-1,1,0,0,0)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90" />\n
+      <g\n
+         transform="translate(-317,-410)"\n
+         id="g3853"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90"\n
+         style="display:inline">\n
+        <rect\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           y="129.49626"\n
+           x="-489.49979"\n
+           height="7.0035982"\n
+           width="17.999748"\n
+           id="rect3855"\n
+           style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />\n
+        <rect\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           y="130.50006"\n
+           x="-488.50009"\n
+           height="4.9998937"\n
+           width="15.999757"\n
+           id="rect3857"\n
+           style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"\n
+           rx="0"\n
+           ry="0" />\n
+      </g>\n
+      <rect\n
+         style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"\n
+         id="rect3859"\n
+         width="10"\n
+         height="5.0000305"\n
+         x="-75.499878"\n
+         y="-176.5"\n
+         transform="matrix(0,-1,1,0,0,0)"\n
+         rx="0"\n
+         ry="0"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90" />\n
+      <g\n
+         id="g3861"\n
+         transform="translate(-377,-420)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90"\n
+         style="display:inline">\n
+        <rect\n
+           y="489.5"\n
+           x="186.49989"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect3863"\n
+           style="fill:url(#linearGradient4702);fill-opacity:1;stroke:url(#linearGradient4704);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <rect\n
+           y="489.5"\n
+           x="191.49989"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect3865"\n
+           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <rect\n
+           y="489.5"\n
+           x="196.49989"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect3867"\n
+           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <rect\n
+           y="489.5"\n
+           x="201.49989"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect3869"\n
+           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <rect\n
+           transform="scale(-1,-1)"\n
+           y="-491.5"\n
+           x="-209.49998"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect3871"\n
+           style="fill:url(#linearGradient4706);fill-opacity:1;stroke:url(#linearGradient4708);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+      </g>\n
+    </g>\n
+  </g>\n
+</svg>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9324</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-left.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-left.png.xml
new file mode 100644
index 0000000000..4b76516872
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-left.png.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005887.92</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-left.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A
+/wD/oL2nkwAAAAlwSFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB9kHDw0KOb6U2NAAAACxSURBVDjL
+Y/j//z/DhQTmB3/W2zVdSGB+8P//fwZqYBYGBgaGf3/+yjMwMNT++/OXgVqABV2gs7vtPzEaGZmZ
+XpYVVUgQbXB5aRVRLursbhMnycVXblwgaKiOhgFBNUwMNAJDz2AWcsKP3OTGQGxyI2gwGxcHA4wu
+L61iHPxh/OvbDwYYTWzOI5Qjyc55hHIkWTmPmBw5mvMGcc4jlCOxJTfq5TwmFuaHDAwMzVCaKgAA
+auttlK0SZLsAAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>305</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-left.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-left.svg.xml
new file mode 100644
index 0000000000..f26adc831b
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-left.svg.xml
@@ -0,0 +1,279 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80047891.23</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-left.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n
+<!-- Created with Inkscape (http://www.inkscape.org/) -->\n
+<svg\n
+   xmlns:dc="http://purl.org/dc/elements/1.1/"\n
+   xmlns:cc="http://web.resource.org/cc/"\n
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n
+   xmlns:svg="http://www.w3.org/2000/svg"\n
+   xmlns="http://www.w3.org/2000/svg"\n
+   xmlns:xlink="http://www.w3.org/1999/xlink"\n
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n
+   width="22"\n
+   height="22"\n
+   id="svg11272"\n
+   sodipodi:version="0.32"\n
+   inkscape:version="0.44+devel"\n
+   version="1.0"\n
+   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"\n
+   sodipodi:docname="align-horisontal-left.svg"\n
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"\n
+   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-horisontal-left.png"\n
+   inkscape:export-xdpi="90"\n
+   inkscape:export-ydpi="90"\n
+   sodipodi:modified="true">\n
+  <defs\n
+     id="defs11274">\n
+    <linearGradient\n
+       id="linearGradient2968"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2970"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2972"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2968"\n
+       id="linearGradient4716"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2974"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2976"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2978"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2974"\n
+       id="linearGradient4714"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+    <linearGradient\n
+       id="linearGradient2986"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2988"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2990"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2986"\n
+       id="linearGradient4712"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2980"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2982"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2984"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2980"\n
+       id="linearGradient4710"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+  </defs>\n
+  <sodipodi:namedview\n
+     id="base"\n
+     pagecolor="#ffffff"\n
+     bordercolor="#666666"\n
+     borderopacity="1.0"\n
+     inkscape:pageopacity="0.0"\n
+     inkscape:pageshadow="2"\n
+     inkscape:zoom="11.197802"\n
+     inkscape:cx="16"\n
+     inkscape:cy="14.269093"\n
+     inkscape:current-layer="layer1"\n
+     showgrid="false"\n
+     inkscape:grid-bbox="true"\n
+     inkscape:document-units="px"\n
+     width="22px"\n
+     height="22px"\n
+     inkscape:window-width="797"\n
+     inkscape:window-height="628"\n
+     inkscape:window-x="0"\n
+     inkscape:window-y="47" />\n
+  <metadata\n
+     id="metadata11277">\n
+    <rdf:RDF>\n
+      <cc:Work\n
+         rdf:about="">\n
+        <dc:format>image/svg+xml</dc:format>\n
+        <dc:type\n
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n
+      </cc:Work>\n
+    </rdf:RDF>\n
+  </metadata>\n
+  <g\n
+     id="layer1"\n
+     inkscape:label="Layer 1"\n
+     inkscape:groupmode="layer">\n
+    <g\n
+       style="display:inline"\n
+       id="g4065"\n
+       transform="matrix(0,-1,1,0,8.9287758e-5,51.99998)"\n
+       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+       inkscape:export-xdpi="90"\n
+       inkscape:export-ydpi="90">\n
+      <g\n
+         id="g3883"\n
+         transform="translate(-127,-473)"\n
+         style="fill:#d3d7cf;stroke:#888a85;display:inline"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90">\n
+        <rect\n
+           transform="matrix(0,1,1,0,0,0)"\n
+           y="169.5"\n
+           x="475.50012"\n
+           height="7"\n
+           width="12"\n
+           id="rect3885"\n
+           style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <rect\n
+           ry="0"\n
+           rx="0"\n
+           transform="matrix(0,1,1,0,0,0)"\n
+           y="170.5"\n
+           x="476.50012"\n
+           height="5.0000305"\n
+           width="10"\n
+           id="rect3887"\n
+           style="opacity:1;fill:#d3d7cf;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+      </g>\n
+      <g\n
+         id="g3889"\n
+         transform="translate(-97,-469)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90"\n
+         style="display:inline">\n
+        <rect\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           y="129.49626"\n
+           x="-489.49979"\n
+           height="7.0035982"\n
+           width="17.999748"\n
+           id="rect3891"\n
+           style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />\n
+        <rect\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           y="130.50006"\n
+           x="-488.50009"\n
+           height="4.9998937"\n
+           width="15.999757"\n
+           id="rect3893"\n
+           style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"\n
+           rx="0"\n
+           ry="0" />\n
+      </g>\n
+      <g\n
+         id="g3903"\n
+         transform="translate(-157,-488)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90"\n
+         style="display:inline">\n
+        <rect\n
+           y="489.5"\n
+           x="196.49989"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect3905"\n
+           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <path\n
+           style="fill:url(#linearGradient4710);fill-opacity:1;stroke:url(#linearGradient4712);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"\n
+           d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"\n
+           id="path3907"\n
+           sodipodi:nodetypes="cccc" />\n
+        <path\n
+           style="fill:url(#linearGradient4714);fill-opacity:1;stroke:url(#linearGradient4716);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"\n
+           d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"\n
+           id="path3909"\n
+           sodipodi:nodetypes="cccc" />\n
+      </g>\n
+    </g>\n
+  </g>\n
+</svg>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>8562</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-middle.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-middle.png.xml
new file mode 100644
index 0000000000..bd4c047b1a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-middle.png.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005888.33</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-middle.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAFISURB
+VDiN1ZUtT8NQFIbf+9FVbVNjOHBMLAxVQ8JfQOAXElAIBMkoWYJdGEuQKAjJPAKLISHBoAaZQIKj
+TNGpre29iOWWwFp626SCV7UnT57TntyeEikl8gjNxQqAq4vTs5N3GYhqFEQYdQ4PjhYziWUgqnar
+HQl1e53IhlpileHL4Md9vbaW1hktToruyFKLdUeWWqySNLLcjltuYjLYZq/CD5Y8swTr4hNPewsQ
+49Gsa7GCxvkHHnfKMKYuAMArlGBdxnC7ZRgTF5SzN17fXO8DOH6+vgcAiPEIq1sbAABVM6buXC2S
+m4Rcnw9vHprCD+CZpbC7AmmxEj6lqnmFPzhzxlHOmrxx5S8DQLfXkRYAtn8L9mtedzUbdqtNErmV
+b+7/nYrMH0jSDkktJow6cduOMOpkFuvu5Tlx1jUZK9Z9Rd2QvH6mX3fli5YPNTBDAAAAAElFTkSu
+QmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>459</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-middle.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-middle.svg.xml
new file mode 100644
index 0000000000..f00f67355a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-middle.svg.xml
@@ -0,0 +1,294 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80047975.94</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-middle.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n
+<!-- Created with Inkscape (http://www.inkscape.org/) -->\n
+<svg\n
+   xmlns:dc="http://purl.org/dc/elements/1.1/"\n
+   xmlns:cc="http://web.resource.org/cc/"\n
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n
+   xmlns:svg="http://www.w3.org/2000/svg"\n
+   xmlns="http://www.w3.org/2000/svg"\n
+   xmlns:xlink="http://www.w3.org/1999/xlink"\n
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n
+   width="22"\n
+   height="22"\n
+   id="svg10625"\n
+   sodipodi:version="0.32"\n
+   inkscape:version="0.44+devel"\n
+   version="1.0"\n
+   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"\n
+   sodipodi:docname="align-vertical-center.svg"\n
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"\n
+   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-vertical-center.png"\n
+   inkscape:export-xdpi="90"\n
+   inkscape:export-ydpi="90"\n
+   sodipodi:modified="true">\n
+  <defs\n
+     id="defs10627">\n
+    <linearGradient\n
+       id="linearGradient2968"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2970"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2972"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2968"\n
+       id="linearGradient6962"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="translate(-395.9999,-981)"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2974"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2976"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2978"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2974"\n
+       id="linearGradient6960"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="translate(-395.9999,-981)"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+    <linearGradient\n
+       id="linearGradient2986"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2988"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2990"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2986"\n
+       id="linearGradient6958"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2980"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2982"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2984"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2980"\n
+       id="linearGradient6956"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+  </defs>\n
+  <sodipodi:namedview\n
+     id="base"\n
+     pagecolor="#ffffff"\n
+     bordercolor="#666666"\n
+     borderopacity="1.0"\n
+     inkscape:pageopacity="0.0"\n
+     inkscape:pageshadow="2"\n
+     inkscape:zoom="11.197802"\n
+     inkscape:cx="16"\n
+     inkscape:cy="16"\n
+     inkscape:current-layer="layer1"\n
+     showgrid="false"\n
+     inkscape:grid-bbox="true"\n
+     inkscape:document-units="px"\n
+     width="22px"\n
+     height="22px"\n
+     inkscape:window-width="797"\n
+     inkscape:window-height="628"\n
+     inkscape:window-x="0"\n
+     inkscape:window-y="47" />\n
+  <metadata\n
+     id="metadata10630">\n
+    <rdf:RDF>\n
+      <cc:Work\n
+         rdf:about="">\n
+        <dc:format>image/svg+xml</dc:format>\n
+        <dc:type\n
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n
+      </cc:Work>\n
+    </rdf:RDF>\n
+  </metadata>\n
+  <g\n
+     id="layer1"\n
+     inkscape:label="Layer 1"\n
+     inkscape:groupmode="layer">\n
+    <g\n
+       style="display:inline"\n
+       id="g6849"\n
+       transform="translate(-29.999893,91.000089)"\n
+       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+       inkscape:export-xdpi="90"\n
+       inkscape:export-ydpi="90">\n
+      <rect\n
+         style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"\n
+         id="rect1933"\n
+         width="12"\n
+         height="7"\n
+         x="73.500122"\n
+         y="42.5"\n
+         transform="matrix(0,-1,1,0,0,0)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90" />\n
+      <g\n
+         transform="translate(-97,-560)"\n
+         id="g2063"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90">\n
+        <rect\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           y="129.49626"\n
+           x="-489.49979"\n
+           height="7.0035982"\n
+           width="17.999748"\n
+           id="rect1935"\n
+           style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />\n
+        <rect\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           y="130.50006"\n
+           x="-488.50009"\n
+           height="4.9998937"\n
+           width="15.999757"\n
+           id="rect1937"\n
+           style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"\n
+           rx="0"\n
+           ry="0" />\n
+      </g>\n
+      <rect\n
+         style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"\n
+         id="rect1939"\n
+         width="10"\n
+         height="5.0000305"\n
+         x="74.500122"\n
+         y="43.5"\n
+         transform="matrix(0,-1,1,0,0,0)"\n
+         rx="0"\n
+         ry="0"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90" />\n
+      <g\n
+         id="g2992"\n
+         transform="translate(-157,-570)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90">\n
+        <rect\n
+           y="489.5"\n
+           x="186.49989"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect2994"\n
+           style="fill:url(#linearGradient6956);fill-opacity:1;stroke:url(#linearGradient6958);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <rect\n
+           y="489.5"\n
+           x="191.49989"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect2996"\n
+           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <rect\n
+           y="489.5"\n
+           x="196.49989"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect2998"\n
+           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <rect\n
+           y="489.5"\n
+           x="201.49989"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect3000"\n
+           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <rect\n
+           transform="scale(-1,-1)"\n
+           y="-491.5"\n
+           x="-209.49998"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect3002"\n
+           style="fill:url(#linearGradient6960);fill-opacity:1;stroke:url(#linearGradient6962);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+      </g>\n
+    </g>\n
+  </g>\n
+</svg>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9205</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-right.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-right.png.xml
new file mode 100644
index 0000000000..0be66bb050
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-right.png.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005888.75</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-right.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A
+/wD/oL2nkwAAAAlwSFlzAAAN1wAADdcBQiibeAAAAAd0SU1FB9kHDw0LJbOOtd4AAADTSURBVDjL
+7ZM/CsIwGMWfTYfeoKOrg4Mn6OgpKnTqDURQXBTEP+BVepPaoYNj3fQCIpLkudRFsCalFQQfhI8s
+P8L78gNJNHGySBQyCRZZJAqScNFQtFRdAHMtFQBUg7f79ZlK+ybg4cu9Ekyl/cl4avTiw2hmDn4m
+P2bW1ThoKb8HNuq43xt8Xp4NuCOcy2a3qvXd0JR5eexRJgHz2CPJlju2MextFdcbAOBeTtfWsFrm
+1THsb56deSaGWZlnY9jXzUtDUCYB0xDNmue44gRgWU48AEDJ8uLbLLITAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>339</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-right.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-right.svg.xml
new file mode 100644
index 0000000000..dfcbcf670e
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-right.svg.xml
@@ -0,0 +1,277 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80047895.93</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-right.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n
+<!-- Created with Inkscape (http://www.inkscape.org/) -->\n
+<svg\n
+   xmlns:dc="http://purl.org/dc/elements/1.1/"\n
+   xmlns:cc="http://web.resource.org/cc/"\n
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n
+   xmlns:svg="http://www.w3.org/2000/svg"\n
+   xmlns="http://www.w3.org/2000/svg"\n
+   xmlns:xlink="http://www.w3.org/1999/xlink"\n
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n
+   width="22"\n
+   height="22"\n
+   id="svg11187"\n
+   sodipodi:version="0.32"\n
+   inkscape:version="0.44+devel"\n
+   version="1.0"\n
+   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"\n
+   sodipodi:docname="align-horisontal-right.svg"\n
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"\n
+   sodipodi:modified="TRUE"\n
+   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-horisontal-right.png"\n
+   inkscape:export-xdpi="90"\n
+   inkscape:export-ydpi="90">\n
+  <defs\n
+     id="defs11189">\n
+    <linearGradient\n
+       id="linearGradient2968"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2970"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2972"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2968"\n
+       id="linearGradient4732"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2974"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2976"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2978"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2974"\n
+       id="linearGradient4730"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+    <linearGradient\n
+       id="linearGradient2986"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2988"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2990"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2986"\n
+       id="linearGradient4728"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2980"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2982"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2984"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2980"\n
+       id="linearGradient4726"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+  </defs>\n
+  <sodipodi:namedview\n
+     id="base"\n
+     pagecolor="#ffffff"\n
+     bordercolor="#666666"\n
+     borderopacity="1.0"\n
+     inkscape:pageopacity="0.0"\n
+     inkscape:pageshadow="2"\n
+     inkscape:zoom="11.197802"\n
+     inkscape:cx="16"\n
+     inkscape:cy="16"\n
+     inkscape:current-layer="layer1"\n
+     showgrid="false"\n
+     inkscape:grid-bbox="true"\n
+     inkscape:document-units="px"\n
+     width="22px"\n
+     height="22px"\n
+     inkscape:window-width="797"\n
+     inkscape:window-height="628"\n
+     inkscape:window-x="0"\n
+     inkscape:window-y="47" />\n
+  <metadata\n
+     id="metadata11192">\n
+    <rdf:RDF>\n
+      <cc:Work\n
+         rdf:about="">\n
+        <dc:format>image/svg+xml</dc:format>\n
+        <dc:type\n
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n
+      </cc:Work>\n
+    </rdf:RDF>\n
+  </metadata>\n
+  <g\n
+     id="layer1"\n
+     inkscape:label="Layer 1"\n
+     inkscape:groupmode="layer">\n
+    <g\n
+       style="display:inline"\n
+       id="g4025"\n
+       transform="matrix(0,-1,1,0,-60.999914,-198.00011)"\n
+       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+       inkscape:export-xdpi="90"\n
+       inkscape:export-ydpi="90">\n
+      <rect\n
+         style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"\n
+         id="rect3873"\n
+         width="12"\n
+         height="7"\n
+         x="-80.499878"\n
+         y="-207.5"\n
+         transform="matrix(0,-1,1,0,0,0)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90" />\n
+      <rect\n
+         style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"\n
+         id="rect3875"\n
+         width="10"\n
+         height="5.0000305"\n
+         x="-79.499878"\n
+         y="-206.5"\n
+         transform="matrix(0,-1,1,0,0,0)"\n
+         rx="0"\n
+         ry="0"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90" />\n
+      <g\n
+         id="g3877"\n
+         transform="translate(-347,-409)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90"\n
+         style="display:inline">\n
+        <rect\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           y="129.49626"\n
+           x="-489.49979"\n
+           height="7.0035982"\n
+           width="17.999748"\n
+           id="rect3879"\n
+           style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />\n
+        <rect\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           y="130.50006"\n
+           x="-488.50009"\n
+           height="4.9998937"\n
+           width="15.999757"\n
+           id="rect3881"\n
+           style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"\n
+           rx="0"\n
+           ry="0" />\n
+      </g>\n
+      <g\n
+         id="g3919"\n
+         transform="translate(-407,-410)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90"\n
+         style="display:inline">\n
+        <rect\n
+           y="489.5"\n
+           x="196.49989"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect3921"\n
+           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <path\n
+           style="fill:url(#linearGradient4726);fill-opacity:1;stroke:url(#linearGradient4728);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"\n
+           d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"\n
+           id="path3923"\n
+           sodipodi:nodetypes="cccc" />\n
+        <path\n
+           style="fill:url(#linearGradient4730);fill-opacity:1;stroke:url(#linearGradient4732);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"\n
+           d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"\n
+           id="path3925"\n
+           sodipodi:nodetypes="cccc" />\n
+      </g>\n
+    </g>\n
+  </g>\n
+</svg>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>8573</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-top.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-top.png.xml
new file mode 100644
index 0000000000..6a05488b36
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-top.png.xml
@@ -0,0 +1,53 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005889.15</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-top.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAACcSURB
+VDiNY/z//z8DLQDjhQTmB//+/JUnpJCNi4OBgYGB4de3HwQNZWJhfsii42+9iIGBoZZiJ6KCRTRz
+McP///8Z/v//z9DR1fr//////y9fP4+C/////x8qR5I6Jsp9jcPVowaPGkw/g1nI1aijYUBdgxmZ
+mV52dreJ45Ij2+CyogoJYtQNvcijX6ogFNskG0xsbBMLGGlVmQIAKi9sXildaIIAAAAASUVORK5C
+YII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>287</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-top.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-top.svg.xml
new file mode 100644
index 0000000000..c1b583c8c0
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/align-top.svg.xml
@@ -0,0 +1,277 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80047901.81</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>align-top.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n
+<!-- Created with Inkscape (http://www.inkscape.org/) -->\n
+<svg\n
+   xmlns:dc="http://purl.org/dc/elements/1.1/"\n
+   xmlns:cc="http://web.resource.org/cc/"\n
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n
+   xmlns:svg="http://www.w3.org/2000/svg"\n
+   xmlns="http://www.w3.org/2000/svg"\n
+   xmlns:xlink="http://www.w3.org/1999/xlink"\n
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"\n
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n
+   width="22"\n
+   height="22"\n
+   id="svg10699"\n
+   sodipodi:version="0.32"\n
+   inkscape:version="0.44+devel"\n
+   version="1.0"\n
+   sodipodi:docbase="/home/andreas/project/inkscape/22x22/actions"\n
+   sodipodi:docname="align-vertical-bottom.svg"\n
+   inkscape:output_extension="org.inkscape.output.svg.inkscape"\n
+   inkscape:export-filename="/home/andreas/project/inkscape/22x22/actions/align-vertical-bottom.png"\n
+   inkscape:export-xdpi="90"\n
+   inkscape:export-ydpi="90"\n
+   sodipodi:modified="true">\n
+  <defs\n
+     id="defs10701">\n
+    <linearGradient\n
+       id="linearGradient2968"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2970"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2972"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2968"\n
+       id="linearGradient6954"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2974"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2976"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2978"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2974"\n
+       id="linearGradient6952"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(-1,0,0,-1,395.9999,981)"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+    <linearGradient\n
+       id="linearGradient2986"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2988"\n
+         offset="0"\n
+         style="stop-color:#ce5c00;stop-opacity:1" />\n
+      <stop\n
+         id="stop2990"\n
+         offset="1"\n
+         style="stop-color:#ce5c00;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2986"\n
+       id="linearGradient6950"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.60938"\n
+       y1="489.35938"\n
+       x2="186.93732"\n
+       y2="489.35938" />\n
+    <linearGradient\n
+       id="linearGradient2980"\n
+       inkscape:collect="always">\n
+      <stop\n
+         id="stop2982"\n
+         offset="0"\n
+         style="stop-color:#fcaf3e;stop-opacity:1" />\n
+      <stop\n
+         id="stop2984"\n
+         offset="1"\n
+         style="stop-color:#fcaf3e;stop-opacity:0" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2980"\n
+       id="linearGradient6948"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="187.81554"\n
+       y1="489.54688"\n
+       x2="187.1716"\n
+       y2="489.54688" />\n
+  </defs>\n
+  <sodipodi:namedview\n
+     id="base"\n
+     pagecolor="#ffffff"\n
+     bordercolor="#666666"\n
+     borderopacity="1.0"\n
+     inkscape:pageopacity="0.0"\n
+     inkscape:pageshadow="2"\n
+     inkscape:zoom="11.197802"\n
+     inkscape:cx="16"\n
+     inkscape:cy="16"\n
+     inkscape:current-layer="layer1"\n
+     showgrid="false"\n
+     inkscape:grid-bbox="true"\n
+     inkscape:document-units="px"\n
+     width="22px"\n
+     height="22px"\n
+     inkscape:window-width="797"\n
+     inkscape:window-height="628"\n
+     inkscape:window-x="0"\n
+     inkscape:window-y="47" />\n
+  <metadata\n
+     id="metadata10704">\n
+    <rdf:RDF>\n
+      <cc:Work\n
+         rdf:about="">\n
+        <dc:format>image/svg+xml</dc:format>\n
+        <dc:type\n
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n
+      </cc:Work>\n
+    </rdf:RDF>\n
+  </metadata>\n
+  <g\n
+     id="layer1"\n
+     inkscape:label="Layer 1"\n
+     inkscape:groupmode="layer">\n
+    <g\n
+       style="display:inline"\n
+       id="g6862"\n
+       transform="translate(-59.99998,90)"\n
+       inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+       inkscape:export-xdpi="90"\n
+       inkscape:export-ydpi="90">\n
+      <g\n
+         id="g3084"\n
+         transform="translate(-97,-563)"\n
+         style="fill:#d3d7cf;stroke:#888a85"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90">\n
+        <rect\n
+           transform="matrix(0,1,1,0,0,0)"\n
+           y="169.5"\n
+           x="475.50012"\n
+           height="7"\n
+           width="12"\n
+           id="rect3086"\n
+           style="fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <rect\n
+           ry="0"\n
+           rx="0"\n
+           transform="matrix(0,1,1,0,0,0)"\n
+           y="170.5"\n
+           x="476.50012"\n
+           height="5.0000305"\n
+           width="10"\n
+           id="rect3088"\n
+           style="opacity:1;fill:#d3d7cf;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+      </g>\n
+      <g\n
+         id="g3090"\n
+         transform="translate(-67,-559)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90">\n
+        <rect\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           y="129.49626"\n
+           x="-489.49979"\n
+           height="7.0035982"\n
+           width="17.999748"\n
+           id="rect3092"\n
+           style="color:#000000;fill:#d3d7cf;fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00024867;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline" />\n
+        <rect\n
+           transform="matrix(0,-1,1,0,0,0)"\n
+           y="130.50006"\n
+           x="-488.50009"\n
+           height="4.9998937"\n
+           width="15.999757"\n
+           id="rect3094"\n
+           style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00024891;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:inline"\n
+           rx="0"\n
+           ry="0" />\n
+      </g>\n
+      <g\n
+         id="g3262"\n
+         transform="translate(-127,-578)"\n
+         inkscape:export-filename="/home/lapo/Desktop/align-distribute.tar.gz_FILES/align-stuff.png"\n
+         inkscape:export-xdpi="90"\n
+         inkscape:export-ydpi="90">\n
+        <rect\n
+           y="489.5"\n
+           x="196.49989"\n
+           height="1.9999999"\n
+           width="3.0000916"\n
+           id="rect3264"\n
+           style="fill:#fcaf3e;fill-opacity:1;stroke:#ce5c00;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />\n
+        <path\n
+           style="fill:url(#linearGradient6948);fill-opacity:1;stroke:url(#linearGradient6950);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"\n
+           d="M 197.49998,491.5 L 186.49989,491.5 L 186.49989,489.5 L 197.49998,489.5"\n
+           id="path3266"\n
+           sodipodi:nodetypes="cccc" />\n
+        <path\n
+           style="fill:url(#linearGradient6952);fill-opacity:1;stroke:url(#linearGradient6954);stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:0;stroke-dashoffset:0;stroke-opacity:1"\n
+           d="M 198.49989,489.5 L 209.49998,489.5 L 209.49998,491.5 L 198.49989,491.5"\n
+           id="path3268"\n
+           sodipodi:nodetypes="cccc" />\n
+      </g>\n
+    </g>\n
+  </g>\n
+</svg>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>8460</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/bold.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/bold.png.xml
new file mode 100644
index 0000000000..a5de1f42a3
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/bold.png.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005891.69</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>bold.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAK
+T2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AU
+kSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXX
+Pues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgAB
+eNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAt
+AGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3
+AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dX
+Lh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+
+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk
+5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd
+0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA
+4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzA
+BhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/ph
+CJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5
+h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+
+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
+WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQ
+AkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+Io
+UspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdp
+r+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZ
+D5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61Mb
+U2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY
+/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllir
+SKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79u
+p+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6Vh
+lWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1
+mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lO
+k06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7Ry
+FDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3I
+veRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+B
+Z7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/
+0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
+DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5q
+PNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIs
+OpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5
+hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQ
+rAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9
+rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1d
+T1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aX
+Dm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7
+vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3S
+PVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKa
+RptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO
+32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21
+e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfV
+P1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i
+/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8
+IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
+YAAAOpgAABdvkl/FRgAAAMtJREFUeNrslcENgzAMRR/dICt0BVZgBVboCpmlrMIKdAQYAUZwL0Gy
+XCCkJDe+5EOI5Iftj6lEhJJ6UFg3IC4R+QlATsYI+KN8ewCAGphVsl7leYXkGuRSAQDDDmB9AV3N
+ewsQm8FycPcBJnVuSw95yQ1ogKc6dykuWtXvzMAbA/h/XGQBWzHY3l8BxGxa5wQQ+q/bNAMu1aZH
+msxgXagsq02X0svOXQW4yF1rqulSvgO77EYFbMyemsOz0y46u6772Lqu7p9+TN8BAI59T3/Wh0o6
+AAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>2976</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/cancel.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/cancel.png.xml
new file mode 100644
index 0000000000..d3204d5231
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/cancel.png.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005891.87</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>cancel.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
+WXMAAAsTAAALEwEAmpwYAAAACXZwQWcAAAAYAAAAGAB4TKWmAAAElklEQVRIx72VW2hUVxSGv33O
+TCYzySTe0LRWDWmrqcGC04wYo8GiUkoh0JeI2IDSFlsoxZZqMfqgklgvUB/6UGjfIhQqCCK11ZpQ
+iqItaIoxF02btLmNM5PEmcnc55x9dh9mMhqdIC20Gxb7YW/+b611/r0O/MdLPO3CMVjylHvBFrD+
+FeAEfKbgYwGy0LkCTcA5CW+1gPpHgBNwqrqh4YMtTU3FusMBSuVDWRaYJmYiwY/t7anBvr5vJewu
+BCkIOA6nq+vr39u6Y0dxpK+PxPg4WBZYVlZcSpSUFC9axPzVq7l89mxqqLf3m0/h7ce19ALiX1TX
+1b27dedOZ6Svj6TfjxC5PJR6uCuFGYthxmLU1NfbQpFI9SuBwLIO+G5OwHH4cpXXu3tbc7Mz3NND
+Mhgk7HQilcJhWbPaFBOC6aIibOEwRjzO6nXr7FPhcE3txERFB/zwBOA4fL3K42netmuXM3T7Nslg
+kFBxMaKqipRhYKXTeUhUCKJuN641a4gEAtjCYcxEgpc8HnsoGl1TOzGxsAMuA2j5j2GzvbOtudkZ
+6uoi5feTUYq0abJg+3Yq9u4l4XYzLQQxTSNWWsrK1laW79mDIQRJpYgFgzwYHGTL5s1Ozen8aEY3
+D9B1HU0IkvfvQ64lLtPEf/o0QgiW7t9PoqyMWEkJL7a2Yi8p4feDByk2DByAUopYIICuaSj10Ey2
+Wb5WKusUIUApyi2LyNQUvlOnWH7gAM8fO4auaWhKMXDoEPh8uDMZlFIopbCUAikfmuHRCmbcMWPD
+GSuWZTIwOcnU+fPYnU7sLhfBCxcwx8by4pZlYc1A5Ow3aXscgGVlK9Gy7KiuI4uLWdzYiCYEGvBM
+YyORW7cwpUR1dyMNA8swUJoGRUXZJOesQMrso5KSKBBzOnnh6FHspaX8efIkffv2oQlBzZEjTI2P
+E5GSeE8P8Xv3iPX3I4eHsQyjMGBGXElJSkri8+axsq0N3eXij7Y2Ul1dhM6cof/wYewOBxva20k5
+HCTITjvb4sUot7twi6SUGIODiKkpEj4fpmHAxo1Eb97k/sWLZK5fp2R0lDIgeukS3ZrGc01NOMrL
+MckOId3hQFRUFB4VWy3LHBserlvb0GDPBINkJiawR6M8CARQIyM4BwawckLa9DShO3fIxOM4QiEy
+IyM4V6ygyuul58YNwz85ebsDvpoF6ICrdYmEGh0b27B20yZ7JhYj5fOhDQ2h+/15cSsXdinJ9PaS
+HhmhpLKSSq+XO729xm937/5qwaudYD4xizrg6oZkUo6Oj9d76uvtmXicdCSSF1UF9tLKSlbU1vJL
+Z2e6f2zsJwteb4H0nNO0A67VpVLGqM+30eP12jOpFOlkEnQdpeugaahclFVVsczj4dqVK6mhcPh7
+C95syWWeH0E8uezAkg/hkxq3+/031q8vss+fjygtzT6i3D9BSYlyueg8d87ojkR+/hwOWhAEAkBy
+LkAJsAx4FljaBNtfhtcAobJ3hQIhst1RAtQA9LfDWWAc8AF/AYOAMVcFAnABbqAcWAgsABYB83IV
+xoAI8CAXIWAaCPNI//+X9TcPkGTwoHzGPgAAACV0RVh0Y3JlYXRlLWRhdGUAMjAwOC0xMi0wM1Qx
+MjoyMToxNCswMDowMHFxo9QAAAAldEVYdG1vZGlmeS1kYXRlADIwMDgtMTItMDNUMTI6MjE6MTQr
+MDA6MDAuwNXgAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1389</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/circle.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/circle.png.xml
new file mode 100644
index 0000000000..5ab7479232
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/circle.png.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005892.06</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>circle.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAONSURB
+VEiJtZZdaBxVFMf/8+XMbBI3u0mIdRPNU3FfFIK0U4iJxtJuQxSiEkF8EwkYDHnqS6VF8QNEEMSA
+ktDqi9Q++QXWJmlEiWllA218sd0VdH0oSbObnd12Jztzz70+JLud/TR56IVhZg73/H/nnHvm3pGE
+ELifQ97PZGl37MunWQZTU1N6KpV6m4gGOecHiShMROCcZ4noJhEtO47zTjwet/cNGBsbGyWi85qm
+SdFodN2yLDpiWSFN06Tl5eX00uUl+dra9a5sNmsQ0cTq6uoXewKMj48rxWLxW875iVgsdmNycvJR
+cK6AuA7GACJgx8WFInuz587+MzM7+xhjbMUwjGPxeLzQFDA6OvqDpmnDMzMz9sMHDjwIxgIgviPM
+aOdeurgANMW5nckWTrzyspa17UQymXyyIWBkZGSEc/793NxcuicS6QJjPlF+T7gCxAFZQtb17P7Y
+0VbG2GQqlfq8pFnuoomJCY0x9nUsFvurJxJphccqhRhDJXAXxBjgbKNdU41Tb7yZdF33k97e3nAN
+IJFIvCXLsjI9PR2B55llMUZ1QNU2AnJ39NdefKkn2NpWyOfzH9cAiOjpvr6+2yBS7jlXQRrZS+BC
+wRzo708T0aEagOd5UcuyGIj0SmfWAFTH7hTl54ae0Rhjj5R01dIDY6xjaHBIhuc1WMzdBa2xleZx
+wGMYPnS4y3VdU5KkNiFEXvVlIMmyJJUXzt85ewUJQBGKxDkvB+8vUebywsIWBHxp1+safwBVZZOA
+pStXNgBsCyG2qgE3Ls3PKwDcyvSbtGc1SJbFhUsXiwD+rddFv15fW+uErLByCVi1YJ32LNk5Bwy9
+sHB1JQRgtQag6/q7di6nvvfRh3/DeMD532+g2t5iuue++yZ1a3OzHcDJultFd3f3q0T05bXFpXRP
+a1sXCg7AeO1ilrqm9K6qsDU133H0KZM4PyOEeL8uAACCweAvAdN8/I/Fn71O3WiBnTNrIvZvdgGz
+aAvaPvjC8+7GViYthIj69WpOtFwudyxr239G+p8IfTD7WQKh9rswDIKm7EwQAFQVCAQ4OkN3z85f
+TIafHWzZ2MpsAhio1mt44EiS9DqAT0PB4J3hw9bG+PGYcvzIwEOaLMuLK7/dOv/Tj+7i71c71zPp
+DgCn/WWpGEKIhheAMICvANwE4OzGLwBsA0gCuACgt5lG0zO5TlZhAJoQYn3PPvf7t+U/97n8ZyXj
+SiAAAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1040</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/clear.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/clear.png.xml
new file mode 100644
index 0000000000..4244ed4aae
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/clear.png.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005892.24</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>clear.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
+WXMAAA3WAAAN1gGQb3mcAAAACXZwQWcAAAAYAAAAGAB4TKWmAAACVUlEQVRIx7WUvWsUURTFf/fO
+bCQJfpBNMi6ClYWIlSAmgv+ATQorO7G1FkFMIyp+/BMWNmIh24siCOqGNAa1MtvEJXEhiKzr7k4y
+12LefGwya7KrXhhm5jLvnHfOeXfgP5f8C5CtjQUBSkDoB1UbSHD/4d3bwOIw4CoR5SMdKjMtPDW6
+PX188UL9mh9U2wD+ju8Xb1y/uW9wsxDCT0Ttl4RWxphg89vnK4b3amtj4akfVLt+0cJ6vY7neZgZ
+IoJILDT/DEZJGkzoC7zSODZ2CfGmODT9GoueXRb7vgx81MJgHFACZmZghplhkWEGsI1KC5EuJtOg
+U4ACB4DtCeAwrrMnAQIkPRVUQcQjkoNEzCBbqxC+gWiDXqeG2M8VYHNPAlWN7yKIaEYqiopHxFE6
+zNOzE9Bbwg+fs/plDSF6AjSKQk4JVDXLAAHJZyCggjCGyTFCymxzivHJErWVH5w52fgA/BqoYGm5
+1h9qTk16kajyMJ3EvOPI2Gla7RJ+UG0n81BIcO7sHJVKZYfnZDapuHenVjRWmQaW1UCL1tfX48Wm
+sT2pLaSqXPa4DwprIEFymVi6252zkBKJFFsxiCBdDKgLNfYcRN170nebj/u7q5D43fu3u3YoEluU
+gOczkCSk/RLMz51ndnY2mwF1YaMuYEFQVPOnqtikgRk0m82+Y0p+spGUKK90qAwyNs2F7IBj1KzH
+CATp7jQL2OEmkWfTbZKbgyEVpKck+WXQH3CsiuEUBEGwp3P7rT6CKIruPHh079bfAH5da1ztc+BP
+7ozIYSOuG61+Az6olj0v77sJAAAAJXRFWHRjcmVhdGUtZGF0ZQAyMDA4LTEyLTAzVDEyOjIxOjE0
+KzAwOjAwcXGj1AAAACV0RVh0bW9kaWZ5LWRhdGUAMjAwOC0xMi0wM1QxMjoyMToxNCswMDowMC7A
+1eAAAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>812</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/clone.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/clone.png.xml
new file mode 100644
index 0000000000..caf8506b56
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/clone.png.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005892.43</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>clone.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAACXBIWXMAAAsSAAALEgHS3X78AAAA
+B3RJTUUH1gEaFRYwKtsvOQAAAmpJREFUOMvFlU9IVFEUxn/3zjyd1CEDp0L8k0gFKRXkJiowgsjo
+D4xtZpG7qBZBsy5rU6sWs6qIICiEoYUICS0iKMJoEf2BJNOUQC2J1CTRScd3Twvv0+dLnWKCLhze
+4zv3fOd7536XB/97iYj6m/05N6cS+ijwwAedSKZNe14qUwl98tbZcpkYHZDRkT4Z6OmSVEJLKqEb
+c9XqHPl7iSvPEQNudhY3k+HwxRcAT3LV5iLGiGF0uAc3O83E+GeKitd5KWe1unAu4onxr/wYG6K7
+qw2J1qJLKhZ65qP4UMflvRTGttBw/BI1dY28utsCcBXI5uMKnUroY0CHDzuXTJubgJuPYuNZ7cyd
+KQCSaXMDEFvrrCQuvIzFdgJvgngkEvHyQaW7kmnzNjhzFSDdDPQ1nW+jdH0FM5kxnEgp9y8cWNgT
+b23HiZQC8P1LP4+unwaoS6bN+9WIJd76kMzkwB9doDXRcrI/FZ3X4iTTRtsRLRnFQoOyqgay09UW
+1SCLX+gaF4VC3Bm0U4SIi1IhP5drySVsSbXX5NvIR/q7n6GUQofg8dPX9PQN8aF3kMqKGDvqa2g+
+sgelFVpDbX2TRxwFpoA5wIQtaSFQDBAOOVasgCgO7m+gwAmzoWwt1ZUxGvdtn7fT716IWsXTQeIi
+ADEusY2bUHrRj83xKnr7h9m2tXJ+ZkrNEy8ld4CQZ2FvxgKod8Nyitbdt1c6rMHO5fGXn6TF3kTX
+s52yXbxRlAAR2137FCifAON7ztnIAJN2DLOAKN/hOUCBDceHL/mRWELPKq6NWat4znOFCthNBQK/
+NwPvQUxWyP/b9QswAM1biWwRogAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>715</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/conn.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/conn.svg.xml
new file mode 100644
index 0000000000..4cc52d7508
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/conn.svg.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80047904.21</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>conn.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<svg xmlns="http://www.w3.org/2000/svg">\n
+\t<g id="mode_connect">\n
+\t\t<svg viewBox="0 0 24 24" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg">\n
+\t\t <defs>\n
+\n
+\t\t  <line stroke-width="5" fill="none" stroke="#000000" id="svg_2" y2="121" x2="136" y1="7" x1="136">\n
+\t\t   <stop stop-opacity="1" stop-color="#4687a0"/>\n
+\t\t   <stop stop-opacity="1" stop-color="#ffffff"/>\n
+\t\t  </line>\n
+\t\t  <linearGradient y2="0.18359" x2="0.29688" y1="0.92188" x1="0.62109" id="svg_3">\n
+\t\t   <stop stop-opacity="1" stop-color="#417dad" offset="0"/>\n
+\t\t   <stop stop-opacity="1" stop-color="#ffffff" offset="1"/>\n
+\t\t  </linearGradient>\n
+\t\t </defs>\n
+\t\t <g>\n
+\t\t  <title>Layer 1</title>\n
+\t\t  <line x1="5.64676" y1="5.60056" x2="18.50037" y2="18.62557" id="svg_5" stroke="#000000" fill="none"/>\n
+\t\t  <rect opacity="0.75" stroke-width="0.5" x="0.5" y="0.5" width="9.625" height="5.125" id="svg_1" fill="url(#svg_3)" stroke="#000000"/>\n
+\t\t  <rect opacity="0.75" id="svg_4" stroke-width="0.5" x="13.75" y="18.25" width="9.625" height="5.125" fill="url(#svg_3)" stroke="#000000"/>\n
+\t\t  <g id="svg_9">\n
+\t\t   <path d="m14.57119,9.12143l-0.98244,5.18852l2.70861,-4.36084" id="svg_6" fill="#a0a0a0" stroke="#000000"/>\n
+\t\t   <path d="m14.27564,6.76258c-0.25872,0.72562 -0.40735,1.65632 -0.33812,2.15432l2.90784,1.2509c0.30961,-0.21212 1.08198,-1.1814 1.08198,-1.73736" id="svg_7" fill="url(#svg_3)" stroke="#000000"/>\n
+\t\t   <path d="m16.28893,0.37519l-2.46413,5.9304l4.76481,2.39435l2.13178,-4.96735" id="svg_8" fill="url(#svg_3)" stroke="#000000"/>\n
+\t\t  </g>\n
+\t\t </g>\n
+\t\t</svg>\n
+\t</g>\n
+\t<g id="svg_eof"/>\n
+</svg>
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1575</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/copy.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/copy.png.xml
new file mode 100644
index 0000000000..ff707172d7
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/copy.png.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005892.81</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>copy.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
+WXMAAAsTAAALEwEAmpwYAAAACXZwQWcAAAAYAAAAGAB4TKWmAAACfUlEQVRIx7VVTU8TURQ9972Z
+tnTR7voLCjPj/zCG6MaViUvXLCAIBuLaBLCgkigxJK7duHVlQgiUEAlCwketa1wAC0vEdPrad10M
+89ppS2ea6NvMZObcc+6552YG+M+HAKD0aukRa+0OXSxEZXpy5uMgjAUAqtFwns3MD93d6zfLThzG
+AgAhCABQq/1KTJ7L5UFEsTgrDsDM1Gg0ZNczpFJpMDMPLVCt/oiQ7x/sPb6+/l0E0EFGIAqEXi4v
+9JstEdHn6anZBz0CY2Oj5t73fbmx+aU4+3SOmDl+Hm12lFYWx2MdqKbCTed0dVVLyo9cLh/WYaCD
+er2O7fJmYuKbsSbJIAAp1YgUnJ6expK7rjdYYHS0iICTAwc7W+ad67q3EofXgQ6YGdVq1QgopSIF
+lUqlL3kbwvC8O70CIYCZUSx2OPB97OxuG7DneRHiqACDiJI4CDJgZijV7HHQSdzZnOe5YAbS6XR/
+Aa21cRAIAL5fx+7XsgE7jmO67XZAJGBZEkopaK17BVqtVsQuc3TlmBknJ+EWRXHZbBb5fB4AUCgU
+DFcfgZA07IoiAo4zFiEGGEJISCmhtYYQwkyjK+RgY0ZGRsyoiAi2bXeFSiBqb41t2yASYGZYlmVC
+Lu9sGRELAOxU6vvbtdW+S05ERrSzeyEEiAS01ni//q5f6YERGPRXWlh6MdedTzgWZg7GA8b43fsA
+gIvLc+x/2wMT1nrW9LbTmY9tW5AyKAtcEKQMfhdnP89wdHyITDa7OjkxtZ5YQCmFTCYT+RRI2XbR
+amlcXJ7j6PgQEPRkcmLqgxlxHHlpZfFTs9l82A46ehgMBrQAlTX43vzs8z9Jmv5n5y80ZZ6w0ww8
+FQAAACV0RVh0Y3JlYXRlLWRhdGUAMjAwOC0xMi0wM1QxMjoyMToxNCswMDowMHFxo9QAAAAldEVY
+dG1vZGlmeS1kYXRlADIwMDgtMTItMDNUMTI6MjE6MTQrMDA6MDAuwNXgAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>852</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/cut.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/cut.png.xml
new file mode 100644
index 0000000000..8e4103ceae
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/cut.png.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005892.99</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>cut.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
+WXMAABwgAAAcIAHND5ueAAAACXZwQWcAAAAYAAAAGAB4TKWmAAAEN0lEQVRIx72UXUgcVxTH/3f2
+zs5sVpP4sTFmV91Cm1iaGNuSakRDEm1pSx9CQFqKpC+CUptW+qDClhYLgSQNaClCSEMeQih+BGMN
+JS2mEtMUax9qSkzSSCvGqtu4WXW/Z2fundsHVxBZ131pD1yGmfPxO/87517gPzaS7GPHl+dGTdMs
+Nwyjqq3Fc2ej5NNnTzUD6FBV21zzhx+7ksVIyZIkSSo7cKAMuTm5Q6m6U1X1izffeAuSJDlPnz11
+LS2A3W5//7VXXyfuwmdgkSzq1xfPtydL/Kqrs9u5y0mztmfjUNVh7MzbuS8tAGPMmZvjAABUHToM
+AJ4kKovi8fjb5WUV4JxDVVVEopGCtADxeHxy8Po102q1QqYy8vLyLVe+uTy8NiYzM3PgYHkFGOOQ
+JAm3Rn5EKBRqTQsA4JjvqY9oWgxCCJTs249wOHRkTfeVnPNSl7MQQgg8WXiCeFxfbmvxdKYFaGvx
+PAZwaWCwX9jtdggh8OL+l9Hb1/0IADIyMr47eqQGjDFQSjFyexixWLR0o0FIpgBtLZ56TdMCD/+4
+LwghyM11IBQK7r546ULn9m1ZW1XFBiEExu/+BkVRehJNpQ9IWOMvY6Nky5aVYgfLK5GZmflRQWER
+hBCQJILZuRn9ZFPzOylqbAxoa/H0mKY58tOd26bFYoEsy1AUFZwxEELww9D3CIVC1djEpE387/01
+9acAERBCoHj384hEwpiangK1WB6kOuWrZknlvDk0HKiuOWr7Z3KysrikFIZhQNd1+B8+wInGph2b
+FU9HAYo/adfj09OY+H0cxcXFJBYKwTf5CANWa3s6gKSX3RXAvU1V2yVCauOMqXv3vkD8Nhv+HvsV
+BWWvICcWw8TEfaFQqplC9AU07bM6YDotwIDV2ihbLJ8WZWXlq7IMWVoROTYzIxLxoqywkACAYZrQ
+DAOPl5a8BuefH9P18ym3qN/lrOFCtO5xOPKXYzH/hNe75I9GsRAOQ+f8DK09fkHn/MxCOAx/NIoJ
+r3dpORbz73E48rkQrf0uZ03qfxCN1le43W5/JIKFcLhX57zLJsuYDwZhAnePd/c1ABifDwZhk2Xo
+nHcthMO9/kgEFW63G9FofWqAYTyrUoqIrjMf54MKpQ12qxUSIXMngOsA1DrgW4mQObvVCoXSBh/n
+gxFdZyqlELr+3Pptp2thxGCuoKZhq6qihNIbruxsjM/P+2YY6wXgBCAAYIaxHni9dS+5XDtmFxdv
+yJSyoKZBYtwJQAVgAOAAxKoCAkCyUnp5NhBAhixTm6LgnteLRSF+/oCxPgDZieVoYuzqUyFG73m9
+sCkKMmSZzgYCMCntBqBg5XyR9VNkAUCvqmqLJES1KQTxCnHzpGH0J3zmOtWsg9LaXZJUTQnhcUJu
+vatp5wCwtQrWjylZVZNYFIC8rhEp8W4mivE1TyS20cT/Zf8CpcPXnWr2kjAAAAAldEVYdGNyZWF0
+ZS1kYXRlADIwMDgtMTItMDNUMTI6MjE6MTQrMDA6MDBxcaPUAAAAJXRFWHRtb2RpZnktZGF0ZQAy
+MDA4LTEyLTAzVDEyOjIxOjE0KzAwOjAwLsDV4AAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1294</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/delete.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/delete.png.xml
new file mode 100644
index 0000000000..f981e4865b
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/delete.png.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005893.18</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>delete.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAlFJREFUSMe9
+lT9IW1EUh7/3kqImUSKhon0VSlHUoYYIosmg6KaCky5FwdFFgy04+AeHqKCllaerg0Pp4iaom0GH
+GEUU7SKodWhflYTQgIlRTN7rUFFUktr3sHe855zfd+49594DT7wEgM+QBbwT4L0GDoOCEQ0+Ap86
+4NJ8vd9rczhGSjyeLGtRkaGM4ycnjsNAYCQWiSSBDwLAF/jxpqVFehaNcr69jZZK6cveZMJSVcWV
+3c7XxUXlLbw0A6gg2SSJX34/aiKhO3sNON/ZIb+jAxUkAPGOQzJpuKj3NcRMzqLNhrW6Oq3dlJeH
+ra4OBCG9RibAq9lZyjc3kSYmHorb7ZStrVG2ukp+W5s+QCwQAKCwv5+ioaE7JytdXibH6SQVjXK+
+taUPEJqe5nR8HIAXPh8FXi9idjYlCwtYa2tR43EOmpu5PD7WBwBQBgcJzcwAUDw1RfnGBrkNDagX
+Fxy2thJfX88YLz6mM757vUTm5kAQyKmsREul+NbeztnKyl9jxaf+ix4FKJZlHF1doGkk9vYQTCZe
+z8+T29hoHCCNjVHQ0/Pnqvr62K+p4czvvy22260f8Ly7m8KBAQB+Dg8TkuXb4gaDiFYrpUtLZFdU
+6APY6usBOJ2c5GR09GZfjcU4aGoisbuLyW7H4nSm1TBn7J7eXkKyTDwYfGBLRaPsu91YXK6bB/nP
+gGQ4TDIcTmtXE4mM4g+uSDCbjY/Iexrma4oSUxTJ4nIZHzguFzFFQQTlBqCCfBQM+ko8nqz8zk6j
+I5OjQOBSBfm/DP2n/in4DXGz2vjcDg4dAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>663</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/document-properties.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/document-properties.png.xml
new file mode 100644
index 0000000000..6eef5b6a7c
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/document-properties.png.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005893.36</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>document-properties.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
+WXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH1QsEChQoYBl7AwAAAj1JREFUOMu1lb9r21AQgL/3lEy1
+NAgjJ3jKpsQBJ3GK7YwGkzl/Q/espRB3aOuSunsWT17zN3gJJLg/MIRA7OAl0HYQlkShSelQlNeh
+lipHceyS9uDQ3Xviu7t3Jz34TyJCY79RfwHUHgJTSr189nTv+djifqOuHir7jboKeXO3o15eXqJp
+GkophBAI8buouB36sUzJZrNjnAQ4Djg/P09Absva2hpKqcT6veDV1VXm5v68EgTBmH9X9lPBQgjO
+zs6mNmx9fR0p5WxgKSVKKfL5PADz8/N/PSEJ8MfuB8rFLYQQnJ6eju01m83I3tnZIZ1OUy6XCYIg
+AU7UUHxcYnFxESEEGxsbY1qr1bAsi4WFBTqdDsViceIZy7uOwnEchBAMBgMGgwG7u7scHx9zfX1N
+tVrF931834+m5q4zlvc1z7ZtbNvGNE3a7TaGYdBut0mn05FKKWfLOF5a2MhQm80mmqZF/sHBAY7j
+zJbxu/edCNrv9+n1elQqFTzPw3VdXNdlOBwyHA65urri8PAQz/OmT0W5tIVlWXieh23bAKysrFCp
+VKJKHMeh1Wqh6zqGYXB0dMTS0tL0OXZdFyEEFxcXE+e0VCpxcnJCNptF1/XpGcdleXk58XGEjZVS
+srm5SbfbJZVKzQYOS+73+xODFgoFTNNke3t7tp9QXHK53NhkhHb8qZSaDZzJZP7J1RSBb25uXr15
++3rvIbDPn748Sdx5t4KlAH2kKeDRaOY1QAE/gR/AV+Ab8H3kB6N9fgEOtPXaC30UxgAAAABJRU5E
+rkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>688</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/dropdown.gif.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/dropdown.gif.xml
new file mode 100644
index 0000000000..73a6e37cde
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/dropdown.gif.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005893.56</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>dropdown.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/gif</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">R0lGODlhBwAEAIAAAP///wAAACH5BAEAAAAALAAAAAAHAAQAAAIIjB+ACWoNGSgAOw==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>49</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>7</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/ellipse.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/ellipse.png.xml
new file mode 100644
index 0000000000..bdbd27a091
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/ellipse.png.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005893.75</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>ellipse.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAuVJREFUSMft
+VMtLlF0Y/515Hd8p0xxrCjMLTPg+km4T1YDSIhhb2RRBkeVn249WEhX+A7VpE0S0aRlBi3YRZEzS
+Bcnu2KJiCnQce6cRdWbe67k9LWbUIooi2vmDh4fzHM7vuZ4HWMIS/hTsRxc9PT0xpdRhwzB6TdP8
+xzTNNYZhIAgC2LZdKJft967r3HRd71bLuubc0L179EseU6nUge7u7kx/f39+dHQ0q5XyhO9z5fma
+bEerYlmLmTmuSrb3YmRk4lAqZbW3t091dHQc/ylxX19fOJFIXBwYGBCZTKZERAEJobXjEpVsotmi
+pukZonxBU84iPZEjmshpsgpi/NlL+/iRo7SioeHapra2xq95DQBIJpMRy7Iud3V1/X/u7NnZ1vWt
+jeT5NUwIxqQEhASkZJASkIpBSjAhAS4YOU6oMbIsnOzsLGTz+d0jz5+1RUxzmHPuLTiIxWInotHo
+yRO9vWzrtm1NsJ0QU1VioVAh/kqEBGTFzqQCfJ+ZtWZdfSQy92TsdeukZc0BGAWAEABMT09v2BGP
+t3XuSdTCdkIQghAIgAuA80UJBL6zBxzggjBbxL7tO1fs3bmrGUTN8yWqAYAgCHS5VJK+46jly+uA
+IACUBpRa1FJ+e1a6koVSgJIAAOk60nUcE8DCRIUAwDCMj+l0+kM6fZ8QDmsKBAPnVIkwmI9yMfKg
+aq9kQRRwhloTtx8/9O88epAFMPlNk4vF4piQYsOnvJWIb95cWLs6Vke2F2Lf1V7NN3xBSAjGTJMm
+ZwpTg1ev1L/JZG4COA9ALzgAAN/3h8az2Zq7w8P7N65v8f6NxzUcp4ZcrzpJiqqTRBCCERdgoRCx
+tWv40NMnzqHBM02v3r29vLoxetr1ffXDnxyJRBK+7w/GVq3acuq/kyuTuxPhdfUNqiXaZIZrzbB2
+XZErFHhuboY9GnutLt247kx+zr8FcAFA+ndXycHqo3EAZQBuVWcBDAM4trRtl/D38QUUDM+ljdMN
+4QAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>811</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/eye.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/eye.png.xml
new file mode 100644
index 0000000000..34943f9c8c
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/eye.png.xml
@@ -0,0 +1,61 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005893.94</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>eye.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0
+U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKASURBVDjLxVNLTxNRFP7udDp9TCEtFSzl
+oUBwY4FUF0ZjVDYsTDSw0/gjXBii/gk2GjZudO1G4wONK40CGkQSRKTybqGAfVHa6dy5M/d6WwMh
+ccnCk3yLk3u+L9+55xwihMBRQsERQz2crK+vX3Txyn1SyfXDMnyE24AjwR0Q4qLQw1M82H4vGo1+
+3OeQ/RZSqdQTV2XnhkKzmqaoYJaJQj4P27LgcQGNdTocRmFzyWiJv2zqil0/EJDkt67C0oAGhtTm
+JpLpHEwSAPNEwBwCy+bQ7W1EsYlYWxiKdMSjvbPhniu96tra2ohmbAxovILZxCq0E5dh6M1g0jll
+AqYEZRw7lhRp1ZDdewW9tILAykRPingfk9Ti7BbJJ47viiC645cwNm2gYPAaefhWH4TgGB79JoU4
+vG6Cu0MNyMx/Bv8+hkzJtlWWW27yRfrQ0dhS+4sq0aAOqHQgOK8JGJbMKZf9/h1asPssyv56sBej
+qupuinEtEHI5jgNFURCuA5JZB6a0fPvBF1BLClbsmoPT7X5wKVqrbWhFqDMmFFHcKLLiNmzbBmMM
+7WEFAY2jbDCUJbFsMpQkjgUI4ifVWk21lqaXoBQ2mMJ94adi6wes5AxoMYOw7uBcl4JTEQFVULhh
+Id5GcO2MJtuUEykXQRc+gb1/hLTl/VobY2JmctyfnTvvUwlEqCMPvdGEHrKgevj+wlTrxO8VL1+e
+bLaSc1gwA2kj9bPlYJGmPrx7bm0lrkbIrhrwewFPPbjbj+pzdSPtUh7YXsRqpiT2gp1T9NfEhcGR
+1zY5fEzjo3c8ud3SIKV0SJrp1wgCLjiS7/CKaU5LPCOcj918+Gb+n1X+b9f4B22tbKhgZZpBAAAA
+AElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>750</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/fhpath.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/fhpath.png.xml
new file mode 100644
index 0000000000..1a9e35678a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/fhpath.png.xml
@@ -0,0 +1,69 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005894.14</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>fhpath.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAQ/SURB
+VEiJjZVdbFRFFMd/c3v3o92F5bNSLa0iGBIbGh+21FIlVdNqsklt7YvWGElAGlISpYkKUh98IMTv
+GAzRFyDaEDVVIaYPJNLUaImhQiNCQ4MVbCuklNL2dvt1z+z4wHbdbneLk5zczLnn/H9zzp2Zq4wx
+1NfXKyAABIFoS0uLw12GUir4RvP6b/e/s8ELXAYOB2nrTo2z4s9m4DpwTkQG6+rqfqypqbl/McDq
+XO/2ixecJ4CtilWvqEn3/NTAYzULAo0x86y2tjZQXV19MBKJnEx9l2y59/j+PnEqbKJmt9GxfhO9
+8biZvlRye/aX4sLkOCsV2NraGhWRn0QkuEh7wl6flVvx1Co8JoJMnsRyZlET7jLlzB5I16J5Q0R2
+ich3mQB59/r3NTQW+iy1FJtSYrdOYDmzc/asOVa4JCOgqqrqURF5WEQ+y7D60Nio+8yL2+7DM/sk
+erIDNTaCclyUM4uKujnAXnOs0FoAqKys9IrIIRFpbm9vn00HyM7O2vZ0JFetXGrjyYoQG/oKy3ET
+FQA407G9zx8e/hTATmnNu1rrvo6Oji8ztcfnt5p27irw2lNrMd5BuHkRNSeuDQBHf45OtZ6dXDMP
+UFFRsVlrXae1LsokrpQqL3wge1lZcYDxgQvEbm5nlZY74jM6Efd+2/ikxDg0DyAi72mt93d2do5m
+Aixf4W3a1VDgvdaz/Pytfn/wz4vX7NuDQ/nrAnjKNvhYvcTizJUZhidiUeA0cOcclJeXV5eWlp4L
+h8PW3P4tKiqyNm7caCfvaY/Hnhke+stoEWNiMWNiMXP19x/cgy+vu1YXzonJkQJTF84ZBfbM5agt
+W7YorXWPiBzUWq/WWj+ntV6ntV4hIsNa69q+vr5OANu2XXHd/76bjIDTBU4XNS98MFa5XoX2HL89
+Ne2afGPMCIAlIpbruj4ROSAia0XkdRHZ5Lputog0icgnaftlBCZ7E/Z2w/LQm9+Mao+t2ubEEy0q
+Li5W6a6D/Pz8gry8vH8Sx96yZK41ZuIPY64fNaa30ZjfSs2FI1nG7yEKhBdcFd3d3SbdIkWkVES6
+kjcSADP9MHk5sforvT2UN+rxaZd6Y8zZZI155yANYKvW+nRytegxmOqN22X6r16irGHMGYvSaIz5
+PlUj7V2UBCgRkTPzKkjq+9DgJcp2DDgj4+wzxnyRViTTdRwKhbKCweBEdnZ2YM4HmK8/321udO4w
+I+2bzYZ85fg9NCfnATuBJYl5JkAgECj0+/39KckGMCtD3vGHCrLGg34+SnlfClwFvHcF+Hw+27bt
+CaWUP0kgFoe4wPEUcT9wBtg+z7/YXwvoAkqS5uNxSBugkvwW0Aq0JPv/D+BV4FcgJz5/DWhKiSmM
+i58CPAs0FgPEBQ4BA8BbQBWwBngQiAAfAsPAASCQLl/FRRYdSqkS4CXgEWAT4AA98eo+NsYMZcr9
+F8QKZIPjw0lpAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1218</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/flyouth.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/flyouth.png.xml
new file mode 100644
index 0000000000..c09c86f21c
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/flyouth.png.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005894.33</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>flyouth.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVQI12NgYGBgBOI/QMzEgARA
+gv+A+BcQc6ALgvA3IBYBCbJCBUBGMMNUskK18sDMBQDc9QkXwGeilgAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>5</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>109</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>5</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/flyup.gif.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/flyup.gif.xml
new file mode 100644
index 0000000000..2dc6bb206d
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/flyup.gif.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005894.51</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>flyup.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/gif</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">R0lGODlhBwAEAIAAAP///wAAACH5BAEAAAAALAAAAAAHAAQAAAIHhGMZq8sOCwA7</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>48</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>7</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/freehand-circle.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/freehand-circle.png.xml
new file mode 100644
index 0000000000..d0ba961417
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/freehand-circle.png.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005894.7</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>freehand-circle.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAABKNJREFUSMfN
+VW1MlWUYvt73nPd8ISCcI18qsKVulYVbsw7ktEyB05hh5cpZjVJpqSx+EE6ztVq61bR+WKFsirVq
+6uZKa30ooWYi6EIBhYBjwiGmHjgHznnhwHnf53nufoBwDljO1o/u7fr3Ptd13dd9P+8D/Puatvmt
+OcdVcp1SybVXJdeC230k3yWpNAbMSDKtu9KsLgWwRIKjWArpF0Pdi1ZOPmD8J7aSkhKzx+N5h3O+
+WAgxj3OeyDmHEGKg9ffzMes3pBtkzIGFyjGiroGsavu1s1kNpkcbu+4oUFhYWNDZ2XlQURRp/vz5
+N51OZ3+20wlFUaTKysoh9x/10x9f5oBCBWChY5BVDdKgPl1StR0A1vytwKpVqwzhcPgoY8yVn5/f
+tnHjxgwIkQYuzGAM4BwtzXWJxRtmQ5biYCQnwr5dkFXtFgrFgfRYucij3lYgFAodVRRlaUVFhTct
+NTUDum4DFwDnAOMI9Pvx9bc/4NKHOVC0J8D105ACfkiqDknVIA3pNgBbxIH0bXKRR0QN2eVyPckY
+c+3evXswLTU1BYzZwDjAGMA4wDk+P/glcl0O2OOMUAwFEN5DkFV9vAMAUEfEltUVfZ9EbVFxcbHC
+GDuUn59/ddbMmdOgT5COumcAY9jz2V6sfTUNxuHZIK0H6L0C6RY5JwBA1ZmhkSMXQilREXV0dGwz
+mUyG0tLSmdA06yi5mBDgHL/W1oLkIeRkxSD4ZzNE7zo4OBslD/PxJHZ+H5SYwMdRApzzxzIzM3vB
+eXK08wmRPV9U4pWXU3Cz4374eoLoavegx92KTCtHzlwzZsTKOOcOwzdEMoCaqOFmZ2d7q6qqrlI4
+TBRQifwDRL0+ohteop7rRF09ZLNZqc97jThjREIQCUGdjd/Rp5sepmcX2ohVpdPz2QncaDSGp9xk
+xph9yeIl8dD1CPcR4AyMcdgdGZDlsWPMj4xZRrxWtgKm2ARUnhzEj03DMufcBCA2SkDXdUmWJWli
+a9hUocgiBoTax1FWZMbWI0Hk5uRwIhqPP1LAX1Nd3Q9ChPPoTRJCTAgMt0dB4V2QJAMeum9BL4AR
+AP2TBdqOnzhhAKBFbs54N4xjzBkQ7gZCbePu3e2tcL1hxr4t79Jld4cKoHvKDDjnZxqbmhyQDQxc
+RGQ/0Q0RATwQ4bwN3Z0tWF6qYUfR61iZmxeqrj+XAOC3KQJms/m9QDBo3L7zg05YTMPRAx4FEUXl
+7u1pwfISH8pWrsWLK57Sqo5947ne1zcdQPlt/6BJSUkv2O123n2pyUvua0RNLUQNl4kuNBLVNRAA
+OlxZQjdq15P/5COUdY+Vtr9URPTTaRqoORs0yLIOYOvkBySq4uLifrFZrQ82/3xKd5gtMQgErbc6
+kRYtBABkJMcjMY5jeVYe3t9UFg4QH5n39ArN2+/3Abj3Tq+WxWKx1JlMJrajfHMjXe0apEstjOob
+SAIIABllAz23dJmg8xcH97359mV51HkLAPvdPI/rAYQT4uN9z+TmtR7a9VF7jNUqANADc+YOrc5z
+XUlOtN8EwCbHcjeVCOArAO0AhjHWwdieuwEcBuDEf1iJAJLxf6q/AOILvZZhDJIpAAAAAElFTkSu
+QmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1257</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/freehand-square.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/freehand-square.png.xml
new file mode 100644
index 0000000000..e443d75b84
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/freehand-square.png.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005894.88</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>freehand-square.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAA0FJREFUSMfd
+lV9sU2UYxn/n0I7h/vBnhQIKE4J3TsyMhiw4t9lgZiqJxpBgTIBJpiFiiEHNLrgzeiORBAwMY8LF
+JJAFEjUY4QLhRmQmkrAwsmYxhTqzMbexnbas7fd9rxc9O7SlfxTu/JI3T9p853ne9/me7xx4+FX7
+yYENFxzpvORIZ68jnc8W22Q/LPvyFVW7bww6HcBLFoFuK5m5loxtfr3cM1FA/m01BKrkuwvPS0L2
+ijYxSYy1ytivzbI26BeX64EJGkVkXESoVAMDAyxesoj2UAC/hFHJ77GdNEttYfjce3NA4zypr2CK
+oDYGpQVtDFoLykNBa4MywheHPqOrexW2VY9PNpGaPIjtpLGdNAvuXqyurbaIz0nxM1BaUDorknFR
+GZP9zximp6c5f+48b+96HH/6ZXTyMtbMFJaTwXLS2I5DT7gec2KtXULA5BDeF5vHs/3fsuXVAA31
+PvwLwpg7p7GdjDcBwPuhOrYf/furYhZ5xLoIaiOc6jvGkd7V+O6tQapGYeKG23kadNaW45finPkt
+ubKEQK7v+Thw9RdsO0HLxhpm/xzETOwmoFWWPKU9ji9/mkUZjpSZIIfYtUkbof9kL+/sWskfkSbu
+/jXDrchtJkZusn6RouWphSyvs7kykmIyYQAuAlg53CIijE7GvRQVYktTI7HoEEuXrcG2s8cXHfyR
+s19/ypWr1zm1J8DOEyn6Lo973MUPuURppWkINHrkqCmefMLHh/vDWHUNHP85zg+/z5Z/VeQmphDz
+lihIRrzq2emn58wsHaFXKgkU6d6NrTHm/sZ7kbzy61uI5WNH9wd5fP8ppiLuFKkYJIe97kciNwl9
+VM2O/Z/TtLG5tIBI9vbqcgJ6JqfzYWLRIdr3ZdjadYBnNnVgREoLGJGSCdI6+6LL9f3O6BBte6do
+e3MfL3S8hjZSQcDgZn6eOP+yiQj9p/tofXqOqtQQ7Xtu0xzqojX8FtqIx1F+ghK3WLlPbus+zOrg
+EpYt1qxrfoMt297N67pwAvtBi0zFmI5NODy2ajNbuz7GFKS3rEVKyfhzG1YEjeulMbiY/V1TU0si
+EefFtna+6TuJuJbk7lHajAPBR/5kVqgo/5v1D0VtBmaWYLEmAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>903</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/go-down.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/go-down.png.xml
new file mode 100644
index 0000000000..49947540ae
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/go-down.png.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005895.07</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>go-down.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAABl0RVh0
+U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAI9SURBVDiNhZNNaBNBGIbfmezmD2vAYNJD
+/MGq9SIaj0m04MGL8SIULx4q4kEU6qFV8SoI0hU8qVCEnBQholJTW3Kx1lUItS0Ue6hVtFTNmq79
+C+kms7Ofh9Yamxjf4zffPPO+880wIkK14t1qHoQw6onB0HtEc3VJqWkihG9dSMN2BGxHYMkqYMky
+AQB3H92oAdcCADDGkJt5jrJdQqE4g49zY2g/eLWuKV6vWB3Ko/jrbmwIABGIHBARFO5uCFASl1Wd
+HMTW7btgOSS9kmxIsrFcNlG9Fu9S1w0yjjcKOUhFQi3Riyev+xSXCiLHK0mCmAS4RFEWoHo5uMJw
+/tQ1LwgQooJ0NlWaX5xLMSJColtNt0WPJ49Ek573+VeQXECijBV7EdPzORBoLRZH2/bTGJ0YKU9O
+jfe97hHtfC1yx8uxjPHFmKJIcC+IVwCXjUJlGqqPwe3jUH0uRCNHYS6YNPlh3CDCmfVL1DVRBCH5
+cPCe5eVNCPiDKNFPlF2LcHs53D4Xtm3Zg5CvBdmhjEUOkromin9NQdfEREWsdD4YvFPaETgAm5Wg
+elZP3rwpgP2hY+jLPi4JUenUNTFRd4y6JnpnjU8vhscGRGswAa4wKG6OQ+ETyL17W/lhfuvXNdHb
+8B2Qg46hkYHvprFAu5ti2OWPwfy6TLlRPe/I1dwNAbomiiSRzGSfWVuxD0GnFU/7n1iO/JO7Wmzj
+b/yteJd6LtK88zYAzOY/X9po/b8AADh8Rb0PAMM3xdl/9fwCc0oSKoZoHMsAAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>683</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/go-up.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/go-up.png.xml
new file mode 100644
index 0000000000..c80c2f5ae9
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/go-up.png.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005895.26</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>go-up.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAABl0RVh0
+U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIeSURBVDiNlZNPaBNBFMa/N7sz2Y2FemhM
+/9GCBO3BQCqo0NWKaERiRS0UcmtKyUmQYhbBq8dSkaAXD0VPHqVC8eJNKl5EUNBDKbQqlZQ0iaaa
+JtnZGQ9RrCGp9h3f++bHfN+bIa012tXJm3weAJZmvel2GtZu4Lg83d8VSfZ1HUw6Lk/vCeC4PBoQ
++7JXzkwGx0aTwYAIZh2XR/8L4Li8A4TFiXPT1paXx5a3ifjIJQuERcflHf8EEOHR6HCipzc0SJ9L
+H/Cx9B6dnZ0UGzrRDcLDXQGOy9P9ByKJs0fH+Ur+DQzGYTKOV2sLiA0dF6H9PYnmPNiOw1HB7Wwq
+4drr5WVo8iCEiTp9xzYV8S7/HBdOXw2apvgrD7bT99RYxlLkoSJLEAEBHuAoy3UI20BBrqKoVnH+
+1EWL2J882G/f8WPj3Yf6YpSvrMHkBjg3UFEFVI2vEDaDsBmWv71AuDdERw4Ph4k18qCRjJke6I5k
+b0zcsQUPQEHCh4fXuQW8LTyDZBUQIyQGMtBaQymgXq/h8dP5SrG0OWMSQ+pTbsWeuXe54Ymjevf6
+E6ssc/CNbXDBwEyCwQlzD25XZU1bv+wHiSFlLs16TtMmtNYKpfoXMINgcAYeaEBkTVsv5zza9R0A
+gNI+ftSLjSv7GrKuoFXrP2O2avpKolrbhjI1oBV8SfC9PQCkLxEfvAZiADECEfYAIGzcuj8ZbiUm
+wkZz7ycw98XbttCaIgAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>652</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/image.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/image.png.xml
new file mode 100644
index 0000000000..af37141e26
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/image.png.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005895.45</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>image.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
+WXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH1QsKEAYBqzHCKQAAAxFJREFUOMvVlU+IHEUUh7/q6pre
+nt6dzc5mFxcUMQZEI4qI6EESwYsHzdGjomchRwmYDZJcPCt4WYIHg+QUTIgg63V1RSNuFmOMJuqa
+zIQ9ZDM7f3u7qp6H6WlnMmiU5GJDUd393vv61e9VvYb/26WWTiy9CyzeY+6xEFg8+PJBsdaqf/IU
+Ef6N3RjD2XNnj4QAzjn1wUdn+HbtZwZ0Afq+gnhBkMIgInikuBcEEXh07wMcfutVAEIApRQr3/zI
+nieeJwgCjHbEseNmQ2OdxzqPcx4A6wTrHNb6EZu1nvXLF1FK/QUGCLWiOp1w/30prxyYpFqp8tnK
+Vb5eSwpAH5yD3G1g52k2dSFNAQ6CgKkk4pl9KXsWXkApw/6nm1zZ2KHbUzjfBzsnOJ/Deg2cTvJ3
+Qq+mC63DgfCBUlTKEdstTWprGD3NVqNJEu0iCsEPwL4PcTaj0ajTbmwy+eABrPMEAeMZK2AyLlHf
+nOOL1UtUp3f4ZaPKZLmE91Jk4r3gvfDHT9/hrOVm/QrJ7EPMLTzCb6Ee11gFUEkiUIp2J6HdFkoh
+mCSv/AAswmbtd65eXOXhx/f3ZbRN5mYSTBiMZiwi2Cyju705ujfzLeVFSNMMgF6asr76OcZEZN1b
+hKbE7vkFdpo3sFlKkOtRZLzdbHHi5BmGN7L3nlanS6vVLYoXhY5ymIEIv9bP47xw/uQ5PIrZSmlU
+iqKSpQgRcM6ROYe1Qmgm2DUzMboS7+i1b9FqdzBRgqZDZXoeE/pxsAgYExfB8Z26we55bJbS62zz
+1GP7iCbKTJU19Ru1USm01sxWZ/9Tp9na2qJUinnpxeeYmYoxxrB24QJaB4cK8LNP7uX7S5fv3A4Z
+71VGC9571n9YB2TpjdfffD8EiOOYtw+9Nhw9ClF/DxYRvvxqhWvXNqhdv/7h4pGjhwFC7/3x05+e
+fuduG/Dy8vJ7pz459THgAFF5PgaI8ppN5M8hoIdGmAfZodkCGdABekA6DB4sVg/BBkfID7Vnlc/D
+gkk+fP4RP/BRjClbQG//ZchYHUdtI/Y/AcKMnti9YBGeAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>900</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/italic.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/italic.png.xml
new file mode 100644
index 0000000000..b89d129363
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/italic.png.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005895.67</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>italic.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAK
+T2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AU
+kSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXX
+Pues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgAB
+eNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAt
+AGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3
+AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dX
+Lh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+
+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk
+5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd
+0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA
+4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzA
+BhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/ph
+CJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5
+h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+
+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhM
+WE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQ
+AkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+Io
+UspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdp
+r+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZ
+D5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61Mb
+U2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY
+/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllir
+SKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79u
+p+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6Vh
+lWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1
+mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lO
+k06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7Ry
+FDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3I
+veRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+B
+Z7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/
+0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5p
+DoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5q
+PNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIs
+OpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5
+hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQ
+rAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9
+rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1d
+T1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aX
+Dm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7
+vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3S
+PVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKa
+RptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO
+32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21
+e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfV
+P1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i
+/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8
+IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADq
+YAAAOpgAABdvkl/FRgAAAMdJREFUeNrsVcENwjAMvEMskBXKCF2BFbpCVigrMEtX6AhlhDICjGA+
+jhRV0NqQiE8tWXakOKe7xA5FBDXtgMq2A/wGQHLpkaSQnEm2JgQR+ehvbAYg6v1abXKvRFeNdwCj
+pYBrfUByk/3fL/no2NtrjBpPJQGWWlxK9wEB3LL1aObteKYPZTJZar3PtAMQNB9qjIruK3mMEoWs
+eydrrUeimOWDuxEMDPL50yhgU4pBmw7L2Dx1FhVhEFT3pP/ZewfcP/0tew0AXRYZAeNMoHYAAAAA
+SUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>2972</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/line.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/line.png.xml
new file mode 100644
index 0000000000..895217e67b
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/line.png.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005895.86</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>line.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAANzgAADc4B/fFhMwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAN/SURB
+VEiJzZVdaFtlGMf/7zknS5qPZqaT6locJbsRgkXBzsI6AyrFYNOaKKUXGnQDi+hNW73YBL3xYwoO
+i+2YqCgIClqq4IVouyH1YlKsLTqkWzBL0TZNZ9Iu523yJDnn8aapTfqRBhR84Ll5vn7/5+U97wEz
+o6+vz9/b2xtmZtTiAJw9p56ZGo/G58aj8c/Ho/ETlTUKABCRJKLhYDDoRA1W7/GcSv75R/sBVbnr
+DpfjMcMwvx+Zmntia40CAGNjY9NEdImIXqwFAGAo8GREPeJyosFmhZQEKWlk4KPvjpYBNrY4TUTP
+dnR0NO1nshDiuMNV7/Hdewwt9U5EVzPQJUGX5JKSXt0GmJycXCCi94j+Se5l7oaGM11Pn6xrtNch
+ZxhYTGVKG0CX1P3A4Ie3lAE2tnidiDp9Pt/dVdQ3Ujbr9/eE0eJ24vc1HfrGcKkTpCSrlPTSff3n
+1TLAzMxMhoheIaK39wJoFkt/R1c3Gg664bYewNXldEn5ppvF/EB04oPzSmUzEb2fz+dvbW5uDu6i
+XlE17flHIk/ZbKqK+dQaMnoWUubK/Ma1aUrFZg9tA8RiMYOIhojoTY/Ho+3AUIxi0d3k9SKVI/y6
+9FeZcikJzMDS7Lc6m8bINgAAJBKJb4joOhH1V+aYuWh3OCYGuwL5z4bP4eepH7C2qm+evy4JcmUB
++exNAnBxJ4WloxoyDGNCCPEJM69uzT3c2Rltbmp6KCPl0lfvnnUlEivOO+/vgdvbDtNkJH6ZzHKx
+MMz7eAouAHirMh4KhWJzs7PMcp45+QVfvfhc9sHjR9KueqdxyHtPVrPalwG4mRnVAI0AVgC0lGKB
+QOA2v99fWE/NM9/4mvn6a8xX+ti47GPvYawLRVwAcLjsLdrNmHkZwDkAb5Ri6XR6jdm4fOzEo8bg
+mXdo5qcfgew1jHz6m5lcRZRN7mfmxa1Dqm1RByAOoH1LrM1isRihUHfcUaeaLbcrN+1WZAG07via
+VtkiC+A0gM2PT1XVk21tbUmX66AomtpUbMkMrhNCzDy304D9bCEATAPoBWDTNE0fHR29Yrfb1wE8
+vlfvrte0QgQLIQYAfAzAZrVaRS6XUwqFQg7Al9Waa/mDjamqGo1EIgutra1JRVHOVu2pEXBUCFEM
+h8OLQggTgPdfBTAzFEV5wWKxpDRNe3k/9WJD2X9mVa/p/x7wNzFyRsrtUSr6AAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1026</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/link_controls.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/link_controls.png.xml
new file mode 100644
index 0000000000..7ac0398af1
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/link_controls.png.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005896.07</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>link_controls.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAIGNIUk0AAHomAACAhAAA+gAAAIDo
+AAB1MAAA6mAAADqYAAAXcJy6UTwAAAAEZ0FNQQAAsY58+1GTAAAAAXNSR0IArs4c6QAAAAZiS0dE
+AP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAu5JREFUeNq1Vl1IFFEU/u7s7E6rtqao
+mWklRFj+rBFSYb+UUr2EWUJYzYJoFtRDSlQEub4YWFD04LoQtVogilQUkdJDP6hFrKZCKCmaUqSZ
+0aJt7o5zu3dzwyBx3d0uzJw7554537lnzvnuAP95kGA50uupweVClE6HMaeTOIIKoImhSdOZuIFM
+ROMWtJovyJ0eJT2etaBEHo9mNGIjdiMWeYimnUjSfyh7oCjmKSFQAJ4WyFDY/ffgku3Eo2cjYACe
+c12bw42xGQWXLE1cH5QU5ecPboqf6jzRf23LiDohDqEK3ZoemFzfyUe+LgbiXJbl7Uw0Rhg+5Wjf
+Sx30fBCryOucXbk2m+35XHY+70AQaLqqRylUaLdlVDUAry3cuck0+NJmC7DRRJEmKAqGUAEKHVOU
+gBwrr2hLy+lNZA5iKaWTIOQNIbTWETFea17+yP2nR3wBUKUyKy4jGWdZQJvZJVEI7ZoE4057mCdK
+QnQMaBWb7Zec+oPZxaktzZauz76XqQA3XLOeJUK/Di/tVamQEhkGrUqUGEphAmgfA1lLiNBa2XV0
+j88p2rChvtBuP2RFJQXchOICiChihaKQ4dl2l17lS4ZQTTVzKzPLn8I03UV8qRaNljxesjUipKnu
+yI/+jqQm12hIuaqSt3O9c7VbtjJRyHZkE+ctRYJ7Kw+o2tCEcbXAeD3rTHpN63xBsbSdHJvEi4mG
+xLtkLsrNyzOt53Uel4X7UUYUsHldSart8EL7RZxNuc4ZynXXTIV/c8SF8w6NSqMX+adiOa3zpyFF
+b+TOaNaVVqzjHKjIEp4UnbNr6g0daaXyMm5DqdDnN8C/KNe12BApTGE1i9xFPIZU5w+A4KVctGH0
+L8q1wylJ4HU9wFWKQJP9BuDsp2nBKezAO1SiC0V4yo89rmfZf+ZpGEr3+XWceid00jymnyi7Q5vx
+cNEAbnv5fG+xcUQl5DSDWJN9PMPSbGl3Bv2v4kqXXM0MexyCaDGn3FwQwC/uVxjnOcP/SAAAAABJ
+RU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>919</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/logo.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/logo.png.xml
new file mode 100644
index 0000000000..39ac8a0cb8
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/logo.png.xml
@@ -0,0 +1,117 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005896.26</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>logo.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAADzFJREFUeNrMWQl0VFW23a/q1TxkJoGEJDIkTGIYFFgMCQirERqQiGID
+SqvQMrS2rh5Wr/7+pa1/sexWwbZF/wdRUAFBBpmi3XbbDYgRjAwGZIyQAQgQMtVc9V7V3/dVJamI
+2ihBvWvdVNUb9zn3nH32uZEtZgviRzgSgdFghKyX4fa6207weDgchk6n0857fJ5291lMZjzF80mh
+IFz8beaUOXVxUx/7FENqeV9sGjh3cf4LyDMB6RlAVSNQmR49hh4CAmcdpzXuvTJ+JCPA2Qt4qg8w
+n8YlBIm1CSi9BCwn8HdDXwNW92MAL1bDDzxPoI/prc6UxJ6D5MTM/Ixk2TC1G1DyALCxK5Dr/4p7
+5R8BeMkLLOWc78jLQ/+pv0aCuTOkiATf5fM49cl2SGU7irPC6pDdwJx9wHuRuBDUG2RDuweKk3q9
+Xov1IOO53TnmgSRJ2vmQEmp3ziDLGMPzlrCKYFz8S3FTF/fi2DGJmbSMmfags09f9FryAqxuI8LN
+PCLxWc5UZPctRHJWH5yvLHdm+N13Mo8qzgGHdXHP/KE8LxP8imZ6Na1vZ/T+6xIk5jFVzWGEQn4o
+4SACATe83nqk9xiEsfcthiOjh2kQ8FohME4fIwrdDwTewJBZSZa5L6cfMHpxLziy85Fot8JR0A0K
+11AYoEY4wwF4ffWwJndC0d1PwJyYbsoEXr8ByDb8QAaYfARA8DNzbgImPAekdrXBabZBlvRIKegB
+a8/OUPxeKJGQNsOcPl8j7GmZuGXiwzBIugyuxPPW79sAet5C8G8S/N25RDDxWVqTlQfZPhg2UyMs
+NEJlEtoK+0NKtEAN+rgSIYQ4VRohViKr1xDk9h0lasfUnkCR7vsETxpcy5if1u1mel6Az8wH7NMg
+kXWclgCJIQJPkxs+A4soQynEGIkofi2UREgpahAhNYDug8dDJ+mQBNyv+57A28lM6wh+SvdhwG0E
+b8zorYGHpTtnP8jqSUT8x9DEzK6troXfYYXr5nwE7EZEgn6qgKC2CoGQB46UzrDYEmAEhn4fBjhI
+uOtJjJPyRgDj/8wM7sR6ay8m8FxOGqLWsxQfR2LwJfgvvQ9fyAZJJRs57Kgf2AuNOWkI6hRACVCO
+qFwFspSqaM++3oUsQQU2MO7H5hcBty4id6aQdmy3M35youCVOg08/OXQN61BX9sGhNWncd47Crqw
+GxG9Dg25XXDBboGh3gMpoOJ8yRoEfC5QM+26niuQyETbJMD3Gss/TxN8an96fmoMfJ9Wz8O/H2ha
+r8k6k7EJA1MeQl7CUhZN1oKQg2D1aJZtqLKZcGj7clw8sFNop1Le8avrsgL0Sgo/NjFpR/UZT57/
+Hx5LKKDnJzP4Cd5M2aY2EPwJgi8DmjfyciUqV5kwOr2C/JSXkGkpoSS9Def0vWBVQzj2+ibo9n4E
+psmHBF9MoXdJ7uBkFSOd5LGZcT/sxklA4ZM87hhM8BPbwIuwCR4DfHsJfgsvUNp0htAyoag9dvUM
++iS8jN584KYXAPde7fTOtaTQWqDB+V3EnNBDUe1jyDSbzQMk6Iz+oP8IVdJxRmwiqW073z24P3N0
+1BO80H4LBfyEKHgTaVOl34LC85Rl7ncIXI0CD7cBb508rrJkb+QK7t8JwTrv8+ddDLxGw3dVoxRy
+BrvN8Tg/5wWDwRThEpvV5mOsLz/ZcLkhi+AL7gRGCPAWcqb1thh4lh31QhR88CDgoucjahR4C2Bh
+gNoGPkTq2sDEP1SqLdC7PDydh1362CX/0YAWb2uyUYCX9UhOTFnCrwsJHv3794fJZMSBg4cscjj8
+cBbLqC1NwtDf8D4HOdP0kzbwyvkoeB8TtnEzf4faezveCCIMsmi8/SfKzjLt3VvpoBnsHT1X1Q/E
+ZLOOYZInRF84rNYYjcY6g8F4I48vUBQFTz71JO574OeQKaO3lbyLRQt+iTQWm06FgyB3y+ZDmLRG
+8ryRClOhAA6eZMgQTT3DJqi0ebplqjHwdHWAMbKexe7YQW2BNtGWe6g8vbiqhobgDQbDeLPJ/Aej
+bBwQjoTN7A3ORiLhV0Vb7Pf5pZGFIzF/4bzWW6ZOnoTg1i2oXbECWcVz6H0ytJ9IjPR8sIaICL6Z
+4OsIXlG/2vNKFLyfQmkd1/jUYc2edUz32aZox4mvMSASjx02i+0Oi9m6xuv1GhMTE2GxWHDx4oUc
+vV7+o8Eg+4OBIBISEq54kP3zo3AmOpExajhUVkq9TBL1VzNkCL6JCXtxWxS8+vVh4yOzvkW2+eKY
+1mK+eRZ4gJ4PSt9E2SajBdFpphq0JJnNliVer8848acT8e7fS7Dzw3/juSWLQcYhMJULY8LuXbtx
+5MjnrQ9pOHoUlaUfIee2W2Hr0ok40xAWaNxH6fWPgZqtDAAiZyBrgRA/PVEjvOTFtYuBM8e0Q6sq
+2CtI/wG8ZgA9i5Ypy8ahSkjpmp3dFS+8+ALy8/ORmpqKe2ffg1n3zEJTU7MW83WX6nD08zYDzmzZ
+orWROcUTo8soMMk5iFxmHJwR4MNtYL8MnnZ5SE5r6fnqU4w04BWa/YB4hHQ1RdNsMiE6zTDKhmTR
+63bJ7IKkpMR2F95x5x3o1CmNjYVPM0JMLezCYXyxbh2SUpKQMeIWNiJ+jR4jchpCqdNpT7qGqh3o
+lu8cbgb52peAs6eBy8D/Mm8fFGZJV1v1PV4PxHR73GBBOmWiMYfLD+PTTz9td+GAAQV4bdWrcDgc
+bCy8WnMvRv2RI7hw8CDypk6ALSOd+l2N7Vj5oCYOha9gGVTrjcwDgTa6f6LFPKuSi2yz9mWwYWeK
+AC8yU+Zz/cLfRqAxB0wQU+zEqWF1L0l3u/DynPvnYumLS1FZWdl68egxo7Fq9SqI5Pb5ors0le+8
+o4V2CSlEFTt3McMiYYU21EIxZ8I96Bl48+5H2MYyR1KATY96EfNLCbyKBgBLdgMPRb5Di6gn67QW
+K9LlMHq2q9FgvLmhvkHasb0E/3j/HxgxcjjDp5N2WW5ODgYMHAhHghO52dkoe/RRVF64gEV+hYY5
+Mfzmm6D6PFCCHoRDNE11QzJKUNJ6o0HXAxWfhfDJ2zXYvUmBhzHDyHnmn8BvRECaYluMhhi/t3zK
+cb9F4S6L245sqQMZLFrLWMB+SgbSokPQZ1JSEk5/cRozps/E66tfR0HBTdrFt44do33W7d+Pxs8+
+w/HkZKhkqd89vwIW0uHcyaPoGoKWwnCxuzr30QGcfm8PqnYdgs/lZ/jr4JfkskoozzNsVpvQKkSv
+2EttmS1GROKmVgeI1kFd81YoFCoUiTxhQpHW7Xy0pxRut4uroseJ4ydQPKUYq95YiZGjRraxz+bN
+cDNs9qekCHWHUEjBvD//Hw6U7ce87p1QWfJvnPlgL5p8Cqx6A1JHDMeeii/wKdksZLXZvAH/DiNZ
+S42lRvwG8NdNsfmsCwZgEp/CAIKfQX4vdDqcWLHyFRQWFWrgyj4pQ3V1tUavYkVEXki6tggV7HNu
+2zZU62mg0wkn2aeny4VeFy/BwaTeIXaRWVuyxoxD4dTbccO4cUi44QYMOnECs392D6rOnOlNh/2W
+OP5LjRNnkS/tEn7Vd7ulbX9a6pKe+ZbL5Zo+9xdzWbCeverkqTtwAFsGD8ZJ0uk5hk9eczME8dqZ
+4GlFRciZMgU5Y8fCkZV1xb0rXnkVjzz8CJxOJ0Uyiq6lB5Fjq8ZQkb7VjRXr16OBq5BFVdqXBqRO
+nIjs229HTwI3pqV980v1+i/1QNdgABN3JxN22pZ3tqJ42h0YNmyodqK8vBw1NTXQMwdEVvv8PqSn
+p2PIkCFQvF5c+Phj9CHg7sXFyBw9GvaYp4+dPIUTpaWwmCxc9ohGrckkgyFDh0Tz5kwlli1brkkT
+vnvfNXeB6akZicyDv1Hf3yKK1OjRIolVfPDPD9DQ0KAZQGGHjM4ZWhKPuXUMwvS6v74e1oyMKx54
++PBhzPzZLJQfLofD6mDShamxzCjic1O5Mns+3IOzNWdBTXWJuSesOn2tBoguqyu/v8oHjhXJKobV
+atW20T0eDzKzMvHm6jdQwGp8NaOSXr531mwcZDILp4h/Tfm8PlEohWCEbJA/p2EPRsKRDztgAwEi
+RKoVJTSeS/oTm832F75UES+9fPkyslms1ry1uh34A/sPoLT049bf5ZQeW7Zsbf2dk5uD1bxn0OBB
+qKurg+jerDarMGZjRIpMZkM0lO+6ZvCaAYLzxT8y6B2VWujvjNsMan45OSUZ//34Y9i4eYPWOsaH
+yF3TpmsFrmV43G7MmzsPG97e0Hosi6smDF+85DlN1fr9AeGoHnzXe4GQ3yXe2xFTVvmHIa/xrEGW
+B/PLdJPFhFdWLMdwFp74cejQZ5g1Y5amj2y2Ni5muyl6Bcx/cAE/w5h+913R8s4cWfDLBZgydQom
+TZgsSOEmSpcZPLWqw/agrNRCYgpNxKYmPxAIoF+/fleAP3H8OGbePRM1VTWw2+xtDX+cEeLYwvkL
+UbKjpN25zMxM6qkREM/m6Nmhm2ghho+YIk4Zm41C59fW1sLV7Gp34ZrVa1FRUQGb3aZ5WzT2LUP8
+phTRjBAt58rXrnRwtKpr/O/qSAP0JoNJYwlBd2zcG9nczGbi2aqqqrTYF1spO7btwLPPPKf94094
+2WKzYMGC+ejcpXPLJhe2b9uOelKrEIGnT5/mahrRrXt3spgbf/3Li1jHpofSIUxa/p1O0tWK/f2O
+mJLZZGm3I0EWms2mfqWgzzR2YA67A8IYAZ6rE3S73cZJkyfhDarT+PHE43/E4mcXC6YJ0EiTCJes
+rlmawTXVNZphdNCfKMZ+L3XgCrTfVmHFdXs8q5iIfovJ/PumxqZ89gXELTcw2Vcy64M05DFR2K74
+T3tAYxnBDBsYXp+ws3u09nytWKIIq241j7/s9rgWi3Dr0P3YdisQ032iEpuNJjNjtifBmA0GY43P
+7z3vsCcMMBoM+wWIRU8vwuyf36vFtaja834xH80UdKTjexubG9+wWazJdESueCB1VgUlRbNYYVHM
+rrsBQr+YDFFqFDVCsFQwFAANEZV0uayT5wggA9mZmS1mTXqLJObq7KmrvzSO+eQTrCb0kxiiz4jE
+JHhHG/CNe6MiJFqmSHS31yV27RYyeTwMqzn79u2ziRhniAhUWxkmDwnw8fdf7/Gtdqc1Y4AgY/kR
+vSyvpJcHsXLLLk/zUeqaXcLT4pov14jrOf5fgAEAOvPbSBbkGHMAAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>48</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>3983</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>48</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/logo.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/logo.svg.xml
new file mode 100644
index 0000000000..d96ba97859
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/logo.svg.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80047909.49</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>logo.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<svg viewBox="0 0 478 472" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg">\n
+ <defs>\n
+  <linearGradient id="svg_5" x1="0" y1="0" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#ffffe0" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#edc39c" stop-opacity="1"/>\n
+  </linearGradient>\n
+  <linearGradient id="svg_10" x1="0.57031" y1="0.78125" x2="0.28906" y2="0.41406">\n
+   <stop offset="0" stop-color="#ff7f00" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#ffff00"/>\n
+  </linearGradient>\n
+  <linearGradient id="svg_18" x1="0.37891" y1="0.35938" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#e0e0e0" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#666666" stop-opacity="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <title>Layer 1</title>\n
+  <path d="m68.82031,270.04688l-22,-33l17,-35l34,2l25,15l7,-35l28,-16l25,12l100,102l21,23l-15,35l-36,9l20,49l-31,24l-49,-17l-1,31l-33,21l-31,-19l-13,-35l-30,21l-30,-9l-5,-35l16,-31l-32,-6l-15,-19l3,-36l47,-18z" id="svg_19" fill="#ffffff"/>\n
+  <path fill="#1a171a" fill-rule="nonzero" id="path2902" d="m158.96452,155.03685c-25.02071,0 -45.37077,20.35121 -45.37077,45.3775c0,0.72217 0.01794,1.4399 0.0471,2.15645c-0.49339,-0.53604 -0.99355,-1.06085 -1.50603,-1.58452c-8.56077,-8.55519 -19.95982,-13.28413 -32.07432,-13.28413c-12.12122,0 -23.52027,4.72334 -32.08778,13.29646c-17.69347,17.69464 -17.69347,46.4619 0,64.17445c0.51809,0.51697 1.0485,1.0126 1.59015,1.50601c-0.72891,-0.03586 -1.45782,-0.04822 -2.19234,-0.04822c-25.02071,0 -45.37189,20.35117 -45.37189,45.37747c0,25.01398 20.35119,45.36517 45.37189,45.36517c0.72891,0 1.45221,-0.01236 2.1744,-0.04828c-0.5293,0.48221 -1.05412,0.98801 -1.56547,1.49368c-17.70021,17.68906 -17.70021,46.48654 -0.00628,64.18677c8.57872,8.56747 19.96655,13.2785 32.08778,13.2785c12.1145,0 23.5012,-4.71103 32.07433,-13.2785c0.51247,-0.51694 1.01823,-1.04849 1.50603,-1.57895c-0.02915,0.71213 -0.04709,1.44669 -0.04709,2.15759c0,25.01511 20.35007,45.37747 45.37077,45.37747c25.01398,0 45.37079,-20.3624 45.37079,-45.37747c0,-0.7222 -0.01689,-1.44553 -0.05266,-2.18112c0.48105,0.52933 0.97562,1.04849 1.48697,1.56662c8.57982,8.57977 19.97775,13.2908 32.1057,13.2908c12.11003,0 23.51358,-4.71103 32.0687,-13.2785c17.68906,-17.70013 17.68906,-46.48538 0,-64.17441c-0.50577,-0.4946 -1.01141,-1.00034 -1.54306,-1.48248c0.69983,0.03592 1.42316,0.04828 2.16992,0.04828c25.01514,0 45.35284,-20.35123 45.35284,-45.36517c0,-25.02631 -20.33774,-45.37747 -45.35284,-45.37747c-0.74683,0 -1.47009,0.01236 -2.19345,0.04822c0.53152,-0.49341 1.06082,-0.98904 1.59128,-1.50601c8.55521,-8.55521 13.2785,-19.94186 13.2785,-32.07545c0,-12.12793 -4.72336,-23.52028 -13.30319,-32.0934c-8.55515,-8.56076 -19.95866,-13.2841 -32.0687,-13.2841c-12.12122,0 -23.52025,4.72334 -32.08777,13.2841c-0.51137,0.5181 -1.01822,1.04851 -1.5049,1.57895c0.03586,-0.72331 0.05266,-1.43991 0.05266,-2.16881c0,-25.02629 -20.35681,-45.3775 -45.37079,-45.3775m0,20.71901c13.61607,0 24.65851,11.03122 24.65851,24.65849c0,6.62749 -2.651,12.62137 -6.9101,17.04979l0,51.67419l36.53975,-36.53523c0.12001,-6.14418 2.48277,-12.24686 7.18146,-16.94667c4.81305,-4.81305 11.12094,-7.22409 17.44116,-7.22409c6.30228,0 12.61577,2.41104 17.43552,7.22409c9.62166,9.63287 9.62166,25.24948 0,34.87669c-4.69977,4.68634 -10.80803,7.04915 -16.95334,7.18147l-36.5341,36.53305l51.66742,0c4.42841,-4.25351 10.42905,-6.90451 17.08008,-6.90451c13.59137,0 24.62933,11.03799 24.62933,24.66525c0,13.61606 -11.03796,24.66519 -24.62933,24.66519c-6.65106,0 -12.65167,-2.66333 -17.08008,-6.91681l-51.64836,0l36.50273,36.50946c6.16995,0.14465 12.26587,2.50522 16.96568,7.20618c9.6216,9.61487 9.6216,25.23151 0,34.85757c-4.80856,4.81979 -11.13327,7.22974 -17.43556,7.22974c-6.32019,0 -12.63371,-2.40991 -17.44786,-7.22974c-4.68074,-4.68744 -7.04802,-10.79572 -7.17473,-16.94098l-36.53975,-36.53415l0,51.66742c4.25908,4.44635 6.9101,10.43466 6.9101,17.0621c0,13.62729 -11.04243,24.66415 -24.65851,24.66415c-13.62166,0 -24.65848,-11.0369 -24.65848,-24.66415c0,-6.62744 2.64539,-12.61575 6.90335,-17.0621l0,-51.66742l-36.53864,36.54648c-0.12672,6.14413 -2.48838,12.26477 -7.18147,16.94098c-4.81416,4.81873 -11.12206,7.22974 -17.42882,7.22974c-6.31461,0 -12.6225,-2.41101 -17.43555,-7.22974c-9.63284,-9.62833 -9.63284,-25.24277 0,-34.8699c4.68073,-4.67627 10.79012,-7.05026 16.94101,-7.18262l36.533,-36.53302l-51.66632,0c-4.44075,4.25348 -10.42902,6.91681 -17.06211,6.91681c-13.61606,0 -24.65288,-11.04913 -24.65288,-24.66519c0,-13.62726 11.03682,-24.66525 24.65288,-24.66525c6.63309,0 12.62136,2.651 17.06211,6.90451l51.68537,0l-36.55208,-36.54538c-6.14527,-0.12 -12.25354,-2.49403 -16.94775,-7.19377c-9.62611,-9.61493 -9.62611,-25.23715 0,-34.86441c4.81419,-4.81305 11.12769,-7.22406 17.44228,-7.22406c6.30676,0 12.61465,2.41101 17.42883,7.22406c4.69978,4.69307 7.06034,10.80246 7.18144,16.94777l36.5386,36.53299l0,-51.66074c-4.25795,-4.42841 -6.90334,-10.42229 -6.90334,-17.04979c0,-13.62726 11.03682,-24.65848 24.65848,-24.65848"/>\n
+  <path d="m188.82031,210.04688l16,-47l155,-148l107,100l-158,156.99999l-44,12l-76,-74z" id="svg_6" fill="url(#svg_10)" stroke="#ffffff" stroke-width="0"/>\n
+  <path d="m335.57031,40.29688c-11.5,39.75 55.5,115.25 109.25,98.75l21,-20.99999l-103,-101l-27.25,23.25z" id="svg_11" fill="url(#svg_18)" stroke="#ffffff" stroke-width="0"/>\n
+  <rect x="272.80404" y="20.76382" width="42.35197" height="232.66835" id="svg_13" fill="#ffffff" stroke="#ffffff" stroke-width="0" transform="rotate(45.9094, 293.98, 137.1)" opacity="0.4"/>\n
+  <rect x="282.80404" y="22.76382" width="14" height="232.66835" fill="#ffffff" stroke="#ffffff" stroke-width="0" transform="rotate(45.9094, 289.805, 139.1)" opacity="0.4" id="svg_14"/>\n
+  <ellipse cx="415.13312" cy="64.38066" id="svg_12" fill="#ea7598" stroke="#ffffff" stroke-width="0" rx="67.79251" ry="34.82026" transform="rotate(39.4735, 415.133, 64.379)"/>\n
+  <path d="m212.07031,166.04688c-8.5,47 36.25,103.75 99.25,96.75l-152.5,53.25l53.25,-150z" id="svg_4" fill="url(#svg_5)" stroke="#ffffff" stroke-width="0"/>\n
+  <path d="m181.32031,242.54688c0.5,20.5 26.75,45 46.75,48.5l-66.25,20l19.5,-68.5z" id="svg_3" fill="#27382f" stroke="#ffffff" stroke-width="0"/>\n
+ </g>\n
+ <g>\n
+  <title>Layer 2</title>\n
+  <path d="m152.82031,317.04688l51,-152l157,-153c40,-12.00001 118,48 105,105l-157,152.99999l-156,47z" id="svg_1" fill="none" stroke="#800000" stroke-width="17"/>\n
+ </g>\n
+</svg>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>6356</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/move_bottom.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/move_bottom.png.xml
new file mode 100644
index 0000000000..eb8f0327cf
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/move_bottom.png.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005896.64</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>move_bottom.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAptJREFUSMe1
+lD1oVEEQx3+z7yPBEEIwYDBC0MJUYuNHISoiCELSaWNnCrGwEbW0shIb01lYKkS0kKClhZWWGrAQ
+kSDKGRItNJi3X++Nxb07YnJ3yhH/MOzu7Nudnfn/5wlb8RoYBabogunp6avOuZvOuVFrLdZanHNs
+nBdFsea9v2I6nN9RWy+cqx+hXfYVGAZOp/QBY8wF4AmwC6i23K6aAq9U9Uan84vAZ7YJfWUwMzOz
+zzl331q7vyiK0nuPtZaiKPDeUxSFcc4tW2vP9hVAVe8Ap1RVAenCwR4ReWz6zPwFgIhIl30BfgLz
+/ZJ8D3gKJD0+86q62m+JzAZJ95Iq/Qa4DNz9SwaIyLV+OTgDJE2Oe+JEK4NxIAPW6jGpmygHSqCx
+iYOLwCMRGW812qZgCfBGVa+3HMt1zTqZ345GOwpMAi839xTwrkOjHbDW3nfOTVhrq80/O2utsdau
+OOdOtgJ8AhzwFdgJmFrHH4ClDiTPAUd6kAswISIPN5K8DOwGvgC/6kDvu9yxAIQeKgNYAR50kumx
+OoOuGBsbm2s0GvMiknbqA2nCqup3mZ2dnYyxHIkxagiBGCP/Noae+2VZiqp+TEXkrcJINwmpam1Q
+teetdcuUSmn6Kt0o2edp4ZORW+cXdXRYRCUHk6EMgMlRGQLJUKnX5LU/h9rUDDTH9jonz4c4ePwS
+jeVvh1JB+bGeixpFMUBCJQIoFRVISSURRJovlwqlRCWiElAcKhlKjpKiJiPPCsqqbPbBYF4u3V6Y
+2htCIPhAiIEQPDFEQlgnhNCuuW/7PTEEfIsL7+vae7T6Q1zPUlUOD2blYCoVqVRkiRIMxARCIsTU
+EFJDjAl5mhIzCEGJUQhBiNEQclMHSIgxa5EtqrrK/8ZvalTSJ5+0AQ0AAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>737</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/move_top.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/move_top.png.xml
new file mode 100644
index 0000000000..42ed8733c4
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/move_top.png.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005896.82</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>move_top.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAAUtQAAFLUBsW597gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAIUSURB
+VEiJtZVBa1NBEMd/Ex8aD0LViyfBaPHoB2ixagylkNy8iN4kBgU9ecihh54qevcbCIrgKVBEqrZe
+BEFFe6iX3qWIhoo4L9nd8ZD32hhNXpqagWFmZ+b9/7vzdlip1WrLrVar6Jyj3W6T2m5/WNsby+X2
+PY2898XCyUmOnyjgnMd5v219l9+xAecc3gfa3uPTXJrvWr9/s8LG+tpsBFA4Ncn50hw+GC4EvDd8
+MHziuxCSteF9SOp2fB9Csk6+CcZWs8nG+hpSrVZj59z+/9ma1CLyNTKzWeAcY5Dg/TMxs3Fgb4uU
+y+UbqrqoqhNxHKOqqCqpn9iPcRyfNbOtgWAi88C8meXTWA64DUxkbOQMMJcBXqfT6gMiUheR6ZTg
+PtAE4j6qwHPgZcYm7gLFLv8iAGa2JwXuJJuwHnWASrlcPqqq11T1SJ9/YKr6SVUf9WnNTFf7poEp
+4F6aj4AnwIWM4yMim2b2ojduZqvAalKzAEyZWT3N54CQBZ7IzyHr/pAIuAJcBg72qTHglZm9HYmg
+0WhslkqlBwnZPwlUNR4FHCBXqVRuAt+AX31U8/n8ZxE5PBIBcAs4lFF3GiiNSrAIfGfwoC0Bf92g
+oWSvg9YzdAsdyJ1YVKlUjqnq9YxBe6eqD0c5QAQ8BmayCkXki5kt75YgR+emDCM/dgsOnRNcBS4x
+eNBem9mHIfBWegNjf9F+A8p0TD2DOSe8AAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>663</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/node_clone.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/node_clone.png.xml
new file mode 100644
index 0000000000..5ebb6fbd79
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/node_clone.png.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005897.0</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>node_clone.png</string> </value>
+        </item>
+        <item>
+            <key> <string>__propsets__</string> </key>
+            <value>
+              <tuple>
+                <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACAklEQVRIidWUT0iTcRjHPwORZLAK
+gh0EqcjSjKJbtcVAyEMkiY7Wwb1rh2J2CqQIdvHSH927VqGVduokHYLMyNOgKFICK98RRNGqSx4i
+dkgL50vfLm+yyMHW3osPPJff7/l9Ps/hyw/WTHnVQUAX2aUEaKO78K3qwdQX8hJZ2bToNchb4Wtt
+An0EXS47EtYkRQk5PaEFULBSwQGQQM/LTfgihZd/CR5VJwg6gqer3abmop3HM2PFhtPfRV5iRjZH
+NAnaUKkg5Age/wO3jKNmzlhK52KKDI6O064BtigJ8lUIB1C7I8iWnppWb1faihXTuZhSOSNVKWwz
+aBg0CroJugGacASfQddAmcad+Qeh6JTdnbwj04oNVrPtOQdWTfurEXhBMdApUALUBxoBCb9srkpc
+keoCS9q2780sqLsKeFlpJ0h0lMTwnURQ512AA6gLJEL6tSK4px80KuoKfn84mwLJ1/xNDWOLBZL6
+RKvug9bVDDfnjHD8esYGqWn3ewvU5rSnZvjQXG+PaRnLQ6/iOmhMPQQ11YiUB7QD1DLwJHHMtIzl
+dC4mM2dcqHlbUD2tuku/PtSP/Jzf2z9jX3px0i044FeEcS38SYln2tae+PSqn9v/VUBneVuS868S
+h3XLPcF6HaJPhRXBbS3SrLh7AoA2neGEnhHRLNs1DKpzV7BW6zdXyU5tqdX/WQAAAABJRU5ErkJg
+gg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>571</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PropertySheet" module="OFS.PropertySheets"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_md</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>xmlns</string> </key>
+                    <value> <unicode>http://apache.org/dav/props/</unicode> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <unicode>executable</unicode> </value>
+                  </item>
+                  <item>
+                      <key> <string>meta</string> </key>
+                      <value>
+                        <dictionary>
+                          <item>
+                              <key> <string>__xml_attrs__</string> </key>
+                              <value>
+                                <dictionary/>
+                              </value>
+                          </item>
+                        </dictionary>
+                      </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>executable</string> </key>
+            <value> <string>T</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/node_delete.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/node_delete.png.xml
new file mode 100644
index 0000000000..28695f7aa0
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/node_delete.png.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005897.29</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>node_delete.png</string> </value>
+        </item>
+        <item>
+            <key> <string>__propsets__</string> </key>
+            <value>
+              <tuple>
+                <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACFElEQVRIidXUT0iTcRzH8fdajMQw
+O3noZFAZSn+uKURGHaIo/9AK9HkaYThPyYiKghblRPcsLwlqhyIwi04x6NYhCpxC4fZ08FAeLeiw
+Q2roxvPp4J5a4RLcc/ELv8vv+fF6/3gOP9g0U6mTNCpGg7pBO73Fd6sNS/PMSbxRnjrNgCq9C7Qr
+yYqECuuVFkBNJc8LDgmOlfjmE7QIdrl7VcHsx78Cr9cPfBY4gitr4CMCCSYA4unOMxeGxlYqen6I
+OYmU8pxWElT9v0BPAXEEl9fAlwRH4xnjrGUbywnbVHBgdIJmRanVLVBVSbwo0lsUCf2DH7cyHecS
+GXMlYZuK20Z8XbBEJFIU+YPPdLa6uJUxBzaEFwI+QcqNDNeG57eHs59arKf5VdzoLxcfFcjBlxMo
+7/fr4vgzbetZVGv08bgnuGDJbHiSvH39ntxIcOi5aNKNcgKDxf+8tnX2JdOOcycaXY1s8Tu9VQ/u
+lhNIChYEzVbaaI9NdeUORKZUMbaYjR25mV32BXLfqGkuJxAQVFtpo93KGLmEbaov1RUD1ReWb8O4
+O4PpjjYXj9vm/bLB1VtpH6gu+rb7vItbttHnBR5gv14Q0ZfA8M+vhyOpfP90l1c4UKMgE1pwX0Pf
+ZF4HQ5PvvMEBGnWN2aLn9rvEKY14F9ihE4SV/R14pEX2KORdAKBeV7mk9wT1gb16CNrqbWCzzi/U
+fWFrirMUhQAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>589</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PropertySheet" module="OFS.PropertySheets"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_md</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>xmlns</string> </key>
+                    <value> <unicode>http://apache.org/dav/props/</unicode> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <unicode>executable</unicode> </value>
+                  </item>
+                  <item>
+                      <key> <string>meta</string> </key>
+                      <value>
+                        <dictionary>
+                          <item>
+                              <key> <string>__xml_attrs__</string> </key>
+                              <value>
+                                <dictionary/>
+                              </value>
+                          </item>
+                        </dictionary>
+                      </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>executable</string> </key>
+            <value> <string>T</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/none.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/none.png.xml
new file mode 100644
index 0000000000..3b759f19f8
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/none.png.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005897.58</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>none.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAQMAAAAlPW0iAAAAAXNSR0IArs4c6QAAAAZQTFRF/wAA
+////QR00EQAAADBJREFUCNdjqP/HsP8vw/3fDO+/M3x/z/D7PsPf/Qz/6kEIyABygYJAKaACoLL6
+fwCdrhvllFU3XAAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>136</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/open.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/open.png.xml
new file mode 100644
index 0000000000..aaaec13e4a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/open.png.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005897.76</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>open.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAMUSURB
+VDiNnZVPaBxVHMc/b2Z2NlnbImgONiBFiVAEDx6ktYh/0D2IRxFkTHPyVs8evYp46kXrQUTMqWfB
+KIhCam2D/7AXzaGWbEOarUk33Z2defN7v5+H3W5306hJv/CY+THM533f9/3mjcuyjP9SFcrCOReb
+mXPOAXDnJq2lf/Tz8vk0Tdu730sAvPfx7Ozs4b3A6xut+meffo5zbmIALC5+cXzpm6UV4Clg5x7w
+3Nzc7865xwHbDTYz1tbWKMtyVIcQUFVOn16g0+k8uvLTyoWy759J07Q/ARaR4/Pz84QQMDNUFQBV
+5YMP3yeKIi5dvjQx4ckTJwA4c+Ydd+6Tj59cvrB8FuPt3WATEddqtRARVBVVxcxwzpGmKc1XmpjZ
+yDVAu91GRHj25Cl38ccf3lDZBQ4hmKo6ERkt884ASJKEpa+/IoQwcvziCy/hvR8UDlQ1gmgyY5HK
+RCpCCPjqLlhEwMXgYprNVyfcjl+TpI5ZpOu1l6e+O3bNZ6ur6rIso9FoyMLCQnzxSovzvwhRdHdm
+MyNyY/Wu/R3yh6tzwTnXvnzuzaOjjEMIbN5Wnnv6GK+demL0AsCwu/bU+KPcS/zeR9/OZNlbNspY
+RMhLY2a6zman4PpW/19Qe2uqFvPw4RpRHHVhsivoVfDYA3UwSMbi2I/UoPSByEWdEbiqBpuXV44j
+jTpmkMT7B/cKYTqN8V5wEdsj8CCKQO7hUKMGQLIPblAjLwMSlOm0RtH3ADfHHRNCoKgAHF70HoAa
+w69yUHtR1CY7pNMrMbUb445VROh7wwejWwR6peBF9wTsGUcZs3krR1TXJxxXIvhgbHcrWlt9gv4/
+bFw7tYitTlFZ0M0RGNC8DNRrMbf6ghwQClBWxna39Dj39ziYbqE88tARHmwkHJo6WKsBRM7R65Vi
+alsAyeLiYtJsNu3PjZKbnYLvf756YChAMKXby1PpbV8jHjiu53n+5a+r7derRj253SvuA+vMzKTc
+2Vi+cv7dq78NT4EacBSYYSya+5Ay+D39lWVZkQACXAduMHmmHFQ2hFcA/wDxAPK+pndhwAAAAABJ
+RU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>919</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/paste.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/paste.png.xml
new file mode 100644
index 0000000000..e0e89a2e65
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/paste.png.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005897.95</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>paste.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/gD+AP7rGNSCAAAACXBI
+WXMAAAsTAAALEwEAmpwYAAAACXZwQWcAAAAYAAAAGAB4TKWmAAACs0lEQVRIx7WVT0hUURTGf/fN
+n7K0UccZNRECQcldmAs3YdGMSIvM2gS2cxe5zRaBlEibbBEF4QRBgtvaOLuaRUmQLiQQCgIxQ2fG
+dN7zOTbjeG+L+T/OOGZ24HHPu/ec833fOffx4D+bOEjQwMDAe6C7YDswOTl58a8BRkbQFgPYAeL1
+V89Zj516K6VydXS0IUQyXCnF3NxXNE2EE7HNfnvwzSzAmW7iIyPIkgBDHssthXwqJZUAv2u6tPrW
+LtHcXF+U3fJymNVvM+r4+oxUgCYwldTuPHu3+zodY81lvvFRPum/0OII7rj5bLSzbezidLpoaWnN
+8EmKSK6xGKyutomKprOWzlMLOAg6pme+jwN7ARYD2KusVNtsGrPr7Qzff4Qe0Rkff8z8/EJRBVVV
+lQwP36OmtoaxB3fpb1hDKlEHij0AmZ4pgRkDZ60Tq8XC6OgoiUSiKIDVakUIgcNRTTQuit4YK2VM
+CIHNZit5rpTKeTkgQG6c3+/fpzj09Hj3JVhWQW9vb1HWyUcipdw3vzhAjoRCBdniClB4PJ6jUZBl
+nFzTIIah43Y3HBygcE7T035A5bXF6/VmfGPTKJlbQkE2TEpJT483j7GUyb6n98Kh8OFblFsot0Ur
+Kz8xzS2i0ShKHWbIRQFkSoFiaekHfX3XM3G6HjkswG5e8UyLUqx1PYJhGJjm5r8oyA5zyzQJhUKo
+1N03DINgcJWJlxNcaZgrD5Ae70m7JLwWprGxKXPWVJCo65G84k771sEVNMsvjD0cJhrXKGc3mj5x
+whIv36JXAWJDl1k3txOu86d1OtWHvEBFGRMQMROAChVsZ+32Ja4JTXuOUq4i56X+3yrriA1ZUT+6
+09D9wueb2i6ZNDh4swKoBmqBOsAFuFN+FRAFNoA1IAz8AtZT66bPN7X/x3GU9gcQroeL2HYGGwAA
+ACV0RVh0Y3JlYXRlLWRhdGUAMjAwOC0xMi0wM1QxMjoyMToxNCswMDowMHFxo9QAAAAldEVYdG1v
+ZGlmeS1kYXRlADIwMDgtMTItMDNUMTI6MjE6MTQrMDA6MDAuwNXgAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>906</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/path.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/path.png.xml
new file mode 100644
index 0000000000..7887358670
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/path.png.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005898.15</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>path.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAAAvhJREFUeNrkVV9IU1EYP7vNoQibI4voxRJRGBS0HsqEVjBsooIy2CgF
+NVxI/xTBFyEIg2UPiYQwZS/FTIi9zB5yUxAEE8xNSKWFDynCNmRuuTu37v/Tved61xbTNsunDnx8
+3/ku5/f7ft9377kyCCE4zoWBY155EYTD4QtbW1v6vBiEFuVi0Wj0nMFgYPR6Pdvd3b27uLj4NJdz
+ORP09/eH7XY7ZBgGTrmnYEtrC9Fp6Uz4/f72vyaYn59/aTabSYqiIMMxMEElYJSIwgnXBBQUuSZd
+k0cmSCaTiubmZnrJtyQC/4jCUCIEN2ObcP37Opz7OodInE7nh2zn/zjksbGxFe1lrVxzUQNIjkRG
+sRQygiFAcUkxsAxYMJvddivbeflh4Hx/O6dnpitG34wCnMQByZIoT3E8OEsgjwgZCqjVajZvAutz
+64jlgeWEokghAgmAjKhC8IiIVzHjmiHqDfUreX0HDofjo0qtoqpvVKPKpZZI4EJOMP+qH0S+RQo6
+2juu5KwgGAxec7x1XLWOWLE4FUfAqO98xcLg0tXMvptl+3r6Rg8qNCvB4IvBqUZTI6Y8qUxVn165
+BB6Lx0AkEMF0Ot3DnK8Kt9s9vr2zXVjbVJvZczYNfD+OxWJAqVLCnO8iHMdPDb8avt36qFWxR++h
+NwencCC0SYjjtOgl0sKSQrCzu4MFAgHdQQSy9Ot64NlAgCggzhrvGn+1hvfSDKRvAO331S17lgH3
+haOdE07FoQp8Pt+ThU8LZxruNIgVMiKwBCYBpoMLvuJmBQjJQvKa6zXcoQqajE10XVudvPJSZUbv
+M1Ts54EMpAjQM5oA3tdeqCnWEEODQ+dVKtV2hgKbzbZaWlZKV2mrUgNE9psKiTR9HlJcZi6TrRWs
+FRmMhqDX6zWnFGxsbNR33e96X64txyAGAQMZwLKs6CHvOd5z4h7FfC7rno+FHJkkQeJzAvbc63H0
+Pu5tQy3yeDzj/Bt0+l/9JjmOk/GLNJlMDbL/66d/lPVTgAEASGQujRwwIBIAAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>854</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/polygon.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/polygon.png.xml
new file mode 100644
index 0000000000..0e8828e245
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/polygon.png.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005898.34</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>polygon.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADOElEQVRIx7VWS0tbQRSem6cxDzXG
+klKEbtqFiJsuXNZN6cJNF/YHiHTjDyh1l41IqSvBXbNS8EVpaWkWDeoiIl0UUUEIQhUfSUwMiTbJ
+vd487vQ7g1duEpvYVgeOdyYz53zfecwZJc45u8thYnc8LMaFJEnNzj+FlCDrNzEuokN/dGkyXvT1
+9eV7enqymD+7bYCRgYEBNZlM8uPjY97f35/Dby9vC+D10NCQdn5+zvWRTqf54OBgEXuv/geAEvJ2
+dHSUF4tFXjsUReHDw8Ok9OZfAGyQYCAQqDNcLpe5qqoCVNM0PjY2Rorv/gbAY7FYPkxPT1cZJmOl
+Ukkwz+fz/OzsTAiNqakpbjab30PX3gzgYWdn5+rS0lKV8UqlIhjLssxzuRzPZrP89PSUJxIJHovF
+xP78/Dz3er2fYONeI4DAxMTEtSEpFAqcEp3JZHgqleLxeJwfHh7yvb09vru7K0AmJyfJyIgRoPYm
+h9bW1sr6AsYZwiKE5vq69ncQYPCKRaNRBWrfG7WKH+FweH1ra0ssjMYQoiujxjkZJ6YIHYMuKUYb
+AWhQnp2bm7sCMDI1rnUgkpaWFrazs8MODg7CUKs0a3afFxcXU+RyrRe1xul7cXHBnE4nW1lZ0XD8
+2026aXJ/f/8L3GUOh+OK5Z8E5cuQYLa8vPwTuhsNAQzddHZmZoaKqI69bliPv91up9BQiFahJ5M3
+HR0drK2trR6gtbWVeTwehosWAaMNVAWz2WwiDGQMl0zMSWiOC8fa29tZJBIhIl/JsMvlEjnBxat/
+D4gxwmIBugt1vr6wsPBkfHxcgOihIKG5XrZdXV1UPQWfzwfbrsfwLIkzv/jlxaoCwAEL5JHJZOr1
++/1SMBjUkA8TGTVeSGNrwQVkm5ubCtg/h143vN/G+W0AnVBFVQFQr8GmjFzI8CSG1vAxFAp1Y+3G
+tuOyCZr14xAVe4rb7U4hJDJACxAZHlIrFwwkYxelqqE8gIUDcfRB2Y/5A3zvY9sLcUKsl8dVCD08
+aRg8Qbji+CbwzYAoATC8G9e/yUiogvkRDh6hKjaQUDsY2hECm9VqNRMp7JWJKTxWQaaIhFewV/eu
+S3f9b8tvtz48ZB5P0eIAAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>881</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/polygon.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/polygon.svg.xml
new file mode 100644
index 0000000000..edc07e5882
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/polygon.svg.xml
@@ -0,0 +1,263 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80047915.13</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>polygon.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n
+<!-- Created with Inkscape (http://www.inkscape.org/) -->\n
+<svg\n
+   xmlns:dc="http://purl.org/dc/elements/1.1/"\n
+   xmlns:cc="http://web.resource.org/cc/"\n
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n
+   xmlns:svg="http://www.w3.org/2000/svg"\n
+   xmlns="http://www.w3.org/2000/svg"\n
+   xmlns:xlink="http://www.w3.org/1999/xlink"\n
+   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"\n
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n
+   sodipodi:docname="draw-polygon.svg"\n
+   sodipodi:docbase="/home/andreas/projekt/tango/22"\n
+   inkscape:version="0.42"\n
+   id="svg8728"\n
+   height="22.000000px"\n
+   width="22.000000px"\n
+   inkscape:export-filename="/home/andreas/projekt/tango/22/draw-polygon.png"\n
+   inkscape:export-xdpi="90.000000"\n
+   inkscape:export-ydpi="90.000000">\n
+  <defs\n
+     id="defs3">\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       id="linearGradient3941">\n
+      <stop\n
+         style="stop-color:#000000;stop-opacity:1;"\n
+         offset="0"\n
+         id="stop3943" />\n
+      <stop\n
+         style="stop-color:#000000;stop-opacity:0;"\n
+         offset="1"\n
+         id="stop3945" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       id="linearGradient6581">\n
+      <stop\n
+         style="stop-color:#eeeeec;stop-opacity:1;"\n
+         offset="0"\n
+         id="stop6583" />\n
+      <stop\n
+         style="stop-color:#e0e0de;stop-opacity:1.0000000;"\n
+         offset="1.0000000"\n
+         id="stop6585" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       id="linearGradient14920">\n
+      <stop\n
+         id="stop14922"\n
+         offset="0"\n
+         style="stop-color:#5a7aa4;stop-opacity:1;" />\n
+      <stop\n
+         id="stop14924"\n
+         offset="1.0000000"\n
+         style="stop-color:#1f2b3a;stop-opacity:1.0000000;" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       id="linearGradient13390">\n
+      <stop\n
+         id="stop13392"\n
+         offset="0.0000000"\n
+         style="stop-color:#81a2cd;stop-opacity:1.0000000;" />\n
+      <stop\n
+         id="stop13394"\n
+         offset="1.0000000"\n
+         style="stop-color:#2a415f;stop-opacity:1.0000000;" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       id="linearGradient10325">\n
+      <stop\n
+         id="stop10327"\n
+         offset="0"\n
+         style="stop-color:#5a7aa4;stop-opacity:1;" />\n
+      <stop\n
+         id="stop10329"\n
+         offset="1.0000000"\n
+         style="stop-color:#455e7e;stop-opacity:1.0000000;" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       gradientUnits="userSpaceOnUse"\n
+       y2="39.486301"\n
+       x2="37.746555"\n
+       y1="23.992306"\n
+       x1="23.598076"\n
+       gradientTransform="matrix(0.363308,0,0,0.363571,1.976073,1.180651)"\n
+       id="linearGradient13217"\n
+       xlink:href="#linearGradient6581"\n
+       inkscape:collect="always" />\n
+    <radialGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient3941"\n
+       id="radialGradient3947"\n
+       cx="2.25"\n
+       cy="16"\n
+       fx="2.25"\n
+       fy="16"\n
+       r="16.875"\n
+       gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,-5.774893e-15,10.66667)"\n
+       gradientUnits="userSpaceOnUse" />\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient6581"\n
+       id="linearGradient2398"\n
+       x1="10.769515"\n
+       y1="8.7196503"\n
+       x2="15.923767"\n
+       y2="15.039417"\n
+       gradientUnits="userSpaceOnUse" />\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient6581"\n
+       id="linearGradient2403"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="10.769515"\n
+       y1="8.7196503"\n
+       x2="15.923767"\n
+       y2="15.039417"\n
+       gradientTransform="matrix(0.874941,0.000000,0.000000,0.868551,1.339139,1.349650)" />\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient6581"\n
+       id="linearGradient2405"\n
+       gradientUnits="userSpaceOnUse"\n
+       x1="10.769515"\n
+       y1="8.7196503"\n
+       x2="15.923767"\n
+       y2="15.039417"\n
+       gradientTransform="matrix(1.001575,0.000000,0.000000,1.000000,-3.040037e-3,0.000000)" />\n
+  </defs>\n
+  <sodipodi:namedview\n
+     inkscape:window-y="25"\n
+     inkscape:window-x="0"\n
+     inkscape:window-height="949"\n
+     inkscape:window-width="1280"\n
+     inkscape:document-units="px"\n
+     inkscape:grid-bbox="true"\n
+     showgrid="false"\n
+     inkscape:current-layer="layer1"\n
+     inkscape:cy="10.249014"\n
+     inkscape:cx="16.435231"\n
+     inkscape:zoom="15.999999"\n
+     inkscape:pageshadow="2"\n
+     inkscape:pageopacity="0.0"\n
+     borderopacity="0.08235294"\n
+     bordercolor="#666666"\n
+     pagecolor="#ffffff"\n
+     id="base"\n
+     showguides="true"\n
+     inkscape:guide-bbox="true"\n
+     inkscape:showpageshadow="false"\n
+     stroke="#888a85" />\n
+  <metadata\n
+     id="metadata4">\n
+    <rdf:RDF>\n
+      <cc:Work\n
+         rdf:about="">\n
+        <dc:format>image/svg+xml</dc:format>\n
+        <dc:type\n
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n
+        <dc:title>Draw Rectangle</dc:title>\n
+        <dc:date>2005-10-10</dc:date>\n
+        <dc:creator>\n
+          <cc:Agent>\n
+            <dc:title>Andreas Nilsson</dc:title>\n
+          </cc:Agent>\n
+        </dc:creator>\n
+        <dc:subject>\n
+          <rdf:Bag>\n
+            <rdf:li>draw</rdf:li>\n
+            <rdf:li>rectangle</rdf:li>\n
+            <rdf:li>square</rdf:li>\n
+          </rdf:Bag>\n
+        </dc:subject>\n
+        <cc:license\n
+           rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />\n
+      </cc:Work>\n
+      <cc:License\n
+         rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">\n
+        <cc:permits\n
+           rdf:resource="http://web.resource.org/cc/Reproduction" />\n
+        <cc:permits\n
+           rdf:resource="http://web.resource.org/cc/Distribution" />\n
+        <cc:requires\n
+           rdf:resource="http://web.resource.org/cc/Notice" />\n
+        <cc:requires\n
+           rdf:resource="http://web.resource.org/cc/Attribution" />\n
+        <cc:permits\n
+           rdf:resource="http://web.resource.org/cc/DerivativeWorks" />\n
+        <cc:requires\n
+           rdf:resource="http://web.resource.org/cc/ShareAlike" />\n
+      </cc:License>\n
+    </rdf:RDF>\n
+  </metadata>\n
+  <g\n
+     inkscape:groupmode="layer"\n
+     inkscape:label="Layer 1"\n
+     id="layer1">\n
+    <path\n
+       sodipodi:type="arc"\n
+       style="opacity:0.60000000;color:#000000;fill:url(#radialGradient3947);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"\n
+       id="path2193"\n
+       sodipodi:cx="2.2500000"\n
+       sodipodi:cy="16.000000"\n
+       sodipodi:rx="16.875000"\n
+       sodipodi:ry="5.6250000"\n
+       d="M 19.125000 16.000000 A 16.875000 5.6250000 0 1 1  -14.625000,16.000000 A 16.875000 5.6250000 0 1 1  19.125000 16.000000 z"\n
+       transform="matrix(0.503704,0.000000,0.000000,0.349014,9.366667,12.45257)" />\n
+    <path\n
+       style="fill:url(#linearGradient2405);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#888a85;stroke-width:1.0000002px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"\n
+       d="M 10.376363,3.6237647 L 18.439333,9.5822222 L 15.644242,18.503298 L 5.3933717,18.503298 L 2.5694122,9.5814367 L 10.376363,3.6237647 z "\n
+       id="path1661"\n
+       sodipodi:nodetypes="cccccc" />\n
+    <path\n
+       style="fill:url(#linearGradient2403);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#fdfdfb;stroke-width:0.99999976px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"\n
+       d="M 10.383801,4.6223366 L 17.428917,9.8682235 L 14.894231,17.502140 L 6.1335005,17.494329 L 3.6135882,9.9131875 L 10.383801,4.6223366 z "\n
+       id="path2401"\n
+       sodipodi:nodetypes="cccccc" />\n
+  </g>\n
+</svg>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>7865</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/rect.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/rect.png.xml
new file mode 100644
index 0000000000..587f1e51ce
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/rect.png.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005898.95</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>rect.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAU5JREFUSMft
+lL1Ow0AQhL+TiEIDJBSkouLhkidA0NAaCXjRNEQJQjnf7Q6Fz/lxElkCyqx0GmvPnrnZvTWc4xx/
+jVDwaTweV5PJBBDS/ub2YScE6qYE8/mcxeLzGXgFuCh7w+l0SlVVSubBzDEX5o6ZyK6C23y2fayz
+83A/UfXyGD7e34at6EXXUazzHqG7yOYldxpjMmLy4B1bXQHWyTak1iE3Ly7a07ciJmI2UjYkHRcI
+pc6xNlw7ApsyHce2TDEZdXbU5yCmItBD3PajPUjMRjLHTzoArJRI0lGSk2KlBz0OAlYcSNon7kP3
+/h4IUWdYpwzi4Jb09SMmI5sjTgk4pNw42Ah07rsX3C2NuXA1Q+berGMCQSFwfUm6u70ZSJSB2g7b
+ZsB28u7NeZv3ndHoKjkMDmY/hDADlsA3sAK+frFW5fslMDv/hc/xf/ED8r4S8qLcXkkAAAAASUVO
+RK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>404</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/redo.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/redo.png.xml
new file mode 100644
index 0000000000..a252f60df6
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/redo.png.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005899.14</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>redo.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
+WXMAAA3WAAAN1gGQb3mcAAAACXZwQWcAAAAYAAAAGAB4TKWmAAACwklEQVRIx82TS2sTURTH/+fO
+I62prX0aa8VGEVGqBatCQaxUlLZKFoKI4EpkPoNLv4ALdZeNC/0EWfgoFBSU4qLYdiGW2mItTdME
+M7F5NDOZuddNJk7GzLRSCl44zHDvmd/vnnvPAP/jiMVVEYur+3eSy3bh2YzF1fY9E1waOwsA2e0k
+u6lgRxLaDhKLq2EA9wE89cI3K2m0Kj348GYeADoSmqn/kyAWV8cBvBpXe+fti32nSy1l2VmrVCwU
+zCyMPEckEvGVUAD8OoC3N0eHUWy28SunwxRbYIxAMsE0DDCZoKeKIAZEo1FHEk5oZilQEIurxwAs
+Xb0xjIooIaOnatncEmASQSgGjLyAUeCg6k26JEpCMy0AkH0KeHb5wkmDQKG0vg5h1y/aZECWCJbB
+a3MueIcDDxJMiO4QUoVlSBJDZ/tBAAwKhSCqCQI2NvkC1DChL9Lvewd+AijUDIlktHW1QtkoYWp6
+sW79ysR5yE0IhAOB/wGhpa0ZG5mkmJpezAE4ldBMSmgmAYBEyrbwQIEEGRFpQCx8zNkAbic086t7
+3bCLDvyIHzzwiAyRt8tCtgCETiTNL/B0nAu+hoDRqAICsHx41s7/KmcAAI8fIVXNJUdkFsXRhGYm
+3XM7qYAAkBDi0099boww6PSh5E5KaKbq2aDwRMMKnJ2wwjoeTm5J7ZZtCrkcyo0/Ue5WJbInlOpT
+8lb45y7rBQwA+/6Ol45fY+nkSjZ2bjTKU2vZEX1ZxEsZUPUbdzAX3KnGV1CLxdf8c/8Im0mn9Hu9
+nftWWwfsO4eG2LeV9zzpgjpgqQrm3mPyCupES5N86UCUnpuypRBAxCgfGWRGuJus3A9hcKsG4w0E
+5Ia6351duc+UDT2QOnvOsFvE0CNsbMy9sF9yW/AuLvFIL8mhJsHXVsXW7IxtuWQN24t8wi/f3T1/
+HdGej99T7ToAAnDnmgAAACV0RVh0Y3JlYXRlLWRhdGUAMjAwOC0xMi0wM1QxMjoyMToxNCswMDow
+MHFxo9QAAAAldEVYdG1vZGlmeS1kYXRlADIwMDgtMTItMDNUMTI6MjE6MTQrMDA6MDAuwNXgAAAA
+AElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>921</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/reorient.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/reorient.png.xml
new file mode 100644
index 0000000000..77513c8bd0
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/reorient.png.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005899.34</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>reorient.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAIGNIUk0AAHomAACAhAAA+gAAAIDo
+AAB1MAAA6mAAADqYAAAXcJy6UTwAAAAEZ0FNQQAAsY58+1GTAAAAAXNSR0IArs4c6QAAAAZiS0dE
+AP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAytJREFUeNrVVUlMFEEU/VXVXT3TPd2y
+GNAoiEbDQYxbTIhhUS8YjbgbjYk3NR6MnlAwMXrAeNHoweB6Mq4YIeDCBVcO6BwkE4NLXNAokKBD
+1BlheqmyWm0dBpF2O/iTn65fVf1e1XvdVQD/e6DkAmNexDlMwhhuOw568qf1Z8xkAjGYL7JEZPbf
+qAeEpnENIb4itT+/cE0xxrhQE+FXFrGTUoE1x21LXmciASMF8z7RvOD1jZ+1cvGj1jPHhZLReDx+
+TXRt8kMgcOaIdNW5gb+zQkw8apPBn4drjyA0ajMh5xcABGaKWYd9GYvghsjrg0z+AfhWor+8RQlS
+bfNupvmxrAZ4fxjA3uhXLpLsgW3vWpxbcCf3RVvDiWRwgi1VTc8OasbycF/s1Drg9jQAdulnHgDs
+Gg+wuwOnevDyfpMwhzzEuCLigVOd6YosUs9B2RNvHsRyWjGAfHQYD+YO+EyTPNiOELvqOBWNVv/p
+sR44oiyAsR1SR4xWcgtunpRoeilg+dhvefBlEtnOubQxY0xtZTCtpN8Fl4PMEAtREbWCmEczn4fL
+yk3zbTOwxHrfHgjd2r9utEWsItj3oa4yGCqJBEdkKx64IiGDarKWkbu8611nwzzOE5M5cxp9eTBQ
+S2cvArOmp2NplfmxPcsDJwFLxxKjqqGrUxfVP6GBrPlYUo779QBSSYCbhzofLNrAE09HeeCywgxJ
+sQ2qaGTGsos9gdDohR6JLw8GeULkKky0LflF9c2hzBzqggspZEK5LlOmc/5eaz23hsSjHe5CJ/nw
+IHUr7DaAQ3tf163NmlAWpwEde+BEdlQakNCr9vrLidibxwjF+xCqzhvWg0EcjrWH27EDkaaVUyyz
+K90Dl2SGWk6tvvKu62GROBO3Aaglvj1IDcexqpkV23+vcVWebXaHksEppaXiUIz/lgeDvm+i7JCC
+RoWRlVfT8yxc7oKbptkz5AtD3Qc/P/fxbFc5SZLG+b0PDrn3gaLwNNOE6WKbvYyhtqFqMbf38z9P
+rDTHgbneOGOwRIy9d++DbwSGAd3RKJx125YF4wTZTpFtomz71drVX3gaEaT/Pj4Bjj/M+WV5JI4A
+AAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>980</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/rotate.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/rotate.png.xml
new file mode 100644
index 0000000000..47422166c4
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/rotate.png.xml
@@ -0,0 +1,74 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005899.53</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>rotate.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A
+/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kJHBIIM4aR8REAAAVcSURBVEjH
+tZZtSFtXHMafmxc1RuNmTCzJJbNrTVNbiq6d0Wo3Wz/UaCX9MAsd0m3QKLUdwza10JTOsRYrbBNt
+ahSFYecKig5W6ktXlYgvpDDbjppaFK1iVdhCQ5UZ8+L978M05Mb5cQcOXDjn/H/nPuc8D4chIvyf
+TUBE2K4DkADIBvBVIBD43uv1WonoWwCfAti5WSQ7OxsMw8BqtR4C8FkoQPRfVIZhogGcHx8fL+3o
+6Ng1OjqKpaUl+P1+yGQyaLVaGAyGNaPR2B8TE1MVFxc3snv37gyj0dgDoBdAS7AYx3G8TkQfzM/P
+/3HmzBkSi8UEYNuelJRE9+7d8/b09DQNDw9PnDp1ihYXF4d4KoQVP2a325eVSiWvEMuylJOTQ3l5
+eXTw4EGSSqW8cZPJRLm5uQSAnE7nHBFFbwIYjuM2Zdk7Ojo6aDAYFMvLywCArKwslJSUeMRi8e+v
+X792er1ej1wu35GYmJjucDh23blzB6urqzx5e3t7vcePH98L4FVQIiKC2+3+TavVBnd1+fJl6urq
+6tPr9R8DeHfjwCUA4gAk2my27/r6+rbIVl9fT0SUHZRo48N4/fr14KRz585Ra2vrT2KxODb8AiQl
+JaG0tHRfd3f3VHp6+haA2WwmIioOAhobGzE9PV135MgRAkDJyck0MDDwJDY2llc8NTUVbW1tWFtb
+20lEr9rb2ykvL48yMjKIZVmKjIwkAHTy5Ekioq83AaLS0lKUlZXNVFRUYH19HdeuXUNDQ0PlysrK
+StjVRUtLC2pqaqQSieRGSkqKPD8/P0mhUGhkMhnLMMyOlZWVeIlEIgaQHLo2kmEYTUVFheXBgwc9
+Z8+eLQsdjI+Ph0gUtIsAQES4WQUCgVQmk6n279+flp+f/8nIyEhBiFkhAsACUAJI3DhISKVSmM1m
+uFwudHR0QK1Wbx8HAgE0Gg1UKhWAf2UPAsxmM3Q6HQBEAZBoNBpYLBbMzs7yYuP58+dgWZZXWCQS
+4cSJE+jv74fP54Pf78fDhw/hcDgQeotYj8dT8uLFi5xnz5695/F4orbLpsnJSRgMBgBAQUEB7HY7
+AoEAOI5jiaiZ47hOIvqQ52Qi0s7MzPgbGxtpcHBwdWJi4pXL5RoOBAKtRPQNEX1ORMeISLi5yGaz
+Qa1Wg2VZqFQq2O327qKiIsrKyqK5ubkZHsBkMr3z+PHjRYZhCAAJhUJKSEggnU5HBoOBlpaWaHJy
+8sb9+/fx6NGj4MKGhgbk5ubi1q1bRdXV1UEftLa2BngAhmFiu7u7n6hUKp5hBAIB1dXVUWVlZTUA
+JiYmBlVVVeGyHXr69OmfMpmMAJBCoaCFhYXRsMgH2trafj18+DAPoNfraWFhwXX69OmPrFYr3rx5
+E1o4iojODwwMvA0NRpvNRm63u2ALoLa2tra4uHiL7XU6Hd29e3fN7XYPcRx3e319vXp5eflnh8Mx
+azKZKCIiIji3vLycmpubb4tEImwBXLp06UuLxUIA6ObNm5SWlsYDSaVS2rNnD6WmppJarSaBQMAb
+v3LlCnV2dv4SFRUVAYAHYADAaDTmFxYWdvl8Psjl8nahUPj+2NjYoaamJrhcrm0NlpmZifLy8sD8
+/Pztq1evWrxer2cTEIwYANDpdClOp9NZW1tbf/Hixbro6GjhhQsXCo8ePfrF1NSUdmxsjFlcXITP
+50NcXBySk5Oh1+v/JqJBq9X6w9DQUH8oeAtAqVQqi4uLTTU1NT8SkQeAH4BQKpXKMzMz9x04cGCf
+QqFQCYXCiNXV1bezs7PTDofjycuXL8cBrIX/2RbARkvYCLO/NrQVAIgMmwMAgY0NbPveCQX8A1Xa
+bS3ZQ+mkAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1500</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/save.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/save.png.xml
new file mode 100644
index 0000000000..b0a9fb4c3c
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/save.png.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005899.72</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>save.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
+WXMAAA3WAAAN1gGQb3mcAAAACXZwQWcAAAAYAAAAGAB4TKWmAAAEIUlEQVRIx7WVW2wUZRTHfzPb
+vUxn2+50mWW3dSlLy1LkVkpaLV4QEx8wQvRFH/TFVB8Ag1QlGNAHMRLQWExj+yCaeAMkkRcf0Bhi
+bIwRaYKoWEsotTbFrbu0Q7v32dkdH+iOXQq2aDzJ5DtzvnPO/3/Od74Z+J9FuN7wzGu73/s9UfNw
+bEKvnmmX7GbS5473L5R/7eh6+dNv/xVA9wcdTSd+CJ1ZHF6erVvoE+M50VVb6RL/iOtMpLNcvXBq
+KJXMOEPKwO6eV44emQ+AbWbyUwOBE4tW3+cZHhxwXBoeto/8dkkcuTKOvaIaxeXApTYoV9OFyssx
+16bND3nPnvn6l8G5AMSi8v1F18HbFpQNJwa/vNCqnn6it3ObeE9d36bc5OWp0UvnzehUnHgygeIL
+IPuCzp9jaz554dXN8rwBtJTUYMsnJu9dOvrA/uffPQZwYNfHX7QER/clNE1ITk2gZ1IA+IJLRVXW
+R67ooZ55n8Hje577LOTM/TSlFfbOdHBKAt9M1LF4RXNJoCfdz5U/x6gpXL0+5+6ut7pfL76UFZVg
+Zfzz1Lij58D+N2axuL+je5Yt472D0aFePjxUwocX9+w6CFgAVotSY46LikcllbrWhmQyaT1W0vTf
+us3uKPEbGR0hmUyiqio7dm5vmlUBUO/3BwBIJBO4ZfcNmRfFLBQAeGTfUQxd5/jeRwFQFIVYLBYG
+zpVUAGxZu6aZdDqNgGAxb2zZQGPLBqoUFYBsNnNtTcdpaLqTJStbACiXygG4q+1ugFWzWgQ8WFNT
+W8LynWc3MvjjdwBERofANMkbOTLpJPFJDYCh8328vW29FRMM1gG8VAKwY+f2Jkkqx+Fw4PV6LeeA
+Wkdn+zoG+nqpVmsomOZ0f0wqPV4Gz52ms30ddTVhAGRZnm6T1zqHYgXhhT4/AJqmIcsysiwjiiKh
+2mV0bW2zQERBwF1VzeC503RtbSNUu8zy17RrVVVVVgGEZwKsun35CnK5nFlWZmNychJN05AkCVmW
+WRlu5nDHRgb6evEsCDDcf5bDHRtZGW62EmuaRj5vkEgkzPol9QBtFkA2m13t9/txu92CYeQpTE9I
+MVDTNKorAnQ+3cJAXy9vPtlMdUXA2gPI5w0QQFEUIRhcRCaTrbDG1Ol0bgmHw9aY3UwUpZWvDrUy
+lzQ2NuJyOduBp6x7EIvFGB8fv/ncFw94Hnuqqlr6zIuGrut4vV5OnjyJ0+lEdpdT4a5EFEUkSUIQ
+BCRJwu12o2kaPp+PaDQ6a50JIF7PxjAMbDYbpmkiCjay2Sy6rmOaJna7/R8ruZGUVCAIAul0mrVr
+mzCMPDabDcMwrH2Hw3FLyUsAotGo6ff7pz/f3jkDPR4PAKFQaNYaiURMpn8FZQCRyNhjHx15//gt
+07u5CJHI2Pr/nmYe8hfzmaMRg7hQJwAAACV0RVh0Y3JlYXRlLWRhdGUAMjAwOC0xMi0wM1QxMjoy
+MToxNCswMDowMHFxo9QAAAAldEVYdG1vZGlmeS1kYXRlADIwMDgtMTItMDNUMTI6MjE6MTQrMDA6
+MDAuwNXgAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1272</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/select.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/select.png.xml
new file mode 100644
index 0000000000..eea7a69164
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/select.png.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005900.11</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>select.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAJFSURB
+VEiJtdYxaxsxFAfwd3f2ne3D7oFNSpZ0jCcvNR3Sb+Clu4eWTl2MO3juUgL9AnWnbsZjl5BCpw4p
+GbKEFEIhdMgQikloDlunk0+ydP8uIbiNTWrHEWh54vRDevcesgDQfQ57VpBz/oGIqisRAMya4Jz/
+BvBozvp/z3kLaafT0ZzzXwAerhxI0zS1LAvb29sqiqKfAIJVA8a2bRARut1uwhj7DsBfGWCMMY7j
+gIhgWRb6/b5gjH0D4K4K0JlMBkQEIoLjONjd3Y0ZY58BOHcGtNY6m81eA0QE13Wxt7fHoyjqA7Du
+DLiu+xdARPB9H4eHhzyO4/d3BSae590AiAhBEODk5ITHcfx2aWAymUxyudxMgIiwtraGs7MzniTJ
+62UBlc/n5wJEhI2NDVxcXHCt9fOFAaWUKhQKMzeuVCpYX19HuVxGvV4HY0wAeLYoIH3fv7G54zgY
+jUZKSimSJBFKKWmM0Yyx/XnAzG56VWBERLS1tUXtdlsSERljqNfrpVLKT57nFbLZrGfbdqZYLD5d
+qJtKKZNisYhqtYrhcCiklDIIAhARSqUSwjCMATxZ+i+SUiabm5sYDAax1vpFGIZfm83m9VU1m82U
+MfYDgL0sMD49PRVxHL+5ir3c2dmJpvNxcHDAjDGvlgKUUowx9nEqVhFCJNPFV6vVMB6PIwAPFgYA
+VP49/uXl5VGj0UA+n0er1UrPz895GIb7uKXD3pqkqeLrHB8fq+FwKMIw/ALg8dJJnncqIcQ7ANUF
+viELuN9nyx9eo0aSQj7AcAAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>712</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/select_node.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/select_node.png.xml
new file mode 100644
index 0000000000..8fe46cb482
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/select_node.png.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005899.91</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>select_node.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAAAt5JREFUeNqklk9Ik3EYx593/93UJluWFyMINqI8uGHgpYgm4aVDNw9Z
+QXQRS8pjsDoLttihQ3SJdYgOIgZh0mGi4EUCp7QQhHYQBWVu794/+/f0/b2lTJvi3v3Gd+/v97zP
++3ze53l+vzFiZqqn51F20nW+TSGewnUMa+9xvidJEl+1I7VG1qsP6S6VKUSMK9FFKA99Izt9WnlP
+n69cpsMPnTSOEs/e4j7q5VW6zyqluEoyjKvQMOYhzpyP8M1GMji0SC6yBUGiFGGdNBjKzJOqxsEK
+5joUAaSXJ+cXWTotwFKbTXpdpERWiqBANswloqcuJ81qCl0Q64iwUPjnOjlOW6FDgMAlI2jFqLlk
+wIxiv45GaQ6Qc27DzQfZTQEOMpijEj5GBiLNyYkJ+hiL0eyAQv4O0owXaaLJA6jzbzTZaG65WmWL
+xSIS4dibt5z6Jefg5zHVZKGVVTT6Gj8CZApSSqUKW61WAyBJEicSCTWXy83D12EKsK/xl9xBN3gc
+gKrNZuO/HSEDNjMzUwDkC/yspgH7KmPY7fYDgJDD4eBkMinn8/kEfKSmASJgLUDI4/Hw8vKyXCgU
+4s0CSk6n8z+AkNfr5XQ6LSCvTANKGC6Xqy5AqLOzkzOZjKxp2hOzgGJLS8uxAKHu7m7e3t6Wke29
+hgFFDLfbXTew3+/nrq4u9vl8HA6HGTtLwTN3GgXooqFHg4vture3V9R1XUF5FOFXqVTKgCw0CtBa
+W1uNoP39/Tw6OqrtQ+LxuIaAH5raRXhDra2tjYPBIGezWQVrXeweAWhvb+fd3d0C/PqaAgQCAd7c
+3CygicMI+H1oaOigVJhXkcUafC1mAerGxoaCvf7in+3B9PR0vrYfS0tLOdT/sSkAeoAXzL2rsfkV
+RdFqD19PTw+rqprHvTMNA0TAo+nv7Oz8GBwcZHE+RkZGqltbWzJKt1DvF5bM/BXB4XuWSqWKoukI
+/BW20HG+fwQYANs5OOUM6VNHAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>828</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/sep.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/sep.png.xml
new file mode 100644
index 0000000000..e0268bca2b
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/sep.png.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005900.3</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>sep.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAAAIAAAAYCAYAAADQ+yzZAAAAAXNSR0IArs4c6QAAABdJREFUCNdj
+fvfu3X9BQcEGJgYoGB4MANDTBK7RcuvhAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>93</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/shape_group.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/shape_group.png.xml
new file mode 100644
index 0000000000..b178b0c9a6
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/shape_group.png.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005900.49</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>shape_group.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0
+U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAG7SURBVDjLjZMxi1NREIXPC9HCKGGN2MgW
+dio2utZxA0KKVPkBwqaR/IS0dqYx/0LIVpsuBMFKA5LdQotF1kJWcMvYmBfemzPH4r4X3+pDMjDM
+3MvMx5m53Gg4HJ5L2pV0OhgMHmAL6/f779I03Sd5WgGw2+l0QPIetrQ4jvd7vR7iOL5fJXkymUwe
+Xb1+OzparCQATiCPDsAFkMDz5rUIANbr9dvRaPTMzN5HkgAAR4uVdmoVQKFJHhqlEC9+Og6eBkDR
+qnlCD8V5Q+4S4A6Yl4+zAeSFyiS7/wVhOWEzwuGHlW7eqEACPp0vgyoJJCA6zAE3hxlgJF4d3I0u
+KTABLIxwZ+dKUOECXXCGSApff6QlO2BBNpWdBXcHHSAdZAAkqZcABFwsHXQPxS44HSSyuz9K0lT/
+AopP9PJwKZpvJNMdbgp7oMOsBFA0M8EKkjc7yHIz/h+QJoRZddNoVLZMhxOXFXS73UWSJHskj6fT
+6RMASM1x9v0XUgdoDiNgRjjD03588wK3Xn+RmZ2h3W5rNpup2WxKErbxRqOh8XisWq2mqNVqHSdJ
+8pjkyXw+39vmN9br9c9m9pDkt98JJaJgEg+kbwAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>553</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/shape_ungroup.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/shape_ungroup.png.xml
new file mode 100644
index 0000000000..8838518822
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/shape_ungroup.png.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005900.69</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>shape_ungroup.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0
+U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIsSURBVDjLpVMxbBJhFH6HR1sKNG01jbkE
+GYgDjMLk0GgYiZODBEZ1cHDASAJMLiwkspAwECRMOhkhcXNwUTGmZWhs0RqtXmutBrGDHoT7//98
+7wfaQrv1T77/3d3/3nff++6dYlkWnGaptOVyOR2JPIhWKpUKTCal0+mXpmleEUK08vl84BgBLk8k
+EoF6ve5/tmJYggOQLooCY7fbhVgsBpVKxX+iAs55s1arXXLMLcHirE0WWbgJZKEO585dgFKpBIyx
+15MEysiDp+8M66zLJgvEEch7JNvdF3Dr6qxyogJao8Q3z4vQ+bUD6owbLl+7C/YZ1+CMC5kXDodX
+0I8gYrXRaIRsIwLZLya293SIRqPw++cOrG+3Ye1bB9a22rD3Zx8ePNGtXq8XzGQy5EtwTAHDYo6w
+O+ahWCzCmSknLLlVmHbYgSOzwEOKzgUNkskkoILmgQeJRELKcs6fh+Xr9+E9vlVbmMKWsBD7IvUc
+N04kiM3vBhTuXJR+yBZITjwehx/6Jux22CBZWDIyhuoYRQvYkMA0D4dPEmBfzUKhIOPtsEsxKZGK
+OBUJCT4iGcaxr1CtVoNHP83gbYeSDzwYXjPGj8/BaIVCIb3f73vcixrcuPdIFpIS8oOjH48f3oQv
+G29p+FqoOGCbHAx86Mlms+jHJ/i4bcAH/R/CgI2vf6G1ZcDn9QaUy2WaSv9wgKwx+Hy+Va/XKzRN
+a0yeEVRVfaEoCsl+RffKaX/n/x+oi531jRZtAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>666</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/source.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/source.png.xml
new file mode 100644
index 0000000000..f9405fce56
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/source.png.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005900.88</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>source.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAPTSURB
+VEiJtZV/TJVlFMc/z33vvdz7AioXJcpRrJJ+rHJMFhvJxGarpaz8g7/MyZy2YaQOkRa5LrRsMRiC
+aUPYMM1ZK9rMatA/rPLHmJCZuZbYH+HmrCkSIPfe973ve09/wL3dC9i9bfVuzx/POd/v+Z7zvOd5
+jhIR/s/PmQpIbd+fRniiCSOwCtv24nJfYlHBJmnZOJWM60gpDc18AyNQTdbij1joa8ehcuDG86lQ
+UxNwugzcHg3TqMahlbDQd5jMms/+O4GRe97Ft2QTnvRfkMjTTI53M9p0OuruVSqtUilPygL1SvX0
+KTX4TZT0aHAj7rRCFmRvk/a6peiZg2jOnFiBcLEMzlYolZFUoEqpnathvQ733oAwAB7PMA5tLZZ5
+Se3pvIXbk0lW9tYoxwtjebA8H1rnZCsisVUJd3fD9VNgn4OX4n0iAs1H02k+mj7bPgiFZ8Dsh8AW
+KEvgxG/q4cRZsL+H3gRQ28kT7Ds5zsFPMkQE3jpSTn3HZLzYBWgZgMgBOOcHR9QeO6JqpTa8AOU6
+BHSoSijT6WknzbsAWVAJgOZ6GU96j9T+fQ8U+L0w8iQUTUBjzC4ibFYqsxR+LIL8NNhVILJv9lGq
+7jMXsS2YGn+GUOgqTlUstRUX4jFXlFprwhc3Yew4lBwSuewAyIP9xZCfDoMF0D7nRwF49QNo2uO4
+PF243OdnBwdYJvKVDp/mQNYD8B7MdNF6eNY73Q21iETmFciMHAM1jkg5mnZoXgzggQYdeBHWxAQ+
+h2s6oEPlnYiybkWAiNUM0s+foeN3wumw0wt8DT9NE0XYAYWnYTwEEYHnZrfhnHZ950g2/g/62NP1
+ZYIPVhtgD0CwDkpFZPo1bRP5oVGpzqegFuhEqccQmYhmpRoanCwursOyVhI27yeMjoPv0Fxvx1JX
+ygt0usHRDx82iZyKHRGAX2T3xzAE5AEtCXVnPLGLwO29WJEOpiIlWOZvhIIrKb3v1zhUI/DgYbhi
+wLaoMeGpuAxVozAJbEWpNTGHGR4gFLQwA8txGUWYRg4SuS5lZdZM9iuAmiEIX4XtDSLWvAJ+kaFj
+0DGz7Yo5bGOEsDGMEcwjFNyA090KGeviqK2A1gs9fpG++JhzJtoOkbpvlVq2CrwxY3CqFcvKwOn6
+g0gkjMgiXHYuMDqDuNYF5y3YPDueSmUmq9fe303o9quI2Ni2m7DhJRTIwrekQdrqGv+Jm3TgqJpW
+L7d+fxOnqxffXY/IwfqljP2ci23dJBh8KCk/pQpe2fs6ocAWTCMXpaaACZzuYXwPVyQd/Mku1ZxL
+5ve7/w3+L98LE/xuuvArAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1110</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/spinbtn_updn_big.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/spinbtn_updn_big.png.xml
new file mode 100644
index 0000000000..bfce288435
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/spinbtn_updn_big.png.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005901.07</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>spinbtn_updn_big.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABoAAAB4CAYAAADsduKfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAAB6NJREFUeNrsWn1MVWUY/537CZdPAQn6wG9LBGfT4R8ZpM5c08rNOcka
+ssQ2aYWpjTmDDHCOlSm5aktoyMps/uOcf2SaCFnOBo1E0RBnfhQoH3rl835x+p3Da97Qe7kXLqyt
+826/7Z7zvuf5ve9znud53+e5R5JlGWPRdBijphH994mgWJ07fGjhxF5ioj+yh0O0inARm0aT6DGi
+QZFB/EmkjBZRmSC5h8NClQElSiecRD9x2o1sYyCJJhEXhGCFJI6oENfdxNxAEBmIcjehz4r7ScQV
+cf+kGDciolfd1FQwqG+dlz6/iJ4krgtBlUTUQybyrehvJxYOl8hdyCIP7y+BuCHGnSCi/SV6w00t
+7/vgxPfGbvOHSLGiv9xetHkIIiNRKsYr5v/8YCLDQx6SiHnCon4lthK2IYgcxA4ijHhUEP1MdP0j
+dPB7kSRJieiRIp4pDtojZupLU1YeRJiIDsp2eSMK6M7g7owPc9DJYq+yE1fF6nxpSsQYJ2T8Lp73
+uh9li+h8kVjqI8nTxFnhd7uJEF+sToltdeLdKDEudgiSUOKoGN9BJPvjRy+K2CYL0/XWNrv50brh
+RIZd4mHFvF/xQDLPbULfCIvzm0h5sbVCyDliyqB+C/Gj6L9MzBxJ9E4jeoWwMhEF7rUPxH2Xu8pG
+svFtd3sHq9wmYBX39gdqh40R24Qy4JJ4L8fF9TViQiDPDM8J05WFE99b4YrROAUVDDoFlXo77Y6E
+KJiocrPCyaN5Uk0l2sRZYlSPxEZhDH6d68dsm9ASsWG3B3fY/fvHiGjWrDEi6uvTjGGUiCTpUQQH
+T/fhwDIiohC6+0HU139Hsgr+njY6RHr9Fly/PhnvvBOM48dTERq6xVcZOj9UtohEmdi1y4jm5jiU
+lVnR2voSzObVgSR6hLN/D19+aUZ1tUW9c/ZsHK+dJH8POt3jIydSInBo6Js4d24mDhwY2PymTWtR
++8rLLaiqioTJ9NHIiUymJWhvfxMlJXa0tMRg0qQWqq8HS5bcUPOhnTv1uHNnMVf2xvCJJCmSArbh
+yBErVRavxA3k5tqQnGxDZqYBUVGtaGqKwccfO2Aw5IqSwDCIjMZCXLgwFbt3P6KOXbu2Gc88cxsd
+HRmYM6cRGRkhampy5EgEKitDERaWR1Wb/COSpOWw2ZZj+3YXenstmDnzFtLTlfS/BC5XDTo785GV
+1YrU1Nuw24OoWjOuXn2e/rXGdyJZfpyzy8W+fSbU1UUjJKQTOTnAxInfMuh+LcZUwencz/tGWCw2
+XL4chr17uziJLbTCJF+IdLSyXKpiBioqzOr18uW9mD+/BVbrTq7U8c9Ip7MQiYkNyM9vV8cdPBiD
+EyfCSbyd42K8E5lMqXTIlSgt7cHduxEUdBtvvy1xJR+yt3HQ6F7e34wFC3RYvPiamigXFEhoaEij
+I6/3TiRJCRzo4gvXY/bsDuTlyXzoMPr7v3qoml2uM9TAHmRnP4GUlFuIjdWjpuYiursd/xL7wHGr
+pmYVBy2l4D6uTlGjhSpSyprNXpxacdoiGkUYtWCjEQUjOvp3OSWlyDNRfX04enqMfKEDUcFi6eUq
+e4bwN8DhMNI6I+h3PC1KOgQFQU5KavW8lZ88eZfRmT0G5WUzuWR2GRc38NtTszD8nT7tQHFxm/pc
+ZCTTAeYDSUnwVtAIWJ2BsrU6g1Zn0OoMWp1BqzNodQYttdSINCKNSP1rLUNEcv/ikfY9A7TvGbTv
+GaB9z/A/+55hzx4d0/9QpvFOpvxOpv92H9N/MP038jkj038T0/9Oef1611AFDQk6nbJmiUIcfhQ0
+QqDX94uChtF7QcNmewF9ffdLNC6X7yUag+FfJRr2FHkmCgoy48yZRVSZAWFhBuTm9mPGjEKSZXlR
+XTYaG7OxY0crrFYzVqy4iJdfPu9945Pla0hM1CMqyoW6uigUFkqc4UtU5Wseiu7z0NX1Fj777Dp+
++SUWt265MHfuUwgJMXonsturER9/EFlZFoSHW9HQMA6ffCJzpe+yd/oD+VJQ0EeorOzHsWMJanE3
+P1/mRKs4uc+H2sr7OcNiLFhwARkZNvX60KFgnDoVh4iITVzx/ZkaDHmcSCItLFodt3JlGxYuvEtj
+2spxbUOfGSTpBjo7i7FmjR2zZ7ejuzsMJSXAH3+s4gpeFWPSSLSa9x0UbMaUKZ1Yty6UqtxBQzrn
+++FElg/BbD6ErVv1CA7uwfnzsThwQEmWcyhsLg2lAKWl41FdPY4W14ecHBsmTPieJr7P/1OQw5FH
+i2vChg03VdWUlcXjp5/G0VAqUFs7HRUV3WpJZtkyK1XdRS0UcqV2/4lk+Q79aBsFRSA1tVk9ahUX
+m1Ffb0Z5uRMdHeMxdWobNm400vyLRQI9zHOd3X6UzvcpVWNiKGrDlStxDFEWHD2q/MPSiU2bXAw5
+xzihL0Z2gFTCS1fXp0hKOo/09IES9KVLcWpfZmYP0tLucDKbA3VSvUmyIrz+uo0qHIh7s2a18NrA
+lRTRym4E7kgsyz9QaDnV5qBDt2Dt2giMH3+YjunTX9EPRu/aWm/jlX9XvkdTUzySkxvpP29RtZc8
+zm3OHHgOqt5bNwX/hoSEXq7urKpSH5ukfZP/nyf6W4ABAOEIXEI4yswdAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>120</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>2049</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>26</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/square.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/square.png.xml
new file mode 100644
index 0000000000..1b547b5d85
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/square.png.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005901.26</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>square.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
+AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAEjSURB
+VEiJvVa9TsYwEHMQAxIDYqELIwM77/8u39pn+HI2Q5uv+WkvqUSJVFmqUvvis3INknDlerqUHQAk
+YT3FDYD+6Lkl3pAsCiFI0gxgGi2MAiiB1AONnN9eXyZJAQCeq+8mIxFNMBJmQnygYMYFsz01fn++
+FwXWAogmRCOMG3qENbIKzY4Am6pzsR6SGBHI7Mhwl7iycuAE7UcF5tbtFHHSojFbNoElSb7AiYY2
+aeOQRScEquqXFHWb7Fji9WbFvkXGE8Rto+vL81RMXVytc08gCXcngslrL2VukykNJeUwrr0UkVg3
+J+LW96NUJWL3qqD6Sdm/4EqOjkXHCckbmkTriesKxKj55+tj2gZIO1AowYp35Z5oLIfWv43Mq9bl
+fxW/rcy1vbCbi7EAAAAASUVORK5CYII=</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>422</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/svg_edit_icons.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/svg_edit_icons.svg.xml
new file mode 100644
index 0000000000..96d2c6283d
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/svg_edit_icons.svg.xml
@@ -0,0 +1,1023 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80047848.52</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>svg_edit_icons.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>alt</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<svg xmlns="http://www.w3.org/2000/svg">\n
+<!-- All images created with SVG-edit - http://svg-edit.googlecode.com/ -->\n
+\n
+<g id="logo">\n
+<svg viewBox="0 0 478 472" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg">\n
+ <defs>\n
+  <linearGradient id="svg_5" x1="0" y1="0" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#ffffe0" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#edc39c" stop-opacity="1"/>\n
+  </linearGradient>\n
+  <linearGradient id="svg_10" x1="0.57031" y1="0.78125" x2="0.28906" y2="0.41406">\n
+   <stop offset="0" stop-color="#ff7f00" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#ffff00"/>\n
+  </linearGradient>\n
+  <linearGradient id="svg_18" x1="0.37891" y1="0.35938" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#e0e0e0" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#666666" stop-opacity="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <path d="m68.82031,270.04688l-22,-33l17,-35l34,2l25,15l7,-35l28,-16l25,12l100,102l21,23l-15,35l-36,9l20,49l-31,24l-49,-17l-1,31l-33,21l-31,-19l-13,-35l-30,21l-30,-9l-5,-35l16,-31l-32,-6l-15,-19l3,-36l47,-18z" id="svg_19" fill="#ffffff"/>\n
+  <path fill="#1a171a" fill-rule="nonzero" id="path2902" d="m158.96452,155.03685c-25.02071,0 -45.37077,20.35121 -45.37077,45.3775c0,0.72217 0.01794,1.4399 0.0471,2.15645c-0.49339,-0.53604 -0.99355,-1.06085 -1.50603,-1.58452c-8.56077,-8.55519 -19.95982,-13.28413 -32.07432,-13.28413c-12.12122,0 -23.52027,4.72334 -32.08778,13.29646c-17.69347,17.69464 -17.69347,46.4619 0,64.17445c0.51809,0.51697 1.0485,1.0126 1.59015,1.50601c-0.72891,-0.03586 -1.45782,-0.04822 -2.19234,-0.04822c-25.02071,0 -45.37189,20.35117 -45.37189,45.37747c0,25.01398 20.35119,45.36517 45.37189,45.36517c0.72891,0 1.45221,-0.01236 2.1744,-0.04828c-0.5293,0.48221 -1.05412,0.98801 -1.56547,1.49368c-17.70021,17.68906 -17.70021,46.48654 -0.00628,64.18677c8.57872,8.56747 19.96655,13.2785 32.08778,13.2785c12.1145,0 23.5012,-4.71103 32.07433,-13.2785c0.51247,-0.51694 1.01823,-1.04849 1.50603,-1.57895c-0.02915,0.71213 -0.04709,1.44669 -0.04709,2.15759c0,25.01511 20.35007,45.37747 45.37077,45.37747c25.01398,0 45.37079,-20.3624 45.37079,-45.37747c0,-0.7222 -0.01689,-1.44553 -0.05266,-2.18112c0.48105,0.52933 0.97562,1.04849 1.48697,1.56662c8.57982,8.57977 19.97775,13.2908 32.1057,13.2908c12.11003,0 23.51358,-4.71103 32.0687,-13.2785c17.68906,-17.70013 17.68906,-46.48538 0,-64.17441c-0.50577,-0.4946 -1.01141,-1.00034 -1.54306,-1.48248c0.69983,0.03592 1.42316,0.04828 2.16992,0.04828c25.01514,0 45.35284,-20.35123 45.35284,-45.36517c0,-25.02631 -20.33774,-45.37747 -45.35284,-45.37747c-0.74683,0 -1.47009,0.01236 -2.19345,0.04822c0.53152,-0.49341 1.06082,-0.98904 1.59128,-1.50601c8.55521,-8.55521 13.2785,-19.94186 13.2785,-32.07545c0,-12.12793 -4.72336,-23.52028 -13.30319,-32.0934c-8.55515,-8.56076 -19.95866,-13.2841 -32.0687,-13.2841c-12.12122,0 -23.52025,4.72334 -32.08777,13.2841c-0.51137,0.5181 -1.01822,1.04851 -1.5049,1.57895c0.03586,-0.72331 0.05266,-1.43991 0.05266,-2.16881c0,-25.02629 -20.35681,-45.3775 -45.37079,-45.3775m0,20.71901c13.61607,0 24.65851,11.03122 24.65851,24.65849c0,6.62749 -2.651,12.62137 -6.9101,17.04979l0,51.67419l36.53975,-36.53523c0.12001,-6.14418 2.48277,-12.24686 7.18146,-16.94667c4.81305,-4.81305 11.12094,-7.22409 17.44116,-7.22409c6.30228,0 12.61577,2.41104 17.43552,7.22409c9.62166,9.63287 9.62166,25.24948 0,34.87669c-4.69977,4.68634 -10.80803,7.04915 -16.95334,7.18147l-36.5341,36.53305l51.66742,0c4.42841,-4.25351 10.42905,-6.90451 17.08008,-6.90451c13.59137,0 24.62933,11.03799 24.62933,24.66525c0,13.61606 -11.03796,24.66519 -24.62933,24.66519c-6.65106,0 -12.65167,-2.66333 -17.08008,-6.91681l-51.64836,0l36.50273,36.50946c6.16995,0.14465 12.26587,2.50522 16.96568,7.20618c9.6216,9.61487 9.6216,25.23151 0,34.85757c-4.80856,4.81979 -11.13327,7.22974 -17.43556,7.22974c-6.32019,0 -12.63371,-2.40991 -17.44786,-7.22974c-4.68074,-4.68744 -7.04802,-10.79572 -7.17473,-16.94098l-36.53975,-36.53415l0,51.66742c4.25908,4.44635 6.9101,10.43466 6.9101,17.0621c0,13.62729 -11.04243,24.66415 -24.65851,24.66415c-13.62166,0 -24.65848,-11.0369 -24.65848,-24.66415c0,-6.62744 2.64539,-12.61575 6.90335,-17.0621l0,-51.66742l-36.53864,36.54648c-0.12672,6.14413 -2.48838,12.26477 -7.18147,16.94098c-4.81416,4.81873 -11.12206,7.22974 -17.42882,7.22974c-6.31461,0 -12.6225,-2.41101 -17.43555,-7.22974c-9.63284,-9.62833 -9.63284,-25.24277 0,-34.8699c4.68073,-4.67627 10.79012,-7.05026 16.94101,-7.18262l36.533,-36.53302l-51.66632,0c-4.44075,4.25348 -10.42902,6.91681 -17.06211,6.91681c-13.61606,0 -24.65288,-11.04913 -24.65288,-24.66519c0,-13.62726 11.03682,-24.66525 24.65288,-24.66525c6.63309,0 12.62136,2.651 17.06211,6.90451l51.68537,0l-36.55208,-36.54538c-6.14527,-0.12 -12.25354,-2.49403 -16.94775,-7.19377c-9.62611,-9.61493 -9.62611,-25.23715 0,-34.86441c4.81419,-4.81305 11.12769,-7.22406 17.44228,-7.22406c6.30676,0 12.61465,2.41101 17.42883,7.22406c4.69978,4.69307 7.06034,10.80246 7.18144,16.94777l36.5386,36.53299l0,-51.66074c-4.25795,-4.42841 -6.90334,-10.42229 -6.90334,-17.04979c0,-13.62726 11.03682,-24.65848 24.65848,-24.65848"/>\n
+  <path d="m188.82031,210.04688l16,-47l155,-148l107,100l-158,156.99999l-44,12l-76,-74z" id="svg_6" fill="url(#svg_10)" stroke="none"/>\n
+  <path d="m335.57031,40.29688c-11.5,39.75 55.5,115.25 109.25,98.75l21,-20.99999l-103,-101l-27.25,23.25z" id="svg_11" fill="url(#svg_18)" stroke="none"/>\n
+  <rect x="272.80404" y="20.76382" width="42.35197" height="232.66835" id="svg_13" fill="#ffffff" stroke="none" transform="rotate(45.9094, 293.98, 137.1)" opacity="0.4"/>\n
+  <rect x="282.80404" y="22.76382" width="14" height="232.66835" fill="#ffffff" stroke="none" transform="rotate(45.9094, 289.805, 139.1)" opacity="0.4" id="svg_14"/>\n
+  <ellipse cx="415.13312" cy="64.38066" id="svg_12" fill="#ea7598" stroke="none" rx="67.79251" ry="34.82026" transform="rotate(39.4735, 415.133, 64.379)"/>\n
+  <path d="m212.07031,166.04688c-8.5,47 36.25,103.75 99.25,96.75l-152.5,53.25l53.25,-150z" id="svg_4" fill="url(#svg_5)" stroke="none"/>\n
+  <path d="m181.32031,242.54688c0.5,20.5 26.75,45 46.75,48.5l-66.25,20l19.5,-68.5z" id="svg_3" fill="#27382f" stroke="none"/>\n
+ </g>\n
+ <g>\n
+  <title>Layer 2</title>\n
+  <path d="m152.82031,317.04688l51,-152l157,-153c40,-12.00001 118,48 105,105l-157,152.99999l-156,47z" id="svg_1" fill="none" stroke="#800000" stroke-width="17"/>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+\n
+<g id="select">\n
+\t<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n
+\t  <path stroke="#ffffff" fill="#000000" id="svg_13" d="m7.38168,2.46948l0.07502,17.03258l3.30083,-2.62617l2.62566,5.62751l4.20105,-2.62617l-3.30082,-4.80214l4.57614,-0.37517l-11.47787,-12.23044z"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="select_node">\n
+\t<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+\t  <circle stroke="#0000ff" fill="#00ffff" id="svg_44" r="3.87891" cy="5.3" cx="8.7" stroke-width="1.5"/>\n
+\t  <path d="m9.18161,5.6695l0.07763,15.16198l3.41588,-2.33775l2.71718,5.00947l4.34748,-2.33775l-3.41587,-4.27474l4.73565,-0.33397l-11.87794,-10.88723z" id="svg_13" fill="#000000" stroke="#ffffff"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="square">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n
+ <defs>\n
+  <linearGradient id="svg_2" x1="0.36328" y1="0.10156" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#ffffff" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#3b7e9b" stop-opacity="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <rect x="1.5" y="1.5" width="20" height="20" id="svg_1" fill="url(#svg_2)" stroke="#000000"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="rect">\n
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient y2="1" x2="1" y1="0.10156" x1="0.36328" id="svg_2">\n
+   <stop stop-opacity="1" stop-color="#ffffff" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#3b7e9b" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <rect transform="matrix(1, 0, 0, 1, 0, 0)" stroke="#000000" fill="url(#svg_2)" id="svg_1" height="12" width="20" y="5.5" x="1.5"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="fh_rect">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 52 52">\n
+ <defs>\n
+  <linearGradient y2="1" x2="1" y1="0.10156" x1="0.36328" id="svg_2">\n
+\n
+   <stop stop-opacity="1" stop-color="#ffffff" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#3b7e9b" offset="1"/>\n
+  </linearGradient>\n
+  <linearGradient y2="0.3945" x2="0.6132" y1="0.1093" x1="0.3046" id="svg_9">\n
+   <stop stop-opacity="1" stop-color="#f9d225" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#bf5f00" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <rect stroke="#000000" stroke-width="2" fill="url(#svg_2)" id="svg_1" height="50" width="50" y="0.75" x="1.25"/>\n
+  <path stroke-width="2" stroke="#000000" fill="url(#svg_9)" id="svg_2" d="m31.5,0l-8.75,20.25l0.75,24l16.5,-16.5l6,-12.5"/>\n
+  <path stroke-width="2" stroke="#000000" fill="#fce0a9" id="svg_10" d="m39.5,28.5c-2,-9.25 -10.25,-11.75 -17,-7.4375l0.4843,24.4414z"/>\n
+  <path id="svg_11" stroke-width="2" stroke="#000000" fill="#000000" d="m26.9318,41.1745c-0.4491,-2.3511 -2.3021,-2.9866 -3.8181,-1.8905l0.1087,6.2126z"/>\n
+</svg>\n
+</g>\n
+\n
+\n
+<g id="circle">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 54">\n
+ <defs>\n
+  <linearGradient y2="1.0" x2="1.0" y1="0.1875" x1="0.171875" id="svg_4">\n
+   <stop stop-opacity="1" stop-color="#ffffff" offset="0.0"/>\n
+   <stop stop-opacity="1" stop-color="#ff6666" offset="1.0"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <circle stroke-opacity="1" fill-opacity="1" stroke-width="2" stroke="#000000" fill="url(#svg_4)" id="svg_1" r="23" cy="27" cx="27"/>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="ellipse">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 54 54">\n
+ <defs>\n
+  <linearGradient y2="1.0" x2="1.0" y1="0.1875" x1="0.171875" id="svg_4">\n
+   <stop stop-opacity="1" stop-color="#ffffff" offset="0.0"/>\n
+   <stop stop-opacity="1" stop-color="#ff6666" offset="1.0"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <ellipse stroke-opacity="1" fill-opacity="1" stroke-width="2" stroke="#000000" fill="url(#svg_4)" id="svg_1" rx="23" ry="15" cy="27" cx="27"/>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="fh_ellipse">\n
+<svg viewBox="0 0 52 52" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient id="svg_9" x1="0.3046" y1="0.1093" x2="0.6132" y2="0.3945">\n
+   <stop offset="0" stop-color="#f9d225" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#bf5f00" stop-opacity="1"/>\n
+  </linearGradient>\n
+  <linearGradient id="svg_4" x1="0.17188" y1="0.1875" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#ffffff" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#ff6666" stop-opacity="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <ellipse stroke-width="2" stroke="#000000" fill="url(#svg_4)" id="svg_1" rx="23" ry="12" cy="37" cx="27"/>\n
+  <path d="m31.5,0l-8.75,20.25l0.75,24l16.5,-16.5l6,-12.5" id="svg_2" fill="url(#svg_9)" stroke="#000000" stroke-width="2"/>\n
+  <path d="m39.5,28.5c-2,-9.25 -10.25,-11.75 -17,-7.4375l0.4843,24.4414z" id="svg_10" fill="#fce0a9" stroke="#000000" stroke-width="2"/>\n
+  <path d="m26.9318,41.1745c-0.4491,-2.3511 -2.3021,-2.9866 -3.8181,-1.8905l0.1087,6.2126z" fill="#000000" stroke="#000000" stroke-width="2" id="svg_11"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="pencil">\n
+<svg viewBox="0 0 48 52" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+  <defs>\n
+   <linearGradient id="svg_9" x1="0.3046" y1="0.1093" x2="0.6132" y2="0.3945">\n
+    <stop offset="0.0" stop-color="#f9d225" stop-opacity="1"/>\n
+    <stop offset="1.0" stop-color="#bf5f00" stop-opacity="1"/>\n
+   </linearGradient>\n
+  </defs>\n
+  <path d="M31.5,0 l-8.75,20.25 l0.75,24 l16.5,-16.5 l6,-12.5" id="svg_2" fill="url(#svg_9)" stroke="#000000" stroke-width="2" fill-opacity="1" stroke-opacity="1"/>\n
+  <path d="M39.5,28.5 c-2,-9.25 -10.25,-11.75 -17,-7.4375 l0.4843,24.4414z" id="svg_10" fill="#fce0a9" stroke="#000000" stroke-width="2" fill-opacity="1" stroke-opacity="1"/>\n
+  <path d="M26.9318,41.1745 c-0.4491,-2.3511 -2.3021,-2.9866 -3.8181,-1.8905 l0.1087,6.2126z" fill="#000000" stroke="#000000" stroke-width="2" fill-opacity="1" stroke-opacity="1" id="svg_11"/>\n
+  <path d="M2.3132,4.6197 c12.4998,-1.6891 10.4729,7.0945 0,21.6215 c22.9729,-4.0539 12.1620,5.4053 12.1620,13.1756 c-0.3377,4.0539 8.7836,21.9594 26.0135,-1.3513" id="svg_12" fill="none" stroke="#000000" stroke-width="2" fill-opacity="1" stroke-opacity="1"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="pen">\n
+\t<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+\t <defs>\n
+\t  <linearGradient id="svg_16" x1="0.46484" y1="0.15625" x2="0.9375" y2="0.39453">\n
+\t   <stop offset="0" stop-color="#f2feff" stop-opacity="1"/>\n
+\t   <stop offset="1" stop-color="#14609b" stop-opacity="1"/>\n
+\t  </linearGradient>\n
+\t  <linearGradient id="svg_19" x1="0.18359" y1="0.26172" x2="0.77734" y2="0.56641">\n
+\t   <stop offset="0" stop-color="#ffffff" stop-opacity="1"/>\n
+\t   <stop offset="1" stop-color="#fce564" stop-opacity="1"/>\n
+\t  </linearGradient>\n
+\t </defs>\n
+\t  <line x1="0.99844" y1="1.49067" x2="12.97691" y2="21.14149" id="svg_5" stroke="#000000" fill="none"/>\n
+\t  <path d="m14.05272,13.68732l-1.46451,7.52632l4.03769,-6.32571" id="svg_6" fill="#a0a0a0" stroke="#000000"/>\n
+\t  <path d="m13.61215,10.26563c-0.38567,1.05257 -0.60723,2.40261 -0.50403,3.125l4.33468,1.81452c0.46153,-0.30769 1.6129,-1.71371 1.6129,-2.52016" id="svg_7" fill="url(#svg_19)" stroke="#000000"/>\n
+\t  <path d="m16.61335,1.00028l-3.67325,8.60247l7.10285,3.47318l3.17783,-7.20549" id="svg_8" fill="url(#svg_16)" stroke="#000000"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="text">\n
+\t<svg viewBox="0 0 158 128" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+\t  <text x="58" y="120" id="svg_1" fill="#000000" stroke="none" font-size="120pt" font-family="sans-serif" text-anchor="middle" fill-opacity="1" stroke-opacity="1" font-weight="bold">A</text>\n
+\t  <line x1="136" y1="7" x2="136" y2="121" id="svg_2" stroke="#000000" fill="none" fill-opacity="1" stroke-opacity="1" stroke-width="5"/>\n
+\t  <line x1="120" y1="4" x2="152" y2="4" id="svg_3" stroke="#000000" stroke-width="5" fill="none" fill-opacity="1" stroke-opacity="1"/>\n
+\t <line x1="120" y1="124" x2="152" y2="124" stroke="#000000" stroke-width="5" fill="none" fill-opacity="1" stroke-opacity="1" id="svg_4"/>\n
+\t</svg>\n
+</g>\n
+\n
+\n
+<g id="path">\n
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 124 124" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient y2="1" x2="1" y1="0.28125" x1="0.33594" id="svg_4">\n
+   <stop stop-opacity="1" stop-color="#ffffff" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#33a533" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <path stroke-dasharray="null" stroke-width="4" stroke="#000000" fill="url(#svg_4)" id="svg_1" d="m6,103l55,-87c85,33.64 -26,37.12 55,87l-110,0z"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="add_subpath">\n
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 124 124" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient id="svg_4" x1="0.33594" y1="0.28125" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#ffffff" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#33a533" stop-opacity="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <path d="m6,103l55,-87c85,33.64 -26,37.12 55,87l-110,0z" id="svg_1" fill="url(#svg_4)" stroke="#000000" stroke-width="4" stroke-dasharray="null"/>\n
+  <g id="svg_7">\n
+   <circle stroke-dasharray="null" stroke-width="5" stroke="#000000" fill="#ffffff" id="svg_6" r="22.63281" cy="88.5" cx="45.5"/>\n
+   <line stroke-dasharray="null" stroke-width="7" stroke="#000000" id="svg_2" y2="104.03768" x2="45.5" y1="72.96232" x1="45.5"/>\n
+   <line stroke-dasharray="null" stroke-width="7" stroke="#000000" id="svg_3" y2="88.5" x2="61.03768" y1="88.5" x1="29.96232"/>\n
+  </g>\n
+ </g>\n
+ </svg>\n
+</g>\n
+\n
+<g id="close_path">\n
+<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <g>\n
+  <path stroke="#000" stroke-width="15" fill="#ffc8c8" d="m121.5,40l-84,106l27,115l166,2l29,-111"/>\n
+  <line x1="240" y1="136" x2="169.5" y2="74" stroke="#A00" stroke-width="25" fill="none"/>\n
+  <path stroke="none" fill ="#A00" d="m158,65l31,74l-3,-50l51,-3z"/>\n
+  <g stroke-width="15" stroke="#00f" fill="#0ff">\n
+  <circle r="30" cy="41" cx="123"/>\n
+  <circle r="30" cy="146" cx="40"/>\n
+  <circle r="30" cy="260" cx="69"/>\n
+  <circle r="30" cy="260" cx="228"/>\n
+  <circle r="30" cy="148" cx="260"/>\n
+  </g>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="open_path">\n
+<svg viewBox="0 0 300 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <g>\n
+  <path stroke="#000" stroke-width="15" fill="#ffc8c8" d="m123.5,38l-84,106l27,115l166,2l29,-111"/>\n
+  <line x1="276.5" y1="153" x2="108.5" y2="24" stroke="#000" stroke-width="10" fill="none"/>\n
+  <g stroke-width="15" stroke="#00f" fill="#0ff">\n
+   <circle r="30" cy="41" cx="123"/>\n
+   <circle r="30" cy="146" cx="40"/>\n
+   <circle r="30" cy="260" cx="69"/>\n
+   <circle r="30" cy="260" cx="228"/>\n
+   <circle r="30" cy="148" cx="260"/>\n
+  </g>\n
+  <g  stroke="#A00" stroke-width="15" fill="none">\n
+   <line x1="168" y1="24" x2="210" y2="150"/>\n
+   <line x1="210" y1="24" x2="168" y2="150"/>\n
+  </g>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+\n
+<g id="image">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n
+ <defs>\n
+  <linearGradient y2="1" x2="1" y1="0" x1="1" id="svg_25">\n
+   <stop stop-opacity="1" stop-color="#10284c" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#5374ad" offset="1"/>\n
+  </linearGradient>\n
+  <linearGradient y2="0.75781" x2="0.99609" y1="0" x1="1" id="svg_23">\n
+   <stop stop-opacity="1" stop-color="#162e84" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#97c4ef" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <rect x="1" y="3.83333" width="22" height="17" id="svg_18" fill="#202020" stroke="none"/>\n
+  <rect stroke-width="1.2" stroke="#ffffff" fill="#232947" id="svg_15" height="14" width="19" y="5.33333" x="2.5"/>\n
+  <rect fill="url(#svg_23)" id="svg_20" height="7.02244" width="15.96424" y="6.7266" x="4"/>\n
+  <rect fill="url(#svg_25)" id="svg_24" height="4.02393" width="15.96303" y="13.77454" x="4"/>\n
+  <circle fill="#ffffad" id="svg_26" r="1.83333" cy="9.82002" cx="7.13254"/>\n
+  <path d="m14.5696,13.77458l0.70243,-4.85313l-3.12899,4.85313l2.42656,0z" id="svg_14" fill="#404040" stroke="none"/>\n
+  <path d="m15.27203,8.98531c2.74584,0.06386 2.42657,4.21456 -0.63857,4.85313c0.70243,-1.27714 1.66028,-3.63985 0.63857,-4.85313z" id="svg_17" fill="#404040" stroke="none"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="zoom">\n
+\t<svg viewBox="0 0 150 150" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+\t <defs>\n
+\t  <linearGradient id="svg_30" x1="0" y1="0" x2="1" y2="0">\n
+\t   <stop offset="0" stop-color="#d3d3d3" stop-opacity="1"/>\n
+\t   <stop offset="1" stop-color="#424242" stop-opacity="1"/>\n
+\t  </linearGradient>\n
+\t </defs>\n
+\t  <path d="m107.14774,101.03477l-0.64774,43.96523c5.00857,4.72089 14.00811,5.27188 19,0l-0.31667,-44.16l-9.61514,-19.84l-8.42046,20.03477z" id="svg_29" fill="url(#svg_30)" stroke="#202020" stroke-width="2" transform="rotate(-45, 116, 114)"/>\n
+\t  <circle cx="58" cy="58" r="51" id="svg_22" fill="#c0c0c0" stroke="#202020" stroke-width="5"/>\n
+\t  <circle cx="58" cy="58" r="43" id="svg_27" fill="#aaccff" stroke="none"/>\n
+\t  <path d="m15.68604,61.46511c38.13954,17.67442 48.13954,15.34883 85.11628,-0.46511c1.39536,18.60465 -19.30231,41.86047 -42.7907,40.93023c-21.6279,-0.93023 -42.7907,-21.86046 -42.32558,-40.46511z" id="svg_28" fill="#8cbaff" stroke="none"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="arrow_right">\n
+\t<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 50">\n
+\t  <path stroke="#000000" fill="#000000" d="m0,0l0,50l25,-25l-25,-25z"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="arrow_right_big">\n
+\t<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 50">\n
+\t  <path stroke="#000000" fill="#000000" d="m0,0l0,50l25,-25l-25,-25z"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="arrow_down">\n
+\t<svg viewBox="0 0 50 40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+\t  <path transform="rotate(90, 26, 13)" d="m14,-12l0,50l25,-25l-25,-25z" fill="#000000" stroke="#000000"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="fill">\n
+<svg width="32" height="33" xmlns="http://www.w3.org/2000/svg">\n
+  <g id="svg_5">\n
+   <path id="svg_4" d="m17.49167,10.97621c6.9875,-0.325 12.1875,2.70833 12.13333,7.36667l-0.325,10.075c-0.75833,4.0625 -2.275,3.0875 -3.03333,0.10833l0.21667,-9.64166c-0.43333,-0.975 -1.08333,-1.625 -1.95,-1.51667" stroke-linejoin="round" stroke="#606060" fill="#c0c0c0"/>\n
+   <path id="svg_1" d="m2.00055,17.1309l10.72445,-10.72445l12.67445,12.13279l-3.52056,0.05389l-9.15389,9.26223l-10.72445,-10.72445z" stroke-linejoin="round" stroke="#000000" fill="#c0c0c0"/>\n
+   <path id="svg_3" d="m14.35,13.57621c-0.1625,-3.95417 0.86667,-11.7 -1.84167,-11.59167c-2.70833,0.10833 -2.6,2.05833 -2.16667,6.93333" stroke-linejoin="round" stroke="#000000" fill="none"/>\n
+   <circle id="svg_2" r="1.60938" cy="15.20121" cx="14.45833" stroke-linejoin="round" stroke="#000000" fill="none"/>\n
+  </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="stroke">\n
+<svg width="50" height="50" xmlns="http://www.w3.org/2000/svg">\n
+  <rect fill="none" stroke="#707070" stroke-width="10" x="8.625" y="8.625" width="32.75" height="32.75" id="svg_1"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="opacity">\n
+<svg width="50" height="50" xmlns="http://www.w3.org/2000/svg">\n
+ <defs>\n
+  <linearGradient y2="0.1" x2="0.9" y1="0.9" x1="0.1" id="svg_7">\n
+   <stop stop-color="#000000" offset="0"/>\n
+   <stop stop-opacity="0" stop-color="#000000" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <rect id="svg_4" height="50" width="50" y="0" x="0" fill="#ffffff"/>\n
+  <rect id="svg_1" height="25" width="25" y="0" x="0" fill="#a0a0a0"/>\n
+  <rect id="svg_2" height="25" width="25" y="25" x="25" fill="#a0a0a0"/>\n
+  <rect id="svg_3" height="50" width="50" y="0" x="0" stroke-width="2" stroke="url(#svg_7)" fill="url(#svg_7)"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="new_image">\n
+<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+  <rect x="2.42792" y="1.6692" width="18" height="21" id="svg_55" fill="#eaeaea" stroke="#606060"/>\n
+  <circle stroke="none" fill="url(#svg_9)" id="svg_65" r="6.300781" cy="7.529969" cx="17.761984"/>\n
+ <defs>\n
+  <radialGradient id="svg_9" cx="0.5" cy="0.5" r="0.5">\n
+   <stop offset="0.1" stop-color="#ffe500" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#ffff00" stop-opacity="0"/>\n
+  </radialGradient>\n
+ </defs>\n
+</svg>\n
+</g>\n
+\n
+<g id="save">\n
+\t<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n
+\t <defs>\n
+\t  <linearGradient y2="0" x2="1" y1="0" x1="0" id="svg_41">\n
+\t   <stop stop-opacity="1" stop-color="#727272" offset="0"/>\n
+\t   <stop stop-opacity="1" stop-color="#d6d6d6" offset="1"/>\n
+\t  </linearGradient>\n
+\t  <linearGradient y2="0.875" x2="0.21484" y1="0.00391" x1="0.04297" id="svg_46">\n
+\t   <stop stop-opacity="1" stop-color="#81bbf4" offset="0"/>\n
+\t   <stop stop-opacity="1" stop-color="#376eb7" offset="1"/>\n
+\t  </linearGradient>\n
+\t </defs>\n
+\t   <path stroke="#202020" fill="#e0e0e0" id="svg_21" d="m1.51669,22.3458l21.13245,-0.10111l0,-6.06673l-2.62892,-9.80789l-16.27907,0.10111l-2.32558,9.20121l0.10111,6.67341z"/>\n
+\t   <rect stroke="#efefef" fill="url(#svg_41)" id="svg_32" height="4.75108" width="19.21031" y="16.58227" x="2.42667"/>\n
+\t   <path stroke="#ffffff" fill="#c0c0c0" id="svg_42" d="m4.55005,11.12235l0.70779,-2.83114l13.04348,0l0.70779,3.13448c-0.70779,2.52781 -4.04479,3.84227 -7.17897,3.84227c-2.72977,0 -6.37007,-1.41557 -7.28008,-4.1456z"/>\n
+\t  <path stroke="#285582" fill="url(#svg_46)" id="svg_45" d="m7.14286,9.74903l5.21236,5.79151l5.50193,-5.88803l-2.50965,-0.09653l0,-2.79923c0,-2.3166 -2.3166,-5.59846 -6.56371,-5.59846c-4.05405,0 -6.27413,3.37838 -6.56371,6.75676c0.48263,-1.5444 2.7027,-4.53668 4.44015,-4.44015c2.12355,-0.09653 2.79923,1.64093 2.79923,3.37838l0.09653,2.79923l-2.41313,0.09653z"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="export">\n
+\t<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg">\n
+\t <defs>\n
+\t  <linearGradient id="svg_5" x1="0.77734" y1="0.51172" x2="0.09375" y2="0.53516">\n
+\t   <stop offset="0" stop-color="#81bbf4"/>\n
+\t   <stop offset="1" stop-color="#376eb7"/>\n
+\t  </linearGradient>\n
+\t </defs>\n
+\t <g>\n
+\t  <rect x="7.22599" y="1.3603" width="15.76465" height="21.51735" id="svg_55" fill="#eaeaea" stroke="#606060"/>\n
+\t  <circle fill="#31abed" stroke-width="0.5" cx="17.4206" cy="11.1278" r="4.69727" id="svg_3"/>\n
+\t  <path fill="#ffcc00" stroke-width="0.5" d="m9.67673,20.24302l7.38701,-6.80778l2.91746,6.71323" id="svg_4"/>\n
+\t  <rect fill="#ff5555" stroke-width="0.5" x="9.5385" y="2.94914" width="5.74652" height="5.74652" id="svg_2"/>\n
+\t  <path d="m6.13727,17.94236l5.77328,-4.91041l-5.86949,-5.1832l-0.09622,2.36426l-4.64805,-0.06751l-0.04665,5.54694l4.79093,-0.02342l0.09623,2.27334z" id="svg_45" fill="url(#svg_5)" stroke="#285582"/>\n
+\t </g>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="open">\n
+<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient y2="0.91406" x2="0.65234" y1="0.14063" x1="0.42578" id="svg_76">\n
+   <stop stop-opacity="1" stop-color="#81bbf4" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#376eb7" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <rect x="1.65" y="3.75" width="9.8" height="16.72712" id="svg_98" fill="#c0c0c0" stroke="#606060"/>\n
+  <rect stroke="none" fill="#a0a0a0" id="svg_88" height="14.17459" width="6.39585" y="4.9758" x="2.89542"/>\n
+  <path d="m18.62576,4.54365l0,6.91443l-9.9395,0l-0.08643,-10.11236l6.828,0l3.19792,3.19793z" id="svg_99" fill="#e0e0e0" stroke="#404040"/>\n
+  <path d="m2.95,20.53644l1.65,-12.03644l16.2,0l-1.5,12l-16.35,0.03643z" id="svg_97" fill="url(#svg_76)" stroke="#285582"/>\n
+  <line fill="none" stroke="#606060" id="svg_89" y2="4.28436" x2="13.95851" y1="4.28436" x1="10.32844"/>\n
+  <line fill="none" stroke="#606060" id="svg_91" y2="6.53155" x2="14.82282" y1="6.53155" x1="10.32844"/>\n
+  <path stroke="none" fill="#ffffff" id="svg_100" d="m15.25895,1.95069l-0.00401,2.85225l2.89558,0.00004l-2.89157,-2.85229z"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="import">\n
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient y2="0.875" x2="0.21484" y1="0.00391" x1="0.04297" id="svg_46_import">\n
+   <stop stop-opacity="1" stop-color="#81f4bb" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#37b76e" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <rect x="2.42792" y="1.6692" width="18" height="21" id="svg_55" fill="#eaeaea" stroke="#606060"/>\n
+\t  <path stroke="#285582" fill="url(#svg_46_import)" id="svg_45" d="m7.14286,12.74903l5.21236,5.79151l5.50193,-5.88803l-2.50965,-0.09653l0,-2.79923c0,-2.3166 -2.3166,-5.59846 -6.56371,-5.59846c-4.05405,0 -6.27413,3.37838 -6.56371,6.75676c0.48263,-1.5444 2.7027,-4.53668 4.44015,-4.44015c2.12355,-0.09653 2.79923,1.64093 2.79923,3.37838l0.09653,2.79923l-2.41313,0.09653z"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="docprops">\n
+\t<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n
+\t <defs>\n
+\t  <linearGradient y2="1" x2="1" y1="0.5" x1="1" id="svg_53">\n
+\t   <stop stop-opacity="1" stop-color="#606060" offset="0"/>\n
+\t   <stop stop-opacity="0" stop-color="#5e5e5e" offset="1"/>\n
+\t  </linearGradient>\n
+\t </defs>\n
+\t  <rect stroke="#606060" fill="#eaeaea" id="svg_55" height="21" width="18" y="1.6692" x="2.42792"/>\n
+\t  <line fill="none" stroke="#a0a0a0" id="svg_56" y2="4.37757" x2="14.89023" y1="4.37757" x1="6.696"/>\n
+\t  <line fill="none" stroke="#a0a0a0" id="svg_57" y2="7.10804" x2="12.92026" y1="7.10804" x1="6.6948"/>\n
+\t  <line fill="none" stroke="#a0a0a0" id="svg_58" y2="9.84241" x2="15.64716" y1="9.84241" x1="6.6942"/>\n
+\t  <line fill="none" stroke="#a0a0a0" id="svg_59" y2="12.36585" x2="13.21805" y1="12.36585" x1="6.69691"/>\n
+\t  <line fill="none" stroke="#a0a0a0" id="svg_60" y2="15.06507" x2="14.43591" y1="15.06507" x1="6.69691"/>\n
+\t  <line fill="none" stroke="#a0a0a0" id="svg_61" y2="17.84241" x2="13.36979" y1="17.84241" x1="6.69691"/>\n
+\t  <g id="svg_54">\n
+\t   <path transform="rotate(-45, 12.5448, 11.7085)" stroke="none" fill="#606060" id="svg_31" d="m11.24329,8.73944l0,2.79974l2.53499,0.07777l0,-2.95528c1.78134,0.07777 2.26093,1.39987 2.12391,2.95528c-0.06851,1.63318 -1.30175,3.49967 -3.49418,3.26636c-2.19242,-0.31108 -2.87755,-1.39987 -3.15161,-2.72197c-0.27406,-1.39987 0.41108,-3.34413 1.98689,-3.4219z"/>\n
+\t   <rect opacity="0.95" transform="rotate(-45, 16.2485, 15.1732)" stroke="none" fill="url(#svg_53)" id="svg_50" height="4.85445" width="2.57974" y="12.746" x="15.04047"/>\n
+\t  </g>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="source">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 55 52">\n
+  <text xml:space="preserve" text-anchor="middle" font-family="monospace" font-size="24" stroke="none" fill="#019191" id="svg_40" y="15" x="28.23" font-weight="bold">s</text>\n
+  <text xml:space="preserve" text-anchor="middle" font-family="monospace" font-size="24" stroke="none" fill="#019191" id="svg_47" y="30" x="28.23" font-weight="bold">v</text>\n
+  <text xml:space="preserve" text-anchor="middle" font-family="monospace" font-size="24" stroke="none" fill="#019191" id="svg_48" y="44" x="28.23" font-weight="bold">g</text>\n
+  <line stroke-width="3" fill="none" stroke="#aa0000" id="svg_51" y2="43" x2="16" y1="25" x1="5"/>\n
+  <line id="svg_62" stroke-width="3" fill="none" stroke="#aa0000" y2="8" x2="16" y1="26" x1="5"/>\n
+  <line id="svg_63" stroke-width="3" fill="none" stroke="#aa0000" y2="43" x2="39" y1="25" x1="50"/>\n
+  <line id="svg_64" stroke-width="3" fill="none" stroke="#aa0000" y2="8" x2="39" y1="26" x1="51"/>\n
+ </svg>\n
+</g>\n
+ \n
+<g id="wireframe">\n
+ <svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n
+  <circle stroke="#000000" fill="none" id="svg_49" r="8" cy="9.5" cx="9.5"/>\n
+  <rect stroke="#000000" fill="none" id="svg_52" height="14" width="14" y="8.5" x="8.5"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="undo">\n
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient id="svg_66" x1="0.04297" y1="0.00391" x2="0.21484" y2="0.875">\n
+   <stop offset="0" stop-color="#f7f963" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#d3c310" stop-opacity="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <path transform="rotate(-90, 10.3017, 11.5526)" d="m6.70188,10.72562l6.55493,-7.13388l6.65817,7.24912l-3.79441,0.03193l0,2.72259c-0.04257,2.74017 -2.76516,5.83068 -7.81235,6.02135c-5.18575,0 -7.1226,-3.75464 -7.49302,-7.41944c0.61736,1.6754 3.14913,3.78397 5.3716,3.67918c2.71635,0.1048 4.41501,-0.61714 4.41501,-2.50184l0,-2.64901l-3.89995,0z" id="svg_45" fill="url(#svg_66)" stroke="#b7a800"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="redo">\n
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient y2="1" x2="1" y1="0" x1="1" id="svg_71">\n
+   <stop stop-opacity="1" stop-color="#98fc46" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#56aa25" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <path transform="rotate(-90, 12.7299, 11.5526)" d="m9.11294,12.43144l6.54089,6.84566l6.6439,-6.95624l-3.78628,-0.03064l0,-2.61259c-0.04248,-2.62946 -2.75924,-5.5951 -7.79561,-5.77807c-5.17464,0 -7.10734,3.60294 -7.47697,7.11967c0.61604,-1.60771 3.14238,-3.63109 5.36009,-3.53053c2.71053,-0.10056 4.40555,0.59221 4.40555,2.40076l0,2.54198l-3.89159,0z" id="svg_45" fill="url(#svg_71)" stroke="#44aa00"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="clone">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">\n
+ <defs>\n
+  <linearGradient y2="1" x2="1" y1="0" x1="0" id="svg_36">\n
+   <stop stop-opacity="1" stop-color="#f9f3de" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#ccbd8f" offset="1"/>\n
+  </linearGradient>\n
+  <linearGradient y2="0.80078" x2="0.42578" y1="0" x1="0" id="svg_69">\n
+   <stop stop-opacity="1" stop-color="#f9f3de" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#af995b" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <path stroke="#8f5902" fill="url(#svg_69)" id="svg_34" d="m2.11676,16.32061l-0.13787,-5.05515l1.93015,-2.02206l10.11029,0l2.02206,2.29779l0,4.77941l-13.92463,0z"/>\n
+  <rect x="7.85379" y="6.30027" width="2.2932" height="4.3407" id="svg_38" fill="url(#svg_36)" stroke="#8f5902" rx="1" ry="1"/>\n
+  <circle stroke="#8f5902" fill="url(#svg_36)" id="svg_35" r="2.96392" cy="4.48149" cx="9.11757"/>\n
+  <line x1="2.44838" y1="12.03512" x2="15.5524" y2="12.03512" id="svg_39" stroke="#f9f3de" fill="none"/>\n
+  <path d="m6.72427,12.55859l4.74203,0l-2.30831,2.07258l-2.43372,-2.07258z" id="svg_43" fill="#000000" stroke="none"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="delete">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n
+  <rect ry="3" rx="3" stroke="#800000" fill="#aa0000" id="svg_37" height="20.29514" width="21.17486" y="1.70304" x="1.42011"/>\n
+  <rect ry="3" rx="3" stroke="#ff5555" fill="#aa0000" id="svg_67" height="18.63022" width="19.61118" y="2.53597" x="2.20258"/>\n
+  <line stroke-width="2" fill="none" stroke="#ffffff" id="svg_68" y2="16.85127" x2="17.00646" y1="6.85127" x1="7.00646"/>\n
+  <line stroke-width="2" id="svg_70" fill="none" stroke="#ffffff" y2="16.85127" x2="7.00646" y1="6.85127" x1="17.00646"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="go_up">\n
+\t<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">\n
+\t <defs>\n
+\t  <linearGradient y2="0" x2="0.7" y1="0" x1="0" id="svg_74">\n
+\t   <stop stop-opacity="1" stop-color="#afe853" offset="0"/>\n
+\t   <stop stop-opacity="1" stop-color="#52a310" offset="1"/>\n
+\t  </linearGradient>\n
+\t </defs>\n
+\t  <path stroke="#008000" fill="url(#svg_74)" id="svg_33" d="m5.38492,16.77043l7.07692,0l0,-5.23077l4.15385,0l-7.69231,-10.15385l-7.69231,10.15385l4.15385,0l0,5.23077z"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="go_down">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18">\n
+ <defs>\n
+  <linearGradient y2="0" x2="0.7" y1="0" x1="0" id="svg_75">\n
+   <stop stop-opacity="1" stop-color="#afe853" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#52a310" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <path stroke="#008000" fill="url(#svg_75)" id="svg_33" d="m5.3015,1.69202l6.93483,0l0,5.07323l4.07045,0l-7.53786,9.84803l-7.53786,-9.84803l4.07045,0l0,-5.07323z"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="move_bottom">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 23 23">\n
+ <defs>\n
+  <linearGradient y2="0" x2="1" y1="0" x1="0" id="svg_80">\n
+   <stop stop-opacity="1" stop-color="#bc7f05" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#fcfc9f" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <line stroke-width="2" fill="none" stroke="#000000" id="svg_72" y2="2.5" x2="22" y1="2.5" x1="10.5"/>\n
+  <line id="svg_73" stroke-width="2" fill="none" stroke="#000000" y2="6.5" x2="21.99844" y1="6.5" x1="10.49844"/>\n
+  <line id="svg_74" stroke-width="2" fill="none" stroke="#000000" y2="10.5" x2="21.99922" y1="10.5" x1="10.49922"/>\n
+  <line id="svg_75" stroke-width="2" fill="none" stroke="#000000" y2="14.5" x2="21.99922" y1="14.5" x1="10.49922"/>\n
+  <rect stroke="#000000" fill="url(#svg_80)" id="svg_77" height="2.2" width="20" y="17.65" x="1.65"/>\n
+  <path stroke="none" fill="#000000" id="svg_81" d="m4.25,1.55l2.35,0l0,11.05l2,0l-3.175,3.45l-3.175,-3.45l2,0l0,-11.05z"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="move_top">\n
+<svg viewBox="0 0 23 23" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient id="svg_86" x1="0" y1="0" x2="1" y2="0">\n
+   <stop offset="0" stop-color="#9fdcf4" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#617e96" stop-opacity="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <line x1="1.3" y1="8.19922" x2="12.8" y2="8.19922" id="svg_72" stroke="#000000" fill="none" stroke-width="2"/>\n
+  <line x1="1.29844" y1="12.19922" x2="12.79844" y2="12.19922" stroke="#000000" fill="none" stroke-width="2" id="svg_73"/>\n
+  <line x1="1.29922" y1="16.19922" x2="12.79922" y2="16.19922" stroke="#000000" fill="none" stroke-width="2" id="svg_74"/>\n
+  <line x1="1.29922" y1="20.19922" x2="12.79922" y2="20.19922" stroke="#000000" fill="none" stroke-width="2" id="svg_75"/>\n
+  <rect x="1.55" y="1.85" width="20" height="3.2" id="svg_77" fill="url(#svg_86)" stroke="#000000"/>\n
+  <path d="m16.83475,21.14603l2.33207,0l0,-11.04578l1.98474,0l-3.15077,-3.44869l-3.15077,3.44869l1.98474,0l0,11.04578z" id="svg_81" fill="#000000" stroke="none"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="to_path">\n
+<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient y2="0.46875" x2="0.42969" y1="0.10156" x1="0.10547" id="svg_105">\n
+   <stop stop-color="#ff0000" offset="0"/>\n
+   <stop stop-opacity="0" stop-color="#ff0000" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <circle cx="21" cy="21.3125" r="18.44531" id="svg_120" fill="url(#svg_105)" stroke="#000000"/>\n
+  <path fill="none" stroke="#000000" d="m2.875,21.3125c-0.375,-9.25 7.75,-18.875 17.75,-18" id="svg_115"/>\n
+  <line x1="25.375" y1="3.0625" x2="8.5" y2="3.0625" id="svg_116" stroke="#808080" fill="none"/>\n
+  <line x1="2.625" y1="24.75" x2="2.625" y2="9.8125" id="svg_117" stroke="#808080" fill="none"/>\n
+  <circle cx="8.5" cy="2.9375" r="1.95313" fill="#00ffff" stroke="#0000ff" stroke-width="0.5" id="svg_118"/>\n
+  <circle cx="2.625" cy="9.8125" r="1.95313" fill="#00ffff" stroke="#0000ff" stroke-width="0.5" id="svg_119"/>\n
+  <circle cx="20.875" cy="3.1875" r="2.5" id="svg_112" fill="#00ffff" stroke="#0000ff"/>\n
+  <circle cx="2.875" cy="21.0625" r="2.5" fill="#00ffff" stroke="#0000ff" id="svg_114"/>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="link_controls">\n
+<svg viewBox="0 0 24 24" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg">\n
+  <path stroke-width="2" id="svg_102" d="m9.875,23c-2,-4.25 -1.6875,-7.375 1.6875,-10.5c3.375,-3.125 7.5625,-2.75 11.0625,2" stroke="#8dd35f" fill="none"/>\n
+  <line fill="none" stroke="#606060" id="svg_109" y2="4" x2="19" y1="19" x1="4"/>\n
+  <circle stroke="#0000ff" fill="#00ffff" id="svg_111" r="2.17578" cy="11.5" cx="11.5"/>\n
+  <circle stroke-width="0.5" id="svg_121" stroke="#0000ff" fill="#00ffff" r="2.26172" cy="4" cx="19"/>\n
+  <circle id="svg_123" stroke-width="0.5" stroke="#0000ff" fill="#00ffff" r="2.26172" cy="19" cx="4"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="reorient">\n
+<svg viewBox="0 0 24 24" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg">\n
+ <defs>\n
+  <linearGradient y2="1" x2="1" y1="1" x1="0" id="svg_113">\n
+   <stop stop-opacity="0" stop-color="#0000ff" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#507ece" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <rect stroke-dasharray="2,2" stroke="#0000ff" fill="none" id="svg_108" height="19.125" width="18.625" y="2.625" x="2.875"/>\n
+  <rect transform="rotate(45, 12.2344, 12.1719)" stroke="#000000" fill="url(#svg_113)" id="svg_107" height="6.125" width="16" y="9.10848" x="4.23267"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="group">\n
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient id="svg_90" x1="0" y1="0" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#ccddff" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#789fed" stop-opacity="1"/>\n
+  </linearGradient>\n
+  <linearGradient id="svg_92" x1="0" y1="0" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#70a1e5" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#4b6baf" stop-opacity="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <rect x="13.5" y="0.5" width="2" height="2" fill="#a0a0a0" stroke="#555555" id="svg_79"/>\n
+  <rect x="13.5" y="13.5" width="2" height="2" fill="#a0a0a0" stroke="#555555" id="svg_82"/>\n
+  <rect x="0.5" y="13.5" width="2" height="2" fill="#a0a0a0" stroke="#555555" id="svg_83"/>\n
+  <rect x="2.5" y="2.5" width="8" height="7" fill="#a0a0a0" stroke="#555555" id="svg_85"/>\n
+  <rect x="2.5" y="2.5" width="8" height="7" fill="url(#svg_90)" stroke="url(#svg_92)" id="svg_87"/>\n
+  <rect x="5.5" y="6.5" width="8" height="7" id="svg_84" fill="#7399d6" stroke="url(#svg_92)"/>\n
+  <rect x="0.5" y="0.5" width="2" height="2" id="svg_78" fill="#a0a0a0" stroke="#555555"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="ungroup">\n
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <defs>\n
+  <linearGradient id="svg_90" x1="0" y1="0" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#ccddff" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#789fed" stop-opacity="1"/>\n
+  </linearGradient>\n
+  <linearGradient id="svg_92" x1="0" y1="0" x2="1" y2="1">\n
+   <stop offset="0" stop-color="#70a1e5" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#4b6baf" stop-opacity="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <rect x="2.5" y="2.5" width="8" height="7" fill="url(#svg_90)" stroke="url(#svg_92)" id="svg_87"/>\n
+  <rect x="5.5" y="6.5" width="8" height="7" id="svg_84" fill="#7399d6" stroke="url(#svg_92)"/>\n
+  <rect x="9.5" y="1.5" width="2" height="2" fill="#a0a0a0" stroke="#555555" id="svg_79"/>\n
+  <rect x="1.5" y="8.5" width="2" height="2" fill="#a0a0a0" stroke="#555555" id="svg_83"/>\n
+  <rect x="1.5" y="1.5" width="2" height="2" id="svg_78" fill="#a0a0a0" stroke="#555555"/>\n
+  <rect id="svg_93" x="12.5" y="5.5" width="2" height="2" fill="#a0a0a0" stroke="#555555"/>\n
+  <rect id="svg_94" x="12.5" y="12.5" width="2" height="2" fill="#a0a0a0" stroke="#555555"/>\n
+  <rect id="svg_95" x="4.5" y="12.5" width="2" height="2" fill="#a0a0a0" stroke="#555555"/>\n
+  <rect id="svg_96" x="4.5" y="5.5" width="2" height="2" fill="#a0a0a0" stroke="#555555"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="width">\n
+\t<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">\n
+\t  <path id="svg_6" d="m19,42.5l-7.5,7.5l7.5,7.5l0,-15zm0,7.5l62,0l0,-7.5l7.5,7.5l-7.5,7.5l0,-7.5" stroke-width="8" stroke="#000000" fill="#000000"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="height">\n
+\t<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg">\n
+\t  <path transform="rotate(90, 50, 50)" fill="#000000" stroke="#000000" stroke-width="8" d="m19,42.5l-7.5,7.5l7.5,7.5l0,-15zm0,7.5l62,0l0,-7.5l7.5,7.5l-7.5,7.5l0,-7.5" id="svg_6"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="c_radius">\n
+<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg">\n
+  <rect stroke="#404040" fill="none" stroke-width="0.5" x="2.37501" y="2.4375" width="43.9375" height="43.9375" id="svg_1" rx="13" ry="13"/>\n
+  <path fill="none" stroke="#000000" d="m2.43674,15.88952l13.73722,0l0.08978,-13.46483m0.08978,14.08493" id="svg_3"/>\n
+  <line fill="none" stroke="#000000" x1="16.35107" y1="15.88934" x2="5.20504" y2="5.20504" id="svg_4" stroke-dasharray="2,2"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="angle">\n
+<svg width="50" height="50" xmlns="http://www.w3.org/2000/svg">\n
+  <path stroke-width="2" stroke-dasharray="1,3" id="svg_6" d="m32.78778,41.03469c-0.40379,-8.68145 -4.50873,-16.79003 -12.11365,-20.5932" stroke="#000000" fill="none"/>\n
+  <path id="svg_7" d="m29.20348,7.67055l-24.20348,34.47921l41.16472,0" stroke-width="3" stroke="#404040" fill="none"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="blur">\n
+<svg width="300" height="300" xmlns="http://www.w3.org/2000/svg">\n
+ <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->\n
+ <defs>\n
+  <filter id="svg_4_blur" x="-50%" y="-50%" width="200%" height="200%">\n
+   <feGaussianBlur stdDeviation="25"/>\n
+  </filter>\n
+ </defs>\n
+  <circle fill="#000000" stroke="#000000" stroke-width="5" stroke-dasharray="null" cx="150" cy="150" r="91.80151" id="svg_4" filter="url(#svg_4_blur)"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="fontsize">\n
+<svg width="50" height="50" xmlns="http://www.w3.org/2000/svg" xmlns:xml="http://www.w3.org/XML/1998/namespace">\n
+  <text fill="#606060" stroke="none" x="14.451" y="41.4587" id="svg_2" font-size="26" font-family="serif" text-anchor="middle" xml:space="preserve">T</text>\n
+  <text fill="#000000" stroke="none" x="28.853" y="41.8685" font-size="52" font-family="serif" text-anchor="middle" xml:space="preserve" id="svg_3">T</text>\n
+</svg>\n
+</g>\n
+\n
+<g id="align">\n
+\t<svg width="22" height="22" xmlns="http://www.w3.org/2000/svg">\n
+\t  <rect stroke="#606060" fill="#c0c0c0" id="svg_4" height="7" width="12" y="7.5" x="4.5"/>\n
+\t  <rect stroke="#c15909" fill="#ef9a23" id="svg_2" height="40" width="2" y="-10" x="9.5"/>\n
+\t  <rect stroke="#ffffff" fill="none" id="svg_5" height="5" width="10" y="8.5" x="5.5"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="align_left">\n
+\t<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">\n
+\t  <rect stroke="#606060" fill="#ffffff" id="svg_4" height="7" width="12" y="2.5" x="2.5"/>\n
+\t  <rect stroke="none" fill="#c0c0c0" id="svg_5" height="4" width="11" y="4" x="2"/>\n
+\t  <rect id="svg_6" stroke="#606060" fill="#ffffff" height="7" width="18" y="12.5" x="2.5"/>\n
+\t  <rect id="svg_7" stroke="none" fill="#c0c0c0" height="4" width="17" y="14" x="2"/>\n
+\t  <rect stroke="#c15909" fill="#ef9a23" id="svg_2" height="40" width="2" y="-10" x="1.5"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="align_center">\n
+\t<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+\t  <rect x="1.5" y="12.5" width="18" height="7" fill="#c0c0c0" stroke="#606060" id="svg_6"/>\n
+\t  <rect x="4.5" y="2.5" width="12" height="7" id="svg_4" fill="#c0c0c0" stroke="#606060"/>\n
+\t  <rect x="9.5" y="-10" width="2" height="40" id="svg_2" fill="#ef9a23" stroke="#c15909"/>\n
+\t  <rect x="2.5" y="13.5" width="16" height="5" fill="none" stroke="#ffffff" id="svg_7"/>\n
+\t  <rect x="5.5" y="3.5" width="10" height="5" id="svg_5" fill="none" stroke="#ffffff"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="align_right">\n
+\t<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+\t  <rect x="7.5" y="2.5" width="12" height="7" id="svg_4" fill="#ffffff" stroke="#606060"/>\n
+\t  <rect x="9" y="4" width="11" height="4" id="svg_5" fill="#c0c0c0" stroke="none"/>\n
+\t  <rect x="1.5" y="12.5" width="18" height="7" fill="#ffffff" stroke="#606060" id="svg_6"/>\n
+\t  <rect x="3" y="14" width="17" height="4" fill="#c0c0c0" stroke="none" id="svg_7"/>\n
+\t  <rect x="18.5" y="-10" width="2" height="40" id="svg_2" fill="#ef9a23" stroke="#c15909"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="align_top">\n
+\t<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+\t  <g transform="rotate(90, 11, 11)" id="svg_1">\n
+\t   <rect x="2.5" y="3.5" width="12" height="7" id="svg_4" fill="#ffffff" stroke="#606060"/>\n
+\t   <rect x="2" y="5" width="11" height="4" id="svg_5" fill="#c0c0c0" stroke="none"/>\n
+\t   <rect x="2.5" y="13.5" width="18" height="7" fill="#ffffff" stroke="#606060" id="svg_6"/>\n
+\t   <rect x="2" y="15" width="17" height="4" fill="#c0c0c0" stroke="none" id="svg_7"/>\n
+\t   <rect x="1.5" y="-9" width="2" height="40" id="svg_2" fill="#ef9a23" stroke="#c15909"/>\n
+\t  </g>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="align_middle">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">\n
+  <g transform="rotate(90, 12, 11.5)" id="svg_1">\n
+   <rect id="svg_6" stroke="#606060" fill="#c0c0c0" height="7" width="18" y="14" x="3"/>\n
+   <rect stroke="#606060" fill="#c0c0c0" id="svg_4" height="7" width="12" y="4" x="6"/>\n
+   <rect stroke="#c15909" fill="#ef9a23" id="svg_2" height="40" width="2" y="-8.5" x="11"/>\n
+   <rect id="svg_7" stroke="#ffffff" fill="none" height="5" width="16" y="15" x="4"/>\n
+   <rect stroke="#ffffff" fill="none" id="svg_5" height="5" width="10" y="5" x="7"/>\n
+   </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="align_bottom">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">\n
+  <g transform="rotate(90, 11, 11)" id="svg_1">\n
+   <rect stroke="#606060" fill="#ffffff" id="svg_4" height="7" width="12" y="2.5" x="7.5"/>\n
+   <rect stroke="none" fill="#c0c0c0" id="svg_5" height="4" width="11" y="4" x="9"/>\n
+   <rect id="svg_6" stroke="#606060" fill="#ffffff" height="7" width="18" y="12.5" x="1.5"/>\n
+   <rect id="svg_7" stroke="none" fill="#c0c0c0" height="4" width="17" y="14" x="3"/>\n
+   <rect stroke="#c15909" fill="#ef9a23" id="svg_2" height="40" width="2" y="-10" x="18.5"/>\n
+   </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="linecap_butt">\n
+<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg" xmlns:se="http://svg-edit.googlecode.com" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->\n
+ <defs>\n
+  <linearGradient id="svg_8" x1="0.8" y1="1" x2="0.2" y2="1">\n
+   <stop offset="0" stop-color="#000000" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#000000" stop-opacity="0"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <rect fill="url(#svg_8)" stroke="#a0a0a0" stroke-width="2" x="-15.20196" y="43.5974" width="94.8373" height="50.3728" id="svg_3" transform="rotate(-45, 32.2148, 68.7832)"/>\n
+  <path id="svg_1" d="m6.63133,95.07755l59.17514,-59.17514" stroke-width="3" stroke="#00ffff" fill="none"/>\n
+  <path id="svg_2" d="m51.62893,36.10742l13.05662,-13.05662l13.05661,13.05662l-13.05661,13.05662l-13.05662,-13.05662z" stroke="none" fill="#00ffff"/>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="linecap_square">\n
+<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg" xmlns:se="http://svg-edit.googlecode.com" xmlns:xlink="http://www.w3.org/1999/xlink">\n
+ <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->\n
+ <defs>\n
+  <linearGradient id="svg_8" x1="0.8" y1="1" x2="0.2" y2="1">\n
+   <stop offset="0" stop-color="#000000" stop-opacity="1"/>\n
+   <stop offset="1" stop-color="#000000" stop-opacity="0"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <rect fill="url(#svg_8)" stroke="none" x="-18.51568" y="35.5974" width="117.46469" height="50.3728" id="svg_3" transform="rotate(-45, 40.2168, 60.7832)"/>\n
+  <path id="svg_1" d="m6.63133,95.07755l59.17514,-59.17514" stroke-width="3" stroke="#00ffff" fill="none"/>\n
+  <path id="svg_2" d="m51.62893,36.10742l13.05662,-13.05662l13.05661,13.05662l-13.05661,13.05662l-13.05662,-13.05662z" stroke="none" fill="#00ffff"/>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="linecap_round">\n
+<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:se="http://svg-edit.googlecode.com">\n
+ <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->\n
+ <defs>\n
+  <linearGradient y2="1" x2="0.2" y1="1" x1="0.8" id="svg_8">\n
+   <stop stop-opacity="1" stop-color="#000000" offset="0"/>\n
+   <stop stop-opacity="0" stop-color="#000000" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <path transform="rotate(-45, 41.5117, 59.4648)" id="svg_3" d="m-19.0679,34.2946l94.8359,0c36.499,-1.4142 33.67101,48.9569 0,50.3711l-94.8359,0l0,-50.3711z" stroke-width="2" stroke="#a0a0a0" fill="url(#svg_8)"/>\n
+  <path id="svg_1" d="m6.63133,95.07755l59.17515,-59.17515" stroke-width="3" stroke="#00ffff" fill="none"/>\n
+  <path id="svg_2" d="m51.62893,36.10742l13.05662,-13.05662l13.05661,13.05662l-13.05661,13.05662l-13.05662,-13.05662z" stroke="none" fill="#00ffff"/>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="linejoin_miter">\n
+<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:se="http://svg-edit.googlecode.com">\n
+ <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->\n
+ <defs>\n
+  <linearGradient y2="1" x2="0.2" y1="1" x1="0.8" id="svg_8">\n
+   <stop stop-opacity="1" stop-color="#000000" offset="0"/>\n
+   <stop stop-opacity="0" stop-color="#000000" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <path fill="none" stroke="url(#svg_8)" stroke-width="49" d="m-15,-35l75,85l-75,75" id="svg_6"/>\n
+  <path transform="rotate(90, 57.8925, 50.2519)" fill="#00ffff" stroke="none" d="m44.83592,50.25187l13.05661,-13.05663l13.05661,13.05663l-13.05661,13.05662l-13.05661,-13.05662z" id="svg_2"/>\n
+  <path id="svg_4" d="m-15,-35l75,85l-75,75" stroke-width="3" stroke="#00ffff" fill="none"/>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="linejoin_bevel">\n
+<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:se="http://svg-edit.googlecode.com">\n
+ <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->\n
+ <defs>\n
+  <linearGradient y2="1" x2="0.2" y1="1" x1="0.8" id="svg_8">\n
+   <stop stop-opacity="1" stop-color="#000000" offset="0"/>\n
+   <stop stop-opacity="0" stop-color="#000000" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <path stroke-linejoin="bevel" fill="none" stroke="url(#svg_8)" stroke-width="49" d="m-15,-35l75,85l-75,75" id="svg_6"/>\n
+  <path transform="rotate(90, 57.8925, 50.2519)" fill="#00ffff" stroke="none" d="m44.83592,50.25187l13.05661,-13.05663l13.05661,13.05663l-13.05661,13.05662l-13.05661,-13.05662z" id="svg_2"/>\n
+  <path id="svg_4" d="m-15,-35l75,85l-75,75" stroke-width="3" stroke="#00ffff" fill="none"/>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="linejoin_round">\n
+<svg width="100" height="100" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:se="http://svg-edit.googlecode.com">\n
+ <!-- Created with SVG-edit - http://svg-edit.googlecode.com/ -->\n
+ <defs>\n
+  <linearGradient y2="1" x2="0.2" y1="1" x1="0.8" id="svg_8">\n
+   <stop stop-opacity="1" stop-color="#000000" offset="0"/>\n
+   <stop stop-opacity="0" stop-color="#000000" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+ <g>\n
+  <path stroke-linejoin="round" fill="none" stroke="url(#svg_8)" stroke-width="49" d="m-15,-35l75,85l-75,75" id="svg_6"/>\n
+  <path transform="rotate(90, 57.8925, 50.2519)" fill="#00ffff" stroke="none" d="m44.83592,50.25187l13.05661,-13.05663l13.05661,13.05663l-13.05661,13.05662l-13.05661,-13.05662z" id="svg_2"/>\n
+  <path id="svg_4" d="m-15,-35l75,85l-75,75" stroke-width="3" stroke="#00ffff" fill="none"/>\n
+ </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="eye">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 17 17">\n
+ <defs>\n
+  <linearGradient y2="0.79688" x2="0.5625" y1="0.19141" x1="0.42969" id="svg_91">\n
+   <stop stop-opacity="1" stop-color="#d3a16b" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#a37c53" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <path stroke="none" fill="url(#svg_91)" id="svg_9" d="m0.12852,8.18338c3.59931,-7.71208 13.19749,-7.36932 16.75236,0.08569c-3.02165,7.5407 -13.59741,7.66924 -16.75236,-0.08569z"/>\n
+  <path id="svg_76" stroke="none" fill="#ffffff" d="m0.33033,8.2557c3.5173,-4.97159 12.89675,-4.75063 16.37062,0.05524c-2.95279,4.86111 -13.28756,4.94397 -16.37062,-0.05524z"/>\n
+  <circle stroke="none" fill="#4f92c1" id="svg_88" r="3.08008" cy="7.71116" cx="8.45861"/>\n
+  <circle stroke="none" fill="#000000" id="svg_89" r="1.27539" cy="7.6539" cx="8.43159"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="no_color">\n
+\t<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n
+\t  <line fill="none" stroke="#d40000" id="svg_90" y2="24" x2="24" y1="0" x1="0"/>\n
+\t  <line id="svg_92" fill="none" stroke="#d40000" y2="24" x2="0" y1="0" x1="24"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="ok">\n
+\t<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n
+\t <defs>\n
+\t  <linearGradient y2="0.65625" x2="0.94141" y1="0.43359" x1="0.42969" id="svg_106">\n
+\t   <stop stop-opacity="1" stop-color="#38ff45" offset="0"/>\n
+\t   <stop stop-opacity="1" stop-color="#127c0c" offset="1"/>\n
+\t  </linearGradient>\n
+\t </defs>\n
+\t  <path transform="rotate(45, 12, 10)" stroke="#005500" fill="url(#svg_106)" id="svg_101" d="m7.9,15.9l4.9,-0.05l0,-13.75l3.8,0l0,17.6l-8.7,0l0,-3.8z"/>\n
+\t</svg>\n
+</g>\n
+\n
+<g id="cancel">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n
+ <defs>\n
+  <linearGradient y2="0.65625" x2="0.94141" y1="0.43359" x1="0.42969" id="svg_9">\n
+   <stop stop-opacity="1" stop-color="#ff3838" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#7a0c0c" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <path stroke="#550000" fill="url(#svg_9)" id="svg_101" d="m2.10526,10.52632l7.36842,0l0,-7.36842l3.68421,0l0,7.36842l7.36842,0l0,3.68421l-7.36842,0l0,7.36842l-3.68421,0l0,-7.36842l-7.36842,0l0,-3.68421z" transform="rotate(45, 11.3, 12.3)"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="warning">\n
+<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">\n
+ <defs>\n
+  <linearGradient y2="0.98047" x2="0.57813" y1="0.44922" x1="0.56641" id="svg_110">\n
+   <stop stop-opacity="1" stop-color="#ffff00" offset="0"/>\n
+   <stop stop-opacity="1" stop-color="#9e9e00" offset="1"/>\n
+  </linearGradient>\n
+ </defs>\n
+  <path d="m1.42857,21.55559l10.71429,-19.36489l10.71429,19.20352l-21.42857,0.16137z" id="svg_44" fill="url(#svg_110)" stroke="#916d1f" stroke-width="2"/>\n
+  <path stroke="none" fill="#000000" id="svg_103" d="m11.98371,14.68571c-0.57143,-3.82857 -1.82857,-6.4 0.11429,-6.4c2.11429,0 0.74286,2.57143 0.11429,6.4l-0.22857,0z"/>\n
+  <circle stroke="none" fill="#000000" id="svg_104" r="1.17578" cy="17.37143" cx="12.14308"/>\n
+ </svg>\n
+</g>\n
+\n
+<g id="node_delete">\n
+<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg">\n
+  <path stroke-width="2" id="svg_102" d="m4.1953,19.42128c15.49391,-15.53349 -0.21065,0.1581 15.61084,-15.57944" stroke="#8dd35f" fill="none"/>\n
+  <circle stroke-width="0.5" id="svg_121" stroke="#0000ff" fill="#00ffff" r="2.26172" cy="4" cx="19.75"/>\n
+  <circle id="svg_123" stroke-width="0.5" stroke="#0000ff" fill="#00ffff" r="2.26172" cy="19.40299" cx="4.0653"/>\n
+  <circle id="svg_7" stroke-width="0.5" stroke="#0000ff" fill="#00ffff" r="2.26172" cy="11.625" cx="11.9375"/>\n
+  <g transform="rotate(-45.291072845458984 9.81157112121582,9.244086265563965) " id="svg_6">\n
+   <line stroke-linecap="round" id="svg_4" y2="9.45264" x2="15.14996" y1="9.3943" x1="4.47318" stroke-dasharray="null" stroke-width="2" stroke="#ff0000" fill="none"/>\n
+   <line stroke-linecap="round" id="svg_5" y2="14.46579" x2="9.66571" y1="4.02238" x1="9.7824" stroke-dasharray="null" stroke-width="2" stroke="#ff0000" fill="none"/>\n
+  </g>\n
+</svg>\n
+</g>\n
+\n
+<g id="node_clone">\n
+<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg">\n
+  <path stroke-width="2" id="svg_102" d="m4.1953,19.42128c15.49391,-15.53349 -0.21065,0.1581 15.61084,-15.57944" stroke="#8dd35f" fill="none"/>\n
+  <circle stroke-width="0.5" id="svg_121" stroke="#0000ff" fill="#00ffff" r="2.26172" cy="4" cx="19.75"/>\n
+  <circle id="svg_123" stroke-width="0.5" stroke="#0000ff" fill="#00ffff" r="2.26172" cy="19.40299" cx="4.0653"/>\n
+  <circle id="svg_7" stroke-width="0.5" stroke="#0000ff" fill="#00ffff" r="2.26172" cy="11.625" cx="11.9375"/>\n
+  <line stroke-linecap="round" id="svg_5" y2="14.46579" x2="9.66571" y1="4.02238" x1="9.7824" stroke-dasharray="null" stroke-width="2" stroke="#0000ff" fill="#0000ff"/>\n
+  <line stroke-linecap="round" id="svg_4" y2="9.45264" x2="15.14996" y1="9.3943" x1="4.47318" stroke-dasharray="null" stroke-width="2" stroke="#0000ff" fill="#0000ff"/>\n
+</svg>\n
+</g>\n
+\n
+<g id="svg_eof"/>\n
+\n
+</svg>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>58401</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/svg_edit_icons.svgz.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/svg_edit_icons.svgz.xml
new file mode 100644
index 0000000000..5f203603cf
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/svg_edit_icons.svgz.xml
@@ -0,0 +1,136 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005901.87</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>svg_edit_icons.svgz</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/octet-stream</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">H4sICObU8UoAA3N2Z19lZGl0X2ljb25zLnN2ZwDtXVtz27iSfp75FVznZaaKotG4Y8qZqt3zcF52
+n7ZqX1MyRTmuQ1teWYkz+fXbDQIkSJESJcveydRYTiSBJBqX7sbXF8A3z1/vsm8P9ePzx6vPu93T
+b9fXLy8vxYsoNtu7a84Yu8Y7rn7/+eeb9WZb3d89/mPzuKsed9n96uPVc1VX5Q6v/nTT1vPbt/r+
+8V9jtYFz7tpfvZpBMvt6X738x+bbxyuWsYxL/CVC2c2/LRbZP7bVcletspf73efsv//nn4tqdb/L
+FlmoD5/3JcXdZnOHTdysqqLcPFxni4Wv4o7+z25297u6+v0/l39U2wxurpuv/srTEut93m03/6o+
+Xn1Y+5+rbH1f1/iV+Z+rZgS+3n0CcZXhxwdTCAva5ryQ2klbs4IZxXgOpmCCK1uLQjBmRb7gheYa
+TE3vSutc4btRUMuCM2Cqu2HRPMLzhSws4yDxFmU0yHzBCoGP4C0AhTTGmnwBvOCCSfn96tp385r6
+eUOj8fvPN9f9+Zua0f/9stxWONDvNaGvn8/sZlWtn/E9u8GmVMvtP7fL1X3bIZwgjs0DJFsILbi9
+yv7wX4CB0niFf7wCLPNvVEt287zbPGWb9fq52uGNVxl9X5SberNNmMEXbp6W5f3uD3r0euRZGDwr
+bk3lbieevbnuN596dh26Rhw7ybB4YYtimOHIQqGwK+H95X61+/zximMPPuM8f941n1u2jQz9ZVv/
+8sGP069XHdMHLr/2zfAMdAofbRu94LloZN7nsMt85ntbLmo4o+WTHu+kXNVxW8IJw5ke56WO165n
+Pxt5qeO1y3DRbrt8fMYZfUCNttxt77/9AnnG/G/4MMIlY5yU8FlkP2A9rsReaWLUwLhnstr686eU
+295QZymOv1d/aV4Z7RE220nVdIsVGgTv+uZE2zUmddczd0LP3IpzdV7PbtdqTfx3aSnYY/CmYBG5
+dy7Hq47jVcPxrDCR5bkKrU3gRkLhmJC5X1NG8hBEoBzlrF5YJJJzhhRq5j/KGlDUECLg/7X2UOEs
+4h/WZcWWLukrC5QdVs9tocoFohWHlLMFUANyAiiGviFCMYVE1IJtklYKbFUhJTRwJTakrRdGxnyq
+UfErNYTrwgmwuYQCjMTmIDHpgDCVUAAZvSOSou/Oap0hxLJg8TsU1jFqGzAEU7rgwPX3OUppVCuV
+99uyfg8gpST+tvPxfbN5OK6hChZ0FH0Ikmw9WzafTfMtzoV8hZYqTpHm9VrjTyLN8ekZ8twMeOSZ
+lAQxyYDmiZIm+8KNTeWo9kqsjRt8/+bfz1y+qrq+f3r+m1Pej1PCiL8Pq3xreGVL1fFL8QxCngHb
+jOCUy2PsY3aW60OBHkRIoUMHKebYWwEdnGNvRXQw196a7JlMGd4OJOEdDcjI9hc3IAcycVF+F31+
+Dwv96XAlBTsjUOgoZBsSfw1i6eGfATQ6tSEXRixDUHQcyiaY60yF9FQ9lvd1VEbpCtPXTNK+iWbq
+VNOlddNQlovT1NNQnPceP6ihxlXUdauGIwf9VyNHWSpIWZSkLBGl7GKyNLlS7imlrpFR3rIZApdd
+VuLOaO5AKrNTxTJ7vVzOaPRQdtMOFAJZOpfI2c5kJU67dM5S87R1kOHIS8NdbgqG3J6xnOMFDthR
+jh2iKwtZMCVchk+C5ixXhcTv7VcQODBK+4ERwpg83I48aIWm6pxyMsNxZCBojmnYRNLilvUeN4/V
+5SbxZM3Vxi/ewVF5mfhFowF+mtZ20DqcpEYxavWd0rz14zhB6KVTeMI37yh64etqAr3sPzyELyA1
+m/B//zSm7Q71sFXoYIVysYcUNeGxh8YYIWMXldYS5nVxGqAd7yKqJKXlKV2MCn1OXIqeDt1GWZZh
+YgElm2kToChJr3YBkaIUAqrPxGGjJjGdF8PrJABG4ARIqrnhJO7aGsFrFGRkKgWoORTXWIB3CKSY
+L3QhuDKJUtKt0lsyeo2GF/rkkAqgFsppYdBKC69drNImB2qIMhkWaGa4oDgbw/mmAsUkEzkqJESQ
+ErWR1BbvtyAVL0kGQAkfMWPYzgyIhCOFZEAYaL/jusgZJD5Ms7c2wtjiuNcHTWACVR62mDFuKYqn
+ceRUbrHlXJra4MrArcIGS4NrTE2a1FBg0BScqXS27H4T9FQTzon37apvXfx2GreBsqj37Vupw/KN
+w7nUS3K5KttEx0bDYHMXZpIXHMHF8/33ytf1tAsl6+XDfY31Py8fnxfP1fYelQiRXiwfy8+kHR7u
+V6u6mrew+xpfghv5dlOvrn7/d+wUVjdQBSACno0KwH/3mgB6OO+Q2M9qUn8cVGT8riU8OIlkaIkK
+iLrzOn0SR8dXndywhPvHWgN82B5fcvFmJN6C64OCOA5EUH30nIAnePawPxm0aOVPGjPlFnjrOET1
+6ORl/IanxMHEUglx0WhRGj1ZLZ8/L7fbJVJ+/FLXQ44a47nD3hRaTTQuhaJWCKCtKWnNwMVEovGh
+c4HLCM/wivVZICxns8IVY8x3/7C8+6tkfYzwXsN1qTZU8xmOlmpZnsdwShi5XL0i8GqUsdAidofw
+ebJL4oQuaV6RVXBOl5wpZbU+R4baJBW/CKO1LAQJY7TveJInYBIxaCHQB87olUhRh9T7C/T17Ahv
+fAYKPlJvpCu4k2mTVNJU2faATBLsmCpE0zFyebZRVk9zGDMWaQQ3SdNBm5xzmdSsCqclKXifMmE4
++YC/kUY5ULlKK5dd5QjXuXCiX7lgooFGAq0mSWGipPoQWotOF/whnm7r1j4iBnE+yeXrCosagDd+
+X1RTCH7l0O2JloXSTueBJOXLGUTHwue6KQGCcDOCTufyWICIn4wCUnTdZMh2niSj1wwAN2yJKtDC
+QQPCFo4IlbygBsmcFUwLq7OGLnk4OJoU2psgaJSY2LCybTrykTEgyaZAqG9zgv4CK83iE7FzaQ/M
+eT04Q8+HoN+IuwOU//ejOjxEUIisU49dWIbNMvtXgl5nmv0onPh6K7O/41SGwiRRXBAUoHUp8GNN
+zOiLpEBBVlyUCu3OhjuRqy0avJIKAHLic7BoyjmKuiAKA62JJWUBul44NFsVpZYCiq8kZ7LkTGry
+J3tKCctytwddRC8vrK+qEx9ekl623eyQJ35ZSJVnAJr+Q/wTRizonDJYbaRU6B3HWqWLXutD/FAy
+eh1tgjpOQCZOSt7J5nJZlt1iM0lgxB+gCm01k7kmz4kCKIVFleiUpNRgbaTkmWxLcPmQ1orMqgIH
+hVQIC09BgXcIVJjkRsCijCZKoDIHclITBZMtJOoux3DuycGH18qF9+saR/X4ku4eukSPaV+EOloh
+NRnIpbPdLcG2vF3OH4RzPBIIoDcvn7a0Vr1LYrnKVNAPg6zvAzlGCLVrlitWU+yCq3rRvH8/YvdN
+d3e1eZlwQ6Nalm+hlUNv98XRsTzjJIwETpp1mmJG4/095jo5ww5+rF4+9cyRHyR9eGaGNkEJ43jI
+0taaPkYgZpNE7UTJqdYV8aFa0isZZ83o1cdpe+6q9u7ohe2QHKTZO1p5/SdSJKcLLo12DZJDfQPa
+gjgXfjwvv1Y/3m6RSfDRYIsRSzNxLw5iDodtK8PpNbDL5j680vQaGGZzwyqNtdnmszACul3ciDFB
+AYXGdcMkd4kxJPUJHbRwe7seGp5zHxZGV7dmXgdPQVd3XV9k7Et/KYiLXJRCRq9kfQyuGigUAiqX
+c1xMyaCh4IvgCG8WPgscAJXoQqNNoQ0aN7THxzofCbfMWFdTiJ77hTnevoirsqONQRzqcCHXFFCQ
+8L0dvn7ScrWm1753CRKTUPDUJDQKmE0sWZx/JhpDnRIHLCcgFNQXNr+le3CjVIRk7fCGLGU0/BRj
+KgccH86FT/phxvgQjBWIAmu0CZlEHETrbLiGtqCQ0lI8qCmgcI2xkFGYWkp/h5XYzmyBGBnH08QC
+hEAIhJ3Bcc0oRmUYYR/EYqCUv5tbhMdkmZFx973lqrsxVMAtzsd+0oTUydBSrnyzIQwktxpnz0hH
+TjzKBBC03cs4RNr4XTFwaDWqwlrLPE8ohhieGIbeBTEMgTWHQM5/JMSehXd6TjlL8A2nSAsDbUnp
+Y/eSqabL3Eig8JgwVtjubo3Tro2mCJnl2luvSkrUnWTNelMV4aa2GaVgMFBU4D+gfYz9UF0zs9DG
+HFc0yVz3PZCsw315KKeOYouwTeHCK3asrTbl03bz9PwXW1eG3nO15/AbBOwP686AE+Yp3qFlrCp6
+XV7x9pVWbOIA6qQoKEVHCWhKoFSCsNLo1GieSURDLYUQN5PItEbFaJqkbB5KafSBrfYSEDTSTp9B
+xjRkKAhsWQxN8cLhGhMjee2lQEbaM+jYhg4Z81xGflLkLIBAp7sU6ZwzbC4G1QqhlY0ZsQKVnWUq
+huDaa3HgHJxOitjjj6YXTCvWTZEUygVRSa69ilRM6TW94UOFpp0JTvjk2j6pDlWoPqqY8oBwUr6W
+vCCofq36dd+mnrRNo+i0a3sEJIDoXXCX28IIJyUuJ14DG1kjNSGdIwVs8KdZaJxS3JZIHzG+jJdQ
+mXONSj0n/4Oz9B21v4M83k+rgLYKSPsLAbjA4J0MLQvKb3BOG0qNk06CxQJED0LTigyOS+6TMgCZ
+ndY0i6LV5Il5MuT9RTzlE+wMB2eIEK5kTHf34MpFT5ObFcEBiAwoF886KpD4zAAgdRoOmz7tiyKb
+x9IHhUBC8BNmosUDKnXtK5ZCLYvTnOzOLZTB+Qh5CQgUGs8+cbFk0vTByFk7ujdftuW7bC9RcXfk
+mxvTTT7HQ/3bM04ozsLTtnqutmhbTqRbpMkZD5vHjX+sl8bRJQTMEDcEbeDSeH+zsw+afX3cFrRc
+jORvPMf8jT9hF0wTlGNHuvD1T9yFBglIeaQLd0kX/HrQpygmslKXy4Z6K9RhgZAhgzyuqTHHIQb+
+PIl2VeHDDh4jRyTsgII+REGcQyF2QrhBJ9gojb1pOqEXLYnYizmbDrJR1fZyv63W2+VD5bXOD5S6
+cES99fx4E/laLdc777OzMe6qGk+d6weeZ1Wl+HhYu1mcbNipb8/fqf/lcbX5wby6x7a86TbROrjF
++g6zniutdbHN2SRm1k6PByOPxiJXohRwwq6303KdRkAThQyAeczn4SuiQh2CBxqxLFhL6byGK81r
+jVel86muIIS1WICGAT5oEHQ54BT0NwhVgeCnACcazMq5ch5oSq4MFUgkRqDRaMSIuSqsQAxKzhxL
+rolcF4yDUOUCIZxVxvtBKF2Ka4KGRknKoTKISgXjfs8JIM2SdgEZirAVGm/JEIBik8iLYaxwJlNo
+/SExyuZ1YClLADTSIqec9F4SUAwI0mItILsC8uqAlQ3G1tIxoF5a5FXVS2WQag9H6l62761Z2tec
+yfKXEb85OV4G5idEObsupT4zx0svl+nxFW8taN6Z6YaC5goA7mRO23wEoKmHgiYZWkIabVSlNcmZ
+FD5J36EcSi9nNsSXGQpPZE/oJA2tUe+ldtL7HI1Ck61xMSog6TFYk/c5GmOZ8bKG9osMssYM2pCC
+Mt5dI2sGLWcUcwA0Cb2oUUyctiOhmQle2LgIGTPAHEmbZsybckowJby8sSaRHxhTmgSMKUUCiC3j
+0H6njQHMaK85FEq2bcQNlDsmbgZScZOS8Mu54lbWtLq+vd2FBjfY/y95S50O+pQjX9ZiVZ0nb2V5
+u7KzEhCnolzIHDYuzrSe2Kku6ZNOsTm/S8s1LgVnneXUD07YtXJsPzih05NiaEeU33VM6SUG1zra
+tcM0UD4QCH+OnCpQjEDVQAkj4I+jYxzvqXEVB0B5zlkdilDCKLLiUNYkqgEnsR4QBSoKLWI+8oyo
+uKGkOONCfqNgjMJNrYeEu36wSkiWBCDF/h4Z0Vs146hsm9zTbQKGhkh7YgBFGt0RTZScU9akC1vc
+UfNYv8uqwd4A5CROLCfiK9RK0grbOkSZUMBbryyqctn6UcOllmK6xTXyWX/PVppvRAmikhtaCpSy
+ytU4M5LSG5kPKDIryHfHDB1JSIEYIQz3c0wlqX4UV5P5HelAJYEDhGMXy1VcVXW1+9GS0udkgRAD
+ioYd090wtu/eGPob6BSF7hg/lAmV2Gjcb1K2OsRCDC7oMhwyhTPf7g0+RH69xqVTTZLXCXlKQEPc
+zNN4sQYIoRjyLCsXw8WcIVOlojBxkNbAcRAjyS35EMxAbWVRNqLn36ClpeN+/u6SD6E0Vw5RbpEi
+O9KKfcrThCGlfAbb320+fXl6j2BmxA3vlySD6mFqpTXyhGDmcl3hcnFmFoniS28dXzqYOUwetGNh
+AZNu8BHh3FgEulY6TiuxMUyKGjkIsTL3SYa4GHOBABmVOChh/XEppsCrgk4aYE1hV9SWdLfTxn1f
+xSuC7MiUIUXx/dDsISw6g6FO2OEzyk+vYaeLbSk7wElqnJMIrwExAyNfixMIOQIPoD3GBW3WRh4L
+bISYy6enWOmzT2LBIpZ0N3tG9DWcvcfsYfO1+nS72e38FoQ3X9RF1uyImsNHkzaNZfO56LY0a3bm
+MZbrcl26szZVTXLRCYttRHet7IRtsv6gGBofHg785G0aCitGow9mL/pwjCbR0S0dSI810Ak16YvH
+KO7FIuZQBNYj6WIHgfVoUvkYTXUWTTlBU07QPOS5b/WAZYkeMClGLPjwsF3abRDPHtUHjv88FHQb
+sIqFmNLHSe8oVdPpOF5hAB3YUNMqtvAnxVA2gIqfF/5LWOL8na/TKyhM465Nrwbe/yg8q68O70c6
+GgFw61W5Hj9I5GgEQIOp3FscE9dtri9CRpQtoGHlkMUUcHpbnOqUg1Go8UPSEoI8OfCED6iacI2n
+104il6qwEdKdtOo90s01nl47k7Q8SBqtvknS3bUzSffChc2B3PEoeTt+lrwoeF/zDDXTxEElWf+o
+FCsknVNG59RoRls8heCUAh0Vg1TGkifKSiODLlEIZr0GQYvXdSWxoLu5UUJUw/e+yjr1xI9zbbnt
+5su4XgKd+TOafpyQS3uQ3qGdlrMOwCzL1ercAzCNdetqNV+zTXeDv7Ybhi2hOvNgUnmrb5dTQ3CR
+PwQhwl+CYOlfgkjQwfTJTEo1jqBWtN1QNcS6mw+vqtzyQeXsgnWLQd081M2TqpM9V+aEqofqcm7V
+3SmL6XbZrjQ9Rt6aAREViOhJIu2j3aZ4I5xb6Qla42M/zTMtT9ijY3V2jsjfSvNvpfkmSvMvIatH
+Nb8b+xNAF1L8oWp7edU8+oeLXqN6QtUt5zbnsUCce3VuF8bqlv26gV+y8sZgl29St+7V/aoxOfY3
+Mn5ONkRUmzU9E27/P+3+FuyDbgAA</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>5493</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/text.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/text.png.xml
new file mode 100644
index 0000000000..3821a11b73
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/text.png.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005902.06</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>text.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABHNCSVQICAgIfAhkiAAAABl0RVh0
+U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAOaSURBVDiNlZXBbxRVHMc/35md7ewwbWjD
+UongEQoBa8Rg0MCJA0YSPXnQYKIelEQDaAwH/guNFw8mJiaaeNE/gKQmciDIAU9UKaHbhj1M2e52
+uzs7z3nzvMxuttAWfck3M7+XfD/zffPezA/nHDtJ0ieSnO/7W+R5nguCYGFXr3OOnUYQBKvXrl17
+/uDBg6M55xzGGK5fv572er2XnHN/beet7ASVdPbQoUN7Z2dnuXnzJtZa8jzHWsvhw4c5fvx45fbt
+2x8DX2zn93ZJe+XcuXO1ZrOJMWaL7t+/z+zsbAB8JGnbcNuCJc1IeuPEiRNeo9HAGEOWZQwGA4wx
+tFotsiwjDEMPePP/JH7/9OnTrtPp0O12McZw7969fGFhIR2m3tjYYP/+/ZO+71/+z+BKpXL11KlT
+tYcPH46W32g0UmOMe/z48WgFcRxTFMVrkg48Eyzp9Xq9PjM9PU2z2STLMpIkwVqbAF81m00zfJi1
+ljiOC+CDZ4IrlcrlM2fORMvLy2RZhjGG1dXVnrX2a+fcd61Wyw3njTFEUVST9OmuYEl7JV04duyY
+9+DBA4wxpGlKq9XygB+cc38DS+vr6xhjyPOcMAzxPG9S0tndEl+cn5+n3W7T6XQwxpAkCZJ+d86t
+ARRF8U273e6Pf1iTk5ORpM92BPu+f/XkyZO1paWl0QYlSbJRFMW3kkJJIfDLYDAIrLUjXxzHnnPu
+gqSpp8CSXp2enq7PzMwwfnbzPA+An4DNUg1A42Df9wnD0ALvjnjDJfm+/+P58+ffiePYu3v3LtZa
+qtUq8/PzT+4LACsrK6ysrIzqfr/P2traYlEUc1D+KyRN+b7/1pEjR7wbN25gjEESvV6PW7duIekp
+cJ7nW+parYakFyS96Jz7c/idv3f06FH36NEjOp0Oktjc3CRJkhx4mlqOKIrSer0el+GI4zjodruX
+gEsegOd5n8/NzUWLi4sjU7fb7QIfAvEOOtDv94OiKEaeOI4rzrmLkiY8Sa9MTU09Z62l3W4DYK1l
+MBhUgV+dc4MdlHiedydN0xE4CAKq1aoD3vYkXd63b19tfX2dMAwBSNMUz/P+APrlMYskxWOKJE0U
+RfF9r9frjXeOOI5jSVck6Y5z7mVJPNFNvgR+AyaAoNxoAQ7IgX+ACPgZ2DPmc5KWVfa22ti721Mq
+Grsf1lXAAH2gN6bxegPobOl5koIyXbVMGo5pokxsSg2ArLwO54xzrgD4Fzt4HFtcZhfIAAAAAElF
+TkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1032</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/text.svg.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/text.svg.xml
new file mode 100644
index 0000000000..12bae712ca
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/text.svg.xml
@@ -0,0 +1,201 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80047918.22</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>text.svg</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/svg+xml</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>\n
+<!-- Created with Inkscape (http://www.inkscape.org/) -->\n
+<svg\n
+   xmlns:dc="http://purl.org/dc/elements/1.1/"\n
+   xmlns:cc="http://web.resource.org/cc/"\n
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"\n
+   xmlns:svg="http://www.w3.org/2000/svg"\n
+   xmlns="http://www.w3.org/2000/svg"\n
+   xmlns:xlink="http://www.w3.org/1999/xlink"\n
+   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"\n
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"\n
+   width="22.000000px"\n
+   height="22.000000px"\n
+   id="svg1306"\n
+   sodipodi:version="0.32"\n
+   inkscape:version="0.42.2"\n
+   sodipodi:docbase="/home/andreas/projekt/bild/tango/22"\n
+   sodipodi:docname="draw-text2.svg">\n
+  <defs\n
+     id="defs1308">\n
+    <linearGradient\n
+       id="linearGradient3682">\n
+      <stop\n
+         style="stop-color:#1f1f1f;stop-opacity:1.0000000;"\n
+         offset="0.0000000"\n
+         id="stop3684" />\n
+      <stop\n
+         style="stop-color:#5c5c5c;stop-opacity:1.0000000;"\n
+         offset="1.0000000"\n
+         id="stop3686" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       id="linearGradient3558">\n
+      <stop\n
+         style="stop-color:#000000;stop-opacity:1;"\n
+         offset="0"\n
+         id="stop3560" />\n
+      <stop\n
+         style="stop-color:#000000;stop-opacity:0;"\n
+         offset="1"\n
+         id="stop3562" />\n
+    </linearGradient>\n
+    <radialGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient3558"\n
+       id="radialGradient3564"\n
+       cx="22.571428"\n
+       cy="30.857143"\n
+       fx="22.571428"\n
+       fy="30.857143"\n
+       r="15.571428"\n
+       gradientTransform="matrix(1.000000,0.000000,0.000000,0.651376,4.300378e-15,10.75754)"\n
+       gradientUnits="userSpaceOnUse" />\n
+    <linearGradient\n
+       id="linearGradient2834">\n
+      <stop\n
+         style="stop-color:#ffffff;stop-opacity:1;"\n
+         offset="0"\n
+         id="stop2836" />\n
+      <stop\n
+         style="stop-color:#b3b3b3;stop-opacity:0.0000000;"\n
+         offset="1.0000000"\n
+         id="stop2838" />\n
+    </linearGradient>\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient2834"\n
+       id="linearGradient2840"\n
+       x1="19.944447"\n
+       y1="16.527262"\n
+       x2="24.133829"\n
+       y2="19.642126"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(0.498259,0.000000,0.000000,0.466519,-0.799974,-0.839637)" />\n
+    <linearGradient\n
+       inkscape:collect="always"\n
+       xlink:href="#linearGradient3682"\n
+       id="linearGradient3688"\n
+       x1="23.305620"\n
+       y1="24.843527"\n
+       x2="14.388516"\n
+       y2="9.5902243"\n
+       gradientUnits="userSpaceOnUse"\n
+       gradientTransform="matrix(0.498259,0.000000,0.000000,0.488600,-0.799974,-1.273557)" />\n
+  </defs>\n
+  <sodipodi:namedview\n
+     id="base"\n
+     pagecolor="#ffffff"\n
+     bordercolor="#666666"\n
+     borderopacity="1.0"\n
+     inkscape:pageopacity="0.0"\n
+     inkscape:pageshadow="2"\n
+     inkscape:zoom="14.000000"\n
+     inkscape:cx="17.541947"\n
+     inkscape:cy="12.572768"\n
+     inkscape:current-layer="layer1"\n
+     showgrid="false"\n
+     inkscape:grid-bbox="true"\n
+     inkscape:document-units="px"\n
+     showguides="true"\n
+     inkscape:guide-bbox="true"\n
+     inkscape:window-width="1280"\n
+     inkscape:window-height="885"\n
+     inkscape:window-x="0"\n
+     inkscape:window-y="25" />\n
+  <metadata\n
+     id="metadata1311">\n
+    <rdf:RDF>\n
+      <cc:Work\n
+         rdf:about="">\n
+        <dc:format>image/svg+xml</dc:format>\n
+        <dc:type\n
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />\n
+        <dc:title></dc:title>\n
+      </cc:Work>\n
+    </rdf:RDF>\n
+  </metadata>\n
+  <g\n
+     id="layer1"\n
+     inkscape:label="Layer 1"\n
+     inkscape:groupmode="layer">\n
+    <path\n
+       sodipodi:type="arc"\n
+       style="opacity:0.47368422;color:#000000;fill:url(#radialGradient3564);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"\n
+       id="path3556"\n
+       sodipodi:cx="22.571428"\n
+       sodipodi:cy="30.857143"\n
+       sodipodi:rx="15.571428"\n
+       sodipodi:ry="10.142858"\n
+       d="M 38.142857 30.857143 A 15.571428 10.142858 0 1 1  7.0000000,30.857143 A 15.571428 10.142858 0 1 1  38.142857 30.857143 z"\n
+       transform="matrix(0.706422,0.000000,0.000000,0.208015,-4.944952,13.47138)" />\n
+    <path\n
+       style="font-size:54.869392px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:url(#linearGradient3688);fill-opacity:1.0000000;stroke:#000000;stroke-width:1.0000001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"\n
+       d="M 15.189363,15.520771 L 7.1531447,15.520771 L 5.8598048,19.513834 L 0.51627279,19.513834 L 8.1009381,0.48837876 L 14.228221,0.48837876 L 21.560524,19.464779 L 16.444188,19.464779 L 15.189363,15.520771 M 8.3990779,12.473977 L 13.858901,12.473977 L 11.171254,5.1526958 L 8.3990779,12.473977"\n
+       id="text1314"\n
+       sodipodi:nodetypes="ccccccccccccc" />\n
+    <path\n
+       style="font-size:54.869392px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;opacity:0.37912086;fill:none;fill-opacity:1.0000000;stroke:url(#linearGradient2840);stroke-width:1.0000008;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"\n
+       d="M 15.684541,15.159554 L 6.6710758,15.159554 L 5.4166733,18.527305 L 2.0035414,18.527305 L 8.7384662,1.4621947 L 13.512484,1.4621947 L 20.022564,18.410463 L 16.899702,18.410463 L 15.684541,15.159554 z "\n
+       id="path2047"\n
+       sodipodi:nodetypes="ccccccccc" />\n
+    <image\n
+       id="image2089"\n
+       height="459.00000"\n
+       width="400.00000"\n
+       sodipodi:absref="/home/andreas/palette2.png"\n
+       xlink:href="/home/andreas/palette2.png"\n
+       x="-354.93631"\n
+       y="-214.53793" />\n
+    <path\n
+       style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#999999;stroke-width:1.0000007;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;opacity:0.51098901"\n
+       d="M 8.1686844,13.551882 L 14.147791,13.551882"\n
+       id="path5142"\n
+       sodipodi:nodetypes="cc" />\n
+  </g>\n
+</svg>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>6700</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/to_path.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/to_path.png.xml
new file mode 100644
index 0000000000..c63d2ed067
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/to_path.png.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005902.47</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>to_path.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAIGNIUk0AAHomAACAhAAA+gAAAIDo
+AAB1MAAA6mAAADqYAAAXcJy6UTwAAAAEZ0FNQQAAsY58+1GTAAAAAXNSR0IArs4c6QAAAAZiS0dE
+AP8A/wD/oL2nkwAAAAlwSFlzAAAOxAAADsQBlSsOGwAAA9hJREFUeNqtVW9sU1UU/9372r61Y1uG
+RWAWGcpGnC6AfzKGXzQLGknQBEEmaAwJamJ0McgHP21tSEwkxA98UIMmaGIURDNMQBgaY8DEEOIm
+oTBgc8OYdcsypMP19r2u717Pe33d2tFXwHiTk3d6cvq75/zOuecw/M+Hc9WqFCKc46xlsausrPMi
+1SrXYicSCPMhdMpxdrosepX6DBba8SgETqGWhbBF8/LVNLVMrkAPvkULtqFe9aNV64+eUCp2vZQ/
+Y2o7THRhCj7sQBCbyLgPm31eF1Cai9EJHTW53/omo/FF/cu+pUu7LAfQ9rGsgGWLlNrhY/0Y7HgA
+CLgAD5H6nKl83lziT/khRtCE+eCA2aknerVHntxw4WN8Go8f+FXKNQYluhAwVjE2rlvNOu9ZXitf
+9fNchEDmO52VrQHR1GA9jCjuwkTdyZH9bTISPQhspKjUDmDsPeCPShDfJGNYlK3D6AusVUq1i3P+
+prRqJpLX2e10xhHOV+6S8tQQlbEDGP8AuErmtCsir/+DKvMZ//EnEoHF1auN3y8elO3HbnnBJ4w9
+/7ZSh4IUdS9wKQIq4xzgQl0xVmR3asDr1ePyMaIijflsAF93tmNPLMZUgrF19yp1uJFKcI7AtTLA
+tk7gN9l9Pp+qyy7AF/gc9bDDjCKyezdO99CLuU/KE2EgGwf6cefgzpdTO9bgFWRscOc8jfDC6kTk
+NSl/pALKEeA8WVOuiFK6S8tcu1N8Pm8ehin+YRxV0onzI/StTLa8Q8DBPiDOygC7kXvabdFMM5YN
+/R09smRoqGlZ73B6/Vd79nbjh463gMRmasUSaYuZYs4WVBT6FBRaOKNiejqW6dheW7EifCV45uf3
+X54Ean4Czs39o1enlKqFG0C66CX7hag6AzR0AQNuqrfVKQVZFflIzkXRBcnR0VX2911gsBxAuf63
+fWydwNNZn684gzEh7lkNXPPNRu8F7kmLrdvgmUBAVE9NzWZQYRiBKcvS1+faUvwXzvPgFZnMNWQy
+Du7MBcePtmyYUE1oA08C3ak75dwWS9NE0DSL9kVu4ejqwl+sYc1E24P8+96t9w9WLDc3ZruvFNBS
+1I6OPZdVPmohc+DJmyYybaKdyOIlNUmz4VmN4Q16XXublzTIgfPNLD5WrhZ5cIo8HTLNyZJ7RVVi
+LQ64K8o+d5OEgP14vdnr1bp8pwg8RZ0iQoYx6bm4COIyoRkzFpMG3g3G1+Hk2cIR4ILPjAA78mm/
+P1WZTt8ou7QWhKO/iMuIYR/NIiKMPaVkoz7w26Hslm+KOHdHQJ6WaWrDKiFSt9on/wIHs2IzhcNZ
+SgAAAABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1153</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/undo.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/undo.png.xml
new file mode 100644
index 0000000000..c4194bafad
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/undo.png.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005902.66</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>undo.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QAAAAAAAD5Q7t/AAAACXBI
+WXMAAA3WAAAN1gGQb3mcAAAACXZwQWcAAAAYAAAAGAB4TKWmAAADi0lEQVRIx8WUTWwbRRTH/7Mf
+XicbO3GIibfGSZw6pYFyKJcItUFKiACBUCPgUoSqqipSTj2CuICEChwRIDhQKbJyaVWEFASqhGjd
+xhiKD20pKhK0BIjzZTe1a/lz7Z2d4TKOFttNKiLBSE87O/P2/3vz3tsB/u9x4czw8UQU/N9+L221
+OT8bmtDMP07tJMB7AuZnQxN90nJs7NlndpSBtoBN8akRwF7ZEUDZStzig1CVTgC/IBEFr1m4blq4
+VmPk7NU1NX7yvXp5O4B8L3FOlwDX4yCEYteQjuBwEP6gEejxyqV8trD7kQftF4Oj6g/xBCvcF+Dc
+3OABH1ILY1MjqFrDkNz7AQAcKiAZgNQHRdsFvYsNDO15+FFVo3v7+N0ng6PqlXiCrW8JuHB69xGd
+/vnV2NQIKtYgJKJAVjSHmw2rXkStmsFy6jI43NC9XuL1DwTd5ZQ9tE+9FE8wqx2ANCZfzoYmHhDp
+MWkEgAUQNyqlNWQ3fm4tngL0P/Q0rn7/40/VYi753AxmtgQ01yBzu45CYRUjkTAgBwAApllFuZSG
+WcqBKASujhBq1l4sXpm/8dRxPLZtF00fW744PxuavBxbjz0xaaAieiT5zXebPgXehYAxwLt7Vglq
+BehdFHD5h4CNtjVo+Q+mjy1fzFHfZPL8LYTD4c31g0dBDh4FyRXdh/PZOxvVcj+3qQ0OCxaTu2jm
+kEEzh4xtAQJyaaVqPJ88fwtQhp2+0qsn7pxN58hrq6t5aB3dnFpZzmwTlLlBmRv3MyTRXercR4EX
+ElFwcdm5HKZ+G/Xls7/ts39PBui5zzy8uZ7tTkAaUYrauI6cSMduZPpfEvtOgCYTDklS64ViZ922
+a+siqJaMKG0AqnBWAEgzb2QWAPQBcDujrDItTRTdKGZ/lSxKlgSYCmPNANLmBIojqsacACCnTnZP
+ezwkUKfq2so685fztTMAOgFUhTgX1nLZkTYw1XEq2eOBEtmjvxmOVNJffL6g3s7wd9/+EF8D0ABY
+whqQf1x2TuHmdRkAiUQkfe4D3ye+HrMYWyjZa0vsrXc+RVykpSFOnQDSJORMhwJAVlUo4wc03/h+
+2fDqrNet2aPlCpVef59HhYgtrC6MinfWXAO8cthFOjq4yzQVcvMmY7bNCDjsl8ctvbeX+RdTVuqv
+RVz/+DTuNiIUQswBYo69tr1L0FoL0uTfeHKHMTQV+D8ZfwO+mXUxZaiAZAAAACV0RVh0Y3JlYXRl
+LWRhdGUAMjAwOC0xMi0wM1QxMjoyMToxNCswMDowMHFxo9QAAAAldEVYdG1vZGlmeS1kYXRlADIw
+MDgtMTItMDNUMTI6MjE6MTQrMDA6MDAuwNXgAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1122</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/view-refresh.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/view-refresh.png.xml
new file mode 100644
index 0000000000..a1ad4dc1c6
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/view-refresh.png.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005902.86</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>view-refresh.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAABl0RVh0
+U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAMiSURBVDiNbVJNbFRlFD33e++V+a0zbQdb
+qLYKhhKmoaIzjX/RmEY3xGBYqLxEjJCB8LNhBxsMTQwRdGGi4AOjMUwlmDQBN/wEIZLUwqtx0dCS
+1NLGAUY7tB3ozLTz3vu+66LzkllwkpvcxT0nJ+dcYmb4SGWyzzTo2hEQ3vSkatWEmCfCuOPKEwAu
+2Jbp1t0eBHCCfIF0JrtF08RAT9cqfV1ns9HWFAGYUShWMDJ2v3xn+qEnFe+2LfNselc2w4zvAMSI
+mZHKZNcbuhjZ2tcdiseC0InQHA0gHNARDRkIGgIzxUUczw5XCsWKHQ019D4uVw1mNBEz49U9Z0/1
+rGv7NBgwxK3RHKquB0PX5JrVscW+9PPh3vWtpAmCEIRfrk2ot15sFwe+vuo4rmzRAYCZP7wzXRCu
+p1gxLzLjM8eVZ8anZ5MT9+aPXu9o7tq3dVMoEQvh43e7RC0GAqAEAEipwlXH85IvPPuDlOoRgEHb
+MvO2ZV7549uPXhqdLOzdfewS7j8sYXqmDKkYAAMACyyvqumpSH9jJPBVZ/vKbgBTdWnruiZ2bnsn
+6XY+HUWicQU0Qb4D1mt38V8/37yAJ+O0J9VrF4cnq1ftqSXfvOOqAAD2W6gCMGoErpvfAOwE4D5B
+WLct854v4J0/+r4GEJgZF+1/1Knzf+WkVD22ZRbrWYezY6tK5aWO30fGbwCI6QBABBAR7v5XhiEY
+Jwf/JABf1JNTmWyYiO72blx7Jj8zlwKgAagKABBEBAAdiRBWt4Tx5f63qa0lcuyVPT/fSmWy6ZrG
+9hWGrufyswfyheLrmkaubZmuWHZAeFxxcWFoij2P0b4yisM73gh90Jd8ubU5ci29a8A1dPGNVDI+
+92gBTY1B0oQYBAD/kaj/x6Glidzc5KXhyc7Mlk3hRCyI7rUJeq49HiqWXfw7W4LjeBQJGjh3ebTi
+SXUEAJYfSTFN5OZO3zy5LfmgsPBJ//c35o8P3CwN384jP1tG1ZUQRCjMl+S5y6OLUqmMbZljAOC3
+8BOA7bZlci0wA8B7DYa2VzFvkFLFDV2bIcJQ1ZGHbMv82w/3fy5VdmoTZczGAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>912</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>16</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/wave.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/wave.png.xml
new file mode 100644
index 0000000000..c4f2bdf83b
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/wave.png.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005903.05</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>wave.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAB4xJREFU
+aIHtmG1sU9cZx3/n2iaxExKHBlDLi50QSNN12O3WVmlZHYTQpNFK1T4sXdup0kAtkyqNbdJEN+3b
+NqZpqEzaC5uomm4funYfQBqoq1qqtithhQFlZSWANHAzXhqa5Y04Tu71efbhnnt97Zg0gfTL5Ec6
+sn3veXn+z/N//uf4QNWqVrWqVa1q/w8mIuekaHvmcd49IvLWZzCnFpGh4APZ0dMrbxw574HYNg8L
+BYMiInLuZuZ74dhT2/567rlLZq5LItLtLZTr/XBA2ruflzu+9jv5z8CoSF9fTmDdTTi/TURk8OTP
+ZGBfXKb6tnggdsx1rhePP7Wj5/iWoZ7jT8u5wV4REVtEEgCWiKwDon/ovcp4pAFRFr/58zFob4+S
+SLwj0H2DGL6fGzzFx+//HBGFHvgjTPwT4MnZTvDro1v2/P69b9qOsB1C8QWhGG2LOgH2K6WyAGFg
+E8ArH07hROKEtMPBf2T5CcD69YqenpcE0gqenSOAWwf6XkIERAAB/vsKLFt760yDftG7OaGVfjEk
++gEtEnYsCxFBgOX1q71uO70vYaAzO+wwIhGINBDWDqH8J/RdGOT2VApAAdsFFivYMhvPvfoZ6j/E
+Av+ZgvEj/nul1K7gmB/2PpZYoMN7J2UyHSKslLKwtaAVpglL69cAOEqpd71xFpDKjhSwYrVINMa1
+BY2MRRo53HcVurqCa2wWOD4bAEAGYHTglJ8BEQX506DHAR4Jdv5e72MJx5HTBZG7bLGUI4Ijgi2C
+LdptWmiKLge4EBxrAfztsoMVq8GK1eDU1DEWiXOiPw/pdLljdwl8upK8+upDgx8dCjiPSyHRMPlv
+gDXB7mqSH4m2orYWHC3YWmNrjaM1jnnmiLBsYTvAqXIA8VEdcgFEXRBTNfUcvVRwe5RmAaBNICeQ
+qOS7QDcdHeFPPjqE77eXASnAxL8AFgfH2OJkbCk6bmsTfV1sJvoAfyoHwKnxsO+8FatBRWs5cgWG
+c4VKAACiwBuVXrBixbdIJsmNXJzwM4ALQCjApCseRv1cAFonHa2xg9TRpRQy0Ucp9fI0ACoS9p33
+gBCt5f2LE+AWciVrq/j0nntSAJYV+mUJhbSXgdNez00Amw9+NWFrK2wbmrg00n7zaLW4bgXAcPly
+FvDo/i6S+UjkUScS+U6hNvK2jkROSO2C4ZOXJp0KdeBbxT3i3nsbASf9leeeFQpSWgca9DVwBgE6
+AfJTaqvtR90UrF/AXkY0yYYOgPPly4UDKcmaT1/evv1T2QG3bCeZhAsXKmHYCPgpLUC33HefUnAV
+QClGBOLFGtBuFvJnoP7+FIAW3Wlr0EohSgVk05VOrRQ1kTritc0Ar1XKwEy2G6ikRp5lgj+GYaPp
+exbAEjnp1oAyWdCAA5P9AHGAvEgqKJvud22a+3tJ3UpviQNzAmC265lolAz+KDz8cEbF4wD7AMSy
+Dvv0QRkuFWCqHwAR6bZ1obGoNgEVCrTWxg4ACW5gswJg7AKZzPXehYNyqpPJpAG+y7zdXZRRXAph
+KAT8/eOjP9ailCPTuR9UoLamOwCuVHJgNgBOXUdKsYER2ApwHBK0toaBCe/9hmeGs4VCwfFlVATE
+cV/mzwCSdLT4SuMYBbIDCmRrYcXCBBha3giAt4FpdTDpOs8wfBlgDLbWuUD7gv3CIa6W7sYGwFQ/
+zbXN4RIFCu4FBlBTbTOxcB0YWs4ZgE8HkwXBDfFIEUALwDh01rsgS85LCvVeUUoFMAAm+2lrbKU2
+FPMdL9l9DYXWuPSh/PA3awDGhkmlECAXcN60+AF4q2HD+gdN39eDAyOonUUZpYxC0NLQ4tMnuIl5
+xbxyYRICtLxRAOclneZamfOjwLgF+TCZaCqlcJWiZKtPPT30rrKcE34GPADOIOgcqcV3+tF2AoXs
+SejnbrkT4OLNAnhNpdOMxeOMGsfHgJxVbM2uUo1UGrz68dG7LVW47GbBwU0FkD/L6sbWitLp1URr
+Qwt4dXgTAA4ATKbTbuSVG/nxAICmVBrg5PUmiIXsTqWcCbcGDICpfr64ZO20Y4MnqSb6UEbLOQMw
+G4iEuroYU6WRH7cgnEyyMJEEOHy9OaKb8tlITHeAnjA7G0ycYWGknqXRJQH5LEqqif60E+icARi7
+UptOlTjvtcaixO6eMRB3kyV2WwdKu4VgduQvBLIQ3MTSiz8PFU6gNwrgbFOmq4Q2Xlu0Ng3uf9Xs
+p02iWt/MoiJPQEHQOZjqpz3eWnaUcGtidWMrzEDLuQLYF4nHCbUkp4FY+aUMlP1XnRFEy56XUaGv
+Q0GY6qejaVXx8GboEw3HuK1uKcxAy7kC2AvQlOlyuR9ynZemOKvWdUHZf9VZgZDQd5k4Q+fSNLFw
+XWADE7qW3e91nZGWswZg6DHc/o0nS6J/+0P+BcPOGYZXnnPVnl3I1PMAG5c/UEKhDS6AidnQctbm
+3aH+dlOXPNOEbF6EZD84If4l643PO5QduyxNLzwozT0Z2fAX/xpy3i6Eg4vZueEh+dUTj8ixA3vn
+5SLYu0fdn31HHj/4A/lg8FzJ/ee8moh0m8nnNUpedo3Z/s1z1apWtapV7bO0/wFfIVWn+z7TcQAA
+AABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>48</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>2005</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>48</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/wireframe.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/wireframe.png.xml
new file mode 100644
index 0000000000..bdd2a9c677
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/wireframe.png.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005903.25</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>wireframe.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
+bWFnZVJlYWR5ccllPAAAAXRJREFUeNrMljFLAzEUxy93ggiuuii4drRfQCluXfwKTuXm7v0I3SwW
+oXQruLnoKtwHsIdQ6OhQRHR0Vc5/5J8SQi7JBQ588Otxubz8cy/vvZ6oqipp03bkjxDCHO+APjgD
+p+AYbEAJCvAI1rpD3UZTy1gOFuAIzME52OV1zvEF5/nNUB6BG9D1uHU5b6SvY0MXyOmUBoY35fw8
+REDG/Dlg57Y3kX6dOgG1W3mgT2DZUGBJv77rNRNmSxGZiQX969OUqVjWzHkHDw6BfXCBVJ8Z41cI
+UabO4BtkNQtce94go79pL/oZbFhMNtvzCKgitAlvBUqGKcZc4d0KOA/KY84EUQKyt/Qi66BHf6eA
+bFy3YNCwkgf0W/sEpE3BG5gE9qIJ50+bNDvVk2T5j8EluGNGnPB+zOe+broym535fzAE9+CLef7K
++yGfJ8ECLmCzyOxa6YXWmv0LgZ/Itf/iK3xfFeiSH7h8RggcYu0D0fZny68AAwCsA7ygF1ZdCwAA
+AABJRU5ErkJggg==</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>466</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>24</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/zoom.png.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/zoom.png.xml
new file mode 100644
index 0000000000..c49a3ad523
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/images/zoom.png.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Image" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80005885.93</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>zoom.png</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>image/png</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI
+WXMAAAsSAAALEgHS3X78AAAAB3RJTUUH1gQJARM6JhpOzwAABDpJREFUOMuNlN9Pm1UYx7/nOed9
+W8oKFAblR0spzE0FJ2M1hujQqPEOk7GxGF3Y5o33xBAUo4lxyZwZ/4AXW4gxwY7FafRmxhsvFmM2
+IAFxA2lpC6VlpbQdsNK+5/Xifcs6fmQ7yZP35OS8n+d7vuc5D8Me49Lli90AegF0Amg0l0MAbgPw
+Dw4M/YKnDLYDeAzAMCNRX13bKN0NDc4qR1kZoCORzKTDi4uxleUQ6TK/BKB/cGBo/KlgU6W/pr45
+cLTtRXcoIYNrm0ht5VkOAFShKxUlrNxTRU2TU9Ph+NK8F0DvfupZkdLbLUfa4wcqXbmFhB7RAbnP
+D9RUxVyZ1UXlv3vjNQA691JO5nfY2dASsFe6csGEHtoFZQyMGYfTARlI6CF7ZUPO2dASADC8lwC6
+dPliNyNR397W6g4m9IihioGIgXMC5wTBCZyMOScCI4ZgQo+0v9TmZlzUmzbuUtxbU9ckAwkZ1AFJ
+xEAFEBEE5wbYTECcIIhAnGTwgRasqW2SZgXtAnd63C7n2oaeIiIQETh/rLagUggCL0rCiZDOspSn
+0eU0y3IXuLG6srwsL1mOiG0rfQLMn1wjcx5a2UjWVFWUFdX69hDG3TD89OdcwFVbYa2rKi1x2K2W
+AzZVWBTOOWdM6tBzeU3byObzaw+3svHkxmYguraez2vspM++Zx0LAKGVZKrK4yy1zy6lV8Mr6xlF
+EVAUYagUBGKADgZdSuQ1CU3TIHWG5+rslavJdBpAYi8rbofCkZjvsMNNhWMLIxRVQFU4VFWBqhrJ
+VMHBBQcXhI5DZe5gOBIzn/ousD+2FKRXDpW32qxccM4hiKBw48IURUBVBCyFUwgOToRSiyKOee2t
+y4sBAuDfCea/3/rj/tvvvHlqIyvl6+3N7ruBTEgRBsCwhJu2MEAHdF2HLnX0dTlfm5+bSaeS8ejg
+wNBn+728/sWFe15tPV768bvuExaFBBjAoIMxo1KICGAMVoXEuTdqT+Qyy6WR4L9eAP3P1IRc3ucD
+HUdfdk8tbk7fjz4KxzJaihNHnUOUH65R3UfqrK0Tk5ORUGCmCYDlzp27GYvFMvH9yA9d+7VN9tXX
+X3YoinKFC7W+obFFej0e50FHuR0AHiRTmWAoHIsszJKW31rKZrOfTE1NX7/w0TnPxPgkJiYmg/7R
+sWajnTwGM9MWAkCff/Fpt9Vq7SGiV4nIBQBSyoimaX+n05mb335z5TcA+ODs+9/ZbLbeTDrzqO/8
+Weu1qyNp/+hYeQFYgHKzrndGIaFiBoPR/fIA8qfP9Iz7fMcdc7PzWydPvadeuzqy6R8ds4kixbzo
+5+LgZpQAsJpJJIAtALnrP97oAvCXz3fc9vPNX+X5C30lAB7yHYr3Ciraw0wPNRMuAch/pmduVDgq
+PmxtfUHEY3FEo9Hcs1pRvKcAN/v+tvqDp8/03GKMVftHx976HxKajXFmkIxAAAAAAElFTkSuQmCC</string> </value>
+        </item>
+        <item>
+            <key> <string>height</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1197</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>width</string> </key>
+            <value> <int>22</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/jquery.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/jquery.js.xml
new file mode 100644
index 0000000000..8134114eee
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/jquery.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80046427.27</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>72176</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*!\n
+ * jQuery JavaScript Library v1.4.2\n
+ * http://jquery.com/\n
+ *\n
+ * Copyright 2010, John Resig\n
+ * Dual licensed under the MIT or GPL Version 2 licenses.\n
+ * http://jquery.org/license\n
+ *\n
+ * Includes Sizzle.js\n
+ * http://sizzlejs.com/\n
+ * Copyright 2010, The Dojo Foundation\n
+ * Released under the MIT, BSD, and GPL Licenses.\n
+ *\n
+ * Date: Sat Feb 13 22:33:48 2010 -0500\n
+ */\n
+(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i?\n
+e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r=\n
+j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\\./g,"`").replace(/ /g,\n
+"&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e=\n
+true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\\w\\W]+>)[^>]*$|^#([\\w-]+)$/,Ua=/^.[^:#\\[\\.,]*$/,Va=/\\S/,\n
+Wa=/^(\\s|\\u00A0)+|(\\s|\\u00A0)+$/g,Xa=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&\n
+(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,\n
+a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b===\n
+"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,\n
+function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)||\n
+c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded",\n
+L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype,\n
+"isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\\],:{}\\s]*$/.test(a.replace(/\\\\(?:["\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\\\\n\\r]*"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,"]").replace(/(?:^|:|,)(?:\\s*\\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+\n
+a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f],\n
+d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]===\n
+a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&&\n
+!c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \\/]([\\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \\/]([\\w.]+)/.exec(a)||/(msie) ([\\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari=\n
+true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML="   <link/><table></table><a href=\'/a\' style=\'color:red;float:left;opacity:.55;\'>a</a><input type=\'checkbox\'/>";\n
+var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,\n
+parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=\n
+false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type=\'radio\' name=\'radiotest\' checked=\'checked\'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=\n
+s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,\n
+applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];\n
+else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,\n
+a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===\n
+w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\\n\\t]/g,ca=/\\s+/,Za=/\\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,\n
+cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ",\n
+i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ",\n
+" ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className=\n
+this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i=\n
+e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=\n
+c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can\'t be changed");\n
+a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\\.(.*)$/,db=function(a){return a.replace(/[^\\w\\s\\.\\|`]/g,\n
+function(b){return"\\\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");\n
+k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),\n
+C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\\\.)"+c.map(o.slice(0).sort(),db).join("\\\\.(?:.*\\\\.)?")+"(\\\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!=\n
+null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type=\n
+e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&\n
+f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;\n
+if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\\\.)"+d.slice(0).sort().join("\\\\.(?:.*\\\\.)?")+"(\\\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "),\n
+fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop||\n
+d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this,\n
+"events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent=\n
+a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y,\n
+isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit=\n
+{setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}};\n
+if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",\n
+e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,\n
+"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,\n
+d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&&\n
+!a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}},\n
+toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector,\n
+u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "),\n
+function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];\n
+if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^[\\]]*\\]|[\'"][^\'"]*[\'"]|[^[\\]\'"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g,\n
+e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();\n
+t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||\n
+g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[];\n
+for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\\\"){q[1]=(q[1]||"").replace(/\\\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length-\n
+1)!=="\\\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\\w\\u00c0-\\uFFFF-]|\\\\.)+)/,\n
+CLASS:/\\.((?:[\\w\\u00c0-\\uFFFF-]|\\\\.)+)/,NAME:/\\[name=[\'"]*((?:[\\w\\u00c0-\\uFFFF-]|\\\\.)+)[\'"]*\\]/,ATTR:/\\[\\s*((?:[\\w\\u00c0-\\uFFFF-]|\\\\.)+)\\s*(?:(\\S?=)\\s*([\'"]*)(.*?)\\3|)\\s*\\]/,TAG:/^((?:[\\w\\u00c0-\\uFFFF\\*-]|\\\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\\((even|odd|[\\dn+-]*)\\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\\((\\d*)\\))?(?=[^-]|$)/,PSEUDO:/:((?:[\\w\\u00c0-\\uFFFF-]|\\\\.)+)(?:\\(([\'"]?)((?:\\([^\\)]+\\)|[^\\(\\)]*)+)\\2\\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}},\n
+relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]=\n
+l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[];\n
+h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\\t\\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\\\/g,"")},TAG:function(g){return g[1].toLowerCase()},\n
+CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\\d*)n((?:\\+|-)?\\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,\n
+g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\\d/i.test(g.nodeName)},\n
+text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},\n
+setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=\n
+h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m=\n
+m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m===\n
+"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\\[]*\\])(?![^\\(]*\\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\\r|\\n)*?)/.source+n.match[u].source.replace(/\\\\(\\d+)/g,function(g,\n
+h){return"\\\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition||\n
+!h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m=\n
+h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name=\'"+h+"\'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&\n
+q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href=\'#\'></a>";\n
+if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class=\'TEST\'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();\n
+(function(){var g=s.createElement("div");g.innerHTML="<div class=\'test e\'></div><div class=\'test\'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:\n
+function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/,\n
+gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length;\n
+c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j=\n
+{},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a===\n
+"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",\n
+d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?\n
+a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===\n
+1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\\d+="(?:\\d+|null)"/g,V=/^\\s+/,Ka=/(<([\\w:]+)[^>]*?)\\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\\w:]+)/,ib=/<tbody/i,jb=/<|&#?\\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\\s*(?:[^=]|=\\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)?\n
+a:b+"></"+d+">"},F={option:[1,"<select multiple=\'multiple\'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=\n
+c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},\n
+wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},\n
+prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,\n
+this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);\n
+return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="\'>\\s]+\\/)>/g,\'="$1">\').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,\n
+""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&&\n
+this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]||\n
+u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length===\n
+1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);\n
+return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",\n
+""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=\n
+c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?\n
+c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\\([^)]*\\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\\d+(?:px)?$/i,nb=/^-?\\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=\n
+function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=\n
+Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,\n
+"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=\n
+a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=\n
+a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\\s)*?\\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\\?(&|$)/,ka=/\\?/,wb=/(\\?|&)_=.*?(&|$)/,xb=/^(\\w+:)?\\/\\/([^\\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!==\n
+"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},\n
+serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),\n
+function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,\n
+global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&\n
+e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?\n
+"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===\n
+false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=\n
+false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",\n
+c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||\n
+d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);\n
+g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===\n
+1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b===\n
+"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\\[\\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;\n
+if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");\n
+this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a],\n
+"olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)},\n
+animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing=\n
+j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]);\n
+this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration===\n
+"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||\n
+c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;\n
+this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=\n
+this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,\n
+e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length||\n
+c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement?\n
+function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b=\n
+this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle;\n
+k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&&\n
+f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style=\'position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;\'><div></div></div><table style=\'position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;\' cellpadding=\'0\' cellspacing=\'0\'><tr><td></td></tr></table>";\n
+a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);\n
+c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,\n
+d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-\n
+f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":\n
+"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in\n
+e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale.xml
new file mode 100644
index 0000000000..c319b996ac
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>locale</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/README.txt.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/README.txt.xml
new file mode 100644
index 0000000000..ce80dbb711
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/README.txt.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>README.txt</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string>This directory holds JSON files that translate the UI strings in SVG-edit.\n
+Initial translations were done by Narendra Sisodiya putting the English\n
+strings through the Google Translation API. Humans will need to take these\n
+automated translations and ensure they make sense.\n
+\n
+See AUTHORS for the translations credits.\n
+\n
+Languages Already Translated By Humans:\n
+  * lang.cs.js\n
+  * lang.de.js\n
+  * lang.en.js\n
+  * lang.es.js\n
+  * lang.fr.js\n
+  * lang.ja.js\n
+  * lang.nl.js\n
+  * lang.ro.js\n
+  * lang.sk.js\n
+</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.af.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.af.js.xml
new file mode 100644
index 0000000000..5303172a7f
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.af.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003290.23</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.af.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Align in verhouding tot ..."},\n
+{"id": "bkgnd_color", "title": "Verander agtergrondkleur / opaciteit"},\n
+{"id": "circle_cx", "title": "Verandering sirkel se cx koördineer"},\n
+{"id": "circle_cy", "title": "Verandering sirkel se cy koördineer"},\n
+{"id": "circle_r", "title": "Verandering sirkel se radius"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Verandering Rechthoek Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Verandering ellips se cx koördineer"},\n
+{"id": "ellipse_cy", "title": "Verander ellips se cy koördineer"},\n
+{"id": "ellipse_rx", "title": "Verandering ellips se x radius"},\n
+{"id": "ellipse_ry", "title": "Verander ellips se j radius"},\n
+{"id": "fill_color", "title": "Verandering vul kleur"},\n
+{"id": "fitToContent", "textContent": "Pas na inhoud"},\n
+{"id": "fit_to_all", "textContent": "Passing tot al inhoud"},\n
+{"id": "fit_to_canvas", "textContent": "Passing tot doek"},\n
+{"id": "fit_to_layer_content", "textContent": "Passing tot laag inhoud"},\n
+{"id": "fit_to_sel", "textContent": "Passing tot seleksie"},\n
+{"id": "font_family", "title": "Lettertipe verander Familie"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Verandering prent hoogte"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "URL verander"},\n
+{"id": "image_width", "title": "Verander prent breedte"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "grootste voorwerp"},\n
+{"id": "layer_delete", "title": "Verwyder Laag"},\n
+{"id": "layer_down", "title": "Beweeg afbreek Down"},\n
+{"id": "layer_new", "title": "Nuwe Layer"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Beweeg afbreek Up"},\n
+{"id": "layersLabel", "textContent": "Lae:"},\n
+{"id": "line_x1", "title": "Verandering lyn se vertrek x koördinaat"},\n
+{"id": "line_x2", "title": "Verandering lyn se eindig x koördinaat"},\n
+{"id": "line_y1", "title": "Verandering lyn se vertrek y koördinaat"},\n
+{"id": "line_y2", "title": "Verandering lyn se eindig y koördinaat"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "bladsy"},\n
+{"id": "palette", "title": "Klik om te verander vul kleur, verskuiwing klik om &#39;n beroerte kleur verander"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Verandering reghoek hoogte"},\n
+{"id": "rect_width_tool", "title": "Verandering reghoek breedte"},\n
+{"id": "relativeToLabel", "textContent": "relatief tot:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Kies gedefinieerde:"},\n
+{"id": "selected_objects", "textContent": "verkose voorwerpe"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "kleinste voorwerp"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Verandering beroerte kleur"},\n
+{"id": "stroke_style", "title": "Verandering beroerte dash styl"},\n
+{"id": "stroke_width", "title": "Verandering beroerte breedte"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Doek Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Lengte:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Wydte:"},\n
+{"id": "text", "title": "Verander teks inhoud"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Rig Middel"},\n
+{"id": "tool_alignleft", "title": "Links Regterkant"},\n
+{"id": "tool_alignmiddle", "title": "Align Midde"},\n
+{"id": "tool_alignright", "title": "Lijn regs uit"},\n
+{"id": "tool_aligntop", "title": "Align Top"},\n
+{"id": "tool_angle", "title": "Verandering rotasie-hoek"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Vetgedrukte teks"},\n
+{"id": "tool_circle", "title": "Sirkel"},\n
+{"id": "tool_clear", "textContent": "Nuwe Beeld"},\n
+{"id": "tool_clone", "title": "Kloon Element"},\n
+{"id": "tool_clone_multi", "title": "Kloon Elemente"},\n
+{"id": "tool_delete", "title": "Verwyder Element"},\n
+{"id": "tool_delete_multi", "title": "Verwyder geselekteerde Elemente"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Annuleer"},\n
+{"id": "tool_docprops_save", "textContent": "Spaar"},\n
+{"id": "tool_ellipse", "title": "Ellips"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Gratis-Hand Ellips"},\n
+{"id": "tool_fhpath", "title": "Potlood tool"},\n
+{"id": "tool_fhrect", "title": "Free-hand Rectangle"},\n
+{"id": "tool_font_size", "title": "Verandering Lettertipe Grootte"},\n
+{"id": "tool_group", "title": "Groep Elemente"},\n
+{"id": "tool_image", "title": "Image Gereedskap"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Text"},\n
+{"id": "tool_line", "title": "Lyn Gereedskap"},\n
+{"id": "tool_move_bottom", "title": "Skuif na Bottom"},\n
+{"id": "tool_move_top", "title": "Skuif na bo"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Verander geselekteerde item opaciteit"},\n
+{"id": "tool_open", "textContent": "Open Beeld"},\n
+{"id": "tool_path", "title": "Poli Gereedskap"},\n
+{"id": "tool_rect", "title": "Reghoek"},\n
+{"id": "tool_redo", "title": "Oordoen"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Slaan Beeld"},\n
+{"id": "tool_select", "title": "Select Gereedschap"},\n
+{"id": "tool_source", "title": "Wysig Bron"},\n
+{"id": "tool_source_cancel", "textContent": "Annuleer"},\n
+{"id": "tool_source_save", "textContent": "Spaar"},\n
+{"id": "tool_square", "title": "Vierkant"},\n
+{"id": "tool_text", "title": "Text Gereedskap"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Boontoe"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elemente"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Klik op die Gereedskap"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Change zoom vlak"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9738</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ar.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ar.js.xml
new file mode 100644
index 0000000000..dbed48db75
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ar.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003290.43</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.ar.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "محاذاة النسبي ل ..."},\n
+{"id": "bkgnd_color", "title": "تغير لون الخلفية / غموض"},\n
+{"id": "circle_cx", "title": "دائرة التغيير لتنسيق cx"},\n
+{"id": "circle_cy", "title": "Change circle\'s cy coordinate"},\n
+{"id": "circle_r", "title": "التغيير في دائرة نصف قطرها"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "تغيير مستطيل ركن الشعاع"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "تغيير شكل البيضاوي cx تنسيق"},\n
+{"id": "ellipse_cy", "title": "تغيير شكل البيضاوي قبرصي تنسيق"},\n
+{"id": "ellipse_rx", "title": "تغيير شكل البيضاوي خ نصف قطرها"},\n
+{"id": "ellipse_ry", "title": "تغيير القطع الناقص في دائرة نصف قطرها ذ"},\n
+{"id": "fill_color", "title": "تغير لون التعبئة"},\n
+{"id": "fitToContent", "textContent": "لائقا للمحتوى"},\n
+{"id": "fit_to_all", "textContent": "يصلح لجميع المحتويات"},\n
+{"id": "fit_to_canvas", "textContent": "يصلح لوحة زيتية على قماش"},\n
+{"id": "fit_to_layer_content", "textContent": "يصلح لطبقة المحتوى"},\n
+{"id": "fit_to_sel", "textContent": "يصلح لاختيار"},\n
+{"id": "font_family", "title": "تغيير الخط الأسرة"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "تغيير ارتفاع الصورة"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "تغيير العنوان"},\n
+{"id": "image_width", "title": "تغيير صورة العرض"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "أكبر كائن"},\n
+{"id": "layer_delete", "title": "حذف طبقة"},\n
+{"id": "layer_down", "title": "تحرك لأسفل طبقة"},\n
+{"id": "layer_new", "title": "طبقة جديدة"},\n
+{"id": "layer_rename", "title": "تسمية الطبقة"},\n
+{"id": "layer_up", "title": "تحرك لأعلى طبقة"},\n
+{"id": "layersLabel", "textContent": "طبقات:"},\n
+{"id": "line_x1", "title": "تغيير الخط لبدء تنسيق خ"},\n
+{"id": "line_x2", "title": "تغيير الخط لانهاء خ تنسيق"},\n
+{"id": "line_y1", "title": "تغيير الخط لبدء تنسيق ذ"},\n
+{"id": "line_y2", "title": "تغيير الخط لإنهاء تنسيق ذ"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "الصفحة"},\n
+{"id": "palette", "title": "انقر لتغيير لون التعبئة ، تحولا مزدوجا فوق لتغيير لون السكتة الدماغية"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "تغيير المستطيل الارتفاع"},\n
+{"id": "rect_width_tool", "title": "تغيير عرض المستطيل"},\n
+{"id": "relativeToLabel", "textContent": "بالنسبة إلى:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "حدد سلفا:"},\n
+{"id": "selected_objects", "textContent": "انتخب الأجسام"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "أصغر كائن"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "تغير لون السكتة الدماغية"},\n
+{"id": "stroke_style", "title": "تغيير نمط السكتة الدماغية اندفاعة"},\n
+{"id": "stroke_width", "title": "تغيير عرض السكتة الدماغية"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "ارتفاع:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "عرض:"},\n
+{"id": "text", "title": "تغيير محتويات النص"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "محاذاة القاع"},\n
+{"id": "tool_aligncenter", "title": "مركز محاذاة"},\n
+{"id": "tool_alignleft", "title": "محاذاة إلى اليسار"},\n
+{"id": "tool_alignmiddle", "title": "محاذاة الأوسط"},\n
+{"id": "tool_alignright", "title": "محاذاة إلى اليمين"},\n
+{"id": "tool_aligntop", "title": "محاذاة الأعلى"},\n
+{"id": "tool_angle", "title": "تغيير زاوية الدوران"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "نص جريء"},\n
+{"id": "tool_circle", "title": "دائرة"},\n
+{"id": "tool_clear", "textContent": "صورة جديدة"},\n
+{"id": "tool_clone", "title": "استنساخ عنصر"},\n
+{"id": "tool_clone_multi", "title": "استنساخ الأركان"},\n
+{"id": "tool_delete", "title": "حذف عنصر"},\n
+{"id": "tool_delete_multi", "title": "حذف عناصر مختارة"},\n
+{"id": "tool_docprops", "textContent": "خصائص المستند"},\n
+{"id": "tool_docprops_cancel", "textContent": "إلغاء"},\n
+{"id": "tool_docprops_save", "textContent": "حفظ"},\n
+{"id": "tool_ellipse", "title": "القطع الناقص"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "اليد الحرة البيضوي"},\n
+{"id": "tool_fhpath", "title": "أداة قلم رصاص"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Rectangle"},\n
+{"id": "tool_font_size", "title": "تغيير حجم الخط"},\n
+{"id": "tool_group", "title": "مجموعة عناصر"},\n
+{"id": "tool_image", "title": "الصورة أداة"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "مائل نص"},\n
+{"id": "tool_line", "title": "خط أداة"},\n
+{"id": "tool_move_bottom", "title": "الانتقال إلى أسفل"},\n
+{"id": "tool_move_top", "title": "الانتقال إلى أعلى"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "تغيير مختارة غموض البند"},\n
+{"id": "tool_open", "textContent": "فتح الصورة"},\n
+{"id": "tool_path", "title": "بولي أداة"},\n
+{"id": "tool_rect", "title": "المستطيل"},\n
+{"id": "tool_redo", "title": "إعادته"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "حفظ صورة"},\n
+{"id": "tool_select", "title": "اختر أداة"},\n
+{"id": "tool_source", "title": "عدل المصدر"},\n
+{"id": "tool_source_cancel", "textContent": "إلغاء"},\n
+{"id": "tool_source_save", "textContent": "حفظ"},\n
+{"id": "tool_square", "title": "ميدان"},\n
+{"id": "tool_text", "title": "النص أداة"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "التراجع"},\n
+{"id": "tool_ungroup", "title": "فك تجميع عناصر"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "أداة تكبير"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "تغيير مستوى التكبير"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10566</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.az.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.az.js.xml
new file mode 100644
index 0000000000..d256c0bd24
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.az.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003290.63</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.az.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Align relative to ..."},\n
+{"id": "bkgnd_color", "title": "Change background color/opacity"},\n
+{"id": "circle_cx", "title": "Change circle\'s cx coordinate"},\n
+{"id": "circle_cy", "title": "Change circle\'s cy coordinate"},\n
+{"id": "circle_r", "title": "Change circle\'s radius"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Change Rectangle Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Change ellipse\'s cx coordinate"},\n
+{"id": "ellipse_cy", "title": "Change ellipse\'s cy coordinate"},\n
+{"id": "ellipse_rx", "title": "Change ellipse\'s x radius"},\n
+{"id": "ellipse_ry", "title": "Change ellipse\'s y radius"},\n
+{"id": "fill_color", "title": "Change fill color"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Fit to all content"},\n
+{"id": "fit_to_canvas", "textContent": "Fit to canvas"},\n
+{"id": "fit_to_layer_content", "textContent": "Fit to layer content"},\n
+{"id": "fit_to_sel", "textContent": "Fit to selection"},\n
+{"id": "font_family", "title": "Change Font Family"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Change image height"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Change URL"},\n
+{"id": "image_width", "title": "Change image width"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "largest object"},\n
+{"id": "layer_delete", "title": "Delete Layer"},\n
+{"id": "layer_down", "title": "Move Layer Down"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Move Layer Up"},\n
+{"id": "layersLabel", "textContent": "Layers:"},\n
+{"id": "line_x1", "title": "Change line\'s starting x coordinate"},\n
+{"id": "line_x2", "title": "Change line\'s ending x coordinate"},\n
+{"id": "line_y1", "title": "Change line\'s starting y coordinate"},\n
+{"id": "line_y2", "title": "Change line\'s ending y coordinate"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "page"},\n
+{"id": "palette", "title": "Click to change fill color, shift-click to change stroke color"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Change rectangle height"},\n
+{"id": "rect_width_tool", "title": "Change rectangle width"},\n
+{"id": "relativeToLabel", "textContent": "relative to:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Select predefined:"},\n
+{"id": "selected_objects", "textContent": "selected objects"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "smallest object"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Change stroke color"},\n
+{"id": "stroke_style", "title": "Change stroke dash style"},\n
+{"id": "stroke_width", "title": "Change stroke width"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Height:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Width:"},\n
+{"id": "text", "title": "Change text contents"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Align Center"},\n
+{"id": "tool_alignleft", "title": "Align Left"},\n
+{"id": "tool_alignmiddle", "title": "Align Middle"},\n
+{"id": "tool_alignright", "title": "Align Right"},\n
+{"id": "tool_aligntop", "title": "Align Top"},\n
+{"id": "tool_angle", "title": "Change rotation angle"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elements"},\n
+{"id": "tool_delete", "title": "Delete Element"},\n
+{"id": "tool_delete_multi", "title": "Delete Selected Elements"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Cancel"},\n
+{"id": "tool_docprops_save", "textContent": "OK"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Rectangle"},\n
+{"id": "tool_font_size", "title": "Change Font Size"},\n
+{"id": "tool_group", "title": "Group Elements"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Text"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Move to Bottom"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Change selected item opacity"},\n
+{"id": "tool_open", "textContent": "Open Image"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rectangle"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Save Image"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "Edit Source"},\n
+{"id": "tool_source_cancel", "textContent": "Cancel"},\n
+{"id": "tool_source_save", "textContent": "Apply Changes"},\n
+{"id": "tool_square", "title": "Square"},\n
+{"id": "tool_text", "title": "Text Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Undo"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Change zoom level"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9467</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.be.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.be.js.xml
new file mode 100644
index 0000000000..829be55e52
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.be.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003290.84</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.be.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Выраўнаваць па дачыненні да ..."},\n
+{"id": "bkgnd_color", "title": "Змяненне колеру фону / непразрыстасць"},\n
+{"id": "circle_cx", "title": "CX змене круга каардынаты"},\n
+{"id": "circle_cy", "title": "Змены гуртка CY каардынаты"},\n
+{"id": "circle_r", "title": "Старонка круга&#39;s радыус"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Змены прастакутнік Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Змены эліпса CX каардынаты"},\n
+{"id": "ellipse_cy", "title": "Змены эліпса CY каардынаты"},\n
+{"id": "ellipse_rx", "title": "Х змяненні эліпса радыюсам"},\n
+{"id": "ellipse_ry", "title": "Змены у эліпса радыюсам"},\n
+{"id": "fill_color", "title": "Змяненне колеру залівання"},\n
+{"id": "fitToContent", "textContent": "Па памеры ўтрымання"},\n
+{"id": "fit_to_all", "textContent": "Па памеру ўсе змесціва"},\n
+{"id": "fit_to_canvas", "textContent": "Памер палатна"},\n
+{"id": "fit_to_layer_content", "textContent": "По размеру слой ўтрымання"},\n
+{"id": "fit_to_sel", "textContent": "Выбар памеру"},\n
+{"id": "font_family", "title": "Змены Сямейства шрыфтоў"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Змена вышыні выявы"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Змяніць URL"},\n
+{"id": "image_width", "title": "Змены шырыня выявы"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "найбуйнейшы аб&#39;ект"},\n
+{"id": "layer_delete", "title": "Выдаліць слой"},\n
+{"id": "layer_down", "title": "Перамясціць слой на"},\n
+{"id": "layer_new", "title": "Новы слой"},\n
+{"id": "layer_rename", "title": "Перайменаваць Слой"},\n
+{"id": "layer_up", "title": "Перамяшчэнне слоя да"},\n
+{"id": "layersLabel", "textContent": "Слаі:"},\n
+{"id": "line_x1", "title": "Змены лінія пачынае каардынаты х"},\n
+{"id": "line_x2", "title": "Змяненне за перыяд, скончыўся лінія каардынаты х"},\n
+{"id": "line_y1", "title": "Змены лінія пачынае Y каардынаты"},\n
+{"id": "line_y2", "title": "Змяненне за перыяд, скончыўся лінія Y каардынаты"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "старонка"},\n
+{"id": "palette", "title": "Націсніце для змены колеру залівання, Shift-Click змяніць обводка"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Змены прастакутнік вышынёй"},\n
+{"id": "rect_width_tool", "title": "Змяненне шырыні прамавугольніка"},\n
+{"id": "relativeToLabel", "textContent": "па параўнанні з:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Выберыце прадвызначэньні:"},\n
+{"id": "selected_objects", "textContent": "выбранымі аб&#39;ектамі"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "маленькі аб&#39;ект"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Змяненне колеру інсульт"},\n
+{"id": "stroke_style", "title": "Змяненне стылю інсульт працяжнік"},\n
+{"id": "stroke_width", "title": "Змены шырыня штрых"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Вышыня:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Шырыня:"},\n
+{"id": "text", "title": "Змяненне зместу тэксту"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Лінаваць па ніжнім краю"},\n
+{"id": "tool_aligncenter", "title": "Лінаваць па цэнтру"},\n
+{"id": "tool_alignleft", "title": "Па левым краю"},\n
+{"id": "tool_alignmiddle", "title": "Выраўнаваць Блізкага"},\n
+{"id": "tool_alignright", "title": "Па правым краю"},\n
+{"id": "tool_aligntop", "title": "Лінаваць па верхнім краю"},\n
+{"id": "tool_angle", "title": "Змены вугла павароту"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Тоўсты тэкст"},\n
+{"id": "tool_circle", "title": "Круг"},\n
+{"id": "tool_clear", "textContent": "Новае выява"},\n
+{"id": "tool_clone", "title": "Клон элемента"},\n
+{"id": "tool_clone_multi", "title": "Клон Элементы"},\n
+{"id": "tool_delete", "title": "Выдаліць элемент"},\n
+{"id": "tool_delete_multi", "title": "Выдаліць выбраныя элементы"},\n
+{"id": "tool_docprops", "textContent": "Уласцівасці дакумента"},\n
+{"id": "tool_docprops_cancel", "textContent": "Адмена"},\n
+{"id": "tool_docprops_save", "textContent": "Захаваць"},\n
+{"id": "tool_ellipse", "title": "Эліпс"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Свабоднай рукі Эліпс"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Свабоднай рукі Прастакутнік"},\n
+{"id": "tool_font_size", "title": "Змяніць памер шрыфта"},\n
+{"id": "tool_group", "title": "Група элементаў"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Нахілены тэкст"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Перамясціць уніз"},\n
+{"id": "tool_move_top", "title": "Перамясціць угару"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Старонка абранага пункта непразрыстасці"},\n
+{"id": "tool_open", "textContent": "Адкрыць выява"},\n
+{"id": "tool_path", "title": "Poly Tool"},\n
+{"id": "tool_rect", "title": "Прамавугольнік"},\n
+{"id": "tool_redo", "title": "Паўтор"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Захаваць малюнак"},\n
+{"id": "tool_select", "title": "Выберыце інструмент"},\n
+{"id": "tool_source", "title": "Змяніць зыходны"},\n
+{"id": "tool_source_cancel", "textContent": "Адмена"},\n
+{"id": "tool_source_save", "textContent": "Захаваць"},\n
+{"id": "tool_square", "title": "Плошча"},\n
+{"id": "tool_text", "title": "Тэкст Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Адмяніць"},\n
+{"id": "tool_ungroup", "title": "Элементы Разгруппировать"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Змяненне маштабу"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>11160</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.bg.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.bg.js.xml
new file mode 100644
index 0000000000..516f559dec
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.bg.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003291.15</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.bg.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Привеждане в сравнение с ..."},\n
+{"id": "bkgnd_color", "title": "Промяна на цвета на фона / непрозрачност"},\n
+{"id": "circle_cx", "title": "CX Промяна кръг на координатната"},\n
+{"id": "circle_cy", "title": "Промяна кръг&#39;s CY координира"},\n
+{"id": "circle_r", "title": "Промяна кръг радиус"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Промяна на правоъгълник Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Промяна на елипса&#39;s CX координира"},\n
+{"id": "ellipse_cy", "title": "Промяна на елипса&#39;s CY координира"},\n
+{"id": "ellipse_rx", "title": "Промяна на елипса&#39;s X радиус"},\n
+{"id": "ellipse_ry", "title": "Промяна на елипса&#39;s Y радиус"},\n
+{"id": "fill_color", "title": "Промяна попълнете цвят"},\n
+{"id": "fitToContent", "textContent": "Fit към съдържание"},\n
+{"id": "fit_to_all", "textContent": "Побери цялото съдържание"},\n
+{"id": "fit_to_canvas", "textContent": "Fit на платно"},\n
+{"id": "fit_to_layer_content", "textContent": "Fit да слой съдържание"},\n
+{"id": "fit_to_sel", "textContent": "Fit за подбор"},\n
+{"id": "font_family", "title": "Промяна на шрифта Семейство"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Промяна на изображението височина"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Промяна на URL"},\n
+{"id": "image_width", "title": "Промяна на изображението ширина"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "най-големият обект"},\n
+{"id": "layer_delete", "title": "Изтриване на слой"},\n
+{"id": "layer_down", "title": "Move слой надолу"},\n
+{"id": "layer_new", "title": "Нов слой"},\n
+{"id": "layer_rename", "title": "Преименуване Layer"},\n
+{"id": "layer_up", "title": "Move Up Layer"},\n
+{"id": "layersLabel", "textContent": "Слоевете:"},\n
+{"id": "line_x1", "title": "Промяна на линия, започваща х координира"},\n
+{"id": "line_x2", "title": "Промяна на линията приключва х координира"},\n
+{"id": "line_y1", "title": "Промяна линия, започваща Y координира"},\n
+{"id": "line_y2", "title": "Промяна на линията приключва Y координира"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "страница"},\n
+{"id": "palette", "title": "Кликнете, за да промени попълнете цвят, на смени, кликнете да променят цвета си удар"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Промяна на правоъгълник височина"},\n
+{"id": "rect_width_tool", "title": "Промяна на правоъгълник ширина"},\n
+{"id": "relativeToLabel", "textContent": "в сравнение с:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Изберете предварително:"},\n
+{"id": "selected_objects", "textContent": "избраните обекти"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "най-малката обект"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Промяна на инсулт цвят"},\n
+{"id": "stroke_style", "title": "Промяна на стила удар тире"},\n
+{"id": "stroke_width", "title": "Промяна на ширината инсулт"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Височина:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Ширина:"},\n
+{"id": "text", "title": "Промяна на текст съдържание"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Привеждане Отдолу"},\n
+{"id": "tool_aligncenter", "title": "Подравняване в средата"},\n
+{"id": "tool_alignleft", "title": "Подравняване вляво"},\n
+{"id": "tool_alignmiddle", "title": "Привеждане в Близкия"},\n
+{"id": "tool_alignright", "title": "Подравняване надясно"},\n
+{"id": "tool_aligntop", "title": "Привеждане Топ"},\n
+{"id": "tool_angle", "title": "Промяна ъгъл на завъртане"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Получер текст"},\n
+{"id": "tool_circle", "title": "Кръгът"},\n
+{"id": "tool_clear", "textContent": "Ню Имидж"},\n
+{"id": "tool_clone", "title": "Clone Елемент"},\n
+{"id": "tool_clone_multi", "title": "Clone Елементи"},\n
+{"id": "tool_delete", "title": "Изтриване на елемент"},\n
+{"id": "tool_delete_multi", "title": "Изтриване на избрани елементи"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Отказ"},\n
+{"id": "tool_docprops_save", "textContent": "Спасявам"},\n
+{"id": "tool_ellipse", "title": "Елипса"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Свободен Употребявани Елипса"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Свободен Употребявани правоъгълник"},\n
+{"id": "tool_font_size", "title": "Промени размера на буквите"},\n
+{"id": "tool_group", "title": "Група Елементи"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Курсив текст"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Премести надолу"},\n
+{"id": "tool_move_top", "title": "Премести в началото"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Промяна на избрания елемент непрозрачност"},\n
+{"id": "tool_open", "textContent": "Отворете изображението"},\n
+{"id": "tool_path", "title": "Поли Tool"},\n
+{"id": "tool_rect", "title": "Правоъгълник"},\n
+{"id": "tool_redo", "title": "Възстановяване"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Save Image"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "Редактиране Източник"},\n
+{"id": "tool_source_cancel", "textContent": "Отказ"},\n
+{"id": "tool_source_save", "textContent": "Спасявам"},\n
+{"id": "tool_square", "title": "Квадрат"},\n
+{"id": "tool_text", "title": "Текст Оръдие"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Отмени"},\n
+{"id": "tool_ungroup", "title": "Разгрупирай Елементи"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Промяна на ниво на мащабиране"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>11326</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ca.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ca.js.xml
new file mode 100644
index 0000000000..9b7d7db189
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ca.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003291.36</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.ca.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Alinear pel que fa a ..."},\n
+{"id": "bkgnd_color", "title": "Color de fons / opacitat"},\n
+{"id": "circle_cx", "title": "CX cercle Canvi de coordenades"},\n
+{"id": "circle_cy", "title": "Cercle Canvi CY coordinar"},\n
+{"id": "circle_r", "title": "Ràdio de cercle Canvi"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Canviar Rectangle Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Canviar lipse CX coordinar"},\n
+{"id": "ellipse_cy", "title": "Lipse Canvi CY coordinar"},\n
+{"id": "ellipse_rx", "title": "Ràdio x lipse Canvi"},\n
+{"id": "ellipse_ry", "title": "Ràdio i lipse Canvi"},\n
+{"id": "fill_color", "title": "Canviar el color de farciment"},\n
+{"id": "fitToContent", "textContent": "Ajustar al contingut"},\n
+{"id": "fit_to_all", "textContent": "Ajustar a tot el contingut"},\n
+{"id": "fit_to_canvas", "textContent": "Ajustar a la lona"},\n
+{"id": "fit_to_layer_content", "textContent": "Ajustar al contingut de la capa d&#39;"},\n
+{"id": "fit_to_sel", "textContent": "Ajustar a la selecció"},\n
+{"id": "font_family", "title": "Canviar la font Família"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Canviar l&#39;altura de la imatge"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Canviar URL"},\n
+{"id": "image_width", "title": "Amplada de la imatge Canvi"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "objecte més gran"},\n
+{"id": "layer_delete", "title": "Eliminar capa"},\n
+{"id": "layer_down", "title": "Mou la capa de Down"},\n
+{"id": "layer_new", "title": "Nova capa"},\n
+{"id": "layer_rename", "title": "Canvieu el nom de la capa"},\n
+{"id": "layer_up", "title": "Mou la capa Up"},\n
+{"id": "layersLabel", "textContent": "Layers:"},\n
+{"id": "line_x1", "title": "Canviar la línia de partida de la coordenada x"},\n
+{"id": "line_x2", "title": "Canviar la línia d&#39;hores de coordenada x"},\n
+{"id": "line_y1", "title": "Canviar la línia de partida i de coordinar"},\n
+{"id": "line_y2", "title": "Canviar la línia d&#39;hores de coordenada"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "Pàgina"},\n
+{"id": "palette", "title": "Feu clic per canviar el color de farciment, shift-clic per canviar el color del traç"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Rectangle d&#39;alçada Canvi"},\n
+{"id": "rect_width_tool", "title": "Ample rectangle Canvi"},\n
+{"id": "relativeToLabel", "textContent": "en relació amb:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Seleccioneu predefinides:"},\n
+{"id": "selected_objects", "textContent": "objectes escollits"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "objecte més petit"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Canviar el color del traç"},\n
+{"id": "stroke_style", "title": "Canviar estil de traç guió"},\n
+{"id": "stroke_width", "title": "Canviar l&#39;amplada del traç"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Alçada:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Amplada:"},\n
+{"id": "text", "title": "Contingut del text"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Alinear baix"},\n
+{"id": "tool_aligncenter", "title": "Alinear al centre"},\n
+{"id": "tool_alignleft", "title": "Alinear a l&#39;esquerra"},\n
+{"id": "tool_alignmiddle", "title": "Alinear Medi"},\n
+{"id": "tool_alignright", "title": "Alinear a la dreta"},\n
+{"id": "tool_aligntop", "title": "Alinear a dalt"},\n
+{"id": "tool_angle", "title": "Canviar l&#39;angle de rotació"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Text en negreta"},\n
+{"id": "tool_circle", "title": "Cercle"},\n
+{"id": "tool_clear", "textContent": "Nova imatge"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Elements Clone"},\n
+{"id": "tool_delete", "title": "Eliminar element"},\n
+{"id": "tool_delete_multi", "title": "Elimina els elements seleccionats"},\n
+{"id": "tool_docprops", "textContent": "Propietats del document"},\n
+{"id": "tool_docprops_cancel", "textContent": "Cancel"},\n
+{"id": "tool_docprops_save", "textContent": "Salvar"},\n
+{"id": "tool_ellipse", "title": "Lipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Eina Llapis"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Rectangle"},\n
+{"id": "tool_font_size", "title": "Change Font Size"},\n
+{"id": "tool_group", "title": "Elements de Grup de"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Text en cursiva"},\n
+{"id": "tool_line", "title": "L&#39;eina"},\n
+{"id": "tool_move_bottom", "title": "Mou al final"},\n
+{"id": "tool_move_top", "title": "Mou al principi"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Canviar la opacitat tema seleccionat"},\n
+{"id": "tool_open", "textContent": "Obrir imatge"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rectangle"},\n
+{"id": "tool_redo", "title": "Refer"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Guardar imatge"},\n
+{"id": "tool_select", "title": "Eina de selecció"},\n
+{"id": "tool_source", "title": "Font Edita"},\n
+{"id": "tool_source_cancel", "textContent": "Cancel"},\n
+{"id": "tool_source_save", "textContent": "Salvar"},\n
+{"id": "tool_square", "title": "Quadrat"},\n
+{"id": "tool_text", "title": "Eina de text"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Desfés"},\n
+{"id": "tool_ungroup", "title": "Desagrupar elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Canviar el nivell de zoom"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9768</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.cs.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.cs.js.xml
new file mode 100644
index 0000000000..bcbb7ee0c4
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.cs.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003291.57</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.cs.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Zarovnat relativnÄ›"},\n
+{"id": "bkgnd_color", "title": "Změnit barvu a průhlednost pozadí"},\n
+{"id": "circle_cx", "title": "Změnit souřadnici X středu kružnice"},\n
+{"id": "circle_cy", "title": "Změnit souřadnici Y středu kružnice"},\n
+{"id": "circle_r", "title": "Změnit poloměr kružnice"},\n
+{"id": "connector_no_arrow", "textContent": "Bez Å¡ipky"},\n
+{"id": "copyrightLabel", "textContent": "Běží na"},\n
+{"id": "cornerRadiusLabel", "title": "Změnit zaoblení obdélníku"},\n
+{"id": "curve_segments", "textContent": "křivka"},\n
+{"id": "ellipse_cx", "title": "Změnit souřadnici X středu elipsy"},\n
+{"id": "ellipse_cy", "title": "Změnit souřadnici Y středu elipsy"},\n
+{"id": "ellipse_rx", "title": "Změnit poloměr X elipsy"},\n
+{"id": "ellipse_ry", "title": "Změnit poloměr Y elipsy"},\n
+{"id": "fill_color", "title": "Změnit barvu výplně"},\n
+{"id": "fitToContent", "textContent": "přizpůsobit obsahu"},\n
+{"id": "fit_to_all", "textContent": "Přizpůsobit veškerému obsahu"},\n
+{"id": "fit_to_canvas", "textContent": "Přizpůsobit stránce"},\n
+{"id": "fit_to_layer_content", "textContent": "Přizpůsobit obsahu vrstvy"},\n
+{"id": "fit_to_sel", "textContent": "Přizpůsobit výběru"},\n
+{"id": "font_family", "title": "Změnit font"},\n
+{"id": "icon_large", "textContent": "velké"},\n
+{"id": "icon_medium", "textContent": "střední"},\n
+{"id": "icon_small", "textContent": "malé"},\n
+{"id": "icon_xlarge", "textContent": "největší"},\n
+{"id": "idLabel", "title": "Změnit ID elementu"},\n
+{"id": "image_height", "title": "Změnit výšku dokumentu"},\n
+{"id": "image_opt_embed", "textContent": "Vkládat do dokumentu"},\n
+{"id": "image_opt_ref", "textContent": "Jen odkazem"},\n
+{"id": "image_url", "title": "Změnit adresu URL"},\n
+{"id": "image_width", "title": "Změnit šířku dokumentu"},\n
+{"id": "includedImages", "textContent": "Vložené obrázky"},\n
+{"id": "largest_object", "textContent": "největšímu objektu"},\n
+{"id": "layer_delete", "title": "Odstranit vrstvu"},\n
+{"id": "layer_down", "title": "Přesunout vrstvu níž"},\n
+{"id": "layer_new", "title": "Přidat vrstvu"},\n
+{"id": "layer_rename", "title": "Přejmenovat vrstvu"},\n
+{"id": "layer_up", "title": "Přesunout vrstvu výš"},\n
+{"id": "layersLabel", "textContent": "vrstvy:"},\n
+{"id": "line_x1", "title": "Změnit počáteční souřadnici X úsečky"},\n
+{"id": "line_x2", "title": "Změnit koncovou souřadnici X úsečky"},\n
+{"id": "line_y1", "title": "Změnit počáteční souřadnici Y úsečky"},\n
+{"id": "line_y2", "title": "Změnit koncovou souřadnici X úsečky"},\n
+{"id": "linecap_butt", "title": "Konec úsečky: přesný"},\n
+{"id": "linecap_round", "title": "Konec úsečky: zaoblený"},\n
+{"id": "linecap_square", "title": "Konec úsečky: s čtvercovým přesahem"},\n
+{"id": "linejoin_bevel", "title": "Styl napojení úseček: zkosené"},\n
+{"id": "linejoin_miter", "title": "Styl napojení úseček: ostré"},\n
+{"id": "linejoin_round", "title": "Styl napojení úseček: oblé"},\n
+{"id": "main_icon", "title": "Hlavní menu"},\n
+{"id": "mode_connect", "title": "Spojit dva objekty"},\n
+{"id": "page", "textContent": "stránce"},\n
+{"id": "palette", "title": "Kliknutím změníte barvu výplně, kliknutím současně s klávesou shift změníte barvu čáry"},\n
+{"id": "path_node_x", "title": "Změnit souřadnici X uzlu"},\n
+{"id": "path_node_y", "title": "Změnit souřadnici Y uzlu"},\n
+{"id": "rect_height_tool", "title": "Změnit výšku obdélníku"},\n
+{"id": "rect_width_tool", "title": "Změnit šířku obdélníku"},\n
+{"id": "relativeToLabel", "textContent": "relatativnÄ› k:"},\n
+{"id": "seg_type", "title": "Změnit typ segmentu"},\n
+{"id": "selLayerLabel", "textContent": "Přesunout objekty do:"},\n
+{"id": "selLayerNames", "title": "Přesunout objekty do jiné vrstvy"},\n
+{"id": "selectedPredefined", "textContent": "vybrat předdefinovaný:"},\n
+{"id": "selected_objects", "textContent": "zvoleným objektům"},\n
+{"id": "selected_x", "title": "Změnit souřadnici X"},\n
+{"id": "selected_y", "title": "Změnit souřadnici Y"},\n
+{"id": "smallest_object", "textContent": "nejmenšímu objektu"},\n
+{"id": "straight_segments", "textContent": "úsečka"},\n
+{"id": "stroke_color", "title": "Změnit barvu čáry"},\n
+{"id": "stroke_style", "title": "Změnit styl čáry"},\n
+{"id": "stroke_width", "title": "Změnit šířku čáry"},\n
+{"id": "svginfo_bg_note", "textContent": "Pozor: obrázek v pozadí nebude uložen jako součást dokumentu."},\n
+{"id": "svginfo_change_background", "textContent": "Obrázek v pozadí editoru"},\n
+{"id": "svginfo_dim", "textContent": "Vlastní velikost"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Nastavení editoru"},\n
+{"id": "svginfo_height", "textContent": "výška:"},\n
+{"id": "svginfo_icons", "textContent": "Velikost ikon"},\n
+{"id": "svginfo_image_props", "textContent": "Vlastnosti dokumentu"},\n
+{"id": "svginfo_lang", "textContent": "Jazyk"},\n
+{"id": "svginfo_title", "textContent": "Název"},\n
+{"id": "svginfo_width", "textContent": "šířka:"},\n
+{"id": "text", "title": "Změnit text"},\n
+{"id": "toggle_stroke_tools", "title": "Zobrazit/schovat více možností"},\n
+{"id": "tool_add_subpath", "title": "Přidat další součást křivky"},\n
+{"id": "tool_alignbottom", "title": "Zarovnat dolů"},\n
+{"id": "tool_aligncenter", "title": "Zarovnat nastřed"},\n
+{"id": "tool_alignleft", "title": "Zarovnat doleva"},\n
+{"id": "tool_alignmiddle", "title": "Zarovnat nastřed"},\n
+{"id": "tool_alignright", "title": "Zarovnat doprava"},\n
+{"id": "tool_aligntop", "title": "Zarovnat nahoru"},\n
+{"id": "tool_angle", "title": "Změnit úhel natočení"},\n
+{"id": "tool_blur", "title": "Změnit rozostření"},\n
+{"id": "tool_bold", "title": "Tučně"},\n
+{"id": "tool_circle", "title": "Kružnice"},\n
+{"id": "tool_clear", "textContent": "Nový dokument"},\n
+{"id": "tool_clone", "title": "Duplikovat"},\n
+{"id": "tool_clone_multi", "title": "Duplikovat objekty"},\n
+{"id": "tool_delete", "title": "Odstranit"},\n
+{"id": "tool_delete_multi", "title": "Odstranit objekty"},\n
+{"id": "tool_docprops", "textContent": "Vlastnosti dokumentu"},\n
+{"id": "tool_docprops_cancel", "textContent": "Storno"},\n
+{"id": "tool_docprops_save", "textContent": "Uložit"},\n
+{"id": "tool_ellipse", "title": "Elipsa"},\n
+{"id": "tool_export", "textContent": "Exportovat jako PNG"},\n
+{"id": "tool_eyedropper", "title": "Kapátko"},\n
+{"id": "tool_fhellipse", "title": "Elipsa volnou rukou"},\n
+{"id": "tool_fhpath", "title": "Kresba od ruky"},\n
+{"id": "tool_fhrect", "title": "Obdélník volnou rukou"},\n
+{"id": "tool_font_size", "title": "Změnit velikost písma"},\n
+{"id": "tool_group", "title": "Seskupit objekty"},\n
+{"id": "tool_image", "title": "Obrázek"},\n
+{"id": "tool_import", "textContent": "Importovat SVG"},\n
+{"id": "tool_italic", "title": "Kurzíva"},\n
+{"id": "tool_line", "title": "Úsečka"},\n
+{"id": "tool_move_bottom", "title": "Vrstvu úplně dospodu"},\n
+{"id": "tool_move_top", "title": "Vrstvu úplně nahoru"},\n
+{"id": "tool_node_clone", "title": "Vložit nový uzel"},\n
+{"id": "tool_node_delete", "title": "Ostranit uzel"},\n
+{"id": "tool_node_link", "title": "Provázat ovládací body uzlu"},\n
+{"id": "tool_opacity", "title": "Změnit průhlednost objektů"},\n
+{"id": "tool_open", "textContent": "Otevřít dokument"},\n
+{"id": "tool_openclose_path", "title": "Otevřít/zavřít součást křivky"},\n
+{"id": "tool_path", "title": "Křivka"},\n
+{"id": "tool_position", "title": "Zarovnat element na stránku"},\n
+{"id": "tool_rect", "title": "Obdélník"},\n
+{"id": "tool_redo", "title": "Znovu"},\n
+{"id": "tool_reorient", "title": "Změna orientace křivky"},\n
+{"id": "tool_save", "textContent": "Uložit dokument"},\n
+{"id": "tool_select", "title": "Výběr a transformace objektů"},\n
+{"id": "tool_source", "title": "Upravovat SVG kód"},\n
+{"id": "tool_source_cancel", "textContent": "Storno"},\n
+{"id": "tool_source_save", "textContent": "Uložit"},\n
+{"id": "tool_square", "title": "ÄŒtverec"},\n
+{"id": "tool_text", "title": "Text"},\n
+{"id": "tool_topath", "title": "Objekt na křivku"},\n
+{"id": "tool_undo", "title": "Zpět"},\n
+{"id": "tool_ungroup", "title": "Zrušit seskupení"},\n
+{"id": "tool_wireframe", "title": "Zobrazit jen kostru"},\n
+{"id": "tool_zoom", "title": "Přiblížení"},\n
+{"id": "url_notice", "title": "POZOR: Obrázek nelze uložit s dokumentem. Bude zobrazován z adresáře, kde se nyní nachází."},\n
+{"id": "zoom_panel", "title": "Změna přiblížení"},\n
+{"id": "sidepanel_handle", "textContent": "V r s t v y", "title": "Táhnutím změnit velikost"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "Chyba v parsování zdrojového kódu SVG.\\nChcete se vrátit k původnímu?", \n
+  "QignoreSourceChanges": "Opravdu chcete stornovat změny provedené v SVG kódu?", \n
+  "QmoveElemsToLayer": "Opravdu chcete přesunout vybrané objekty do vrstvy \'%s\'?", \n
+  "QwantToClear": "Opravdu chcete smazat současný dokument?\\nHistorie změn bude také smazána.", \n
+  "cancel": "Storno", \n
+  "defsFailOnSave": "POZOR: Kvůli nedokonalosti Vašeho prohlížeče se mohou některé části dokumentu špatně vykreslovat (mohou chybět barevné přechody nebo některé objekty). Po uložení dokumentu by se ale vše mělo zobrazovat správně.", \n
+  "dupeLayerName": "Taková vrstva už bohužel existuje", \n
+  "enterNewImgURL": "Vložte adresu URL, na které se nachází vkládaný obrázek", \n
+  "enterNewLayerName": "Zadejte prosím jméno pro novou vrstvu", \n
+  "enterUniqueLayerName": "Zadejte prosím jedinečné jméno pro vrstvu", \n
+  "exportNoBlur": "bez rozostření elementů", \n
+  "exportNoDashArray": "plné tahy", \n
+  "exportNoImage": "bez vložených obrázků", \n
+  "exportNoText": "vložený text může vypadat jinak", \n
+  "exportNoforeignObject": "bez foreignObject objektů", \n
+  "featNotSupported": "Tato vlastnost ještě není k dispozici", \n
+  "invalidAttrValGiven": "Nevhodná hodnota", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "šipka dolů", \n
+  "key_up": "Å¡ipka nahoru", \n
+  "layer": "Vrstva", \n
+  "layerHasThatName": "Vrstva už se tak jmenuje", \n
+  "loadingImage": "Nahrávám obrázek ...", \n
+  "noContentToFitTo": "Vyberte oblast pro přizpůsobení", \n
+  "noteTheseIssues": "Mohou se vyskytnout následující problémy: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Táhnutím ovládacího bodu myší tvarujete křivku.", \n
+  "pathNodeTooltip": "Táhnutím myši uzel přesunete. Dvojklik mění typ segmentu.", \n
+  "saveFromBrowser": "Použijte nabídku \\"Uložit stránku jako ...\\" ve Vašem prohlížeči pro uložení dokumentu do souboru %s."\n
+ }\n
+}\n
+]\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10461</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.cy.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.cy.js.xml
new file mode 100644
index 0000000000..d4aea7e471
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.cy.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003291.77</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.cy.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Alinio perthynas i ..."},\n
+{"id": "bkgnd_color", "title": "Newid lliw cefndir / Didreiddiad"},\n
+{"id": "circle_cx", "title": "CX Newid cylch yn cydlynu"},\n
+{"id": "circle_cy", "title": "Newid cylch&#39;s cy gydgysylltu"},\n
+{"id": "circle_r", "title": "Newid radiws cylch yn"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Newid Hirsgwâr Corner Radiws"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Newid Ellipse yn CX gydgysylltu"},\n
+{"id": "ellipse_cy", "title": "Newid Ellipse yn cydlynu cy"},\n
+{"id": "ellipse_rx", "title": "Radiws Newid Ellipse&#39;s x"},\n
+{"id": "ellipse_ry", "title": "Radiws Newid Ellipse yn y"},\n
+{"id": "fill_color", "title": "Newid lliw llenwi"},\n
+{"id": "fitToContent", "textContent": "Ffit i Cynnwys"},\n
+{"id": "fit_to_all", "textContent": "Yn addas i bawb content"},\n
+{"id": "fit_to_canvas", "textContent": "Ffit i ofyn"},\n
+{"id": "fit_to_layer_content", "textContent": "Ffit cynnwys haen i"},\n
+{"id": "fit_to_sel", "textContent": "Yn addas at ddewis"},\n
+{"id": "font_family", "title": "Newid Font Teulu"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Uchder delwedd Newid"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Newid URL"},\n
+{"id": "image_width", "title": "Lled delwedd Newid"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "gwrthrych mwyaf"},\n
+{"id": "layer_delete", "title": "Dileu Haen"},\n
+{"id": "layer_down", "title": "Symud Haen i Lawr"},\n
+{"id": "layer_new", "title": "Haen Newydd"},\n
+{"id": "layer_rename", "title": "Ail-enwi Haen"},\n
+{"id": "layer_up", "title": "Symud Haen Up"},\n
+{"id": "layersLable", "textContent": "Haen:"},\n
+{"id": "line_x1", "title": "Newid llinell yn cychwyn x gydgysylltu"},\n
+{"id": "line_x2", "title": "Newid llinell yn diweddu x gydgysylltu"},\n
+{"id": "line_y1", "title": "Newid llinell ar y cychwyn yn cydlynu"},\n
+{"id": "line_y2", "title": "Newid llinell yn dod i ben y gydgysylltu"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "tudalen"},\n
+{"id": "palette", "title": "Cliciwch yma i lenwi newid lliw, sifft-cliciwch i newid lliw strôc"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Uchder petryal Newid"},\n
+{"id": "rect_width_tool", "title": "Lled petryal Newid"},\n
+{"id": "relativeToLabel", "textContent": "cymharol i:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Rhagosodol Dewis:"},\n
+{"id": "selected_objects", "textContent": "gwrthrychau etholedig"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "lleiaf gwrthrych"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Newid lliw strôc"},\n
+{"id": "stroke_style", "title": "Newid arddull strôc diferyn"},\n
+{"id": "stroke_width", "title": "Lled strôc Newid"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Uchder:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Lled:"},\n
+{"id": "text", "title": "Cynnwys testun Newid"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Alinio Gwaelod"},\n
+{"id": "tool_aligncenter", "title": "Alinio Center"},\n
+{"id": "tool_alignleft", "title": "Alinio Chwith"},\n
+{"id": "tool_alignmiddle", "title": "Alinio Canol"},\n
+{"id": "tool_alignright", "title": "Alinio Hawl"},\n
+{"id": "tool_aligntop", "title": "Alinio Top"},\n
+{"id": "tool_angle", "title": "Ongl cylchdro Newid"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Testun Bras"},\n
+{"id": "tool_circle", "title": "Cylch"},\n
+{"id": "tool_clear", "textContent": "Newydd Delwedd"},\n
+{"id": "tool_clone", "title": "Clone Elfen"},\n
+{"id": "tool_clone_multi", "title": "Elfennau Clone "},\n
+{"id": "tool_delete", "title": "Dileu Elfen"},\n
+{"id": "tool_delete_multi", "title": "Elfennau Selected Dileu"},\n
+{"id": "tool_docprops", "textContent": "Document Eiddo"},\n
+{"id": "tool_docprops_cancel", "textContent": "Canslo"},\n
+{"id": "tool_docprops_save", "textContent": "Cadw"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Rhad ac am ddim Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Teclyn pensil"},\n
+{"id": "tool_fhrect", "title": "Hand rhad ac am ddim Hirsgwâr"},\n
+{"id": "tool_font_size", "title": "Newid Maint Ffont"},\n
+{"id": "tool_group", "title": "Elfennau Grŵp"},\n
+{"id": "tool_image", "title": "Offer Delwedd"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italig Testun"},\n
+{"id": "tool_line", "title": "Llinell Offer"},\n
+{"id": "tool_move_bottom", "title": "Symud i&#39;r Gwaelod"},\n
+{"id": "tool_move_top", "title": "Symud i&#39;r Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Newid dewis Didreiddiad eitem"},\n
+{"id": "tool_open", "textContent": "Delwedd Agored"},\n
+{"id": "tool_path", "title": "Offer poly"},\n
+{"id": "tool_rect", "title": "Petryal"},\n
+{"id": "tool_redo", "title": "Ail-wneud"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Cadw Delwedd"},\n
+{"id": "tool_select", "title": "Dewiswch Offer"},\n
+{"id": "tool_source", "title": "Golygu Ffynhonnell"},\n
+{"id": "tool_source_cancel", "textContent": "Canslo"},\n
+{"id": "tool_source_save", "textContent": "Cadw"},\n
+{"id": "tool_square", "title": "Sgwâr"},\n
+{"id": "tool_text", "title": "Testun Offer"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Dadwneud"},\n
+{"id": "tool_ungroup", "title": "Elfennau Ungroup"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Offer Chwyddo"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Newid lefel chwyddo"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9567</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.da.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.da.js.xml
new file mode 100644
index 0000000000..12c5cfd2cf
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.da.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003291.98</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.da.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Juster i forhold til ..."},\n
+{"id": "bkgnd_color", "title": "Skift baggrundsfarve / uigennemsigtighed"},\n
+{"id": "circle_cx", "title": "Skift cirklens cx koordinere"},\n
+{"id": "circle_cy", "title": "Skift cirklens cy koordinere"},\n
+{"id": "circle_r", "title": "Skift cirklens radius"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Skift Rektangel Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Skift ellipse&#39;s cx koordinere"},\n
+{"id": "ellipse_cy", "title": "Skift ellipse&#39;s cy koordinere"},\n
+{"id": "ellipse_rx", "title": "Skift ellipse&#39;s x radius"},\n
+{"id": "ellipse_ry", "title": "Skift ellipse&#39;s y radius"},\n
+{"id": "fill_color", "title": "Skift fyldfarve"},\n
+{"id": "fitToContent", "textContent": "Tilpas til indhold"},\n
+{"id": "fit_to_all", "textContent": "Passer til alt indhold"},\n
+{"id": "fit_to_canvas", "textContent": "Tilpas til lærred"},\n
+{"id": "fit_to_layer_content", "textContent": "Tilpas til lag indhold"},\n
+{"id": "fit_to_sel", "textContent": "Tilpas til udvælgelse"},\n
+{"id": "font_family", "title": "Skift Font Family"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Skift billede højde"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Skift webadresse"},\n
+{"id": "image_width", "title": "Skift billede bredde"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "største objekt"},\n
+{"id": "layer_delete", "title": "Slet Layer"},\n
+{"id": "layer_down", "title": "Flyt lag ned"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Omdøb Layer"},\n
+{"id": "layer_up", "title": "Flyt Layer Up"},\n
+{"id": "layersLable", "textContent": "Lag:"},\n
+{"id": "line_x1", "title": "Skift linie&#39;s start x-koordinat"},\n
+{"id": "line_x2", "title": "Skift Line&#39;s slutter x-koordinat"},\n
+{"id": "line_y1", "title": "Skift linjens start y-koordinat"},\n
+{"id": "line_y2", "title": "Skift Line&#39;s slutter y-koordinat"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "side"},\n
+{"id": "palette", "title": "Klik for at ændre fyldfarve, shift-klik for at ændre stregfarve"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Skift rektangel højde"},\n
+{"id": "rect_width_tool", "title": "Skift rektanglets bredde"},\n
+{"id": "relativeToLabel", "textContent": "i forhold til:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Vælg foruddefinerede:"},\n
+{"id": "selected_objects", "textContent": "valgte objekter"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "mindste objekt"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Skift stregfarve"},\n
+{"id": "stroke_style", "title": "Skift slagtilfælde Dash stil"},\n
+{"id": "stroke_width", "title": "Skift slagtilfælde bredde"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Højde:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Bredde:"},\n
+{"id": "text", "title": "Skift tekst indhold"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Juster Bottom"},\n
+{"id": "tool_aligncenter", "title": "Centrer"},\n
+{"id": "tool_alignleft", "title": "Venstrejusteret"},\n
+{"id": "tool_alignmiddle", "title": "Juster Mellemøsten"},\n
+{"id": "tool_alignright", "title": "Højrejusteret"},\n
+{"id": "tool_aligntop", "title": "Juster Top"},\n
+{"id": "tool_angle", "title": "Skift rotationsvinkel"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Fed tekst"},\n
+{"id": "tool_circle", "title": "Cirkel"},\n
+{"id": "tool_clear", "textContent": "Nyt billede"},\n
+{"id": "tool_clone", "title": "Klon Element"},\n
+{"id": "tool_clone_multi", "title": "Klon Elements"},\n
+{"id": "tool_delete", "title": "Slet Element"},\n
+{"id": "tool_delete_multi", "title": "Slet markerede elementer"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Annuller"},\n
+{"id": "tool_docprops_save", "textContent": "Gemme"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Rektangel"},\n
+{"id": "tool_font_size", "title": "Skift skriftstørrelse"},\n
+{"id": "tool_group", "title": "Gruppe Elements"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Text"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Flyt til bund"},\n
+{"id": "tool_move_top", "title": "Flyt til toppen"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Skift valgte element opacitet"},\n
+{"id": "tool_open", "textContent": "Open Image"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rektangel"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Gem billede"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "Edit Source"},\n
+{"id": "tool_source_cancel", "textContent": "Annuller"},\n
+{"id": "tool_source_save", "textContent": "Gemme"},\n
+{"id": "tool_square", "title": "Firkant"},\n
+{"id": "tool_text", "title": "Tekstværktøj"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Fortryd"},\n
+{"id": "tool_ungroup", "title": "Opdel Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Skift zoomniveau"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9553</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.de.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.de.js.xml
new file mode 100644
index 0000000000..6f4b92aaad
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.de.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003292.18</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.de.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Relativ zu einem anderem Objekt ausrichten ..."},\n
+{"id": "bkgnd_color", "title": "Hintergrundfarbe ändern / Opazität"},\n
+{"id": "circle_cx", "title": "Kreiszentrum (cx) ändern"},\n
+{"id": "circle_cy", "title": "Kreiszentrum (cy) ändern"},\n
+{"id": "circle_r", "title": "Kreisradius (r) ändern"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Eckenradius des Rechtecks ändern"},\n
+{"id": "curve_segments", "textContent": "Kurve"},\n
+{"id": "ellipse_cx", "title": "Ellipsenzentrum (cx) ändern"},\n
+{"id": "ellipse_cy", "title": "Ellipsenzentrum (cy) ändern"},\n
+{"id": "ellipse_rx", "title": "Ellipsenradius (x) ändern"},\n
+{"id": "ellipse_ry", "title": "Ellipsenradius (y) ändern"},\n
+{"id": "fill_color", "title": "Füllfarbe ändern"},\n
+{"id": "fitToContent", "textContent": "An den Inhalt anpassen"},\n
+{"id": "fit_to_all", "textContent": "An gesamten Inhalt anpassen"},\n
+{"id": "fit_to_canvas", "textContent": "An die Zeichenfläche anpassen"},\n
+{"id": "fit_to_layer_content", "textContent": "An Inhalt der Ebene anpassen"},\n
+{"id": "fit_to_sel", "textContent": "An die Auswahl anpassen"},\n
+{"id": "font_family", "title": "Schriftart wählen"},\n
+{"id": "icon_large", "textContent": "Groß"},\n
+{"id": "icon_medium", "textContent": "Mittel"},\n
+{"id": "icon_small", "textContent": "Klein"},\n
+{"id": "icon_xlarge", "textContent": "Sehr Groß"},\n
+{"id": "image_height", "title": "Bildhöhe ändern"},\n
+{"id": "image_opt_embed", "textContent": "Daten einbetten (lokale Dateien)"},\n
+{"id": "image_opt_ref", "textContent": "Benutze die Datei Referenz"},\n
+{"id": "image_url", "title": "URL ändern"},\n
+{"id": "image_width", "title": "Bildbreite ändern"},\n
+{"id": "includedImages", "textContent": "Eingefügte Bilder"},\n
+{"id": "largest_object", "textContent": "größtes Objekt"},\n
+{"id": "layer_delete", "title": "Ebene löschen"},\n
+{"id": "layer_down", "title": "Ebene nach unten verschieben"},\n
+{"id": "layer_new", "title": "Neue Ebene"},\n
+{"id": "layer_rename", "title": "Ebene umbenennen"},\n
+{"id": "layer_up", "title": "Ebene nach oben verschieben"},\n
+{"id": "layersLabel", "textContent": "Ebenen:"},\n
+{"id": "line_x1", "title": "X-Koordinate des Linienanfangs ändern"},\n
+{"id": "line_x2", "title": "X-Koordinate des Linienendes ändern"},\n
+{"id": "line_y1", "title": "Y-Koordinate des Linienanfangs ändern"},\n
+{"id": "line_y2", "title": "Y-Koordinate des Linienendes ändern"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "Seite"},\n
+{"id": "palette", "title": "Klick zum Ändern der Füllfarbe, Shift-Klick zum Ändern der Linienfarbe"},\n
+{"id": "path_node_x", "title": "Ändere die X Koordinate des Knoten"},\n
+{"id": "path_node_y", "title": "Ändere die Y Koordinate des Knoten"},\n
+{"id": "rect_height_tool", "title": "Höhe des Rechtecks ändern"},\n
+{"id": "rect_width_tool", "title": "Breite des Rechtecks ändern"},\n
+{"id": "relativeToLabel", "textContent": "im Vergleich zu:"},\n
+{"id": "seg_type", "title": "Ändere den Typ des Segments"},\n
+{"id": "selLayerLabel", "textContent": "Verschiebe ausgewählte Objekte:"},\n
+{"id": "selLayerNames", "title": "Verschiebe ausgewählte Objekte auf eine andere Ebene"},\n
+{"id": "selectedPredefined", "textContent": "Auswahl einer vordefinierten:"},\n
+{"id": "selected_objects", "textContent": "gewählte Objekte"},\n
+{"id": "selected_x", "title": "Ändere die X Koordinate"},\n
+{"id": "selected_y", "title": "Ändere die Y Koordinate"},\n
+{"id": "smallest_object", "textContent": "kleinstes Objekt"},\n
+{"id": "straight_segments", "textContent": "Gerade"},\n
+{"id": "stroke_color", "title": "Linienfarbe ändern"},\n
+{"id": "stroke_style", "title": "Linienstil ändern"},\n
+{"id": "stroke_width", "title": "Linienbreite ändern"},\n
+{"id": "svginfo_bg_note", "textContent": "Anmerkung: Der Hintergrund wird mit der Speicherung des Bildes nicht gespeichert."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Hintergrund"},\n
+{"id": "svginfo_dim", "textContent": "Dimension der Zeichenfläche"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Einstellungen"},\n
+{"id": "svginfo_height", "textContent": "Höhe:"},\n
+{"id": "svginfo_icons", "textContent": "Symbol Abmessungen"},\n
+{"id": "svginfo_image_props", "textContent": "Bildeigenschaften"},\n
+{"id": "svginfo_lang", "textContent": "Sprache"},\n
+{"id": "svginfo_title", "textContent": "Titel"},\n
+{"id": "svginfo_width", "textContent": "Breite:"},\n
+{"id": "text", "title": "Textinhalt erstellen und bearbeiten"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Unten ausrichten"},\n
+{"id": "tool_aligncenter", "title": "Zentriert ausrichten"},\n
+{"id": "tool_alignleft", "title": "Linksbündig ausrichten"},\n
+{"id": "tool_alignmiddle", "title": "In der Mitte ausrichten"},\n
+{"id": "tool_alignright", "title": "Rechtsbündig ausrichten"},\n
+{"id": "tool_aligntop", "title": "Oben ausrichten"},\n
+{"id": "tool_angle", "title": "Drehwinkel ändern"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Fetter Text"},\n
+{"id": "tool_circle", "title": "Kreis"},\n
+{"id": "tool_clear", "textContent": "Neues Bild"},\n
+{"id": "tool_clone", "title": "Objekt klonen"},\n
+{"id": "tool_clone_multi", "title": "Ausgewählte Objekte klonen"},\n
+{"id": "tool_delete", "title": "Objekt löschen"},\n
+{"id": "tool_delete_multi", "title": "Ausgewählte Objekte löschen"},\n
+{"id": "tool_docprops", "textContent": "Dokument-Eigenschaften"},\n
+{"id": "tool_docprops_cancel", "textContent": "Abbrechen"},\n
+{"id": "tool_docprops_save", "textContent": "OK"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Freihand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Freihandlinien zeichnen"},\n
+{"id": "tool_fhrect", "title": "Freihand Rechteck"},\n
+{"id": "tool_font_size", "title": "Schriftgröße einstellen"},\n
+{"id": "tool_group", "title": "Gruppieren"},\n
+{"id": "tool_image", "title": "Bild einfügen"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Kursiver Text"},\n
+{"id": "tool_line", "title": "Linien zeichnen"},\n
+{"id": "tool_move_bottom", "title": "Die gewählten Objekte nach ganz unten schieben"},\n
+{"id": "tool_move_top", "title": "Die gewählten Objekte nach ganz oben anheben"},\n
+{"id": "tool_node_clone", "title": "Klone den Knoten"},\n
+{"id": "tool_node_delete", "title": "Lösche den Knoten"},\n
+{"id": "tool_node_link", "title": "Gekoppelte oder separate Kontroll Punkte für die Bearbeitung des Pfades"},\n
+{"id": "tool_opacity", "title": "Opazität des ausgewählten Objekts ändern"},\n
+{"id": "tool_open", "textContent": "Bild öffnen"},\n
+{"id": "tool_path", "title": "Pfad zeichnen"},\n
+{"id": "tool_rect", "title": "Rechteck"},\n
+{"id": "tool_redo", "title": "Wiederherstellen"},\n
+{"id": "tool_reorient", "title": "Neuausrichtung des Pfades"},\n
+{"id": "tool_save", "textContent": "Bild speichern"},\n
+{"id": "tool_select", "title": "Objekte auswählen und verändern"},\n
+{"id": "tool_source", "title": "Quellecode bearbeiten"},\n
+{"id": "tool_source_cancel", "textContent": "Abbrechen"},\n
+{"id": "tool_source_save", "textContent": "Änderungen akzeptieren"},\n
+{"id": "tool_square", "title": "Quadrat"},\n
+{"id": "tool_text", "title": "Text erstellen und bearbeiten"},\n
+{"id": "tool_topath", "title": "Gewähltes Objekt in einen Pfad konvertieren"},\n
+{"id": "tool_undo", "title": "Rückgängig"},\n
+{"id": "tool_ungroup", "title": "Gruppierung aufheben"},\n
+{"id": "tool_wireframe", "title": "Drahtmodell Modus"},\n
+{"id": "tool_zoom", "title": "Zoomfaktor vergrößern oder verringern"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "vergrößern"},\n
+{"id": "sidepanel_handle", "textContent": "E b e n e n", "title": "Ziehe links/rechts um die Seitenleiste anzupassen"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "Die Syntaxanalyse Ihrer SVG Quelle enthält Fehler.\\nOriginal SVG wiederherstellen?", \n
+  "QignoreSourceChanges": "Soll die Änderung am SVG Quelltext ignoriert werden?", \n
+  "QmoveElemsToLayer": "Verschiebe ausgewählte Objekte in die Ebene \'%s\'?", \n
+  "QwantToClear": "Möchten Sie die Zeichnung löschen?\\nDadurch wird auch die Rückgängig Funktion zurückgesetzt!", \n
+  "cancel": "Abbrechen", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "Eine Ebene hat bereits diesen Namen!", \n
+  "enterNewImgURL": "Geben Sie die URL für das neue Bild an", \n
+  "enterNewLayerName": "Geben Sie bitte einen neuen Namen für die Ebene ein", \n
+  "enterUniqueLayerName": "Verwenden Sie einen eindeutigen Namen für die Ebene", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Diese Eigenschaft wird nicht unterstützt", \n
+  "invalidAttrValGiven": "Fehlerhafter Wert", \n
+  "key_backspace": "Rücktaste", \n
+  "key_del": "Löschen", \n
+  "key_down": "nach unten", \n
+  "key_up": "nach oben", \n
+  "layer": "Ebene", \n
+  "layerHasThatName": "Eine Ebene hat bereits diesen Namen", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "Kein Inhalt anzupassen", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Ziehe den Kontroll Punkt um die Kurven Eigenschaften anzupassen", \n
+  "pathNodeTooltip": "Ziehe den Knoten zum Verschieben. Doppel Klick um den Segment Typ anzupassen", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10399</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.el.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.el.js.xml
new file mode 100644
index 0000000000..a28849cafb
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.el.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003292.38</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.el.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Στοίχιση σε σχέση με ..."},\n
+{"id": "bkgnd_color", "title": "Αλλαγή χρώματος φόντου / αδιαφάνεια"},\n
+{"id": "circle_cx", "title": "Cx Αλλαγή κύκλου συντονίζουν"},\n
+{"id": "circle_cy", "title": "Αλλαγή κύκλου cy συντονίζουν"},\n
+{"id": "circle_r", "title": "Αλλαγή ακτίνα κύκλου"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Αλλαγή ορθογώνιο Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Αλλαγή ellipse του CX συντονίζουν"},\n
+{"id": "ellipse_cy", "title": "Αλλαγή ellipse του cy συντονίζουν"},\n
+{"id": "ellipse_rx", "title": "X ακτίνα Αλλαγή ellipse του"},\n
+{"id": "ellipse_ry", "title": "Y ακτίνα Αλλαγή ellipse του"},\n
+{"id": "fill_color", "title": "Αλλαγή συμπληρώστε χρώμα"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Ταιριάζει σε όλο το περιεχόμενο"},\n
+{"id": "fit_to_canvas", "textContent": "Προσαρμογή στο μουσαμά"},\n
+{"id": "fit_to_layer_content", "textContent": "Προσαρμογή στο περιεχόμενο στρώμα"},\n
+{"id": "fit_to_sel", "textContent": "Fit to επιλογή"},\n
+{"id": "font_family", "title": "Αλλαγή γραμματοσειράς Οικογένεια"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Αλλαγή ύψος εικόνας"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Αλλαγή URL"},\n
+{"id": "image_width", "title": "Αλλαγή πλάτος εικόνας"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "μεγαλύτερο αντικείμενο"},\n
+{"id": "layer_delete", "title": "Διαγραφήστρώματος"},\n
+{"id": "layer_down", "title": "Μετακίνηση Layer Down"},\n
+{"id": "layer_new", "title": "Νέο Layer"},\n
+{"id": "layer_rename", "title": "Μετονομασία Layer"},\n
+{"id": "layer_up", "title": "Μετακίνηση Layer Up"},\n
+{"id": "layersLable", "textContent": "Στρώματα:"},\n
+{"id": "line_x1", "title": "Αλλαγή γραμμής εκκίνησης x συντονίζουν"},\n
+{"id": "line_x2", "title": "Αλλαγή γραμμής λήγει x συντονίζουν"},\n
+{"id": "line_y1", "title": "Αλλαγή γραμμής εκκίνησης y συντονίζουν"},\n
+{"id": "line_y2", "title": "Αλλαγή γραμμής λήγει y συντονίζουν"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "σελίδα"},\n
+{"id": "palette", "title": "Κάντε κλικ για να συμπληρώσετε την αλλαγή χρώματος, στροφή κλικ για να αλλάξετε το χρώμα εγκεφαλικό"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Αλλαγή ύψος ορθογωνίου"},\n
+{"id": "rect_width_tool", "title": "Αλλαγή πλάτους ορθογώνιο"},\n
+{"id": "relativeToLabel", "textContent": "σε σχέση με:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Επιλογή προκαθορισμένων:"},\n
+{"id": "selected_objects", "textContent": "εκλέγεται αντικείμενα"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "μικρότερο αντικείμενο"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Αλλαγή χρώματος εγκεφαλικό"},\n
+{"id": "stroke_style", "title": "Αλλαγή στυλ παύλα εγκεφαλικό"},\n
+{"id": "stroke_width", "title": "Αλλαγή πλάτος γραμμής"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Ύψος:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Πλάτος:"},\n
+{"id": "text", "title": "Αλλαγή περιεχόμενο κειμένου"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Στοίχισηκάτω"},\n
+{"id": "tool_aligncenter", "title": "Στοίχισηστοκέντρο"},\n
+{"id": "tool_alignleft", "title": "Στοίχισηαριστερά"},\n
+{"id": "tool_alignmiddle", "title": "Ευθυγράμμιση Μέση"},\n
+{"id": "tool_alignright", "title": "Στοίχισηδεξιά"},\n
+{"id": "tool_aligntop", "title": "Στοίχισηπάνω"},\n
+{"id": "tool_angle", "title": "Αλλαγή γωνία περιστροφής"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Κύκλος"},\n
+{"id": "tool_clear", "textContent": "Νέα εικόνα"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Στοιχεία"},\n
+{"id": "tool_delete", "title": "Διαγραφή Στοιχείων [Delete/Backspace]"},\n
+{"id": "tool_delete_multi", "title": "Διαγραφή επιλεγμένων στοιχείων"},\n
+{"id": "tool_docprops", "textContent": "Ιδιότητες εγγράφου"},\n
+{"id": "tool_docprops_cancel", "textContent": "Άκυρο"},\n
+{"id": "tool_docprops_save", "textContent": "Αποθηκεύω"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Δωρεάν-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Εργαλείομολυβιού"},\n
+{"id": "tool_fhrect", "title": "Δωρεάν-Hand ορθογώνιο"},\n
+{"id": "tool_font_size", "title": "Αλλαγή μεγέθους γραμματοσειράς"},\n
+{"id": "tool_group", "title": "Ομάδα Στοιχεία"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Πλάγιους"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Μετακίνηση προς τα κάτω"},\n
+{"id": "tool_move_top", "title": "Μετακίνηση στην αρχή"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Αλλαγή αδιαφάνεια επιλεγμένο σημείο"},\n
+{"id": "tool_open", "textContent": "Άνοιγμα εικόνας"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Ορθογώνιο"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Αποθήκευση εικόνας"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "Επεξεργασία Πηγή"},\n
+{"id": "tool_source_cancel", "textContent": "Άκυρο"},\n
+{"id": "tool_source_save", "textContent": "Αποθηκεύω"},\n
+{"id": "tool_square", "title": "Τετράγωνο"},\n
+{"id": "tool_text", "title": "Κείμενο Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Αναίρεση"},\n
+{"id": "tool_ungroup", "title": "Κατάργηση ομαδοποίησης Στοιχεία"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Αλλαγή επίπεδο μεγέθυνσης"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>11194</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.en.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.en.js.xml
new file mode 100644
index 0000000000..c1bb94aa68
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.en.js.xml
@@ -0,0 +1,215 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003292.6</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.en.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Align relative to ..."},\n
+{"id": "bkgnd_color", "title": "Change background color/opacity"},\n
+{"id": "circle_cx", "title": "Change circle\'s cx coordinate"},\n
+{"id": "circle_cy", "title": "Change circle\'s cy coordinate"},\n
+{"id": "circle_r", "title": "Change circle\'s radius"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Change Rectangle Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Change ellipse\'s cx coordinate"},\n
+{"id": "ellipse_cy", "title": "Change ellipse\'s cy coordinate"},\n
+{"id": "ellipse_rx", "title": "Change ellipse\'s x radius"},\n
+{"id": "ellipse_ry", "title": "Change ellipse\'s y radius"},\n
+{"id": "fill_color", "title": "Change fill color"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Fit to all content"},\n
+{"id": "fit_to_canvas", "textContent": "Fit to canvas"},\n
+{"id": "fit_to_layer_content", "textContent": "Fit to layer content"},\n
+{"id": "fit_to_sel", "textContent": "Fit to selection"},\n
+{"id": "font_family", "title": "Change Font Family"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "idLabel", "title": "Identify the element"},\n
+{"id": "image_height", "title": "Change image height"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Change URL"},\n
+{"id": "image_width", "title": "Change image width"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "largest object"},\n
+{"id": "layer_delete", "title": "Delete Layer"},\n
+{"id": "layer_down", "title": "Move Layer Down"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Move Layer Up"},\n
+{"id": "layersLabel", "textContent": "Layers:"},\n
+{"id": "line_x1", "title": "Change line\'s starting x coordinate"},\n
+{"id": "line_x2", "title": "Change line\'s ending x coordinate"},\n
+{"id": "line_y1", "title": "Change line\'s starting y coordinate"},\n
+{"id": "line_y2", "title": "Change line\'s ending y coordinate"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "page"},\n
+{"id": "palette", "title": "Click to change fill color, shift-click to change stroke color"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Change rectangle height"},\n
+{"id": "rect_width_tool", "title": "Change rectangle width"},\n
+{"id": "relativeToLabel", "textContent": "relative to:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Select predefined:"},\n
+{"id": "selected_objects", "textContent": "selected objects"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "smallest object"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Change stroke color"},\n
+{"id": "stroke_style", "title": "Change stroke dash style"},\n
+{"id": "stroke_width", "title": "Change stroke width by 1, shift-click to change by 0.1"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Height:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Width:"},\n
+{"id": "text", "title": "Change text contents"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Align Center"},\n
+{"id": "tool_alignleft", "title": "Align Left"},\n
+{"id": "tool_alignmiddle", "title": "Align Middle"},\n
+{"id": "tool_alignright", "title": "Align Right"},\n
+{"id": "tool_aligntop", "title": "Align Top"},\n
+{"id": "tool_angle", "title": "Change rotation angle"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elements"},\n
+{"id": "tool_delete", "title": "Delete Element"},\n
+{"id": "tool_delete_multi", "title": "Delete Selected Elements"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Cancel"},\n
+{"id": "tool_docprops_save", "textContent": "OK"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Rectangle"},\n
+{"id": "tool_font_size", "title": "Change Font Size"},\n
+{"id": "tool_group", "title": "Group Elements"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Text"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Move to Bottom"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Change selected item opacity"},\n
+{"id": "tool_open", "textContent": "Open Image"},\n
+{"id": "tool_openclose_path", "title": "Open/close sub-path"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_position", "title": "Align Element to Page"},\n
+{"id": "tool_rect", "title": "Rectangle"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Save Image"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "Edit Source"},\n
+{"id": "tool_source_cancel", "textContent": "Cancel"},\n
+{"id": "tool_source_save", "textContent": "Apply Changes"},\n
+{"id": "tool_square", "title": "Square"},\n
+{"id": "tool_text", "title": "Text Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Undo"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Change zoom level"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9676</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.es.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.es.js.xml
new file mode 100644
index 0000000000..7bf6cd327c
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.es.js.xml
@@ -0,0 +1,214 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003292.8</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.es.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Alinear con respecto a ..."},\n
+{"id": "bkgnd_color", "title": "Cambiar color de fondo / opacidad"},\n
+{"id": "circle_cx", "title": "Cambiar la posición horizonral CX del círculo"},\n
+{"id": "circle_cy", "title": "Cambiar la posición vertical CY del círculo"},\n
+{"id": "circle_r", "title": "Cambiar el radio del círculo"},\n
+{"id": "connector_no_arrow", "textContent": "Sin flecha"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Cambiar el radio de las esquinas del rectángulo"},\n
+{"id": "curve_segments", "textContent": "Curva"},\n
+{"id": "ellipse_cx", "title": "Cambiar la posición horizontal CX de la elipse"},\n
+{"id": "ellipse_cy", "title": "Cambiar la posición vertical CY de la elipse"},\n
+{"id": "ellipse_rx", "title": "Cambiar el radio horizontal X de la elipse"},\n
+{"id": "ellipse_ry", "title": "Cambiar el radio vertical Y de la elipse"},\n
+{"id": "fill_color", "title": "Cambiar el color de relleno"},\n
+{"id": "fitToContent", "textContent": "Ajustar al contenido"},\n
+{"id": "fit_to_all", "textContent": "Ajustar a todo el contenido"},\n
+{"id": "fit_to_canvas", "textContent": "Ajustar al lienzo"},\n
+{"id": "fit_to_layer_content", "textContent": "Ajustar al contenido de la capa"},\n
+{"id": "fit_to_sel", "textContent": "Ajustar a la selección"},\n
+{"id": "font_family", "title": "Tipo de fuente"},\n
+{"id": "icon_large", "textContent": "Grande"},\n
+{"id": "icon_medium", "textContent": "Mediano"},\n
+{"id": "icon_small", "textContent": "Pequeño"},\n
+{"id": "icon_xlarge", "textContent": "Muy grande"},\n
+{"id": "image_height", "title": "Cambiar la altura de la imagen"},\n
+{"id": "image_opt_embed", "textContent": "Integrar imágenes en forma de datos (archivos locales)"},\n
+{"id": "image_opt_ref", "textContent": "Usar la referencia del archivo"},\n
+{"id": "image_url", "title": "Modificar URL"},\n
+{"id": "image_width", "title": "Cambiar el ancho de la imagen"},\n
+{"id": "includedImages", "textContent": "Imágenes integradas"},\n
+{"id": "largest_object", "textContent": "El objeto más grande"},\n
+{"id": "layer_delete", "title": "Suprimir capa"},\n
+{"id": "layer_down", "title": "Mover la capa hacia abajo"},\n
+{"id": "layer_new", "title": "Nueva capa"},\n
+{"id": "layer_rename", "title": "Renombrar capa"},\n
+{"id": "layer_up", "title": "Mover la capa hacia arriba"},\n
+{"id": "layersLabel", "textContent": "Capas:"},\n
+{"id": "line_x1", "title": "Cambiar la posición horizontal X del comienzo de la línea"},\n
+{"id": "line_x2", "title": "Cambiar la posición horizontal X del final de la línea"},\n
+{"id": "line_y1", "title": "Cambiar la posición vertical Y del comienzo de la línea"},\n
+{"id": "line_y2", "title": "Cambiar la posición vertical Y del final de la línea"},\n
+{"id": "linecap_butt", "title": "Final de la línea: en el nodo"},\n
+{"id": "linecap_round", "title": "Final de la línea: redondeada"},\n
+{"id": "linecap_square", "title": "Final de la línea: cuadrada"},\n
+{"id": "linejoin_bevel", "title": "Unión: biselada"},\n
+{"id": "linejoin_miter", "title": "Unión: recta"},\n
+{"id": "linejoin_round", "title": "Unión: redondeada"},\n
+{"id": "main_icon", "title": "Menú principal"},\n
+{"id": "mode_connect", "title": "Conectar dos objetos"},\n
+{"id": "page", "textContent": "Página"},\n
+{"id": "palette", "title": "Haga clic para cambiar el color de relleno. Pulse Mayús y haga clic para cambiar el color del contorno."},\n
+{"id": "path_node_x", "title": "Cambiar la posición horizontal X del nodo"},\n
+{"id": "path_node_y", "title": "Cambiar la posición vertical Y del nodo"},\n
+{"id": "rect_height_tool", "title": "Cambiar la altura del rectángulo"},\n
+{"id": "rect_width_tool", "title": "Cambiar el ancho rectángulo"},\n
+{"id": "relativeToLabel", "textContent": "en relación con:"},\n
+{"id": "seg_type", "title": "Cambiar el tipo de segmento"},\n
+{"id": "selLayerLabel", "textContent": "Desplazar objetos a:"},\n
+{"id": "selLayerNames", "title": "Mover los objetos seleccionados a otra capa"},\n
+{"id": "selectedPredefined", "textContent": "Seleccionar predefinido:"},\n
+{"id": "selected_objects", "textContent": "Objetos seleccionados"},\n
+{"id": "selected_x", "title": "Cambiar la posición horizontal X"},\n
+{"id": "selected_y", "title": "Cambiar la posición vertical Y"},\n
+{"id": "smallest_object", "textContent": "El objeto más pequeño"},\n
+{"id": "straight_segments", "textContent": "Recta"},\n
+{"id": "stroke_color", "title": "Cambiar el color del contorno"},\n
+{"id": "stroke_style", "title": "Cambiar el estilo del trazo del contorno"},\n
+{"id": "stroke_width", "title": "Cambiar el grosor del contorno"},\n
+{"id": "svginfo_bg_note", "textContent": "Nota: El fondo no se guardará junto con la imagen."},\n
+{"id": "svginfo_change_background", "textContent": "Fondo del editor"},\n
+{"id": "svginfo_dim", "textContent": "Tamaño del lienzo"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Preferencias del Editor"},\n
+{"id": "svginfo_height", "textContent": "Alto:"},\n
+{"id": "svginfo_icons", "textContent": "Tamaño de los iconos"},\n
+{"id": "svginfo_image_props", "textContent": "Propiedades de la Imagen"},\n
+{"id": "svginfo_lang", "textContent": "Idioma"},\n
+{"id": "svginfo_title", "textContent": "Título"},\n
+{"id": "svginfo_width", "textContent": "Ancho:"},\n
+{"id": "text", "title": "Modificar el texto"},\n
+{"id": "toggle_stroke_tools", "title": "Mostrar/ocultar herramientas de trazo adicionales"},\n
+{"id": "tool_add_subpath", "title": "Añadir subtrazado"},\n
+{"id": "tool_alignbottom", "title": "Alinear parte inferior"},\n
+{"id": "tool_aligncenter", "title": "Centrar verticalmente"},\n
+{"id": "tool_alignleft", "title": "Alinear lado izquierdo"},\n
+{"id": "tool_alignmiddle", "title": "Centrar horizontalmente"},\n
+{"id": "tool_alignright", "title": "Alinear lado derecho"},\n
+{"id": "tool_aligntop", "title": "Alinear parte superior"},\n
+{"id": "tool_angle", "title": "Cambiar ángulo de rotación"},\n
+{"id": "tool_blur", "title": "Ajustar desenfoque gausiano"},\n
+{"id": "tool_bold", "title": "Texto en negrita"},\n
+{"id": "tool_circle", "title": "Círculo"},\n
+{"id": "tool_clear", "textContent": "Nueva imagen"},\n
+{"id": "tool_clone", "title": "Clonar objeto"},\n
+{"id": "tool_clone_multi", "title": " Clonar objetos"},\n
+{"id": "tool_delete", "title": "Suprimir objeto"},\n
+{"id": "tool_delete_multi", "title": "Suprimir los objetos seleccionados"},\n
+{"id": "tool_docprops", "textContent": "Propiedades del documento"},\n
+{"id": "tool_docprops_cancel", "textContent": "Cancelar"},\n
+{"id": "tool_docprops_save", "textContent": "OK"},\n
+{"id": "tool_ellipse", "title": "Elipse"},\n
+{"id": "tool_export", "textContent": "Exportar como PNG"},\n
+{"id": "tool_eyedropper", "title": "Herramienta de pipeta"},\n
+{"id": "tool_fhellipse", "title": "Elipse a mano alzada"},\n
+{"id": "tool_fhpath", "title": "Herramienta de lápiz"},\n
+{"id": "tool_fhrect", "title": "Rectángulo a mano alzada"},\n
+{"id": "tool_font_size", "title": "Tamaño de la fuente"},\n
+{"id": "tool_group", "title": "Agrupar objetos"},\n
+{"id": "tool_image", "title": "Insertar imagen"},\n
+{"id": "tool_import", "textContent": "Importar un archivo SVG"},\n
+{"id": "tool_italic", "title": "Texto en cursiva"},\n
+{"id": "tool_line", "title": "Trazado de líneas"},\n
+{"id": "tool_move_bottom", "title": "Mover abajo"},\n
+{"id": "tool_move_top", "title": "Mover arriba"},\n
+{"id": "tool_node_clone", "title": "Clonar nodo"},\n
+{"id": "tool_node_delete", "title": "Suprimir nodo"},\n
+{"id": "tool_node_link", "title": "Enlazar puntos de control"},\n
+{"id": "tool_opacity", "title": "Cambiar la opacidad del objeto seleccionado"},\n
+{"id": "tool_open", "textContent": "Abrir imagen"},\n
+{"id": "tool_path", "title": "Herramienta de trazado"},\n
+{"id": "tool_rect", "title": "Rectángulo"},\n
+{"id": "tool_redo", "title": "Rehacer"},\n
+{"id": "tool_reorient", "title": "Reorientar el trazado"},\n
+{"id": "tool_save", "textContent": "Guardar imagen"},\n
+{"id": "tool_select", "title": "Herramienta de selección"},\n
+{"id": "tool_source", "title": "Editar código fuente"},\n
+{"id": "tool_source_cancel", "textContent": "Cancelar"},\n
+{"id": "tool_source_save", "textContent": "Aplicar cambios"},\n
+{"id": "tool_square", "title": "Cuadrado"},\n
+{"id": "tool_text", "title": "Insertar texto"},\n
+{"id": "tool_topath", "title": "Convertir a trazado"},\n
+{"id": "tool_undo", "title": "Deshacer"},\n
+{"id": "tool_ungroup", "title": "Desagrupar objetos"},\n
+{"id": "tool_wireframe", "title": "Modo marco de alambre"},\n
+{"id": "tool_zoom", "title": "Zoom"},\n
+{"id": "url_notice", "title": "NOTA: La imagen no puede ser integrada. El contenido mostrado dependerá de la imagen ubicada en esta ruta. "},\n
+{"id": "zoom_panel", "title": "Cambiar el nivel de zoom"},\n
+{"id": "sidepanel_handle", "textContent": "C a p a s", "title": "Arrastrar hacia la izquierda/derecha para modificar el tamaño del panel lateral"},\n
+{\n
+ "js_strings": {\n
+  "Aceptar": "OK", \n
+  "QerrorsRevertToSource": "Existen errores sintácticos en su código fuente SVG.\\n¿Desea volver al código fuente SVG original?", \n
+  "QignoreSourceChanges": "¿Desea ignorar los cambios realizados sobre el código fuente SVG?", \n
+  "QmoveElemsToLayer": "¿Desplazar los elementos seleccionados a la capa \'%s\'?", \n
+  "QwantToClear": "¿Desea borrar el dibujo?\\n¡El historial de acciones también se borrará!", \n
+  "cancel": "Cancelar", \n
+  "defsFailOnSave": "NOTA: Debido a un fallo de su navegador, es posible que la imagen aparezca de forma incorrecta (ciertas gradaciones o elementos podría perderse). La imagen aparecerá en su forma correcta una vez guardada.", \n
+  "dupeLayerName": "¡Ya existe una capa con este nombre!", \n
+  "enterNewImgURL": "Introduzca la nueva URL de la imagen.", \n
+  "enterNewLayerName": "Introduzca el nuevo nombre de la capa.", \n
+  "enterUniqueLayerName": "Introduzca otro nombre distinto para la capa.", \n
+  "exportNoBlur": "Los elementos desenfocados aparecerán enfocados", \n
+  "exportNoDashArray": "Los contornos aparecerán rellenos", \n
+  "exportNoImage": "Los elementos “Imagen” no aparecerán", \n
+  "exportNoText": "La apariencia del texto puede cambiar", \n
+  "exportNoforeignObject": "Los elementos “foreignObject” no aparecerán", \n
+  "featNotSupported": "Función no compatible.", \n
+  "invalidAttrValGiven": "Valor no válido", \n
+  "key_backspace": "retroceso", \n
+  "key_del": "suprimir", \n
+  "key_down": "abajo", \n
+  "key_up": "arriba", \n
+  "layer": "Capa", \n
+  "layerHasThatName": "El nombre introducido es el nombre actual de la capa.", \n
+  "loadingImage": "Cargando imagen. Espere, por favor.", \n
+  "noContentToFitTo": "No existe un contenido al que ajustarse.", \n
+  "noteTheseIssues": "Existen además los problemas siguientes:", \n
+  "pathCtrlPtTooltip": "Arrastre el punto de control para ajustar las propiedades de la curva.", \n
+  "pathNodeTooltip": "Arrastre el nodo para desplazarlo. Haga doble clic sobre el nodo para cambiar el tipo de segmento.", \n
+  "saveFromBrowser": "Seleccionar \\"Guardar como...\\" en su navegador para guardar la imagen en forma de archivo %s."\n
+ }\n
+}\n
+]\n
+\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10849</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.et.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.et.js.xml
new file mode 100644
index 0000000000..5bf54596db
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.et.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003294.75</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.et.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Viia võrreldes ..."},\n
+{"id": "bkgnd_color", "title": "Muuda tausta värvi / läbipaistmatus"},\n
+{"id": "circle_cx", "title": "Muuda ringi&#39;s cx kooskõlastada"},\n
+{"id": "circle_cy", "title": "Muuda ringi&#39;s cy kooskõlastada"},\n
+{"id": "circle_r", "title": "Muuda ring on raadiusega"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Muuda ristkülik Nurgakabe Raadius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Muuda ellips&#39;s cx kooskõlastada"},\n
+{"id": "ellipse_cy", "title": "Muuda ellips&#39;s cy kooskõlastada"},\n
+{"id": "ellipse_rx", "title": "Muuda ellips&#39;s x raadius"},\n
+{"id": "ellipse_ry", "title": "Muuda ellips&#39;s y raadius"},\n
+{"id": "fill_color", "title": "Muuda täitke värvi"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Sobita kogu sisu"},\n
+{"id": "fit_to_canvas", "textContent": "Sobita lõuend"},\n
+{"id": "fit_to_layer_content", "textContent": "Sobita kiht sisu"},\n
+{"id": "fit_to_sel", "textContent": "Fit valiku"},\n
+{"id": "font_family", "title": "Muutke Kirjasinperhe"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Muuda pilt kõrgus"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Change URL"},\n
+{"id": "image_width", "title": "Muuda pilt laius"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "suurim objekt"},\n
+{"id": "layer_delete", "title": "Kustuta Kiht"},\n
+{"id": "layer_down", "title": "Liiguta kiht alla"},\n
+{"id": "layer_new", "title": "Uus kiht"},\n
+{"id": "layer_rename", "title": "Nimeta kiht"},\n
+{"id": "layer_up", "title": "Liiguta kiht üles"},\n
+{"id": "layersLabel", "textContent": "Kihid:"},\n
+{"id": "line_x1", "title": "Muuda rööbastee algab x-koordinaadi"},\n
+{"id": "line_x2", "title": "Muuda Line lõpeb x-koordinaadi"},\n
+{"id": "line_y1", "title": "Muuda rööbastee algab y-koordinaadi"},\n
+{"id": "line_y2", "title": "Muuda Line lõppenud y-koordinaadi"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "lehekülg"},\n
+{"id": "palette", "title": "Click muuta täitke värvi, Shift-nuppu, et muuta insult värvi"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Muuda ristküliku kõrgus"},\n
+{"id": "rect_width_tool", "title": "Muuda ristküliku laius"},\n
+{"id": "relativeToLabel", "textContent": "võrreldes:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Valige eelmääratletud:"},\n
+{"id": "selected_objects", "textContent": "valitud objektide"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "väikseim objekt"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Muuda insult värvi"},\n
+{"id": "stroke_style", "title": "Muuda insult kriips stiil"},\n
+{"id": "stroke_width", "title": "Muuda insult laius"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Kõrgus:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Laius:"},\n
+{"id": "text", "title": "Muuda teksti sisu"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Viia Bottom"},\n
+{"id": "tool_aligncenter", "title": "Keskele joondamine"},\n
+{"id": "tool_alignleft", "title": "Vasakjoondus"},\n
+{"id": "tool_alignmiddle", "title": "Viia Lähis -"},\n
+{"id": "tool_alignright", "title": "Paremjoondus"},\n
+{"id": "tool_aligntop", "title": "Viia Ãœles"},\n
+{"id": "tool_angle", "title": "Muuda Pöördenurk"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Rasvane kiri"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "Uus pilt"},\n
+{"id": "tool_clone", "title": "Kloonide Element"},\n
+{"id": "tool_clone_multi", "title": "Kloonide Elements"},\n
+{"id": "tool_delete", "title": "Kustuta Element"},\n
+{"id": "tool_delete_multi", "title": "Kustuta valitud elemendid [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "Dokumendi omadused"},\n
+{"id": "tool_docprops_cancel", "textContent": "Tühista"},\n
+{"id": "tool_docprops_save", "textContent": "Salvestama"},\n
+{"id": "tool_ellipse", "title": "Ellips"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Online-Hand Ellips"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Online-Hand Ristkülik"},\n
+{"id": "tool_font_size", "title": "Change font size"},\n
+{"id": "tool_group", "title": "Rühma elemendid"},\n
+{"id": "tool_image", "title": "Pilt Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Kursiiv"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Liiguta alla"},\n
+{"id": "tool_move_top", "title": "Liiguta üles"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Muuda valitud elemendi läbipaistmatus"},\n
+{"id": "tool_open", "textContent": "Pildi avamine"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Ristkülik"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Salvesta pilt"},\n
+{"id": "tool_select", "title": "Vali Tool"},\n
+{"id": "tool_source", "title": "Muuda Allikas"},\n
+{"id": "tool_source_cancel", "textContent": "Tühista"},\n
+{"id": "tool_source_save", "textContent": "Salvestama"},\n
+{"id": "tool_square", "title": "Nelinurkne"},\n
+{"id": "tool_text", "title": "Tekst Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Undo"},\n
+{"id": "tool_ungroup", "title": "Lõhu Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Muuda suumi taset"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9582</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fa.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fa.js.xml
new file mode 100644
index 0000000000..79e718e927
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fa.js.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003294.95</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.fa.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "‫تراز نسبت به ...‬"},\n
+{"id": "bkgnd_color", "title": "‫تغییر رنگ پس زمینه / تاری‬"},\n
+{"id": "circle_cx", "title": "‫تغییر مختصات cx دایره‬"},\n
+{"id": "circle_cy", "title": "‫تغییر مختصات cy دایره‬"},\n
+{"id": "circle_r", "title": "‫تغییر شعاع دایره‬"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "‫تغییر شعاع گوشه مستطیل‬"},\n
+{"id": "cornerRadiusLabel", "title": "‫شعاع گوشه:‬"},\n
+{"id": "curve_segments", "textContent": "‫منحنی‬"},\n
+{"id": "ellipse_cx", "title": "‫تغییر مختصات cx بیضی‬"},\n
+{"id": "ellipse_cy", "title": "‫تغییر مختصات cy بیضی‬"},\n
+{"id": "ellipse_rx", "title": "‫تغییر شعاع rx بیضی‬"},\n
+{"id": "ellipse_ry", "title": "‫تغییر شعاع ry بیضی‬"},\n
+{"id": "fill_color", "title": "‫تغییر رنگ‬"},\n
+{"id": "fitToContent", "textContent": "‫هم اندازه شدن با محتوا‬"},\n
+{"id": "fit_to_all", "textContent": "‫هم اندازه شدن با همه محتویات‬"},\n
+{"id": "fit_to_canvas", "textContent": "‫هم اندازه شدن با صفحه مجازی (بوم)‬"},\n
+{"id": "fit_to_layer_content", "textContent": "‫هم اندازه شدن با محتوای لایه‬"},\n
+{"id": "fit_to_sel", "textContent": "‫هم اندازه شدن با اشیاء انتخاب شده‬"},\n
+{"id": "font_family", "title": "‫تغییر خانواده قلم‬"},\n
+{"id": "icon_large", "textContent": "‫بزرگ‬"},\n
+{"id": "icon_medium", "textContent": "‫متوسط‬"},\n
+{"id": "icon_small", "textContent": "‫کوچک‬"},\n
+{"id": "icon_xlarge", "textContent": "‫خیلی بزرگ‬"},\n
+{"id": "image_height", "title": "‫تغییر ارتفاع تصویر‬"},\n
+{"id": "image_opt_embed", "textContent": "‫داده های جای داده شده (پرونده های محلی)‬"},\n
+{"id": "image_opt_ref", "textContent": "‫استفاده از ارجاع به پرونده‬"},\n
+{"id": "image_url", "title": "‫تغییر نشانی وب (url)‬"},\n
+{"id": "image_width", "title": "‫تغییر عرض تصویر‬"},\n
+{"id": "includedImages", "textContent": "‫تصاویر گنجانده شده‬"},\n
+{"id": "largest_object", "textContent": "‫بزرگترین شئ‬"},\n
+{"id": "layer_delete", "title": "‫حذف لایه‬"},\n
+{"id": "layer_down", "title": "‫انتقال لایه به پایین‬"},\n
+{"id": "layer_new", "title": "‫لایه جدید‬"},\n
+{"id": "layer_rename", "title": "‫تغییر نام لایه‬"},\n
+{"id": "layer_up", "title": "‫انتقال لایه به بالا‬"},\n
+{"id": "layersLabel", "textContent": "‫لایه:‬"},\n
+{"id": "line_x1", "title": "‫تغییر مختصات x آغاز خط‬"},\n
+{"id": "line_x2", "title": "‫تغییر مختصات x پایان خط‬"},\n
+{"id": "line_y1", "title": "‫تغییر مختصات y آغاز خط‬"},\n
+{"id": "line_y2", "title": "‫تغییر مختصات y پایان خط‬"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "‫صفحه‬"},\n
+{"id": "palette", "title": "‫برای تغییر رنگ، کلیک کنید. برای تغییر رنگ لبه، کلید تبدیل (shift) را فشرده و کلیک کنید‬"},\n
+{"id": "path_node_x", "title": "‫تغییر مختصات x نقطه‬"},\n
+{"id": "path_node_y", "title": "‫تغییر مختصات y نقطه‬"},\n
+{"id": "rect_height_tool", "title": "‫تغییر ارتفاع مستطیل‬"},\n
+{"id": "rect_width_tool", "title": "‫تغییر عرض مستطیل‬"},\n
+{"id": "relativeToLabel", "textContent": "‫نسبت به:‬"},\n
+{"id": "seg_type", "title": "‫تغییر نوع قطعه (segment)‬"},\n
+{"id": "selLayerLabel", "textContent": "‫انتقال عناصر به:‬"},\n
+{"id": "selLayerNames", "title": "‫انتقال عناصر انتخاب شده به یک لایه متفاوت‬"},\n
+{"id": "selectedPredefined", "textContent": "‫از پیش تعریف شده را انتخاب کنید:‬"},\n
+{"id": "selected_objects", "textContent": "‫اشیاء انتخاب شده‬"},\n
+{"id": "selected_x", "title": "‫تغییر مختصات X‬"},\n
+{"id": "selected_y", "title": "‫تغییر مختصات Y‬"},\n
+{"id": "smallest_object", "textContent": "‫کوچکترین شئ‬"},\n
+{"id": "straight_segments", "textContent": "‫مستقیم‬"},\n
+{"id": "stroke_color", "title": "‫تغییر رنگ لبه‬"},\n
+{"id": "stroke_style", "title": "‫تغییر نقطه چین لبه‬"},\n
+{"id": "stroke_width", "title": "‫تغییر عرض لبه‬"},\n
+{"id": "svginfo_bg_note", "textContent": "‫توجه: پس زمینه همراه تصویر ذخیره نخواهد شد.‬"},\n
+{"id": "svginfo_change_background", "textContent": "‫پس زمینه ویراستار‬"},\n
+{"id": "svginfo_dim", "textContent": "‫ابعاد صفحه مجازی (بوم)‬"},\n
+{"id": "svginfo_editor_prefs", "textContent": "‫تنظیمات ویراستار‬"},\n
+{"id": "svginfo_height", "textContent": "‫ارتفاع:‬"},\n
+{"id": "svginfo_icons", "textContent": "‫اندازه شمایل‬"},\n
+{"id": "svginfo_image_props", "textContent": "‫مشخصات تصویر‬"},\n
+{"id": "svginfo_lang", "textContent": "‫زبان‬"},\n
+{"id": "svginfo_title", "textContent": "‫عنوان‬"},\n
+{"id": "svginfo_width", "textContent": "‫عرض:‬"},\n
+{"id": "text", "title": "‫تغییر محتویات متن‬"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "‫تراز پایین‬"},\n
+{"id": "tool_aligncenter", "title": "‫وسط چین‬"},\n
+{"id": "tool_alignleft", "title": "‫چپ چین‬"},\n
+{"id": "tool_alignmiddle", "title": "‫تراز میانه‬"},\n
+{"id": "tool_alignright", "title": "‫راست چین‬"},\n
+{"id": "tool_aligntop", "title": "‫تراز بالا‬"},\n
+{"id": "tool_angle", "title": "‫تغییر زاویه چرخش‬"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "‫متن توپر ‬"},\n
+{"id": "tool_circle", "title": "‫دایره‬"},\n
+{"id": "tool_clear", "textContent": "‫تصویر جدید ‬"},\n
+{"id": "tool_clone", "title": "‫ایجاد کپی از عنصر ‬"},\n
+{"id": "tool_clone_multi", "title": "‫ایجاد کپی از عناصر ‬"},\n
+{"id": "tool_delete", "title": "‫حذف عنصر ‬"},\n
+{"id": "tool_delete_multi", "title": "‫حذف عناصر انتخاب شده ‬"},\n
+{"id": "tool_docprops", "textContent": "‫مشخصات سند ‬"},\n
+{"id": "tool_docprops_cancel", "textContent": "‫لغو‬"},\n
+{"id": "tool_docprops_save", "textContent": "‫تأیید‬"},\n
+{"id": "tool_ellipse", "title": "‫بیضی‬"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "‫بیضی با قابلیت تغییر پویا‬"},\n
+{"id": "tool_fhpath", "title": "‫ابزار مداد ‬"},\n
+{"id": "tool_fhrect", "title": "‫مستطیل با قابلیت تغییر پویا‬"},\n
+{"id": "tool_font_size", "title": "‫تغییر اندازه قلم‬"},\n
+{"id": "tool_group", "title": "‫قرار دادن عناصر در گروه ‬"},\n
+{"id": "tool_image", "title": "‫ابزار تصویر ‬"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "‫متن کج ‬"},\n
+{"id": "tool_line", "title": "‫ابزار خط ‬"},\n
+{"id": "tool_move_bottom", "title": "‫انتقال به پایین ترین ‬"},\n
+{"id": "tool_move_top", "title": "‫انتقال به بالاترین ‬"},\n
+{"id": "tool_node_clone", "title": "‫ایجاد کپی از نقطه‬"},\n
+{"id": "tool_node_delete", "title": "‫حذف نقطه‬"},\n
+{"id": "tool_node_link", "title": "‫پیوند دادن نقاط کنترل‬"},\n
+{"id": "tool_opacity", "title": "‫تغییر تاری عنصر انتخاب شده‬"},\n
+{"id": "tool_open", "textContent": "‫باز کردن تصویر ‬"},\n
+{"id": "tool_path", "title": "‫ابزار مسیر ‬"},\n
+{"id": "tool_rect", "title": "‫مستطیل‬"},\n
+{"id": "tool_redo", "title": "‫ازنو ‬"},\n
+{"id": "tool_reorient", "title": "‫جهت دهی مجدد مسیر‬"},\n
+{"id": "tool_save", "textContent": "‫ذخیره تصویر ‬"},\n
+{"id": "tool_select", "title": "‫ابزار انتخاب ‬"},\n
+{"id": "tool_source", "title": "‫ویرایش منبع ‬"},\n
+{"id": "tool_source_cancel", "textContent": "‫لغو‬"},\n
+{"id": "tool_source_save", "textContent": "‫اعمال تغییرات‬"},\n
+{"id": "tool_square", "title": "‫مربع‬"},\n
+{"id": "tool_text", "title": "‫ابزار متن ‬"},\n
+{"id": "tool_topath", "title": "‫تبدیل به مسیر‬"},\n
+{"id": "tool_undo", "title": "‫واگرد ‬"},\n
+{"id": "tool_ungroup", "title": "‫خارج کردن عناصر از گروه ‬"},\n
+{"id": "tool_wireframe", "title": "‫حالت نمایش لبه ها ‬"},\n
+{"id": "tool_zoom", "title": "‫ابزار بزرگ نمایی ‬"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "‫تغییر بزرگ نمایی‬"},\n
+{"id": "sidepanel_handle", "textContent": "‫لایه ها‬", "title": "‫برای تغییر اندازه منوی کناری، آن را به سمت راست/چپ بکشید ‬"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "‫در منبع SVG شما خطاهای تجزیه (parse) وجود داشت.\\nبه منبع SVG اصلی بازگردانده شود؟‬", \n
+  "QignoreSourceChanges": "‫تغییرات اعمال شده در منبع SVG نادیده گرفته شوند؟‬", \n
+  "QmoveElemsToLayer": "‫عناصر انتخاب شده به لایه \'%s\' منتقل شوند؟‬", \n
+  "QwantToClear": "‫آیا مطمئن هستید که می خواهید نقاشی را پاک کنید؟\\nاین عمل باعث حذف تاریخچه واگرد شما خواهد شد!‬", \n
+  "cancel": "‫لغو‬", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "‫لایه ای با آن نام وجود دارد!‬", \n
+  "enterNewImgURL": "‫نشانی وب (url) تصویر جدید را وارد کنید‬", \n
+  "enterNewLayerName": "‫لطفا نام لایه جدید را وارد کنید‬", \n
+  "enterUniqueLayerName": "‫لطفا یک نام لایه یکتا انتخاب کنید‬", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "‫این ویژگی پشتیبانی نشده است‬", \n
+  "invalidAttrValGiven": "‫مقدار داده شده نامعتبر است‬", \n
+  "key_backspace": "‫پس بر ‬", \n
+  "key_del": "‫حذف ‬", \n
+  "key_down": "‫پایین ‬", \n
+  "key_up": "‫بالا ‬", \n
+  "layer": "‫لایه‬", \n
+  "layerHasThatName": "‫لایه از قبل آن نام را دارد‬", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "‫محتوایی برای هم اندازه شدن وجود ندارد‬", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "‫تأیید‬", \n
+  "pathCtrlPtTooltip": "‫برای تنظیم مشخصات منحنی، نقطه کنترل را بکشید‬", \n
+  "pathNodeTooltip": "‫برای جابه جا کردن نقطه، آن را بکشید. برای تغییر قطعه (segment)، روی نقطه دوبار کلیک کنید‬", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>12584</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fi.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fi.js.xml
new file mode 100644
index 0000000000..d58e56e1a1
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fi.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003295.15</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.fi.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Kohdista suhteessa ..."},\n
+{"id": "bkgnd_color", "title": "Vaihda taustaväri / sameuden"},\n
+{"id": "circle_cx", "title": "Muuta Circlen CX koordinoida"},\n
+{"id": "circle_cy", "title": "Muuta Circlen CY koordinoida"},\n
+{"id": "circle_r", "title": "Muuta ympyrän säde"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Muuta suorakaide Corner Säde"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Muuta ellipsi&#39;s CX koordinoida"},\n
+{"id": "ellipse_cy", "title": "Muuta ellipsi&#39;s CY koordinoida"},\n
+{"id": "ellipse_rx", "title": "Muuta ellipsi&#39;s x säde"},\n
+{"id": "ellipse_ry", "title": "Muuta ellipsi n y säde"},\n
+{"id": "fill_color", "title": "Muuta täyttöväri"},\n
+{"id": "fitToContent", "textContent": "Sovita Content"},\n
+{"id": "fit_to_all", "textContent": "Sovita kaikki content"},\n
+{"id": "fit_to_canvas", "textContent": "Sovita kangas"},\n
+{"id": "fit_to_layer_content", "textContent": "Sovita kerros sisältöön"},\n
+{"id": "fit_to_sel", "textContent": "Sovita valinta"},\n
+{"id": "font_family", "title": "Muuta Font Family"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Muuta kuvan korkeus"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Muuta URL"},\n
+{"id": "image_width", "title": "Muuta kuvan leveys"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "Suurin kohde"},\n
+{"id": "layer_delete", "title": "Poista Layer"},\n
+{"id": "layer_down", "title": "Siirrä Layer alas"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Nimeä Layer"},\n
+{"id": "layer_up", "title": "Siirrä Layer"},\n
+{"id": "layersLabel", "textContent": "Kerrosten:"},\n
+{"id": "line_x1", "title": "Muuta Linen alkaa x-koordinaatti"},\n
+{"id": "line_x2", "title": "Muuta Linen päättyy x koordinoida"},\n
+{"id": "line_y1", "title": "Muuta Linen alkaa y-koordinaatti"},\n
+{"id": "line_y2", "title": "Muuta Linen päättyy y koordinoida"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "sivulta"},\n
+{"id": "palette", "title": "Klikkaa muuttaa täyttöväri, Shift-click vaihtaa aivohalvauksen väriä"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Muuta suorakaiteen korkeus"},\n
+{"id": "rect_width_tool", "title": "Muuta suorakaiteen leveys"},\n
+{"id": "relativeToLabel", "textContent": "suhteessa:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Valitse ennalta:"},\n
+{"id": "selected_objects", "textContent": "valittujen objektien"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "pienin kohde"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Muuta aivohalvaus väri"},\n
+{"id": "stroke_style", "title": "Muuta aivohalvaus Dash tyyli"},\n
+{"id": "stroke_width", "title": "Muuta aivohalvaus leveys"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Korkeus:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Leveys:"},\n
+{"id": "text", "title": "Muuta tekstin sisältö"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Keskitä"},\n
+{"id": "tool_alignleft", "title": "Tasaa vasemmalle"},\n
+{"id": "tool_alignmiddle", "title": "Kohdista Lähi"},\n
+{"id": "tool_alignright", "title": "Tasaa oikealle"},\n
+{"id": "tool_aligntop", "title": "Kohdista Top"},\n
+{"id": "tool_angle", "title": "Muuta kiertokulma"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Lihavoitu teksti"},\n
+{"id": "tool_circle", "title": "Ympyrään"},\n
+{"id": "tool_clear", "textContent": "Uusi kuva"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elements"},\n
+{"id": "tool_delete", "title": "Poista Element"},\n
+{"id": "tool_delete_multi", "title": "Poista valitut Elements"},\n
+{"id": "tool_docprops", "textContent": "Asiakirjan ominaisuudet"},\n
+{"id": "tool_docprops_cancel", "textContent": "Peruuta"},\n
+{"id": "tool_docprops_save", "textContent": "Tallentaa"},\n
+{"id": "tool_ellipse", "title": "Soikion"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Kynätyökalu"},\n
+{"id": "tool_fhrect", "title": "Free-Hand suorakaide"},\n
+{"id": "tool_font_size", "title": "Muuta fontin kokoa"},\n
+{"id": "tool_group", "title": "Tuoteryhmään Elements"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Kursivoitu"},\n
+{"id": "tool_line", "title": "Viivatyökalulla"},\n
+{"id": "tool_move_bottom", "title": "Move to Bottom"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Muuta valitun kohteen läpinäkyvyys"},\n
+{"id": "tool_open", "textContent": "Avaa kuva"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Suorakulmiossa"},\n
+{"id": "tool_redo", "title": "Tulppaamalla ilmakanavan"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Save Image"},\n
+{"id": "tool_select", "title": "Valitse työkalu"},\n
+{"id": "tool_source", "title": "Muokkaa lähdekoodipaketti"},\n
+{"id": "tool_source_cancel", "textContent": "Peruuta"},\n
+{"id": "tool_source_save", "textContent": "Tallentaa"},\n
+{"id": "tool_square", "title": "Neliö"},\n
+{"id": "tool_text", "title": "Työkalua"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Kumoa"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Suurennustyökalu"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Muuta suurennustaso"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9621</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fr.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fr.js.xml
new file mode 100644
index 0000000000..7dabe8cbd7
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fr.js.xml
@@ -0,0 +1,215 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003295.35</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.fr.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Aligner par rapport à ..."},\n
+{"id": "bkgnd_color", "title": "Changer la couleur d\'arrière-plan / l\'opacité"},\n
+{"id": "circle_cx", "title": "Changer la position horizontale cx du cercle"},\n
+{"id": "circle_cy", "title": "Changer la position verticale cy du cercle"},\n
+{"id": "circle_r", "title": "Changer le rayon du cercle"},\n
+{"id": "connector_no_arrow", "textContent": "Sans flèches"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Changer le rayon des coins du rectangle"},\n
+{"id": "curve_segments", "textContent": "Courbe"},\n
+{"id": "ellipse_cx", "title": "Changer la position horizontale cx de l\'ellipse"},\n
+{"id": "ellipse_cy", "title": "Changer la position verticale cy de l\'ellipse"},\n
+{"id": "ellipse_rx", "title": "Changer le rayon horizontal x de l\'ellipse"},\n
+{"id": "ellipse_ry", "title": "Changer le rayon vertical y de l\'ellipse"},\n
+{"id": "fill_color", "title": "Changer la couleur de remplissage"},\n
+{"id": "fitToContent", "textContent": "Ajuster au contenu"},\n
+{"id": "fit_to_all", "textContent": "Ajuster au contenu de tous les calques"},\n
+{"id": "fit_to_canvas", "textContent": "Ajuster au canevas"},\n
+{"id": "fit_to_layer_content", "textContent": "Ajuster au contenu du calque"},\n
+{"id": "fit_to_sel", "textContent": "Ajuster à la sélection"},\n
+{"id": "font_family", "title": "Changer la famille de police"},\n
+{"id": "icon_large", "textContent": "Grande"},\n
+{"id": "icon_medium", "textContent": "Moyenne"},\n
+{"id": "icon_small", "textContent": "Petite"},\n
+{"id": "icon_xlarge", "textContent": "Super-Grande"},\n
+{"id": "idLabel", "title": "Identifier l\'élément"},\n
+{"id": "image_height", "title": "Changer la hauteur de l\'image"},\n
+{"id": "image_opt_embed", "textContent": "Incorporer les images en tant que données (fichiers locaux)"},\n
+{"id": "image_opt_ref", "textContent": "Utiliser la référence des images "},\n
+{"id": "image_url", "title": "Modifier l\'URL"},\n
+{"id": "image_width", "title": "Changer la largeur de l\'image"},\n
+{"id": "includedImages", "textContent": "Images incorporées"},\n
+{"id": "largest_object", "textContent": "Plus gros objet"},\n
+{"id": "layer_delete", "title": "Supprimer le calque"},\n
+{"id": "layer_down", "title": "Descendre le calque"},\n
+{"id": "layer_new", "title": "Nouveau calque"},\n
+{"id": "layer_rename", "title": "Renommer le calque"},\n
+{"id": "layer_up", "title": "Monter le calque"},\n
+{"id": "layersLabel", "textContent": "Calques :"},\n
+{"id": "line_x1", "title": "Changer la position horizontale x de début de la ligne"},\n
+{"id": "line_x2", "title": "Changer la position horizontale x de fin de la ligne"},\n
+{"id": "line_y1", "title": "Changer la position verticale y de début de la ligne"},\n
+{"id": "line_y2", "title": "Changer la position verticale y de fin de la ligne"},\n
+{"id": "linecap_butt", "title": "Terminaison : Sur le nœud"},\n
+{"id": "linecap_round", "title": "Terminaison : Arrondie"},\n
+{"id": "linecap_square", "title": "Terminaison : Carrée"},\n
+{"id": "linejoin_bevel", "title": "Raccord : Biseauté"},\n
+{"id": "linejoin_miter", "title": "Raccord : Droit"},\n
+{"id": "linejoin_round", "title": "Raccord : Arrondi"},\n
+{"id": "main_icon", "title": "Menu principal"},\n
+{"id": "mode_connect", "title": "Connecter deux objets"},\n
+{"id": "page", "textContent": "Page"},\n
+{"id": "palette", "title": "Cliquer pour changer la couleur de remplissage, Shift-Clic pour changer la couleur de contour"},\n
+{"id": "path_node_x", "title": "Changer la positon horizontale x du nœud"},\n
+{"id": "path_node_y", "title": "Changer la position verticale y du nœud"},\n
+{"id": "rect_height_tool", "title": "Changer la hauteur du rectangle"},\n
+{"id": "rect_width_tool", "title": "Changer la largeur du rectangle"},\n
+{"id": "relativeToLabel", "textContent": "Relativement à:"},\n
+{"id": "seg_type", "title": "Changer le type du Segment"},\n
+{"id": "selLayerLabel", "textContent": "Déplacer éléments vers:"},\n
+{"id": "selLayerNames", "title": "Déplacer les éléments sélectionnés vers un autre calque"},\n
+{"id": "selectedPredefined", "textContent": "Sélectionner prédéfinis:"},\n
+{"id": "selected_objects", "textContent": "Objets sélectionnés"},\n
+{"id": "selected_x", "title": "Changer la position horizontale X"},\n
+{"id": "selected_y", "title": "Changer la position verticale Y"},\n
+{"id": "smallest_object", "textContent": "Plus petit objet"},\n
+{"id": "straight_segments", "textContent": "Droit"},\n
+{"id": "stroke_color", "title": "Changer la couleur du contour"},\n
+{"id": "stroke_style", "title": "Changer le style du contour"},\n
+{"id": "stroke_width", "title": "Changer la largeur du contour de 1, Shift-Click pour changer la largeur de 0.1"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: La toile de fond n\'est pas sauvegardée avec l\'image."},\n
+{"id": "svginfo_change_background", "textContent": "Toile de fond de l\'Éditeur"},\n
+{"id": "svginfo_dim", "textContent": "Dimensions du canevas"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Préférences de l\'Éditeur"},\n
+{"id": "svginfo_height", "textContent": "Hauteur:"},\n
+{"id": "svginfo_icons", "textContent": "Taille des icônes"},\n
+{"id": "svginfo_image_props", "textContent": "Propriétés de l\'Image"},\n
+{"id": "svginfo_lang", "textContent": "Langue"},\n
+{"id": "svginfo_title", "textContent": "Titre"},\n
+{"id": "svginfo_width", "textContent": "Largeur:"},\n
+{"id": "text", "title": "Changer le contenu du texte"},\n
+{"id": "toggle_stroke_tools", "title": "Montrer/Cacher plus d\'outils de Contour"},\n
+{"id": "tool_add_subpath", "title": "Ajouter un sous-chemin"},\n
+{"id": "tool_alignbottom", "title": "Aligner le bas des objets"},\n
+{"id": "tool_aligncenter", "title": "Centrer verticalement"},\n
+{"id": "tool_alignleft", "title": "Aligner les côtés gauches"},\n
+{"id": "tool_alignmiddle", "title": "Centrer horizontalement"},\n
+{"id": "tool_alignright", "title": "Aligner les côtés droits"},\n
+{"id": "tool_aligntop", "title": "Aligner le haut des objets"},\n
+{"id": "tool_angle", "title": "Changer l\'angle de rotation"},\n
+{"id": "tool_blur", "title": "Changer la valeur du flou gaussien"},\n
+{"id": "tool_bold", "title": "Texte en gras"},\n
+{"id": "tool_circle", "title": "Cercle"},\n
+{"id": "tool_clear", "textContent": "Nouvelle image"},\n
+{"id": "tool_clone", "title": "Cloner l\'élément"},\n
+{"id": "tool_clone_multi", "title": "Cloner les éléments"},\n
+{"id": "tool_delete", "title": "Supprimer l\'élément"},\n
+{"id": "tool_delete_multi", "title": "Supprimer les éléments sélectionnés"},\n
+{"id": "tool_docprops", "textContent": "Propriétés du document"},\n
+{"id": "tool_docprops_cancel", "textContent": "Annuler"},\n
+{"id": "tool_docprops_save", "textContent": "OK"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Exporter au format PNG"},\n
+{"id": "tool_eyedropper", "title": "Outil Pipette"},\n
+{"id": "tool_fhellipse", "title": "Ellipse main levée"},\n
+{"id": "tool_fhpath", "title": "Crayon à main levée"},\n
+{"id": "tool_fhrect", "title": "Rectangle main levée"},\n
+{"id": "tool_font_size", "title": "Changer la taille de la police"},\n
+{"id": "tool_group", "title": "Grouper les éléments"},\n
+{"id": "tool_image", "title": "Outil Image"},\n
+{"id": "tool_import", "textContent": "Importer un objet SVG"},\n
+{"id": "tool_italic", "title": "Texte en italique"},\n
+{"id": "tool_line", "title": "Tracer des lignes"},\n
+{"id": "tool_move_bottom", "title": "Déplacer vers le bas"},\n
+{"id": "tool_move_top", "title": "Déplacer vers le haut"},\n
+{"id": "tool_node_clone", "title": "Cloner le nœud"},\n
+{"id": "tool_node_delete", "title": "Supprimer le nœud"},\n
+{"id": "tool_node_link", "title": "Rendre les points de contrôle solidaires"},\n
+{"id": "tool_opacity", "title": "Changer l\'opacité de l\'élément sélectionné"},\n
+{"id": "tool_open", "textContent": "Ouvrir une image"},\n
+{"id": "tool_openclose_path", "title": "Ouvrir/Fermer sous-chemin"},\n
+{"id": "tool_path", "title": "Outil Chemin"},\n
+{"id": "tool_position", "title": "Aligner l\'élément relativement à la Page"},\n
+{"id": "tool_rect", "title": "Rectangle"},\n
+{"id": "tool_redo", "title": "Refaire l\'action"},\n
+{"id": "tool_reorient", "title": "Réorienter le chemin"},\n
+{"id": "tool_save", "textContent": "Enregistrer l\'image"},\n
+{"id": "tool_select", "title": "Outil de sélection"},\n
+{"id": "tool_source", "title": "Modifier la source"},\n
+{"id": "tool_source_cancel", "textContent": "Annuler"},\n
+{"id": "tool_source_save", "textContent": "Appliquer Modifications"},\n
+{"id": "tool_square", "title": "Carré"},\n
+{"id": "tool_text", "title": "Outil Texte"},\n
+{"id": "tool_topath", "title": "Convertir en chemin"},\n
+{"id": "tool_undo", "title": "Annuler l\'action"},\n
+{"id": "tool_ungroup", "title": "Dégrouper les éléments"},\n
+{"id": "tool_wireframe", "title": "Mode Fil de Fer"},\n
+{"id": "tool_zoom", "title": "Zoom"},\n
+{"id": "url_notice", "title": "NOTE: Cette image ne peut être incorporée en tant que données. Le contenu affiché sera celui de l\'image située à cette adresse"},\n
+{"id": "zoom_panel", "title": "Changer le niveau de zoom"},\n
+{"id": "sidepanel_handle", "textContent": "C A L Q U E S", "title": "Tirer vers la gauche/droite pour redimensionner le panneau"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "Il y a des erreurs d\'analyse syntaxique dans votre code-source SVG.\\nRevenir au code-source SVG avant modifications ?", \n
+  "QignoreSourceChanges": "Ignorer les modifications faites à la source SVG ?", \n
+  "QmoveElemsToLayer": "Déplacer les éléments sélectionnés vers le calque \'%s\' ?", \n
+  "QwantToClear": "Voulez-vous effacer le dessin ?\\nL\'historique de vos actions sera également effacé !", \n
+  "cancel": "Annuler", \n
+  "defsFailOnSave": "NOTE : À cause d\'un bug de votre navigateur, cette image peut être affichée de façon incorrecte (dégradés ou éléments manquants). Cependant, une fois enregistrée, elle sera correcte.", \n
+  "dupeLayerName": "Il existe déjà un calque de ce nom !", \n
+  "enterNewImgURL": "Entrer la nouvelle URL de l\'image", \n
+  "enterNewLayerName": "Veuillez entrer le nouveau nom du calque", \n
+  "enterUniqueLayerName": "Veuillez entrer un nom (unique) pour le calque", \n
+  "exportNoBlur": "Les éléments ayant du flou gaussien seront affichés sans flou", \n
+  "exportNoDashArray": "Les contours seront affichés remplis", \n
+  "exportNoImage": "Les éléments Image ne seront pas affichés", \n
+  "exportNoText": "Le texte peut être affiché de façon incorrecte", \n
+  "exportNoforeignObject": "Les éléments foreignObject se seront pas affichés", \n
+  "featNotSupported": "Fonction non supportée", \n
+  "invalidAttrValGiven": "Valeur fournie invalide", \n
+  "key_backspace": "Suppr.", \n
+  "key_del": "Retour Arr.", \n
+  "key_down": "Bas", \n
+  "key_up": "Haut", \n
+  "layer": "Calque", \n
+  "layerHasThatName": "Le calque porte déjà ce nom", \n
+  "loadingImage": "Chargement de l\'image, veuillez patienter...", \n
+  "noContentToFitTo": "Il n\'y a pas de contenu auquel ajuster", \n
+  "noteTheseIssues": "Notez également les problèmes suivants : ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Glisser-déposer le point de contrôle pour ajuster les propriétés de la courbe", \n
+  "pathNodeTooltip": "Glisser-déposer le nœud pour le déplacer. Double-cliquer le nœud pour changer de type de segment", \n
+  "saveFromBrowser": "Selectionner \\"Enregistrer sous...\\" dans votre navigateur pour sauvegarder l\'image en tant que fichier %s."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>11276</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fy.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fy.js.xml
new file mode 100644
index 0000000000..34adc9b2b3
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.fy.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003295.56</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.fy.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Útlijne relatyf oan..."},\n
+{"id": "bkgnd_color", "title": "Eftergrûnkleur/trochsichtigens oanpasse"},\n
+{"id": "circle_cx", "title": "Feroarje it X-koördinaat fan it middelpunt fan\'e sirkel."},\n
+{"id": "circle_cy", "title": "Feroarje it Y-koördinaat fan it middelpunt fan\'e sirkel."},\n
+{"id": "circle_r", "title": "Feroarje sirkelradius"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Hoekeradius oanpasse"},\n
+{"id": "curve_segments", "textContent": "Bûcht"},\n
+{"id": "ellipse_cx", "title": "Feroarje it X-koördinaat fan it middelpunt fan\'e ellips."},\n
+{"id": "ellipse_cy", "title": "Feroarje it Y-koördinaat fan it middelpunt fan\'e ellips."},\n
+{"id": "ellipse_rx", "title": "Feroarje ellips X radius"},\n
+{"id": "ellipse_ry", "title": "Feroarje ellips Y radius"},\n
+{"id": "fill_color", "title": "Folkleur oanpasse"},\n
+{"id": "fitToContent", "textContent": "Passe op ynhâld"},\n
+{"id": "fit_to_all", "textContent": "Op alle ynhâld passe"},\n
+{"id": "fit_to_canvas", "textContent": "Op kanvas passe"},\n
+{"id": "fit_to_layer_content", "textContent": "Op laachynhâld passe"},\n
+{"id": "fit_to_sel", "textContent": "Op seleksje passe"},\n
+{"id": "font_family", "title": "Lettertype oanpasse"},\n
+{"id": "icon_large", "textContent": "Grut"},\n
+{"id": "icon_medium", "textContent": "Middel"},\n
+{"id": "icon_small", "textContent": "Lyts"},\n
+{"id": "icon_xlarge", "textContent": "Ekstra grut"},\n
+{"id": "image_height", "title": "Hichte ôfbielding oanpasse"},\n
+{"id": "image_opt_embed", "textContent": "Ynformaasje tafoege (lokale triemen)"},\n
+{"id": "image_opt_ref", "textContent": "Triemreferensje brûke"},\n
+{"id": "image_url", "title": "URL oanpasse"},\n
+{"id": "image_width", "title": "Breedte ôfbielding oanpasse"},\n
+{"id": "includedImages", "textContent": "Ynslúten ôfbieldingen"},\n
+{"id": "largest_object", "textContent": "Grutste ûnderdiel"},\n
+{"id": "layer_delete", "title": "Laach fuortsmite"},\n
+{"id": "layer_down", "title": "Laach omleech bringe"},\n
+{"id": "layer_new", "title": "Nije laach"},\n
+{"id": "layer_rename", "title": "Laach omneame"},\n
+{"id": "layer_up", "title": "Laach omheech bringe"},\n
+{"id": "layersLabel", "textContent": "Lagen:"},\n
+{"id": "line_x1", "title": "Feroarje start X koördinaat fan\'e line"},\n
+{"id": "line_x2", "title": "Feroarje ein X koördinaat fan\'e line"},\n
+{"id": "line_y1", "title": "Feroarje start Y koördinaat fan\'e line"},\n
+{"id": "line_y2", "title": "Feroarje ein Y koördinaat fan\'e line"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "Side"},\n
+{"id": "palette", "title": "Klik om de folkleur te feroarjen, shift-klik om de linekleur te feroarjen."},\n
+{"id": "path_node_x", "title": "X-koördinaat knooppunt oanpasse"},\n
+{"id": "path_node_y", "title": "Y-koördinaat knooppunt oanpasse"},\n
+{"id": "rect_height_tool", "title": "Hichte rjochthoeke oanpasse"},\n
+{"id": "rect_width_tool", "title": "Breedte rjochthoeke oanpasse"},\n
+{"id": "relativeToLabel", "textContent": "Relatief tsjinoer:"},\n
+{"id": "seg_type", "title": "Segmenttype oanpasse"},\n
+{"id": "selLayerLabel", "textContent": "Ûnderdielen ferplaate nei:"},\n
+{"id": "selLayerNames", "title": "Selektearre ûnderdielen ferplaatse nei in oare laach"},\n
+{"id": "selectedPredefined", "textContent": "Selektearje:"},\n
+{"id": "selected_objects", "textContent": "Selektearre ûnderdielen"},\n
+{"id": "selected_x", "title": "X-koördinaat oanpasse"},\n
+{"id": "selected_y", "title": "Y-koördinaat oanpasse"},\n
+{"id": "smallest_object", "textContent": "Lytste ûnderdiel"},\n
+{"id": "straight_segments", "textContent": "Rjocht"},\n
+{"id": "stroke_color", "title": "Linekleur oanpasse"},\n
+{"id": "stroke_style", "title": "Linestijl oanpasse"},\n
+{"id": "stroke_width", "title": "Linebreedte oanpasse"},\n
+{"id": "svginfo_bg_note", "textContent": "Let op: de eftergrûn wurd net mei de ôfbielding bewarre."},\n
+{"id": "svginfo_change_background", "textContent": "Eftergrûn bewurker"},\n
+{"id": "svginfo_dim", "textContent": "Kanvasgrutte"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Eigenskippen bewurker"},\n
+{"id": "svginfo_height", "textContent": "Hichte:"},\n
+{"id": "svginfo_icons", "textContent": "Ikoangrutte"},\n
+{"id": "svginfo_image_props", "textContent": "Ôfbieldingseigenskippen"},\n
+{"id": "svginfo_lang", "textContent": "Taal"},\n
+{"id": "svginfo_title", "textContent": "Titel"},\n
+{"id": "svginfo_width", "textContent": "Breedte:"},\n
+{"id": "text", "title": "Tekst oanpasse"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Ûnder útlijne"},\n
+{"id": "tool_aligncenter", "title": "Midden útlijne"},\n
+{"id": "tool_alignleft", "title": "Lofts útlijne"},\n
+{"id": "tool_alignmiddle", "title": "Midden útlijne"},\n
+{"id": "tool_alignright", "title": "Rjochts útlijne"},\n
+{"id": "tool_aligntop", "title": "Boppe útlijne"},\n
+{"id": "tool_angle", "title": "Draaie"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Fet"},\n
+{"id": "tool_circle", "title": "Sirkel"},\n
+{"id": "tool_clear", "textContent": "Nije ôfbielding"},\n
+{"id": "tool_clone", "title": "Ûnderdiel duplisearje"},\n
+{"id": "tool_clone_multi", "title": "Ûnderdielen duplisearje"},\n
+{"id": "tool_delete", "title": "Ûnderdiel fuortsmite"},\n
+{"id": "tool_delete_multi", "title": "Ûnderdielen fuortsmite"},\n
+{"id": "tool_docprops", "textContent": "Dokuminteigenskippen"},\n
+{"id": "tool_docprops_cancel", "textContent": "Ôfbrekke"},\n
+{"id": "tool_docprops_save", "textContent": "Ok"},\n
+{"id": "tool_ellipse", "title": "Ellips"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Frije ellips"},\n
+{"id": "tool_fhpath", "title": "Potlead"},\n
+{"id": "tool_fhrect", "title": "Frije rjochthoeke"},\n
+{"id": "tool_font_size", "title": "Lettergrutte oanpasse"},\n
+{"id": "tool_group", "title": "Ûnderdielen groepearje"},\n
+{"id": "tool_image", "title": "Ôfbielding"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Skean"},\n
+{"id": "tool_line", "title": "Line"},\n
+{"id": "tool_move_bottom", "title": "Nei eftergrûn"},\n
+{"id": "tool_move_top", "title": "Nei foargrûn"},\n
+{"id": "tool_node_clone", "title": "Knooppunt duplisearje"},\n
+{"id": "tool_node_delete", "title": "Knooppunt fuortsmite"},\n
+{"id": "tool_node_link", "title": "Knooppunten keppelje"},\n
+{"id": "tool_opacity", "title": "Trochsichtigens oanpasse"},\n
+{"id": "tool_open", "textContent": "Ôfbielding iepenje"},\n
+{"id": "tool_path", "title": "Paad"},\n
+{"id": "tool_rect", "title": "Rjochthoeke"},\n
+{"id": "tool_redo", "title": "Op \'e nij"},\n
+{"id": "tool_reorient", "title": "Paad opnij orientearje"},\n
+{"id": "tool_save", "textContent": "Ôfbielding bewarje"},\n
+{"id": "tool_select", "title": "Selektearje"},\n
+{"id": "tool_source", "title": "Boarne oanpasse"},\n
+{"id": "tool_source_cancel", "textContent": "Ôfbrekke"},\n
+{"id": "tool_source_save", "textContent": "Feroarings tapasse"},\n
+{"id": "tool_square", "title": "Fjouwerkant"},\n
+{"id": "tool_text", "title": "Tekst"},\n
+{"id": "tool_topath", "title": "Omsette nei paad"},\n
+{"id": "tool_undo", "title": "Ungedien meitjse"},\n
+{"id": "tool_ungroup", "title": "Groepering opheffe"},\n
+{"id": "tool_wireframe", "title": "Triemodel"},\n
+{"id": "tool_zoom", "title": "Zoom"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Yn-/útzoome"},\n
+{"id": "sidepanel_handle", "textContent": "L a g e n", "title": "Sleep nei links/rjochts om it sidepaniel grutter as lytser te meitjen"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "Der wiene flaters yn de SVG-boarne.\\nWeromgean nei foarige SVG-boarne?", \n
+  "QignoreSourceChanges": "Feroarings yn SVG-boarne negeare?", \n
+  "QmoveElemsToLayer": "Selektearre ûnderdielen ferplaatse nei \'%s\'?", \n
+  "QwantToClear": "Ôfbielding leechmeitsje? Dit sil ek de skiednis fuortsmite!", \n
+  "cancel": "Ôfbrekke", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "Der is al in laach mei dy namme!", \n
+  "enterNewImgURL": "Jou de nije URL", \n
+  "enterNewLayerName": "Type in nije laachnamme", \n
+  "enterUniqueLayerName": "Type in unyke laachnamme", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Funksje wurdt net ûndersteund", \n
+  "invalidAttrValGiven": "Ferkearde waarde jûn", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "omleech", \n
+  "key_up": "omheech", \n
+  "layer": "Laach", \n
+  "layerHasThatName": "Laach hat dy namme al", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "Gjin ynhâld om te passen", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "Ok", \n
+  "pathCtrlPtTooltip": "Fersleepje dit knooppunt om de boocheigenskippen oan te passen.", \n
+  "pathNodeTooltip": "Fersleepje dit knooppunt as dûbelklik om it segmenttype oan te passen.", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9865</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ga.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ga.js.xml
new file mode 100644
index 0000000000..2bd77b35e3
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ga.js.xml
@@ -0,0 +1,199 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003295.76</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.ga.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Ailínigh i gcomparáid leis ..."},\n
+{"id": "angleLabel", "textContent": "uillinn:"},\n
+{"id": "bkgnd_color", "title": "Dath cúlra Athraigh / teimhneacht"},\n
+{"id": "circle_cx", "title": "Athraigh an ciorcal a chomhordú CX"},\n
+{"id": "circle_cy", "title": "Athraigh an ciorcal a chomhordú ga"},\n
+{"id": "circle_r", "title": "Athraigh an ciorcal&#39;s ga"},\n
+{"id": "cornerRadiusLabel", "textContent": "Ga Cúinne:"},\n
+{"id": "cornerRadiusLabel", "title": "Athraigh Dronuilleog Cúinne na Ga"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Athraigh Éilips&#39;s CX a chomhordú"},\n
+{"id": "ellipse_cy", "title": "Athraigh an Éilips a chomhordú ga"},\n
+{"id": "ellipse_rx", "title": "Éilips Athraigh an gha x"},\n
+{"id": "ellipse_ry", "title": "Éilips Athraigh an gha y"},\n
+{"id": "fill_color", "title": "Athraigh an dath a líonadh"},\n
+{"id": "fill_tool_bottom", "textContent": "líon:"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Laghdaigh do gach ábhar"},\n
+{"id": "fit_to_canvas", "textContent": "Laghdaigh ar chanbhás"},\n
+{"id": "fit_to_layer_content", "textContent": "Laghdaigh shraith ábhar a"},\n
+{"id": "fit_to_sel", "textContent": "Laghdaigh a roghnú"},\n
+{"id": "font_family", "title": "Athraigh an Cló Teaghlaigh"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "iheightLabel", "textContent": "airde:"},\n
+{"id": "image_height", "title": "Airde íomhá Athrú"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Athraigh an URL"},\n
+{"id": "image_width", "title": "Leithead íomhá Athrú"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "iwidthLabel", "textContent": "leithne:"},\n
+{"id": "largest_object", "textContent": "réad is mó"},\n
+{"id": "layer_delete", "title": "Scrios Sraith"},\n
+{"id": "layer_down", "title": "Bog Sraith Síos"},\n
+{"id": "layer_new", "title": "Sraith Nua"},\n
+{"id": "layer_rename", "title": "Athainmnigh Sraith"},\n
+{"id": "layer_up", "title": "Bog Sraith Suas"},\n
+{"id": "layersLabel", "textContent": "Layers:"},\n
+{"id": "line_x1", "title": "Athraigh an líne tosaigh a chomhordú x"},\n
+{"id": "line_x2", "title": "Athraigh an líne deireadh x chomhordú"},\n
+{"id": "line_y1", "title": "Athraigh an líne tosaigh a chomhordú y"},\n
+{"id": "line_y2", "title": "Athrú ar líne deireadh y chomhordú"},\n
+{"id": "page", "textContent": "leathanach"},\n
+{"id": "palette", "title": "Cliceáil chun athrú a líonadh dath, aistriú-cliceáil chun dath a athrú stróc"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Airde dronuilleog Athrú"},\n
+{"id": "rect_width_tool", "title": "Leithead dronuilleog Athrú"},\n
+{"id": "relativeToLabel", "textContent": "i gcomparáid leis:"},\n
+{"id": "rheightLabel", "textContent": "Airde:"},\n
+{"id": "rwidthLabel", "textContent": "leithead:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Roghnaigh réamhshainithe:"},\n
+{"id": "selected_objects", "textContent": "réada tofa"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "lú réad"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Dath stróc Athrú"},\n
+{"id": "stroke_style", "title": "Athraigh an stíl Fleasc stróc"},\n
+{"id": "stroke_tool_bottom", "textContent": "buille:"},\n
+{"id": "stroke_width", "title": "Leithead stróc Athrú"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Airde:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Leithne:"},\n
+{"id": "text", "title": "Inneachar Athraigh téacs"},\n
+{"id": "tool_alignbottom", "title": "Cineál Bun"},\n
+{"id": "tool_aligncenter", "title": "Ailínigh sa Lár"},\n
+{"id": "tool_alignleft", "title": "Ailínigh ar Chlé"},\n
+{"id": "tool_alignmiddle", "title": "Cineál Middle"},\n
+{"id": "tool_alignright", "title": "Ailínigh ar Dheis"},\n
+{"id": "tool_aligntop", "title": "Cineál Barr"},\n
+{"id": "tool_angle", "title": "Uillinn rothlaithe Athrú"},\n
+{"id": "tool_bold", "title": "Trom Téacs"},\n
+{"id": "tool_circle", "title": "Ciorcal"},\n
+{"id": "tool_clear", "textContent": "Íomhá Nua"},\n
+{"id": "tool_clone", "title": "Eilimint Chlónála"},\n
+{"id": "tool_clone_multi", "title": "Eilimintí Chlónála"},\n
+{"id": "tool_delete", "title": "Scrios Eilimint"},\n
+{"id": "tool_delete_multi", "title": "Eilimintí Roghnaithe Scrios [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "Doiciméad Airíonna"},\n
+{"id": "tool_docprops_cancel", "textContent": "Cealaigh"},\n
+{"id": "tool_docprops_save", "textContent": "Sábháil"},\n
+{"id": "tool_ellipse", "title": "Éilips"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Phionsail Uirlis"},\n
+{"id": "tool_fhrect", "title": "Saor Hand Dronuilleog"},\n
+{"id": "tool_font_size", "title": "Athraigh Clómhéid"},\n
+{"id": "tool_group", "title": "Eilimintí Grúpa"},\n
+{"id": "tool_image", "title": "Íomhá Uirlis"},\n
+{"id": "tool_italic", "title": "Iodálach Téacs"},\n
+{"id": "tool_line", "title": "Uirlis Líne"},\n
+{"id": "tool_move_bottom", "title": "Téigh go Bun"},\n
+{"id": "tool_move_top", "title": "Téigh go Barr"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Athraigh roghnaithe teimhneacht mír"},\n
+{"id": "tool_open", "textContent": "Íomhá Oscailte"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Dronuilleog"},\n
+{"id": "tool_redo", "title": "Athdhéan"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Sábháil Íomhá"},\n
+{"id": "tool_select", "title": "Roghnaigh Uirlis"},\n
+{"id": "tool_source", "title": "Cuir Foinse"},\n
+{"id": "tool_source_cancel", "textContent": "Cealaigh"},\n
+{"id": "tool_source_save", "textContent": "Sábháil"},\n
+{"id": "tool_square", "title": "Cearnóg"},\n
+{"id": "tool_text", "title": "Téacs Uirlis"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Cealaigh"},\n
+{"id": "tool_ungroup", "title": "Eilimintí Díghrúpáil"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zúmáil Uirlis"},\n
+{"id": "zoomLabel", "textContent": "súmáil isteach:"},\n
+{"id": "zoom_panel", "title": "Athraigh súmáil leibhéal"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type"\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>8629</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.gl.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.gl.js.xml
new file mode 100644
index 0000000000..35d1899d2a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.gl.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003295.96</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.gl.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Aliñar en relación a ..."},\n
+{"id": "bkgnd_color", "title": "Mudar a cor de fondo / Opacidade"},\n
+{"id": "circle_cx", "title": "Cx Cambiar círculo de coordenadas"},\n
+{"id": "circle_cy", "title": "Círculo Cambio cy coordinar"},\n
+{"id": "circle_r", "title": "Cambiar círculo de raio"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Cambiar Corner Rectangle Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Cambiar elipse cx coordinar"},\n
+{"id": "ellipse_cy", "title": "Elipse Cambio cy coordinar"},\n
+{"id": "ellipse_rx", "title": "Raios X Change elipse"},\n
+{"id": "ellipse_ry", "title": "Radio y Change elipse"},\n
+{"id": "fill_color", "title": "Cambia-la cor de recheo"},\n
+{"id": "fitToContent", "textContent": "Axustar ó contido"},\n
+{"id": "fit_to_all", "textContent": "Axustar a todo o contido"},\n
+{"id": "fit_to_canvas", "textContent": "Axustar a pantalla"},\n
+{"id": "fit_to_layer_content", "textContent": "Axustar o contido da capa de"},\n
+{"id": "fit_to_sel", "textContent": "Axustar a selección"},\n
+{"id": "font_family", "title": "Cambiar fonte Familia"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Cambiar altura da imaxe"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Cambiar URL"},\n
+{"id": "image_width", "title": "Cambiar o ancho da imaxe"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "maior obxecto"},\n
+{"id": "layer_delete", "title": "Delete Layer"},\n
+{"id": "layer_down", "title": "Move capa inferior"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Move Layer Up"},\n
+{"id": "layersLabel", "textContent": "Capas:"},\n
+{"id": "line_x1", "title": "Cambie a liña de partida coordenada x"},\n
+{"id": "line_x2", "title": "Cambie a liña acaba coordenada x"},\n
+{"id": "line_y1", "title": "Cambio na liña do recurso coordinada y"},\n
+{"id": "line_y2", "title": "Salto de liña acaba coordinada y"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "Portada"},\n
+{"id": "palette", "title": "Preme aquí para cambiar a cor de recheo, Shift-clic para cambiar a cor do curso"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Cambiar altura do rectángulo"},\n
+{"id": "rect_width_tool", "title": "Cambiar a largo rectángulo"},\n
+{"id": "relativeToLabel", "textContent": "en relación ao:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Seleccione por defecto:"},\n
+{"id": "selected_objects", "textContent": "obxectos elixidos"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "menor obxecto"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Cambiar a cor do curso"},\n
+{"id": "stroke_style", "title": "Modifica o estilo do trazo do curso"},\n
+{"id": "stroke_width", "title": "Cambiar o ancho do curso"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Altura:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Ancho:"},\n
+{"id": "text", "title": "Cambiar o contido de texto"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align bottom"},\n
+{"id": "tool_aligncenter", "title": "Centrar"},\n
+{"id": "tool_alignleft", "title": "Aliñar á Esquerda"},\n
+{"id": "tool_alignmiddle", "title": "Aliñar Medio"},\n
+{"id": "tool_alignright", "title": "Aliñar á Dereita"},\n
+{"id": "tool_aligntop", "title": "Align Top"},\n
+{"id": "tool_angle", "title": "Cambiar o ángulo de xiro"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "Nova Imaxe"},\n
+{"id": "tool_clone", "title": "Clon Element"},\n
+{"id": "tool_clone_multi", "title": "Elementos Clon"},\n
+{"id": "tool_delete", "title": "Eliminar Elemento"},\n
+{"id": "tool_delete_multi", "title": "Eliminar elementos seleccionados"},\n
+{"id": "tool_docprops", "textContent": "Propriedades do Documento"},\n
+{"id": "tool_docprops_cancel", "textContent": "Cancelar"},\n
+{"id": "tool_docprops_save", "textContent": "Gardar"},\n
+{"id": "tool_ellipse", "title": "Elipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Ferramenta Lapis"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Rectangle"},\n
+{"id": "tool_font_size", "title": "Mudar tamaño de letra"},\n
+{"id": "tool_group", "title": "Elementos do grupo"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Texto en cursiva"},\n
+{"id": "tool_line", "title": "Ferramenta Liña"},\n
+{"id": "tool_move_bottom", "title": "Move a Bottom"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Cambia a opacidade elemento seleccionado"},\n
+{"id": "tool_open", "textContent": "Abrir Imaxe"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rectángulo"},\n
+{"id": "tool_redo", "title": "Volver"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Gardar Imaxe"},\n
+{"id": "tool_select", "title": "Seleccionar a ferramenta"},\n
+{"id": "tool_source", "title": "Fonte Editar"},\n
+{"id": "tool_source_cancel", "textContent": "Cancelar"},\n
+{"id": "tool_source_save", "textContent": "Gardar"},\n
+{"id": "tool_square", "title": "Cadrado"},\n
+{"id": "tool_text", "title": "Ferramenta de Texto"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Desfacer"},\n
+{"id": "tool_ungroup", "title": "Elementos Desagrupadas"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Cambiar o nivel de zoom"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9704</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.he.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.he.js.xml
new file mode 100644
index 0000000000..74ee42f4cd
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.he.js.xml
@@ -0,0 +1,278 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003296.16</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.he.js</string> </value>
+        </item>
+        <item>
+            <key> <string>__propsets__</string> </key>
+            <value>
+              <tuple>
+                <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "יישור ביחס ..."},\n
+{"id": "bkgnd_color", "title": "שנה את צבע הרקע / אטימות"},\n
+{"id": "circle_cx", "title": "CX מעגל של שנה לתאם"},\n
+{"id": "circle_cy", "title": "מעגל שנה של cy לתאם"},\n
+{"id": "circle_r", "title": "מעגל שנה של רדיוס"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "לשנות מלבן פינת רדיוס"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "שינוי של אליפסה CX לתאם"},\n
+{"id": "ellipse_cy", "title": "אליפסה שינוי של cy לתאם"},\n
+{"id": "ellipse_rx", "title": "אליפסה שינוי של רדיוס x"},\n
+{"id": "ellipse_ry", "title": "אליפסה שינוי של Y רדיוס"},\n
+{"id": "fill_color", "title": "שינוי צבע מילוי"},\n
+{"id": "fitToContent", "textContent": "התאם תוכן"},\n
+{"id": "fit_to_all", "textContent": "התאם התכנים"},\n
+{"id": "fit_to_canvas", "textContent": "התאם בד"},\n
+{"id": "fit_to_layer_content", "textContent": "מתאים לתוכן שכבת"},\n
+{"id": "fit_to_sel", "textContent": "התאם הבחירה"},\n
+{"id": "font_family", "title": "שינוי גופן משפחה"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "שינוי גובה התמונה"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "שינוי כתובת"},\n
+{"id": "image_width", "title": "שינוי רוחב התמונה"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "האובייקט הגדול"},\n
+{"id": "layer_delete", "title": "מחיקת שכבה"},\n
+{"id": "layer_down", "title": "הזז למטה שכבה"},\n
+{"id": "layer_new", "title": "שכבהחדשה"},\n
+{"id": "layer_rename", "title": "שינוי שם שכבה"},\n
+{"id": "layer_up", "title": "העבר שכבה Up"},\n
+{"id": "layersLabel", "textContent": "שכבות:"},\n
+{"id": "line_x1", "title": "שינוי קו ההתחלה של x לתאם"},\n
+{"id": "line_x2", "title": "שינוי קו הסיום של x לתאם"},\n
+{"id": "line_y1", "title": "שינוי קו ההתחלה של Y לתאם"},\n
+{"id": "line_y2", "title": "שינוי קו הסיום של Y לתאם"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "דף"},\n
+{"id": "palette", "title": "לחץ כדי לשנות צבע מילוי, לחץ על Shift-לשנות צבע שבץ"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "שינוי גובה המלבן"},\n
+{"id": "rect_width_tool", "title": "שינוי רוחב המלבן"},\n
+{"id": "relativeToLabel", "textContent": "יחסית:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "בחר מוגדרים מראש:"},\n
+{"id": "selected_objects", "textContent": "elected objects"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "הקטן אובייקט"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "שינוי צבע שבץ"},\n
+{"id": "stroke_style", "title": "דש שבץ שינוי סגנון"},\n
+{"id": "stroke_width", "title": "שינוי רוחב שבץ"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "גובה:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "רוחב:"},\n
+{"id": "text", "title": "שינוי תוכן טקסט"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "יישור תחתון"},\n
+{"id": "tool_aligncenter", "title": "ישור לאמצע"},\n
+{"id": "tool_alignleft", "title": "יישור לשמאל"},\n
+{"id": "tool_alignmiddle", "title": "יישור התיכון"},\n
+{"id": "tool_alignright", "title": "יישור לימין"},\n
+{"id": "tool_aligntop", "title": "יישור למעלה"},\n
+{"id": "tool_angle", "title": "שינוי זווית הסיבוב"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "טקסט מודגש"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "תמונה חדשה"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "אלמנטים המשובטים"},\n
+{"id": "tool_delete", "title": "מחיקת אלמנט"},\n
+{"id": "tool_delete_multi", "title": "אלמנטים נבחרים מחק"},\n
+{"id": "tool_docprops", "textContent": "מאפייני מסמך"},\n
+{"id": "tool_docprops_cancel", "textContent": "ביטול"},\n
+{"id": "tool_docprops_save", "textContent": "לשמור"},\n
+{"id": "tool_ellipse", "title": "אליפסה"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand אליפסה"},\n
+{"id": "tool_fhpath", "title": "כלי העיפרון"},\n
+{"id": "tool_fhrect", "title": "Free-Hand מלבן"},\n
+{"id": "tool_font_size", "title": "שנה גודל גופן"},\n
+{"id": "tool_group", "title": "אלמנטים הקבוצה"},\n
+{"id": "tool_image", "title": "כלי תמונה"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "טקסט נטוי"},\n
+{"id": "tool_line", "title": "כלי הקו"},\n
+{"id": "tool_move_bottom", "title": "הזז למטה"},\n
+{"id": "tool_move_top", "title": "עבור לראש הדף"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "שינוי הפריט הנבחר אטימות"},\n
+{"id": "tool_open", "textContent": "פתח תמונה"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "מלבן"},\n
+{"id": "tool_redo", "title": "בצע שוב"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "שמור תמונה"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "מקור ערוך"},\n
+{"id": "tool_source_cancel", "textContent": "ביטול"},\n
+{"id": "tool_source_save", "textContent": "לשמור"},\n
+{"id": "tool_square", "title": "מרובע"},\n
+{"id": "tool_text", "title": "כלי טקסט"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "בטל"},\n
+{"id": "tool_ungroup", "title": "אלמנטים פרק קבוצה"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "זום כלי"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "שינוי גודל תצוגה"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10132</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="PropertySheet" module="OFS.PropertySheets"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_md</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>xmlns</string> </key>
+                    <value> <unicode>http://apache.org/dav/props/</unicode> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_properties</string> </key>
+            <value>
+              <tuple>
+                <dictionary>
+                  <item>
+                      <key> <string>id</string> </key>
+                      <value> <unicode>executable</unicode> </value>
+                  </item>
+                  <item>
+                      <key> <string>meta</string> </key>
+                      <value>
+                        <dictionary>
+                          <item>
+                              <key> <string>__xml_attrs__</string> </key>
+                              <value>
+                                <dictionary/>
+                              </value>
+                          </item>
+                        </dictionary>
+                      </value>
+                  </item>
+                  <item>
+                      <key> <string>type</string> </key>
+                      <value> <string>string</string> </value>
+                  </item>
+                </dictionary>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>executable</string> </key>
+            <value> <string>T</string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hi.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hi.js.xml
new file mode 100644
index 0000000000..f710320090
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hi.js.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003296.47</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.hi.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "संरेखित करें रिश्तेदार को ..."},\n
+{"id": "bkgnd_color", "title": "पृष्ठभूमि का रंग बदल / अस्पष्टता"},\n
+{"id": "circle_cx", "title": "बदल रहा है चक्र cx समन्वय"},\n
+{"id": "circle_cy", "title": "परिवर्तन चक्र cy समन्वय है"},\n
+{"id": "circle_r", "title": "बदल रहा है चक्र त्रिज्या"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "कोने का रेडियस"},\n
+{"id": "cornerRadiusLabel", "title": "बदलें आयत कॉर्नर त्रिज्या"},\n
+{"id": "curve_segments", "textContent": "घुमाव"},\n
+{"id": "ellipse_cx", "title": "बदलें दीर्घवृत्त है cx समन्वय"},\n
+{"id": "ellipse_cy", "title": "बदलें दीर्घवृत्त cy समन्वय है"},\n
+{"id": "ellipse_rx", "title": "बदल रहा है दीर्घवृत्त x त्रिज्या"},\n
+{"id": "ellipse_ry", "title": "बदल रहा है दीर्घवृत्त y त्रिज्या"},\n
+{"id": "fill_color", "title": "बदलें का रंग भरना"},\n
+{"id": "fitToContent", "textContent": "सामग्री के लिए फिट"},\n
+{"id": "fit_to_all", "textContent": "सभी सामग्री के लिए फिट"},\n
+{"id": "fit_to_canvas", "textContent": "फिट कैनवास को"},\n
+{"id": "fit_to_layer_content", "textContent": "फिट परत सामग्री के लिए"},\n
+{"id": "fit_to_sel", "textContent": "चयन के लिए फिट"},\n
+{"id": "font_family", "title": "बदलें फ़ॉन्ट परिवार"},\n
+{"id": "icon_large", "textContent": "बड़ा"},\n
+{"id": "icon_medium", "textContent": "मध्यम"},\n
+{"id": "icon_small", "textContent": "छोटा"},\n
+{"id": "icon_xlarge", "textContent": "बहुत बड़ा"},\n
+{"id": "image_height", "title": "बदलें छवि ऊँचाई"},\n
+{"id": "image_opt_embed", "textContent": "एम्बेड डेटा (स्थानीय फ़ाइलें)"},\n
+{"id": "image_opt_ref", "textContent": "फाइल के संदर्भ का प्रयोग"},\n
+{"id": "image_url", "title": "बदलें यूआरएल"},\n
+{"id": "image_width", "title": "बदलें छवि चौड़ाई"},\n
+{"id": "includedImages", "textContent": "शामिल छवियाँ"},\n
+{"id": "largest_object", "textContent": "सबसे बड़ी वस्तु"},\n
+{"id": "layer_delete", "title": "परत हटाएँ"},\n
+{"id": "layer_down", "title": "परत नीचे ले जाएँ"},\n
+{"id": "layer_new", "title": "नई परत"},\n
+{"id": "layer_rename", "title": "परत का नाम बदलें"},\n
+{"id": "layer_up", "title": "परत ऊपर ले जाएँ"},\n
+{"id": "layersLabel", "textContent": "परतें:"},\n
+{"id": "line_x1", "title": "बदल रहा है लाइन x समन्वय शुरू"},\n
+{"id": "line_x2", "title": "बदल रहा है लाइन x समन्वय समाप्त"},\n
+{"id": "line_y1", "title": "बदलें रेखा y शुरू हो रहा है समन्वय"},\n
+{"id": "line_y2", "title": "बदलें रेखा y अंत है समन्वय"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "पृष्ठ"},\n
+{"id": "palette", "title": "रंग बदलने पर क्लिक करें, बदलाव भरने के क्लिक करने के लिए स्ट्रोक का रंग बदलने के लिए"},\n
+{"id": "path_node_x", "title": "नोड का x समकक्ष बदलें"},\n
+{"id": "path_node_y", "title": "नोड का y समकक्ष बदलें"},\n
+{"id": "rect_height_tool", "title": "बदलें आयत ऊंचाई"},\n
+{"id": "rect_width_tool", "title": "बदलें आयत चौड़ाई"},\n
+{"id": "relativeToLabel", "textContent": "रिश्तेदार को:"},\n
+{"id": "seg_type", "title": "वर्ग प्रकार बदलें"},\n
+{"id": "selLayerLabel", "textContent": "अंश को ले जाएँ:"},\n
+{"id": "selLayerNames", "title": "चयनित अंश को दूसरी परत पर  ले जाएँ"},\n
+{"id": "selectedPredefined", "textContent": "चुनें पूर्वनिर्धारित:"},\n
+{"id": "selected_objects", "textContent": "निर्वाचित वस्तुओं"},\n
+{"id": "selected_x", "title": "X समकक्ष बदलें "},\n
+{"id": "selected_y", "title": "Y समकक्ष बदलें"},\n
+{"id": "smallest_object", "textContent": "छोटी से छोटी वस्तु"},\n
+{"id": "straight_segments", "textContent": "सीधे वर्ग"},\n
+{"id": "stroke_color", "title": "बदलें स्ट्रोक रंग"},\n
+{"id": "stroke_style", "title": "बदलें स्ट्रोक डेश शैली"},\n
+{"id": "stroke_width", "title": "बदलें स्ट्रोक चौड़ाई"},\n
+{"id": "svginfo_bg_note", "textContent": "नोट: पृष्ठभूमि छवि के साथ नहीं बचायी जाएगी"},\n
+{"id": "svginfo_change_background", "textContent": "संपादक पृष्ठभूमि"},\n
+{"id": "svginfo_dim", "textContent": "कैनवास आयाम"},\n
+{"id": "svginfo_editor_prefs", "textContent": "संपादक वरीयताएँ"},\n
+{"id": "svginfo_height", "textContent": "ऊँचाई:"},\n
+{"id": "svginfo_icons", "textContent": "चिह्न का आकार"},\n
+{"id": "svginfo_image_props", "textContent": "छवि के गुण"},\n
+{"id": "svginfo_lang", "textContent": "भाषा"},\n
+{"id": "svginfo_title", "textContent": "शीर्षक"},\n
+{"id": "svginfo_width", "textContent": "चौड़ाई:"},\n
+{"id": "text", "title": "बदलें पाठ सामग्री"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "तलमेंपंक्तिबद्धकरें"},\n
+{"id": "tool_aligncenter", "title": "मध्य में समंजित करें"},\n
+{"id": "tool_alignleft", "title": " पंक्तिबद्ध करें"},\n
+{"id": "tool_alignmiddle", "title": "मध्य संरेखित करें"},\n
+{"id": "tool_alignright", "title": "दायाँपंक्तिबद्धकरें"},\n
+{"id": "tool_aligntop", "title": "शीर्षमेंपंक्तिबद्धकरें"},\n
+{"id": "tool_angle", "title": "बदलें रोटेशन कोण"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "मोटा पाठ"},\n
+{"id": "tool_circle", "title": "वृत्त"},\n
+{"id": "tool_clear", "textContent": "नई छवि"},\n
+{"id": "tool_clone", "title": "क्लोन अंश"},\n
+{"id": "tool_clone_multi", "title": "क्लोन अंश को"},\n
+{"id": "tool_delete", "title": "हटाएँ "},\n
+{"id": "tool_delete_multi", "title": "हटाएँ चयनित अंश"},\n
+{"id": "tool_docprops", "textContent": "दस्तावेज़ गुण"},\n
+{"id": "tool_docprops_cancel", "textContent": "रद्द करें"},\n
+{"id": "tool_docprops_save", "textContent": "बचाना"},\n
+{"id": "tool_ellipse", "title": "दीर्घवृत्त"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "नि: शुल्क हाथ दीर्घवृत्त"},\n
+{"id": "tool_fhpath", "title": "पेंसिल उपकरण"},\n
+{"id": "tool_fhrect", "title": "नि: शुल्क हाथ आयत"},\n
+{"id": "tool_font_size", "title": "फ़ॉन्ट का आकार बदलें"},\n
+{"id": "tool_group", "title": "समूह तत्वों"},\n
+{"id": "tool_image", "title": "छवि उपकरण"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "इटैलिक पाठ"},\n
+{"id": "tool_line", "title": "लाइन उपकरण"},\n
+{"id": "tool_move_bottom", "title": "नीचे ले जाएँ"},\n
+{"id": "tool_move_top", "title": "ऊपर ले जाएँ"},\n
+{"id": "tool_node_clone", "title": "नोड क्लोन"},\n
+{"id": "tool_node_delete", "title": "नोड हटायें"},\n
+{"id": "tool_node_link", "title": "कड़ी नियंत्रण बिंदु"},\n
+{"id": "tool_opacity", "title": "पारदर्शिता बदलें"},\n
+{"id": "tool_open", "textContent": "छवि खोलें"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "आयत"},\n
+{"id": "tool_redo", "title": "फिर से करें"},\n
+{"id": "tool_reorient", "title": "पथ को नई दिशा दें"},\n
+{"id": "tool_save", "textContent": "सहेजें छवि"},\n
+{"id": "tool_select", "title": "उपकरण चुनें"},\n
+{"id": "tool_source", "title": "स्रोत में बदलाव करें"},\n
+{"id": "tool_source_cancel", "textContent": "रद्द करें"},\n
+{"id": "tool_source_save", "textContent": "बचाना"},\n
+{"id": "tool_square", "title": "वर्ग"},\n
+{"id": "tool_text", "title": "पाठ उपकरण"},\n
+{"id": "tool_topath", "title": "पथ में बदलें"},\n
+{"id": "tool_undo", "title": "पूर्ववत करें"},\n
+{"id": "tool_ungroup", "title": "अंश को समूह से अलग करें"},\n
+{"id": "tool_wireframe", "title": "रूपरेखा मोड"},\n
+{"id": "tool_zoom", "title": "ज़ूम उपकरण"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "बदलें स्तर ज़ूम"},\n
+{"id": "sidepanel_handle", "textContent": "प र तें", "title": "दायें/बाएं घसीट कर आकार बदलें"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "आपके एस.वी.जी. स्रोत में त्रुटियों थी.\\nक्या आप मूल एस.वी.जी स्रोत पर वापिस जाना चाहते हैं?", \n
+  "QignoreSourceChanges": "एसवीजी स्रोत से लाये बदलावों को ध्यान न दें?", \n
+  "QmoveElemsToLayer": "चयनित अंश को परत \'%s\' पर ले जाएँ ?", \n
+  "QwantToClear": "क्या आप छवि साफ़ करना चाहते हैं?\\nयह आपके उन्डू  इतिहास को भी मिटा देगा!", \n
+  "cancel": "रद्द करें", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "इस नाम कि परत पहले से मौजूद है !", \n
+  "enterNewImgURL": "नई छवि URL दर्ज करें", \n
+  "enterNewLayerName": "कृपया परत का एक नया नाम डालें", \n
+  "enterUniqueLayerName": "कृपया परत का एक अद्वितीय नाम डालें", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "सुविधा असमर्थित है", \n
+  "invalidAttrValGiven": "अमान्य मूल्य", \n
+  "key_backspace": "बैकस्पेस", \n
+  "key_del": "हटायें", \n
+  "key_down": "नीचे", \n
+  "key_up": "ऊपर", \n
+  "layer": "परत", \n
+  "layerHasThatName": "परत का पहले से ही यही नाम है", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "कोई सामग्री फिट करने के लिए उपलब्ध नहीं", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "ठीक", \n
+  "pathCtrlPtTooltip": "नियंत्रण बिंदु को खींचें, घुमाव के गुणो समायोजित करने के लिए", \n
+  "pathNodeTooltip": "नोड खींचें उसे हिलाने के लिए. डबल-क्लिक कीजिये वर्ग के प्रकार को बदलने के लिए", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>13808</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hr.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hr.js.xml
new file mode 100644
index 0000000000..56e7a17740
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hr.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003296.68</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.hr.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Poravnaj u odnosu na ..."},\n
+{"id": "bkgnd_color", "title": "Promijeni boju pozadine / neprozirnost"},\n
+{"id": "circle_cx", "title": "Promjena krug&#39;s CX koordinirati"},\n
+{"id": "circle_cy", "title": "Cy Promijeni krug je koordinirati"},\n
+{"id": "circle_r", "title": "Promjena krug je radijusa"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Promijeni Pravokutnik Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Promjena elipsa&#39;s CX koordinirati"},\n
+{"id": "ellipse_cy", "title": "Cy Promijeni elipsa je koordinirati"},\n
+{"id": "ellipse_rx", "title": "Promijeniti elipsa&#39;s x polumjer"},\n
+{"id": "ellipse_ry", "title": "Promjena elipsa&#39;s y polumjer"},\n
+{"id": "fill_color", "title": "Promjena boje ispune"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Prilagodi na sve sadržaje"},\n
+{"id": "fit_to_canvas", "textContent": "Prilagodi na platnu"},\n
+{"id": "fit_to_layer_content", "textContent": "Prilagodi sloj sadržaj"},\n
+{"id": "fit_to_sel", "textContent": "Prilagodi odabir"},\n
+{"id": "font_family", "title": "Promjena fontova"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Promijeni sliku visina"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Promijeni URL"},\n
+{"id": "image_width", "title": "Promijeni sliku Å¡irine"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "najveći objekt"},\n
+{"id": "layer_delete", "title": "Brisanje sloja"},\n
+{"id": "layer_down", "title": "Move Layer Down"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Preimenuj Layer"},\n
+{"id": "layer_up", "title": "Move Layer Up"},\n
+{"id": "layersLabel", "textContent": "Layers:"},\n
+{"id": "line_x1", "title": "Promijeni linija je početak x koordinatu"},\n
+{"id": "line_x2", "title": "Promjena linije završetak x koordinatu"},\n
+{"id": "line_y1", "title": "Promijeni linija je početak y koordinatu"},\n
+{"id": "line_y2", "title": "Promjena linije završetak y koordinatu"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "stranica"},\n
+{"id": "palette", "title": "Kliknite promijeniti boju ispune, shift-click to promijeniti boju moždanog udara"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Promijeni pravokutnik visine"},\n
+{"id": "rect_width_tool", "title": "Promijeni pravokutnik Å¡irine"},\n
+{"id": "relativeToLabel", "textContent": "u odnosu na:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Select predefinirane:"},\n
+{"id": "selected_objects", "textContent": "izabrani objekti"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "najmanji objekt"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Promjena boje moždani udar"},\n
+{"id": "stroke_style", "title": "Promijeni stroke crtica stil"},\n
+{"id": "stroke_width", "title": "Promjena širine moždani udar"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Visina:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Å irina:"},\n
+{"id": "text", "title": "Promjena sadržaja teksta"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Poravnaj dolje"},\n
+{"id": "tool_aligncenter", "title": "Centriraj"},\n
+{"id": "tool_alignleft", "title": "Poravnaj lijevo"},\n
+{"id": "tool_alignmiddle", "title": "Poravnaj Srednji"},\n
+{"id": "tool_alignright", "title": "Poravnaj desno"},\n
+{"id": "tool_aligntop", "title": "Poravnaj Top"},\n
+{"id": "tool_angle", "title": "Promijeni rotation angle"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Podebljani tekst"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "Nove slike"},\n
+{"id": "tool_clone", "title": "Klon Element"},\n
+{"id": "tool_clone_multi", "title": "Klon Elementi"},\n
+{"id": "tool_delete", "title": "Brisanje elemenata"},\n
+{"id": "tool_delete_multi", "title": "Delete Selected Elements [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "Svojstva dokumenta"},\n
+{"id": "tool_docprops_cancel", "textContent": "Odustani"},\n
+{"id": "tool_docprops_save", "textContent": "Spremiti"},\n
+{"id": "tool_ellipse", "title": "Elipsa"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Pravokutnik"},\n
+{"id": "tool_font_size", "title": "Change font size"},\n
+{"id": "tool_group", "title": "Grupa Elementi"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Text"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Move to Bottom"},\n
+{"id": "tool_move_top", "title": "Pomakni na vrh"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Promjena odabrane stavke neprozirnost"},\n
+{"id": "tool_open", "textContent": "Otvori sliku"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Pravokutnik"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Spremanje slike"},\n
+{"id": "tool_select", "title": "Odaberite alat"},\n
+{"id": "tool_source", "title": "Uredi Source"},\n
+{"id": "tool_source_cancel", "textContent": "Odustani"},\n
+{"id": "tool_source_save", "textContent": "Spremiti"},\n
+{"id": "tool_square", "title": "Kvadrat"},\n
+{"id": "tool_text", "title": "Tekst Alat"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Poništi"},\n
+{"id": "tool_ungroup", "title": "Razgrupiranje Elementi"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Alat za zumiranje"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Promjena razine zumiranja"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9755</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hu.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hu.js.xml
new file mode 100644
index 0000000000..9f7646aed3
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hu.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003296.88</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.hu.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Képest Igazítás ..."},\n
+{"id": "bkgnd_color", "title": "Change background color / homályosság"},\n
+{"id": "circle_cx", "title": "Change kör CX koordináta"},\n
+{"id": "circle_cy", "title": "Change kör cy koordináta"},\n
+{"id": "circle_r", "title": "Change kör sugara"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Change téglalap sarok sugara"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Change ellipszis&#39;s CX koordináta"},\n
+{"id": "ellipse_cy", "title": "Change ellipszis&#39;s cy koordináta"},\n
+{"id": "ellipse_rx", "title": "Change ellipszis&#39;s x sugarú"},\n
+{"id": "ellipse_ry", "title": "Change ellipszis&#39;s y sugara"},\n
+{"id": "fill_color", "title": "Change töltse color"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Illeszkednek az összes tartalom"},\n
+{"id": "fit_to_canvas", "textContent": "Igazítás a vászonra"},\n
+{"id": "fit_to_layer_content", "textContent": "Igazítás a réteg tartalma"},\n
+{"id": "fit_to_sel", "textContent": "Igazítás a kiválasztási"},\n
+{"id": "font_family", "title": "Change Betűcsalád"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Kép módosítása height"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Change URL"},\n
+{"id": "image_width", "title": "Change kép szélessége"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "legnagyobb objektum"},\n
+{"id": "layer_delete", "title": "Réteg törlése"},\n
+{"id": "layer_down", "title": "Mozgatása lefelé"},\n
+{"id": "layer_new", "title": "Új réteg"},\n
+{"id": "layer_rename", "title": "Réteg átnevezése"},\n
+{"id": "layer_up", "title": "Move Layer Up"},\n
+{"id": "layersLabel", "textContent": "Rétegből:"},\n
+{"id": "line_x1", "title": "A sor kezd x koordináta"},\n
+{"id": "line_x2", "title": "A sor vége az x koordináta"},\n
+{"id": "line_y1", "title": "A sor kezd y koordináta"},\n
+{"id": "line_y2", "title": "A sor vége az y koordináta"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "Page"},\n
+{"id": "palette", "title": "Kattints ide a változások töltse szín, shift-click változtatni stroke color"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Change téglalap magassága"},\n
+{"id": "rect_width_tool", "title": "Change téglalap szélessége"},\n
+{"id": "relativeToLabel", "textContent": "relatív hogy:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Válassza ki előre definiált:"},\n
+{"id": "selected_objects", "textContent": "választott tárgyak"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "legkisebb objektum"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Change stroke color"},\n
+{"id": "stroke_style", "title": "Change stroke kötőjel style"},\n
+{"id": "stroke_width", "title": "Change stroke width"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Magasság:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Szélesség:"},\n
+{"id": "text", "title": "A szöveg tartalma"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Alulra igazítás"},\n
+{"id": "tool_aligncenter", "title": "Középre igazítás"},\n
+{"id": "tool_alignleft", "title": "Balra igazítás"},\n
+{"id": "tool_alignmiddle", "title": "Közép-align"},\n
+{"id": "tool_alignright", "title": "Jobbra igazítás"},\n
+{"id": "tool_aligntop", "title": "Align Top"},\n
+{"id": "tool_angle", "title": "Váltás forgás szög"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Félkövér szöveg"},\n
+{"id": "tool_circle", "title": "Körbe"},\n
+{"id": "tool_clear", "textContent": "Új kép"},\n
+{"id": "tool_clone", "title": "Klónok Element"},\n
+{"id": "tool_clone_multi", "title": "Klón Elements"},\n
+{"id": "tool_delete", "title": "Delete Element"},\n
+{"id": "tool_delete_multi", "title": "A kijelölt elemek"},\n
+{"id": "tool_docprops", "textContent": "Dokumentum tulajdonságai"},\n
+{"id": "tool_docprops_cancel", "textContent": "Szakítani"},\n
+{"id": "tool_docprops_save", "textContent": "Ment"},\n
+{"id": "tool_ellipse", "title": "Ellipszisszelet"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Ceruza eszköz"},\n
+{"id": "tool_fhrect", "title": "Free-Hand téglalap"},\n
+{"id": "tool_font_size", "title": "Change font size"},\n
+{"id": "tool_group", "title": "Csoport elemei"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Dőlt szöveg"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Mozgatás lefelé"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "A kijelölt elem opacity"},\n
+{"id": "tool_open", "textContent": "Kép megnyitása"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Téglalapban"},\n
+{"id": "tool_redo", "title": "Megismétléséhez"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Kép mentése más"},\n
+{"id": "tool_select", "title": "Válassza ki az eszközt"},\n
+{"id": "tool_source", "title": "Szerkesztés Forrás"},\n
+{"id": "tool_source_cancel", "textContent": "Szakítani"},\n
+{"id": "tool_source_save", "textContent": "Ment"},\n
+{"id": "tool_square", "title": "Négyzetes"},\n
+{"id": "tool_text", "title": "Szöveg eszköz"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Visszavon"},\n
+{"id": "tool_ungroup", "title": "Szétbont elemei"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Change nagyítási"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9725</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hy.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hy.js.xml
new file mode 100644
index 0000000000..80adc02917
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.hy.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003297.08</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.hy.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Align relative to ..."},\n
+{"id": "bkgnd_color", "title": "Change background color/opacity"},\n
+{"id": "circle_cx", "title": "Change circle\'s cx coordinate"},\n
+{"id": "circle_cy", "title": "Change circle\'s cy coordinate"},\n
+{"id": "circle_r", "title": "Change circle\'s radius"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Change Rectangle Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Change ellipse\'s cx coordinate"},\n
+{"id": "ellipse_cy", "title": "Change ellipse\'s cy coordinate"},\n
+{"id": "ellipse_rx", "title": "Change ellipse\'s x radius"},\n
+{"id": "ellipse_ry", "title": "Change ellipse\'s y radius"},\n
+{"id": "fill_color", "title": "Change fill color"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Fit to all content"},\n
+{"id": "fit_to_canvas", "textContent": "Fit to canvas"},\n
+{"id": "fit_to_layer_content", "textContent": "Fit to layer content"},\n
+{"id": "fit_to_sel", "textContent": "Fit to selection"},\n
+{"id": "font_family", "title": "Change Font Family"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Change image height"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Change URL"},\n
+{"id": "image_width", "title": "Change image width"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "largest object"},\n
+{"id": "layer_delete", "title": "Delete Layer"},\n
+{"id": "layer_down", "title": "Move Layer Down"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Move Layer Up"},\n
+{"id": "layersLabel", "textContent": "Layers:"},\n
+{"id": "line_x1", "title": "Change line\'s starting x coordinate"},\n
+{"id": "line_x2", "title": "Change line\'s ending x coordinate"},\n
+{"id": "line_y1", "title": "Change line\'s starting y coordinate"},\n
+{"id": "line_y2", "title": "Change line\'s ending y coordinate"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "page"},\n
+{"id": "palette", "title": "Click to change fill color, shift-click to change stroke color"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Change rectangle height"},\n
+{"id": "rect_width_tool", "title": "Change rectangle width"},\n
+{"id": "relativeToLabel", "textContent": "relative to:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Select predefined:"},\n
+{"id": "selected_objects", "textContent": "elected objects"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "smallest object"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Change stroke color"},\n
+{"id": "stroke_style", "title": "Change stroke dash style"},\n
+{"id": "stroke_width", "title": "Change stroke width"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Height:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Width:"},\n
+{"id": "text", "title": "Change text contents"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Align Center"},\n
+{"id": "tool_alignleft", "title": "Align Left"},\n
+{"id": "tool_alignmiddle", "title": "Align Middle"},\n
+{"id": "tool_alignright", "title": "Align Right"},\n
+{"id": "tool_aligntop", "title": "Align Top"},\n
+{"id": "tool_angle", "title": "Change rotation angle"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elements"},\n
+{"id": "tool_delete", "title": "Delete Element"},\n
+{"id": "tool_delete_multi", "title": "Delete Selected Elements"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Cancel"},\n
+{"id": "tool_docprops_save", "textContent": "Save"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Rectangle"},\n
+{"id": "tool_font_size", "title": "Change Font Size"},\n
+{"id": "tool_group", "title": "Group Elements"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Text"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Move to Bottom"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Change selected item opacity"},\n
+{"id": "tool_open", "textContent": "Open Image"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rectangle"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Save Image"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "Edit Source"},\n
+{"id": "tool_source_cancel", "textContent": "Cancel"},\n
+{"id": "tool_source_save", "textContent": "Save"},\n
+{"id": "tool_square", "title": "Square"},\n
+{"id": "tool_text", "title": "Text Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Undo"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Change zoom level"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9459</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.id.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.id.js.xml
new file mode 100644
index 0000000000..3b5f493fb2
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.id.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003297.28</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.id.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Rata relatif ..."},\n
+{"id": "bkgnd_color", "title": "Mengubah warna latar belakang / keburaman"},\n
+{"id": "circle_cx", "title": "Mengubah koordinat lingkaran cx"},\n
+{"id": "circle_cy", "title": "Mengubah koordinat cy lingkaran"},\n
+{"id": "circle_r", "title": "Ubah jari-jari lingkaran"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Ubah Corner Rectangle Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Ubah elips&#39;s cx koordinat"},\n
+{"id": "ellipse_cy", "title": "Ubah elips&#39;s cy koordinat"},\n
+{"id": "ellipse_rx", "title": "Ubah elips&#39;s x jari-jari"},\n
+{"id": "ellipse_ry", "title": "Ubah elips&#39;s y jari-jari"},\n
+{"id": "fill_color", "title": "Ubah warna mengisi"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Cocok untuk semua konten"},\n
+{"id": "fit_to_canvas", "textContent": "Muat kanvas"},\n
+{"id": "fit_to_layer_content", "textContent": "Muat konten lapisan"},\n
+{"id": "fit_to_sel", "textContent": "Fit seleksi"},\n
+{"id": "font_family", "title": "Ubah Font Keluarga"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Tinggi gambar Perubahan"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Ubah URL"},\n
+{"id": "image_width", "title": "Ubah Lebar gambar"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "objek terbesar"},\n
+{"id": "layer_delete", "title": "Hapus Layer"},\n
+{"id": "layer_down", "title": "Pindahkan Layer Bawah"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Pindahkan Layer Up"},\n
+{"id": "layersLabel", "textContent": "Lapisan:"},\n
+{"id": "line_x1", "title": "Ubah baris mulai x koordinat"},\n
+{"id": "line_x2", "title": "Ubah baris&#39;s Berakhir x koordinat"},\n
+{"id": "line_y1", "title": "Ubah baris mulai y koordinat"},\n
+{"id": "line_y2", "title": "Ubah baris di tiap akhir y koordinat"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "Halaman"},\n
+{"id": "palette", "title": "Klik untuk mengubah warna mengisi, shift-klik untuk mengubah warna stroke"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Perubahan tinggi persegi panjang"},\n
+{"id": "rect_width_tool", "title": "Ubah persegi panjang lebar"},\n
+{"id": "relativeToLabel", "textContent": "relatif:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Pilih standar:"},\n
+{"id": "selected_objects", "textContent": "objek terpilih"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "objek terkecil"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Ubah warna stroke"},\n
+{"id": "stroke_style", "title": "Ubah gaya dash stroke"},\n
+{"id": "stroke_width", "title": "Ubah stroke width"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Ketinggian:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Lebar:"},\n
+{"id": "text", "title": "Ubah isi teks"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Rata Bottom"},\n
+{"id": "tool_aligncenter", "title": "Rata Tengah"},\n
+{"id": "tool_alignleft", "title": "Rata Kiri"},\n
+{"id": "tool_alignmiddle", "title": "Rata Tengah"},\n
+{"id": "tool_alignright", "title": "Rata Kanan"},\n
+{"id": "tool_aligntop", "title": "Rata Top"},\n
+{"id": "tool_angle", "title": "Ubah sudut rotasi"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Teks"},\n
+{"id": "tool_circle", "title": "Lingkaran"},\n
+{"id": "tool_clear", "textContent": "Gambar Baru"},\n
+{"id": "tool_clone", "title": "Clone Elemen"},\n
+{"id": "tool_clone_multi", "title": "Clone Elemen"},\n
+{"id": "tool_delete", "title": "Hapus Elemen"},\n
+{"id": "tool_delete_multi", "title": "Hapus Elemen"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Batal"},\n
+{"id": "tool_docprops_save", "textContent": "Simpan"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Persegi Panjang"},\n
+{"id": "tool_font_size", "title": "Ubah Ukuran Font"},\n
+{"id": "tool_group", "title": "Kelompok Elemen"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Teks"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Pindah ke Bawah"},\n
+{"id": "tool_move_top", "title": "Pindahkan ke Atas"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Mengubah item yang dipilih keburaman"},\n
+{"id": "tool_open", "textContent": "Membuka Image"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rectangle"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Save Image"},\n
+{"id": "tool_select", "title": "Pilih Tool"},\n
+{"id": "tool_source", "title": "Edit Source"},\n
+{"id": "tool_source_cancel", "textContent": "Batal"},\n
+{"id": "tool_source_save", "textContent": "Simpan"},\n
+{"id": "tool_square", "title": "Kotak"},\n
+{"id": "tool_text", "title": "Teks Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Undo"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elemen"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Mengubah tingkat pembesaran"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9494</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.is.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.is.js.xml
new file mode 100644
index 0000000000..ef2978f6ae
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.is.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003297.49</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.is.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Jafna miðað við ..."},\n
+{"id": "bkgnd_color", "title": "Breyta bakgrunnslit / opacity"},\n
+{"id": "circle_cx", "title": "Cx Breyta hring er að samræma"},\n
+{"id": "circle_cy", "title": "Breyta hring&#39;s cy samræma"},\n
+{"id": "circle_r", "title": "Radíus Breyta hringsins er"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Breyta rétthyrningur Corner Radíus"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Breyta sporbaug&#39;s cx samræma"},\n
+{"id": "ellipse_cy", "title": "Breyta sporbaug&#39;s cy samræma"},\n
+{"id": "ellipse_rx", "title": "X radíus Breyta sporbaug&#39;s"},\n
+{"id": "ellipse_ry", "title": "Y radíus Breyta sporbaug&#39;s"},\n
+{"id": "fill_color", "title": "Breyta fylla color"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Laga til efni"},\n
+{"id": "fit_to_canvas", "textContent": "Fit á striga"},\n
+{"id": "fit_to_layer_content", "textContent": "Laga til lag efni"},\n
+{"id": "fit_to_sel", "textContent": "Fit til val"},\n
+{"id": "font_family", "title": "Change Leturfjölskylda"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Breyta mynd hæð"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Breyta URL"},\n
+{"id": "image_width", "title": "Breyta mynd width"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "stærsti hlutinn"},\n
+{"id": "layer_delete", "title": "Eyða Lag"},\n
+{"id": "layer_down", "title": "Færa Layer Down"},\n
+{"id": "layer_new", "title": "Lag"},\n
+{"id": "layer_rename", "title": "Endurnefna Lag"},\n
+{"id": "layer_up", "title": "Færa Lag Up"},\n
+{"id": "layersLabel", "textContent": "Lag:"},\n
+{"id": "line_x1", "title": "Breyta lína í byrjun x samræma"},\n
+{"id": "line_x2", "title": "Breyta lína&#39;s Ending x samræma"},\n
+{"id": "line_y1", "title": "Breyta lína í byrjun y samræma"},\n
+{"id": "line_y2", "title": "Breyta lína er endir y samræma"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "síðu"},\n
+{"id": "palette", "title": "Smelltu hér til að breyta fylla lit, Shift-smelltu til að breyta högg lit"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Breyta rétthyrningur hæð"},\n
+{"id": "rect_width_tool", "title": "Skipta rétthyrningur width"},\n
+{"id": "relativeToLabel", "textContent": "hlutfallslegt til:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Veldu predefined:"},\n
+{"id": "selected_objects", "textContent": "kjörinn hlutir"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "lítill hluti"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Breyta heilablÄ·Ä‘fall color"},\n
+{"id": "stroke_style", "title": "Breyta heilablķđfall þjóta stíl"},\n
+{"id": "stroke_width", "title": "Breyta heilablÄ·Ä‘fall width"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Hæð:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Breidd:"},\n
+{"id": "text", "title": "Breyta texta innihald"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Jafna Bottom"},\n
+{"id": "tool_aligncenter", "title": "Jafna Center"},\n
+{"id": "tool_alignleft", "title": "Vinstri jöfnun"},\n
+{"id": "tool_alignmiddle", "title": "Jafna Mið"},\n
+{"id": "tool_alignright", "title": "Hægri jöfnun"},\n
+{"id": "tool_aligntop", "title": "Jöfnun Top"},\n
+{"id": "tool_angle", "title": "Breyting snúningur horn"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elements"},\n
+{"id": "tool_delete", "title": "Eyða Element"},\n
+{"id": "tool_delete_multi", "title": "Eyða Elements"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Hætta"},\n
+{"id": "tool_docprops_save", "textContent": "Vista"},\n
+{"id": "tool_ellipse", "title": "Sporbaugur"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Sporbaugur"},\n
+{"id": "tool_fhpath", "title": "Blýantur Tól"},\n
+{"id": "tool_fhrect", "title": "Free-Hand rétthyrningur"},\n
+{"id": "tool_font_size", "title": "Breyta leturstærð"},\n
+{"id": "tool_group", "title": "Group Elements"},\n
+{"id": "tool_image", "title": "Mynd Tól"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Text"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Færa Bottom"},\n
+{"id": "tool_move_top", "title": "Fara efst á síðu"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Breyta valin atriði opacity"},\n
+{"id": "tool_open", "textContent": "Opna mynd"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rétthyrningur"},\n
+{"id": "tool_redo", "title": "Endurtaka"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Spara Image"},\n
+{"id": "tool_select", "title": "Veldu Tól"},\n
+{"id": "tool_source", "title": "Edit Source"},\n
+{"id": "tool_source_cancel", "textContent": "Hætta"},\n
+{"id": "tool_source_save", "textContent": "Vista"},\n
+{"id": "tool_square", "title": "Ferningur"},\n
+{"id": "tool_text", "title": "Text Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Hætta"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Breyta Stækkunarstig"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9572</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.it.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.it.js.xml
new file mode 100644
index 0000000000..17f6e865e8
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.it.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003297.7</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.it.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Allineati alla ..."},\n
+{"id": "bkgnd_color", "title": "Cambia il colore di sfondo / opacità"},\n
+{"id": "circle_cx", "title": "Cx cerchio Modifica di coordinate"},\n
+{"id": "circle_cy", "title": "Cambia&#39;s circle CY coordinare"},\n
+{"id": "circle_r", "title": "Cambia il raggio del cerchio"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Cambia Rectangle Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Cambia dell&#39;ellisse cx coordinare"},\n
+{"id": "ellipse_cy", "title": "Ellisse Cambia&#39;s CY coordinare"},\n
+{"id": "ellipse_rx", "title": "Raggio x ellisse Cambia&#39;s"},\n
+{"id": "ellipse_ry", "title": "Raggio y ellisse Cambia&#39;s"},\n
+{"id": "fill_color", "title": "Cambia il colore di riempimento"},\n
+{"id": "fitToContent", "textContent": "Adatta al contenuto"},\n
+{"id": "fit_to_all", "textContent": "Adatta a tutti i contenuti"},\n
+{"id": "fit_to_canvas", "textContent": "Adatta alla tela"},\n
+{"id": "fit_to_layer_content", "textContent": "Adatta a livello di contenuti"},\n
+{"id": "fit_to_sel", "textContent": "Adatta alla selezione"},\n
+{"id": "font_family", "title": "Change Font Family"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Cambia l&#39;altezza dell&#39;immagine"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Cambia URL"},\n
+{"id": "image_width", "title": "Cambia la larghezza dell&#39;immagine"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "il più grande oggetto"},\n
+{"id": "layer_delete", "title": "Elimina livello"},\n
+{"id": "layer_down", "title": "Move Layer Down"},\n
+{"id": "layer_new", "title": "Nuovo livello"},\n
+{"id": "layer_rename", "title": "Rinominare il livello"},\n
+{"id": "layer_up", "title": "Move Layer Up"},\n
+{"id": "layersLabel", "textContent": "Livelli:"},\n
+{"id": "line_x1", "title": "Modifica la linea di partenza coordinata x"},\n
+{"id": "line_x2", "title": "Modifica la linea di fine coordinata x"},\n
+{"id": "line_y1", "title": "Modifica la linea di partenza coordinata y"},\n
+{"id": "line_y2", "title": "Modifica la linea di fine coordinata y"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "Pagina"},\n
+{"id": "palette", "title": "Fare clic per cambiare il colore di riempimento, shift-click per cambiare colore del tratto"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Cambia l&#39;altezza rettangolo"},\n
+{"id": "rect_width_tool", "title": "Cambia la larghezza rettangolo"},\n
+{"id": "relativeToLabel", "textContent": "rispetto al:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Seleziona predefinite:"},\n
+{"id": "selected_objects", "textContent": "eletto oggetti"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "più piccolo oggetto"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Cambia colore ictus"},\n
+{"id": "stroke_style", "title": "Cambia lo stile dash ictus"},\n
+{"id": "stroke_width", "title": "Cambia la larghezza ictus"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Altezza:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Ampiezza:"},\n
+{"id": "text", "title": "Cambia il contenuto del testo"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Allinea in basso"},\n
+{"id": "tool_aligncenter", "title": "Allinea al centro"},\n
+{"id": "tool_alignleft", "title": "Allinea a sinistra"},\n
+{"id": "tool_alignmiddle", "title": "Allinea al centro"},\n
+{"id": "tool_alignright", "title": "Allinea a destra"},\n
+{"id": "tool_aligntop", "title": "Allinea in alto"},\n
+{"id": "tool_angle", "title": "Cambia l&#39;angolo di rotazione"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Grassetto"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elements"},\n
+{"id": "tool_delete", "title": "Cancellare l&#39;elemento"},\n
+{"id": "tool_delete_multi", "title": "Elimina elementi selezionati"},\n
+{"id": "tool_docprops", "textContent": "Proprietà del documento"},\n
+{"id": "tool_docprops_cancel", "textContent": "Annulla"},\n
+{"id": "tool_docprops_save", "textContent": "Salvare"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Lo strumento matita"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Rectangle"},\n
+{"id": "tool_font_size", "title": "Modifica dimensione carattere"},\n
+{"id": "tool_group", "title": "Group Elements"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Corsivo"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Move to Bottom"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Cambia l&#39;opacità dell&#39;oggetto selezionato"},\n
+{"id": "tool_open", "textContent": "Apri immagine"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rettangolo"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Salvare l&#39;immagine"},\n
+{"id": "tool_select", "title": "Selezionare Tool"},\n
+{"id": "tool_source", "title": "Edit Source"},\n
+{"id": "tool_source_cancel", "textContent": "Annulla"},\n
+{"id": "tool_source_save", "textContent": "Salvare"},\n
+{"id": "tool_square", "title": "Piazza"},\n
+{"id": "tool_text", "title": "Strumento Testo"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Annulla"},\n
+{"id": "tool_ungroup", "title": "Separa Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Cambia il livello di zoom"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9850</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ja.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ja.js.xml
new file mode 100644
index 0000000000..b4628804f1
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ja.js.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003297.91</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.ja.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "揃える"},\n
+{"id": "bkgnd_color", "title": "背景色/不透明度の変更"},\n
+{"id": "circle_cx", "title": "円の中心を変更(X座標)"},\n
+{"id": "circle_cy", "title": "円の中心を変更(Y座標)"},\n
+{"id": "circle_r", "title": "変更円の半径"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "角の半径:"},\n
+{"id": "cornerRadiusLabel", "title": "長方形の角の半径を変更"},\n
+{"id": "curve_segments", "textContent": "カーブ"},\n
+{"id": "ellipse_cx", "title": "楕円の中心を変更(X座標)"},\n
+{"id": "ellipse_cy", "title": "楕円の中心を変更(Y座標)"},\n
+{"id": "ellipse_rx", "title": "楕円の半径を変更(X座標)"},\n
+{"id": "ellipse_ry", "title": "楕円の半径を変更(Y座標)"},\n
+{"id": "fill_color", "title": "塗りの色を変更"},\n
+{"id": "fitToContent", "textContent": "コンテンツに合わせる"},\n
+{"id": "fit_to_all", "textContent": "すべてのコンテンツに合わせる"},\n
+{"id": "fit_to_canvas", "textContent": "キャンバスに合わせる"},\n
+{"id": "fit_to_layer_content", "textContent": "レイヤー上のコンテンツに合わせる"},\n
+{"id": "fit_to_sel", "textContent": "選択対象に合わせる"},\n
+{"id": "font_family", "title": "フォントファミリーの変更"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "画像の高さを変更"},\n
+{"id": "image_opt_embed", "textContent": "SVGファイルに埋め込む"},\n
+{"id": "image_opt_ref", "textContent": "画像を参照する"},\n
+{"id": "image_url", "title": "URLを変更"},\n
+{"id": "image_width", "title": "画像の幅を変更"},\n
+{"id": "includedImages", "textContent": "挿入された画像の扱い"},\n
+{"id": "largest_object", "textContent": "最大のオブジェクト"},\n
+{"id": "layer_delete", "title": "レイヤの削除"},\n
+{"id": "layer_down", "title": "レイヤを下へ移動"},\n
+{"id": "layer_new", "title": "新規レイヤ"},\n
+{"id": "layer_rename", "title": "レイヤの名前を変更"},\n
+{"id": "layer_up", "title": "レイヤを上へ移動"},\n
+{"id": "layersLabel", "textContent": "レイヤ:"},\n
+{"id": "line_x1", "title": "開始X座標"},\n
+{"id": "line_x2", "title": "終了X座標"},\n
+{"id": "line_y1", "title": "開始Y座標"},\n
+{"id": "line_y2", "title": "終了Y座標"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "ページ"},\n
+{"id": "palette", "title": "クリックで塗りの色を選択、Shift+クリックで線の色を選択"},\n
+{"id": "path_node_x", "title": "ノードのX座標を変更"},\n
+{"id": "path_node_y", "title": "ノードのY座標を変更"},\n
+{"id": "rect_height_tool", "title": "長方形の高さを変更"},\n
+{"id": "rect_width_tool", "title": "長方形の幅を変更"},\n
+{"id": "relativeToLabel", "textContent": "相対:"},\n
+{"id": "seg_type", "title": "線分の種類を変更"},\n
+{"id": "selLayerLabel", "textContent": "移動先レイヤ:"},\n
+{"id": "selLayerNames", "title": "選択対象を別のレイヤに移動"},\n
+{"id": "selectedPredefined", "textContent": "デフォルト"},\n
+{"id": "selected_objects", "textContent": "選択オブジェクト"},\n
+{"id": "selected_x", "title": "X座標を変更"},\n
+{"id": "selected_y", "title": "Y座標を変更"},\n
+{"id": "smallest_object", "textContent": "最小のオブジェクト"},\n
+{"id": "straight_segments", "textContent": "ç›´ç·š"},\n
+{"id": "stroke_color", "title": "線の色を変更"},\n
+{"id": "stroke_style", "title": "線種の変更"},\n
+{"id": "stroke_width", "title": "線幅の変更"},\n
+{"id": "svginfo_bg_note", "textContent": "※背景色はファイルに保存されません。"},\n
+{"id": "svginfo_change_background", "textContent": "エディタの背景色"},\n
+{"id": "svginfo_dim", "textContent": "キャンバスの大きさ"},\n
+{"id": "svginfo_editor_prefs", "textContent": "エディタの設定"},\n
+{"id": "svginfo_height", "textContent": "高さ:"},\n
+{"id": "svginfo_icons", "textContent": "アイコンの大きさ"},\n
+{"id": "svginfo_image_props", "textContent": "イメージの設定"},\n
+{"id": "svginfo_lang", "textContent": "言語"},\n
+{"id": "svginfo_title", "textContent": "タイトル"},\n
+{"id": "svginfo_width", "textContent": "å¹…:"},\n
+{"id": "text", "title": "テキストの内容の変更"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "下揃え"},\n
+{"id": "tool_aligncenter", "title": "中央揃え"},\n
+{"id": "tool_alignleft", "title": "左揃え"},\n
+{"id": "tool_alignmiddle", "title": "中央揃え"},\n
+{"id": "tool_alignright", "title": "右揃え"},\n
+{"id": "tool_aligntop", "title": "上揃え"},\n
+{"id": "tool_angle", "title": "回転角の変更"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "太字"},\n
+{"id": "tool_circle", "title": "円"},\n
+{"id": "tool_clear", "textContent": "新規イメージ"},\n
+{"id": "tool_clone", "title": "複製"},\n
+{"id": "tool_clone_multi", "title": "選択対象を複製"},\n
+{"id": "tool_delete", "title": "削除"},\n
+{"id": "tool_delete_multi", "title": "選択対象を削除"},\n
+{"id": "tool_docprops", "textContent": "文書のプロパティ"},\n
+{"id": "tool_docprops_cancel", "textContent": "キャンセル"},\n
+{"id": "tool_docprops_save", "textContent": "OK"},\n
+{"id": "tool_ellipse", "title": "楕円"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "フリーハンド楕円"},\n
+{"id": "tool_fhpath", "title": "鉛筆ツール"},\n
+{"id": "tool_fhrect", "title": "フリーハンド長方形"},\n
+{"id": "tool_font_size", "title": "文字サイズの変更"},\n
+{"id": "tool_group", "title": "グループ化"},\n
+{"id": "tool_image", "title": "イメージツール"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "イタリック体"},\n
+{"id": "tool_line", "title": "直線ツール"},\n
+{"id": "tool_move_bottom", "title": "奥に移動"},\n
+{"id": "tool_move_top", "title": "手前に移動"},\n
+{"id": "tool_node_clone", "title": "ノードを複製"},\n
+{"id": "tool_node_delete", "title": "ノードを削除"},\n
+{"id": "tool_node_link", "title": "制御点の接続"},\n
+{"id": "tool_opacity", "title": "不透明度"},\n
+{"id": "tool_open", "textContent": "イメージを開く"},\n
+{"id": "tool_path", "title": "パスツール"},\n
+{"id": "tool_rect", "title": "長方形"},\n
+{"id": "tool_redo", "title": "やり直し"},\n
+{"id": "tool_reorient", "title": "現在の角度を0度とする"},\n
+{"id": "tool_save", "textContent": "画像を保存"},\n
+{"id": "tool_select", "title": "選択ツール"},\n
+{"id": "tool_source", "title": "ソースの編集"},\n
+{"id": "tool_source_cancel", "textContent": "キャンセル"},\n
+{"id": "tool_source_save", "textContent": "適用"},\n
+{"id": "tool_square", "title": "正方形"},\n
+{"id": "tool_text", "title": "テキストツール"},\n
+{"id": "tool_topath", "title": "パスに変換"},\n
+{"id": "tool_undo", "title": "元に戻す"},\n
+{"id": "tool_ungroup", "title": "グループ化を解除"},\n
+{"id": "tool_wireframe", "title": "ワイヤーフレームで表示 [F]"},\n
+{"id": "tool_zoom", "title": "ズームツール"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "ズーム倍率の変更"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "ドラッグで幅の調整"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "ソースにエラーがあります。\\n元のソースに戻しますか?", \n
+  "QignoreSourceChanges": "ソースの変更を無視しますか?", \n
+  "QmoveElemsToLayer": "選択した要素をレイヤー \'%s\' に移動しますか?", \n
+  "QwantToClear": "キャンバスをクリアしますか?\\nアンドゥ履歴も消去されます。", \n
+  "cancel": "キャンセル", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "同名のレイヤーが既に存在します。", \n
+  "enterNewImgURL": "画像のURLを入力してください。", \n
+  "enterNewLayerName": "レイヤの新しい名前を入力してください。", \n
+  "enterUniqueLayerName": "新規レイヤの一意な名前を入力してください。", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "機能はサポートされていません。", \n
+  "invalidAttrValGiven": "無効な値が指定されています。", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "レイヤ", \n
+  "layerHasThatName": "既に同名が付いています。", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "合わせる対象のコンテンツがありません。", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "カーブの形状を調整するには、制御点をドラッグしてください。", \n
+  "pathNodeTooltip": "移動するには、ノードをドラッグしてください。ノードをダブルクリックすると線分の種類を変更できます。", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10313</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ko.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ko.js.xml
new file mode 100644
index 0000000000..b8a8200420
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ko.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003298.11</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.ko.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "정렬 상대적으로 ..."},\n
+{"id": "bkgnd_color", "title": "배경 색상 변경 / 투명도"},\n
+{"id": "circle_cx", "title": "변경 동그라미 CX는 좌표"},\n
+{"id": "circle_cy", "title": "동그라미 싸이 변경 조정할 수있어"},\n
+{"id": "circle_r", "title": "변경 원의 반지름"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "변경 직사각형 코너 반경"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "CX는 타원의 좌표 변경"},\n
+{"id": "ellipse_cy", "title": "싸이 타원 변경 조정할 수있어"},\n
+{"id": "ellipse_rx", "title": "변경 타원의 x 반지름"},\n
+{"id": "ellipse_ry", "title": "변경 타원의 y를 반경"},\n
+{"id": "fill_color", "title": "채우기 색상 변경"},\n
+{"id": "fitToContent", "textContent": "맞춤 콘텐츠"},\n
+{"id": "fit_to_all", "textContent": "맞춤 모든 콘텐츠에"},\n
+{"id": "fit_to_canvas", "textContent": "맞춤 캔버스"},\n
+{"id": "fit_to_layer_content", "textContent": "레이어에 맞게 콘텐츠"},\n
+{"id": "fit_to_sel", "textContent": "맞춤 선택"},\n
+{"id": "font_family", "title": "글꼴 변경 패밀리"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "이미지 높이 변경"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "URL 변경"},\n
+{"id": "image_width", "title": "이미지 변경 폭"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "큰 개체"},\n
+{"id": "layer_delete", "title": "레이어 삭제"},\n
+{"id": "layer_down", "title": "레이어 아래로 이동"},\n
+{"id": "layer_new", "title": "새 레이어"},\n
+{"id": "layer_rename", "title": "레이어 이름 바꾸기"},\n
+{"id": "layer_up", "title": "레이어 위로 이동"},\n
+{"id": "layersLabel", "textContent": "레이어:"},\n
+{"id": "line_x1", "title": "변경 라인의 X 좌표 시작"},\n
+{"id": "line_x2", "title": "변경 라인의 X 좌표 결말"},\n
+{"id": "line_y1", "title": "라인 변경 y를 시작 좌표"},\n
+{"id": "line_y2", "title": "라인 변경 y를 결말의 좌표"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "페이지"},\n
+{"id": "palette", "title": "색상을 클릭, 근무 시간 채우기 스트로크 색상을 변경하려면 변경하려면"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "사각형의 높이를 변경"},\n
+{"id": "rect_width_tool", "title": "사각형의 너비 변경"},\n
+{"id": "relativeToLabel", "textContent": "상대:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "미리 정의된 선택:"},\n
+{"id": "selected_objects", "textContent": "당선 개체"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "작은 개체"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "뇌졸중으로 색상 변경"},\n
+{"id": "stroke_style", "title": "뇌졸중 변경 대시 스타일"},\n
+{"id": "stroke_width", "title": "뇌졸중 너비 변경"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "높이:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "너비:"},\n
+{"id": "text", "title": "텍스트 변경 내용"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "히프 정렬"},\n
+{"id": "tool_aligncenter", "title": "정렬 센터"},\n
+{"id": "tool_alignleft", "title": "왼쪽 정렬"},\n
+{"id": "tool_alignmiddle", "title": "중간 정렬"},\n
+{"id": "tool_alignright", "title": "오른쪽 맞춤"},\n
+{"id": "tool_aligntop", "title": "정렬 탑"},\n
+{"id": "tool_angle", "title": "회전 각도를 변경"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "굵은 텍스트"},\n
+{"id": "tool_circle", "title": "동그라미"},\n
+{"id": "tool_clear", "textContent": "새 이미지"},\n
+{"id": "tool_clone", "title": "클론 요소"},\n
+{"id": "tool_clone_multi", "title": "클론 요소"},\n
+{"id": "tool_delete", "title": "요소 삭제"},\n
+{"id": "tool_delete_multi", "title": "선택한 요소를 삭제"},\n
+{"id": "tool_docprops", "textContent": "문서 속성"},\n
+{"id": "tool_docprops_cancel", "textContent": "취소"},\n
+{"id": "tool_docprops_save", "textContent": "저장"},\n
+{"id": "tool_ellipse", "title": "타원"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "자유 핸드 타원"},\n
+{"id": "tool_fhpath", "title": "연필 도구"},\n
+{"id": "tool_fhrect", "title": "자유 핸드 직사각형"},\n
+{"id": "tool_font_size", "title": "글꼴 크기 변경"},\n
+{"id": "tool_group", "title": "그룹 요소"},\n
+{"id": "tool_image", "title": "이미지 도구"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "기울임꼴 텍스트"},\n
+{"id": "tool_line", "title": "선 도구"},\n
+{"id": "tool_move_bottom", "title": "아래로 이동"},\n
+{"id": "tool_move_top", "title": "상단으로 이동"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "변경 항목을 선택 불투명도"},\n
+{"id": "tool_open", "textContent": "오픈 이미지"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "직사각형"},\n
+{"id": "tool_redo", "title": "재실행"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "이미지 저장"},\n
+{"id": "tool_select", "title": "선택 도구"},\n
+{"id": "tool_source", "title": "수정 소스"},\n
+{"id": "tool_source_cancel", "textContent": "취소"},\n
+{"id": "tool_source_save", "textContent": "저장"},\n
+{"id": "tool_square", "title": "정사각형"},\n
+{"id": "tool_text", "title": "텍스트 도구"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "취소"},\n
+{"id": "tool_ungroup", "title": "그룹 해제 요소"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "줌 도구"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "변경 수준으로 확대"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9782</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.lt.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.lt.js.xml
new file mode 100644
index 0000000000..9f87e479ac
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.lt.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003298.31</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.lt.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Derinti palyginti ..."},\n
+{"id": "bkgnd_color", "title": "Pakeisti fono spalvÄ… / drumstumas"},\n
+{"id": "circle_cx", "title": "Keisti ratas&#39;s CX koordinuoti"},\n
+{"id": "circle_cy", "title": "Keisti ratas&#39;s CY koordinuoti"},\n
+{"id": "circle_r", "title": "Keisti savo apskritimo spindulys"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Keisti stačiakampis skyrelį Spindulys"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Keisti elipse&#39;s CX koordinuoti"},\n
+{"id": "ellipse_cy", "title": "Keisti elipse&#39;s CY koordinuoti"},\n
+{"id": "ellipse_rx", "title": "Keisti elipsÄ— &quot;X spindulys"},\n
+{"id": "ellipse_ry", "title": "Keisti elipse Y spindulys"},\n
+{"id": "fill_color", "title": "Keisti užpildyti spalvos"},\n
+{"id": "fitToContent", "textContent": "Talpinti turinys"},\n
+{"id": "fit_to_all", "textContent": "Talpinti All content"},\n
+{"id": "fit_to_canvas", "textContent": "Talpinti drobÄ—"},\n
+{"id": "fit_to_layer_content", "textContent": "Talpinti sluoksnis turinio"},\n
+{"id": "fit_to_sel", "textContent": "Talpinti atrankos"},\n
+{"id": "font_family", "title": "Pakeistišriftą Šeima"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Keisti vaizdo aukštis"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Pakeisti URL"},\n
+{"id": "image_width", "title": "Keisti paveikslÄ—lio plotis"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "didžiausias objektas"},\n
+{"id": "layer_delete", "title": "IÅ¡trinti Layer"},\n
+{"id": "layer_down", "title": "Perkelti sluoksnį Žemyn"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Pervadinti sluoksnį"},\n
+{"id": "layer_up", "title": "Perkelti sluoksnį Up"},\n
+{"id": "layersLabel", "textContent": "Sluoksniai:"},\n
+{"id": "line_x1", "title": "Keisti linijos nuo koordinačių x"},\n
+{"id": "line_x2", "title": "Keisti linijos baigÄ—si x koordinuoti"},\n
+{"id": "line_y1", "title": "Keisti linijos pradžios y koordinačių"},\n
+{"id": "line_y2", "title": "Keisti linijos baigėsi y koordinačių"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "puslapis"},\n
+{"id": "palette", "title": "Spustelėkite norėdami keisti užpildo spalvą, perėjimo spustelėkite pakeisti insultas spalva"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Keisti stačiakampio aukščio"},\n
+{"id": "rect_width_tool", "title": "Pakeisti stačiakampio plotis"},\n
+{"id": "relativeToLabel", "textContent": "palyginti:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Pasirinkite iš anksto:"},\n
+{"id": "selected_objects", "textContent": "išrinktas objektai"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "mažiausias objektą"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Keisti insultas spalva"},\n
+{"id": "stroke_style", "title": "Keisti insultas brūkšnys stilius"},\n
+{"id": "stroke_width", "title": "Keisti insultas plotis"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Aukštis:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Plotis:"},\n
+{"id": "text", "title": "Keisti teksto turinys"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Lygiuoti apačioje"},\n
+{"id": "tool_aligncenter", "title": "Lygiuoti"},\n
+{"id": "tool_alignleft", "title": "Lygiuoti kairÄ—je"},\n
+{"id": "tool_alignmiddle", "title": "Suderinti Vidurio"},\n
+{"id": "tool_alignright", "title": "Lygiuoti dešinėje"},\n
+{"id": "tool_aligntop", "title": "Lygiuoti viršų"},\n
+{"id": "tool_angle", "title": "Keisti sukimosi kampas"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Pusjuodis"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Klonas Element"},\n
+{"id": "tool_clone_multi", "title": "Klonas elementai"},\n
+{"id": "tool_delete", "title": "Naikinti elementÄ…"},\n
+{"id": "tool_delete_multi", "title": "Pašalinti pasirinktus elementus"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Atšaukti"},\n
+{"id": "tool_docprops_save", "textContent": "Saugoti"},\n
+{"id": "tool_ellipse", "title": "Elipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free Hand ElipsÄ—"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Free Hand stačiakampis"},\n
+{"id": "tool_font_size", "title": "Change font size"},\n
+{"id": "tool_group", "title": "Elementų grupės"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Kursyvas"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Perkelti į apačią"},\n
+{"id": "tool_move_top", "title": "Perkelti į viršų"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Pakeisti pasirinkto elemento neskaidrumo"},\n
+{"id": "tool_open", "textContent": "Atidaryti atvaizdÄ…"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Stačiakampis"},\n
+{"id": "tool_redo", "title": "Atstatyti"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "IÅ¡saugoti nuotraukÄ…"},\n
+{"id": "tool_select", "title": "Įrankis"},\n
+{"id": "tool_source", "title": "Taisyti Å altinis"},\n
+{"id": "tool_source_cancel", "textContent": "Atšaukti"},\n
+{"id": "tool_source_save", "textContent": "Saugoti"},\n
+{"id": "tool_square", "title": "Aikštė"},\n
+{"id": "tool_text", "title": "Tekstas Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Atšaukti"},\n
+{"id": "tool_ungroup", "title": "IÅ¡grupuoti elementai"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Įrankį"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Keisti mastelį"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9818</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.lv.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.lv.js.xml
new file mode 100644
index 0000000000..3fe7581b73
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.lv.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003298.51</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.lv.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Līdzināt, salīdzinot ar ..."},\n
+{"id": "bkgnd_color", "title": "Change background color / necaurredzamība"},\n
+{"id": "circle_cx", "title": "Maina aplis&#39;s CX koordinēt"},\n
+{"id": "circle_cy", "title": "Pārmaiņu loks ir cy koordinēt"},\n
+{"id": "circle_r", "title": "Pārmaiņu loks ir rādiuss"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Maina Taisnstūris Corner Rādiuss"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Mainīt elipses&#39;s CX koordinēt"},\n
+{"id": "ellipse_cy", "title": "Mainīt elipses&#39;s cy koordinēt"},\n
+{"id": "ellipse_rx", "title": "Mainīt elipses&#39;s x rādiuss"},\n
+{"id": "ellipse_ry", "title": "Mainīt elipses&#39;s y rādiuss"},\n
+{"id": "fill_color", "title": "Change aizpildījuma krāsu"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Fit uz visu saturu"},\n
+{"id": "fit_to_canvas", "textContent": "Ievietot audekls"},\n
+{"id": "fit_to_layer_content", "textContent": "Ievietot slānis saturs"},\n
+{"id": "fit_to_sel", "textContent": "Fit atlases"},\n
+{"id": "font_family", "title": "Mainīt fonta Family"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Mainīt attēla augstums"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Change URL"},\n
+{"id": "image_width", "title": "Mainīt attēla platumu"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "lielākais objekts"},\n
+{"id": "layer_delete", "title": "Dzēst Layer"},\n
+{"id": "layer_down", "title": "Pārvietot slāni uz leju"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Pārdēvēt Layer"},\n
+{"id": "layer_up", "title": "Pārvietot slāni uz augšu"},\n
+{"id": "layersLabel", "textContent": "Layers:"},\n
+{"id": "line_x1", "title": "Mainīt līnijas sākas x koordinēt"},\n
+{"id": "line_x2", "title": "Mainīt līnijas beigu x koordinēt"},\n
+{"id": "line_y1", "title": "Mainīt līnijas sākas y koordinātu"},\n
+{"id": "line_y2", "title": "Mainīt līnijas beigu y koordinātu"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "lapa"},\n
+{"id": "palette", "title": "Noklikšķiniet, lai mainītu aizpildījuma krāsu, shift-click to mainīt stroke krāsa"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Change Taisnstūra augstums"},\n
+{"id": "rect_width_tool", "title": "Change taisnstūra platums"},\n
+{"id": "relativeToLabel", "textContent": "salīdzinājumā ar:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Izvēlieties iepriekš:"},\n
+{"id": "selected_objects", "textContent": "ievēlēts objekti"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "mazākais objekts"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Change stroke krāsa"},\n
+{"id": "stroke_style", "title": "Maina stroke domuzīme stils"},\n
+{"id": "stroke_width", "title": "Change stroke platums"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Augstums:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Platums:"},\n
+{"id": "text", "title": "Mainītu teksta saturs"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Līdzināt Bottom"},\n
+{"id": "tool_aligncenter", "title": "Līdzināt uz centru"},\n
+{"id": "tool_alignleft", "title": "Līdzināt pa kreisi"},\n
+{"id": "tool_alignmiddle", "title": "Līdzināt Middle"},\n
+{"id": "tool_alignright", "title": "Līdzināt pa labi"},\n
+{"id": "tool_aligntop", "title": "Līdzināt Top"},\n
+{"id": "tool_angle", "title": "Mainīt griešanās leņķis"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Klons Element"},\n
+{"id": "tool_clone_multi", "title": "Klons Elements"},\n
+{"id": "tool_delete", "title": "Dzēst Element"},\n
+{"id": "tool_delete_multi", "title": "Delete Selected Elements"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Atcelt"},\n
+{"id": "tool_docprops_save", "textContent": "Glābt"},\n
+{"id": "tool_ellipse", "title": "Elipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Taisnstūris"},\n
+{"id": "tool_font_size", "title": "Mainīt fonta izmēru"},\n
+{"id": "tool_group", "title": "Grupa Elements"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Kursīvs"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Pārvietot uz leju"},\n
+{"id": "tool_move_top", "title": "Pārvietot uz augšu"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Mainīt izvēlēto objektu necaurredzamība"},\n
+{"id": "tool_open", "textContent": "Open Image"},\n
+{"id": "tool_path", "title": "Path"},\n
+{"id": "tool_rect", "title": "Taisnstūris"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Save Image"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "Rediģēt Source"},\n
+{"id": "tool_source_cancel", "textContent": "Atcelt"},\n
+{"id": "tool_source_save", "textContent": "Glābt"},\n
+{"id": "tool_square", "title": "Kvadrāts"},\n
+{"id": "tool_text", "title": "Text Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Atpogāt"},\n
+{"id": "tool_ungroup", "title": "Atgrupēt Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Pārmaiņu mērogu"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9742</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.mk.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.mk.js.xml
new file mode 100644
index 0000000000..459bec2592
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.mk.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003298.72</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.mk.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Порамни во поглед на ..."},\n
+{"id": "bkgnd_color", "title": "Смени позадина / непроѕирноста"},\n
+{"id": "circle_cx", "title": "Промена круг на cx координира"},\n
+{"id": "circle_cy", "title": "Промена круг&#39;s cy координираат"},\n
+{"id": "circle_r", "title": "Промена на круг со радиус"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Промена правоаголник Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Промена елипса&#39;s cx координираат"},\n
+{"id": "ellipse_cy", "title": "Промена на елипса cy координира"},\n
+{"id": "ellipse_rx", "title": "Промена на елипса x радиус"},\n
+{"id": "ellipse_ry", "title": "Промена на елипса у радиус"},\n
+{"id": "fill_color", "title": "Измени пополнете боја"},\n
+{"id": "fitToContent", "textContent": "Способен да Содржина"},\n
+{"id": "fit_to_all", "textContent": "Способен да сите содржина"},\n
+{"id": "fit_to_canvas", "textContent": "Побиране да платно"},\n
+{"id": "fit_to_layer_content", "textContent": "Способен да слој содржина"},\n
+{"id": "fit_to_sel", "textContent": "Способен да селекција"},\n
+{"id": "font_family", "title": "Смени фонт Фамилија"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Промена на слика височина"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Промена URL"},\n
+{"id": "image_width", "title": "Промена Ширина на сликата"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "најголемиот објект"},\n
+{"id": "layer_delete", "title": "Избриши Слој"},\n
+{"id": "layer_down", "title": "Премести слој долу"},\n
+{"id": "layer_new", "title": "Нов слој"},\n
+{"id": "layer_rename", "title": "Преименувај слој"},\n
+{"id": "layer_up", "title": "Премести слој горе"},\n
+{"id": "layersLabel", "textContent": "Кори:"},\n
+{"id": "line_x1", "title": "Промена линија почетна x координира"},\n
+{"id": "line_x2", "title": "Промена линија завршува x координира"},\n
+{"id": "line_y1", "title": "Промена линија координираат почетна y"},\n
+{"id": "line_y2", "title": "Промена линија завршува y координира"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "страница"},\n
+{"id": "palette", "title": "Кликни за да внесете промени бојата, промена клик да се промени бојата удар"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Промена правоаголник височина"},\n
+{"id": "rect_width_tool", "title": "Промена правоаголник Ширина"},\n
+{"id": "relativeToLabel", "textContent": "во поглед на:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Изберете предефинирани:"},\n
+{"id": "selected_objects", "textContent": "избран објекти"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "најмалата објект"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Промена боја на мозочен удар"},\n
+{"id": "stroke_style", "title": "Промена удар цртичка стил"},\n
+{"id": "stroke_width", "title": "Промена удар Ширина"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Висина:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Ширина:"},\n
+{"id": "text", "title": "Промена текст содржина"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Центрирано"},\n
+{"id": "tool_alignleft", "title": "Порамни лево Порамни"},\n
+{"id": "tool_alignmiddle", "title": "Израмни Среден"},\n
+{"id": "tool_alignright", "title": "Порамни десно"},\n
+{"id": "tool_aligntop", "title": "Израмни почетокот"},\n
+{"id": "tool_angle", "title": "Change ротација агол"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Задебелен текст"},\n
+{"id": "tool_circle", "title": "Круг"},\n
+{"id": "tool_clear", "textContent": "Нови слики"},\n
+{"id": "tool_clone", "title": "Клон на Element"},\n
+{"id": "tool_clone_multi", "title": "Клон Елементи"},\n
+{"id": "tool_delete", "title": "Бришење на елемент"},\n
+{"id": "tool_delete_multi", "title": "Избриши Избрани Елементи"},\n
+{"id": "tool_docprops", "textContent": "Својства на документот"},\n
+{"id": "tool_docprops_cancel", "textContent": "Откажи"},\n
+{"id": "tool_docprops_save", "textContent": "Зачувува"},\n
+{"id": "tool_ellipse", "title": "Елипса"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Елипса"},\n
+{"id": "tool_fhpath", "title": "Алатка за молив"},\n
+{"id": "tool_fhrect", "title": "Правоаголник слободна рака"},\n
+{"id": "tool_font_size", "title": "Изменифонт Големина"},\n
+{"id": "tool_group", "title": "Група на елементи"},\n
+{"id": "tool_image", "title": "Алатка за сликата"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic текст"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Move to bottom"},\n
+{"id": "tool_move_top", "title": "Поместување на почетокот"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Промена избрани ставка непроѕирноста"},\n
+{"id": "tool_open", "textContent": "Отвори слика"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Правоаголник"},\n
+{"id": "tool_redo", "title": "Повтори"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Зачувај слика"},\n
+{"id": "tool_select", "title": "Изберете ја алатката"},\n
+{"id": "tool_source", "title": "Уреди Извор"},\n
+{"id": "tool_source_cancel", "textContent": "Откажи"},\n
+{"id": "tool_source_save", "textContent": "Зачувува"},\n
+{"id": "tool_square", "title": "Квадрат"},\n
+{"id": "tool_text", "title": "Алатка за текст"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Врати"},\n
+{"id": "tool_ungroup", "title": "Ungroup Елементи"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Алатка за зумирање"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Промена зум ниво"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>11111</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ms.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ms.js.xml
new file mode 100644
index 0000000000..ee014216b4
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ms.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003298.92</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.ms.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Rata relatif ..."},\n
+{"id": "bkgnd_color", "title": "Mengubah warna latar belakang / keburaman"},\n
+{"id": "circle_cx", "title": "Mengubah koordinat bulatan cx"},\n
+{"id": "circle_cy", "title": "Mengubah koordinat cy bulatan"},\n
+{"id": "circle_r", "title": "Tukar jari-jari lingkaran"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Tukar Corner Rectangle Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Tukar elips&#39;s cx koordinat"},\n
+{"id": "ellipse_cy", "title": "Tukar elips&#39;s cy koordinat"},\n
+{"id": "ellipse_rx", "title": "Tukar elips&#39;s x jari-jari"},\n
+{"id": "ellipse_ry", "title": "Tukar elips&#39;s y jari-jari"},\n
+{"id": "fill_color", "title": "Tukar Warna mengisi"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Cocok untuk semua kandungan"},\n
+{"id": "fit_to_canvas", "textContent": "Muat kanvas"},\n
+{"id": "fit_to_layer_content", "textContent": "Muat kandungan lapisan"},\n
+{"id": "fit_to_sel", "textContent": "Fit seleksi"},\n
+{"id": "font_family", "title": "Tukar Font Keluarga"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Tinggi gambar Kaca"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Tukar URL"},\n
+{"id": "image_width", "title": "Tukar Lebar imej"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "objek terbesar"},\n
+{"id": "layer_delete", "title": "Padam Layer"},\n
+{"id": "layer_down", "title": "Pindah Layer Bawah"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Pindah Layer Up"},\n
+{"id": "layersLabel", "textContent": "Lapisan:"},\n
+{"id": "line_x1", "title": "Ubah baris mulai x koordinat"},\n
+{"id": "line_x2", "title": "Ubah baris&#39;s Berakhir x koordinat"},\n
+{"id": "line_y1", "title": "Ubah baris mulai y koordinat"},\n
+{"id": "line_y2", "title": "Ubah baris di tiap akhir y koordinat"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "Laman"},\n
+{"id": "palette", "title": "Klik untuk menukar warna mengisi, shift-klik untuk menukar warna stroke"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Perubahan quality persegi panjang"},\n
+{"id": "rect_width_tool", "title": "Tukar persegi panjang lebar"},\n
+{"id": "relativeToLabel", "textContent": "relatif:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Pilih standard:"},\n
+{"id": "selected_objects", "textContent": "objek terpilih"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "objek terkecil"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Tukar Warna stroke"},\n
+{"id": "stroke_style", "title": "Tukar gaya dash stroke"},\n
+{"id": "stroke_width", "title": "Tukar stroke width"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Ketinggian:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Lebar:"},\n
+{"id": "text", "title": "Tukar isi teks"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Rata Bottom"},\n
+{"id": "tool_aligncenter", "title": "Rata Tengah"},\n
+{"id": "tool_alignleft", "title": "Rata Kiri"},\n
+{"id": "tool_alignmiddle", "title": "Rata Tengah"},\n
+{"id": "tool_alignright", "title": "Rata Kanan"},\n
+{"id": "tool_aligntop", "title": "Rata Popular"},\n
+{"id": "tool_angle", "title": "Namakan sudut putaran"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Teks"},\n
+{"id": "tool_circle", "title": "Lingkaran"},\n
+{"id": "tool_clear", "textContent": "Imej Baru"},\n
+{"id": "tool_clone", "title": "Clone Elemen"},\n
+{"id": "tool_clone_multi", "title": "Clone Elemen"},\n
+{"id": "tool_delete", "title": "Padam Elemen"},\n
+{"id": "tool_delete_multi", "title": "Padam Elemen"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Batal"},\n
+{"id": "tool_docprops_save", "textContent": "Simpan"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Persegi Panjang"},\n
+{"id": "tool_font_size", "title": "Ubah Saiz Font"},\n
+{"id": "tool_group", "title": "Kelompok Elemen"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Teks"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Pindah ke Bawah"},\n
+{"id": "tool_move_top", "title": "Pindah ke Atas"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Mengubah item yang dipilih keburaman"},\n
+{"id": "tool_open", "textContent": "Membuka Image"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rectangle"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Save Image"},\n
+{"id": "tool_select", "title": "Pilih Tool"},\n
+{"id": "tool_source", "title": "Edit Source"},\n
+{"id": "tool_source_cancel", "textContent": "Batal"},\n
+{"id": "tool_source_save", "textContent": "Simpan"},\n
+{"id": "tool_square", "title": "Peti"},\n
+{"id": "tool_text", "title": "Teks Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Undo"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elemen"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Mengubah peringkat pembesaran"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9498</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.mt.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.mt.js.xml
new file mode 100644
index 0000000000..3644c61572
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.mt.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003299.13</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.mt.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Jallinjaw relattiv għall - ..."},\n
+{"id": "bkgnd_color", "title": "Bidla fil-kulur fl-isfond / opaċità"},\n
+{"id": "circle_cx", "title": "CX Ä‹irku Tibdil jikkoordinaw"},\n
+{"id": "circle_cy", "title": "ÄŠirku Tibdil cy jikkoordinaw"},\n
+{"id": "circle_r", "title": "Raġġ ta &#39;ċirku tal-Bidla"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Bidla Rectangle Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Bidla ellissi&#39;s CX jikkoordinaw"},\n
+{"id": "ellipse_cy", "title": "Ellissi Tibdil cy jikkoordinaw"},\n
+{"id": "ellipse_rx", "title": "Raġġ x ellissi Tibdil"},\n
+{"id": "ellipse_ry", "title": "Raġġ y ellissi Tibdil"},\n
+{"id": "fill_color", "title": "Bidla imla color"},\n
+{"id": "fitToContent", "textContent": "Fit għall-kontenut"},\n
+{"id": "fit_to_all", "textContent": "Tajbin għall-kontenut"},\n
+{"id": "fit_to_canvas", "textContent": "Xieraq li kanvas"},\n
+{"id": "fit_to_layer_content", "textContent": "Fit-kontenut ta &#39;saff għal"},\n
+{"id": "fit_to_sel", "textContent": "Fit-għażla"},\n
+{"id": "font_family", "title": "Bidla Font Familja"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Għoli image Bidla"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Bidla URL"},\n
+{"id": "image_width", "title": "Wisa image Bidla"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "akbar oġġett"},\n
+{"id": "layer_delete", "title": "Ħassar Layer"},\n
+{"id": "layer_down", "title": "Move Layer Down"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Semmi mill-Ä¡did Layer"},\n
+{"id": "layer_up", "title": "Move Layer Up"},\n
+{"id": "layersLabel", "textContent": "Saffi:"},\n
+{"id": "line_x1", "title": "Bidla fil-linja tal-bidu tikkoordina x"},\n
+{"id": "line_x2", "title": "Linja tal-Bidla li jispiċċa x jikkoordinaw"},\n
+{"id": "line_y1", "title": "Bidla fil-linja tal-bidu y jikkoordinaw"},\n
+{"id": "line_y2", "title": "Linja Tibdil jispiċċa y jikkoordinaw"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "paġna"},\n
+{"id": "palette", "title": "Ikklikkja biex timla l-bidla fil-kulur, ikklikkja-bidla għall-bidla color stroke"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Għoli rettangolu Bidla"},\n
+{"id": "rect_width_tool", "title": "Wisa &#39;rettangolu Bidla"},\n
+{"id": "relativeToLabel", "textContent": "relattiv għall -:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Select predefiniti:"},\n
+{"id": "selected_objects", "textContent": "oġġetti elett"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "iżgħar oġġett"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Color stroke Bidla"},\n
+{"id": "stroke_style", "title": "Bidla stroke dash stil"},\n
+{"id": "stroke_width", "title": "Wisa &#39;puplesija Bidla"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Għoli:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Wisa &#39;:"},\n
+{"id": "text", "title": "Test kontenut Bidla"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Tallinja Bottom"},\n
+{"id": "tool_aligncenter", "title": "Tallinja Center"},\n
+{"id": "tool_alignleft", "title": "Tallinja Left"},\n
+{"id": "tool_alignmiddle", "title": "Tallinja Nofsani"},\n
+{"id": "tool_alignright", "title": "Tallinja Dritt"},\n
+{"id": "tool_aligntop", "title": "Tallinja Top"},\n
+{"id": "tool_angle", "title": "Angolu ta &#39;rotazzjoni Bidla"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Test"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "Image New"},\n
+{"id": "tool_clone", "title": "Klonu Element"},\n
+{"id": "tool_clone_multi", "title": "Klonu Elements"},\n
+{"id": "tool_delete", "title": "Ħassar Element"},\n
+{"id": "tool_delete_multi", "title": "Elementi Selected Ħassar"},\n
+{"id": "tool_docprops", "textContent": "Dokument Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Ikkanċella"},\n
+{"id": "tool_docprops_save", "textContent": "Save"},\n
+{"id": "tool_ellipse", "title": "Ellissi"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free Hand-ellissi"},\n
+{"id": "tool_fhpath", "title": "Lapes Tool"},\n
+{"id": "tool_fhrect", "title": "Free Hand-Rectangle"},\n
+{"id": "tool_font_size", "title": "Change font size"},\n
+{"id": "tool_group", "title": "Grupp Elements"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Test korsiv"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Move to Bottom"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Bidla magħżula opaċità partita"},\n
+{"id": "tool_open", "textContent": "Open Image"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rettangolu"},\n
+{"id": "tool_redo", "title": "Jerġa &#39;jagħmel"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Image Save"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "Source Edit"},\n
+{"id": "tool_source_cancel", "textContent": "Ikkanċella"},\n
+{"id": "tool_source_save", "textContent": "Save"},\n
+{"id": "tool_square", "title": "Kwadru"},\n
+{"id": "tool_text", "title": "Text Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Jneħħu"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Bidla zoom livell"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9639</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.nl.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.nl.js.xml
new file mode 100644
index 0000000000..afce07185e
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.nl.js.xml
@@ -0,0 +1,215 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003299.33</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.nl.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Uitlijnen relatief ten opzichte van ..."},\n
+{"id": "bkgnd_color", "title": "Verander achtergrond kleur/doorzichtigheid"},\n
+{"id": "circle_cx", "title": "Verander het X coordinaat van het cirkel middelpunt"},\n
+{"id": "circle_cy", "title": "Verander het Y coordinaat van het cirkel middelpunt"},\n
+{"id": "circle_r", "title": "Verander de cirkel radius"},\n
+{"id": "connector_no_arrow", "textContent": "Geen pijl"},\n
+{"id": "copyrightLabel", "textContent": "Mogelijk gemaakt door"},\n
+{"id": "cornerRadiusLabel", "title": "Verander hoekradius rechthoek"},\n
+{"id": "curve_segments", "textContent": "Gebogen"},\n
+{"id": "ellipse_cx", "title": "Verander het X coordinaat van het ellips middelpunt"},\n
+{"id": "ellipse_cy", "title": "Verander het Y coordinaat van het ellips middelpunt"},\n
+{"id": "ellipse_rx", "title": "Verander ellips X radius"},\n
+{"id": "ellipse_ry", "title": "Verander ellips Y radius"},\n
+{"id": "fill_color", "title": "Verander vul kleur"},\n
+{"id": "fitToContent", "textContent": "Pas om inhoud"},\n
+{"id": "fit_to_all", "textContent": "Pas om alle inhoud"},\n
+{"id": "fit_to_canvas", "textContent": "Pas om canvas"},\n
+{"id": "fit_to_layer_content", "textContent": "Pas om laag inhoud"},\n
+{"id": "fit_to_sel", "textContent": "Pas om selectie"},\n
+{"id": "font_family", "title": "Verander lettertype"},\n
+{"id": "icon_large", "textContent": "Groot"},\n
+{"id": "icon_medium", "textContent": "Gemiddeld"},\n
+{"id": "icon_small", "textContent": "Klein"},\n
+{"id": "icon_xlarge", "textContent": "Extra groot"},\n
+{"id": "idLabel", "title": "Identificeer het element"},\n
+{"id": "image_height", "title": "Verander hoogte afbeelding"},\n
+{"id": "image_opt_embed", "textContent": "Toevoegen data (lokale bestanden)"},\n
+{"id": "image_opt_ref", "textContent": "Gebruik bestand referentie"},\n
+{"id": "image_url", "title": "Verander URL"},\n
+{"id": "image_width", "title": "Verander breedte afbeelding"},\n
+{"id": "includedImages", "textContent": "Ingesloten afbeeldingen"},\n
+{"id": "largest_object", "textContent": "Grootste object"},\n
+{"id": "layer_delete", "title": "Delete laag"},\n
+{"id": "layer_down", "title": "Beweeg laag omlaag"},\n
+{"id": "layer_new", "title": "Nieuwe laag"},\n
+{"id": "layer_rename", "title": "Hernoem laag"},\n
+{"id": "layer_up", "title": "Beweeg laag omhoog"},\n
+{"id": "layersLabel", "textContent": "Lagen:"},\n
+{"id": "line_x1", "title": "Verander start X coordinaat van de lijn"},\n
+{"id": "line_x2", "title": "Verander eind X coordinaat van de lijn"},\n
+{"id": "line_y1", "title": "Verander start Y coordinaat van de lijn"},\n
+{"id": "line_y2", "title": "Verander eind Y coordinaat van de lijn"},\n
+{"id": "linecap_butt", "title": "Lijneinde: Geen"},\n
+{"id": "linecap_round", "title": "Lijneinde: Rond"},\n
+{"id": "linecap_square", "title": "Lijneinde: Vierkant"},\n
+{"id": "linejoin_bevel", "title": "Lijnverbinding: Afgestompt"},\n
+{"id": "linejoin_miter", "title": "Lijnverbinding: Hoek"},\n
+{"id": "linejoin_round", "title": "Lijnverbinding: Rond"},\n
+{"id": "main_icon", "title": "Hoofdmenu"},\n
+{"id": "mode_connect", "title": "Verbind twee objecten"},\n
+{"id": "page", "textContent": "Pagina"},\n
+{"id": "palette", "title": "Klik om de vul kleur te veranderen, shift-klik om de lijn kleur te veranderen"},\n
+{"id": "path_node_x", "title": "Verander X coordinaat knooppunt"},\n
+{"id": "path_node_y", "title": "Verander Y coordinaat knooppunt"},\n
+{"id": "rect_height_tool", "title": "Verander hoogte rechthoek"},\n
+{"id": "rect_width_tool", "title": "Verander breedte rechthoek"},\n
+{"id": "relativeToLabel", "textContent": "Relatief ten opzichte van:"},\n
+{"id": "seg_type", "title": "Verander segment type"},\n
+{"id": "selLayerLabel", "textContent": "Verplaats elementen naar:"},\n
+{"id": "selLayerNames", "title": "Verplaats geselecteerde elementen naar andere laag"},\n
+{"id": "selectedPredefined", "textContent": "Kies voorgedefinieerd:"},\n
+{"id": "selected_objects", "textContent": "Geselecteerde objecten"},\n
+{"id": "selected_x", "title": "Verander X coordinaat"},\n
+{"id": "selected_y", "title": "Verander Y coordinaat"},\n
+{"id": "smallest_object", "textContent": "Kleinste object"},\n
+{"id": "straight_segments", "textContent": "Recht"},\n
+{"id": "stroke_color", "title": "Verander lijn kleur"},\n
+{"id": "stroke_style", "title": "Verander lijn stijl"},\n
+{"id": "stroke_width", "title": "Verander lijn breedte"},\n
+{"id": "svginfo_bg_note", "textContent": "Let op: De achtergrond wordt niet opgeslagen met de afbeelding."},\n
+{"id": "svginfo_change_background", "textContent": "Editor achtergrond"},\n
+{"id": "svginfo_dim", "textContent": "Canvas afmetingen"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor eigenschappen"},\n
+{"id": "svginfo_height", "textContent": "Hoogte:"},\n
+{"id": "svginfo_icons", "textContent": "Icoon grootte"},\n
+{"id": "svginfo_image_props", "textContent": "Afbeeldingeigenschappen"},\n
+{"id": "svginfo_lang", "textContent": "Taal"},\n
+{"id": "svginfo_title", "textContent": "Titel"},\n
+{"id": "svginfo_width", "textContent": "Breedte:"},\n
+{"id": "text", "title": "Wijzig tekst"},\n
+{"id": "toggle_stroke_tools", "title": "Toon/verberg meer lijn gereedschap"},\n
+{"id": "tool_add_subpath", "title": "Subpad toevoegen"},\n
+{"id": "tool_alignbottom", "title": "Onder uitlijnen"},\n
+{"id": "tool_aligncenter", "title": "Centreren"},\n
+{"id": "tool_alignleft", "title": "Links uitlijnen"},\n
+{"id": "tool_alignmiddle", "title": "Midden uitlijnen"},\n
+{"id": "tool_alignright", "title": "Rechts uitlijnen"},\n
+{"id": "tool_aligntop", "title": "Boven uitlijnen"},\n
+{"id": "tool_angle", "title": "Draai"},\n
+{"id": "tool_blur", "title": "Verander Gaussische vervaging waarde"},\n
+{"id": "tool_bold", "title": "Vet"},\n
+{"id": "tool_circle", "title": "Cirkel"},\n
+{"id": "tool_clear", "textContent": "Nieuwe afbeelding"},\n
+{"id": "tool_clone", "title": "Kloon element"},\n
+{"id": "tool_clone_multi", "title": "Kloon elementen"},\n
+{"id": "tool_delete", "title": "Delete element"},\n
+{"id": "tool_delete_multi", "title": "Delete geselecteerde elementen"},\n
+{"id": "tool_docprops", "textContent": "Documenteigenschappen"},\n
+{"id": "tool_docprops_cancel", "textContent": "Annuleren"},\n
+{"id": "tool_docprops_save", "textContent": "Ok"},\n
+{"id": "tool_ellipse", "title": "Ellips"},\n
+{"id": "tool_export", "textContent": "Exporteer als PNG"},\n
+{"id": "tool_eyedropper", "title": "Kleuren kopieer gereedschap"},\n
+{"id": "tool_fhellipse", "title": "Vrije stijl ellips"},\n
+{"id": "tool_fhpath", "title": "Potlood"},\n
+{"id": "tool_fhrect", "title": "Vrije stijl rechthoek"},\n
+{"id": "tool_font_size", "title": "Verander lettertype grootte"},\n
+{"id": "tool_group", "title": "Groepeer elementen"},\n
+{"id": "tool_image", "title": "Afbeelding"},\n
+{"id": "tool_import", "textContent": "Importeer SVG"},\n
+{"id": "tool_italic", "title": "Cursief"},\n
+{"id": "tool_line", "title": "Lijn"},\n
+{"id": "tool_move_bottom", "title": "Naar achtergrond"},\n
+{"id": "tool_move_top", "title": "Naar voorgrond"},\n
+{"id": "tool_node_clone", "title": "Kloon knooppunt"},\n
+{"id": "tool_node_delete", "title": "Delete knooppunt"},\n
+{"id": "tool_node_link", "title": "Koppel controle punten"},\n
+{"id": "tool_opacity", "title": "Verander opaciteit geselecteerde item"},\n
+{"id": "tool_open", "textContent": "Open afbeelding"},\n
+{"id": "tool_openclose_path", "title": "Open/sluit subpad"},\n
+{"id": "tool_path", "title": "Pad"},\n
+{"id": "tool_position", "title": "Lijn element uit relatief ten opzichte van de pagina"},\n
+{"id": "tool_rect", "title": "Rechthoek"},\n
+{"id": "tool_redo", "title": "Opnieuw doen"},\n
+{"id": "tool_reorient", "title": "Herorienteer pad"},\n
+{"id": "tool_save", "textContent": "Afbeelding opslaan"},\n
+{"id": "tool_select", "title": "Selecteer"},\n
+{"id": "tool_source", "title": "Bewerk bron"},\n
+{"id": "tool_source_cancel", "textContent": "Annuleren"},\n
+{"id": "tool_source_save", "textContent": "Veranderingen toepassen"},\n
+{"id": "tool_square", "title": "Vierkant"},\n
+{"id": "tool_text", "title": "Tekst"},\n
+{"id": "tool_topath", "title": "Zet om naar pad"},\n
+{"id": "tool_undo", "title": "Ongedaan maken"},\n
+{"id": "tool_ungroup", "title": "Groepering opheffen"},\n
+{"id": "tool_wireframe", "title": "Draadmodel"},\n
+{"id": "tool_zoom", "title": "Zoom"},\n
+{"id": "url_notice", "title": "Let op: Dit plaatje kan niet worden geintegreerd (embeded). Het hangt af van dit pad om te worden afgebeeld."},\n
+{"id": "zoom_panel", "title": "In-/uitzoomen"},\n
+{"id": "sidepanel_handle", "textContent": "L a g e n", "title": "Sleep naar links/rechts om het zijpaneel te vergroten/verkleinen"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "Er waren analyse fouten in je SVG bron.\\nTeruggaan naar de originele SVG bron?", \n
+  "QignoreSourceChanges": "Veranderingen in de SVG bron negeren?", \n
+  "QmoveElemsToLayer": "Verplaats geselecteerde elementen naar laag \'%s\'?", \n
+  "QwantToClear": "Wil je de afbeelding leeg maken?\\nDit zal ook de ongedaan maak geschiedenis wissen!", \n
+  "cancel": "Annuleren", \n
+  "defsFailOnSave": "Let op: Vanwege een fout in je browser, kan dit plaatje verkeerd verschijnen (missende hoeken en/of elementen). Het zal goed verschijnen zodra het plaatje echt wordt opgeslagen.", \n
+  "dupeLayerName": "Er is al een laag met die naam!", \n
+  "enterNewImgURL": "Geef de nieuwe afbeelding URL", \n
+  "enterNewLayerName": "Geef een nieuwe laag naam", \n
+  "enterUniqueLayerName": "Geef een unieke laag naam", \n
+  "exportNoBlur": "Vervaagde elementen zullen niet vervaagd worden geexporteerd.", \n
+  "exportNoDashArray": "Lijnstijlen zullen gevuld worden geexporteerd..", \n
+  "exportNoImage": "Plaatjes elementen zullen niet worden geexporteerd.", \n
+  "exportNoText": "Tekst kan mogelijk niet zo worden geexporteerd zoals verwacht.", \n
+  "exportNoforeignObject": "Vreemde objecten zullen niet worden geexporteerd.", \n
+  "featNotSupported": "Functie wordt niet ondersteund", \n
+  "invalidAttrValGiven": "Verkeerde waarde gegeven", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "omlaag", \n
+  "key_up": "omhoog", \n
+  "layer": "Laag", \n
+  "layerHasThatName": "Laag heeft al die naam", \n
+  "loadingImage": "Laden van het plaatje, even geduld aub...", \n
+  "noContentToFitTo": "Geen inhoud om omheen te passen", \n
+  "noteTheseIssues": "Let op de volgende problemen: ", \n
+  "ok": "Ok", \n
+  "pathCtrlPtTooltip": "Versleep het controle punt om de boog eigenschappen te veranderen", \n
+  "pathNodeTooltip": "Versleep knooppunt om hem te verslepen. Dubbel klik knooppunt om het segment type te veranderen", \n
+  "saveFromBrowser": "Kies \\"Save As...\\" in je browser om dit plaatje op te slaan als een %s bestand."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10407</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.no.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.no.js.xml
new file mode 100644
index 0000000000..4e6f538cc1
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.no.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003299.54</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.no.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Juster i forhold til ..."},\n
+{"id": "bkgnd_color", "title": "Endre bakgrunnsfarge / opacity"},\n
+{"id": "circle_cx", "title": "Endre sirkelens CX koordinatsystem"},\n
+{"id": "circle_cy", "title": "Endre sirkelens koordinere cy"},\n
+{"id": "circle_r", "title": "Endre sirkelens radius"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Endre rektangel Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Endre ellipse&#39;s CX koordinatsystem"},\n
+{"id": "ellipse_cy", "title": "Endre ellipse&#39;s koordinere cy"},\n
+{"id": "ellipse_rx", "title": "Endre ellipse&#39;s x radius"},\n
+{"id": "ellipse_ry", "title": "Endre ellipse&#39;s y radius"},\n
+{"id": "fill_color", "title": "Endre fyllfarge"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Passer til alt innhold"},\n
+{"id": "fit_to_canvas", "textContent": "Tilpass til lerret"},\n
+{"id": "fit_to_layer_content", "textContent": "Fit to lag innhold"},\n
+{"id": "fit_to_sel", "textContent": "Tilpass til valg"},\n
+{"id": "font_family", "title": "Change Font Family"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Endre bilde høyde"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Endre URL"},\n
+{"id": "image_width", "title": "Endre bilde bredde"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "største objekt"},\n
+{"id": "layer_delete", "title": "Slett laget"},\n
+{"id": "layer_down", "title": "Flytt laget ned"},\n
+{"id": "layer_new", "title": "Nytt lag"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Flytt Layer Up"},\n
+{"id": "layersLabel", "textContent": "Layers:"},\n
+{"id": "line_x1", "title": "Endre linje begynner x koordinat"},\n
+{"id": "line_x2", "title": "Endre linje&#39;s ending x koordinat"},\n
+{"id": "line_y1", "title": "Endre linje begynner y koordinat"},\n
+{"id": "line_y2", "title": "Endre linje&#39;s ending y koordinat"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "side"},\n
+{"id": "palette", "title": "Click å endre fyllfarge, shift-klikke for å endre slag farge"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Endre rektangel høyde"},\n
+{"id": "rect_width_tool", "title": "Endre rektangel bredde"},\n
+{"id": "relativeToLabel", "textContent": "i forhold til:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Velg forhåndsdefinerte:"},\n
+{"id": "selected_objects", "textContent": "velges objekter"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "minste objekt"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Endre stroke color"},\n
+{"id": "stroke_style", "title": "Endre stroke dash stil"},\n
+{"id": "stroke_width", "title": "Endre stroke width"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Høyde:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Bredde:"},\n
+{"id": "text", "title": "Endre tekst innholdet"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Midtstill"},\n
+{"id": "tool_alignleft", "title": "Venstrejuster"},\n
+{"id": "tool_alignmiddle", "title": "Rett Middle"},\n
+{"id": "tool_alignright", "title": "Høyrejuster"},\n
+{"id": "tool_aligntop", "title": "Align Top"},\n
+{"id": "tool_angle", "title": "Endre rotasjonsvinkelen"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Fet tekst"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elements"},\n
+{"id": "tool_delete", "title": "Slett element"},\n
+{"id": "tool_delete_multi", "title": "Slett valgte elementer [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Avbryt"},\n
+{"id": "tool_docprops_save", "textContent": "Lagre"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Free-Hand rektangel"},\n
+{"id": "tool_font_size", "title": "Endre skriftstørrelse"},\n
+{"id": "tool_group", "title": "Gruppe Elements"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Kursiv tekst"},\n
+{"id": "tool_line", "title": "Linjeverktøy"},\n
+{"id": "tool_move_bottom", "title": "Move to Bottom"},\n
+{"id": "tool_move_top", "title": "Flytt til toppen"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Endre valgte elementet opasitet"},\n
+{"id": "tool_open", "textContent": "Ã…pne Image"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rektangel"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Lagre bilde"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "Edit Source"},\n
+{"id": "tool_source_cancel", "textContent": "Avbryt"},\n
+{"id": "tool_source_save", "textContent": "Lagre"},\n
+{"id": "tool_square", "title": "Torg"},\n
+{"id": "tool_text", "title": "Text Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Angre"},\n
+{"id": "tool_ungroup", "title": "Dele opp Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Endre zoomnivå"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9528</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pl.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pl.js.xml
new file mode 100644
index 0000000000..6871716752
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pl.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003299.74</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.pl.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Dostosowanie w stosunku do ..."},\n
+{"id": "bkgnd_color", "title": "Zmień kolor tła / opacity"},\n
+{"id": "circle_cx", "title": "Zmiana koła CX koordynacji"},\n
+{"id": "circle_cy", "title": "Koła Zmian cy koordynacji"},\n
+{"id": "circle_r", "title": "Zmiana koła promienia"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Zmiana prostokÄ…t Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Zmiana elipsy CX koordynacji"},\n
+{"id": "ellipse_cy", "title": "Elipsy Zmian cy koordynacji"},\n
+{"id": "ellipse_rx", "title": "Elipsy Zmian x promieniu"},\n
+{"id": "ellipse_ry", "title": "Elipsy Zmian y promieniu"},\n
+{"id": "fill_color", "title": "Zmiana koloru wypełnienia"},\n
+{"id": "fitToContent", "textContent": "Dopasuj do treści"},\n
+{"id": "fit_to_all", "textContent": "Dopasuj do wszystkich treści"},\n
+{"id": "fit_to_canvas", "textContent": "Dopasuj do płótnie"},\n
+{"id": "fit_to_layer_content", "textContent": "Dopasuj do zawartości warstwy"},\n
+{"id": "fit_to_sel", "textContent": "Dopasuj do wyboru"},\n
+{"id": "font_family", "title": "Zmiana czcionki Rodzina"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Wysokość obrazu zmian"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Zmień adres URL"},\n
+{"id": "image_width", "title": "Zmiana image width"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "największego obiektu"},\n
+{"id": "layer_delete", "title": "Usuwanie warstwy"},\n
+{"id": "layer_down", "title": "Przesuń warstwę w dół"},\n
+{"id": "layer_new", "title": "Nowa warstwa"},\n
+{"id": "layer_rename", "title": "Zmiana nazwy warstwy"},\n
+{"id": "layer_up", "title": "Move Up Layer"},\n
+{"id": "layersLabel", "textContent": "Warstwy:"},\n
+{"id": "line_x1", "title": "Zmian od linii współrzędna x"},\n
+{"id": "line_x2", "title": "Zgodnie Zmian kończące współrzędna x"},\n
+{"id": "line_y1", "title": "Line y Zmian od współrzędnych"},\n
+{"id": "line_y2", "title": "Zgodnie Zmian kończące y koordynowanie"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "strona"},\n
+{"id": "palette", "title": "Kliknij, aby zmienić kolor wypełnienia, shift kliknij, aby zmienić kolor skok"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Zmiana wysokości prostokąta"},\n
+{"id": "rect_width_tool", "title": "Szerokość prostokąta Zmień"},\n
+{"id": "relativeToLabel", "textContent": "w stosunku do:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Wybierz predefiniowanych:"},\n
+{"id": "selected_objects", "textContent": "wybranych obiektów"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "Najmniejszy obiekt"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Zmień kolor skok"},\n
+{"id": "stroke_style", "title": "Zmień styl skoku kreska"},\n
+{"id": "stroke_width", "title": "Szerokość skoku Zmień"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Wysokość:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Szerokość:"},\n
+{"id": "text", "title": "Zmiana treści tekstu"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Wyrównaj do dołu"},\n
+{"id": "tool_aligncenter", "title": "Wyśrodkuj"},\n
+{"id": "tool_alignleft", "title": "Wyrównaj do lewej"},\n
+{"id": "tool_alignmiddle", "title": "Align Middle"},\n
+{"id": "tool_alignright", "title": "Wyrównaj do prawej"},\n
+{"id": "tool_aligntop", "title": "Wyrównaj do góry"},\n
+{"id": "tool_angle", "title": "Zmiana kÄ…ta obrotu"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Koło"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Elementy Clone"},\n
+{"id": "tool_delete", "title": "Usuń element"},\n
+{"id": "tool_delete_multi", "title": "Usun Wybrane elementy"},\n
+{"id": "tool_docprops", "textContent": "Właściwości dokumentu"},\n
+{"id": "tool_docprops_cancel", "textContent": "Anuluj"},\n
+{"id": "tool_docprops_save", "textContent": "Zapisać"},\n
+{"id": "tool_ellipse", "title": "Elipsa"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Wolny-Hand Elipsa"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Wolnej ręki prostokąt"},\n
+{"id": "tool_font_size", "title": "Zmień rozmiar czcionki"},\n
+{"id": "tool_group", "title": "Elementy Grupa"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Kursywa"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Przenieś do dołu"},\n
+{"id": "tool_move_top", "title": "Przenieś do góry"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Zmiana stron przezroczystość elementu"},\n
+{"id": "tool_open", "textContent": "Otwórz obraz"},\n
+{"id": "tool_path", "title": "Poli Tool"},\n
+{"id": "tool_rect", "title": "ProstokÄ…t"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Zapisz obraz"},\n
+{"id": "tool_select", "title": "Wybierz narzędzie"},\n
+{"id": "tool_source", "title": "Edycja źródła"},\n
+{"id": "tool_source_cancel", "textContent": "Anuluj"},\n
+{"id": "tool_source_save", "textContent": "Zapisać"},\n
+{"id": "tool_square", "title": "Kwadrat"},\n
+{"id": "tool_text", "title": "Tekst Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Cofnij"},\n
+{"id": "tool_ungroup", "title": "Elementy Rozgrupuj"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Zmiana poziomu powiększenia"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9713</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pt-BR.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pt-BR.js.xml
new file mode 100644
index 0000000000..2452275fac
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pt-BR.js.xml
@@ -0,0 +1,197 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003299.95</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.pt-BR.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id":"layer_new","title":"Nova Camada"},\n
+{"id":"layer_delete","title":"Deletar Camada"},\n
+{"id":"layer_rename","title":"Renomear Camada"},\n
+{"id":"layer_up","title":"Camada para Cima"},\n
+{"id":"layer_down","title":"Camada para baixo"},\n
+{"id":"tool_clear","title":"Nova Imagem"},\n
+{"id":"tool_open","title":"Abrir Imagem"},\n
+{"id":"tool_save","title":"Salvar Imagem"},\n
+{"id":"tool_docprops","title":"Propriedades"},\n
+{"id":"tool_source","title":"Código"},\n
+{"id":"tool_undo","title":"Desfazer"},\n
+{"id":"tool_redo","title":"Refazer"},\n
+{"id":"tool_clone","title":"Duplicar Elemento"},\n
+{"id":"tool_delete","title":"Excluir Elemento"},\n
+{"id":"tool_move_top","title":"Mover para Cima"},\n
+{"id":"tool_move_bottom","title":"Mover para Baixo"},\n
+{"id":"group_opacity","title":"Mudar a opacidade"},\n
+{"id":"angle","title":"Ângulo de rotação"},\n
+{"id":"tool_clone_multi","title":"Duplicar Elementos"},\n
+{"id":"tool_delete_multi","title":"Eliminar Elementos"},\n
+{"id":"tool_alignleft","title":"Alinhar à Esquerda"},\n
+{"id":"tool_aligncenter","title":"Alinhar ao centro"},\n
+{"id":"tool_alignright","title":"Alinhar à Direita"},\n
+{"id":"tool_aligntop","title":"Alinhar Acima"},\n
+{"id":"tool_alignmiddle","title":"Alinhar no Méio"},\n
+{"id":"tool_alignbottom","title":"Alinhar Abaixo"},\n
+{"id":"align_relative_to","title":"Alinhar em relação a ..."},\n
+{"id":"tool_group","title":"Agrupar"},\n
+{"id":"tool_ungroup","title":"Desagrupar"},\n
+{"id":"rect_width","title":"Alterar a largura retângulo"},\n
+{"id":"rect_height","title":"Alterar altura do retângulo"},\n
+{"id":"rect_rx","title":"Radio do chanfro"},\n
+{"id":"image_width","title":"Alterar a largura da imagem"},\n
+{"id":"image_height","title":"Alterar altura da imagem"},\n
+{"id":"image_url","title":"Alterar caminho URL"},\n
+{"id":"circle_cx","title":"Ponto horizontal do centro cx"},\n
+{"id":"circle_cy","title":"Ponto Vertical do centro cy"},\n
+{"id":"circle_r","title":"Alterar raio"},\n
+{"id":"ellipse_cx","title":"Ponto horizontal do centro cx"},\n
+{"id":"ellipse_cy","title":"Ponto Vertical do centro cy"},\n
+{"id":"ellipse_rx","title":"Alterar raio horizontal"},\n
+{"id":"ellipse_ry","title":"Alterar raio vertical"},\n
+{"id":"line_x1","title":"Ponto horizontal do início da linha x1"},\n
+{"id":"line_y1","title":"Ponto vertical do início da linha y1"},\n
+{"id":"line_x2","title":"Ponto horizontal do fim da linha x2"},\n
+{"id":"line_y2","title":"Ponto vertical do fim da linha y2"},\n
+{"id":"tool_bold","title":"Negrito"},\n
+{"id":"tool_italic","title":"Itálico"},\n
+{"id":"font_family","title":"Fonte"},\n
+{"id":"font_size","title":"Alterar tamanho da fonte"},\n
+{"id":"text","title":"Alterar o conteúdo do texto"},\n
+{"id":"tool_select","title":"Seleção"},\n
+{"id":"tool_fhpath","title":"Lápis"},\n
+{"id":"tool_line","title":"Linha"},\n
+{"id":"tools_rect_show","title":"Quadrado / Retângulo"},\n
+{"id":"tools_ellipse_show","title":"Elipse / Círculo"},\n
+{"id":"tool_text","title":"Texto"},\n
+{"id":"tool_path","title":"Área"},\n
+{"id":"tool_image","title":"Imagem"},\n
+{"id":"tool_zoom","title":"Zoom"},\n
+{"id":"zoom","title":"Alterar o zoom"},\n
+{"id":"fill_color","title":"Cor do preenchimento"},\n
+{"id":"stroke_color","title":"Cor do contorno"},\n
+{"id":"stroke_width","title":"Alterar a largura do contorno"},\n
+{"id":"stroke_style","title":"Alterar o estilo do contorno"},\n
+{"id":"palette","title":"Clique para mudar a cor do preenchimento, Shift + Clique para mudar a cor do contorno"},\n
+{"id":"tool_square","title":"Quadrado"},\n
+{"id":"tool_rect","title":"Retângulo"},\n
+{"id":"tool_fhrect","title":"Retangulo à mão-livre"},\n
+{"id":"tool_circle","title":"Circle"},\n
+{"id":"tool_ellipse","title":"Elipse"},\n
+{"id":"tool_fhellipse","title":"Elipse à mão-livre"},\n
+{"id":"bkgnd_color","title":"Mudar a cor de fundo / opacidade"},\n
+{"id":"rwidthLabel","textContent":"largura:"},\n
+{"id":"rheightLabel","textContent":"altura:"},\n
+{"id":"cornerRadiusLabel","textContent":"Raio:"},\n
+{"id":"iwidthLabel","textContent":"largura:"},\n
+{"id":"iheightLabel","textContent":"altura:"},\n
+{"id":"svginfo_width","textContent":"Largura:"},\n
+{"id":"svginfo_height","textContent":"Altura:"},\n
+{"id":"angleLabel","textContent":"ângulo:"},\n
+{"id":"relativeToLabel","textContent":"em relação ao:"},\n
+{"id":"zoomLabel","textContent":"zoom:"},\n
+{"id":"layersLabel","textContent":"Camadas:"},\n
+{"id":"selectedPredefined","textContent":"Selecionar predefinidos:"},\n
+{"id":"fitToContent","textContent":"Ajustar ao conteúdo"},\n
+{"id":"tool_source_save","textContent":"Salvar"},\n
+{"id":"tool_docprops_save","textContent":"Salvar"},\n
+{"id":"tool_docprops_cancel","textContent":"Cancelar"},\n
+{"id":"tool_source_cancel","textContent":"Cancelar"},\n
+{"id":"fit_to_all","textContent":"Ajustar a todo o conteúdo"},\n
+{"id":"fit_to_layer_content","textContent":"Ajustar ao conteúdo da camada"},\n
+{"id":"fit_to_sel","textContent":"Ajustar à seleção"},\n
+{"id":"fit_to_canvas","textContent":"Ajustar à tela"},\n
+{"id":"selected_objects","textContent":"objetos selecionados"},\n
+{"id":"largest_object","textContent":"maior objeto"},\n
+{"id":"smallest_object","textContent":"menor objeto"},\n
+{"id":"page","textContent":"Página"},\n
+{"id":"fill_tool_bottom","textContent":"Preenchimento:"},\n
+{"id":"stroke_tool_bottom","textContent":"Contorno:"},\n
+{"id":"path_node_x","title":"Coordenada do ponto x"},\n
+{"id":"path_node_y","title":"Coordenada do ponto y"},\n
+{"id":"seg_type","title":"Mudar Tipo de segmento"},\n
+{"id":"straight_segments","textContent":"Reta"},\n
+{"id":"curve_segments","textContent":"Curva"},\n
+{"id":"tool_node_clone","title":"Duplicar ponto"},\n
+{"id":"tool_node_delete","title":"Deletar ponto"},\n
+{"id":"selLayerLabel","textContent":"Mover elementos para:"},\n
+{"id":"selLayerNames","title":"Mover elementos selecionados para outra camada"},\n
+{"id":"sidepanel_handle","title":"Arraste para os lados para alterar a largura","textContent":"C a m a d a s"},\n
+{"id":"tool_wireframe","title":"Modo Somente Contornos"},\n
+{"id":"svginfo_image_props","textContent":"Propriedades da Imagem"},\n
+{"id":"svginfo_title","textContent":"Título"},\n
+{"id":"svginfo_dim","textContent":"Dimensões"},\n
+{"id":"includedImages","textContent":"Imagens incluídas"},\n
+{"id":"image_opt_embed","textContent":"Embutir dados (arquivos locais)"},\n
+{"id":"image_opt_ref","textContent":"Usar referência a arquivo"},\n
+{"id":"svginfo_editor_prefs","textContent":"Preferências"},\n
+{"id":"svginfo_lang","textContent":"Idioma"},\n
+{"id":"svginfo_change_background","textContent":"Mudar fundo"},\n
+{"id":"svginfo_bg_note","textContent":"Aviso: Fundo não será salvo com a imagem."},\n
+{"id":"svginfo_icons","textContent":"Tamanho do ícone"},\n
+{"id":"icon_small","textContent":"Pequeno"},\n
+{"id":"icon_medium","textContent":"Medio"},\n
+{"id":"icon_large","textContent":"Grande"},\n
+{"id":"icon_xlarge","textContent":"Extra"},\n
+{"id":"selected_x","title":"Mudar coodenada x"},\n
+{"id":"selected_y","title":"Mudar coodenada y"},\n
+{"id":"tool_topath","title":"Mudar para Área"},\n
+{"id":"tool_reorient","title":"Reorientar Área"},\n
+{"id":"tool_node_link","title":"Alinhar ponto de controle da curva"},\n
+{"js_strings": {\n
+\t"invalidAttrValGiven":"Valor inválido",\n
+\t"noContentToFitTo":"Sem conteúdo",\n
+\t\'layer\':"Camada",\n
+\t"dupeLayerName":"Já existe uma camada com esse nome",\n
+\t"enterUniqueLayerName":"Por favor, insira um nome único",\n
+\t"enterNewLayerName":"Por favor, insira o nome da nova camada",\n
+\t"layerHasThatName":"A camada já possui este nome",\n
+\t"QmoveElemsToLayer":"Mover os elementos selecionados para a camada: \'%s\'?",\n
+\t"QwantToClear":"Deseja apagar o desenho?\\nIsso também vai limpar o histórico!",\n
+\t"QerrorsRevertToSource":"Foram encontrados erros no seu código SVG.\\nVoltar para o código SVG original?",\n
+\t"QignoreSourceChanges":"Ignorar mudanças no código SVG?",\n
+\t"featNotSupported":"Recurso não suportado",\n
+\t"enterNewImgURL":"Insirao caminho URL da imagem",\n
+\t"ok":"Ok",\n
+\t"cancel":"Cancelar",\n
+\t"pathNodeTooltip":"Arraste o ponto para move-lo. \\nDuplo-click para mudar o tipo de segmento (Reta / Curva)",\n
+\t"pathCtrlPtTooltip":"Arraste ponto de controle da curva para alterar suas propriedades",\n
+\t"key_up":"seta pra cima",\n
+\t"key_down":"seta pra baixo",\n
+\t"key_backspace":"backspace",\n
+\t"key_del":"delete"\n
+\t}\n
+}\n
+]\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>8089</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pt-PT.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pt-PT.js.xml
new file mode 100644
index 0000000000..350d5f3846
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.pt-PT.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003300.15</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.pt-PT.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Alinhar em relação a ..."},\n
+{"id": "bkgnd_color", "title": "Mudar a cor de fundo / opacidade"},\n
+{"id": "circle_cx", "title": "Cx Mudar círculo de coordenadas"},\n
+{"id": "circle_cy", "title": "Círculo Mudança cy coordenar"},\n
+{"id": "circle_r", "title": "Alterar círculo de raio"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Alterar Corner Rectangle Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Alterar elipse cx coordenar"},\n
+{"id": "ellipse_cy", "title": "Elipse Mudança cy coordenar"},\n
+{"id": "ellipse_rx", "title": "Raio X Change elipse"},\n
+{"id": "ellipse_ry", "title": "Raio y Change elipse"},\n
+{"id": "fill_color", "title": "Alterar a cor de preenchimento"},\n
+{"id": "fitToContent", "textContent": "Ajustar ao conteúdo"},\n
+{"id": "fit_to_all", "textContent": "Ajustar a todo o conteúdo"},\n
+{"id": "fit_to_canvas", "textContent": "Ajustar à tela"},\n
+{"id": "fit_to_layer_content", "textContent": "Ajustar o conteúdo da camada de"},\n
+{"id": "fit_to_sel", "textContent": "Ajustar à selecção"},\n
+{"id": "font_family", "title": "Alterar fonte Família"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Alterar altura da imagem"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Alterar URL"},\n
+{"id": "image_width", "title": "Alterar a largura da imagem"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "maior objeto"},\n
+{"id": "layer_delete", "title": "Delete Layer"},\n
+{"id": "layer_down", "title": "Move camada para baixo"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Move Layer Up"},\n
+{"id": "layersLabel", "textContent": "Camadas:"},\n
+{"id": "line_x1", "title": "Altere a linha de partida coordenada x"},\n
+{"id": "line_x2", "title": "Altere a linha está terminando coordenada x"},\n
+{"id": "line_y1", "title": "Mudança na linha de partida coordenada y"},\n
+{"id": "line_y2", "title": "Mudança de linha está terminando coordenada y"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "Página"},\n
+{"id": "palette", "title": "Clique para mudar a cor de preenchimento, shift-clique para mudar a cor do curso"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Alterar altura do retângulo"},\n
+{"id": "rect_width_tool", "title": "Alterar a largura retângulo"},\n
+{"id": "relativeToLabel", "textContent": "em relação ao:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Selecione predefinidos:"},\n
+{"id": "selected_objects", "textContent": "objetos eleitos"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "menor objeto"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Mudar a cor do curso"},\n
+{"id": "stroke_style", "title": "Alterar o estilo do traço do curso"},\n
+{"id": "stroke_width", "title": "Alterar a largura do curso"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Altura:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Largura:"},\n
+{"id": "text", "title": "Alterar o conteúdo de texto"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Alinhar ao centro"},\n
+{"id": "tool_alignleft", "title": "Alinhar à Esquerda"},\n
+{"id": "tool_alignmiddle", "title": "Alinhar Médio"},\n
+{"id": "tool_alignright", "title": "Alinhar à Direita"},\n
+{"id": "tool_aligntop", "title": "Align Top"},\n
+{"id": "tool_angle", "title": "Alterar o ângulo de rotação"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "Nova Imagem"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Elementos Clone"},\n
+{"id": "tool_delete", "title": "Excluir Elemento"},\n
+{"id": "tool_delete_multi", "title": "Eliminar elementos selecionados"},\n
+{"id": "tool_docprops", "textContent": "Propriedades do Documento"},\n
+{"id": "tool_docprops_cancel", "textContent": "Cancelar"},\n
+{"id": "tool_docprops_save", "textContent": "Salvar"},\n
+{"id": "tool_ellipse", "title": "Elipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Ferramenta Lápis"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Rectangle"},\n
+{"id": "tool_font_size", "title": "Alterar tamanho de letra"},\n
+{"id": "tool_group", "title": "Elementos do Grupo"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Texto em itálico"},\n
+{"id": "tool_line", "title": "Ferramenta Linha"},\n
+{"id": "tool_move_bottom", "title": "Move to Bottom"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Mude a opacidade item selecionado"},\n
+{"id": "tool_open", "textContent": "Abrir Imagem"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Retângulo"},\n
+{"id": "tool_redo", "title": "Refazer"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Salvar Imagem"},\n
+{"id": "tool_select", "title": "Selecione a ferramenta"},\n
+{"id": "tool_source", "title": "Fonte Editar"},\n
+{"id": "tool_source_cancel", "textContent": "Cancelar"},\n
+{"id": "tool_source_save", "textContent": "Salvar"},\n
+{"id": "tool_square", "title": "Quadrado"},\n
+{"id": "tool_text", "title": "Ferramenta de Texto"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Desfazer"},\n
+{"id": "tool_ungroup", "title": "Elementos Desagrupar"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Alterar o nível de zoom"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9770</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ro.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ro.js.xml
new file mode 100644
index 0000000000..2a38252d7f
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ro.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003300.36</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.ro.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Alinierea în raport cu ..."},\n
+{"id": "bkgnd_color", "title": "Schimbare culoare de fundal / opacitate"},\n
+{"id": "circle_cx", "title": "Schimbarea coordonatei CX a cercului"},\n
+{"id": "circle_cy", "title": "Schimbarea coordonatei CY a cercului"},\n
+{"id": "circle_r", "title": "Schimbarea razei cercului"},\n
+{"id": "connector_no_arrow", "textContent": "Fără Săgeată"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Schimbarea Razei Colţului Dreptunghiului"},\n
+{"id": "curve_segments", "textContent": "Curv"},\n
+{"id": "ellipse_cx", "title": "Schimbarea coordonatei CX a elipsei"},\n
+{"id": "ellipse_cy", "title": "Schimbarea coordonatei CY a elipsei"},\n
+{"id": "ellipse_rx", "title": "Schimbarea razei elipsei X"},\n
+{"id": "ellipse_ry", "title": "Schimbarea razei elipsei Y"},\n
+{"id": "fill_color", "title": "Schimbarea culorii de umplere"},\n
+{"id": "fitToContent", "textContent": "Dimensionare la Conţinut"},\n
+{"id": "fit_to_all", "textContent": "Potrivire la tot conţinutul"},\n
+{"id": "fit_to_canvas", "textContent": "Potrivire la Åževalet"},\n
+{"id": "fit_to_layer_content", "textContent": "Potrivire la conţinutul stratului"},\n
+{"id": "fit_to_sel", "textContent": "Potrivire la selecţie"},\n
+{"id": "font_family", "title": "Modificare familie de Fonturi"},\n
+{"id": "icon_large", "textContent": "Mari"},\n
+{"id": "icon_medium", "textContent": "Medii"},\n
+{"id": "icon_small", "textContent": "Mici"},\n
+{"id": "icon_xlarge", "textContent": "Foarte Mari"},\n
+{"id": "image_height", "title": "Schimbarea Înălţimii imaginii"},\n
+{"id": "image_opt_embed", "textContent": "Includeţi Datele (fisiere locale)"},\n
+{"id": "image_opt_ref", "textContent": "Foloseste referinte la fisiere"},\n
+{"id": "image_url", "title": "Schimbaţi URL-ul"},\n
+{"id": "image_width", "title": "Schimbarea Lăţimii imaginii"},\n
+{"id": "includedImages", "textContent": "Imaginile Incluse"},\n
+{"id": "largest_object", "textContent": "cel mai mare obiect"},\n
+{"id": "layer_delete", "title": "Ştergeţi Strat"},\n
+{"id": "layer_down", "title": "Mutare Strat în Jos"},\n
+{"id": "layer_new", "title": "Strat Nou"},\n
+{"id": "layer_rename", "title": "Redenumiţi Strat"},\n
+{"id": "layer_up", "title": "Mutare Strat în Sus"},\n
+{"id": "layersLabel", "textContent": "Straturi:"},\n
+{"id": "line_x1", "title": "Schimbare coordonatei x a punctului de start"},\n
+{"id": "line_x2", "title": "Schimbare coordonatei x a punctului final"},\n
+{"id": "line_y1", "title": "Schimbare coordonatei y a punctului de start"},\n
+{"id": "line_y2", "title": "Schimbare coordonatei y a punctului final"},\n
+{"id": "linecap_butt", "title": "Capat de linie: Butuc"},\n
+{"id": "linecap_round", "title": "Capat de linie: Rotund"},\n
+{"id": "linecap_square", "title": "Capat de linie: Patrat"},\n
+{"id": "linejoin_bevel", "title": "Articulatia liniei: Tesita"},\n
+{"id": "linejoin_miter", "title": "Articulatia liniei: Unghi ascutit"},\n
+{"id": "linejoin_round", "title": "Articulatia liniei: Rotunda"},\n
+{"id": "main_icon", "title": "Menu Principal"},\n
+{"id": "mode_connect", "title": "Conectati doua obiecte"},\n
+{"id": "page", "textContent": "de start"},\n
+{"id": "palette", "title": "Faceţi clic a schimba culoare de umplere, Shift-click pentru a schimba culoarea de contur"},\n
+{"id": "path_node_x", "title": "Schimba coordonata x a punctului"},\n
+{"id": "path_node_y", "title": "Schimba coordonata x a punctului"},\n
+{"id": "rect_height_tool", "title": "Schimbarea înălţimii dreptunghiului"},\n
+{"id": "rect_width_tool", "title": "Schimbarea lăţimii dreptunghiului"},\n
+{"id": "relativeToLabel", "textContent": "în raport cu:"},\n
+{"id": "seg_type", "title": "Schimba tipul de segment"},\n
+{"id": "selLayerLabel", "textContent": "Muta elemente la:"},\n
+{"id": "selLayerNames", "title": "Muta elementele selectate pe un alt strat"},\n
+{"id": "selectedPredefined", "textContent": "Selecţii predefinite:"},\n
+{"id": "selected_objects", "textContent": "obiectele alese"},\n
+{"id": "selected_x", "title": "Schimba coordonata X"},\n
+{"id": "selected_y", "title": "Schimba coordonata Y"},\n
+{"id": "smallest_object", "textContent": "cel mai mic obiect"},\n
+{"id": "straight_segments", "textContent": "Drept"},\n
+{"id": "stroke_color", "title": "Schimbarea culorii de contur"},\n
+{"id": "stroke_style", "title": "Schimbarea stilului de contur"},\n
+{"id": "stroke_width", "title": "Schimbarea lăţime de contur"},\n
+{"id": "svginfo_bg_note", "textContent": "Nota: Fondul nu va fi salvat cu imaginea."},\n
+{"id": "svginfo_change_background", "textContent": "Fondul Editorului"},\n
+{"id": "svginfo_dim", "textContent": "Dimensiunile Sevaletuui"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Preferintele Editorului"},\n
+{"id": "svginfo_height", "textContent": "Înălţime:"},\n
+{"id": "svginfo_icons", "textContent": "Dimensiunile Butoanelor"},\n
+{"id": "svginfo_image_props", "textContent": "Proprietaţile Imaginii"},\n
+{"id": "svginfo_lang", "textContent": "Limba"},\n
+{"id": "svginfo_title", "textContent": "Titlul"},\n
+{"id": "svginfo_width", "textContent": "Lăţime:"},\n
+{"id": "text", "title": "Schimbarea Conţinutului textului"},\n
+{"id": "toggle_stroke_tools", "title": "Aratati/ascundeti mai multe unelte de contur"},\n
+{"id": "tool_add_subpath", "title": "Adaugati sub-traiectorie"},\n
+{"id": "tool_alignbottom", "title": "Alinierea jos"},\n
+{"id": "tool_aligncenter", "title": "Aliniere la centru"},\n
+{"id": "tool_alignleft", "title": "Aliniere la stânga"},\n
+{"id": "tool_alignmiddle", "title": "Aliniere la mijloc"},\n
+{"id": "tool_alignright", "title": "Aliniere la dreapta"},\n
+{"id": "tool_aligntop", "title": "Alinierea sus"},\n
+{"id": "tool_angle", "title": "Schimbarea unghiul de rotatie"},\n
+{"id": "tool_blur", "title": "Schimbarea valorii estomparii gaussiene"},\n
+{"id": "tool_bold", "title": "Text ÃŽngroÅŸat"},\n
+{"id": "tool_circle", "title": "Cerc"},\n
+{"id": "tool_clear", "textContent": "Imagine nouă"},\n
+{"id": "tool_clone", "title": "Clonare Element"},\n
+{"id": "tool_clone_multi", "title": "Clonare Elemente"},\n
+{"id": "tool_delete", "title": "Åžterge Element"},\n
+{"id": "tool_delete_multi", "title": "Ştergeţi Elementele selectate"},\n
+{"id": "tool_docprops", "textContent": "Propertile Documentului"},\n
+{"id": "tool_docprops_cancel", "textContent": "Anulaţi"},\n
+{"id": "tool_docprops_save", "textContent": "Ok"},\n
+{"id": "tool_ellipse", "title": "Elipsă"},\n
+{"id": "tool_export", "textContent": "Exportare ca ÅŸi PNG"},\n
+{"id": "tool_eyedropper", "title": "Unealta de Eye Dropper"},\n
+{"id": "tool_fhellipse", "title": "Elipsă cu mana-libera"},\n
+{"id": "tool_fhpath", "title": "Unealta de Traiectorie"},\n
+{"id": "tool_fhrect", "title": "Dreptunghi cu mana-libera"},\n
+{"id": "tool_font_size", "title": "Schimbă dimensiunea fontului"},\n
+{"id": "tool_group", "title": "Grupare  Elemente"},\n
+{"id": "tool_image", "title": "Unealta de Imagine"},\n
+{"id": "tool_import", "textContent": "Importare SVG"},\n
+{"id": "tool_italic", "title": "Text ÃŽnclinat"},\n
+{"id": "tool_line", "title": "Unealta de Linie"},\n
+{"id": "tool_move_bottom", "title": "Mutare în jos"},\n
+{"id": "tool_move_top", "title": "Mutare în sus"},\n
+{"id": "tool_node_clone", "title": "Cloneaza Punct"},\n
+{"id": "tool_node_delete", "title": "Sterge Punct"},\n
+{"id": "tool_node_link", "title": "Uneste Punctele de Control"},\n
+{"id": "tool_opacity", "title": "Schimbarea selectat opacitate element"},\n
+{"id": "tool_open", "textContent": "Imagine deschisă"},\n
+{"id": "tool_path", "title": "Unealta de Path"},\n
+{"id": "tool_rect", "title": "Dreptunghi"},\n
+{"id": "tool_redo", "title": "Refacere"},\n
+{"id": "tool_reorient", "title": "Reorienteaza Traiectoria"},\n
+{"id": "tool_save", "textContent": "Salvare Imagine"},\n
+{"id": "tool_select", "title": "Unealta de Selectare"},\n
+{"id": "tool_source", "title": "Editare Cod Sursa"},\n
+{"id": "tool_source_cancel", "textContent": "Anulaţi"},\n
+{"id": "tool_source_save", "textContent": "Folositi Schimbarile"},\n
+{"id": "tool_square", "title": "Pătrat"},\n
+{"id": "tool_text", "title": "Unealta de Text"},\n
+{"id": "tool_topath", "title": "Converteste in Traiectorie"},\n
+{"id": "tool_undo", "title": "Anulare"},\n
+{"id": "tool_ungroup", "title": "Anulare Grupare Elemente"},\n
+{"id": "tool_wireframe", "title": "Mod Schelet"},\n
+{"id": "tool_zoom", "title": "Unealta de Zoom"},\n
+{"id": "url_notice", "title": "NOTE: Aceasta imagine nu poate fi inglobata. Va depinde de aceasta traiectorie pentru a fi prezentata."},\n
+{"id": "zoom_panel", "title": "Schimbarea nivelului de zoom"},\n
+{"id": "sidepanel_handle", "textContent": "S t r a t u r i", "title": "Trage stanga/dreapta pentru redimensionare  panou lateral"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "Sunt erori de parsing in sursa SVG.\\nRevenire la sursa SVG  orginala?", \n
+  "QignoreSourceChanges": "Ignorati schimbarile la sursa SVG?", \n
+  "QmoveElemsToLayer": "Mutati elementele selectate pe stratul \'%s\'?", \n
+  "QwantToClear": "Doriti sa stergeti desenul?\\nAceasta va sterge si posibilitatea de anulare!", \n
+  "cancel": "Revocare", \n
+  "defsFailOnSave": "NOTE: Din cauza unei erori in browserul dv., aceasta imagine poate apare gresit (fara gradiente sau elemente). Insa va apare corect dupa salvare.", \n
+  "dupeLayerName": "Deja exista un strat numis asa!", \n
+  "enterNewImgURL": "Introduceti noul URL pentru Imagine", \n
+  "enterNewLayerName": "Rog introduceti un nume pentru strat", \n
+  "enterUniqueLayerName": "Rog introduceti un nume unic", \n
+  "exportNoBlur": "Elementele estompate vor apare ne-estompate", \n
+  "exportNoDashArray": "Contururile vor apare pline", \n
+  "exportNoImage": "Elementele de imagine nu vor apare", \n
+  "exportNoText": "Posibil ca textul sa nu apara conform asteptarilor", \n
+  "exportNoforeignObject": "Elementele foreignObject nu vor apare", \n
+  "featNotSupported": "Functie neimplementata", \n
+  "invalidAttrValGiven": "Valoarea data nu este valida", \n
+  "key_backspace": "backspace", \n
+  "key_del": "stergere", \n
+  "key_down": "jos", \n
+  "key_up": "sus", \n
+  "layer": "Strat", \n
+  "layerHasThatName": "Statul deja are acest nume", \n
+  "loadingImage": "Imaginea se incarca, va rugam asteptati...", \n
+  "noContentToFitTo": "Fara continut de referinta", \n
+  "noteTheseIssues": "De asemeni remarcati urmatoarele probleme: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Trage de punctul de control pt. a-i schimba proprietatile", \n
+  "pathNodeTooltip": "Trage de punct pentru a-l muta. Dublu-clic pentru schimbarea tipului de segment", \n
+  "saveFromBrowser": "Selecteaza \\"Salvea ca si...\\" in browserul dv. pt. a salva aceasta imafine ca si fisier %s."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10410</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ru.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ru.js.xml
new file mode 100644
index 0000000000..294064e9ec
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.ru.js.xml
@@ -0,0 +1,215 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003300.56</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.ru.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Выровнять по отношению к ..."},\n
+{"id": "bkgnd_color", "title": "Изменить цвет фона или прозрачность"},\n
+{"id": "circle_cx", "title": "Изменить горизонтальный координат (CX) окружности"},\n
+{"id": "circle_cy", "title": "Изменить вертикальный координат (CY) окружности"},\n
+{"id": "circle_r", "title": "Изменить радиус окружности"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Изменить радиус скругления углов прямоугольника"},\n
+{"id": "cornerRadiusLabel", "title": "Радиус закругленности угла"},\n
+{"id": "curve_segments", "textContent": "Сплайн"},\n
+{"id": "ellipse_cx", "title": "Изменить горизонтальный координат (CX) эллипса"},\n
+{"id": "ellipse_cy", "title": "Изменить вертикальный координат (CY) эллипса"},\n
+{"id": "ellipse_rx", "title": "Изменить горизонтальный радиус эллипса"},\n
+{"id": "ellipse_ry", "title": "Изменить вертикальный радиус эллипса"},\n
+{"id": "fill_color", "title": "Изменить цвет заливки"},\n
+{"id": "fitToContent", "textContent": "Под размер содержимого"},\n
+{"id": "fit_to_all", "textContent": "Под размер всех слоев"},\n
+{"id": "fit_to_canvas", "textContent": "Под размер холста"},\n
+{"id": "fit_to_layer_content", "textContent": "Под размер содержания слоя"},\n
+{"id": "fit_to_sel", "textContent": "Под размер выделенного"},\n
+{"id": "font_family", "title": "Изменить семейство шрифтов"},\n
+{"id": "icon_large", "textContent": "Большие"},\n
+{"id": "icon_medium", "textContent": "Средние"},\n
+{"id": "icon_small", "textContent": "Малые"},\n
+{"id": "icon_xlarge", "textContent": "Огромные"},\n
+{"id": "image_height", "title": "Изменить высоту изображения"},\n
+{"id": "image_opt_embed", "textContent": "Локальные файлы"},\n
+{"id": "image_opt_ref", "textContent": "По ссылкам"},\n
+{"id": "image_url", "title": "Изменить URL"},\n
+{"id": "image_width", "title": "Изменить ширину изображения"},\n
+{"id": "includedImages", "textContent": "Встроенные изображения"},\n
+{"id": "largest_object", "textContent": "Наибольший объект"},\n
+{"id": "layer_delete", "title": "Удалить слой"},\n
+{"id": "layer_down", "title": "Опустить слой"},\n
+{"id": "layer_new", "title": "Создать слой"},\n
+{"id": "layer_rename", "title": "Переименовать Слой"},\n
+{"id": "layer_up", "title": "Поднять слой"},\n
+{"id": "layersLabel", "textContent": "Слои:"},\n
+{"id": "line_x1", "title": "Изменить горизонтальный координат X начальной точки линии"},\n
+{"id": "line_x2", "title": "Изменить горизонтальный координат X конечной точки линии"},\n
+{"id": "line_y1", "title": "Изменить вертикальный координат Y начальной точки линии"},\n
+{"id": "line_y2", "title": "Изменить вертикальный координат Y конечной точки линии"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "страница"},\n
+{"id": "palette", "title": "Нажмите для изменения цвета заливки, Shift-Click изменить цвета обводки"},\n
+{"id": "path_node_x", "title": "Изменить горизонтальную координату узла"},\n
+{"id": "path_node_y", "title": "Изменить вертикальную координату узла"},\n
+{"id": "rect_height_tool", "title": "Изменениe высоту прямоугольника"},\n
+{"id": "rect_width_tool", "title": "Измененить ширину прямоугольника"},\n
+{"id": "relativeToLabel", "textContent": "По отношению к "},\n
+{"id": "seg_type", "title": "Изменить вид"},\n
+{"id": "selLayerLabel", "textContent": "Переместить выделенные элементы:"},\n
+{"id": "selLayerNames", "title": "Переместить выделенные элементы на другой слой"},\n
+{"id": "selectedPredefined", "textContent": "Выбирать предопределенный размер"},\n
+{"id": "selected_objects", "textContent": "Выделенные объекты"},\n
+{"id": "selected_x", "title": "Изменить горизонтальный координат"},\n
+{"id": "selected_y", "title": "Изменить вертикальный координат"},\n
+{"id": "smallest_object", "textContent": "Самый маленький объект"},\n
+{"id": "straight_segments", "textContent": "Отрезок"},\n
+{"id": "stroke_color", "title": "Изменить цвет обводки"},\n
+{"id": "stroke_style", "title": "Изменить стиль обводки"},\n
+{"id": "stroke_width", "title": "Изменить толщину обводки"},\n
+{"id": "svginfo_bg_note", "textContent": "(Фон не сохранится вместе с изображением.)"},\n
+{"id": "svginfo_change_background", "textContent": "Фон"},\n
+{"id": "svginfo_dim", "textContent": "Размеры холста"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Параметры"},\n
+{"id": "svginfo_height", "textContent": "Высота:"},\n
+{"id": "svginfo_icons", "textContent": "Размер значков"},\n
+{"id": "svginfo_image_props", "textContent": "Свойства изображения"},\n
+{"id": "svginfo_lang", "textContent": "Язык"},\n
+{"id": "svginfo_title", "textContent": "Название"},\n
+{"id": "svginfo_width", "textContent": "Ширина:"},\n
+{"id": "text", "title": "Изменить содержание текста"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Выровнять по нижнему краю"},\n
+{"id": "tool_aligncenter", "title": "Центрировать по вертикальной оси"},\n
+{"id": "tool_alignleft", "title": "По левому краю"},\n
+{"id": "tool_alignmiddle", "title": "Центрировать по горизонтальной оси"},\n
+{"id": "tool_alignright", "title": "По правому краю"},\n
+{"id": "tool_aligntop", "title": "Выровнять по верхнему краю"},\n
+{"id": "tool_angle", "title": "Изменить угол поворота"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Жирный"},\n
+{"id": "tool_circle", "title": "Окружность"},\n
+{"id": "tool_clear", "textContent": "Создать изображение"},\n
+{"id": "tool_clone", "title": "Создать копию элемента"},\n
+{"id": "tool_clone_multi", "title": "Создать копию элементов"},\n
+{"id": "tool_delete", "title": "Удалить элемент"},\n
+{"id": "tool_delete_multi", "title": "Удалить выбранные элементы"},\n
+{"id": "tool_docprops", "textContent": "Свойства документа"},\n
+{"id": "tool_docprops_cancel", "textContent": "Отменить"},\n
+{"id": "tool_docprops_save", "textContent": "Сохранить"},\n
+{"id": "tool_ellipse", "title": "Эллипс"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Эллипс от руки"},\n
+{"id": "tool_fhpath", "title": "Карандаш"},\n
+{"id": "tool_fhrect", "title": "Прямоугольник от руки"},\n
+{"id": "tool_font_size", "title": "Изменить размер шрифта"},\n
+{"id": "tool_group", "title": "Создать группу элементов"},\n
+{"id": "tool_image", "title": "Изображение"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Курсив"},\n
+{"id": "tool_line", "title": "Линия"},\n
+{"id": "tool_move_bottom", "title": "Опустить"},\n
+{"id": "tool_move_top", "title": "Поднять"},\n
+{"id": "tool_node_clone", "title": "Создать копию узла"},\n
+{"id": "tool_node_delete", "title": "Удалить узел"},\n
+{"id": "tool_node_link", "title": "Связать узлы"},\n
+{"id": "tool_opacity", "title": "Изменить непрозрачность элемента"},\n
+{"id": "tool_open", "textContent": "Открыть изображение"},\n
+{"id": "tool_path", "title": "Контуры"},\n
+{"id": "tool_rect", "title": "Прямоугольник"},\n
+{"id": "tool_redo", "title": "Вернуть"},\n
+{"id": "tool_reorient", "title": "Изменить ориентацию контура"},\n
+{"id": "tool_save", "textContent": "Сохранить изображение"},\n
+{"id": "tool_select", "title": "Выделить"},\n
+{"id": "tool_source", "title": "Редактировать исходный код"},\n
+{"id": "tool_source_cancel", "textContent": "Отменить"},\n
+{"id": "tool_source_save", "textContent": "Сохранить"},\n
+{"id": "tool_square", "title": "Квадрат"},\n
+{"id": "tool_text", "title": "Текст"},\n
+{"id": "tool_topath", "title": "В контур"},\n
+{"id": "tool_undo", "title": "Отменить"},\n
+{"id": "tool_ungroup", "title": "Разгруппировать элементы"},\n
+{"id": "tool_wireframe", "title": "Каркас"},\n
+{"id": "tool_zoom", "title": "Лупа"},\n
+{"id": "tools_ellipse_show", "title": "Эллипс / окружность"},\n
+{"id": "tools_rect_show", "title": "Прямоугольник / квадрат"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Изменить масштаб"},\n
+{"id": "sidepanel_handle", "textContent": "С л о и", "title": "Перетащить налево или направо"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "Была проблема при парсинге вашего SVG исходного кода.\\nЗаменить его предыдущим SVG кодом?", \n
+  "QignoreSourceChanges": "Забыть без сохранения?", \n
+  "QmoveElemsToLayer": "Переместить выделенные элементы на слой \'%s\'?", \n
+  "QwantToClear": "Вы хотите очистить?\\nИстория действий будет забыта!", \n
+  "cancel": "Отменить", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "Слой с этим именем уже существует.", \n
+  "enterNewImgURL": "Введите новый URL изображения", \n
+  "enterNewLayerName": "Пожалуйста, введите новое имя.", \n
+  "enterUniqueLayerName": "Пожалуйста, введите имя для слоя.", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Возможность не реализована", \n
+  "invalidAttrValGiven": "Некорректное значение аргумента", \n
+  "key_backspace": "Backspace", \n
+  "key_del": "Delete", \n
+  "key_down": "Вниз", \n
+  "key_up": "Вверх", \n
+  "layer": "Слой", \n
+  "layerHasThatName": "Слой уже называется этим именем.", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "Нет содержания, по которому выровнять.", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Перетащите для изменения свойвст кривой", \n
+  "pathNodeTooltip": "Потащите узел. Чтобы изменить вид отрезка, сделайте двойной щелчок.", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>12995</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sk.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sk.js.xml
new file mode 100644
index 0000000000..ae77afc0af
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sk.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003300.77</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.sk.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Zarovnať relatívne k ..."},\n
+{"id": "bkgnd_color", "title": "Zmeniť farbu a priehľadnosť pozadia"},\n
+{"id": "circle_cx", "title": "Zmeniť súradnicu X stredu kružnice"},\n
+{"id": "circle_cy", "title": "Zmeniť súradnicu Y stredu kružnice"},\n
+{"id": "circle_r", "title": "Zmeniť polomer kružnice"},\n
+{"id": "connector_no_arrow", "textContent": "Bez šípok"},\n
+{"id": "copyrightLabel", "textContent": "Beží na"},\n
+{"id": "cornerRadiusLabel", "title": "Zmeniť zaoblenie rohov obdĺžnika"},\n
+{"id": "curve_segments", "textContent": "Krivka"},\n
+{"id": "ellipse_cx", "title": "Zmeniť súradnicu X stredu elipsy"},\n
+{"id": "ellipse_cy", "title": "Zmeniť súradnicu Y stredu elipsy"},\n
+{"id": "ellipse_rx", "title": "Zmeniť polomer X elipsy"},\n
+{"id": "ellipse_ry", "title": "Zmeniť polomer Y elipsy"},\n
+{"id": "fill_color", "title": "Zmeniť farbu výplne"},\n
+{"id": "fitToContent", "textContent": "Prispôsobiť obsahu"},\n
+{"id": "fit_to_all", "textContent": "Prisposobiť celému obsahu"},\n
+{"id": "fit_to_canvas", "textContent": "Prispôsobiť stránke"},\n
+{"id": "fit_to_layer_content", "textContent": "Prispôsobiť obsahu vrstvy"},\n
+{"id": "fit_to_sel", "textContent": "Prispôsobiť výberu"},\n
+{"id": "font_family", "title": "Zmeniť font"},\n
+{"id": "icon_large", "textContent": "Veľká"},\n
+{"id": "icon_medium", "textContent": "Stredná"},\n
+{"id": "icon_small", "textContent": "Malá"},\n
+{"id": "icon_xlarge", "textContent": "Extra veľká"},\n
+{"id": "idLabel", "title": "Zmeniť ID elementu"},\n
+{"id": "image_height", "title": "Zmeniť výšku obrázka"},\n
+{"id": "image_opt_embed", "textContent": "Vložiť data (lokálne súbory)"},\n
+{"id": "image_opt_ref", "textContent": "Použiť referenciu na súbor"},\n
+{"id": "image_url", "title": "Zmeniť URL"},\n
+{"id": "image_width", "title": "Zmeniť šírku obrázka"},\n
+{"id": "includedImages", "textContent": "Vložené obrázky"},\n
+{"id": "largest_object", "textContent": "najväčšiemu objektu"},\n
+{"id": "layer_delete", "title": "Odstrániť vrstvu"},\n
+{"id": "layer_down", "title": "Presunúť vrstvu dole"},\n
+{"id": "layer_new", "title": "Nová vrstva"},\n
+{"id": "layer_rename", "title": "Premenovať vrstvu"},\n
+{"id": "layer_up", "title": "Presunúť vrstvu hore"},\n
+{"id": "layersLabel", "textContent": "Vrstvy:"},\n
+{"id": "line_x1", "title": "Zmeniť počiatočnú súradnicu X čiary"},\n
+{"id": "line_x2", "title": "Zmeniť koncovú súradnicu X čiary"},\n
+{"id": "line_y1", "title": "Zmeniť počiatočnú súradnicu Y čiary"},\n
+{"id": "line_y2", "title": "Zmeniť koncovú súradnicu Y čiary"},\n
+{"id": "linecap_butt", "title": "Koniec čiary: presný"},\n
+{"id": "linecap_round", "title": "Koniec čiary: zaoblený"},\n
+{"id": "linecap_square", "title": "Koniec čiary: so štvorcovým presahom"},\n
+{"id": "linejoin_bevel", "title": "Napojenie čiar: skosené"},\n
+{"id": "linejoin_miter", "title": "Napojenie čiar: ostré"},\n
+{"id": "linejoin_round", "title": "Napojenie čiar: oblé"},\n
+{"id": "main_icon", "title": "Hlavné menu"},\n
+{"id": "mode_connect", "title": "Spojiť dva objekty"},\n
+{"id": "page", "textContent": "stránke"},\n
+{"id": "palette", "title": "Kliknutím zmeníte farbu výplne, so Shiftom zmeníte farbu obrysu"},\n
+{"id": "path_node_x", "title": "Zmeniť uzlu súradnicu X"},\n
+{"id": "path_node_y", "title": "Zmeniť uzlu súradnicu Y"},\n
+{"id": "rect_height_tool", "title": "Zmena výšku obdĺžnika"},\n
+{"id": "rect_width_tool", "title": "Zmeniť šírku obdĺžnika"},\n
+{"id": "relativeToLabel", "textContent": "vzhľadom k:"},\n
+{"id": "seg_type", "title": "Zmeniť typ segmentu"},\n
+{"id": "selLayerLabel", "textContent": "Presunút elementy do:"},\n
+{"id": "selLayerNames", "title": "Presunúť vybrané elementy do inej vrstvy"},\n
+{"id": "selectedPredefined", "textContent": "Vybrať preddefinovaný:"},\n
+{"id": "selected_objects", "textContent": "zvoleným objektom"},\n
+{"id": "selected_x", "title": "Zmeniť súradnicu X"},\n
+{"id": "selected_y", "title": "Zmeniť súradnicu Y"},\n
+{"id": "smallest_object", "textContent": "najmenšiemu objektu"},\n
+{"id": "straight_segments", "textContent": "Rovný"},\n
+{"id": "stroke_color", "title": "Zmena farby obrysu"},\n
+{"id": "stroke_style", "title": "Zmeniť štýl obrysu"},\n
+{"id": "stroke_width", "title": "Zmeniť šírku obrysu"},\n
+{"id": "svginfo_bg_note", "textContent": "Poznámka: Pozadie nebude uložené spolu s obrázkom."},\n
+{"id": "svginfo_change_background", "textContent": "Zmeniť pozadie"},\n
+{"id": "svginfo_dim", "textContent": "Rozmery plátna"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Vlastnosti editora"},\n
+{"id": "svginfo_height", "textContent": "Výška:"},\n
+{"id": "svginfo_icons", "textContent": "Veľkosť ikon"},\n
+{"id": "svginfo_image_props", "textContent": "Vlastnosti obrázka"},\n
+{"id": "svginfo_lang", "textContent": "Jazyk"},\n
+{"id": "svginfo_title", "textContent": "Titulok"},\n
+{"id": "svginfo_width", "textContent": "Šírka:"},\n
+{"id": "text", "title": "Změnit text"},\n
+{"id": "toggle_stroke_tools", "title": "Skryť/ukázať viac nástrojov pre krivku"},\n
+{"id": "tool_add_subpath", "title": "Pridať daľšiu súčasť krivky"},\n
+{"id": "tool_alignbottom", "title": "Zarovnať dole"},\n
+{"id": "tool_aligncenter", "title": "Zarovnať na stred"},\n
+{"id": "tool_alignleft", "title": "Zarovnať doľava"},\n
+{"id": "tool_alignmiddle", "title": "Zarovnať na stred"},\n
+{"id": "tool_alignright", "title": "Zarovnať doprava"},\n
+{"id": "tool_aligntop", "title": "Zarovnať hore"},\n
+{"id": "tool_angle", "title": "Zmeniť uhol natočenia"},\n
+{"id": "tool_blur", "title": "Zmeniť intenzitu rozmazania"},\n
+{"id": "tool_bold", "title": "Tučne"},\n
+{"id": "tool_circle", "title": "Kružnica"},\n
+{"id": "tool_clear", "textContent": "Nový obrázok"},\n
+{"id": "tool_clone", "title": "Klonovať element"},\n
+{"id": "tool_clone_multi", "title": "Klonovať elementy"},\n
+{"id": "tool_delete", "title": "Zmazať element"},\n
+{"id": "tool_delete_multi", "title": "Vymazať vybrané prvky [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "Vlastnosti dokumentu"},\n
+{"id": "tool_docprops_cancel", "textContent": "Zrušiť"},\n
+{"id": "tool_docprops_save", "textContent": "Uložiť"},\n
+{"id": "tool_ellipse", "title": "Elipsa"},\n
+{"id": "tool_export", "textContent": "Exportovať ako PNG"},\n
+{"id": "tool_eyedropper", "title": "Pipeta"},\n
+{"id": "tool_fhellipse", "title": "Elipsa voľnou rukou"},\n
+{"id": "tool_fhpath", "title": "Ceruzka"},\n
+{"id": "tool_fhrect", "title": "Obdĺžnik voľnou rukou"},\n
+{"id": "tool_font_size", "title": "Zmeniť veľkosť písma"},\n
+{"id": "tool_group", "title": "Zoskupiť elementy"},\n
+{"id": "tool_image", "title": "Obrázok"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Kurzíva"},\n
+{"id": "tool_line", "title": "ÄŒiara"},\n
+{"id": "tool_move_bottom", "title": "Presunúť spodok"},\n
+{"id": "tool_move_top", "title": "Presunúť na vrch"},\n
+{"id": "tool_node_clone", "title": "Klonovať uzol"},\n
+{"id": "tool_node_delete", "title": "Zmazať uzol"},\n
+{"id": "tool_node_link", "title": "Prepojiť kontrolné body"},\n
+{"id": "tool_opacity", "title": "Zmeniť prehľadnosť vybraných položiek"},\n
+{"id": "tool_open", "textContent": "Otvoriť obrázok"},\n
+{"id": "tool_openclose_path", "title": "Otvoriť/uzatvoriť súčasť krivky"},\n
+{"id": "tool_path", "title": "Krivka"},\n
+{"id": "tool_position", "title": "Zarovnať element na stránku"},\n
+{"id": "tool_rect", "title": "Obdĺžnik"},\n
+{"id": "tool_redo", "title": "Opakovať"},\n
+{"id": "tool_reorient", "title": "Zmeniť orientáciu krivky"},\n
+{"id": "tool_save", "textContent": "Uložiť obrázok"},\n
+{"id": "tool_select", "title": "Výber"},\n
+{"id": "tool_source", "title": "Upraviť SVG kód"},\n
+{"id": "tool_source_cancel", "textContent": "Zrušiť"},\n
+{"id": "tool_source_save", "textContent": "Uložiť"},\n
+{"id": "tool_square", "title": "Å tvorec"},\n
+{"id": "tool_text", "title": "Text"},\n
+{"id": "tool_topath", "title": "Previesť na krivku"},\n
+{"id": "tool_undo", "title": "Späť"},\n
+{"id": "tool_ungroup", "title": "Zrušiť skupinu"},\n
+{"id": "tool_wireframe", "title": "Drôtový model"},\n
+{"id": "tool_zoom", "title": "Priblíženie"},\n
+{"id": "url_notice", "title": "POZNÁMKA: Tento obrázok nemôže byť vložený. Jeho zobrazenie bude závisieť na jeho ceste"},\n
+{"id": "zoom_panel", "title": "Zmena priblíženia"},\n
+{"id": "sidepanel_handle", "textContent": "V r s t v y", "title": "Ťahajte vľavo/vpravo na zmenu veľkosti"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "Chyba pri načítaní SVG dokumentu.\\nVrátiť povodný SVG dokument?",\n
+  "QignoreSourceChanges": "Ignorovať zmeny v SVG dokumente?",\n
+  "QmoveElemsToLayer": "Presunúť elementy do vrstvy \'%s\'?",\n
+  "QwantToClear": "Naozaj chcete vymazať kresbu?\\n(História bude taktiež vymazaná!)!",\n
+  "cancel": "Zrušiť",\n
+  "defsFailOnSave": "POZNÁMKA: Kvôli chybe v prehliadači sa tento obrázok môže zobraziť nesprávne (napr. chýbajúce prechody či elementy). Po uložení sa zobrazí správne.",\n
+  "dupeLayerName": "Vrstva s daným názvom už existuje!",\n
+  "enterNewImgURL": "Zadajte nové URL obrázka",\n
+  "enterNewLayerName": "Zadajte názov vrstvy",\n
+  "enterUniqueLayerName": "Zadajte jedinečný názov vrstvy",\n
+  "exportNoBlur": "bez rozostrenia elementov",\n
+  "exportNoDashArray": "plné krivky",\n
+  "exportNoImage": "bez vložených obrázkov",\n
+  "exportNoText": "vložený text môže vyzerať inak",\n
+  "exportNoforeignObject": "bez foreignObject objektov",\n
+  "featNotSupported": "Vlastnosť nie je podporovaná",\n
+  "invalidAttrValGiven": "Neplatná hodnota",\n
+  "key_backspace": "Backspace",\n
+  "key_del": "Delete",\n
+  "key_down": "šípka dole",\n
+  "key_up": "šípka hore",\n
+  "layer": "Vrstva",\n
+  "layerHasThatName": "Vrstva už má zadaný názov",\n
+  "loadingImage": "Nahrávam obrázok, prosím čakajte ...",\n
+  "noContentToFitTo": "Vyberte oblasť na prispôsobenie",\n
+  "noteTheseIssues": "Môžu sa vyskytnúť nasledujúce problémy: ",\n
+  "ok": "OK",\n
+  "pathCtrlPtTooltip": "Ťahajte kontrolné body pre upravnie vlastnosti krivky",\n
+  "pathNodeTooltip": "Ťahajte bod na presunutie. Dvojklik na zmenu typu segmentu",\n
+  "saveFromBrowser": "Vyberte \\"Uložiť ako ...\\" vo vašom prehliadači na uloženie tohoto obrázka do súboru %s."\n
+ }\n
+}\n
+]\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10176</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sl.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sl.js.xml
new file mode 100644
index 0000000000..7bb639a9ff
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sl.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003300.97</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.sl.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Poravnaj glede na ..."},\n
+{"id": "bkgnd_color", "title": "Spreminjanje barve ozadja / motnosti"},\n
+{"id": "circle_cx", "title": "Spremeni krog&#39;s CX usklajujejo"},\n
+{"id": "circle_cy", "title": "Spremeni krog&#39;s cy usklajujejo"},\n
+{"id": "circle_r", "title": "Spremeni krogu polmera"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Spremeni Pravokotnik Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Spremeni elipse&#39;s CX usklajujejo"},\n
+{"id": "ellipse_cy", "title": "Spremeni elipse&#39;s cy usklajujejo"},\n
+{"id": "ellipse_rx", "title": "Spremeni elipse&#39;s x polmer"},\n
+{"id": "ellipse_ry", "title": "Spremeni elipse&#39;s y polmer"},\n
+{"id": "fill_color", "title": "Spremeni barvo polnila"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Fit na vse vsebine"},\n
+{"id": "fit_to_canvas", "textContent": "Fit na platno"},\n
+{"id": "fit_to_layer_content", "textContent": "Fit na plast vsebine"},\n
+{"id": "fit_to_sel", "textContent": "Fit za izbor"},\n
+{"id": "font_family", "title": "Change Font Family"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Spremeni Višina slike"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Spremeni URL"},\n
+{"id": "image_width", "title": "Spremeni Å irina slike"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "Največji objekt"},\n
+{"id": "layer_delete", "title": "Delete Layer"},\n
+{"id": "layer_down", "title": "Move Down Layer"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Move Up Layer"},\n
+{"id": "layersLabel", "textContent": "Plasti:"},\n
+{"id": "line_x1", "title": "Spremeni skladu z začetkom x usklajujejo"},\n
+{"id": "line_x2", "title": "Change line je končalo x usklajujejo"},\n
+{"id": "line_y1", "title": "Change line&#39;s začetkom y usklajujejo"},\n
+{"id": "line_y2", "title": "Change line je končalo y usklajujejo"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "page"},\n
+{"id": "palette", "title": "Kliknite, če želite spremeniti barvo polnila, premik miške kliknite spremeniti barvo kap"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Spremeni pravokotniku višine"},\n
+{"id": "rect_width_tool", "title": "Spremeni pravokotnik Å¡irine"},\n
+{"id": "relativeToLabel", "textContent": "glede na:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Select vnaprej:"},\n
+{"id": "selected_objects", "textContent": "izvoljeni predmeti"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "najmanjša objekt"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Spremeni barvo kap"},\n
+{"id": "stroke_style", "title": "Spremeni kap dash slog"},\n
+{"id": "stroke_width", "title": "Spreminjanje Å¡irine kap"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Višina:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Å irina:"},\n
+{"id": "text", "title": "Spremeni besedilo vsebino"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Sredino"},\n
+{"id": "tool_alignleft", "title": "Poravnaj levo"},\n
+{"id": "tool_alignmiddle", "title": "Poravnava Middle"},\n
+{"id": "tool_alignright", "title": "Poravnaj desno"},\n
+{"id": "tool_aligntop", "title": "Poravnava Top"},\n
+{"id": "tool_angle", "title": "Sprememba kota rotacije"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elements"},\n
+{"id": "tool_delete", "title": "Izbriši element"},\n
+{"id": "tool_delete_multi", "title": "Brisanje izbranih elementov"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Prekliči"},\n
+{"id": "tool_docprops_save", "textContent": "Shraniti"},\n
+{"id": "tool_ellipse", "title": "Elipsa"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Elipsa"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Free-Hand pravokotnik"},\n
+{"id": "tool_font_size", "title": "Spremeni velikost pisave"},\n
+{"id": "tool_group", "title": "Skupina Elements"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Text"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Premakni v Bottom"},\n
+{"id": "tool_move_top", "title": "Premakni na vrh"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Spremeni izbran predmet motnosti"},\n
+{"id": "tool_open", "textContent": "Open Image"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Pravokotnik"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Shrani slike"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "Edit Vir"},\n
+{"id": "tool_source_cancel", "textContent": "Prekliči"},\n
+{"id": "tool_source_save", "textContent": "Shraniti"},\n
+{"id": "tool_square", "title": "Kvadrat"},\n
+{"id": "tool_text", "title": "Text Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Undo"},\n
+{"id": "tool_ungroup", "title": "Razdruži Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Spreminjanje povečave"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9642</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sq.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sq.js.xml
new file mode 100644
index 0000000000..4da1dc0354
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sq.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003301.18</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.sq.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Vendose në lidhje me ..."},\n
+{"id": "bkgnd_color", "title": "Change color background / patejdukshmëri"},\n
+{"id": "circle_cx", "title": "Cx rrethi Ndryshimi i bashkërenduar"},\n
+{"id": "circle_cy", "title": "Ndryshimi i rrethit cy koordinuar"},\n
+{"id": "circle_r", "title": "Rreze rreth Ndryshimi i"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Ndryshimi Rectangle Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Ndryshimi elips e cx koordinuar"},\n
+{"id": "ellipse_cy", "title": "Elips cy Ndryshimi i bashkërenduar"},\n
+{"id": "ellipse_rx", "title": "Rreze x elips Ndryshimi i"},\n
+{"id": "ellipse_ry", "title": "Radiusi y elips ndërroj"},\n
+{"id": "fill_color", "title": "Ndryshimi mbush color"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Fit për të gjithë përmbajtjen"},\n
+{"id": "fit_to_canvas", "textContent": "Fit në kanavacë"},\n
+{"id": "fit_to_layer_content", "textContent": "Shtresë Fit to content"},\n
+{"id": "fit_to_sel", "textContent": "Fit to Selection"},\n
+{"id": "font_family", "title": "Ndryshimi Font Family"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Height të ndryshuar imazhin"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Ndrysho URL"},\n
+{"id": "image_width", "title": "Ndryshimi image width"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "madh objekt"},\n
+{"id": "layer_delete", "title": "Delete Layer"},\n
+{"id": "layer_down", "title": "Move Down Layer"},\n
+{"id": "layer_new", "title": "Re Shtresa"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Move Up Layer"},\n
+{"id": "layersLabel", "textContent": "Shtresa:"},\n
+{"id": "line_x1", "title": "Shkarko Ndryshimi që fillon x koordinuar"},\n
+{"id": "line_x2", "title": "Linjë Ndryshimi i fund x koordinuar"},\n
+{"id": "line_y1", "title": "Shkarko Ndryshimi që fillon y koordinuar"},\n
+{"id": "line_y2", "title": "Shkarko Ndryshimi i dhënë fund y koordinuar"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "faqe"},\n
+{"id": "palette", "title": "Klikoni për të ndryshuar mbushur me ngjyra, shift-klikoni për të ndryshuar ngjyrën pash"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Height Ndryshimi drejtkëndësh"},\n
+{"id": "rect_width_tool", "title": "Width Ndryshimi drejtkëndësh"},\n
+{"id": "relativeToLabel", "textContent": "lidhje me:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Zgjidhni paracaktuara:"},\n
+{"id": "selected_objects", "textContent": "objektet e zgjedhur"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "objektit më të vogël"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Change color pash"},\n
+{"id": "stroke_style", "title": "Ndryshimi dash goditje stil"},\n
+{"id": "stroke_width", "title": "Ndryshimi goditje width"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Lartësia:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Gjerësia:"},\n
+{"id": "text", "title": "Text contents Ndryshimi"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Align Center"},\n
+{"id": "tool_alignleft", "title": "Align Left"},\n
+{"id": "tool_alignmiddle", "title": "Align Mesme"},\n
+{"id": "tool_alignright", "title": "Align Right"},\n
+{"id": "tool_aligntop", "title": "Align Top"},\n
+{"id": "tool_angle", "title": "Kënd Ndryshimi rrotullim"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Rrethi"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Klon Element"},\n
+{"id": "tool_clone_multi", "title": "Elemente Clone"},\n
+{"id": "tool_delete", "title": "Fshije Element"},\n
+{"id": "tool_delete_multi", "title": "Elementet e zgjedhur është dhënë Delete [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "Dokumenti Prona"},\n
+{"id": "tool_docprops_cancel", "textContent": "Anulo"},\n
+{"id": "tool_docprops_save", "textContent": "Ruaj"},\n
+{"id": "tool_ellipse", "title": "Elips"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Lëndë Hand Rectangle"},\n
+{"id": "tool_font_size", "title": "Ndryshimi Font Size"},\n
+{"id": "tool_group", "title": "Elementet e Grupit"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Text"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Move to Bottom"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Ndryshimi zgjedhur errësirë item"},\n
+{"id": "tool_open", "textContent": "Image Hapur"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Drejtkëndësh"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Image Ruaj"},\n
+{"id": "tool_select", "title": "Zgjidhni Tool"},\n
+{"id": "tool_source", "title": "Burimi Edit"},\n
+{"id": "tool_source_cancel", "textContent": "Anulo"},\n
+{"id": "tool_source_save", "textContent": "Ruaj"},\n
+{"id": "tool_square", "title": "Sheshi"},\n
+{"id": "tool_text", "title": "Text Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Undo"},\n
+{"id": "tool_ungroup", "title": "Elemente Ungroup"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Ndryshimi zoom nivel"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9695</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sr.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sr.js.xml
new file mode 100644
index 0000000000..4e5d266a22
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sr.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003290.02</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.sr.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Алигн у односу на ..."},\n
+{"id": "bkgnd_color", "title": "Промена боје позадине / непрозирност"},\n
+{"id": "circle_cx", "title": "Промена круг&#39;с ЦКС координатни"},\n
+{"id": "circle_cy", "title": "Промена круг&#39;с ср координатни"},\n
+{"id": "circle_r", "title": "Промена круга је полупречник"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Промена правоугаоник Кутак радијуса"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Промена елипса ЦКС&#39;с координатни"},\n
+{"id": "ellipse_cy", "title": "Промена елипса&#39;с ср координатни"},\n
+{"id": "ellipse_rx", "title": "Промена елипса&#39;с Кс радијуса"},\n
+{"id": "ellipse_ry", "title": "Промена елипса је радијус Ы"},\n
+{"id": "fill_color", "title": "Промена боје попуне"},\n
+{"id": "fitToContent", "textContent": "Стане на садржај"},\n
+{"id": "fit_to_all", "textContent": "Уклопи у сав садржај"},\n
+{"id": "fit_to_canvas", "textContent": "Стане на платну"},\n
+{"id": "fit_to_layer_content", "textContent": "Уклопи у слоју садржај"},\n
+{"id": "fit_to_sel", "textContent": "Уклопи у избор"},\n
+{"id": "font_family", "title": "Цханге фонт породицу"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Промени слику висине"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Промените УРЛ адресу"},\n
+{"id": "image_width", "title": "Промени слику ширине"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "Највећи објекат"},\n
+{"id": "layer_delete", "title": "Избриши слој"},\n
+{"id": "layer_down", "title": "Помери слој доле"},\n
+{"id": "layer_new", "title": "Нови слој"},\n
+{"id": "layer_rename", "title": "Преименуј слој"},\n
+{"id": "layer_up", "title": "Помери слој Горе"},\n
+{"id": "layersLabel", "textContent": "Слојева:"},\n
+{"id": "line_x1", "title": "Промена линија Стартни кс координата"},\n
+{"id": "line_x2", "title": "Промена линија је завршетак кс координата"},\n
+{"id": "line_y1", "title": "Промена линија у координатни почетак Ы"},\n
+{"id": "line_y2", "title": "Промена линија је Ы координата се завршава"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "страна"},\n
+{"id": "palette", "title": "Кликните да бисте променили боју попуне, Схифт-кликните да промените боју удар"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Промени правоугаоник висина"},\n
+{"id": "rect_width_tool", "title": "Промени правоугаоник ширине"},\n
+{"id": "relativeToLabel", "textContent": "у односу на:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Изаберите унапред дефинисани:"},\n
+{"id": "selected_objects", "textContent": "изабраних објеката"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "Најмањи објекат"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Промена боје удар"},\n
+{"id": "stroke_style", "title": "Промена ход Дасх стил"},\n
+{"id": "stroke_width", "title": "Промена удара ширина"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Висина:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Ширина:"},\n
+{"id": "text", "title": "Промена садржаја текстуалне"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Поравнај доле"},\n
+{"id": "tool_aligncenter", "title": "Поравнај по центру"},\n
+{"id": "tool_alignleft", "title": "Поравнај лево"},\n
+{"id": "tool_alignmiddle", "title": "Алигн Средњи"},\n
+{"id": "tool_alignright", "title": "Поравнај десно"},\n
+{"id": "tool_aligntop", "title": "Поравнајте врх"},\n
+{"id": "tool_angle", "title": "Промени ротације Угао"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Подебљан текст"},\n
+{"id": "tool_circle", "title": "Круг"},\n
+{"id": "tool_clear", "textContent": "Нова слика"},\n
+{"id": "tool_clone", "title": "Клон Елеменат"},\n
+{"id": "tool_clone_multi", "title": "Елементи клон"},\n
+{"id": "tool_delete", "title": "Избриши елемент"},\n
+{"id": "tool_delete_multi", "title": "Избриши изабране Елементи [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "Особине документа"},\n
+{"id": "tool_docprops_cancel", "textContent": "Откажи"},\n
+{"id": "tool_docprops_save", "textContent": "Сачувати"},\n
+{"id": "tool_ellipse", "title": "Елипса"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Фрее-Ручни Елипса"},\n
+{"id": "tool_fhpath", "title": "Алатка оловка"},\n
+{"id": "tool_fhrect", "title": "Фрее-Ручни правоугаоник"},\n
+{"id": "tool_font_size", "title": "Цханге фонт сизе"},\n
+{"id": "tool_group", "title": "Група Елементи"},\n
+{"id": "tool_image", "title": "Алатка за слике"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Италиц текст"},\n
+{"id": "tool_line", "title": "Линија Алат"},\n
+{"id": "tool_move_bottom", "title": "Премести на доле"},\n
+{"id": "tool_move_top", "title": "Премести на врх"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Промена изабране ставке непрозирност"},\n
+{"id": "tool_open", "textContent": "Отвори слике"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Правоугаоник"},\n
+{"id": "tool_redo", "title": "Редо"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Сачувај слика"},\n
+{"id": "tool_select", "title": "Изаберите алатку"},\n
+{"id": "tool_source", "title": "Уреди Извор"},\n
+{"id": "tool_source_cancel", "textContent": "Откажи"},\n
+{"id": "tool_source_save", "textContent": "Сачувати"},\n
+{"id": "tool_square", "title": "Трг"},\n
+{"id": "tool_text", "title": "Текст Алат"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Поништи"},\n
+{"id": "tool_ungroup", "title": "Разгрупирање Елементи"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Алатка за зумирање"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Промените ниво зумирања"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>11165</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sv.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sv.js.xml
new file mode 100644
index 0000000000..123c22ffad
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sv.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003301.38</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.sv.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Justera förhållande till ..."},\n
+{"id": "bkgnd_color", "title": "Ändra bakgrundsfärg / opacitet"},\n
+{"id": "circle_cx", "title": "Ändra cirkeln cx samordna"},\n
+{"id": "circle_cy", "title": "Ändra cirkeln samordna cy"},\n
+{"id": "circle_r", "title": "Ändra cirkelns radie"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Ändra rektangel hörnradie"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Ändra ellips&#39;s cx samordna"},\n
+{"id": "ellipse_cy", "title": "Ändra ellips&#39;s samordna cy"},\n
+{"id": "ellipse_rx", "title": "Ändra ellips&#39;s x radie"},\n
+{"id": "ellipse_ry", "title": "Ändra ellips&#39;s y radie"},\n
+{"id": "fill_color", "title": "Ändra fyllningsfärg"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Passar till allt innehåll"},\n
+{"id": "fit_to_canvas", "textContent": "Anpassa till duk"},\n
+{"id": "fit_to_layer_content", "textContent": "Anpassa till lager innehåll"},\n
+{"id": "fit_to_sel", "textContent": "Anpassa till val"},\n
+{"id": "font_family", "title": "Ändra Typsnitt"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Ändra bildhöjd"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Ändra URL"},\n
+{"id": "image_width", "title": "Ändra bild bredd"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "största objekt"},\n
+{"id": "layer_delete", "title": "Radera Layer"},\n
+{"id": "layer_down", "title": "Flytta Layer Down"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Byt namn på Layer"},\n
+{"id": "layer_up", "title": "Flytta Layer Up"},\n
+{"id": "layersLabel", "textContent": "Layers:"},\n
+{"id": "line_x1", "title": "Ändra Lines startar x samordna"},\n
+{"id": "line_x2", "title": "Ändra Lines slutar x samordna"},\n
+{"id": "line_y1", "title": "Ändra Lines startar Y-koordinat"},\n
+{"id": "line_y2", "title": "Ändra Lines slutar Y-koordinat"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "sida"},\n
+{"id": "palette", "title": "Klicka för att ändra fyllningsfärg, shift-klicka för att ändra färgar"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Ändra rektangel höjd"},\n
+{"id": "rect_width_tool", "title": "Ändra rektangel bredd"},\n
+{"id": "relativeToLabel", "textContent": "jämfört:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Välj fördefinierad:"},\n
+{"id": "selected_objects", "textContent": "valda objekt"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "minsta objektet"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Ändra färgar"},\n
+{"id": "stroke_style", "title": "Ändra stroke Dash stil"},\n
+{"id": "stroke_width", "title": "Ändra stroke bredd"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Höjd:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Bredd:"},\n
+{"id": "text", "title": "Ändra textinnehållet"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Centrera"},\n
+{"id": "tool_alignleft", "title": "Vänsterjustera"},\n
+{"id": "tool_alignmiddle", "title": "Justera Middle"},\n
+{"id": "tool_alignright", "title": "Högerjustera"},\n
+{"id": "tool_aligntop", "title": "Justera Top"},\n
+{"id": "tool_angle", "title": "Ändra rotationsvinkel"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Fet text"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elements"},\n
+{"id": "tool_delete", "title": "Radera Element"},\n
+{"id": "tool_delete_multi", "title": "Radera markerade element [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "Dokumentegenskaper"},\n
+{"id": "tool_docprops_cancel", "textContent": "Avbryt"},\n
+{"id": "tool_docprops_save", "textContent": "Spara"},\n
+{"id": "tool_ellipse", "title": "Ellips"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Fri hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Pennverktyget"},\n
+{"id": "tool_fhrect", "title": "Fri hand rektangel"},\n
+{"id": "tool_font_size", "title": "Ändra textstorlek"},\n
+{"id": "tool_group", "title": "Group Elements"},\n
+{"id": "tool_image", "title": "Bildverktyg"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Kursiv text"},\n
+{"id": "tool_line", "title": "Linjeverktyg"},\n
+{"id": "tool_move_bottom", "title": "Move to Bottom"},\n
+{"id": "tool_move_top", "title": "Flytta till början"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Ändra markerat objekt opacitet"},\n
+{"id": "tool_open", "textContent": "Öppna bild"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Rektangel"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Save Image"},\n
+{"id": "tool_select", "title": "Markeringsverktyget"},\n
+{"id": "tool_source", "title": "Redigera källa"},\n
+{"id": "tool_source_cancel", "textContent": "Avbryt"},\n
+{"id": "tool_source_save", "textContent": "Spara"},\n
+{"id": "tool_square", "title": "Fyrkant"},\n
+{"id": "tool_text", "title": "Textverktyg"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Ã…ngra"},\n
+{"id": "tool_ungroup", "title": "Dela Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoomverktyget"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Ändra zoomnivå"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9546</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sw.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sw.js.xml
new file mode 100644
index 0000000000..3097f01b58
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.sw.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003301.61</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.sw.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Align jamaa na ..."},\n
+{"id": "bkgnd_color", "title": "Change background color / opacity"},\n
+{"id": "circle_cx", "title": "Change mduara&#39;s CX kuratibu"},\n
+{"id": "circle_cy", "title": "Change mduara&#39;s cy kuratibu"},\n
+{"id": "circle_r", "title": "Change mduara&#39;s Radius"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Change Mstatili Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Change ellipse s CX kuratibu"},\n
+{"id": "ellipse_cy", "title": "Change ellipse s cy kuratibu"},\n
+{"id": "ellipse_rx", "title": "Change ellipse s x Radius"},\n
+{"id": "ellipse_ry", "title": "Change ellipse&#39;s y Radius"},\n
+{"id": "fill_color", "title": "Change kujaza Michezo"},\n
+{"id": "fitToContent", "textContent": "Waliopo Content"},\n
+{"id": "fit_to_all", "textContent": "Waliopo all content"},\n
+{"id": "fit_to_canvas", "textContent": "Wanaofaa Canvas"},\n
+{"id": "fit_to_layer_content", "textContent": "Waliopo safu content"},\n
+{"id": "fit_to_sel", "textContent": "Waliopo uteuzi"},\n
+{"id": "font_family", "title": "Change font Family"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Change image urefu"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Change URL"},\n
+{"id": "image_width", "title": "Change image width"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "ukubwa object"},\n
+{"id": "layer_delete", "title": "Delete Layer"},\n
+{"id": "layer_down", "title": "Move Layer Down"},\n
+{"id": "layer_new", "title": "Mpya Layer"},\n
+{"id": "layer_rename", "title": "Rename Layer"},\n
+{"id": "layer_up", "title": "Move Layer Up"},\n
+{"id": "layersLabel", "textContent": "Tabaka:"},\n
+{"id": "line_x1", "title": "Change Mpya&#39;s mapya x kuratibu"},\n
+{"id": "line_x2", "title": "Change Mpya&#39;s kuishia x kuratibu"},\n
+{"id": "line_y1", "title": "Change Mpya&#39;s mapya y kuratibu"},\n
+{"id": "line_y2", "title": "Change Mpya&#39;s kuishia y kuratibu"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "umebadilisha"},\n
+{"id": "palette", "title": "Click kubadili kujaza color, skiftarbete-click kubadili kiharusi color"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Change Mstatili height"},\n
+{"id": "rect_width_tool", "title": "Change Mstatili width"},\n
+{"id": "relativeToLabel", "textContent": "relativa att:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Select predefined:"},\n
+{"id": "selected_objects", "textContent": "waliochaguliwa vitu"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "minsta object"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Change kiharusi Michezo"},\n
+{"id": "stroke_style", "title": "Change kiharusi dash style"},\n
+{"id": "stroke_width", "title": "Change kiharusi width"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Urefu:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Upana:"},\n
+{"id": "text", "title": "Change Nakala contents"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Align Center"},\n
+{"id": "tool_alignleft", "title": "Align Left"},\n
+{"id": "tool_alignmiddle", "title": "Kati align"},\n
+{"id": "tool_alignright", "title": "Align Right"},\n
+{"id": "tool_aligntop", "title": "Align Juu"},\n
+{"id": "tool_angle", "title": "Change mzunguko vinkel"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Nakala"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "New Image"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elements"},\n
+{"id": "tool_delete", "title": "Delete Element"},\n
+{"id": "tool_delete_multi", "title": "Delete Selected Elements [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Cancel"},\n
+{"id": "tool_docprops_save", "textContent": "Okoa"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Penseli Tool"},\n
+{"id": "tool_fhrect", "title": "Free-Hand Rectangle"},\n
+{"id": "tool_font_size", "title": "Change font Size"},\n
+{"id": "tool_group", "title": "Kikundi Elements"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italiki Nakala"},\n
+{"id": "tool_line", "title": "Mpya Tool"},\n
+{"id": "tool_move_bottom", "title": "Kuhama Bottom"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Change selected opacity punkt"},\n
+{"id": "tool_open", "textContent": "Open Image"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Mstatili"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Save Image"},\n
+{"id": "tool_select", "title": "Select Tool"},\n
+{"id": "tool_source", "title": "Edit Lugha"},\n
+{"id": "tool_source_cancel", "textContent": "Cancel"},\n
+{"id": "tool_source_save", "textContent": "Save"},\n
+{"id": "tool_square", "title": "Mraba"},\n
+{"id": "tool_text", "title": "Nakala Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Tengua"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Change zoom ngazi"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9527</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.th.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.th.js.xml
new file mode 100644
index 0000000000..7379f00b51
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.th.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003301.81</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.th.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "จัดชิดเทียบกับ ..."},\n
+{"id": "bkgnd_color", "title": "สีพื้นหลังเปลี่ยน / ความทึบ"},\n
+{"id": "circle_cx", "title": "Cx วงกลมเปลี่ยนของพิกัด"},\n
+{"id": "circle_cy", "title": "วงกลมเปลี่ยนเป็น cy ประสานงาน"},\n
+{"id": "circle_r", "title": "รัศมีวงกลมเปลี่ยนเป็น"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "รัศมีเปลี่ยนสี่เหลี่ยมผืนผ้า Corner"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "เปลี่ยน ellipse ของ cx ประสานงาน"},\n
+{"id": "ellipse_cy", "title": "Ellipse เปลี่ยนของ cy ประสานงาน"},\n
+{"id": "ellipse_rx", "title": "Ellipse เปลี่ยนของรัศมี x"},\n
+{"id": "ellipse_ry", "title": "Ellipse เปลี่ยนของรัศมี y"},\n
+{"id": "fill_color", "title": "เปลี่ยนใส่สี"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "พอดีกับเนื้อหาทั้งหมด"},\n
+{"id": "fit_to_canvas", "textContent": "เหมาะสมในการผ้าใบ"},\n
+{"id": "fit_to_layer_content", "textContent": "พอดีเนื้อหาชั้นที่"},\n
+{"id": "fit_to_sel", "textContent": "เหมาะสมในการเลือก"},\n
+{"id": "font_family", "title": "ครอบครัว Change Font"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "ความสูงเปลี่ยนรูปภาพ"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "URL เปลี่ยน"},\n
+{"id": "image_width", "title": "ความกว้างเปลี่ยนรูปภาพ"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "ที่ใหญ่ที่สุดในวัตถุ"},\n
+{"id": "layer_delete", "title": "Delete Layer"},\n
+{"id": "layer_down", "title": "ย้าย Layer ลง"},\n
+{"id": "layer_new", "title": "Layer ใหม่"},\n
+{"id": "layer_rename", "title": "Layer เปลี่ยนชื่อ"},\n
+{"id": "layer_up", "title": "ย้าย Layer Up"},\n
+{"id": "layersLabel", "textContent": "ชั้น:"},\n
+{"id": "line_x1", "title": "สายเปลี่ยนเป็นเริ่มต้น x พิกัด"},\n
+{"id": "line_x2", "title": "สายเปลี่ยนเป็นสิ้นสุด x พิกัด"},\n
+{"id": "line_y1", "title": "สายเปลี่ยนเป็นเริ่มต้น y พิกัด"},\n
+{"id": "line_y2", "title": "สายเปลี่ยนเป็นสิ้นสุด y พิกัด"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "หน้า"},\n
+{"id": "palette", "title": "คลิกเพื่อเปลี่ยนใส่สีกะคลิกเปลี่ยนสีจังหวะ"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "ความสูงสี่เหลี่ยมผืนผ้าเปลี่ยน"},\n
+{"id": "rect_width_tool", "title": "ความกว้างสี่เหลี่ยมผืนผ้าเปลี่ยน"},\n
+{"id": "relativeToLabel", "textContent": "เทียบกับ:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "เลือกที่กำหนดไว้ล่วงหน้า:"},\n
+{"id": "selected_objects", "textContent": "วัตถุเลือกตั้ง"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "วัตถุที่เล็กที่สุด"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "สีจังหวะเปลี่ยน"},\n
+{"id": "stroke_style", "title": "รีบเปลี่ยนสไตล์จังหวะ"},\n
+{"id": "stroke_width", "title": "ความกว้างจังหวะเปลี่ยน"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "ความสูง:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "ความกว้าง:"},\n
+{"id": "text", "title": "เปลี่ยนเนื้อหาข้อความ"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "ด้านล่างชิด"},\n
+{"id": "tool_aligncenter", "title": "จัดแนวกึ่งกลาง"},\n
+{"id": "tool_alignleft", "title": "จัดชิดซ้าย"},\n
+{"id": "tool_alignmiddle", "title": "กลางชิด"},\n
+{"id": "tool_alignright", "title": "จัดชิดขวา"},\n
+{"id": "tool_aligntop", "title": "ด้านบนชิด"},\n
+{"id": "tool_angle", "title": "มุมหมุนเปลี่ยน"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "ข้อความตัวหนา"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "รูปภาพใหม่"},\n
+{"id": "tool_clone", "title": "องค์ประกอบโคลน"},\n
+{"id": "tool_clone_multi", "title": "องค์ประกอบโคลน"},\n
+{"id": "tool_delete", "title": "องค์ประกอบลบ"},\n
+{"id": "tool_delete_multi", "title": "องค์ประกอบที่เลือกลบ"},\n
+{"id": "tool_docprops", "textContent": "คุณสมบัติของเอกสาร"},\n
+{"id": "tool_docprops_cancel", "textContent": "ยกเลิก"},\n
+{"id": "tool_docprops_save", "textContent": "บันทึก"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Ellipse Free-Hand"},\n
+{"id": "tool_fhpath", "title": "เครื่องมือดินสอ"},\n
+{"id": "tool_fhrect", "title": "สี่เหลี่ยมผืนผ้า Free-Hand"},\n
+{"id": "tool_font_size", "title": "เปลี่ยนขนาดตัวอักษร"},\n
+{"id": "tool_group", "title": "องค์ประกอบของกลุ่ม"},\n
+{"id": "tool_image", "title": "เครื่องมือ Image"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "ข้อความตัวเอียง"},\n
+{"id": "tool_line", "title": "เครื่องมือ Line"},\n
+{"id": "tool_move_bottom", "title": "ย้ายไปด้านล่าง"},\n
+{"id": "tool_move_top", "title": "ย้ายไปด้านบน"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "เปลี่ยนความทึบเลือกรายการ"},\n
+{"id": "tool_open", "textContent": "ภาพเปิด"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "สี่เหลี่ยมผืนผ้า"},\n
+{"id": "tool_redo", "title": "ทำซ้ำ"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "บันทึกรูปภาพ"},\n
+{"id": "tool_select", "title": "เครื่องมือเลือก"},\n
+{"id": "tool_source", "title": "แหล่งที่มาแก้ไข"},\n
+{"id": "tool_source_cancel", "textContent": "ยกเลิก"},\n
+{"id": "tool_source_save", "textContent": "บันทึก"},\n
+{"id": "tool_square", "title": "สี่เหลี่ยม"},\n
+{"id": "tool_text", "title": "เครื่องมือ Text"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "เลิก"},\n
+{"id": "tool_ungroup", "title": "องค์ประกอบ Ungroup"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "เครื่องมือซูม"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "เปลี่ยนระดับการซูม"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>12015</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.tl.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.tl.js.xml
new file mode 100644
index 0000000000..4894f3cd16
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.tl.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003302.01</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.tl.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Pantayin sa kamag-anak sa ..."},\n
+{"id": "bkgnd_color", "title": "Baguhin ang kulay ng background / kalabuan"},\n
+{"id": "circle_cx", "title": "Cx Baguhin ang bilog&#39;s coordinate"},\n
+{"id": "circle_cy", "title": "Baguhin ang bilog&#39;s cy coordinate"},\n
+{"id": "circle_r", "title": "Baguhin ang radius ng bilog"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Baguhin ang Parihaba Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Baguhin ang tambilugan&#39;s cx-ugma"},\n
+{"id": "ellipse_cy", "title": "Baguhin ang tambilugan&#39;s cy coordinate"},\n
+{"id": "ellipse_rx", "title": "X radius Baguhin ang tambilugan&#39;s"},\n
+{"id": "ellipse_ry", "title": "Y radius Baguhin ang tambilugan&#39;s"},\n
+{"id": "fill_color", "title": "Baguhin ang punuin ng kulay"},\n
+{"id": "fitToContent", "textContent": "Pagkasyahin sa Nilalaman"},\n
+{"id": "fit_to_all", "textContent": "Pagkasyahin sa lahat ng mga nilalaman"},\n
+{"id": "fit_to_canvas", "textContent": "Pagkasyahin sa tolda"},\n
+{"id": "fit_to_layer_content", "textContent": "Pagkasyahin sa layer nilalaman"},\n
+{"id": "fit_to_sel", "textContent": "Pagkasyahin sa pagpili"},\n
+{"id": "font_family", "title": "Baguhin ang Pamilya ng Font"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Baguhin ang taas ng imahe"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Baguhin ang URL"},\n
+{"id": "image_width", "title": "Baguhin ang lapad ng imahe"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "pinakamalaking bagay"},\n
+{"id": "layer_delete", "title": "Tanggalin Layer"},\n
+{"id": "layer_down", "title": "Ilipat Layer Down"},\n
+{"id": "layer_new", "title": "Bagong Layer"},\n
+{"id": "layer_rename", "title": "Palitan ang pangalan ng Layer"},\n
+{"id": "layer_up", "title": "Ilipat Layer Up"},\n
+{"id": "layersLabel", "textContent": "Layers:"},\n
+{"id": "line_x1", "title": "Baguhin ang linya ng simula x coordinate"},\n
+{"id": "line_x2", "title": "Baguhin ang linya ay nagtatapos x coordinate"},\n
+{"id": "line_y1", "title": "Baguhin ang linya ng simula y coordinate"},\n
+{"id": "line_y2", "title": "Baguhin ang linya ay nagtatapos y coordinate"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "pahina"},\n
+{"id": "palette", "title": "I-click upang baguhin ang punan ang kulay, paglilipat-click upang baguhin ang paghampas ng kulay"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Baguhin ang rektanggulo taas"},\n
+{"id": "rect_width_tool", "title": "Baguhin ang rektanggulo lapad"},\n
+{"id": "relativeToLabel", "textContent": "kamag-anak sa:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Piliin ang paunang-natukoy na:"},\n
+{"id": "selected_objects", "textContent": "inihalal na mga bagay"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "pinakamaliit na bagay"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Baguhin ang kulay ng paghampas"},\n
+{"id": "stroke_style", "title": "Baguhin ang stroke pagsugod estilo"},\n
+{"id": "stroke_width", "title": "Baguhin ang stroke lapad"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Tangkad:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Lapad:"},\n
+{"id": "text", "title": "Baguhin ang mga nilalaman ng teksto"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Pantayin sa Ibaba"},\n
+{"id": "tool_aligncenter", "title": "Pantayin sa Gitna"},\n
+{"id": "tool_alignleft", "title": "Pantayin ang Kaliwa"},\n
+{"id": "tool_alignmiddle", "title": "Pantayin sa Gitnang"},\n
+{"id": "tool_alignright", "title": "Pantayin sa Kanan"},\n
+{"id": "tool_aligntop", "title": "Pantayin Top"},\n
+{"id": "tool_angle", "title": "Baguhin ang pag-ikot anggulo"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "Bagong Imahe"},\n
+{"id": "tool_clone", "title": "I-clone ang Sangkap"},\n
+{"id": "tool_clone_multi", "title": "I-clone ang mga Sangkap"},\n
+{"id": "tool_delete", "title": "Burahin ang Sangkap"},\n
+{"id": "tool_delete_multi", "title": "Tanggalin Napiling Mga Sangkap [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "Document Katangian"},\n
+{"id": "tool_docprops_cancel", "textContent": "I-cancel"},\n
+{"id": "tool_docprops_save", "textContent": "I-save"},\n
+{"id": "tool_ellipse", "title": "Tambilugan"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Libreng-kamay tambilugan"},\n
+{"id": "tool_fhpath", "title": "Kasangkapan ng lapis"},\n
+{"id": "tool_fhrect", "title": "Libreng-kamay Parihaba"},\n
+{"id": "tool_font_size", "title": "Baguhin ang Laki ng Font"},\n
+{"id": "tool_group", "title": "Group Sangkap"},\n
+{"id": "tool_image", "title": "Image Kasangkapan"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Text"},\n
+{"id": "tool_line", "title": "Line Kasangkapan"},\n
+{"id": "tool_move_bottom", "title": "Ilipat sa Ibaba"},\n
+{"id": "tool_move_top", "title": "Ilipat sa Tuktok"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Palitan ang mga napiling bagay kalabuan"},\n
+{"id": "tool_open", "textContent": "Buksan ang Image"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Parihaba"},\n
+{"id": "tool_redo", "title": "Gawin muli"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "I-save ang Image"},\n
+{"id": "tool_select", "title": "Piliin ang Tool"},\n
+{"id": "tool_source", "title": "I-edit ang Source"},\n
+{"id": "tool_source_cancel", "textContent": "I-cancel"},\n
+{"id": "tool_source_save", "textContent": "I-save"},\n
+{"id": "tool_square", "title": "Parisukat"},\n
+{"id": "tool_text", "title": "Text Kasangkapan"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Bawiin"},\n
+{"id": "tool_ungroup", "title": "Ungroup Sangkap"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Mag-zoom Kasangkapan"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Baguhin ang antas ng zoom"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10030</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.tr.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.tr.js.xml
new file mode 100644
index 0000000000..b43079a695
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.tr.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003302.22</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.tr.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Align göre ..."},\n
+{"id": "bkgnd_color", "title": "Arka plan rengini deÄŸiÅŸtirmek / opacity"},\n
+{"id": "circle_cx", "title": "DeÄŸiÅŸtirmek daire&#39;s cx koordine"},\n
+{"id": "circle_cy", "title": "DeÄŸiÅŸtirmek daire cy koordine&#39;s"},\n
+{"id": "circle_r", "title": "Değiştirmek daire yarıçapı"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Değiştirmek Dikdörtgen Köşe Yarıçap"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "&#39;s Koordine cx elips GiriÅŸi"},\n
+{"id": "ellipse_cy", "title": "DeÄŸiÅŸtirmek elips cy koordine&#39;s"},\n
+{"id": "ellipse_rx", "title": "Değiştirmek elips&#39;s x yarıçapı"},\n
+{"id": "ellipse_ry", "title": "Değiştirmek elips Y yarıçapı"},\n
+{"id": "fill_color", "title": "Renk deÄŸiÅŸtirmek doldurmak"},\n
+{"id": "fitToContent", "textContent": "Fit to Content"},\n
+{"id": "fit_to_all", "textContent": "Fit tüm içerik için"},\n
+{"id": "fit_to_canvas", "textContent": "Fit tuvaline"},\n
+{"id": "fit_to_layer_content", "textContent": "Sığacak şekilde katman içerik"},\n
+{"id": "fit_to_sel", "textContent": "Fit seçimine"},\n
+{"id": "font_family", "title": "Font deÄŸiÅŸtir Aile"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Değiştirmek görüntü yüksekliği"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "DeÄŸiÅŸtirmek URL"},\n
+{"id": "image_width", "title": "Değiştirmek görüntü genişliği"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "en büyük nesne"},\n
+{"id": "layer_delete", "title": "Delete Layer"},\n
+{"id": "layer_down", "title": "Katman Aşağı Taşı"},\n
+{"id": "layer_new", "title": "Yeni Katman"},\n
+{"id": "layer_rename", "title": "Rename Katman"},\n
+{"id": "layer_up", "title": "Up Katman Taşı"},\n
+{"id": "layersLabel", "textContent": "Katmanlar:"},\n
+{"id": "line_x1", "title": "Değiştirmek hattı&#39;s koordine x başlangıç"},\n
+{"id": "line_x2", "title": "Değiştirmek hattı&#39;s koordine x biten"},\n
+{"id": "line_y1", "title": "Değiştirmek hattı y başlangıç&#39;s koordine"},\n
+{"id": "line_y2", "title": "Değiştirmek hattı y biten&#39;s koordine"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "sayfa"},\n
+{"id": "palette", "title": "Tıklatın renk, vardiya dolgu zamanlı rengini değiştirmek için tıklayın değiştirmek için"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Değiştirmek dikdörtgen yüksekliği"},\n
+{"id": "rect_width_tool", "title": "Değiştirmek dikdörtgen genişliği"},\n
+{"id": "relativeToLabel", "textContent": "göreli:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Seçin önceden tanımlanmış:"},\n
+{"id": "selected_objects", "textContent": "seçilen nesneleri"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "küçük nesne"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "DeÄŸiÅŸtirmek inme renk"},\n
+{"id": "stroke_style", "title": "Değiştirmek inme çizgi stili"},\n
+{"id": "stroke_width", "title": "DeÄŸiÅŸtirmek vuruÅŸ geniÅŸliÄŸi"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Yükseklik:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "En:"},\n
+{"id": "text", "title": "Değiştirmek metin içeriği"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Ortala"},\n
+{"id": "tool_alignleft", "title": "Sola"},\n
+{"id": "tool_alignmiddle", "title": "Align Orta"},\n
+{"id": "tool_alignright", "title": "SaÄŸa Hizala"},\n
+{"id": "tool_aligntop", "title": "Align Top"},\n
+{"id": "tool_angle", "title": "Değiştirmek dönme açısı"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Kalın Yazı"},\n
+{"id": "tool_circle", "title": "Daire"},\n
+{"id": "tool_clear", "textContent": "Yeni Resim"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elemanları"},\n
+{"id": "tool_delete", "title": "Sil Element"},\n
+{"id": "tool_delete_multi", "title": "Seçilen Elemanları"},\n
+{"id": "tool_docprops", "textContent": "Belge Özellikleri"},\n
+{"id": "tool_docprops_cancel", "textContent": "Iptal"},\n
+{"id": "tool_docprops_save", "textContent": "Kaydetmek"},\n
+{"id": "tool_ellipse", "title": "Elips"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-El Elips"},\n
+{"id": "tool_fhpath", "title": "Kalem Aracı"},\n
+{"id": "tool_fhrect", "title": "Free-El Dikdörtgen"},\n
+{"id": "tool_font_size", "title": "Change font size"},\n
+{"id": "tool_group", "title": "Grup Elemanları"},\n
+{"id": "tool_image", "title": "Resim Aracı"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italik yazı"},\n
+{"id": "tool_line", "title": "Line Aracı"},\n
+{"id": "tool_move_bottom", "title": "Altına gider"},\n
+{"id": "tool_move_top", "title": "Üste taşı"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Değiştirmek öğe opacity seçilmiş"},\n
+{"id": "tool_open", "textContent": "Aç Resim"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Dikdörtgen"},\n
+{"id": "tool_redo", "title": "Redo"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Görüntüyü Kaydet"},\n
+{"id": "tool_select", "title": "Seçim aracı"},\n
+{"id": "tool_source", "title": "DeÄŸiÅŸtir Kaynak"},\n
+{"id": "tool_source_cancel", "textContent": "Iptal"},\n
+{"id": "tool_source_save", "textContent": "Kaydetmek"},\n
+{"id": "tool_square", "title": "Kare"},\n
+{"id": "tool_text", "title": "Metin Aracı"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Geri"},\n
+{"id": "tool_ungroup", "title": "Çöz Elemanları"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Yakınlaştırma düzeyini değiştirebilirsiniz"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9845</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.uk.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.uk.js.xml
new file mode 100644
index 0000000000..e1c038b27b
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.uk.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003302.42</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.uk.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "Вирівняти по відношенню до ..."},\n
+{"id": "bkgnd_color", "title": "Зміна кольору тла / непрозорість"},\n
+{"id": "circle_cx", "title": "CX зміну кола координата"},\n
+{"id": "circle_cy", "title": "Зміни гуртка CY координати"},\n
+{"id": "circle_r", "title": "Зміна кола&#39;s радіус"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Зміни прямокутник Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Зміни еліпса CX координати"},\n
+{"id": "ellipse_cy", "title": "Зміни еліпса CY координати"},\n
+{"id": "ellipse_rx", "title": "Х Зміни еліпса радіусом"},\n
+{"id": "ellipse_ry", "title": "Зміни у еліпса радіусом"},\n
+{"id": "fill_color", "title": "Зміна кольору заливки"},\n
+{"id": "fitToContent", "textContent": "За розміром змісту"},\n
+{"id": "fit_to_all", "textContent": "За розміром весь вміст"},\n
+{"id": "fit_to_canvas", "textContent": "Розмір полотна"},\n
+{"id": "fit_to_layer_content", "textContent": "За розміром шар змісту"},\n
+{"id": "fit_to_sel", "textContent": "Вибір розміру"},\n
+{"id": "font_family", "title": "Зміни Сімейство шрифтів"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Зміна висоти зображення"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Змінити URL"},\n
+{"id": "image_width", "title": "Зміни ширина зображення"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "найбільший об&#39;єкт"},\n
+{"id": "layer_delete", "title": "Видалити шар"},\n
+{"id": "layer_down", "title": "Перемістити шар на"},\n
+{"id": "layer_new", "title": "Новий шар"},\n
+{"id": "layer_rename", "title": "Перейменувати Шар"},\n
+{"id": "layer_up", "title": "Переміщення шару до"},\n
+{"id": "layersLabel", "textContent": "Шари:"},\n
+{"id": "line_x1", "title": "Зміни починає координати лінія х"},\n
+{"id": "line_x2", "title": "Зміни за період, що закінчився лінія координати х"},\n
+{"id": "line_y1", "title": "Зміни лінія починає Y координата"},\n
+{"id": "line_y2", "title": "Зміна за період, що закінчився лінія Y координата"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "сторінка"},\n
+{"id": "palette", "title": "Натисніть для зміни кольору заливки, Shift-Click змінити обвід"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Зміни прямокутник висотою"},\n
+{"id": "rect_width_tool", "title": "Зміна ширини прямокутника"},\n
+{"id": "relativeToLabel", "textContent": "в порівнянні з:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Виберіть зумовлений:"},\n
+{"id": "selected_objects", "textContent": "обраними об&#39;єктами"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "маленький об&#39;єкт"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Зміна кольору інсульт"},\n
+{"id": "stroke_style", "title": "Зміна стилю інсульт тире"},\n
+{"id": "stroke_width", "title": "Зміни ширина штриха"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Висота:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Ширина:"},\n
+{"id": "text", "title": "Зміна змісту тексту"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Вирівняти по нижньому краю"},\n
+{"id": "tool_aligncenter", "title": "Вирівняти по центру"},\n
+{"id": "tool_alignleft", "title": "По лівому краю"},\n
+{"id": "tool_alignmiddle", "title": "Вирівняти Близького"},\n
+{"id": "tool_alignright", "title": "По правому краю"},\n
+{"id": "tool_aligntop", "title": "Вирівняти по верхньому краю"},\n
+{"id": "tool_angle", "title": "Зміна кута повороту"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Товстий текст"},\n
+{"id": "tool_circle", "title": "Коло"},\n
+{"id": "tool_clear", "textContent": "Нове зображення"},\n
+{"id": "tool_clone", "title": "Клон Елементу"},\n
+{"id": "tool_clone_multi", "title": "Клон Елементи"},\n
+{"id": "tool_delete", "title": "Видалити елемент"},\n
+{"id": "tool_delete_multi", "title": "Видалити вибрані елементи [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "Властивості документа"},\n
+{"id": "tool_docprops_cancel", "textContent": "Скасування"},\n
+{"id": "tool_docprops_save", "textContent": "Зберегти"},\n
+{"id": "tool_ellipse", "title": "Еліпс"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Вільної руки Еліпс"},\n
+{"id": "tool_fhpath", "title": "Pencil Tool"},\n
+{"id": "tool_fhrect", "title": "Вільної руки Прямокутник"},\n
+{"id": "tool_font_size", "title": "Змінити розмір шрифту"},\n
+{"id": "tool_group", "title": "Група елементів"},\n
+{"id": "tool_image", "title": "Image Tool"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Похилий текст"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Перемістити вниз"},\n
+{"id": "tool_move_top", "title": "Перемістити догори"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Зміна вибраного пункту непрозорості"},\n
+{"id": "tool_open", "textContent": "Відкрити зображення"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Прямокутник"},\n
+{"id": "tool_redo", "title": "Повтор"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Зберегти малюнок"},\n
+{"id": "tool_select", "title": "Виберіть інструмент"},\n
+{"id": "tool_source", "title": "Змінити вихідний"},\n
+{"id": "tool_source_cancel", "textContent": "Скасування"},\n
+{"id": "tool_source_save", "textContent": "Зберегти"},\n
+{"id": "tool_square", "title": "Площа"},\n
+{"id": "tool_text", "title": "Текст Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Скасувати"},\n
+{"id": "tool_ungroup", "title": "Елементи розгрупувати"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Зміна масштабу"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>11113</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.vi.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.vi.js.xml
new file mode 100644
index 0000000000..a523b53ed9
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.vi.js.xml
@@ -0,0 +1,212 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003302.62</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.vi.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "Căn liên quan đến ..."},\n
+{"id": "bkgnd_color", "title": "Thay đổi màu nền / opacity"},\n
+{"id": "circle_cx", "title": "Thay đổi hình tròn của cx phối hợp"},\n
+{"id": "circle_cy", "title": "Thay đổi hình tròn của vi phối hợp"},\n
+{"id": "circle_r", "title": "Thay đổi bán kính của hình tròn"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "Thay đổi chữ nhật Corner Radius"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "Thay đổi hình elip của cx phối hợp"},\n
+{"id": "ellipse_cy", "title": "Thay đổi hình elip của vi phối hợp"},\n
+{"id": "ellipse_rx", "title": "Thay đổi hình elip của x bán kính"},\n
+{"id": "ellipse_ry", "title": "Y Thay đổi bán kính của hình ellipse"},\n
+{"id": "fill_color", "title": "Thay đổi đầy màu sắc"},\n
+{"id": "fitToContent", "textContent": "Phù hợp với nội dung"},\n
+{"id": "fit_to_all", "textContent": "Phù hợp với tất cả nội dung"},\n
+{"id": "fit_to_canvas", "textContent": "Phù hợp với vải"},\n
+{"id": "fit_to_layer_content", "textContent": "Vào lớp phù hợp với nội dung"},\n
+{"id": "fit_to_sel", "textContent": "Phù hợp để lựa chọn"},\n
+{"id": "font_family", "title": "Thay đổi Font Gia đình"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "Thay đổi hình ảnh chiều cao"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "Thay đổi URL"},\n
+{"id": "image_width", "title": "Thay đổi hình ảnh rộng"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "lớn nhất đối tượng"},\n
+{"id": "layer_delete", "title": "Xoá Layer"},\n
+{"id": "layer_down", "title": "Move Layer Down"},\n
+{"id": "layer_new", "title": "New Layer"},\n
+{"id": "layer_rename", "title": "Đổi tên Layer"},\n
+{"id": "layer_up", "title": "Di chuyển Layer Up"},\n
+{"id": "layersLabel", "textContent": "Lá»›p:"},\n
+{"id": "line_x1", "title": "Thay đổi dòng của bắt đầu từ x phối hợp"},\n
+{"id": "line_x2", "title": "Thay đổi dòng của x kết thúc sớm nhất phối hợp"},\n
+{"id": "line_y1", "title": "Thay đổi dòng của bắt đầu từ y phối hợp"},\n
+{"id": "line_y2", "title": "Thay đổi dòng của kết thúc y phối hợp"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "Sá»­a"},\n
+{"id": "palette", "title": "Nhấn vào đây để thay đổi đầy màu sắc, thay đổi nhấp chuột để thay đổi màu sắc đột quỵ"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "Thay đổi hình chữ nhật chiều cao"},\n
+{"id": "rect_width_tool", "title": "Thay đổi hình chữ nhật chiều rộng"},\n
+{"id": "relativeToLabel", "textContent": "liên quan đến:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "Chọn định sẵn:"},\n
+{"id": "selected_objects", "textContent": "bầu các đối tượng"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "nhỏ đối tượng"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "Thay đổi màu sắc đột quỵ"},\n
+{"id": "stroke_style", "title": "Thay đổi phong cách đột quỵ dash"},\n
+{"id": "stroke_width", "title": "Thay đổi chiều rộng đột quỵ"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "Chiều cao:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "Chiều rộng:"},\n
+{"id": "text", "title": "Thay đổi nội dung văn bản"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "Align Bottom"},\n
+{"id": "tool_aligncenter", "title": "Căn giữa"},\n
+{"id": "tool_alignleft", "title": "Căn còn lại"},\n
+{"id": "tool_alignmiddle", "title": "Căn Trung"},\n
+{"id": "tool_alignright", "title": "Căn phải"},\n
+{"id": "tool_aligntop", "title": "Căn Top"},\n
+{"id": "tool_angle", "title": "Thay đổi góc xoay"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "Bold Text"},\n
+{"id": "tool_circle", "title": "Circle"},\n
+{"id": "tool_clear", "textContent": "Hình mới"},\n
+{"id": "tool_clone", "title": "Clone Element"},\n
+{"id": "tool_clone_multi", "title": "Clone Elements"},\n
+{"id": "tool_delete", "title": "Xóa Element"},\n
+{"id": "tool_delete_multi", "title": "Delete Selected Elements"},\n
+{"id": "tool_docprops", "textContent": "Document Properties"},\n
+{"id": "tool_docprops_cancel", "textContent": "Hủy"},\n
+{"id": "tool_docprops_save", "textContent": "LÆ°u"},\n
+{"id": "tool_ellipse", "title": "Ellipse"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Việt-Hand Ellipse"},\n
+{"id": "tool_fhpath", "title": "Bút chì Công cụ"},\n
+{"id": "tool_fhrect", "title": "Việt-Hand Hình chữ nhật"},\n
+{"id": "tool_font_size", "title": "Thay đổi cỡ chữ"},\n
+{"id": "tool_group", "title": "Nhóm Elements"},\n
+{"id": "tool_image", "title": "Hình Công cụ"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "Italic Text"},\n
+{"id": "tool_line", "title": "Line Tool"},\n
+{"id": "tool_move_bottom", "title": "Chuyển đến đáy"},\n
+{"id": "tool_move_top", "title": "Move to Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "Thay đổi lựa chọn opacity mục"},\n
+{"id": "tool_open", "textContent": "Mở Image"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "Hình chữ nhật"},\n
+{"id": "tool_redo", "title": "Làm lại"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "Save Image"},\n
+{"id": "tool_select", "title": "Chọn Công cụ"},\n
+{"id": "tool_source", "title": "Sửa Nguồn"},\n
+{"id": "tool_source_cancel", "textContent": "Hủy"},\n
+{"id": "tool_source_save", "textContent": "LÆ°u"},\n
+{"id": "tool_square", "title": "Hình vuông"},\n
+{"id": "tool_text", "title": "Text Tool"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "Hoàn tác"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "Zoom Tool"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "Thay đổi mức độ phóng"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>10133</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.yi.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.yi.js.xml
new file mode 100644
index 0000000000..c2bd274d18
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.yi.js.xml
@@ -0,0 +1,216 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003302.82</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.yi.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+[\n
+{"id": "align_relative_to", "title": "יינרייען קאָרעוו צו ..."},\n
+{"id": "bkgnd_color", "title": "ענדערן הינטערגרונט פאַרב / אָופּאַסאַטי"},\n
+{"id": "circle_cx", "title": "ענדערן קרייז ס קקס קאָואָרדאַנאַט"},\n
+{"id": "circle_cy", "title": "ענדערן קרייז ס סי קאָואָרדאַנאַט"},\n
+{"id": "circle_r", "title": "ענדערן קרייז ס ראַדיוס"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "ענדערן רעקטאַנגלע קאָרנער ראַדיוס"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "ענדערן יליפּס ס קקס קאָואָרדאַנאַט"},\n
+{"id": "ellipse_cy", "title": "ענדערן יליפּס ס סי קאָואָרדאַנאַט"},\n
+{"id": "ellipse_rx", "title": "ענדערן יליפּס ס &#39;קס ראַדיוס"},\n
+{"id": "ellipse_ry", "title": "ענדערן יליפּס ס &#39;י ראַדיוס"},\n
+{"id": "fill_color", "title": "ענדערן אָנעסן קאָליר"},\n
+{"id": "fitToContent", "textContent": "פּאַסיק צו אינהאַלט"},\n
+{"id": "fit_to_all", "textContent": "פּאַסיק צו אַלע אינהאַלט"},\n
+{"id": "fit_to_canvas", "textContent": "פּאַסיק צו לייוונט"},\n
+{"id": "fit_to_layer_content", "textContent": "פּאַסיק צו שיכטע אינהאַלט"},\n
+{"id": "fit_to_sel", "textContent": "פּאַסיק צו אָפּקלייב"},\n
+{"id": "font_family", "title": "ענדערן פאָנט פאַמילי"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "טוישן בילד הייך"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "ענדערן URL"},\n
+{"id": "image_width", "title": "טוישן בילד ברייט"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "לאַרדזשאַסט קעגן"},\n
+{"id": "layer_delete", "title": "ויסמעקן לייַער"},\n
+{"id": "layer_down", "title": "קער לייַער דאָוון"},\n
+{"id": "layer_new", "title": "ניו לייַער"},\n
+{"id": "layer_rename", "title": "רענאַמע לייַער"},\n
+{"id": "layer_up", "title": "באַוועגן לייַער אַרויף"},\n
+{"id": "layersLabel", "textContent": "לייַערס:"},\n
+{"id": "line_x1", "title": "טוישן ליניע ס &#39;סטאַרטינג קס קאָואָרדאַנאַט"},\n
+{"id": "line_x2", "title": "טוישן ליניע ס &#39;סאָף קס קאָואָרדאַנאַט"},\n
+{"id": "line_y1", "title": "טוישן ליניע ס &#39;סטאַרטינג י קאָואָרדאַנאַט"},\n
+{"id": "line_y2", "title": "טוישן ליניע ס &#39;סאָף י קאָואָרדאַנאַט"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "בלאַט"},\n
+{"id": "palette", "title": "גיט צו ענדערן אָנעסן קאָליר, יבעררוק-גיט צו טוישן מאַך קאָליר"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "ענדערן גראָדעק הייך"},\n
+{"id": "rect_width_tool", "title": "ענדערן גראָדעק ברייט"},\n
+{"id": "relativeToLabel", "textContent": "קאָרעוו צו:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "סעלעקטירן פּרעדעפינעד:"},\n
+{"id": "selected_objects", "textContent": "עלעקטעד אַבדזשעקץ"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "סמאָלאַסט קעגן"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "טוישן מאַך קאָליר"},\n
+{"id": "stroke_style", "title": "טוישן מאַך לאָך מאָדע"},\n
+{"id": "stroke_width", "title": "טוישן מאַך ברייט"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "הויך:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "ברייט:"},\n
+{"id": "text", "title": "ענדערן טעקסט אינהאַלט"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "יינרייען באָטטאָם"},\n
+{"id": "tool_aligncenter", "title": "יינרייען צענטער"},\n
+{"id": "tool_alignleft", "title": "יינרייען לעפט"},\n
+{"id": "tool_alignmiddle", "title": "יינרייען מיטל"},\n
+{"id": "tool_alignright", "title": "יינרייען רעכט"},\n
+{"id": "tool_aligntop", "title": "יינרייען Top"},\n
+{"id": "tool_angle", "title": "ענדערן ראָוטיישאַן ווינקל"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "דרייסט טעקסט"},\n
+{"id": "tool_circle", "title": "קאַראַהאָד"},\n
+{"id": "tool_clear", "textContent": "ניו בילד"},\n
+{"id": "tool_clone", "title": "קלאָנע עלעמענט"},\n
+{"id": "tool_clone_multi", "title": "קלאָנע עלעמענץ"},\n
+{"id": "tool_delete", "title": "ויסמעקן עלעמענט"},\n
+{"id": "tool_delete_multi", "title": "ויסמעקן סעלעקטעד עלעמענץ [Delete/Backspace]"},\n
+{"id": "tool_docprops", "textContent": "דאָקומענט פּראָפּערטיעס"},\n
+{"id": "tool_docprops_cancel", "textContent": "באָטל מאַכן"},\n
+{"id": "tool_docprops_save", "textContent": "היט"},\n
+{"id": "tool_ellipse", "title": "עלליפּסע"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "Free-הענט עלליפּסע"},\n
+{"id": "tool_fhpath", "title": "בלייער טול"},\n
+{"id": "tool_fhrect", "title": "Free-הענט רעקטאַנגלע"},\n
+{"id": "tool_font_size", "title": "בייטן פאָנט גרייס"},\n
+{"id": "tool_group", "title": "גרופּע עלעמענץ"},\n
+{"id": "tool_image", "title": "בילד טול"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "יטאַליק טעקסט"},\n
+{"id": "tool_line", "title": "שורה טול"},\n
+{"id": "tool_move_bottom", "title": "מאַך צו באָטטאָם"},\n
+{"id": "tool_move_top", "title": "באַוועגן צו Top"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "ענדערן סעלעקטעד נומער אָופּאַסאַטי"},\n
+{"id": "tool_open", "textContent": "Open בילד"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "גראָדעק"},\n
+{"id": "tool_redo", "title": "רעדאָ"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "היט בילד"},\n
+{"id": "tool_select", "title": "סעלעקטירן טול"},\n
+{"id": "tool_source", "title": "רעדאַקטירן סאָרס"},\n
+{"id": "tool_source_cancel", "textContent": "באָטל מאַכן"},\n
+{"id": "tool_source_save", "textContent": "היט"},\n
+{"id": "tool_square", "title": "קוואדראט"},\n
+{"id": "tool_text", "title": "טעקסט טול"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "ופמאַכן"},\n
+{"id": "tool_ungroup", "title": "ונגראָופּ עלעמענץ"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "פארגרעסער טול"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "ענדערן פארגרעסער הייך"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>11032</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-CN.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-CN.js.xml
new file mode 100644
index 0000000000..a448643bba
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-CN.js.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003303.02</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.zh-CN.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "相对对齐 ..."},\n
+{"id": "bkgnd_color", "title": "更改背景颜色/不透明"},\n
+{"id": "circle_cx", "title": "改变循环的CX坐标"},\n
+{"id": "circle_cy", "title": "改变循环的赛扬坐标"},\n
+{"id": "circle_r", "title": "改变圆的半径"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "矩形角半径的变化"},\n
+{"id": "cornerRadiusLabel", "title": "角半径:"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "改变椭圆的CX坐标"},\n
+{"id": "ellipse_cy", "title": "改变椭圆的赛扬坐标"},\n
+{"id": "ellipse_rx", "title": "改变椭圆的x半径"},\n
+{"id": "ellipse_ry", "title": "改变椭圆的y半径"},\n
+{"id": "fill_color", "title": "更改填充颜色"},\n
+{"id": "fitToContent", "textContent": "适合内容"},\n
+{"id": "fit_to_all", "textContent": "适合于所有的内容"},\n
+{"id": "fit_to_canvas", "textContent": "适合画布"},\n
+{"id": "fit_to_layer_content", "textContent": "适合层内容"},\n
+{"id": "fit_to_sel", "textContent": "适合选择"},\n
+{"id": "font_family", "title": "更改字体家族"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "更改图像高度"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "更改网址"},\n
+{"id": "image_width", "title": "更改图像的宽度"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "最大对象"},\n
+{"id": "layer_delete", "title": "删除层"},\n
+{"id": "layer_down", "title": "层向下移动"},\n
+{"id": "layer_new", "title": "新层"},\n
+{"id": "layer_rename", "title": "重命名层"},\n
+{"id": "layer_up", "title": "移动层最多"},\n
+{"id": "layersLabel", "textContent": "层:"},\n
+{"id": "line_x1", "title": "更改行的起点的x坐标"},\n
+{"id": "line_x2", "title": "更改行的结束x坐标"},\n
+{"id": "line_y1", "title": "更改行的起点的y坐标"},\n
+{"id": "line_y2", "title": "更改行的结束y坐标"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "网页"},\n
+{"id": "palette", "title": "点击更改填充颜色,按住Shift键单击更改颜色中风"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "更改矩形的高度"},\n
+{"id": "rect_width_tool", "title": "更改矩形的宽度"},\n
+{"id": "relativeToLabel", "textContent": "相对于:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "选择预定义:"},\n
+{"id": "selected_objects", "textContent": "选对象"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "最小的对象"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "中风的颜色变化"},\n
+{"id": "stroke_style", "title": "更改行程冲刺风格"},\n
+{"id": "stroke_width", "title": "笔划宽度的变化"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "高度:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "宽度:"},\n
+{"id": "text", "title": "更改文字内容"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "底部对齐"},\n
+{"id": "tool_aligncenter", "title": "居中对齐"},\n
+{"id": "tool_alignleft", "title": "左对齐"},\n
+{"id": "tool_alignmiddle", "title": "中间对齐"},\n
+{"id": "tool_alignright", "title": "右对齐"},\n
+{"id": "tool_aligntop", "title": "顶端对齐"},\n
+{"id": "tool_angle", "title": "旋转角度的变化"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "粗体"},\n
+{"id": "tool_circle", "title": "圈"},\n
+{"id": "tool_clear", "textContent": "新形象"},\n
+{"id": "tool_clone", "title": "克隆元素"},\n
+{"id": "tool_clone_multi", "title": "克隆元素"},\n
+{"id": "tool_delete", "title": "删除元素"},\n
+{"id": "tool_delete_multi", "title": "删除所选元素"},\n
+{"id": "tool_docprops", "textContent": "文档属性"},\n
+{"id": "tool_docprops_cancel", "textContent": "取消"},\n
+{"id": "tool_docprops_save", "textContent": "保存"},\n
+{"id": "tool_ellipse", "title": "椭圆"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "免费手椭圆"},\n
+{"id": "tool_fhpath", "title": "铅笔工具"},\n
+{"id": "tool_fhrect", "title": "免费手矩形"},\n
+{"id": "tool_font_size", "title": "更改字体大小"},\n
+{"id": "tool_group", "title": "族元素"},\n
+{"id": "tool_image", "title": "图像工具"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "斜体文本"},\n
+{"id": "tool_line", "title": "线工具"},\n
+{"id": "tool_move_bottom", "title": "移至底部"},\n
+{"id": "tool_move_top", "title": "移动到顶部"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "更改所选项目不透明"},\n
+{"id": "tool_open", "textContent": "打开图像"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "矩形"},\n
+{"id": "tool_redo", "title": "重做"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "保存图像"},\n
+{"id": "tool_select", "title": "选择工具"},\n
+{"id": "tool_source", "title": "编辑源"},\n
+{"id": "tool_source_cancel", "textContent": "取消"},\n
+{"id": "tool_source_save", "textContent": "保存"},\n
+{"id": "tool_square", "title": "广场"},\n
+{"id": "tool_text", "title": "文字工具"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "撤消"},\n
+{"id": "tool_ungroup", "title": "取消组合元素"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "缩放工具"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "更改缩放级别"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9414</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-HK.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-HK.js.xml
new file mode 100644
index 0000000000..9f09c5c29a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-HK.js.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003303.22</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.zh-HK.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "相对对齐 ..."},\n
+{"id": "bkgnd_color", "title": "更改背景颜色/不透明"},\n
+{"id": "circle_cx", "title": "改变循环的CX坐标"},\n
+{"id": "circle_cy", "title": "改变循环的赛扬坐标"},\n
+{"id": "circle_r", "title": "改变圆的半径"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "矩形角半径的变化"},\n
+{"id": "cornerRadiusLabel", "title": "角半径:"},\n
+{"id": "curve_segments", "textContent": "Curve"},\n
+{"id": "ellipse_cx", "title": "改变椭圆的CX坐标"},\n
+{"id": "ellipse_cy", "title": "改变椭圆的赛扬坐标"},\n
+{"id": "ellipse_rx", "title": "改变椭圆的x半径"},\n
+{"id": "ellipse_ry", "title": "改变椭圆的y半径"},\n
+{"id": "fill_color", "title": "更改填充颜色"},\n
+{"id": "fitToContent", "textContent": "适合内容"},\n
+{"id": "fit_to_all", "textContent": "适合于所有的内容"},\n
+{"id": "fit_to_canvas", "textContent": "适合画布"},\n
+{"id": "fit_to_layer_content", "textContent": "适合层内容"},\n
+{"id": "fit_to_sel", "textContent": "适合选择"},\n
+{"id": "font_family", "title": "更改字体家族"},\n
+{"id": "icon_large", "textContent": "Large"},\n
+{"id": "icon_medium", "textContent": "Medium"},\n
+{"id": "icon_small", "textContent": "Small"},\n
+{"id": "icon_xlarge", "textContent": "Extra Large"},\n
+{"id": "image_height", "title": "更改图像高度"},\n
+{"id": "image_opt_embed", "textContent": "Embed data (local files)"},\n
+{"id": "image_opt_ref", "textContent": "Use file reference"},\n
+{"id": "image_url", "title": "更改网址"},\n
+{"id": "image_width", "title": "更改图像的宽度"},\n
+{"id": "includedImages", "textContent": "Included Images"},\n
+{"id": "largest_object", "textContent": "最大对象"},\n
+{"id": "layer_delete", "title": "删除层"},\n
+{"id": "layer_down", "title": "层向下移动"},\n
+{"id": "layer_new", "title": "新层"},\n
+{"id": "layer_rename", "title": "重命名层"},\n
+{"id": "layer_up", "title": "移动层最多"},\n
+{"id": "layersLabel", "textContent": "层:"},\n
+{"id": "line_x1", "title": "更改行的起点的x坐标"},\n
+{"id": "line_x2", "title": "更改行的结束x坐标"},\n
+{"id": "line_y1", "title": "更改行的起点的y坐标"},\n
+{"id": "line_y2", "title": "更改行的结束y坐标"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "网页"},\n
+{"id": "palette", "title": "点击更改填充颜色,按住Shift键单击更改颜色中风"},\n
+{"id": "path_node_x", "title": "Change node\'s x coordinate"},\n
+{"id": "path_node_y", "title": "Change node\'s y coordinate"},\n
+{"id": "rect_height_tool", "title": "更改矩形的高度"},\n
+{"id": "rect_width_tool", "title": "更改矩形的宽度"},\n
+{"id": "relativeToLabel", "textContent": "相对于:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "Move elements to:"},\n
+{"id": "selLayerNames", "title": "Move selected elements to a different layer"},\n
+{"id": "selectedPredefined", "textContent": "选择预定义:"},\n
+{"id": "selected_objects", "textContent": "选对象"},\n
+{"id": "selected_x", "title": "Change X coordinate"},\n
+{"id": "selected_y", "title": "Change Y coordinate"},\n
+{"id": "smallest_object", "textContent": "最小的对象"},\n
+{"id": "straight_segments", "textContent": "Straight"},\n
+{"id": "stroke_color", "title": "中风的颜色变化"},\n
+{"id": "stroke_style", "title": "更改行程冲刺风格"},\n
+{"id": "stroke_width", "title": "笔划宽度的变化"},\n
+{"id": "svginfo_bg_note", "textContent": "Note: Background will not be saved with image."},\n
+{"id": "svginfo_change_background", "textContent": "Editor Background"},\n
+{"id": "svginfo_dim", "textContent": "Canvas Dimensions"},\n
+{"id": "svginfo_editor_prefs", "textContent": "Editor Preferences"},\n
+{"id": "svginfo_height", "textContent": "高度:"},\n
+{"id": "svginfo_icons", "textContent": "Icon size"},\n
+{"id": "svginfo_image_props", "textContent": "Image Properties"},\n
+{"id": "svginfo_lang", "textContent": "Language"},\n
+{"id": "svginfo_title", "textContent": "Title"},\n
+{"id": "svginfo_width", "textContent": "宽度:"},\n
+{"id": "text", "title": "更改文字内容"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "底部对齐"},\n
+{"id": "tool_aligncenter", "title": "居中对齐"},\n
+{"id": "tool_alignleft", "title": "左对齐"},\n
+{"id": "tool_alignmiddle", "title": "中间对齐"},\n
+{"id": "tool_alignright", "title": "右对齐"},\n
+{"id": "tool_aligntop", "title": "顶端对齐"},\n
+{"id": "tool_angle", "title": "旋转角度的变化"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "粗体"},\n
+{"id": "tool_circle", "title": "圈"},\n
+{"id": "tool_clear", "textContent": "新形象"},\n
+{"id": "tool_clone", "title": "克隆元素"},\n
+{"id": "tool_clone_multi", "title": "克隆元素"},\n
+{"id": "tool_delete", "title": "删除元素"},\n
+{"id": "tool_delete_multi", "title": "删除所选元素"},\n
+{"id": "tool_docprops", "textContent": "文档属性"},\n
+{"id": "tool_docprops_cancel", "textContent": "取消"},\n
+{"id": "tool_docprops_save", "textContent": "保存"},\n
+{"id": "tool_ellipse", "title": "椭圆"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "免费手椭圆"},\n
+{"id": "tool_fhpath", "title": "铅笔工具"},\n
+{"id": "tool_fhrect", "title": "免费手矩形"},\n
+{"id": "tool_font_size", "title": "更改字体大小"},\n
+{"id": "tool_group", "title": "族元素"},\n
+{"id": "tool_image", "title": "图像工具"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "斜体文本"},\n
+{"id": "tool_line", "title": "线工具"},\n
+{"id": "tool_move_bottom", "title": "移至底部"},\n
+{"id": "tool_move_top", "title": "移动到顶部"},\n
+{"id": "tool_node_clone", "title": "Clone Node"},\n
+{"id": "tool_node_delete", "title": "Delete Node"},\n
+{"id": "tool_node_link", "title": "Link Control Points"},\n
+{"id": "tool_opacity", "title": "更改所选项目不透明"},\n
+{"id": "tool_open", "textContent": "打开图像"},\n
+{"id": "tool_path", "title": "Path Tool"},\n
+{"id": "tool_rect", "title": "矩形"},\n
+{"id": "tool_redo", "title": "重做"},\n
+{"id": "tool_reorient", "title": "Reorient path"},\n
+{"id": "tool_save", "textContent": "保存图像"},\n
+{"id": "tool_select", "title": "选择工具"},\n
+{"id": "tool_source", "title": "编辑源"},\n
+{"id": "tool_source_cancel", "textContent": "取消"},\n
+{"id": "tool_source_save", "textContent": "保存"},\n
+{"id": "tool_square", "title": "广场"},\n
+{"id": "tool_text", "title": "文字工具"},\n
+{"id": "tool_topath", "title": "Convert to Path"},\n
+{"id": "tool_undo", "title": "撤消"},\n
+{"id": "tool_ungroup", "title": "Ungroup Elements"},\n
+{"id": "tool_wireframe", "title": "Wireframe Mode"},\n
+{"id": "tool_zoom", "title": "缩放工具"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "更改缩放级别"},\n
+{"id": "sidepanel_handle", "textContent": "L a y e r s", "title": "Drag left/right to resize side panel"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "There were parsing errors in your SVG source.\\nRevert back to original SVG source?", \n
+  "QignoreSourceChanges": "Ignore changes made to SVG source?", \n
+  "QmoveElemsToLayer": "Move selected elements to layer \'%s\'?", \n
+  "QwantToClear": "Do you want to clear the drawing?\\nThis will also erase your undo history!", \n
+  "cancel": "Cancel", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "There is already a layer named that!", \n
+  "enterNewImgURL": "Enter the new image URL", \n
+  "enterNewLayerName": "Please enter the new layer name", \n
+  "enterUniqueLayerName": "Please enter a unique layer name", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "Feature not supported", \n
+  "invalidAttrValGiven": "Invalid value given", \n
+  "key_backspace": "backspace", \n
+  "key_del": "delete", \n
+  "key_down": "down", \n
+  "key_up": "up", \n
+  "layer": "Layer", \n
+  "layerHasThatName": "Layer already has that name", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "No content to fit to", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "OK", \n
+  "pathCtrlPtTooltip": "Drag control point to adjust curve properties", \n
+  "pathNodeTooltip": "Drag node to move it. Double-click node to change segment type", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9412</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-TW.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-TW.js.xml
new file mode 100644
index 0000000000..45ac7a7d59
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/lang.zh-TW.js.xml
@@ -0,0 +1,213 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003303.43</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>lang.zh-TW.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string>[\n
+{"id": "align_relative_to", "title": "相對對齊 ..."},\n
+{"id": "bkgnd_color", "title": "更改背景顏色/不透明"},\n
+{"id": "circle_cx", "title": "改變圓的CX坐標"},\n
+{"id": "circle_cy", "title": "改變圓的CY坐標"},\n
+{"id": "circle_r", "title": "改變圓的半徑"},\n
+{"id": "connector_no_arrow", "textContent": "No arrow"},\n
+{"id": "copyrightLabel", "textContent": "Powered by"},\n
+{"id": "cornerRadiusLabel", "title": "矩形角半徑的變化"},\n
+{"id": "cornerRadiusLabel", "title": "角半徑:"},\n
+{"id": "curve_segments", "textContent": "曲線"},\n
+{"id": "ellipse_cx", "title": "改變橢圓的圓心x軸座標"},\n
+{"id": "ellipse_cy", "title": "改變橢圓的圓心y軸座標"},\n
+{"id": "ellipse_rx", "title": "改變橢圓的x軸長"},\n
+{"id": "ellipse_ry", "title": "改變橢圓的y軸長"},\n
+{"id": "fill_color", "title": "更改填充顏色"},\n
+{"id": "fitToContent", "textContent": "適合內容"},\n
+{"id": "fit_to_all", "textContent": "適合所有的內容"},\n
+{"id": "fit_to_canvas", "textContent": "適合畫布"},\n
+{"id": "fit_to_layer_content", "textContent": "適合圖層內容"},\n
+{"id": "fit_to_sel", "textContent": "適合選取的物件"},\n
+{"id": "font_family", "title": "更改字體"},\n
+{"id": "icon_large", "textContent": "大"},\n
+{"id": "icon_medium", "textContent": "中"},\n
+{"id": "icon_small", "textContent": "小"},\n
+{"id": "icon_xlarge", "textContent": "特大"},\n
+{"id": "image_height", "title": "更改圖像高度"},\n
+{"id": "image_opt_embed", "textContent": "內嵌資料 (本地端檔案)"},\n
+{"id": "image_opt_ref", "textContent": "使用檔案參照"},\n
+{"id": "image_url", "title": "更改網址"},\n
+{"id": "image_width", "title": "更改圖像的寬度"},\n
+{"id": "includedImages", "textContent": "包含圖像"},\n
+{"id": "largest_object", "textContent": "最大的物件"},\n
+{"id": "layer_delete", "title": "刪除圖層"},\n
+{"id": "layer_down", "title": "向下移動圖層"},\n
+{"id": "layer_new", "title": "新增圖層"},\n
+{"id": "layer_rename", "title": "重新命名圖層"},\n
+{"id": "layer_up", "title": "向上移動圖層"},\n
+{"id": "layersLabel", "textContent": "圖層:"},\n
+{"id": "line_x1", "title": "更改行的起點的x坐標"},\n
+{"id": "line_x2", "title": "更改行的終點x坐標"},\n
+{"id": "line_y1", "title": "更改行的起點的y坐標"},\n
+{"id": "line_y2", "title": "更改行的終點y坐標"},\n
+{"id": "linecap_butt", "title": "Linecap: Butt"},\n
+{"id": "linecap_round", "title": "Linecap: Round"},\n
+{"id": "linecap_square", "title": "Linecap: Square"},\n
+{"id": "linejoin_bevel", "title": "Linejoin: Bevel"},\n
+{"id": "linejoin_miter", "title": "Linejoin: Miter"},\n
+{"id": "linejoin_round", "title": "Linejoin: Round"},\n
+{"id": "main_icon", "title": "Main Menu"},\n
+{"id": "mode_connect", "title": "Connect two objects"},\n
+{"id": "page", "textContent": "網頁"},\n
+{"id": "palette", "title": "點擊更改填充顏色,按住Shift鍵單擊更改線條顏色"},\n
+{"id": "path_node_x", "title": "改變節點的x軸座標"},\n
+{"id": "path_node_y", "title": "改變節點的y軸座標"},\n
+{"id": "rect_height_tool", "title": "更改矩形的高度"},\n
+{"id": "rect_width_tool", "title": "更改矩形的寬度"},\n
+{"id": "relativeToLabel", "textContent": "相對於:"},\n
+{"id": "seg_type", "title": "Change Segment type"},\n
+{"id": "selLayerLabel", "textContent": "移動物件到:"},\n
+{"id": "selLayerNames", "title": "移動被點選的物件其他圖層"},\n
+{"id": "selectedPredefined", "textContent": "使用預設值:"},\n
+{"id": "selected_objects", "textContent": "選取物件"},\n
+{"id": "selected_x", "title": "調整 X 軸"},\n
+{"id": "selected_y", "title": "調整 Y 軸"},\n
+{"id": "smallest_object", "textContent": "最小的物件"},\n
+{"id": "straight_segments", "textContent": "ç›´ç·š"},\n
+{"id": "stroke_color", "title": "線條顏色"},\n
+{"id": "stroke_style", "title": "更改線條(虛線)風格"},\n
+{"id": "stroke_width", "title": "線條寬度"},\n
+{"id": "svginfo_bg_note", "textContent": "注意: 編輯器背景不會和圖像一起儲存"},\n
+{"id": "svginfo_change_background", "textContent": "編輯器背景"},\n
+{"id": "svginfo_dim", "textContent": "畫布大小"},\n
+{"id": "svginfo_editor_prefs", "textContent": "編輯器屬性"},\n
+{"id": "svginfo_height", "textContent": "高度:"},\n
+{"id": "svginfo_icons", "textContent": "圖示大小"},\n
+{"id": "svginfo_image_props", "textContent": "圖片屬性"},\n
+{"id": "svginfo_lang", "textContent": "語言"},\n
+{"id": "svginfo_title", "textContent": "標題"},\n
+{"id": "svginfo_width", "textContent": "寬度:"},\n
+{"id": "text", "title": "更改文字內容"},\n
+{"id": "toggle_stroke_tools", "title": "Show/hide more stroke tools"},\n
+{"id": "tool_add_subpath", "title": "Add sub-path"},\n
+{"id": "tool_alignbottom", "title": "底部對齊"},\n
+{"id": "tool_aligncenter", "title": "居中對齊"},\n
+{"id": "tool_alignleft", "title": "向左對齊"},\n
+{"id": "tool_alignmiddle", "title": "中間對齊"},\n
+{"id": "tool_alignright", "title": "向右對齊"},\n
+{"id": "tool_aligntop", "title": "頂端對齊"},\n
+{"id": "tool_angle", "title": "旋轉角度"},\n
+{"id": "tool_blur", "title": "Change gaussian blur value"},\n
+{"id": "tool_bold", "title": "ç²—é«”"},\n
+{"id": "tool_circle", "title": "圓"},\n
+{"id": "tool_clear", "textContent": "清空圖像"},\n
+{"id": "tool_clone", "title": "複製"},\n
+{"id": "tool_clone_multi", "title": "複製所選元素"},\n
+{"id": "tool_delete", "title": "刪除"},\n
+{"id": "tool_delete_multi", "title": "刪除所選元素"},\n
+{"id": "tool_docprops", "textContent": "文件屬性"},\n
+{"id": "tool_docprops_cancel", "textContent": "取消"},\n
+{"id": "tool_docprops_save", "textContent": "保存"},\n
+{"id": "tool_ellipse", "title": "橢圓"},\n
+{"id": "tool_export", "textContent": "Export as PNG"},\n
+{"id": "tool_eyedropper", "title": "Eye Dropper Tool"},\n
+{"id": "tool_fhellipse", "title": "徒手畫橢圓"},\n
+{"id": "tool_fhpath", "title": "鉛筆工具"},\n
+{"id": "tool_fhrect", "title": "徒手畫矩形"},\n
+{"id": "tool_font_size", "title": "更改字體大小"},\n
+{"id": "tool_group", "title": "群組"},\n
+{"id": "tool_image", "title": "圖像工具"},\n
+{"id": "tool_import", "textContent": "Import SVG"},\n
+{"id": "tool_italic", "title": "斜體"},\n
+{"id": "tool_line", "title": "線工具"},\n
+{"id": "tool_move_bottom", "title": "移至底部"},\n
+{"id": "tool_move_top", "title": "移動到頂部"},\n
+{"id": "tool_node_clone", "title": "增加節點"},\n
+{"id": "tool_node_delete", "title": "刪除節點"},\n
+{"id": "tool_node_link", "title": "將控制點連起來"},\n
+{"id": "tool_opacity", "title": "更改所選項目不透明度"},\n
+{"id": "tool_open", "textContent": "打開圖像"},\n
+{"id": "tool_path", "title": "路徑工具"},\n
+{"id": "tool_rect", "title": "矩形"},\n
+{"id": "tool_redo", "title": "復原"},\n
+{"id": "tool_reorient", "title": "調整路徑"},\n
+{"id": "tool_save", "textContent": "保存圖像"},\n
+{"id": "tool_select", "title": "選擇工具"},\n
+{"id": "tool_source", "title": "編輯SVG原始碼"},\n
+{"id": "tool_source_cancel", "textContent": "取消"},\n
+{"id": "tool_source_save", "textContent": "保存"},\n
+{"id": "tool_square", "title": "方形"},\n
+{"id": "tool_text", "title": "文字工具"},\n
+{"id": "tool_topath", "title": "轉換成路徑"},\n
+{"id": "tool_undo", "title": "取消復原"},\n
+{"id": "tool_ungroup", "title": "取消群組"},\n
+{"id": "tool_wireframe", "title": "框線模式(只瀏覽線條)"},\n
+{"id": "tool_zoom", "title": "縮放工具"},\n
+{"id": "url_notice", "title": "NOTE: This image cannot be embedded. It will depend on this path to be displayed"},\n
+{"id": "zoom_panel", "title": "更改縮放級別"},\n
+{"id": "sidepanel_handle", "textContent": "圖層", "title": "拖拉以改變側邊面板的大小"},\n
+{\n
+ "js_strings": {\n
+  "QerrorsRevertToSource": "SVG原始碼解析錯誤\\n要回復到原本的SVG原始碼嗎?", \n
+  "QignoreSourceChanges": "要忽略對SVG原始碼的更動嗎?", \n
+  "QmoveElemsToLayer": "要搬移所選取的物件到\'%s\'層嗎?", \n
+  "QwantToClear": "要清空圖像嗎?\\n這會順便清空你的回復紀錄!", \n
+  "cancel": "取消", \n
+  "defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.", \n
+  "dupeLayerName": "喔不!已經有另一個同樣名稱的圖層了!", \n
+  "enterNewImgURL": "輸入新的圖片網址", \n
+  "enterNewLayerName": "請輸入新圖層的名稱", \n
+  "enterUniqueLayerName": "請輸入一個名稱不重複的", \n
+  "exportNoBlur": "Blurred elements will appear as un-blurred", \n
+  "exportNoDashArray": "Strokes will appear filled", \n
+  "exportNoImage": "Image elements will not appear", \n
+  "exportNoText": "Text may not appear as expected", \n
+  "exportNoforeignObject": "foreignObject elements will not appear", \n
+  "featNotSupported": "未提供此功能", \n
+  "invalidAttrValGiven": "數值給定錯誤", \n
+  "key_backspace": "空白", \n
+  "key_del": "刪除", \n
+  "key_down": "下", \n
+  "key_up": "上", \n
+  "layer": "圖層", \n
+  "layerHasThatName": "圖層本來就是這個名稱(抱怨)", \n
+  "loadingImage": "Loading image, please wait...", \n
+  "noContentToFitTo": "找不到符合的內容", \n
+  "noteTheseIssues": "Also note the following issues: ", \n
+  "ok": "確定", \n
+  "pathCtrlPtTooltip": "拖拉控制點以改變曲線性質", \n
+  "pathNodeTooltip": "拖拉節點以移動, 連擊節點以改變線段型態(直線/曲線)", \n
+  "saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file."\n
+ }\n
+}\n
+]</string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>9432</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/locale.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/locale.js.xml
new file mode 100644
index 0000000000..8f0722563a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/locale.js.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003303.62</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>locale.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * Localizing script for SVG-edit UI\n
+ *\n
+ * Licensed under the Apache License, Version 2\n
+ *\n
+ * Copyright(c) 2010 Narendra Sisodya\n
+ * Copyright(c) 2010 Alexis Deveria\n
+ *\n
+ */\n
+\n
+var svgEditor = (function($, Editor) {\n
+\tEditor.putLocale = function(given_param, good_langs){\n
+\t\tvar lang_param;\n
+\t\n
+\t\tif(given_param) {\n
+\t\t\tlang_param = given_param;\n
+\t\t} else {\n
+\t\t\tlang_param = $.pref(\'lang\');\n
+\t\t\tif(!lang_param) {\n
+\t\t\t\tif (navigator.userLanguage) // Explorer\n
+\t\t\t\t\tlang_param = navigator.userLanguage;\n
+\t\t\t\telse if (navigator.language) // FF, Opera, ...\n
+\t\t\t\t\tlang_param = navigator.language;\n
+\t\t\t\tif (lang_param == "")\n
+\t\t\t\t\treturn;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// Set to English if language is not in list of good langs\n
+\t\t\tif($.inArray(lang_param, good_langs) == -1) {\n
+\t\t\t\tlang_param = "en";\n
+\t\t\t}\n
+\t\n
+\t\t\t// don\'t bother on first run if language is English\t\t\n
+\t\t\tif(lang_param.indexOf("en") == 0) return;\n
+\t\t}\n
+\t\t\n
+\t\tvar conf = Editor.curConfig;\n
+\t\t\n
+\t\tvar url = conf.langPath + "lang." + lang_param + ".js";\n
+\t\t\n
+\t\tvar processFile = function(data){\n
+\t\t\tvar LangData = eval(data), js_strings;\n
+\t\t\tvar more = Editor.canvas.runExtensions("addLangData", lang_param, true);\n
+\t\t\t$.each(more, function(i, m) {\n
+\t\t\t\tif(m.data) {\n
+\t\t\t\t\tLangData = $.merge(LangData, m.data);\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\t$.each(LangData, function(i, data) {\n
+\t\t\t\tif(data.id) {\n
+\t\t\t\t\tvar elem = $(\'#svg_editor\').parent().find(\'#\'+data.id)[0];\n
+\t\t\t\t\tif(elem) {\n
+\t\t\t\t\t\tif(data.title)\n
+\t\t\t\t\t\t\telem.title = data.title;\n
+\t\t\t\t\t\tif(data.textContent) {\n
+\t\t\t\t\t\t\t// Only replace non-empty text nodes, not elements\n
+\t\t\t\t\t\t\t$.each(elem.childNodes, function(j, node) {\n
+\t\t\t\t\t\t\t\tif(node.nodeType == 3 && $.trim(node.textContent)) {\n
+\t\t\t\t\t\t\t\t\tnode.textContent = data.textContent;\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t} else if(data.js_strings) {\n
+\t\t\t\t\tjs_strings = data.js_strings;\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\tEditor.setLang(lang_param, js_strings);\n
+\t\t}\n
+\t\t\n
+\t\t$.ajax({\n
+\t\t\t\'url\': url,\n
+\t\t\t\'dataType\': "text",\n
+\t\t\tsuccess: processFile,\n
+\t\t\terror: function(xhr) {\n
+\t\t\t\tif(xhr.responseText) {\n
+\t\t\t\t\tprocessFile(xhr.responseText);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t});\n
+\t};\n
+\t\n
+\treturn Editor;\n
+}(jQuery, svgEditor));\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>2059</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/locale.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/locale.min.js.xml
new file mode 100644
index 0000000000..3318e3f3e6
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/locale/locale.min.js.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003303.8</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>locale.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+var svgEditor=(function($,Editor){Editor.putLocale=function(given_param,good_langs){var lang_param;if(given_param){lang_param=given_param}else{lang_param=$.pref("lang");if(!lang_param){if(navigator.userLanguage){lang_param=navigator.userLanguage}else{if(navigator.language){lang_param=navigator.language}}if(lang_param==""){return}}if($.inArray(lang_param,good_langs)==-1){lang_param="en"}if(lang_param.indexOf("en")==0){return}}var conf=Editor.curConfig;var url=conf.langPath+"lang."+lang_param+".js";var processFile=function(data){var LangData=eval(data),js_strings;var more=Editor.canvas.runExtensions("addLangData",lang_param,true);$.each(more,function(i,m){if(m.data){LangData=$.merge(LangData,m.data)}});$.each(LangData,function(i,data){if(data.id){var elem=$("#svg_editor").parent().find("#"+data.id)[0];if(elem){if(data.title){elem.title=data.title}if(data.textContent){$.each(elem.childNodes,function(j,node){if(node.nodeType==3&&$.trim(node.textContent)){node.textContent=data.textContent}})}}}else{if(data.js_strings){js_strings=data.js_strings}}});Editor.setLang(lang_param,js_strings)};$.ajax({url:url,dataType:"text",success:processFile,error:function(xhr){if(xhr.responseText){processFile(xhr.responseText)}}})};return Editor}(jQuery,svgEditor));
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>1261</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.css.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.css.xml
new file mode 100644
index 0000000000..87d53eede6
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.css.xml
@@ -0,0 +1,1234 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>svg-editor.css</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+body {\n
+\tbackground: #D8D8D8;\n
+}\n
+\n
+#svg_editor {\n
+\tfont-size: 8pt;\n
+\tfont-family: Verdana, Helvetica, Arial;\n
+\tcolor: #000000;\n
+}\n
+\n
+#svg_editor a {\n
+\tcolor: #0000FF;\n
+}\n
+\n
+#svg_editor hr {\n
+\tborder: none;\n
+\tborder-bottom: 1px solid #808080;\n
+}\n
+\n
+#svg_editor select {\n
+\tmargin-top: 4px;\n
+}\n
+\n
+#svg_editor #svgroot {\n
+\t-moz-user-select: none;\n
+\t-webkit-user-select: none;\n
+\tposition: absolute;\n
+\ttop: 0;\n
+\tleft: 0;\n
+}\n
+\n
+#svg_editor #svgcanvas {\n
+\tline-height: normal;\n
+\tdisplay: inline-block;\n
+\tbackground-color: #A0A0A0;\n
+\ttext-align: center;\n
+\tvertical-align: middle;\n
+\twidth: 640px;\n
+\theight: 480px;\n
+\t-apple-dashboard-region:dashboard-region(control rectangle 0px 0px 0px 0px); /* for widget regions that shouldn\'t react to dragging */\n
+\tposition: relative;\n
+\t/* \n
+\t  A subtle gradient effect in the canvas.\n
+\t  Just experimenting - not sure if this is worth it.\n
+\t*/\n
+\tbackground: -moz-radial-gradient(45deg,#bbb,#222);\n
+\tbackground: -webkit-gradient(radial, center center, 3, center center, 1000, from(#bbb), to(#222));\n
+}\n
+\n
+#svg_editor div#palette_holder {\n
+\toverflow-x: scroll;\n
+\toverflow-y: hidden;\n
+\theight: 31px;\n
+\tborder: 1px solid #808080;\n
+\tborder-top: none;\n
+\tmargin-top: 2px;\n
+\tmargin-left: 4px;\n
+\tposition: relative;\n
+\tz-index: 2;\n
+}\n
+\n
+#svg_editor #stroke_bg, \n
+#svg_editor #fill_bg {\n
+\theight: 16px;\n
+\twidth: 16px;\n
+\tmargin: 1px;\n
+}\n
+\n
+#svg_editor #fill_color, #svg_editor #stroke_color {\n
+\theight: 16px;\n
+\twidth: 16px;\n
+\tborder: 1px solid #808080;\n
+\tcursor: pointer;\n
+\tmargin-top: -18px;\n
+\tmargin-left: 1px;\n
+}\n
+\n
+#tool_stroke select {\n
+\tmargin-top: 0;\n
+}\n
+\n
+#svg_editor #color_tools .icon_label {\n
+\tpadding: 3px 19%;\n
+\twidth: 28px;\n
+\theight: 100%;\n
+\tcursor: pointer;\n
+\t\n
+}\n
+\n
+#svg_editor #group_opacityLabel, \n
+#svg_editor #zoomLabel {\n
+\tcursor: pointer;\n
+\tmargin-right: 5px;\n
+\tpadding-top: 4px\n
+}\n
+\n
+#color_tools .icon_label > * {\n
+\tposition: relative;\n
+\ttop: 1px;\n
+}\n
+\n
+#svg_editor div#palette {\n
+\tfloat: left;\n
+\twidth: 672px;\n
+\theight: 16px;\n
+}\n
+\n
+#svg_editor div#workarea {\n
+\tdisplay: inline-table-cell;\n
+\tposition:absolute;\n
+\ttop: 75px;\n
+\tleft: 40px;\n
+\tbottom: 62px;\n
+\tright: 14px;\n
+\tbackground-color: #A0A0A0;\n
+\tborder: 1px solid #808080;\n
+\toverflow: auto;\n
+\ttext-align: center;\n
+}\n
+\n
+#svg_editor #sidepanels {\n
+\tdisplay: inline-block;\n
+\tposition:absolute;\n
+\ttop: 75px;\n
+\tbottom: 60px;\n
+\tright: 0px;\n
+\twidth: 2px;\n
+\tpadding: 10px;\n
+\tborder-color: #808080;\n
+\tborder-style: solid;\n
+\tborder-width: 1px;\n
+\tborder-left: none;\n
+}\n
+\n
+#svg_editor #layerpanel {\n
+\tdisplay: inline-block;\n
+\tposition:absolute;\n
+\ttop: 1px;\n
+\tbottom: 0px;\n
+\tright: 0px;\n
+\twidth: 0px;\n
+\toverflow: auto;\n
+\tmargin: 0px;\n
+\t-moz-user-select: none;\n
+\t-webkit-user-select: none;\n
+\n
+}\n
+\n
+/*\n
+\tborder-style: solid;\n
+\tborder-color: #666;\n
+\tborder-width: 0px 0px 0px 1px;\t\n
+*/\n
+#svg_editor #sidepanel_handle {\n
+\tdisplay: inline-block;\n
+\tposition: absolute;\n
+\tbackground-color: #D8D8D8;\n
+\tfont-weight: bold;\n
+\tleft: 0px;\n
+\ttop: 40%;\n
+\twidth: 1em;\n
+\tpadding: 5px 1px 5px 5px;\n
+\tmargin-left: 3px;\n
+\tcursor: pointer;\n
+\tborder-radius: 5px;\n
+\t-moz-border-radius: 5px;\n
+\t-webkit-border-radius: 5px;\n
+\t-moz-user-select: none;\n
+\t-webkit-user-select: none;\n
+}\n
+\n
+#svg_editor #sidepanel_handle:hover {\n
+\tfont-weight: bold;\n
+}\n
+\n
+#svg_editor #sidepanel_handle * {\n
+\tcursor: pointer;\n
+\t-moz-user-select: none;\n
+\t-webkit-user-select: none;\n
+}\n
+#svg_editor #layerbuttons {\n
+\tmargin: 0px;\n
+\tpadding: 0px;\n
+\tpadding-left: 2px;\n
+\tpadding-right: 2px;\n
+\twidth: 106px;\n
+\theight: 20px;\n
+\tborder-right: 1px solid #FFFFFF;\n
+\tborder-bottom: 1px solid #FFFFFF;\n
+\tborder-left: 1px solid #808080;\n
+\tborder-top: 1px solid #808080;\n
+\toverflow: auto;\n
+}\n
+\n
+#svg_editor .layer_button {\n
+\twidth: 14px;\n
+\theight: 14px;\n
+\tpadding: 1px;\n
+\tborder-left: 1px solid #FFFFFF;\n
+\tborder-top: 1px solid #FFFFFF;\n
+\tborder-right: 1px solid #808080;\n
+\tborder-bottom: 1px solid #808080;\n
+\tcursor: pointer;\n
+\tfloat: left;\n
+\tmargin-right: 3px;\n
+}\n
+\n
+#svg_editor .layer_buttonpressed {\n
+\twidth: 14px;\n
+\theight: 14px;\n
+\tpadding: 1px;\n
+\tborder-right: 1px solid #FFFFFF;\n
+\tborder-bottom: 1px solid #FFFFFF;\n
+\tborder-left: 1px solid #808080;\n
+\tborder-top: 1px solid #808080;\n
+\tcursor: pointer;\n
+}\n
+\n
+#svg_editor #layerlist {\n
+\tmargin: 1px;\n
+\tpadding: 0px;\n
+\twidth: 110px;\n
+\tborder-collapse: collapse;\t\n
+\tborder: 1px solid #808080;\n
+\tbackground-color: #FFFFFF;\n
+}\n
+\n
+#svg_editor #layerlist tr.layer {\n
+\tbackground-color: #FFFFFF;\n
+\tmargin: 0px;\n
+\tpadding: 0px;\n
+}\n
+#svg_editor #layerlist tr.layersel {\n
+\tborder: 1px solid #808080;\n
+\tbackground-color: #CCCCCC;\n
+}\n
+\n
+#svg_editor #layerlist td.layervis {\n
+\twidth: 22px;\n
+\tcursor:pointer;\n
+}\n
+#svg_editor #layerlist td.layerinvis {\n
+\tbackground-image: none;\n
+\tcursor:pointer;\n
+}\n
+\n
+#svg_editor #layerlist td.layervis * {\n
+\tdisplay: block;\n
+}\n
+\n
+#svg_editor #layerlist td.layerinvis * {\n
+\tdisplay: none;\n
+}\n
+\n
+#svg_editor #layerlist td.layername {\n
+\tcursor: pointer;\n
+}\n
+\n
+#svg_editor #layerlist tr.layersel td.layername {\n
+\tfont-weight: bold;\n
+}\n
+\n
+#svg_editor #selLayerLabel {\n
+\twhite-space: nowrap;\n
+}\n
+\n
+#svg_editor #selLayerNames {\n
+\tdisplay: block;\n
+}\n
+\n
+#svg_editor div.palette_item {\n
+\theight: 16px;\n
+\twidth: 16px;\n
+\tfloat: left;\n
+}\n
+\n
+#svg_editor #main_button {\n
+\tposition: absolute;\n
+\ttop: 4px;\n
+\tleft: 4px;\n
+}\n
+\n
+\n
+#svg_editor #main_icon {\n
+\tbackground: #E8E8E8;\n
+\tposition: relative;\n
+\ttop: -2px;\n
+\tleft: -2px;\n
+\tpadding: 1px 0 2px 1px;\n
+\twidth: 44px;\n
+\theight: 30px;\n
+\tborder-left: 1px solid #FFF;\n
+\tborder-top: 1px solid #FFF;\n
+\tborder-right: 1px solid #808080;\n
+\tborder-bottom: 1px solid #808080;\n
+\tborder-radius: 8px;\n
+\t-moz-border-radius: 8px;\n
+\t-webkit-border-radius: 8px;\n
+}\n
+\n
+#svg_editor .tool_button:hover, \n
+#svg_editor .push_button:hover,\n
+#svg_editor .buttonup:hover,\n
+#svg_editor .buttondown,\n
+#svg_editor .tool_button_current,\n
+#svg_editor .push_button_pressed\n
+{\n
+\tborder-left: 1px #fcd9ba solid !important;\n
+\tborder-top: 1px #fcd9ba solid !important;\n
+\tborder-right: 1px #e0a874 solid !important;\n
+\tborder-bottom: 1px #e0a874 solid !important;\n
+\tbackground-color: #FFC !important;\n
+}\n
+\n
+#svg_editor .tool_button_current,\n
+#svg_editor .push_button_pressed,\n
+#svg_editor .buttondown { \n
+\tbackground-color: #f4e284 !important;\n
+\tborder-top: 1px solid #630 !important;\n
+\tborder-left: 1px solid #630 !important;\n
+}\n
+\n
+#svg_editor #main_icon span {\n
+\tposition: absolute;\n
+\twidth: 100%;\n
+\theight: 100%;\n
+\tdisplay: block;\n
+\tz-index: 2;\n
+}\n
+\n
+#svg_editor #main_menu {\n
+\tz-index: 12;\n
+\tbackground: #E8E8E8;\n
+\tposition: relative;\n
+\twidth: 200px;\n
+\tpadding: 5px;\n
+\t-moz-box-shadow: #555 1px 1px 4px;\n
+\t-webkit-box-shadow: #555 1px 1px 4px;\n
+\tfont-size: 1.1em;\n
+\tdisplay: none;\n
+\toverflow: hidden;\n
+\tborder: 1px outset gray;\n
+\tclear: both;\n
+}\n
+\n
+#svg_editor #main_menu ul,\n
+#svg_editor #main_menu li {\n
+\tlist-style: none;\n
+\tmargin: 0;\n
+\tpadding: 0;\n
+}\n
+\n
+#svg_editor #main_menu li {\n
+/*\theight: 35px;*/\n
+\tline-height: 22px;\n
+\tpadding-top: 7px;\n
+\tpadding-left: 7px;\n
+\tmargin: -5px;\n
+\toverflow: auto;\n
+\tcursor: default;\n
+}\n
+\n
+#svg_editor #main_menu li:hover {\n
+\tbackground: #FFC;\n
+}\n
+\n
+#svg_editor #main_menu li > div {\n
+\tfloat: left;\n
+\tpadding-right: 5px;\n
+}\n
+\n
+#svg_editor #main_menu p {\n
+\tmargin-top: 5px;\n
+}\n
+\n
+#svg_editor #logo img {\n
+\tborder: 0;\n
+\twidth: 32px;\n
+\theight: 32px;\n
+}\n
+\n
+\n
+\n
+#main_icon > div {\n
+\tfloat: left;\n
+}\n
+\n
+#svg_editor #main_button .dropdown {\n
+\tpadding-top: 28%;\n
+\tmargin-left: -1px;\n
+}\n
+\n
+\n
+\n
+#svg_editor #tools_top {\n
+\tposition: absolute;\n
+\tleft: 50px;\n
+\tright: 2px;\n
+\ttop: 2px;\n
+\theight: 72px;\n
+\tborder-bottom: none;\n
+\t/* Ideally this should be auto (makes scrollbar if needed), but currently hides \n
+\tthe .dropdown lists.\n
+/*\toverflow: auto;*/\n
+}\n
+\n
+#svg_editor #tools_left {\n
+\tposition: absolute;\n
+\tborder-right: none;\n
+\twidth: 32px;\n
+\ttop: 75px;\n
+\tleft: 0;\n
+\tpadding-left: 2px;\n
+\tbackground: #D8D8D8; /* Needed so flyout icons don\'t appear on the left */\n
+\tz-index: 4;\n
+}\n
+\n
+#workarea.wireframe #svgcontent * {\n
+\tfill: none;\n
+\tstroke: #000;\n
+\tstroke-width: 1px;\n
+\tstroke-opacity: 1.0;\n
+\tstroke-dasharray: 0;\n
+\topacity: 1;\n
+\tpointer-events: stroke;\n
+\tvector-effect: non-scaling-stroke;\n
+\tfilter: none;\n
+}\n
+\n
+#workarea.wireframe #svgcontent text {\n
+\tfill: #000;\n
+\tstroke: none;\n
+}\n
+\n
+#workarea.wireframe #canvasBackground rect {\n
+\tfill: #FFF !important;\n
+}\n
+\n
+#svg_editor #selected_panel,\n
+#svg_editor #multiselected_panel,\n
+#svg_editor #g_panel,\n
+#svg_editor #rect_panel,\n
+#svg_editor #circle_panel,\n
+#svg_editor #ellipse_panel,\n
+#svg_editor #line_panel,\n
+#svg_editor #image_panel,\n
+#svg_editor #text_panel,\n
+#svg_editor #path_node_panel {\n
+\tdisplay: none;\n
+}\n
+\n
+#svg_editor #multiselected_panel .selected_tool {\n
+\tvertical-align: 12px;\n
+}\n
+\n
+#svg_editor #tools_top > div, #tools_top {\n
+\tline-height: 26px;\n
+}\n
+\n
+#svg_editor div.toolset,\n
+#svg_editor div.toolset > * {\n
+\tfloat: left;\n
+}\n
+\n
+#svg_editor div.toolset {\n
+\theight: 34px;\n
+}\n
+\n
+\n
+#tools_top > div > * {\n
+\tfloat: left;\n
+\tmargin-right: 2px;\n
+}\n
+\n
+#tools_top label {\n
+\tmargin-top: 0;\n
+\tmargin-left: 5px;\n
+}\n
+\n
+#tools_top input {\n
+\tmargin-top: 5px;\n
+\theight: 15px;\n
+}\n
+\n
+#svg_editor #tools_left .tool_button,\n
+#svg_editor #tools_left .tool_button_current {\n
+\tposition: relative;\n
+\tz-index: 11;\n
+}\n
+\n
+#svg_editor .flyout_arrow_horiz {\n
+\tposition: absolute;\n
+\tbottom: -1px;\n
+\tright: 0;\n
+\tz-index: 10;\n
+}\n
+\n
+\n
+span.zoom_tool {\n
+\tline-height: 26px;\n
+\tpadding: 3px;\n
+}\n
+\n
+#zoom_panel {\n
+\tmargin-top: 5px;\n
+}\n
+\n
+.dropdown {\n
+\tposition: relative;\n
+}\n
+\n
+#svg_editor .dropdown button {\n
+\twidth: 15px;\n
+\theight: 21px;\n
+\tmargin: 6px 0 0 1px;\n
+\tpadding: 0;\n
+\tborder-left: 1px solid #FFFFFF;\n
+\tborder-top: 1px solid #FFFFFF;\n
+\tborder-right: 1px solid #808080;\n
+\tborder-bottom: 1px solid #808080;\n
+\tbackground-color: #E8E8E8;\n
+}\n
+\n
+.dropdown button.down {\n
+\tborder-left: 1px solid #808080;\n
+\tborder-top: 1px solid #808080;\n
+\tborder-right: 1px solid #FFFFFF;\n
+\tborder-bottom: 1px solid #FFFFFF;\n
+\tbackground-color: #B0B0B0;\n
+}\n
+\n
+.dropdown ul {\n
+\tlist-style: none;\n
+\tposition: absolute;\n
+\tmargin: 0;\n
+\tpadding: 0;\n
+\tleft: -80px;\n
+\ttop: 26px;\n
+\tz-index: 4;\n
+\tdisplay: none;\n
+}\n
+\n
+.dropup ul {\n
+\ttop: auto;\n
+\tbottom: 26px;\n
+}\n
+\n
+.dropdown li {\n
+\tdisplay: block;\n
+\twidth: 120px;\n
+\tpadding: 4px;\n
+\tbackground: #E8E8E8;\n
+\tborder: 1px solid #B0B0B0;\n
+\tmargin: 0 0 -1px 0;\n
+\tline-height: 16px;\n
+}\n
+\n
+.dropdown li:hover {\n
+\tbackground-color: #FFC;\n
+}\n
+\n
+.dropdown li.special {\n
+\tpadding: 10px 4px; \n
+}\n
+\n
+.dropdown li.special:hover {\n
+\tbackground: #FFC;\n
+}\n
+\n
+#font_family_dropdown li {\n
+\tfont-size: 1.4em;\n
+}\n
+\n
+#font_family {\n
+\tmargin-left: 5px;\n
+\tmargin-right: 0;\n
+}\n
+\n
+\n
+#svg_editor .tool_button, \n
+#svg_editor .push_button,\n
+#svg_editor .tool_button_current,\n
+#svg_editor .push_button_pressed \n
+{\n
+\theight: 24px;\n
+\twidth: 24px;\n
+\tmargin: 2px;\n
+\tpadding: 2px;\n
+\tborder-left: 1px solid #FFF;\n
+\tborder-top: 1px solid #FFF;\n
+\tborder-right: 1px solid #808080;\n
+\tborder-bottom: 1px solid #808080;\n
+\tbackground-color: #E8E8E8;\n
+\tcursor: pointer;\n
+\tborder-radius: 5px;\n
+\t-moz-border-radius: 5px;\n
+\t-webkit-border-radius: 5px;\n
+}\n
+\n
+#svg_editor #main_menu li#tool_open, #svg_editor #main_menu li#tool_import {\n
+\tposition: relative;\n
+\toverflow: hidden;\n
+}\n
+\n
+#tool_open input, #tool_import input {\n
+\t-moz-transform: scale(4,2); /* Not entirely necessary, but keeps it nice and big for OS X*/\n
+\theight: 100%;\n
+\tposition: absolute;\n
+\topacity: 0;\n
+\ttop: -3px;\n
+\tright: 270px;\n
+\tmargin: 0;\n
+\tcursor: pointer; /* Sadly doesn\'t appear to have an effect */\n
+}\n
+\n
+#svg_editor .disabled {\n
+\topacity: 0.5;\n
+\tcursor: default;\n
+}\n
+\n
+#svg_editor .tool_sep {\n
+\twidth: 1px;\n
+\tbackground: #888;\n
+\tborder-left: 1px outset #EEE;\n
+\tmargin: 2px 3px;\n
+\tpadding: 0;\n
+\theight: 24px;\n
+\n
+}\n
+\n
+#svg_editor .icon_label {\n
+\tfloat: left;\n
+\tpadding-top: 3px;\n
+\tpadding-right: 3px;\n
+\tbox-sizing: border-box;\n
+\t-moz-box-sizing: border-box;\n
+\t-webkit-box-sizing: border-box;\n
+\theight: 0;\n
+}\n
+\n
+#svg_editor .width_label {\n
+\tpadding-right: 5px;\n
+}\n
+\n
+#tool_bold, #tool_italic { \n
+\tfont: bold 2.1em/1.1em serif;\n
+\ttext-align: center;\n
+\tpadding-left: 2px;\n
+\tposition: relative;\n
+}\n
+\n
+#text {\n
+\tposition: absolute;\n
+\tleft: -9999px;\n
+}\n
+\n
+#tool_bold span, #tool_italic span { \n
+\tposition: absolute;\n
+\twidth: 100%;\n
+\theight: 100%;\n
+\ttop: 0; left: 0;\n
+\tbackground: #000;\n
+\topacity: 0;\n
+}\n
+\n
+#tool_italic {\n
+\tfont-weight: normal;\n
+\tfont-style: italic;\n
+}\n
+\n
+#url_notice {\n
+\tpadding-top: 4px;\n
+\tdisplay: none;\n
+}\n
+\n
+#svg_editor #color_picker {\n
+\tposition: absolute;\n
+\tdisplay: none;\n
+\tbackground: #E8E8E8;\n
+\theight: 350px;\n
+\tz-index: 4;\n
+}\n
+\n
+#svg_editor .tools_flyout {\n
+\tposition: absolute;\n
+\tdisplay: none;\n
+\tcursor: pointer;\n
+\twidth: 400px;\n
+}\n
+\n
+#svg_editor .tools_flyout_v {\n
+\tposition: absolute;\n
+\tdisplay: none;\n
+\tcursor: pointer;\n
+\twidth: 30px;\n
+}\n
+\n
+#svg_editor .tools_flyout .tool_button {\n
+\tfloat: left;\n
+\tbackground-color: #E8E8E8;\n
+\tborder-left: 1px solid #FFFFFF;\n
+\tborder-top: 1px solid #FFFFFF;\n
+\tborder-right: 1px solid #808080;\n
+\tborder-bottom: 1px solid #808080;\n
+\theight: 28px;\n
+\twidth: 28px;\n
+}\n
+\n
+#svg_editor #tools_bottom {\n
+\tposition: absolute;\n
+\tleft: 40px;\n
+\tright: 0;\n
+\tbottom: 0;\n
+\theight: 64px;\n
+\toverflow: visible;\n
+}\n
+\n
+#svg_editor #tools_bottom_1 {\n
+\twidth: 115px;\n
+\tfloat: left;\n
+}\n
+\n
+#svg_editor #tools_bottom_2 {\n
+\twidth: 165px;\n
+\tposition: relative;\n
+\tfloat: left;\n
+}\n
+\n
+#tools_bottom input[type=text] {\n
+\twidth: 2.2em;\n
+}\n
+\n
+#svg_editor #color_tools {\n
+\tdisplay: table;\n
+\tmargin-top: 1px;\n
+\tborder-spacing: 0 3px;\n
+\tclip: rect(0,0,10px,0);\n
+}\n
+\n
+.color_tool {\n
+\tdisplay: table-row;\n
+\toverflow: hidden;\n
+\theight: 26px;\n
+\tpadding: 0 4px;\n
+}\n
+\n
+.color_tool > * {\n
+\tdisplay: table-cell;\n
+\tbackground: #f0f0f0;\n
+\tpadding: 0 5px 0 0;\n
+\tvertical-align: middle;\n
+/*\theight: 25px;*/\n
+}\n
+\n
+#toggle_stroke_tools {\n
+\tletter-spacing: -.2em;\n
+\tpadding-right: 8px;\n
+}\n
+\n
+#toggle_stroke_tools:hover {\n
+\tcursor: pointer;\n
+\tbackground: #FFC;\n
+}\n
+\n
+.stroke_tool {\n
+\tdisplay: none;\n
+\twhite-space: nowrap;\n
+}\n
+\n
+#svg_editor .stroke_tool button {\n
+\tmargin-top: 3px;\n
+\tbackground: #F0F0F0;\n
+}\n
+\n
+#svg_editor .stroke_tool div div {\n
+\t-moz-user-select: none;\n
+\t-webkit-user-select: none;\n
+\twidth: 20px;\n
+\theight: 20px;\n
+\tmargin: 1px 0;\n
+\tpadding: 1px;\n
+\tborder: 1px solid #DDD;\n
+}\n
+\n
+#svg_editor .stroke_tool:hover div > * {\n
+\tbackground-color: #FFC;\n
+}\n
+\n
+#svg_editor .stroke_tool.down div div,\n
+#svg_editor .stroke_tool.down button,\n
+#tools_top .dropdown.down > * {\n
+\tborder: 1px inset gray;\n
+\tbackground: #F4E284;\n
+}\n
+\n
+.stroke_tool > div {\n
+\twidth: 42px;\n
+}\n
+\n
+.stroke_tool > div > * {\n
+\tfloat: left;\n
+}\n
+\n
+\n
+#tools_top .dropdown .icon_label {\n
+\tborder: 1px solid transparent;\n
+\tmargin-top: 3px;\n
+\theight: auto;\n
+}\n
+\n
+#option_lists ul {\n
+\tdisplay: none;\n
+\tposition: absolute;\n
+\theight: auto;\n
+\tz-index: 3;\n
+\tmargin: 0;\n
+\tlist-style: none;\n
+\tpadding-left: 0;\n
+}\n
+\n
+#option_lists .optcols2 {\n
+\twidth: 70px;\n
+\tmargin-left: -15px;\n
+}\n
+\n
+#option_lists .optcols3 {\n
+\twidth: 90px;\n
+\tmargin-left: -31px;\n
+}\n
+\n
+#option_lists .optcols4 {\n
+\twidth: 130px;\n
+\tmargin-left: -44px;\n
+}\n
+\n
+#option_lists ul[class^=optcols] li {\n
+\tfloat: left;\n
+}\n
+\n
+#svg_editor ul li.current {\n
+\tbackground-color: #F4E284;\n
+}\n
+\n
+#svg_editor #option_lists ul li {\n
+\tmargin: 0;\n
+\tborder-radius: 0;\n
+\t-moz-border-radius: 0;\n
+\t-webkit-border-radius: 0;\n
+}\n
+\n
+.color_tool > *:first-child {\n
+\t-moz-border-radius-topleft: 4px;\n
+\t-moz-border-radius-bottomleft: 4px;\n
+\t-webkit-border-top-left-radius: 4px;\n
+\t-webkit-border-bottom-left-radius: 4px;\n
+\tpadding-right: 0;\n
+}\n
+\n
+.color_tool > *:last-child {\n
+\t-moz-border-radius-topright: 4px;\n
+\t-moz-border-radius-bottomright: 4px;\n
+\t-webkit-border-top-right-radius: 4px;\n
+\t-webkit-border-bottom-right-radius: 4px;\n
+}\n
+\n
+#svg_editor #tool_opacity {\n
+\tposition: absolute;\n
+\ttop: 4px;\n
+\tright: 2px;\n
+\tbackground: #f0f0f0;\n
+\theight: 26px;\n
+\tborder-radius: 4px;\n
+\t-moz-border-radius: 4px;\n
+\t-webkit-border-radius: 4px;\n
+\tpadding: 0 3px;\n
+}\n
+\n
+#tools_bottom .dropdown button {\n
+\tmargin-top: 2px;\n
+}\n
+\n
+#opacity_dropdown li {\n
+\twidth: 140px;\n
+}\n
+\n
+#svg_editor #copyright {\n
+\ttext-align: right;\n
+\tpadding-right: .3em;\n
+}\n
+\n
+#svg_source_editor {\n
+\tdisplay: none;\n
+}\n
+\n
+#svg_source_editor #svg_source_overlay {\n
+\tposition: absolute;\n
+\ttop: 0px;\n
+\tright: 0px;\n
+\tleft: 0px;\n
+\tbottom: 0px;\n
+\tbackground-color: black;\n
+\topacity: 0.6;\n
+\tz-index: 5;\n
+}\n
+\n
+#svg_source_editor #svg_source_container {\n
+\tposition: absolute;\n
+\ttop: 30px;\n
+\tleft: 30px;\n
+\tright: 30px;\n
+\tbottom: 30px;\n
+\tbackground-color: #B0B0B0;\n
+\topacity: 1.0;\n
+\ttext-align: center;\n
+\tborder: 1px outset #777;\n
+\tz-index: 6;\n
+}\n
+\n
+#bg_blocks {\n
+\toverflow: auto;\n
+\tmargin-left: 30px;\n
+}\n
+\n
+#svg_docprops #svg_docprops_container {\n
+\tposition: absolute;\n
+\ttop: 50px;\n
+\tpadding: 10px;\n
+\tbackground-color: #B0B0B0;\n
+\tborder: 1px outset #777;\n
+\topacity: 1.0;\n
+/*\twidth: 450px;*/\n
+\tfont-family: Verdana, Helvetica, sans-serif;\n
+\tfont-size: .8em;\n
+\tz-index: 20001;\n
+}\n
+\n
+#svg_docprops .error {\n
+\tborder: 1px solid red;\n
+\tpadding: 3px;\n
+}\n
+\n
+#svg_docprops #resolution {\n
+\tmax-width: 14em;\n
+}\n
+\n
+#tool_docprops_back {\n
+\tmargin-left: 1em;\n
+\toverflow: auto;\n
+}\n
+\n
+#svg_docprops_container #svg_docprops_docprops, \n
+#svg_docprops_container #svg_docprops_prefs {\n
+\tfloat: left;\n
+\twidth: 221px;\n
+\tmargin: 5px .7em; \n
+\toverflow: hidden;\n
+}\n
+\n
+#svg_docprops_container #svg_docprops_prefs {\n
+\tfloat: right;\n
+}\n
+\n
+#svg_docprops legend {\n
+\tmax-width: 195px;\n
+}\n
+\n
+#svg_docprops_docprops > legend, #svg_docprops_prefs > legend {\n
+\tfont-weight: bold;\n
+\tfont-size: 1.1em;\n
+}\n
+\n
+\n
+#svg_docprops_container fieldset {\n
+\tpadding: 5px;\n
+\tmargin: 5px;\n
+\tborder: 1px solid #DDD;\n
+}\n
+\n
+#svg_docprops_container label {\n
+\tdisplay: block;\n
+\tmargin: .5em;\n
+}\n
+\n
+#svginfo_bg_note {\n
+\tfont-size: .9em;\n
+\tfont-style: italic;\n
+\tcolor: #444;\n
+}\n
+\n
+#canvas_title {\n
+\tdisplay: block;\n
+}\n
+\n
+#svg_source_editor #svg_source_textarea {\n
+\tposition: relative;\n
+\twidth: 95%;\n
+\ttop: 5px;\n
+\theight: 250px;\n
+\tpadding: 5px;\n
+\tfont-size: 12px;\n
+}\n
+\n
+#svg_source_editor #tool_source_back {\n
+\ttext-align: left;\n
+\tpadding-left: 20px;\n
+}\n
+\n
+#svg_docprops_container div.color_block {\n
+\tfloat: left;\n
+\tmargin: 2px;\n
+\tpadding: 20px;\n
+}\n
+\n
+#change_background div.cur_background {\n
+\tborder: 2px solid blue;\n
+\tpadding: 18px;\n
+}\n
+\n
+#background_img {\n
+\tposition: absolute;\n
+\ttop: 0;\n
+\tleft: 0;\n
+\ttext-align: left;\n
+}\n
+\n
+#svg_docprops button {\n
+\tmargin-top: 0;\n
+\tmargin-bottom: 5px;\n
+}\n
+\n
+#svg_docprops {\n
+\tdisplay: none;\n
+}\n
+\n
+#image_save_opts label {\n
+\tfont-size: .9em;\n
+}\n
+\n
+#image_save_opts input {\n
+\tmargin-left: 0;\n
+}\n
+\n
+#svg_docprops #svg_docprops_overlay {\n
+\tposition: absolute;\n
+\ttop: 0px;\n
+\tright: 0px;\n
+\tleft: 0px;\n
+\tbottom: 0px;\n
+\tbackground-color: black;\n
+\topacity: 0.6;\n
+\tz-index: 20000;\n
+}\n
+\n
+.toolbar_button button {\n
+    border:1px solid #dedede;\n
+    line-height:130%;\n
+    float: left;\n
+\tbackground: #E8E8E8 none;\n
+    padding:5px 10px 5px 7px; /* Firefox */\n
+    line-height:17px; /* Safari */\n
+\tmargin: 5px 20px 0 0;\t\n
+\t\n
+\tborder: 1px #808080 solid;\n
+\tborder-top-color: #FFF;\n
+\tborder-left-color: #FFF;\n
+\n
+\tborder-radius: 5px;\n
+\t-moz-border-radius: 5px;\n
+\t-webkit-border-radius: 5px;\n
+}\n
+\n
+.toolbar_button button:hover {\n
+\tborder: 1px #e0a874 solid;\n
+\tborder-top-color: #fcd9ba;\n
+\tborder-left-color: #fcd9ba;\n
+\tbackground-color: #FFC;\n
+}\n
+.toolbar_button button:active {\n
+\tbackground-color: #F4E284;\n
+\tborder-left: 1px solid #663300;\n
+\tborder-top: 1px solid #663300;\n
+}\n
+\n
+.toolbar_button button .svg_icon {\n
+    margin:0 3px -3px 0 !important;\n
+    padding:0;\n
+    border:none;\n
+    width:16px;\n
+    height:16px;\n
+}\n
+\n
+#dialog_box {\n
+\tdisplay: none;\n
+}\n
+\n
+#dialog_box_overlay {\n
+\tbackground: black;\n
+\topacity: .5;\n
+\theight:100%;\n
+\tleft:0;\n
+\tposition:absolute;\n
+\ttop:0;\n
+\twidth:100%;\n
+\tz-index: 6;\n
+}\n
+\n
+#dialog_content {\n
+\theight: 95px;\n
+\tmargin: 10px 10px 5px 10px;\n
+\tbackground: #DDD;\n
+\toverflow: auto;\n
+\ttext-align: left;\n
+\tborder: 1px solid #B0B0B0;\n
+}\n
+\n
+#dialog_content.prompt {\n
+\theight: 75px;\n
+}\n
+\n
+#dialog_content p {\n
+\tmargin: 10px;\n
+\tline-height: 1.3em;\n
+}\n
+\n
+#dialog_container {\n
+\tposition: absolute;\n
+\tfont-family: Verdana;\n
+\ttext-align: center;\n
+\tleft: 50%;\n
+\ttop: 50%;\n
+\twidth: 300px;\n
+\tmargin-left: -150px;\n
+\theight: 150px;\n
+\tmargin-top: -80px;\n
+\tposition:fixed;\n
+\tz-index:50001;\n
+\tbackground: #CCC;\n
+\tborder: 1px outset #777;\n
+\tfont-family:Verdana,Helvetica,sans-serif;\n
+\tfont-size:0.8em;\n
+}\n
+\n
+#dialog_container, #dialog_content {\n
+\tborder-radius: 5px;\n
+\t-moz-border-radius: 5px;\n
+\t-webkit-border-radius: 5px;\n
+}\n
+\n
+#dialog_buttons input[type=text] {\n
+\twidth: 90%;\n
+\tdisplay: block;\n
+\tmargin: 0 0 5px 11px;\n
+}\n
+\n
+#dialog_buttons input[type=button] {\n
+\tmargin: 0 1em;\n
+}\n
+\n
+\n
+/* Slider\n
+----------------------------------*/\n
+.ui-slider { position: relative; text-align: left; }\n
+.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; }\n
+.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; }\n
+\n
+.ui-slider-horizontal { height: .8em; }\n
+.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; }\n
+.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; }\n
+.ui-slider-horizontal .ui-slider-range-min { left: 0; }\n
+.ui-slider-horizontal .ui-slider-range-max { right: 0; }\n
+\n
+.ui-slider-vertical { width: .8em; height: 100px; }\n
+.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; }\n
+.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; }\n
+.ui-slider-vertical .ui-slider-range-min { bottom: 0; }\n
+.ui-slider-vertical .ui-slider-range-max { top: 0; }\n
+\n
+.ui-slider {\n
+\tborder: 1px solid #B0B0B0;\n
+}\n
+\n
+.ui-slider-handle {\n
+\tbackground: #B0B0B0;\n
+\tborder: 1px solid #000;\n
+}\n
+\n
+/* Necessary to keep the flyouts sized properly */\n
+#svg_editor .tools_flyout .tool_button,\n
+#svg_editor .tools_flyout .tool_flyout {\n
+\tpadding: 2px;\n
+\twidth: 24px;\n
+\theight: 24px;\n
+\tmargin: 0;\n
+\tborder-radius: 0px;\n
+\t-moz-border-radius: 0px;\n
+\t-webkit-border-radius: 0px;\t\n
+}\n
+\n
+
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.html%7E.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.html%7E.xml
new file mode 100644
index 0000000000..9c08ae147b
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.html%7E.xml
@@ -0,0 +1,706 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<!DOCTYPE html>\n
+<html>\n
+<!-- removed for now, causes problems in Firefox: manifest="svg-editor.manifest" -->\n
+<head>\n
+<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />\n
+<meta http-equiv="X-UA-Compatible" content="chrome=1" />\n
+<link rel="icon" type="image/png" href="images/logo.png" />\n
+<link rel="stylesheet" href="jgraduate/css/jPicker-1.0.12.css" type="text/css" />\n
+<link rel="stylesheet" href="jgraduate/css/jgraduate.css" type="text/css" />\n
+<link rel="stylesheet" href="svg-editor.css" type="text/css" />\n
+<link rel="stylesheet" href="spinbtn/JQuerySpinBtn.css" type="text/css" />\n
+\n
+<!-- Release version of script tags: -->\n
+<script type="text/javascript" src="jquery.js"></script>\n
+<script type="text/javascript" src="js-hotkeys/jquery.hotkeys.min.js"></script>\n
+<script type="text/javascript" src="jgraduate/jquery.jgraduate.min.js"></script>\n
+<script type="text/javascript" src="svgicons/jquery.svgicons.min.js"></script>\n
+<script type="text/javascript" src="jquerybbq/jquery.bbq.min.js"></script>\n
+<script type="text/javascript" src="spinbtn/JQuerySpinBtn.min.js"></script>\n
+<script type="text/javascript" src="svgcanvas.min.js"></script>\n
+<script type="text/javascript" src="svg-editor.min.js"></script>\n
+<script type="text/javascript" src="locale/locale.min.js"></script>\n
+<!-- you can load extensions here -->\n
+<!-- <script type="text/javascript" src="extensions/ext-helloworld.js"></script> -->\n
+\n
+\n
+<!-- Development version of script tags: \n
+<script type="text/javascript" src="jquery.js"></script>\n
+<script type="text/javascript" src="js-hotkeys/jquery.hotkeys.min.js"></script>\n
+<script type="text/javascript" src="jgraduate/jquery.jgraduate.min.js"></script>\n
+<script type="text/javascript" src="svgicons/jquery.svgicons.min.js"></script>\n
+<script type="text/javascript" src="jquerybbq/jquery.bbq.min.js"></script>\n
+<script type="text/javascript" src="spinbtn/JQuerySpinBtn.js"></script>\n
+<script type="text/javascript" src="svgcanvas.js"></script>\n
+<script type="text/javascript" src="svg-editor.js"></script>\n
+<script type="text/javascript" src="locale/locale.js"></script>\n
+-->\n
+\n
+<!-- always minified scripts -->\n
+<script type="text/javascript" src="jquery-ui/jquery-ui-1.8.custom.min.js"></script>\n
+<script type="text/javascript" src="jgraduate/jpicker-1.0.12.min.js"></script>\n
+\n
+<!-- feeds -->\n
+<link rel="alternate" type="application/atom+xml" title="SVG-edit General Discussion" href="http://groups.google.com/group/svg-edit/feed/atom_v1_0_msgs.xml" />\n
+<link rel="alternate" type="application/atom+xml" title="SVG-edit Updates (Issues/Fixes/Commits)" href="http://code.google.com/feeds/p/svg-edit/updates/basic" />\n
+\n
+<!-- Add script with custom handlers here -->\n
+<title>SVG-edit</title>\n
+</head>\n
+<body>\n
+<div id="svg_editor">\n
+\n
+<div id="workarea">\n
+<style id="styleoverrides" type="text/css" media="screen" scoped="scoped"></style>\n
+<div id="svgcanvas"></div>\n
+</div>\n
+\n
+<div id="sidepanels">\n
+\t<div id="layerpanel">\n
+\t\t<h3 id="layersLabel">Layers</h3>\n
+\t\t<fieldset id="layerbuttons">\n
+\t\t\t<div id="layer_new" class="layer_button" title="New Layer"></div>\n
+\t\t\t<div id="layer_delete" class="layer_button" title="Delete Layer"></div>\n
+\t\t\t<div id="layer_rename" class="layer_button" title="Rename Layer"></div>\n
+\t\t\t<div id="layer_up" class="layer_button" title="Move Layer Up"></div>\n
+\t\t\t<div id="layer_down" class="layer_button" title="Move Layer Down"></div>\n
+\t\t</fieldset>\n
+\t\t\n
+\t\t<table id="layerlist">\n
+\t\t\t<tr class="layer">\n
+\t\t\t\t<td class="layervis"></td>\n
+\t\t\t\t<td class="layername">Layer 1</td>\n
+\t\t\t</tr>\n
+\t\t</table>\n
+\t\t<span id="selLayerLabel">Move elements to:</span>\n
+\t\t<select id="selLayerNames" title="Move selected elements to a different layer" disabled="disabled">\n
+\t\t\t<option selected="selected" value="layer1">Layer 1</option>\n
+\t\t</select>\n
+\t</div>\n
+\t<div id="sidepanel_handle" title="Drag left/right to resize side panel [X]">L a y e r s</div>\n
+</div>\n
+\n
+<div id="main_button">\n
+\t<div id="main_icon" class="buttonup" title="Main Menu">\n
+\t\t<span></span>\n
+\t\t<div id="logo"></div>\n
+\t\t<div class="dropdown"></div>\n
+\t</div>\n
+\t\t\n
+\t<div id="main_menu"> \n
+\t\n
+\t\t<!-- File-like buttons: New, Save, Source -->\n
+\t\t<ul>\n
+\t\t\t<li id="tool_clear">\n
+\t\t\t\t<div></div>\n
+\t\t\t\tNew Image [N]\n
+\t\t\t</li>\n
+\t\t\t\n
+\t\t\t<li id="tool_open" style="display:none;">\n
+\t\t\t\t<div id="fileinputs">\n
+\t\t\t\t\t<div></div>\n
+\t\t\t\t</div>\n
+\t\t\t\tOpen Image [O]\n
+\t\t\t</li>\n
+\t\t\t\n
+\t\t\t<li id="tool_import" style="display:none;">\n
+\t\t\t\t<div id="fileinputs_import">\n
+\t\t\t\t\t<div></div>\n
+\t\t\t\t</div>\n
+\t\t\t\tImport SVG\n
+\t\t\t</li>\n
+\t\t\t\n
+\t\t\t<li id="tool_save">\n
+\t\t\t\t<div></div>\n
+\t\t\t\tSave Image [S]\n
+\t\t\t</li>\n
+\t\t\t\n
+\t\t\t<li id="tool_export">\n
+\t\t\t\t<div></div>\n
+\t\t\t\tExport as PNG\n
+\t\t\t</li>\n
+\t\t\t\n
+\t\t\t<li id="tool_docprops">\n
+\t\t\t\t<div></div>\n
+\t\t\t\tDocument Properties [I]\n
+\t\t\t</li>\n
+\t\t</ul>\n
+\t\t\n
+\t\t<p>\n
+\t\t\t<a href="http://svg-edit.googlecode.com/" target="_blank">\n
+\t\t\t\tSVG-edit Home Page\n
+\t\t\t</a>\n
+\t\t</p>\n
+\n
+\t</div>\n
+</div>\n
+\n
+\n
+\n
+<div id="tools_top" class="tools_panel">\n
+\t\n
+\t<div id="editor_panel">\n
+\t\t<div class="push_button" id="tool_source" title="Edit Source [U]"></div>\n
+\t\t<div class="tool_button" id="tool_wireframe" title="Wireframe Mode [F]"></div>\n
+\t</div>\n
+\n
+    <!-- History buttons -->\n
+\t<div id="history_panel">\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<div class="push_button tool_button_disabled" id="tool_undo" title="Undo [Z]"></div>\n
+\t\t<div class="push_button tool_button_disabled" id="tool_redo" title="Redo [Y]"></div>\n
+\t</div>\n
+\t\n
+\t<!-- Buttons when a single element is selected -->\n
+\t<div id="selected_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<div class="tool_sep"></div>\n
+\t\t\t<div class="push_button" id="tool_clone" title="Clone Element [C]"></div>\n
+\t\t\t<div class="push_button" id="tool_delete" title="Delete Element [Delete/Backspace]"></div>\n
+\t\t\t<div class="tool_sep"></div>\n
+\t\t\t<div class="push_button" id="tool_move_top" title="Move to Top [Shift+Up]"></div>\n
+\t\t\t<div class="push_button" id="tool_move_bottom" title="Move to Bottom [Shift+Down]"></div>\n
+\t\t\t<div class="push_button" id="tool_topath" title="Convert to Path"></div>\n
+\t\t\t<div class="push_button" id="tool_reorient" title="Reorient path"></div>\n
+\t\t\t<div class="tool_sep"></div>\n
+\t\t\t<label id="idLabel" title="Identify the element">\n
+\t\t\t\t<span>id:</span>\n
+\t\t\t\t<input id="elem_id" class="attr_changer" data-attr="id" size="10" type="text" />\n
+\t\t\t</label>\n
+\t\t</div>\n
+\n
+\t\t<label id="tool_angle" title="Change rotation angle">\n
+\t\t\t<span id="angleLabel" class="icon_label"></span>\n
+\t\t\t<input id="angle" size="2" value="0" type="text" />\n
+\t\t</label>\n
+\t\t\n
+\t\t<div class="toolset" id="tool_blur" title="Change gaussian blur value">\n
+\t\t\t<label>\n
+\t\t\t\t<span id="blurLabel" class="icon_label"></span>\n
+\t\t\t\t<input id="blur" size="2" value="0" type="text" />\n
+\t\t\t</label>\n
+\t\t\t<div id="blur_dropdown" class="dropdown">\n
+\t\t\t\t<button></button>\n
+\t\t\t\t<ul>\n
+\t\t\t\t\t<li class="special"><div id="blur_slider"></div></li>\n
+\t\t\t\t</ul>\n
+\t\t\t</div>\n
+\t\t</div>\n
+\t\t\n
+\t\t<div class="dropdown toolset" id="tool_position" title="Align Element to Page">\n
+\t\t\t\t<div id="cur_position" class="icon_label"></div>\n
+\t\t\t\t<button></button>\n
+\t\t</div>\t\t\n
+\n
+\t\t<div id="xy_panel" class="toolset">\n
+\t\t\t<label>\n
+\t\t\t\tx: <input id="selected_x" class="attr_changer" title="Change X coordinate" size="3" data-attr="x" />\n
+\t\t\t</label>\n
+\t\t\t<label>\n
+\t\t\t\ty: <input id="selected_y" class="attr_changer" title="Change Y coordinate" size="3" data-attr="y" />\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t</div>\n
+\n
+\t<!-- Buttons when multiple elements are selected -->\n
+\t<div id="multiselected_panel">\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<div class="push_button" id="tool_clone_multi" title="Clone Elements [C]"></div>\n
+\t\t<div class="push_button" id="tool_delete_multi" title="Delete Selected Elements [Delete/Backspace]"></div>\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<div class="push_button" id="tool_group" title="Group Elements [G]"></div>\n
+\t\t<div class="push_button" id="tool_alignleft" title="Align Left"></div>\n
+\t\t<div class="push_button" id="tool_aligncenter" title="Align Center"></div>\n
+\t\t<div class="push_button" id="tool_alignright" title="Align Right"></div>\n
+\t\t<div class="push_button" id="tool_aligntop" title="Align Top"></div>\n
+\t\t<div class="push_button" id="tool_alignmiddle" title="Align Middle"></div>\n
+\t\t<div class="push_button" id="tool_alignbottom" title="Align Bottom"></div>\n
+\t\t<label id="tool_align_relative"> \n
+\t\t\t<span id="relativeToLabel">relative to:</span>\n
+\t\t\t<select id="align_relative_to" title="Align relative to ...">\n
+\t\t\t<option id="selected_objects" value="selected">selected objects</option>\n
+\t\t\t<option id="largest_object" value="largest">largest object</option>\n
+\t\t\t<option id="smallest_object" value="smallest">smallest object</option>\n
+\t\t\t<option id="page" value="page">page</option>\n
+\t\t\t</select>\n
+\t\t</label>\n
+\t\t<div class="tool_sep"></div>\n
+\n
+\t</div>\n
+\n
+\t<div id="g_panel">\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<div class="push_button" id="tool_ungroup" title="Ungroup Elements [G]"></div>\n
+\t</div>\n
+\n
+\t<div id="rect_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="rect_width_tool" title="Change rectangle width">\n
+\t\t\t\t<span id="rwidthLabel" class="icon_label"></span>\n
+\t\t\t\t<input id="rect_width" class="attr_changer" size="3" data-attr="width" />\n
+\t\t\t</label>\n
+\t\t\t<label id="rect_height_tool" title="Change rectangle height">\n
+\t\t\t\t<span id="rheightLabel" class="icon_label"></span>\n
+\t\t\t\t<input id="rect_height" class="attr_changer" size="3" data-attr="height" />\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t\t<label id="cornerRadiusLabel" title="Change Rectangle Corner Radius">\n
+\t\t\t<span class="icon_label"></span>\n
+\t\t\t<input id="rect_rx" size="3" value="0" type="text" data-attr="Corner Radius" />\n
+\t\t</label>\n
+\t</div>\n
+\n
+\t<div id="image_panel">\n
+\t<div class="toolset">\n
+\t\t<label><span id="iwidthLabel" class="icon_label"></span>\n
+\t\t<input id="image_width" class="attr_changer" title="Change image width" size="3" data-attr="width" />\n
+\t\t</label>\n
+\t\t<label><span id="iheightLabel" class="icon_label"></span>\n
+\t\t<input id="image_height" class="attr_changer" title="Change image height" size="3" data-attr="height" />\n
+\t\t</label>\n
+\t</div>\n
+\t<div class="toolset">\n
+\t\t<label id="tool_image_url">url:\n
+\t\t\t<input id="image_url" type="text" title="Change URL" size="35" />\n
+\t\t</label>\n
+\t\t<label id="tool_change_image">\n
+\t\t\t<button id="change_image_url" style="display:none;">Change Image</button>\n
+\t\t\t<span id="url_notice" title="NOTE: This image cannot be embedded. It will depend on this path to be displayed"></span>\n
+\t\t</label>\n
+\t</div>\n
+  </div>\n
+\n
+\t<div id="circle_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_circle_cx">cx:\n
+\t\t\t<input id="circle_cx" class="attr_changer" title="Change circle\'s cx coordinate" size="3" data-attr="cx" />\n
+\t\t\t</label>\n
+\t\t\t<label id="tool_circle_cy">cy:\n
+\t\t\t<input id="circle_cy" class="attr_changer" title="Change circle\'s cy coordinate" size="3" data-attr="cy" />\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_circle_r">r:\n
+\t\t\t<input id="circle_r" class="attr_changer" title="Change circle\'s radius" size="3" data-attr="r" />\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t</div>\n
+\n
+\t<div id="ellipse_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_ellipse_cx">cx:\n
+\t\t\t<input id="ellipse_cx" class="attr_changer" title="Change ellipse\'s cx coordinate" size="3" data-attr="cx" />\n
+\t\t\t</label>\n
+\t\t\t<label id="tool_ellipse_cy">cy:\n
+\t\t\t<input id="ellipse_cy" class="attr_changer" title="Change ellipse\'s cy coordinate" size="3" data-attr="cy" />\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_ellipse_rx">rx:\n
+\t\t\t<input id="ellipse_rx" class="attr_changer" title="Change ellipse\'s x radius" size="3" data-attr="rx" />\n
+\t\t\t</label>\n
+\t\t\t<label id="tool_ellipse_ry">ry:\n
+\t\t\t<input id="ellipse_ry" class="attr_changer" title="Change ellipse\'s y radius" size="3" data-attr="ry" />\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t</div>\n
+\n
+\t<div id="line_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_line_x1">x1:\n
+\t\t\t<input id="line_x1" class="attr_changer" title="Change line\'s starting x coordinate" size="3" data-attr="x1" />\n
+\t\t\t</label>\n
+\t\t\t<label id="tool_line_y1">y1:\n
+\t\t\t<input id="line_y1" class="attr_changer" title="Change line\'s starting y coordinate" size="3" data-attr="y1" />\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_line_x2">x2:\n
+\t\t\t<input id="line_x2" class="attr_changer" title="Change line\'s ending x coordinate" size="3" data-attr="x2" />\n
+\t\t\t</label>\n
+\t\t\t<label id="tool_line_y2">y2:\n
+\t\t\t<input id="line_y2" class="attr_changer" title="Change line\'s ending y coordinate" size="3" data-attr="y2" />\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t</div>\n
+\n
+\t<div id="text_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<div class="tool_button" id="tool_bold" title="Bold Text [B]"><span></span>B</div>\n
+\t\t\t<div class="tool_button" id="tool_italic" title="Italic Text [I]"><span></span>i</div>\n
+\t\t</div>\n
+\t\t\n
+\t\t<div class="toolset" id="tool_font_family">\n
+\t\t\t<label>\n
+\t\t\t\t<!-- Font family -->\n
+\t\t\t\t<input id="font_family" type="text" title="Change Font Family" size="12" />\n
+\t\t\t</label>\n
+\t\t\t<div id="font_family_dropdown" class="dropdown">\n
+\t\t\t\t<button></button>\n
+\t\t\t\t<ul>\n
+\t\t\t\t\t<li style="font-family:serif">Serif</li>\n
+\t\t\t\t\t<li style="font-family:sans-serif">Sans-serif</li>\n
+\t\t\t\t\t<li style="font-family:cursive">Cursive</li>\n
+\t\t\t\t\t<li style="font-family:fantasy">Fantasy</li>\n
+\t\t\t\t\t<li style="font-family:monospace">Monospace</li>\n
+\t\t\t\t</ul>\n
+\t\t\t</div>\n
+\t\t</div>\n
+\n
+\t\t<label id="tool_font_size" title="Change Font Size">\n
+\t\t\t<span id="font_sizeLabel" class="icon_label"></span>\n
+\t\t\t<input id="font_size" size="3" value="0" type="text" />\n
+\t\t</label>\n
+\t\t\n
+\t\t<!-- Not visible, but still used -->\n
+\t\t<input id="text" type="text" size="35" />\n
+\t</div>\n
+\t\n
+\t<div id="path_node_panel">\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<div class="tool_button" id="tool_node_link" title="Link Control Points"></div>\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<label id="tool_node_x">x:\n
+\t\t\t<input id="path_node_x" class="attr_changer" title="Change node\'s x coordinate" size="3" data-attr="x" />\n
+\t\t</label>\n
+\t\t<label id="tool_node_y">y:\n
+\t\t\t<input id="path_node_y" class="attr_changer" title="Change node\'s y coordinate" size="3" data-attr="y" />\n
+\t\t</label>\n
+\t\t\n
+\t\t<select id="seg_type" title="Change Segment type">\n
+\t\t\t<option id="straight_segments" selected="selected" value="4">Straight</option>\n
+\t\t\t<option id="curve_segments" value="6">Curve</option>\n
+\t\t</select>\n
+\t\t<div class="tool_button" id="tool_node_clone" title="Clone Node"></div>\n
+\t\t<div class="tool_button" id="tool_node_delete" title="Delete Node"></div>\n
+\t\t<div class="tool_button" id="tool_openclose_path" title="Open/close sub-path"></div>\n
+\t\t<div class="tool_button" id="tool_add_subpath" title="Add sub-path"></div>\n
+\t</div>\n
+\t\n
+</div> <!-- tools_top -->\n
+\n
+<div id="tools_left" class="tools_panel">\n
+\t<div class="tool_button" id="tool_select" title="Select Tool [1]"></div>\n
+\t<div class="tool_button" id="tool_fhpath" title="Pencil Tool [2]"></div>\n
+\t<div class="tool_button" id="tool_line" title="Line Tool [3]"></div>\n
+\t<div class="tool_button flyout_current" id="tools_rect_show" title="Square/Rect Tool [4/Shift+4]">\n
+\t\t<div class="flyout_arrow_horiz"></div>\n
+\t</div>\n
+\t<div class="tool_button flyout_current" id="tools_ellipse_show" title="Ellipse/Circle Tool [5/Shift+5]">\n
+\t\t<div class="flyout_arrow_horiz"></div>\n
+\t</div>\n
+\t<div class="tool_button" id="tool_path" title="Path Tool [7]"></div>\n
+\t<div class="tool_button" id="tool_text" title="Text Tool [6]"></div>\n
+\t<div class="tool_button" id="tool_image" title="Image Tool [8]"></div>\n
+\t<div class="tool_button" id="tool_zoom" title="Zoom Tool [Ctrl+Up/Down]"></div>\n
+\t\n
+\t<div style="display: none">\n
+\t\t<div id="tool_rect" title="Rectangle"></div>\n
+\t\t<div id="tool_square" title="Square"></div>\n
+\t\t<div id="tool_fhrect" title="Free-Hand Rectangle"></div>\n
+\t\t<div id="tool_ellipse" title="Ellipse"></div>\n
+\t\t<div id="tool_circle" title="Circle"></div>\n
+\t\t<div id="tool_fhellipse" title="Free-Hand Ellipse"></div>\n
+\t</div>\n
+</div> <!-- tools_left -->\n
+\n
+<div id="tools_bottom" class="tools_panel">\n
+\n
+    <!-- Zoom buttons -->\n
+\t<div id="zoom_panel" class="toolset" title="Change zoom level">\n
+\t\t<label>\n
+\t\t<span id="zoomLabel" class="zoom_tool icon_label"></span>\n
+\t\t<input id="zoom" size="3" value="100" type="text" />\n
+\t\t</label>\n
+\t\t<div id="zoom_dropdown" class="dropdown">\n
+\t\t\t<button></button>\n
+\t\t\t<ul>\n
+\t\t\t\t<li>1000%</li>\n
+\t\t\t\t<li>400%</li>\n
+\t\t\t\t<li>200%</li>\n
+\t\t\t\t<li>100%</li>\n
+\t\t\t\t<li>50%</li>\n
+\t\t\t\t<li>25%</li>\n
+\t\t\t\t<li id="fit_to_canvas" data-val="canvas">Fit to canvas</li>\n
+\t\t\t\t<li id="fit_to_sel" data-val="selection">Fit to selection</li>\n
+\t\t\t\t<li id="fit_to_layer_content" data-val="layer">Fit to layer content</li>\n
+\t\t\t\t<li id="fit_to_all" data-val="content">Fit to all content</li>\n
+\t\t\t\t<li>100%</li>\n
+\t\t\t</ul>\n
+\t\t</div>\n
+\t\t<div class="tool_sep"></div>\n
+\t</div>\n
+\n
+\t<div id="tools_bottom_2">\n
+\t\t<div id="color_tools">\n
+\t\t\t<div class="color_tool" id="tool_fill">\n
+\t\t\t\t<label class="icon_label" for="fill_color" title="Change fill color"></label>\n
+\t\t\t\t<div class="color_block">\n
+\t\t\t\t\t<div id="fill_bg"></div>\n
+\t\t\t\t\t<div id="fill_color" class="color_block"></div>\n
+\t\t\t\t</div>\n
+\t\t\t</div>\n
+\t\t\n
+\t\t\t<div class="color_tool" id="tool_stroke">\n
+\t\t\t\t<div class="color_block">\n
+\t\t\t\t\t<label class="icon_label" title="Change stroke color"></label>\n
+\t\t\t\t</div>\n
+\t\t\t\t<div class="color_block">\n
+\t\t\t\t\t<div id="stroke_bg"></div>\n
+\t\t\t\t\t<div id="stroke_color" class="color_block" title="Change stroke color"></div>\n
+\t\t\t\t</div>\n
+\t\t\t\t\n
+\t\t\t\t<label>\n
+\t\t\t\t\t<input id="stroke_width" title="Change stroke width by 1, shift-click to change by 0.1" size="2" value="5" type="text" data-attr="Stroke Width" />\n
+\t\t\t\t</label>\n
+\t\t\t\t\n
+\t\t\t\t<label class="stroke_tool">\n
+\t\t\t\t\t<select id="stroke_style" title="Change stroke dash style">\n
+\t\t\t\t\t\t<option selected="selected" value="none">&mdash;</option>\n
+\t\t\t\t\t\t<option value="2,2">...</option>\n
+\t\t\t\t\t\t<option value="5,5">- -</option>\n
+\t\t\t\t\t\t<option value="5,2,2,2">- .</option>\n
+\t\t\t\t\t\t<option value="5,2,2,2,2,2">- ..</option>\n
+\t\t\t\t\t</select>\n
+\t\t\t\t</label>\t\n
+\n
+ \t\t\t\t<div class="stroke_tool dropdown" id="stroke_linejoin">\n
+ \t\t\t\t\t<div>\n
+\t\t\t\t\t\t<div id="cur_linejoin" title="Linejoin: Miter"></div>\n
+\t\t\t\t\t\t<button></button>\n
+\t\t\t\t\t</div>\n
+ \t\t\t\t</div>\n
+ \t\t\t\t\n
+ \t\t\t\t<div class="stroke_tool dropdown" id="stroke_linecap">\n
+ \t\t\t\t\t<div>\n
+\t\t\t\t\t\t<div id="cur_linecap" title="Linecap: Butt"></div>\n
+\t\t\t\t\t\t<button></button>\n
+\t\t\t\t\t</div>\n
+ \t\t\t\t</div>\n
+\t\t\t\n
+\t\t\t\t<div id="toggle_stroke_tools" title="Show/hide more stroke tools">\n
+\t\t\t\t\t&gt;&gt;\n
+\t\t\t\t</div>\n
+\t\t\t\t\n
+\t\t\t</div>\n
+\t\t</div>\n
+\t\n
+\t\t<div class="toolset" id="tool_opacity" title="Change selected item opacity">\n
+\t\t\t<label>\n
+\t\t\t\t<span id="group_opacityLabel" class="icon_label"></span>\n
+\t\t\t\t<input id="group_opacity" size="3" value="100" type="text" />\n
+\t\t\t</label>\n
+\t\t\t<div id="opacity_dropdown" class="dropdown">\n
+\t\t\t\t<button></button>\n
+\t\t\t\t<ul>\n
+\t\t\t\t\t<li>0%</li>\n
+\t\t\t\t\t<li>25%</li>\n
+\t\t\t\t\t<li>50%</li>\n
+\t\t\t\t\t<li>75%</li>\n
+\t\t\t\t\t<li>100%</li>\n
+\t\t\t\t\t<li class="special"><div id="opac_slider"></div></li>\n
+\t\t\t\t</ul>\n
+\t\t\t</div>\n
+\t\t</div>\n
+\n
+\t</div>\n
+\n
+\t<div id="tools_bottom_3">\n
+\t\t<div id="palette_holder"><div id="palette" title="Click to change fill color, shift-click to change stroke color"></div></div>\n
+\t</div>\n
+\t<div id="copyright"><span id="copyrightLabel">Powered by</span> <a href="http://svg-edit.googlecode.com/" target="_blank">SVG-edit v2.5</a></div>\n
+</div>\n
+\n
+<div id="option_lists">\n
+\t<ul id="linejoin_opts">\n
+\t\t<li class="tool_button current" id="linejoin_miter" title="Linejoin: Miter"></li>\n
+\t\t<li class="tool_button" id="linejoin_round" title="Linejoin: Round"></li>\n
+\t\t<li class="tool_button" id="linejoin_bevel" title="Linejoin: Bevel"></li>\n
+\t</ul>\n
+\t\n
+\t<ul id="linecap_opts">\n
+\t\t<li class="tool_button current" id="linecap_butt" title="Linecap: Butt"></li>\n
+\t\t<li class="tool_button" id="linecap_square" title="Linecap: Square"></li>\n
+\t\t<li class="tool_button" id="linecap_round" title="Linecap: Round"></li>\n
+\t</ul>\n
+\t\n
+\t<ul id="position_opts" class="optcols3">\n
+\t\t<li class="push_button" id="tool_posleft" title="Align Left"></li>\n
+\t\t<li class="push_button" id="tool_poscenter" title="Align Center"></li>\n
+\t\t<li class="push_button" id="tool_posright" title="Align Right"></li>\n
+\t\t<li class="push_button" id="tool_postop" title="Align Top"></li>\n
+\t\t<li class="push_button" id="tool_posmiddle" title="Align Middle"></li>\n
+\t\t<li class="push_button" id="tool_posbottom" title="Align Bottom"></li>\n
+\t</ul>\n
+</div>\n
+\n
+\n
+<!-- hidden divs -->\n
+<div id="color_picker"></div>\n
+\n
+</div> <!-- svg_editor -->\n
+\n
+<div id="svg_source_editor">\n
+\t<div id="svg_source_overlay"></div>\n
+\t<div id="svg_source_container">\n
+\t\t<div id="tool_source_back" class="toolbar_button">\n
+\t\t\t<button id="tool_source_save">Apply Changes</button>\n
+\t\t\t<button id="tool_source_cancel">Cancel</button>\n
+\t\t</div>\n
+\t\t<form>\n
+\t\t\t<textarea id="svg_source_textarea" spellcheck="false"></textarea>\n
+\t\t</form>\n
+\t</div>\n
+</div>\n
+\n
+<div id="svg_docprops">\n
+\t<div id="svg_docprops_overlay"></div>\n
+\t<div id="svg_docprops_container">\n
+\t\t<div id="tool_docprops_back" class="toolbar_button">\n
+\t\t\t<button id="tool_docprops_save">OK</button>\n
+\t\t\t<button id="tool_docprops_cancel">Cancel</button>\n
+\t\t</div>\n
+\n
+\n
+\t\t<fieldset id="svg_docprops_docprops">\n
+\t\t\t<legend id="svginfo_image_props">Image Properties</legend>\n
+\t\t\t<label>\n
+\t\t\t\t<span id="svginfo_title">Title:</span>\n
+\t\t\t\t<input type="text" id="canvas_title" size="24" />\n
+\t\t\t</label>\t\t\t\n
+\t\n
+\t\t\t<fieldset id="change_resolution">\n
+\t\t\t\t<legend id="svginfo_dim">Canvas Dimensions</legend>\n
+\n
+\t\t\t\t<label><span id="svginfo_width">width:</span> <input type="text" id="canvas_width" size="6" /></label>\n
+\t\t\t\t\t\n
+\t\t\t\t<label><span id="svginfo_height">height:</span> <input type="text" id="canvas_height" size="6" /></label>\n
+\t\t\t\t\n
+\t\t\t\t<label>\n
+\t\t\t\t\t<select id="resolution">\n
+\t\t\t\t\t\t<option id="selectedPredefined" selected="selected">Select predefined:</option>\n
+\t\t\t\t\t\t<option>640x480</option>\n
+\t\t\t\t\t\t<option>800x600</option>\n
+\t\t\t\t\t\t<option>1024x768</option>\n
+\t\t\t\t\t\t<option>1280x960</option>\n
+\t\t\t\t\t\t<option>1600x1200</option>\n
+\t\t\t\t\t\t<option id="fitToContent" value="content">Fit to Content</option>\n
+\t\t\t\t\t</select>\n
+\t\t\t\t</label>\n
+\t\t\t</fieldset>\n
+\n
+\t\t\t<fieldset id="image_save_opts">\n
+\t\t\t\t<legend id="includedImages">Included Images</legend>\n
+\t\t\t\t<label><input type="radio" name="image_opt" value="embed" checked="checked" /> <span id="image_opt_embed">Embed data (local files)</span> </label>\n
+\t\t\t\t<label><input type="radio" name="image_opt" value="ref" /> <span id="image_opt_ref">Use file reference</span> </label>\n
+\t\t\t</fieldset>\t\t\t\n
+\n
+\n
+\t\t</fieldset>\n
+\n
+\t\t<fieldset id="svg_docprops_prefs">\n
+\t\t\t<legend id="svginfo_editor_prefs">Editor Preferences</legend>\n
+\n
+\t\t\t<label><span id="svginfo_lang">Language:</span>\n
+\t\t\t\t<!-- Source: http://en.wikipedia.org/wiki/Language_names -->\n
+\t\t\t\t<select id="lang_select">\n
+\t\t\t\t  <option id="lang_ar" value="ar">العربية</option>\n
+\t\t\t\t\t<option id="lang_cs" value="cs">Čeština</option>\n
+\t\t\t\t\t<option id="lang_de" value="de">Deutsch</option>\n
+\t\t\t\t\t<option id="lang_en" value="en" selected="selected">English</option>\n
+\t\t\t\t\t<option id="lang_es" value="es">Español</option>\n
+\t\t\t\t\t<option id="lang_fa" value="fa">فارسی</option>\n
+\t\t\t\t\t<option id="lang_fr" value="fr">Français</option>\n
+\t\t\t\t\t<option id="lang_fy" value="fy">Frysk</option>\n
+\t\t\t\t\t<option id="lang_hi" value="hi">&#2361;&#2367;&#2344;&#2381;&#2342;&#2368;, &#2361;&#2367;&#2306;&#2342;&#2368;</option>\n
+\t\t\t\t\t<option id="lang_ja" value="ja">日本語</option>\n
+\t\t\t\t\t<option id="lang_nl" value="nl">Nederlands</option>\n
+\t\t\t\t\t<option id="lang_pt-BR" value="pt-BR">Português (BR)</option>\n
+\t\t\t\t\t<option id="lang_ro" value="ro">Româneşte</option>\n
+\t\t\t\t\t<option id="lang_ru" value="ru">Русский</option>\n
+\t\t\t\t\t<option id="lang_sk" value="sk">Slovenčina</option>\n
+\t\t\t\t\t<option id="lang_zh-TW" value="zh-TW">繁體中文</option>\n
+\t\t\t\t</select>\n
+\t\t\t</label>\n
+\n
+\t\t\t<label><span id="svginfo_icons">Icon size:</span>\n
+\t\t\t\t<select id="iconsize">\n
+\t\t\t\t\t<option id="icon_small" value="s">Small</option>\n
+\t\t\t\t\t<option id="icon_medium" value="m" selected="selected">Medium</option>\n
+\t\t\t\t\t<option id="icon_large" value="l">Large</option>\n
+\t\t\t\t\t<option id="icon_xlarge" value="xl">Extra Large</option>\n
+\t\t\t\t</select>\n
+\t\t\t</label>\n
+\n
+\t\t\t<fieldset id="change_background">\n
+\t\t\t\t<legend id="svginfo_change_background">Editor Background</legend>\n
+\t\t\t\t<div id="bg_blocks"></div>\n
+\t\t\t\t<label><span id="svginfo_bg_url">URL:</span> <input type="text" id="canvas_bg_url" size="21" /></label>\n
+\t\t\t\t<p id="svginfo_bg_note">Note: Background will not be saved with image.</p>\n
+\t\t\t</fieldset>\n
+\t\t\t\n
+\t\t</fieldset>\n
+\n
+\t</div>\n
+</div>\n
+\n
+<div id="dialog_box">\n
+\t<div id="dialog_box_overlay"></div>\n
+\t<div id="dialog_container">\n
+\t\t<div id="dialog_content"></div>\n
+\t\t<div id="dialog_buttons"></div>\n
+\t</div>\n
+</div>\n
+\n
+</body>\n
+</html>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>svg-editor.html~</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.html.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.html.xml
new file mode 100644
index 0000000000..b16280c9c1
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.html.xml
@@ -0,0 +1,718 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+<!DOCTYPE html>\n
+<html>\n
+<!-- removed for now, causes problems in Firefox: manifest="svg-editor.manifest" -->\n
+<head>\n
+<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />\n
+<meta http-equiv="X-UA-Compatible" content="chrome=1"/>\n
+<link rel="icon" type="image/png" href="images/logo.png"/>\n
+<link rel="stylesheet" href="jgraduate/css/jPicker-1.0.12.css" type="text/css"/>\n
+<link rel="stylesheet" href="jgraduate/css/jgraduate.css" type="text/css"/>\n
+<link rel="stylesheet" href="svg-editor.css" type="text/css"/>\n
+<link rel="stylesheet" href="spinbtn/JQuerySpinBtn.css" type="text/css"/>\n
+\n
+<!-- Release version of script tags: -->\n
+<script type="text/javascript" src="jquery.js"></script>\n
+<script type="text/javascript" src="js-hotkeys/jquery.hotkeys.min.js"></script>\n
+<script type="text/javascript" src="jgraduate/jquery.jgraduate.min.js"></script>\n
+<script type="text/javascript" src="svgicons/jquery.svgicons.min.js"></script>\n
+<script type="text/javascript" src="jquerybbq/jquery.bbq.min.js"></script>\n
+<script type="text/javascript" src="spinbtn/JQuerySpinBtn.min.js"></script>\n
+<script type="text/javascript" src="svgcanvas.js"></script>\n
+<script type="text/javascript" src="svg-editor.js"></script>\n
+<script type="text/javascript" src="locale/locale.min.js"></script>\n
+<!-- you can load extensions here -->\n
+<!-- <script type="text/javascript" src="extensions/ext-helloworld.js"></script> -->\n
+\n
+\n
+<!-- Development version of script tags: \n
+<script type="text/javascript" src="jquery.js"></script>\n
+<script type="text/javascript" src="js-hotkeys/jquery.hotkeys.min.js"></script>\n
+<script type="text/javascript" src="jgraduate/jquery.jgraduate.min.js"></script>\n
+<script type="text/javascript" src="svgicons/jquery.svgicons.min.js"></script>\n
+<script type="text/javascript" src="jquerybbq/jquery.bbq.min.js"></script>\n
+<script type="text/javascript" src="spinbtn/JQuerySpinBtn.js"></script>\n
+<script type="text/javascript" src="svgcanvas.js"></script>\n
+<script type="text/javascript" src="svg-editor.js"></script>\n
+<script type="text/javascript" src="locale/locale.js"></script>\n
+-->\n
+\n
+<!-- always minified scripts -->\n
+<script type="text/javascript" src="jquery-ui/jquery-ui-1.8.custom.min.js"></script>\n
+<script type="text/javascript" src="jgraduate/jpicker-1.0.12.min.js"></script>\n
+\n
+<!-- feeds -->\n
+<link rel="alternate" type="application/atom+xml" title="SVG-edit General Discussion" href="http://groups.google.com/group/svg-edit/feed/atom_v1_0_msgs.xml" />\n
+<link rel="alternate" type="application/atom+xml" title="SVG-edit Updates (Issues/Fixes/Commits)" href="http://code.google.com/feeds/p/svg-edit/updates/basic" />\n
+\n
+<!-- Add script with custom handlers here -->\n
+<title>SVG-edit</title>\n
+</head>\n
+<body>\n
+<div id="svg_editor">\n
+\n
+<div id="workarea">\n
+<style id="styleoverrides" type="text/css" media="screen" scoped="scoped"></style>\n
+<div id="svgcanvas"></div>\n
+</div>\n
+\n
+<div id="sidepanels">\n
+\t<div id="layerpanel">\n
+\t\t<h3 id="layersLabel">Layers</h3>\n
+\t\t<fieldset id="layerbuttons">\n
+\t\t\t<div id="layer_new" class="layer_button"  title="New Layer"></div>\n
+\t\t\t<div id="layer_delete" class="layer_button"  title="Delete Layer"></div>\n
+\t\t\t<div id="layer_rename" class="layer_button"  title="Rename Layer"></div>\n
+\t\t\t<div id="layer_up" class="layer_button"  title="Move Layer Up"></div>\n
+\t\t\t<div id="layer_down" class="layer_button"  title="Move Layer Down"></div>\n
+\t\t</fieldset>\n
+\t\t\n
+\t\t<table id="layerlist">\n
+\t\t\t<tr class="layer">\n
+\t\t\t\t<td class="layervis"></td>\n
+\t\t\t\t<td class="layername">Layer 1</td>\n
+\t\t\t</tr>\n
+\t\t</table>\n
+\t\t<span id="selLayerLabel">Move elements to:</span>\n
+\t\t<select id="selLayerNames" title="Move selected elements to a different layer" disabled="disabled">\n
+\t\t\t<option selected="selected" value="layer1">Layer 1</option>\n
+\t\t</select>\n
+\t</div>\n
+\t<div id="sidepanel_handle" title="Drag left/right to resize side panel [X]">L a y e r s</div>\n
+</div>\n
+\n
+<div id="main_button">\n
+\t<div id="main_icon" class="buttonup" title="Main Menu">\n
+\t\t<span></span>\n
+\t\t<div id="logo"></div>\n
+\t\t<div class="dropdown"></div>\n
+\t</div>\n
+\t\t\n
+\t<div id="main_menu"> \n
+\t\n
+\t\t<!-- File-like buttons: New, Save, Source -->\n
+\t\t<ul>\n
+\t\t\t<li id="tool_clear">\n
+\t\t\t\t<div></div>\n
+\t\t\t\tNew Image [N]\n
+\t\t\t</li>\n
+\t\t\t\n
+\t\t\t<li id="tool_open" style="display:none;">\n
+\t\t\t\t<div id="fileinputs">\n
+\t\t\t\t\t<div></div>\n
+\t\t\t\t</div>\n
+\t\t\t\tOpen Image [O]\n
+\t\t\t</li>\n
+\t\t\t\n
+\t\t\t<li id="tool_import" style="display:none;">\n
+\t\t\t\t<div id="fileinputs_import">\n
+\t\t\t\t\t<div></div>\n
+\t\t\t\t</div>\n
+\t\t\t\tImport SVG\n
+\t\t\t</li>\n
+\t\t\t\n
+\t\t\t<li id="tool_save">\n
+\t\t\t\t<div></div>\n
+\t\t\t\tSave Image [S]\n
+\t\t\t</li>\n
+\t\t\t\n
+\t\t\t<li id="tool_export">\n
+\t\t\t\t<div></div>\n
+\t\t\t\tExport as PNG\n
+\t\t\t</li>\n
+\t\t\t\n
+\t\t\t<li id="tool_docprops">\n
+\t\t\t\t<div></div>\n
+\t\t\t\tDocument Properties [I]\n
+\t\t\t</li>\n
+\t\t</ul>\n
+\t\t\n
+\t\t<p>\n
+\t\t\t<a href="http://svg-edit.googlecode.com/" target="_blank">\n
+\t\t\t\tSVG-edit Home Page\n
+\t\t\t</a>\n
+\t\t</p>\n
+\n
+\t</div>\n
+</div>\n
+\n
+\n
+\n
+<div id="tools_top" class="tools_panel">\n
+\t\n
+\t<div id="editor_panel">\n
+\t\t<div class="push_button" id="tool_source" title="Edit Source [U]"></div>\n
+\t\t<div class="tool_button" id="tool_wireframe" title="Wireframe Mode [F]"></div>\n
+\t</div>\n
+\n
+    <!-- History buttons -->\n
+\t<div id="history_panel">\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<div class="push_button tool_button_disabled" id="tool_undo" title="Undo [Z]"></div>\n
+\t\t<div class="push_button tool_button_disabled" id="tool_redo" title="Redo [Y]"></div>\n
+\t</div>\n
+\t\n
+\t<!-- Buttons when a single element is selected -->\n
+\t<div id="selected_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<div class="tool_sep"></div>\n
+\t\t\t<div class="push_button" id="tool_clone" title="Clone Element [C]"></div>\n
+\t\t\t<div class="push_button" id="tool_delete" title="Delete Element [Delete/Backspace]"></div>\n
+\t\t\t<div class="tool_sep"></div>\n
+\t\t\t<div class="push_button" id="tool_move_top" title="Move to Top [Shift+Up]"></div>\n
+\t\t\t<div class="push_button" id="tool_move_bottom" title="Move to Bottom [Shift+Down]"></div>\n
+\t\t\t<div class="push_button" id="tool_topath" title="Convert to Path"></div>\n
+\t\t\t<div class="push_button" id="tool_reorient" title="Reorient path"></div>\n
+\t\t\t<div class="tool_sep"></div>\n
+\t\t\t<label id="idLabel" title="Identify the element">\n
+\t\t\t\t<span>id:</span>\n
+\t\t\t\t<input id="elem_id" class="attr_changer" data-attr="id" size="10" type="text"/>\n
+\t\t\t</label>\n
+\t\t</div>\n
+\n
+\t\t<label id="tool_angle" title="Change rotation angle">\n
+\t\t\t<span id="angleLabel" class="icon_label"></span>\n
+\t\t\t<input id="angle" size="2" value="0" type="text"/>\n
+\t\t</label>\n
+\t\t\n
+\t\t<div class="toolset" id="tool_blur" title="Change gaussian blur value">\n
+\t\t\t<label>\n
+\t\t\t\t<span id="blurLabel" class="icon_label"></span>\n
+\t\t\t\t<input id="blur" size="2" value="0" type="text"/>\n
+\t\t\t</label>\n
+\t\t\t<div id="blur_dropdown" class="dropdown">\n
+\t\t\t\t<button></button>\n
+\t\t\t\t<ul>\n
+\t\t\t\t\t<li class="special"><div id="blur_slider"></div></li>\n
+\t\t\t\t</ul>\n
+\t\t\t</div>\n
+\t\t</div>\n
+\t\t\n
+\t\t<div class="dropdown toolset" id="tool_position" title="Align Element to Page">\n
+\t\t\t\t<div id="cur_position" class="icon_label"></div>\n
+\t\t\t\t<button></button>\n
+\t\t</div>\t\t\n
+\n
+\t\t<div id="xy_panel" class="toolset">\n
+\t\t\t<label>\n
+\t\t\t\tx: <input id="selected_x" class="attr_changer" title="Change X coordinate" size="3" data-attr="x"/>\n
+\t\t\t</label>\n
+\t\t\t<label>\n
+\t\t\t\ty: <input id="selected_y" class="attr_changer" title="Change Y coordinate" size="3" data-attr="y"/>\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t</div>\n
+\n
+\t<!-- Buttons when multiple elements are selected -->\n
+\t<div id="multiselected_panel">\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<div class="push_button" id="tool_clone_multi" title="Clone Elements [C]"></div>\n
+\t\t<div class="push_button" id="tool_delete_multi" title="Delete Selected Elements [Delete/Backspace]"></div>\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<div class="push_button" id="tool_group" title="Group Elements [G]"></div>\n
+\t\t<div class="push_button" id="tool_alignleft" title="Align Left"></div>\n
+\t\t<div class="push_button" id="tool_aligncenter" title="Align Center"></div>\n
+\t\t<div class="push_button" id="tool_alignright" title="Align Right"></div>\n
+\t\t<div class="push_button" id="tool_aligntop" title="Align Top"></div>\n
+\t\t<div class="push_button" id="tool_alignmiddle" title="Align Middle"></div>\n
+\t\t<div class="push_button" id="tool_alignbottom" title="Align Bottom"></div>\n
+\t\t<label id="tool_align_relative"> \n
+\t\t\t<span id="relativeToLabel">relative to:</span>\n
+\t\t\t<select id="align_relative_to" title="Align relative to ...">\n
+\t\t\t<option id="selected_objects" value="selected">selected objects</option>\n
+\t\t\t<option id="largest_object" value="largest">largest object</option>\n
+\t\t\t<option id="smallest_object" value="smallest">smallest object</option>\n
+\t\t\t<option id="page" value="page">page</option>\n
+\t\t\t</select>\n
+\t\t</label>\n
+\t\t<div class="tool_sep"></div>\n
+\n
+\t</div>\n
+\n
+\t<div id="g_panel">\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<div class="push_button" id="tool_ungroup" title="Ungroup Elements [G]"></div>\n
+\t</div>\n
+\n
+\t<div id="rect_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="rect_width_tool" title="Change rectangle width">\n
+\t\t\t\t<span id="rwidthLabel" class="icon_label"></span>\n
+\t\t\t\t<input id="rect_width" class="attr_changer" size="3" data-attr="width"/>\n
+\t\t\t</label>\n
+\t\t\t<label id="rect_height_tool" title="Change rectangle height">\n
+\t\t\t\t<span id="rheightLabel" class="icon_label"></span>\n
+\t\t\t\t<input id="rect_height" class="attr_changer" size="3" data-attr="height"/>\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t\t<label id="cornerRadiusLabel" title="Change Rectangle Corner Radius">\n
+\t\t\t<span class="icon_label"></span>\n
+\t\t\t<input id="rect_rx" size="3" value="0" type="text" data-attr="Corner Radius"/>\n
+\t\t</label>\n
+\t</div>\n
+\n
+\t<div id="image_panel">\n
+\t<div class="toolset">\n
+\t\t<label><span id="iwidthLabel" class="icon_label"></span>\n
+\t\t<input id="image_width" class="attr_changer" title="Change image width" size="3" data-attr="width"/>\n
+\t\t</label>\n
+\t\t<label><span id="iheightLabel" class="icon_label"></span>\n
+\t\t<input id="image_height" class="attr_changer" title="Change image height" size="3" data-attr="height"/>\n
+\t\t</label>\n
+\t</div>\n
+\t<div class="toolset">\n
+\t\t<label id="tool_image_url">url:\n
+\t\t\t<input id="image_url" type="text" title="Change URL" size="35"/>\n
+\t\t</label>\n
+\t\t<label id="tool_change_image">\n
+\t\t\t<button id="change_image_url" style="display:none;">Change Image</button>\n
+\t\t\t<span id="url_notice" title="NOTE: This image cannot be embedded. It will depend on this path to be displayed"></span>\n
+\t\t</label>\n
+\t</div>\n
+  </div>\n
+\n
+\t<div id="circle_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_circle_cx">cx:\n
+\t\t\t<input id="circle_cx" class="attr_changer" title="Change circle\'s cx coordinate" size="3" data-attr="cx"/>\n
+\t\t\t</label>\n
+\t\t\t<label id="tool_circle_cy">cy:\n
+\t\t\t<input id="circle_cy" class="attr_changer" title="Change circle\'s cy coordinate" size="3" data-attr="cy"/>\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_circle_r">r:\n
+\t\t\t<input id="circle_r" class="attr_changer" title="Change circle\'s radius" size="3" data-attr="r"/>\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t</div>\n
+\n
+\t<div id="ellipse_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_ellipse_cx">cx:\n
+\t\t\t<input id="ellipse_cx" class="attr_changer" title="Change ellipse\'s cx coordinate" size="3" data-attr="cx"/>\n
+\t\t\t</label>\n
+\t\t\t<label id="tool_ellipse_cy">cy:\n
+\t\t\t<input id="ellipse_cy" class="attr_changer" title="Change ellipse\'s cy coordinate" size="3" data-attr="cy"/>\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_ellipse_rx">rx:\n
+\t\t\t<input id="ellipse_rx" class="attr_changer" title="Change ellipse\'s x radius" size="3" data-attr="rx"/>\n
+\t\t\t</label>\n
+\t\t\t<label id="tool_ellipse_ry">ry:\n
+\t\t\t<input id="ellipse_ry" class="attr_changer" title="Change ellipse\'s y radius" size="3" data-attr="ry"/>\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t</div>\n
+\n
+\t<div id="line_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_line_x1">x1:\n
+\t\t\t<input id="line_x1" class="attr_changer" title="Change line\'s starting x coordinate" size="3" data-attr="x1"/>\n
+\t\t\t</label>\n
+\t\t\t<label id="tool_line_y1">y1:\n
+\t\t\t<input id="line_y1" class="attr_changer" title="Change line\'s starting y coordinate" size="3" data-attr="y1"/>\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t\t<div class="toolset">\n
+\t\t\t<label id="tool_line_x2">x2:\n
+\t\t\t<input id="line_x2" class="attr_changer" title="Change line\'s ending x coordinate" size="3" data-attr="x2"/>\n
+\t\t\t</label>\n
+\t\t\t<label id="tool_line_y2">y2:\n
+\t\t\t<input id="line_y2" class="attr_changer" title="Change line\'s ending y coordinate" size="3" data-attr="y2"/>\n
+\t\t\t</label>\n
+\t\t</div>\n
+\t</div>\n
+\n
+\t<div id="text_panel">\n
+\t\t<div class="toolset">\n
+\t\t\t<div class="tool_button" id="tool_bold" title="Bold Text [B]"><span></span>B</div>\n
+\t\t\t<div class="tool_button" id="tool_italic" title="Italic Text [I]"><span></span>i</div>\n
+\t\t</div>\n
+\t\t\n
+\t\t<div class="toolset" id="tool_font_family">\n
+\t\t\t<label>\n
+\t\t\t\t<!-- Font family -->\n
+\t\t\t\t<input id="font_family" type="text" title="Change Font Family" size="12"/>\n
+\t\t\t</label>\n
+\t\t\t<div id="font_family_dropdown" class="dropdown">\n
+\t\t\t\t<button></button>\n
+\t\t\t\t<ul>\n
+\t\t\t\t\t<li style="font-family:serif">Serif</li>\n
+\t\t\t\t\t<li style="font-family:sans-serif">Sans-serif</li>\n
+\t\t\t\t\t<li style="font-family:cursive">Cursive</li>\n
+\t\t\t\t\t<li style="font-family:fantasy">Fantasy</li>\n
+\t\t\t\t\t<li style="font-family:monospace">Monospace</li>\n
+\t\t\t\t</ul>\n
+\t\t\t</div>\n
+\t\t</div>\n
+\n
+\t\t<label id="tool_font_size" title="Change Font Size">\n
+\t\t\t<span id="font_sizeLabel" class="icon_label"></span>\n
+\t\t\t<input id="font_size" size="3" value="0" type="text"/>\n
+\t\t</label>\n
+\t\t\n
+\t\t<!-- Not visible, but still used -->\n
+\t\t<input id="text" type="text" size="35"/>\n
+\t</div>\n
+\t\n
+\t<div id="path_node_panel">\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<div class="tool_button" id="tool_node_link" title="Link Control Points"></div>\n
+\t\t<div class="tool_sep"></div>\n
+\t\t<label id="tool_node_x">x:\n
+\t\t\t<input id="path_node_x" class="attr_changer" title="Change node\'s x coordinate" size="3" data-attr="x"/>\n
+\t\t</label>\n
+\t\t<label id="tool_node_y">y:\n
+\t\t\t<input id="path_node_y" class="attr_changer" title="Change node\'s y coordinate" size="3" data-attr="y"/>\n
+\t\t</label>\n
+\t\t\n
+\t\t<select id="seg_type" title="Change Segment type">\n
+\t\t\t<option id="straight_segments" selected="selected" value="4">Straight</option>\n
+\t\t\t<option id="curve_segments" value="6">Curve</option>\n
+\t\t</select>\n
+\t\t<div class="tool_button" id="tool_node_clone" title="Clone Node"></div>\n
+\t\t<div class="tool_button" id="tool_node_delete" title="Delete Node"></div>\n
+\t\t<div class="tool_button" id="tool_openclose_path" title="Open/close sub-path"></div>\n
+\t\t<div class="tool_button" id="tool_add_subpath" title="Add sub-path"></div>\n
+\t</div>\n
+\t\n
+</div> <!-- tools_top -->\n
+\n
+<div id="tools_left" class="tools_panel">\n
+\t<div class="tool_button" id="tool_select" title="Select Tool [1]"></div>\n
+\t<div class="tool_button" id="tool_fhpath" title="Pencil Tool [2]"></div>\n
+\t<div class="tool_button" id="tool_line" title="Line Tool [3]"></div>\n
+\t<div class="tool_button flyout_current" id="tools_rect_show" title="Square/Rect Tool [4/Shift+4]">\n
+\t\t<div class="flyout_arrow_horiz"></div>\n
+\t</div>\n
+\t<div class="tool_button flyout_current" id="tools_ellipse_show" title="Ellipse/Circle Tool [5/Shift+5]">\n
+\t\t<div class="flyout_arrow_horiz"></div>\n
+\t</div>\n
+\t<div class="tool_button" id="tool_path" title="Path Tool [7]"></div>\n
+\t<div class="tool_button" id="tool_text" title="Text Tool [6]"></div>\n
+\t<div class="tool_button" id="tool_image" title="Image Tool [8]"></div>\n
+\t<div class="tool_button" id="tool_zoom" title="Zoom Tool [Ctrl+Up/Down]"></div>\n
+\t\n
+\t<div style="display: none">\n
+\t\t<div id="tool_rect" title="Rectangle"></div>\n
+\t\t<div id="tool_square" title="Square"></div>\n
+\t\t<div id="tool_fhrect" title="Free-Hand Rectangle"></div>\n
+\t\t<div id="tool_ellipse" title="Ellipse"></div>\n
+\t\t<div id="tool_circle" title="Circle"></div>\n
+\t\t<div id="tool_fhellipse" title="Free-Hand Ellipse"></div>\n
+\t</div>\n
+</div> <!-- tools_left -->\n
+\n
+<div id="tools_bottom" class="tools_panel">\n
+\n
+    <!-- Zoom buttons -->\n
+\t<div id="zoom_panel" class="toolset" title="Change zoom level">\n
+\t\t<label>\n
+\t\t<span id="zoomLabel" class="zoom_tool icon_label"></span>\n
+\t\t<input id="zoom" size="3" value="100" type="text" />\n
+\t\t</label>\n
+\t\t<div id="zoom_dropdown" class="dropdown">\n
+\t\t\t<button></button>\n
+\t\t\t<ul>\n
+\t\t\t\t<li>1000%</li>\n
+\t\t\t\t<li>400%</li>\n
+\t\t\t\t<li>200%</li>\n
+\t\t\t\t<li>100%</li>\n
+\t\t\t\t<li>50%</li>\n
+\t\t\t\t<li>25%</li>\n
+\t\t\t\t<li id="fit_to_canvas" data-val="canvas">Fit to canvas</li>\n
+\t\t\t\t<li id="fit_to_sel" data-val="selection">Fit to selection</li>\n
+\t\t\t\t<li id="fit_to_layer_content" data-val="layer">Fit to layer content</li>\n
+\t\t\t\t<li id="fit_to_all" data-val="content">Fit to all content</li>\n
+\t\t\t\t<li>100%</li>\n
+\t\t\t</ul>\n
+\t\t</div>\n
+\t\t<div class="tool_sep"></div>\n
+\t</div>\n
+\n
+\t<div id="tools_bottom_2">\n
+\t\t<div id="color_tools">\n
+\t\t\t<div class="color_tool" id="tool_fill">\n
+\t\t\t\t<label class="icon_label" for="fill_color" title="Change fill color"></label>\n
+\t\t\t\t<div class="color_block">\n
+\t\t\t\t\t<div id="fill_bg"></div>\n
+\t\t\t\t\t<div id="fill_color" class="color_block"></div>\n
+\t\t\t\t</div>\n
+\t\t\t</div>\n
+\t\t\n
+\t\t\t<div class="color_tool" id="tool_stroke">\n
+\t\t\t\t<div class="color_block">\n
+\t\t\t\t\t<label class="icon_label" title="Change stroke color"></label>\n
+\t\t\t\t</div>\n
+\t\t\t\t<div class="color_block">\n
+\t\t\t\t\t<div id="stroke_bg"></div>\n
+\t\t\t\t\t<div id="stroke_color" class="color_block" title="Change stroke color"></div>\n
+\t\t\t\t</div>\n
+\t\t\t\t\n
+\t\t\t\t<label>\n
+\t\t\t\t\t<input id="stroke_width" title="Change stroke width by 1, shift-click to change by 0.1" size="2" value="5" type="text" data-attr="Stroke Width"/>\n
+\t\t\t\t</label>\n
+\t\t\t\t\n
+\t\t\t\t<label class="stroke_tool">\n
+\t\t\t\t\t<select id="stroke_style" title="Change stroke dash style">\n
+\t\t\t\t\t\t<option selected="selected" value="none">&mdash;</option>\n
+\t\t\t\t\t\t<option value="2,2">...</option>\n
+\t\t\t\t\t\t<option value="5,5">- -</option>\n
+\t\t\t\t\t\t<option value="5,2,2,2">- .</option>\n
+\t\t\t\t\t\t<option value="5,2,2,2,2,2">- ..</option>\n
+\t\t\t\t\t</select>\n
+\t\t\t\t</label>\t\n
+\n
+ \t\t\t\t<div class="stroke_tool dropdown" id="stroke_linejoin">\n
+ \t\t\t\t\t<div>\n
+\t\t\t\t\t\t<div id="cur_linejoin" title="Linejoin: Miter"></div>\n
+\t\t\t\t\t\t<button></button>\n
+\t\t\t\t\t</div>\n
+ \t\t\t\t</div>\n
+ \t\t\t\t\n
+ \t\t\t\t<div class="stroke_tool dropdown" id="stroke_linecap">\n
+ \t\t\t\t\t<div>\n
+\t\t\t\t\t\t<div id="cur_linecap" title="Linecap: Butt"></div>\n
+\t\t\t\t\t\t<button></button>\n
+\t\t\t\t\t</div>\n
+ \t\t\t\t</div>\n
+\t\t\t\n
+\t\t\t\t<div id="toggle_stroke_tools" title="Show/hide more stroke tools">\n
+\t\t\t\t\t&gt;&gt;\n
+\t\t\t\t</div>\n
+\t\t\t\t\n
+\t\t\t</div>\n
+\t\t</div>\n
+\t\n
+\t\t<div class="toolset" id="tool_opacity" title="Change selected item opacity">\n
+\t\t\t<label>\n
+\t\t\t\t<span id="group_opacityLabel" class="icon_label"></span>\n
+\t\t\t\t<input id="group_opacity" size="3" value="100" type="text"/>\n
+\t\t\t</label>\n
+\t\t\t<div id="opacity_dropdown" class="dropdown">\n
+\t\t\t\t<button></button>\n
+\t\t\t\t<ul>\n
+\t\t\t\t\t<li>0%</li>\n
+\t\t\t\t\t<li>25%</li>\n
+\t\t\t\t\t<li>50%</li>\n
+\t\t\t\t\t<li>75%</li>\n
+\t\t\t\t\t<li>100%</li>\n
+\t\t\t\t\t<li class="special"><div id="opac_slider"></div></li>\n
+\t\t\t\t</ul>\n
+\t\t\t</div>\n
+\t\t</div>\n
+\n
+\t</div>\n
+\n
+\t<div id="tools_bottom_3">\n
+\t\t<div id="palette_holder"><div id="palette" title="Click to change fill color, shift-click to change stroke color"></div></div>\n
+\t</div>\n
+\t<div id="copyright"><span id="copyrightLabel">Powered by</span> <a href="http://svg-edit.googlecode.com/" target="_blank">SVG-edit v2.5</a></div>\n
+</div>\n
+\n
+<div id="option_lists">\n
+\t<ul id="linejoin_opts">\n
+\t\t<li class="tool_button current" id="linejoin_miter" title="Linejoin: Miter"></li>\n
+\t\t<li class="tool_button" id="linejoin_round" title="Linejoin: Round"></li>\n
+\t\t<li class="tool_button" id="linejoin_bevel" title="Linejoin: Bevel"></li>\n
+\t</ul>\n
+\t\n
+\t<ul id="linecap_opts">\n
+\t\t<li class="tool_button current" id="linecap_butt" title="Linecap: Butt"></li>\n
+\t\t<li class="tool_button" id="linecap_square" title="Linecap: Square"></li>\n
+\t\t<li class="tool_button" id="linecap_round" title="Linecap: Round"></li>\n
+\t</ul>\n
+\t\n
+\t<ul id="position_opts" class="optcols3">\n
+\t\t<li class="push_button" id="tool_posleft" title="Align Left"></li>\n
+\t\t<li class="push_button" id="tool_poscenter" title="Align Center"></li>\n
+\t\t<li class="push_button" id="tool_posright" title="Align Right"></li>\n
+\t\t<li class="push_button" id="tool_postop" title="Align Top"></li>\n
+\t\t<li class="push_button" id="tool_posmiddle" title="Align Middle"></li>\n
+\t\t<li class="push_button" id="tool_posbottom" title="Align Bottom"></li>\n
+\t</ul>\n
+</div>\n
+\n
+\n
+<!-- hidden divs -->\n
+<div id="color_picker"></div>\n
+\n
+</div> <!-- svg_editor -->\n
+\n
+<div id="svg_source_editor">\n
+\t<div id="svg_source_overlay"></div>\n
+\t<div id="svg_source_container">\n
+\t\t<div id="tool_source_back" class="toolbar_button">\n
+\t\t\t<button id="tool_source_save">Apply Changes</button>\n
+\t\t\t<button id="tool_source_cancel">Cancel</button>\n
+\t\t</div>\n
+\t\t<form>\n
+\t\t\t<textarea id="svg_source_textarea" spellcheck="false"></textarea>\n
+\t\t</form>\n
+\t</div>\n
+</div>\n
+\n
+<div id="svg_docprops">\n
+\t<div id="svg_docprops_overlay"></div>\n
+\t<div id="svg_docprops_container">\n
+\t\t<div id="tool_docprops_back" class="toolbar_button">\n
+\t\t\t<button id="tool_docprops_save">OK</button>\n
+\t\t\t<button id="tool_docprops_cancel">Cancel</button>\n
+\t\t</div>\n
+\n
+\n
+\t\t<fieldset id="svg_docprops_docprops">\n
+\t\t\t<legend id="svginfo_image_props">Image Properties</legend>\n
+\t\t\t<label>\n
+\t\t\t\t<span id="svginfo_title">Title:</span>\n
+\t\t\t\t<input type="text" id="canvas_title" size="24"/>\n
+\t\t\t</label>\t\t\t\n
+\t\n
+\t\t\t<fieldset id="change_resolution">\n
+\t\t\t\t<legend id="svginfo_dim">Canvas Dimensions</legend>\n
+\n
+\t\t\t\t<label><span id="svginfo_width">width:</span> <input type="text" id="canvas_width" size="6"/></label>\n
+\t\t\t\t\t\n
+\t\t\t\t<label><span id="svginfo_height">height:</span> <input type="text" id="canvas_height" size="6"/></label>\n
+\t\t\t\t\n
+\t\t\t\t<label>\n
+\t\t\t\t\t<select id="resolution">\n
+\t\t\t\t\t\t<option id="selectedPredefined" selected="selected">Select predefined:</option>\n
+\t\t\t\t\t\t<option>640x480</option>\n
+\t\t\t\t\t\t<option>800x600</option>\n
+\t\t\t\t\t\t<option>1024x768</option>\n
+\t\t\t\t\t\t<option>1280x960</option>\n
+\t\t\t\t\t\t<option>1600x1200</option>\n
+\t\t\t\t\t\t<option id="fitToContent" value="content">Fit to Content</option>\n
+\t\t\t\t\t</select>\n
+\t\t\t\t</label>\n
+\t\t\t</fieldset>\n
+\n
+\t\t\t<fieldset id="image_save_opts">\n
+\t\t\t\t<legend id="includedImages">Included Images</legend>\n
+\t\t\t\t<label><input type="radio" name="image_opt" value="embed" checked="checked"/> <span id="image_opt_embed">Embed data (local files)</span> </label>\n
+\t\t\t\t<label><input type="radio" name="image_opt" value="ref"/> <span id="image_opt_ref">Use file reference</span> </label>\n
+\t\t\t</fieldset>\t\t\t\n
+\n
+\n
+\t\t</fieldset>\n
+\n
+\t\t<fieldset id="svg_docprops_prefs">\n
+\t\t\t<legend id="svginfo_editor_prefs">Editor Preferences</legend>\n
+\n
+\t\t\t<label><span id="svginfo_lang">Language:</span>\n
+\t\t\t\t<!-- Source: http://en.wikipedia.org/wiki/Language_names -->\n
+\t\t\t\t<select id="lang_select">\n
+\t\t\t\t  <option id="lang_ar" value="ar">العربية</option>\n
+\t\t\t\t\t<option id="lang_cs" value="cs">Čeština</option>\n
+\t\t\t\t\t<option id="lang_de" value="de">Deutsch</option>\n
+\t\t\t\t\t<option id="lang_en" value="en" selected="selected">English</option>\n
+\t\t\t\t\t<option id="lang_es" value="es">Español</option>\n
+\t\t\t\t\t<option id="lang_fa" value="fa">فارسی</option>\n
+\t\t\t\t\t<option id="lang_fr" value="fr">Français</option>\n
+\t\t\t\t\t<option id="lang_fy" value="fy">Frysk</option>\n
+\t\t\t\t\t<option id="lang_hi" value="hi">&#2361;&#2367;&#2344;&#2381;&#2342;&#2368;, &#2361;&#2367;&#2306;&#2342;&#2368;</option>\n
+\t\t\t\t\t<option id="lang_ja" value="ja">日本語</option>\n
+\t\t\t\t\t<option id="lang_nl" value="nl">Nederlands</option>\n
+\t\t\t\t\t<option id="lang_pt-BR" value="pt-BR">Português (BR)</option>\n
+\t\t\t\t\t<option id="lang_ro" value="ro">Româneşte</option>\n
+\t\t\t\t\t<option id="lang_ru" value="ru">Русский</option>\n
+\t\t\t\t\t<option id="lang_sk" value="sk">Slovenčina</option>\n
+\t\t\t\t\t<option id="lang_zh-TW" value="zh-TW">繁體中文</option>\n
+\t\t\t\t</select>\n
+\t\t\t</label>\n
+\n
+\t\t\t<label><span id="svginfo_icons">Icon size:</span>\n
+\t\t\t\t<select id="iconsize">\n
+\t\t\t\t\t<option id="icon_small" value="s">Small</option>\n
+\t\t\t\t\t<option id="icon_medium" value="m" selected="selected">Medium</option>\n
+\t\t\t\t\t<option id="icon_large" value="l">Large</option>\n
+\t\t\t\t\t<option id="icon_xlarge" value="xl">Extra Large</option>\n
+\t\t\t\t</select>\n
+\t\t\t</label>\n
+\n
+\t\t\t<fieldset id="change_background">\n
+\t\t\t\t<legend id="svginfo_change_background">Editor Background</legend>\n
+\t\t\t\t<div id="bg_blocks"></div>\n
+\t\t\t\t<label><span id="svginfo_bg_url">URL:</span> <input type="text" id="canvas_bg_url" size="21"/></label>\n
+\t\t\t\t<p id="svginfo_bg_note">Note: Background will not be saved with image.</p>\n
+\t\t\t</fieldset>\n
+\t\t\t\n
+\t\t</fieldset>\n
+\n
+\t</div>\n
+</div>\n
+\n
+<div id="dialog_box">\n
+\t<div id="dialog_box_overlay"></div>\n
+\t<div id="dialog_container">\n
+\t\t<div id="dialog_content"></div>\n
+\t\t<div id="dialog_buttons"></div>\n
+\t</div>\n
+</div>\n
+\n
+</body>\n
+</html>\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>text/html</string> </value>
+        </item>
+        <item>
+            <key> <string>expand</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>svg-editor.html</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.js.xml
new file mode 100644
index 0000000000..c7beaa85d3
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.js.xml
@@ -0,0 +1,3770 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80065743.79</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>svg-editor.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>114964</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * svg-editor.js\n
+ *\n
+ * Licensed under the Apache License, Version 2\n
+ *\n
+ * Copyright(c) 2010 Alexis Deveria\n
+ * Copyright(c) 2010 Pavol Rusnak\n
+ * Copyright(c) 2010 Jeff Schiller\n
+ * Copyright(c) 2010 Narendra Sisodiya\n
+ *\n
+ */\n
+\n
+(function() { \n
+\t\n
+\tif(!window.svgEditor) window.svgEditor = function($) {\n
+\t\tvar svgCanvas;\n
+\t\tvar Editor = {};\n
+\t\tvar is_ready = false;\n
+\t\t\n
+\t\tvar defaultPrefs = {\n
+\t\t\tlang:\'en\',\n
+\t\t\ticonsize:\'m\',\n
+\t\t\tbkgd_color:\'#FFF\',\n
+\t\t\tbkgd_url:\'\',\n
+\t\t\timg_save:\'embed\'\n
+\t\t\t},\n
+\t\t\tcurPrefs = {},\n
+\t\t\t\n
+\t\t\t// Note: Difference between Prefs and Config is that Prefs can be\n
+\t\t\t// changed in the UI and are stored in the browser, config can not\n
+\t\t\t\n
+\t\t\tcurConfig = {\n
+\t\t\t\tcanvas_expansion: 3,\n
+\t\t\t\tdimensions: [640,480],\n
+\t\t\t\tinitFill: {\n
+\t\t\t\t\tcolor: \'FF0000\',  // solid red\n
+\t\t\t\t\topacity: 1\n
+\t\t\t\t},\n
+\t\t\t\tinitStroke: {\n
+\t\t\t\t\twidth: 5,\n
+\t\t\t\t\tcolor: \'000000\',  // solid black\n
+\t\t\t\t\topacity: 1\n
+\t\t\t\t},\n
+\t\t\t\tinitOpacity: 1,\n
+\t\t\t\timgPath: \'jquery_plugin/svg-editor/images/\',\n
+\t\t\t\tlangPath: \'jquery_plugin/svg-editor/locale/\',\n
+\t\t\t\textPath: \'jquery_plugin/svg-editor/extensions/\',\n
+\t\t\t\textensions: [\'ext-markers.js\',\'ext-connector.js\', \'ext-eyedropper.js\'],\n
+\t\t\t\tinitTool: \'select\',\n
+\t\t\t\twireframe: false\n
+\t\t\t},\n
+\t\t\tuiStrings = {\n
+\t\t\t"invalidAttrValGiven":"Invalid value given",\n
+\t\t\t"noContentToFitTo":"No content to fit to",\n
+\t\t\t"layer":"Layer",\n
+\t\t\t"dupeLayerName":"There is already a layer named that!",\n
+\t\t\t"enterUniqueLayerName":"Please enter a unique layer name",\n
+\t\t\t"enterNewLayerName":"Please enter the new layer name",\n
+\t\t\t"layerHasThatName":"Layer already has that name",\n
+\t\t\t"QmoveElemsToLayer":"Move selected elements to layer \\"%s\\"?",\n
+\t\t\t"QwantToClear":"Do you want to clear the drawing?\\nThis will also erase your undo history!",\n
+\t\t\t"QwantToOpen":"Do you want to open a new file?\\nThis will also erase your undo history!",\n
+\t\t\t"QerrorsRevertToSource":"There were parsing errors in your SVG source.\\nRevert back to original SVG source?",\n
+\t\t\t"QignoreSourceChanges":"Ignore changes made to SVG source?",\n
+\t\t\t"featNotSupported":"Feature not supported",\n
+\t\t\t"enterNewImgURL":"Enter the new image URL",\n
+\t\t\t"defsFailOnSave": "NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.",\n
+\t\t\t"loadingImage":"Loading image, please wait...",\n
+\t\t\t"saveFromBrowser": "Select \\"Save As...\\" in your browser to save this image as a %s file.",\n
+\t\t\t"noteTheseIssues": "Also note the following issues: ",\n
+\t\t\t"ok":"OK",\n
+\t\t\t"cancel":"Cancel",\n
+\t\t\t"key_up":"Up",\n
+\t\t\t"key_down":"Down",\n
+\t\t\t"key_backspace":"Backspace",\n
+\t\t\t"key_del":"Del"\n
+\t\t};\n
+\t\t\n
+\t\tvar curPrefs = {}; //$.extend({}, defaultPrefs);\n
+\t\t\n
+\t\tEditor.curConfig = curConfig;\n
+\t\t\n
+\t\t// Store and retrieve preferences\n
+\t\t$.pref = function(key, val) {\n
+\t\t\tif(val) curPrefs[key] = val;\n
+\t\t\tkey = \'svg-edit-\'+key;\n
+\t\t\tvar host = location.hostname,\n
+\t\t\t\tonweb = host && host.indexOf(\'.\') != -1,\n
+\t\t\t\tstore = (val != undefined),\n
+\t\t\t\tstorage = false;\n
+\t\t\t// Some FF versions throw security errors here\n
+\t\t\ttry { \n
+\t\t\t\tif(window.localStorage) { // && onweb removed so Webkit works locally\n
+\t\t\t\t\tstorage = localStorage;\n
+\t\t\t\t}\n
+\t\t\t} catch(e) {}\n
+\t\t\ttry { \n
+\t\t\t\tif(window.globalStorage && onweb) {\n
+\t\t\t\t\tstorage = globalStorage[host];\n
+\t\t\t\t}\n
+\t\t\t} catch(e) {}\n
+\t\t\t\n
+\t\t\tif(storage) {\n
+\t\t\t\tif(store) storage.setItem(key, val);\n
+\t\t\t\t\telse if (storage.getItem(key)) return storage.getItem(key) + \'\'; // Convert to string for FF (.value fails in Webkit)\n
+\t\t\t} else if(window.widget) {\n
+\t\t\t\tif(store) widget.setPreferenceForKey(val, key);\n
+\t\t\t\t\telse return widget.preferenceForKey(key);\n
+\t\t\t} else {\n
+\t\t\t\tif(store) {\n
+\t\t\t\t\tvar d = new Date();\n
+\t\t\t\t\td.setTime(d.getTime() + 31536000000);\n
+\t\t\t\t\tval = encodeURIComponent(val);\n
+\t\t\t\t\tdocument.cookie = key+\'=\'+val+\'; expires=\'+d.toUTCString();\n
+\t\t\t\t} else {\n
+\t\t\t\t\tvar result = document.cookie.match(new RegExp(key + "=([^;]+)"));\n
+\t\t\t\t\treturn result?decodeURIComponent(result[1]):\'\';\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\tEditor.setConfig = function(opts) {\n
+\t\t\t$.each(opts, function(key, val) {\n
+\t\t\t\t// Only allow prefs defined in defaultPrefs\n
+\t\t\t\tif(key in defaultPrefs) {\n
+\t\t\t\t\t$.pref(key, val);\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\t$.extend(true, curConfig, opts);\n
+\t\t\tif(opts.extensions) {\n
+\t\t\t\tcurConfig.extensions = opts.extensions;\n
+\t\t\t}\n
+\n
+\t\t}\n
+\t\t\n
+\t\t// Extension mechanisms must call setCustomHandlers with two functions: opts.open and opts.save\n
+\t\t// opts.open\'s responsibilities are:\n
+\t\t// \t- invoke a file chooser dialog in \'open\' mode\n
+\t\t//\t- let user pick a SVG file\n
+\t\t//\t- calls setCanvas.setSvgString() with the string contents of that file\n
+\t\t// opts.save\'s responsibilities are:\n
+\t\t//\t- accept the string contents of the current document \n
+\t\t//\t- invoke a file chooser dialog in \'save\' mode\n
+\t\t// \t- save the file to location chosen by the user\n
+\t\tEditor.setCustomHandlers = function(opts) {\n
+\t\t\tif(opts.open) {\n
+\t\t\t\t$(\'#tool_open\').show();\n
+\t\t\t\tsvgCanvas.open = opts.open;\n
+\t\t\t}\n
+\t\t\tif(opts.save) {\n
+\t\t\t\tshow_save_warning = false;\n
+\t\t\t\tsvgCanvas.bind("saved", opts.save);\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\tEditor.randomizeIds = function() {\n
+\t\t\tsvgCanvas.randomizeIds(arguments)\n
+\t\t}\n
+\n
+\t\tEditor.init = function() {\n
+\t\t\t(function() {\n
+\t\t\t\t// Load config/data from URL if given\n
+\t\t\t\tvar urldata = $.deparam.querystring(true);\n
+\t\t\t\tif(!$.isEmptyObject(urldata)) {\n
+\t\t\t\t\tif(urldata.dimensions) {\n
+\t\t\t\t\t\turldata.dimensions = urldata.dimensions.split(\',\');\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(urldata.extensions) {\n
+\t\t\t\t\t\turldata.extensions = urldata.extensions.split(\',\');\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(urldata.bkgd_color) {\n
+\t\t\t\t\t\turldata.bkgd_color = \'#\' + urldata.bkgd_color;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(urldata.bkgd_color) {\n
+\t\t\t\t\t\turldata.bkgd_color = \'#\' + urldata.bkgd_color;\n
+\t\t\t\t\t}\n
+\n
+\t\t\t\t\tsvgEditor.setConfig(urldata);\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar src = urldata.source;\n
+\t\t\t\t\tvar qstr = $.param.querystring();\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(src) {\n
+\t\t\t\t\t\tif(src.indexOf("data:") === 0) {\n
+\t\t\t\t\t\t\t// plusses get replaced by spaces, so re-insert\n
+\t\t\t\t\t\t\tsrc = src.replace(/ /g, "+");\n
+\t\t\t\t\t\t\tEditor.loadFromDataURI(src);\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\tEditor.loadFromString(src);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t} else if(qstr.indexOf(\'paramurl=\') !== -1) {\n
+\t\t\t\t\t\t// Get paramater URL (use full length of remaining location.href)\n
+\t\t\t\t\t\tsvgEditor.loadFromURL(qstr.substr(9));\n
+\t\t\t\t\t} else if(urldata.url) {\n
+\t\t\t\t\t\tsvgEditor.loadFromURL(urldata.url);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t})();\n
+\t\t\t\n
+\t\t\tvar extFunc = function() {\n
+\t\t\t\t$.each(curConfig.extensions, function() {\n
+\t\t\t\t\t$.getScript(curConfig.extPath + this);\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// Load extensions\n
+\t\t\t// Bit of a hack to run extensions in local Opera\n
+\t\t\tif(window.opera && document.location.protocol === \'file:\') {\n
+\t\t\t\tsetTimeout(extFunc, 1000);\n
+\t\t\t} else {\n
+\t\t\t\textFunc();\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t$.svgIcons(curConfig.imgPath + \'svg_edit_icons.svg\', {\n
+\t\t\t\tw:24, h:24,\n
+\t\t\t\tid_match: false,\n
+\t\t\t\tno_img: true,\n
+\t\t\t\tfallback_path: curConfig.imgPath,\n
+\t\t\t\tfallback:{\n
+\t\t\t\t\t\'new_image\':\'clear.png\',\n
+\t\t\t\t\t\'save\':\'save.png\',\n
+\t\t\t\t\t\'open\':\'open.png\',\n
+\t\t\t\t\t\'source\':\'source.png\',\n
+\t\t\t\t\t\'docprops\':\'document-properties.png\',\n
+\t\t\t\t\t\'wireframe\':\'wireframe.png\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'undo\':\'undo.png\',\n
+\t\t\t\t\t\'redo\':\'redo.png\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'select\':\'select.png\',\n
+\t\t\t\t\t\'select_node\':\'select_node.png\',\n
+\t\t\t\t\t\'pencil\':\'fhpath.png\',\n
+\t\t\t\t\t\'pen\':\'line.png\',\n
+\t\t\t\t\t\'square\':\'square.png\',\n
+\t\t\t\t\t\'rect\':\'rect.png\',\n
+\t\t\t\t\t\'fh_rect\':\'freehand-square.png\',\n
+\t\t\t\t\t\'circle\':\'circle.png\',\n
+\t\t\t\t\t\'ellipse\':\'ellipse.png\',\n
+\t\t\t\t\t\'fh_ellipse\':\'freehand-circle.png\',\n
+\t\t\t\t\t\'path\':\'path.png\',\n
+\t\t\t\t\t\'text\':\'text.png\',\n
+\t\t\t\t\t\'image\':\'image.png\',\n
+\t\t\t\t\t\'zoom\':\'zoom.png\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'clone\':\'clone.png\',\n
+\t\t\t\t\t\'node_clone\':\'node_clone.png\',\n
+\t\t\t\t\t\'delete\':\'delete.png\',\n
+\t\t\t\t\t\'node_delete\':\'node_delete.png\',\n
+\t\t\t\t\t\'group\':\'shape_group.png\',\n
+\t\t\t\t\t\'ungroup\':\'shape_ungroup.png\',\n
+\t\t\t\t\t\'move_top\':\'move_top.png\',\n
+\t\t\t\t\t\'move_bottom\':\'move_bottom.png\',\n
+\t\t\t\t\t\'to_path\':\'to_path.png\',\n
+\t\t\t\t\t\'link_controls\':\'link_controls.png\',\n
+\t\t\t\t\t\'reorient\':\'reorient.png\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'align_left\':\'align-left.png\',\n
+\t\t\t\t\t\'align_center\':\'align-center\',\n
+\t\t\t\t\t\'align_right\':\'align-right\',\n
+\t\t\t\t\t\'align_top\':\'align-top\',\n
+\t\t\t\t\t\'align_middle\':\'align-middle\',\n
+\t\t\t\t\t\'align_bottom\':\'align-bottom\',\n
+\t\t\n
+\t\t\t\t\t\'go_up\':\'go-up.png\',\n
+\t\t\t\t\t\'go_down\':\'go-down.png\',\n
+\t\t\n
+\t\t\t\t\t\'ok\':\'save.png\',\n
+\t\t\t\t\t\'cancel\':\'cancel.png\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'arrow_right\':\'flyouth.png\',\n
+\t\t\t\t\t\'arrow_down\':\'dropdown.gif\'\n
+\t\t\t\t},\n
+\t\t\t\tplacement: {\n
+\t\t\t\t\t\'#logo\':\'logo\',\n
+\t\t\t\t\n
+\t\t\t\t\t\'#tool_clear div,#layer_new\':\'new_image\',\n
+\t\t\t\t\t\'#tool_save div\':\'save\',\n
+\t\t\t\t\t\'#tool_export div\':\'export\',\n
+\t\t\t\t\t\'#tool_open div div\':\'open\',\n
+\t\t\t\t\t\'#tool_import div div\':\'import\',\n
+\t\t\t\t\t\'#tool_source\':\'source\',\n
+\t\t\t\t\t\'#tool_docprops > div\':\'docprops\',\n
+\t\t\t\t\t\'#tool_wireframe\':\'wireframe\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'#tool_undo\':\'undo\',\n
+\t\t\t\t\t\'#tool_redo\':\'redo\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'#tool_select\':\'select\',\n
+\t\t\t\t\t\'#tool_fhpath\':\'pencil\',\n
+\t\t\t\t\t\'#tool_line\':\'pen\',\n
+\t\t\t\t\t\'#tool_rect,#tools_rect_show\':\'rect\',\n
+\t\t\t\t\t\'#tool_square\':\'square\',\n
+\t\t\t\t\t\'#tool_fhrect\':\'fh_rect\',\n
+\t\t\t\t\t\'#tool_ellipse,#tools_ellipse_show\':\'ellipse\',\n
+\t\t\t\t\t\'#tool_circle\':\'circle\',\n
+\t\t\t\t\t\'#tool_fhellipse\':\'fh_ellipse\',\n
+\t\t\t\t\t\'#tool_path\':\'path\',\n
+\t\t\t\t\t\'#tool_text,#layer_rename\':\'text\',\n
+\t\t\t\t\t\'#tool_image\':\'image\',\n
+\t\t\t\t\t\'#tool_zoom\':\'zoom\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'#tool_clone,#tool_clone_multi\':\'clone\',\n
+\t\t\t\t\t\'#tool_node_clone\':\'node_clone\',\n
+\t\t\t\t\t\'#layer_delete,#tool_delete,#tool_delete_multi\':\'delete\',\n
+\t\t\t\t\t\'#tool_node_delete\':\'node_delete\',\n
+\t\t\t\t\t\'#tool_add_subpath\':\'add_subpath\',\n
+\t\t\t\t\t\'#tool_openclose_path\':\'open_path\',\n
+\t\t\t\t\t\'#tool_move_top\':\'move_top\',\n
+\t\t\t\t\t\'#tool_move_bottom\':\'move_bottom\',\n
+\t\t\t\t\t\'#tool_topath\':\'to_path\',\n
+\t\t\t\t\t\'#tool_node_link\':\'link_controls\',\n
+\t\t\t\t\t\'#tool_reorient\':\'reorient\',\n
+\t\t\t\t\t\'#tool_group\':\'group\',\n
+\t\t\t\t\t\'#tool_ungroup\':\'ungroup\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'#tool_alignleft, #tool_posleft\':\'align_left\',\n
+\t\t\t\t\t\'#tool_aligncenter, #tool_poscenter\':\'align_center\',\n
+\t\t\t\t\t\'#tool_alignright, #tool_posright\':\'align_right\',\n
+\t\t\t\t\t\'#tool_aligntop, #tool_postop\':\'align_top\',\n
+\t\t\t\t\t\'#tool_alignmiddle, #tool_posmiddle\':\'align_middle\',\n
+\t\t\t\t\t\'#tool_alignbottom, #tool_posbottom\':\'align_bottom\',\n
+\t\t\t\t\t\'#cur_position\':\'align\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'#linecap_butt,#cur_linecap\':\'linecap_butt\',\n
+\t\t\t\t\t\'#linecap_round\':\'linecap_round\',\n
+\t\t\t\t\t\'#linecap_square\':\'linecap_square\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'#linejoin_miter,#cur_linejoin\':\'linejoin_miter\',\n
+\t\t\t\t\t\'#linejoin_round\':\'linejoin_round\',\n
+\t\t\t\t\t\'#linejoin_bevel\':\'linejoin_bevel\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'#url_notice\':\'warning\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'#layer_up\':\'go_up\',\n
+\t\t\t\t\t\'#layer_down\':\'go_down\',\n
+\t\t\t\t\t\'#layerlist td.layervis\':\'eye\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'#tool_source_save,#tool_docprops_save\':\'ok\',\n
+\t\t\t\t\t\'#tool_source_cancel,#tool_docprops_cancel\':\'cancel\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'#rwidthLabel, #iwidthLabel\':\'width\',\n
+\t\t\t\t\t\'#rheightLabel, #iheightLabel\':\'height\',\n
+\t\t\t\t\t\'#cornerRadiusLabel span\':\'c_radius\',\n
+\t\t\t\t\t\'#angleLabel\':\'angle\',\n
+\t\t\t\t\t\'#zoomLabel\':\'zoom\',\n
+\t\t\t\t\t\'#tool_fill label\': \'fill\',\n
+\t\t\t\t\t\'#tool_stroke .icon_label\': \'stroke\',\n
+\t\t\t\t\t\'#group_opacityLabel\': \'opacity\',\n
+\t\t\t\t\t\'#blurLabel\': \'blur\',\n
+\t\t\t\t\t\'#font_sizeLabel\': \'fontsize\',\n
+\t\t\t\t\t\n
+\t\t\t\t\t\'.flyout_arrow_horiz\':\'arrow_right\',\n
+\t\t\t\t\t\'.dropdown button, #main_button .dropdown\':\'arrow_down\',\n
+\t\t\t\t\t\'#palette .palette_item:first, #fill_bg, #stroke_bg\':\'no_color\'\n
+\t\t\t\t},\n
+\t\t\t\tresize: {\n
+\t\t\t\t\t\'#logo .svg_icon\': 32,\n
+\t\t\t\t\t\'.flyout_arrow_horiz .svg_icon\': 5,\n
+\t\t\t\t\t\'.layer_button .svg_icon, #layerlist td.layervis .svg_icon\': 14,\n
+\t\t\t\t\t\'.dropdown button .svg_icon\': 7,\n
+\t\t\t\t\t\'#main_button .dropdown .svg_icon\': 9,\n
+\t\t\t\t\t\'.palette_item:first .svg_icon, #fill_bg .svg_icon, #stroke_bg .svg_icon\': 16,\n
+\t\t\t\t\t\'.toolbar_button button .svg_icon\':16,\n
+\t\t\t\t\t\'.stroke_tool div div .svg_icon\': 20,\n
+\t\t\t\t\t\'#tools_bottom label .svg_icon\': 18\n
+\t\t\t\t},\n
+\t\t\t\tcallback: function(icons) {\n
+\t\t\t\t\t$(\'.toolbar_button button > svg, .toolbar_button button > img\').each(function() {\n
+\t\t\t\t\t\t$(this).parent().prepend(this);\n
+\t\t\t\t\t});\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Use small icons by default if not all left tools are visible\n
+\t\t\t\t\tvar tleft = $(\'#tools_left\');\n
+\t\t\t\t\tvar min_height = tleft.offset().top + tleft.outerHeight();\n
+\t\t\t\t\tvar size = $.pref(\'iconsize\');\n
+\t\t\t\t\tif(size && size != \'m\') {\n
+\t\t\t\t\t\tsvgEditor.setIconSize(size);\t\t\t\t\n
+\t\t\t\t\t} else if($(window).height() < min_height) {\n
+\t\t\t\t\t\t// Make smaller\n
+\t\t\t\t\t\tsvgEditor.setIconSize(\'s\');\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Look for any missing flyout icons from plugins\n
+\t\t\t\t\t$(\'.tools_flyout\').each(function() {\n
+\t\t\t\t\t\tvar shower = $(\'#\' + this.id + \'_show\');\n
+\t\t\t\t\t\tvar sel = shower.attr(\'data-curopt\');\n
+\t\t\t\t\t\t// Check if there\'s an icon here\n
+\t\t\t\t\t\tif(!shower.children(\'svg, img\').length) {\n
+\t\t\t\t\t\t\tvar clone = $(sel).children().clone();\n
+\t\t\t\t\t\t\tclone[0].removeAttribute(\'style\'); //Needed for Opera\n
+\t\t\t\t\t\t\tshower.append(clone);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\t\n
+\t\t\t\t\tsvgEditor.runCallbacks();\n
+\t\t\t\t}\n
+\t\t\t});\n
+\n
+\t\t\tEditor.canvas = svgCanvas = new $.SvgCanvas(document.getElementById("svgcanvas"), curConfig);\n
+\t\t\t\n
+\t\t\tvar palette = ["#000000", "#3f3f3f", "#7f7f7f", "#bfbfbf", "#ffffff",\n
+\t\t\t           "#ff0000", "#ff7f00", "#ffff00", "#7fff00",\n
+\t\t\t           "#00ff00", "#00ff7f", "#00ffff", "#007fff",\n
+\t\t\t           "#0000ff", "#7f00ff", "#ff00ff", "#ff007f",\n
+\t\t\t           "#7f0000", "#7f3f00", "#7f7f00", "#3f7f00",\n
+\t\t\t           "#007f00", "#007f3f", "#007f7f", "#003f7f",\n
+\t\t\t           "#00007f", "#3f007f", "#7f007f", "#7f003f",\n
+\t\t\t           "#ffaaaa", "#ffd4aa", "#ffffaa", "#d4ffaa",\n
+\t\t\t           "#aaffaa", "#aaffd4", "#aaffff", "#aad4ff",\n
+\t\t\t           "#aaaaff", "#d4aaff", "#ffaaff", "#ffaad4",\n
+\t\t\t           ];\n
+\t\n
+\t\t\t\tisMac = false, //(navigator.platform.indexOf("Mac") != -1);\n
+\t\t\t\tmodKey = "", //(isMac ? "meta+" : "ctrl+");\n
+\t\t\t\tpath = svgCanvas.pathActions,\n
+\t\t\t\tdefault_img_url = curConfig.imgPath + "logo.png",\n
+\t\t\t\tworkarea = $("#workarea"),\n
+\t\t\t\tshow_save_warning = false, \n
+\t\t\t\texportWindow = null;\n
+\n
+\t\t\t// This sets up alternative dialog boxes. They mostly work the same way as\n
+\t\t\t// their UI counterparts, expect instead of returning the result, a callback\n
+\t\t\t// needs to be included that returns the result as its first parameter.\n
+\t\t\t// In the future we may want to add additional types of dialog boxes, since \n
+\t\t\t// they should be easy to handle this way.\n
+\t\t\t(function() {\n
+\t\t\t\t$(\'#dialog_container\').draggable({cancel:\'#dialog_content, #dialog_buttons *\'});\n
+\t\t\t\tvar box = $(\'#dialog_box\'), btn_holder = $(\'#dialog_buttons\');\n
+\t\t\t\t\n
+\t\t\t\tvar dbox = function(type, msg, callback, defText) {\n
+\t\t\t\t\t$(\'#dialog_content\').html(\'<p>\'+msg.replace(/\\n/g,\'</p><p>\')+\'</p>\')\n
+\t\t\t\t\t\t.toggleClass(\'prompt\',(type==\'prompt\'));\n
+\t\t\t\t\tbtn_holder.empty();\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar ok = $(\'<input type="button" value="\' + uiStrings.ok + \'">\').appendTo(btn_holder);\n
+\t\t\t\t\n
+\t\t\t\t\tif(type != \'alert\') {\n
+\t\t\t\t\t\t$(\'<input type="button" value="\' + uiStrings.cancel + \'">\')\n
+\t\t\t\t\t\t\t.appendTo(btn_holder)\n
+\t\t\t\t\t\t\t.click(function() { box.hide();callback(false)});\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(type == \'prompt\') {\n
+\t\t\t\t\t\tvar input = $(\'<input type="text">\').prependTo(btn_holder);\n
+\t\t\t\t\t\tinput.val(defText || \'\');\n
+\t\t\t\t\t\tinput.bind(\'keydown\', \'return\', function() {ok.click();});\n
+\t\t\t\t\t}\n
+\t\t\n
+\t\t\t\t\tbox.show();\n
+\t\t\t\t\t\n
+\t\t\t\t\tok.click(function() { \n
+\t\t\t\t\t\tbox.hide();\n
+\t\t\t\t\t\tvar resp = (type == \'prompt\')?input.val():true;\n
+\t\t\t\t\t\tif(callback) callback(resp);\n
+\t\t\t\t\t}).focus();\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(type == \'prompt\') input.focus();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t$.alert = function(msg, cb) { dbox(\'alert\', msg, cb);};\n
+\t\t\t\t$.confirm = function(msg, cb) {\tdbox(\'confirm\', msg, cb);};\n
+\t\t\t\t$.prompt = function(msg, txt, cb) { dbox(\'prompt\', msg, cb, txt);};\n
+\t\t\t}());\n
+\t\t\t\n
+\t\t\tvar setSelectMode = function() {\n
+\t\t\t\t$(\'.tool_button_current\').removeClass(\'tool_button_current\').addClass(\'tool_button\');\n
+\t\t\t\t$(\'#tool_select\').addClass(\'tool_button_current\').removeClass(\'tool_button\');\n
+\t\t\t\t$(\'#styleoverrides\').text(\'#svgcanvas svg *{cursor:move;pointer-events:all} #svgcanvas svg{cursor:default}\');\n
+\t\t\t\tsvgCanvas.setMode(\'select\');\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar togglePathEditMode = function(editmode, elems) {\n
+\t\t\t\t$(\'#path_node_panel\').toggle(editmode);\n
+\t\t\t\t$(\'#tools_bottom_2,#tools_bottom_3\').toggle(!editmode);\n
+\t\t\t\tif(editmode) {\n
+\t\t\t\t\t// Change select icon\n
+\t\t\t\t\t$(\'.tool_button_current\').removeClass(\'tool_button_current\').addClass(\'tool_button\');\n
+\t\t\t\t\t$(\'#tool_select\').addClass(\'tool_button_current\').removeClass(\'tool_button\');\n
+\t\t\t\t\tsetIcon(\'#tool_select\', \'select_node\');\n
+\t\t\t\t\tmultiselected = false;\n
+\t\t\t\t\tif(elems.length) {\n
+\t\t\t\t\t\tselectedElement = elems[0];\n
+\t\t\t\t\t}\n
+\t\t\t\t} else {\n
+\t\t\t\t\tsetIcon(\'#tool_select\', \'select\');\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\n
+\t\t\t// used to make the flyouts stay on the screen longer the very first time\n
+\t\t\tvar flyoutspeed = 1250;\n
+\t\t\tvar textBeingEntered = false;\n
+\t\t\tvar selectedElement = null;\n
+\t\t\tvar multiselected = false;\n
+\t\t\tvar editingsource = false;\n
+\t\t\tvar docprops = false;\n
+\t\t\t\n
+\t\t\tvar fillPaint = new $.jGraduate.Paint({solidColor: curConfig.initFill.color});\n
+\t\t\tvar strokePaint = new $.jGraduate.Paint({solidColor: curConfig.initStroke.color});\n
+\t\t\n
+\t\t\tvar saveHandler = function(window,svg) {\n
+\t\t\t\tshow_save_warning = false;\n
+\t\t\t\n
+\t\t\t\t// by default, we add the XML prolog back, systems integrating SVG-edit (wikis, CMSs) \n
+\t\t\t\t// can just provide their own custom save handler and might not want the XML prolog\n
+\t\t\t\tsvg = "<?xml version=\'1.0\'?>\\n" + svg;\n
+\t\t\t\t\n
+\t\t\t\t// Opens the SVG in new window, with warning about Mozilla bug #308590 when applicable\n
+\t\t\t\t\n
+\t\t\t\tvar win = window.open("data:image/svg+xml;base64," + Utils.encode64(svg));\n
+\t\t\t\t\n
+\t\t\t\t// Alert will only appear the first time saved OR the first time the bug is encountered\n
+\t\t\t\tvar done = $.pref(\'save_notice_done\');\n
+\t\t\t\tif(done !== "all") {\n
+\t\t\n
+\t\t\t\t\tvar note = uiStrings.saveFromBrowser.replace(\'%s\', \'SVG\');\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Check if FF and has <defs/>\n
+\t\t\t\t\tif(navigator.userAgent.indexOf(\'Gecko/\') !== -1) {\n
+\t\t\t\t\t\tif(svg.indexOf(\'<defs\') !== -1) {\n
+\t\t\t\t\t\t\tnote += "\\n\\n" + uiStrings.defsFailOnSave;\n
+\t\t\t\t\t\t\t$.pref(\'save_notice_done\', \'all\');\n
+\t\t\t\t\t\t\tdone = "all";\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t$.pref(\'save_notice_done\', \'part\');\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\t$.pref(\'save_notice_done\', \'all\'); \n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(done !== \'part\') {\n
+\t\t\t\t\t\twin.alert(note);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar exportHandler = function(window, data) {\n
+\t\t\t\tvar issues = data.issues;\n
+\t\t\t\t\n
+\t\t\t\tif(!$(\'#export_canvas\').length) {\n
+\t\t\t\t\t$(\'<canvas>\', {id: \'export_canvas\'}).hide().appendTo(\'body\');\n
+\t\t\t\t}\n
+\t\t\t\tvar c = $(\'#export_canvas\')[0];\n
+\t\t\t\t\n
+\t\t\t\tc.width = svgCanvas.contentW;\n
+\t\t\t\tc.height = svgCanvas.contentH;\n
+\t\t\t\tcanvg(c, data.svg);\n
+\t\t\t\tvar datauri = c.toDataURL(\'image/png\');\n
+\t\t\t\texportWindow.location.href = datauri;\n
+\t\t\t\t\n
+\t\t\t\tvar note = uiStrings.saveFromBrowser.replace(\'%s\', \'PNG\');\n
+\t\t\t\t\n
+\t\t\t\t// Check if there\'s issues\n
+\n
+\t\t\t\tif(issues.length) {\n
+\t\t\t\t\tvar pre = "\\n \\u2022 ";\n
+\t\t\t\t\tnote += ("\\n\\n" + uiStrings.noteTheseIssues + pre + issues.join(pre));\n
+\t\t\t\t} \n
+\t\t\t\texportWindow.alert(note);\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\t// called when we\'ve selected a different element\n
+\t\t\tvar selectedChanged = function(window,elems) {\n
+\t\t\t\tvar mode = svgCanvas.getMode();\n
+\t\t\t\tvar is_node = (mode == "pathedit");\n
+\t\t\t\t// if elems[1] is present, then we have more than one element\n
+\t\t\t\tselectedElement = (elems.length == 1 || elems[1] == null ? elems[0] : null);\n
+\t\t\t\tmultiselected = (elems.length >= 2 && elems[1] != null);\n
+\t\t\t\tif (selectedElement != null) {\n
+\t\t\t\t\t// unless we\'re already in always set the mode of the editor to select because\n
+\t\t\t\t\t// upon creation of a text element the editor is switched into\n
+\t\t\t\t\t// select mode and this event fires - we need our UI to be in sync\n
+\t\t\t\t\t\n
+\t\t\t\t\tif (mode != "multiselect" && !is_node) {\n
+\t\t\t\t\t\tsetSelectMode();\n
+\t\t\t\t\t\tupdateToolbar();\n
+\t\t\t\t\t} \n
+\t\t\t\t\t\n
+\t\t\t\t} // if (elem != null)\n
+\t\t\n
+\t\t\t\t// Deal with pathedit mode\n
+\t\t\t\ttogglePathEditMode(is_node, elems);\n
+\t\t\t\tupdateContextPanel();\n
+\t\t\t\tsvgCanvas.runExtensions("selectedChanged", {\n
+\t\t\t\t\telems: elems,\n
+\t\t\t\t\tselectedElement: selectedElement,\n
+\t\t\t\t\tmultiselected: multiselected\n
+\t\t\t\t});\n
+\t\t\t};\n
+\t\t\n
+\t\t\t// called when any element has changed\n
+\t\t\tvar elementChanged = function(window,elems) {\n
+\t\t\t\tfor (var i = 0; i < elems.length; ++i) {\n
+\t\t\t\t\tvar elem = elems[i];\n
+\t\t\t\t\t\n
+\t\t\t\t\t// if the element changed was the svg, then it could be a resolution change\n
+\t\t\t\t\tif (elem && elem.tagName == "svg") {\n
+\t\t\t\t\t\tpopulateLayers();\n
+\t\t\t\t\t\tupdateCanvas();\n
+\t\t\t\t\t} \n
+\t\t\t\t\t// Update selectedElement if element is no longer part of the image.\n
+\t\t\t\t\t// This occurs for the text elements in Firefox\n
+\t\t\t\t\telse if(elem && selectedElement && selectedElement.parentNode == null\n
+\t\t\t\t\t\t|| elem && elem.tagName == "path") {\n
+\t\t\t\t\t\tselectedElement = elem;\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tshow_save_warning = true;\n
+\t\t\n
+\t\t\t\t// we update the contextual panel with potentially new\n
+\t\t\t\t// positional/sizing information (we DON\'T want to update the\n
+\t\t\t\t// toolbar here as that creates an infinite loop)\n
+\t\t\t\t// also this updates the history buttons\n
+\t\t\n
+\t\t\t\t// we tell it to skip focusing the text control if the\n
+\t\t\t\t// text element was previously in focus\n
+\t\t\t\tupdateContextPanel();\n
+\t\t\t\t\n
+\t\t\t\tsvgCanvas.runExtensions("elementChanged", {\n
+\t\t\t\t\telems: elems\n
+\t\t\t\t});\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar zoomChanged = function(window, bbox, autoCenter) {\n
+\t\t\t\tvar scrbar = 15,\n
+\t\t\t\t\tres = svgCanvas.getResolution(),\n
+\t\t\t\t\tw_area = workarea,\n
+\t\t\t\t\tcanvas_pos = $(\'#svgcanvas\').position();\n
+\t\t\t\tw_area.css(\'cursor\',\'auto\');\n
+\t\t\t\tvar z_info = svgCanvas.setBBoxZoom(bbox, w_area.width()-scrbar, w_area.height()-scrbar);\n
+\t\t\t\tif(!z_info) return;\n
+\t\t\t\tvar zoomlevel = z_info.zoom,\n
+\t\t\t\t\tbb = z_info.bbox;\n
+\t\t\t\t$(\'#zoom\').val(Math.round(zoomlevel*100));\n
+\t\t\t\t\n
+\t\t\t\tif(autoCenter) {\n
+\t\t\t\t\tupdateCanvas();\n
+\t\t\t\t} else {\n
+\t\t\t\t\tupdateCanvas(false, {x: bb.x * zoomlevel + (bb.width * zoomlevel)/2, y: bb.y * zoomlevel + (bb.height * zoomlevel)/2});\n
+\t\t\t\t}\n
+\t\t\n
+\t\t\t\tif(svgCanvas.getMode() == \'zoom\' && bb.width) {\n
+\t\t\t\t\t// Go to select if a zoom box was drawn\n
+\t\t\t\t\tsetSelectMode();\n
+\t\t\t\t}\n
+\t\t\t\tzoomDone();\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar flyout_funcs = {};\n
+\t\t\t\n
+\t\t\tvar setupFlyouts = function(holders) {\n
+\t\t\t\t$.each(holders, function(hold_sel, btn_opts) {\n
+\t\t\t\t\tvar buttons = $(hold_sel).children();\n
+\t\t\t\t\tvar show_sel = hold_sel + \'_show\';\n
+\t\t\t\t\tvar def = false;\n
+\t\t\t\t\tbuttons.addClass(\'tool_button\')\n
+\t\t\t\t\t\t.unbind(\'click mousedown mouseup\') // may not be necessary\n
+\t\t\t\t\t\t.each(function(i) {\n
+\t\t\t\t\t\t\t// Get this buttons options\n
+\t\t\t\t\t\t\tvar opts = btn_opts[i];\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// Remember the function that goes with this ID\n
+\t\t\t\t\t\t\tflyout_funcs[opts.sel] = opts.fn;\n
+\t\t\n
+\t\t\t\t\t\t\tif(opts.isDefault) def = i;\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// Clicking the icon in flyout should set this set\'s icon\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tvar func = function() {\n
+\t\t\t\t\t\t\t\tif($(this).hasClass(\'disabled\')) return false;\n
+\t\t\t\t\t\t\t\tif (toolButtonClick(show_sel)) {\n
+\t\t\t\t\t\t\t\t\topts.fn();\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\tif(opts.icon) {\n
+\t\t\t\t\t\t\t\t\tvar icon = $.getSvgIcon(opts.icon).clone();\n
+\t\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\t\t// \n
+\t\t\t\t\t\t\t\t\tvar icon = $(opts.sel).children().eq(0).clone();\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\tvar shower = $(show_sel);\n
+\t\t\t\t\t\t\t\ticon[0].setAttribute(\'width\',shower.width());\n
+\t\t\t\t\t\t\t\ticon[0].setAttribute(\'height\',shower.height());\n
+\t\t\t\t\t\t\t\tshower.children(\':not(.flyout_arrow_horiz)\').remove();\n
+\t\t\t\t\t\t\t\tshower.append(icon).attr(\'data-curopt\', opts.sel); // This sets the current mode\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t$(this).mouseup(func);\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tif(opts.key) {\n
+\t\t\t\t\t\t\t\t$(document).bind(\'keydown\', opts.key+\'\', func);\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(def) {\n
+\t\t\t\t\t\t$(show_sel).attr(\'data-curopt\', btn_opts[def].sel);\n
+\t\t\t\t\t} else if(!$(show_sel).attr(\'data-curopt\')) {\n
+\t\t\t\t\t\t// Set first as default\n
+\t\t\t\t\t\t$(show_sel).attr(\'data-curopt\', btn_opts[0].sel);\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar timer;\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Clicking the "show" icon should set the current mode\n
+\t\t\t\t\t$(show_sel).mousedown(function(evt) {\n
+\t\t\t\t\t\tif($(show_sel).hasClass(\'disabled\')) return false;\n
+\t\t\t\t\t\tvar holder = $(show_sel.replace(\'_show\',\'\'));\n
+\t\t\t\t\t\tvar l = holder.css(\'left\');\n
+\t\t\t\t\t\tvar w = holder.width()*-1;\n
+\t\t\t\t\t\tvar time = holder.data(\'shown_popop\')?200:0;\n
+\t\t\t\t\t\ttimer = setTimeout(function() {\n
+\t\t\t\t\t\t\t// Show corresponding menu\n
+\t\t\t\t\t\t\tholder.css(\'left\', w).show().animate({\n
+\t\t\t\t\t\t\t\tleft: l\n
+\t\t\t\t\t\t\t},150);\n
+\t\t\t\t\t\t\tholder.data(\'shown_popop\',true);\n
+\t\t\t\t\t\t},time);\n
+\t\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t\t}).mouseup(function() {\n
+\t\t\t\t\t\tclearTimeout(timer);\n
+\t\t\t\t\t\tvar opt = $(this).attr(\'data-curopt\');\n
+\t\t\t\t\t\tif (toolButtonClick(show_sel)) {\n
+\t\t\t\t\t\t\tflyout_funcs[opt]();\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\t\n
+\t\t\t\t\t// \t$(\'#tools_rect\').mouseleave(function(){$(\'#tools_rect\').fadeOut();});\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar pos = $(show_sel).position();\n
+\t\t\t\t\t$(hold_sel).css({\'left\': pos.left+34, \'top\': pos.top+77});\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tsetFlyoutTitles();\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar makeFlyoutHolder = function(id, child) {\n
+\t\t\t\tvar div = $(\'<div>\',{\n
+\t\t\t\t\t\'class\': \'tools_flyout\',\n
+\t\t\t\t\tid: id\n
+\t\t\t\t}).appendTo(\'#svg_editor\').append(child);\n
+\t\t\t\t\n
+\t\t\t\treturn div;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar setFlyoutPositions = function() {\n
+\t\t\t\t$(\'.tools_flyout\').each(function() {\n
+\t\t\t\t\tvar shower = $(\'#\' + this.id + \'_show\');\n
+\t\t\t\t\tvar pos = shower.offset();\n
+\t\t\t\t\tvar w = shower.outerWidth();\n
+\t\t\t\t\t$(this).css({left: pos.left + w, top: pos.top});\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar setFlyoutTitles = function() {\n
+\t\t\t\t$(\'.tools_flyout\').each(function() {\n
+\t\t\t\t\tvar shower = $(\'#\' + this.id + \'_show\');\n
+\t\t\t\t\tvar tooltips = [];\n
+\t\t\t\t\t$(this).children().each(function() {\n
+\t\t\t\t\t\ttooltips.push(this.title);\n
+\t\t\t\t\t});\n
+\t\t\t\t\tshower[0].title = tooltips.join(\' / \');\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar extAdded = function(window, ext) {\n
+\t\t\n
+\t\t\t\tvar cb_called = false;\n
+\t\t\t\t\n
+\t\t\t\tvar runCallback = function() {\n
+\t\t\t\t\tif(ext.callback && !cb_called) {\n
+\t\t\t\t\t\tcb_called = true;\n
+\t\t\t\t\t\text.callback();\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\n
+\t\t\t\tvar btn_selects = [];\n
+\t\t\n
+\t\t\t\tif(ext.context_tools) {\n
+\t\t\t\t\t$.each(ext.context_tools, function(i, tool) {\n
+\t\t\t\t\t\t// Add select tool\n
+\t\t\t\t\t\tvar cont_id = tool.container_id?(\' id="\' + tool.container_id + \'"\'):"";\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tvar panel = $(\'#\' + tool.panel);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// create the panel if it doesn\'t exist\n
+\t\t\t\t\t\tif(!panel.length)\n
+\t\t\t\t\t\t\tpanel = $(\'<div>\', {id: tool.panel}).appendTo("#tools_top");\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// TODO: Allow support for other types, or adding to existing tool\n
+\t\t\t\t\t\tswitch (tool.type) {\n
+\t\t\t\t\t\tcase \'tool_button\':\n
+\t\t\t\t\t\t\tvar html = \'<div class="tool_button">\' + tool.id + \'</div>\';\n
+\t\t\t\t\t\t\tvar div = $(html).appendTo(panel);\n
+\t\t\t\t\t\t\tif (tool.events) {\n
+\t\t\t\t\t\t\t\t$.each(tool.events, function(evt, func) {\n
+\t\t\t\t\t\t\t\t\t$(div).bind(evt, func);\n
+\t\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase \'select\':\n
+\t\t\t\t\t\t\tvar html = \'<label\' + cont_id + \'>\'\n
+\t\t\t\t\t\t\t\t+ \'<select id="\' + tool.id + \'">\';\n
+\t\t\t\t\t\t\t$.each(tool.options, function(val, text) {\n
+\t\t\t\t\t\t\t\tvar sel = (val == tool.defval) ? " selected":"";\n
+\t\t\t\t\t\t\t\thtml += \'<option value="\'+val+\'"\' + sel + \'>\' + text + \'</option>\';\n
+\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\thtml += "</select></label>";\n
+\t\t\t\t\t\t\t// Creates the tool, hides & adds it, returns the select element\n
+\t\t\t\t\t\t\tvar sel = $(html).appendTo(panel).find(\'select\');\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t$.each(tool.events, function(evt, func) {\n
+\t\t\t\t\t\t\t\t$(sel).bind(evt, func);\n
+\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase \'button-select\': \n
+\t\t\t\t\t\t\tvar html = \'<div id="\' + tool.id + \'" class="dropdown toolset" title="\' + tool.title + \'">\'\n
+\t\t\t\t\t\t\t\t+ \'<div id="cur_\' + tool.id + \'" class="icon_label"></div><button></button></div>\';\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tvar list = $(\'<ul id="\' + tool.id + \'_opts"></ul>\').appendTo(\'#option_lists\');\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tif(tool.colnum) {\n
+\t\t\t\t\t\t\t\tlist.addClass(\'optcols\' + tool.colnum);\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// Creates the tool, hides & adds it, returns the select element\n
+\t\t\t\t\t\t\tvar dropdown = $(html).appendTo(panel).children();\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tbtn_selects.push({\n
+\t\t\t\t\t\t\t\telem: (\'#\' + tool.id),\n
+\t\t\t\t\t\t\t\tlist: (\'#\' + tool.id + \'_opts\'),\n
+\t\t\t\t\t\t\t\ttitle: tool.title,\n
+\t\t\t\t\t\t\t\tcallback: tool.events.change,\n
+\t\t\t\t\t\t\t\tcur: (\'#cur_\' + tool.id)\n
+\t\t\t\t\t\t\t});\n
+\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase \'input\':\n
+\t\t\t\t\t\t\tvar html = \'<label\' + cont_id + \'>\'\n
+\t\t\t\t\t\t\t\t+ \'<span id="\' + tool.id + \'_label">\' \n
+\t\t\t\t\t\t\t\t+ tool.label + \':</span>\'\n
+\t\t\t\t\t\t\t\t+ \'<input id="\' + tool.id + \'" title="\' + tool.title\n
+\t\t\t\t\t\t\t\t+ \'" size="\' + (tool.size || "4") + \'" value="\' + (tool.defval || "") + \'" type="text"/></label>\'\n
+\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// Creates the tool, hides & adds it, returns the select element\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// Add to given tool.panel\n
+\t\t\t\t\t\t\tvar inp = $(html).appendTo(panel).find(\'input\');\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tif(tool.spindata) {\n
+\t\t\t\t\t\t\t\tinp.SpinButton(tool.spindata);\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tif(tool.events) {\n
+\t\t\t\t\t\t\t\t$.each(tool.events, function(evt, func) {\n
+\t\t\t\t\t\t\t\t\tinp.bind(evt, func);\n
+\t\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\tdefault:\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tif(ext.buttons) {\n
+\t\t\t\t\tvar fallback_obj = {},\n
+\t\t\t\t\t\tplacement_obj = {},\n
+\t\t\t\t\t\tsvgicons = ext.svgicons;\n
+\t\t\t\t\tvar holders = {};\n
+\t\t\t\t\t\n
+\t\t\t\t\n
+\t\t\t\t\t// Add buttons given by extension\n
+\t\t\t\t\t$.each(ext.buttons, function(i, btn) {\n
+\t\t\t\t\t\tvar icon;\n
+\t\t\t\t\t\tvar id = btn.id;\n
+\t\t\t\t\t\tvar num = i;\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// Give button a unique ID\n
+\t\t\t\t\t\twhile($(\'#\'+id).length) {\n
+\t\t\t\t\t\t\tid = btn.id + \'_\' + (++num);\n
+\t\t\t\t\t\t}\n
+\t\t\n
+\t\t\t\t\t\tif(!svgicons) {\n
+\t\t\t\t\t\t\ticon = $(\'<img src="\' + btn.icon + \'">\');\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\tfallback_obj[id] = btn.icon;\n
+\t\t\t\t\t\t\tvar svgicon = btn.svgicon?btn.svgicon:btn.id;\n
+\t\t\t\t\t\t\tplacement_obj[\'#\' + id] = svgicon;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tvar cls, parent;\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// Set button up according to its type\n
+\t\t\t\t\t\tswitch ( btn.type ) {\n
+\t\t\t\t\t\tcase \'mode\':\n
+\t\t\t\t\t\t\tcls = \'tool_button\';\n
+\t\t\t\t\t\t\tparent = "#tools_left";\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase \'context\':\n
+\t\t\t\t\t\t\tcls = \'tool_button\';\n
+\t\t\t\t\t\t\tparent = "#" + btn.panel;\n
+\t\t\t\t\t\t\t// create the panel if it doesn\'t exist\n
+\t\t\t\t\t\t\tif(!$(parent).length)\n
+\t\t\t\t\t\t\t\t$(\'<div>\', {id: btn.panel}).appendTo("#tools_top");\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tvar button = $(btn.list?\'<li/>\':\'<div/>\')\n
+\t\t\t\t\t\t\t.attr("id", id)\n
+\t\t\t\t\t\t\t.attr("title", btn.title)\n
+\t\t\t\t\t\t\t.addClass(cls);\n
+\t\t\t\t\t\tif(!btn.includeWith && !btn.list) {\n
+\t\t\t\t\t\t\tbutton.appendTo(parent);\n
+\t\t\t\t\t\t} else if(btn.list) {\n
+\t\t\t\t\t\t\t// Add button to list\n
+\t\t\t\t\t\t\tbutton.addClass(\'push_button\');\n
+\t\t\t\t\t\t\t$(\'#\' + btn.list + \'_opts\').append(button);\n
+ \t\t\t\t\t\t\tif(btn.isDefault) {\n
+ \t\t\t\t\t\t\t\t$(\'#cur_\' + btn.list).append(button.children().clone());\n
+ \t\t\t\t\t\t\t\tvar svgicon = btn.svgicon?btn.svgicon:btn.id;\n
+\t \t\t\t\t\t\t\tplacement_obj[\'#cur_\' + btn.list] = svgicon;\n
+ \t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t} else if(btn.includeWith) {\n
+\t\t\t\t\t\t\t// Add to flyout menu / make flyout menu\n
+\t\t\t\t\t\t\tvar opts = btn.includeWith;\n
+\t\t\t\t\t\t\t// opts.button, default, position\n
+\t\t\t\t\t\t\tvar ref_btn = $(opts.button);\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tvar flyout_holder = ref_btn.parent();\n
+\t\t\t\t\t\t\t// Create a flyout menu if there isn\'t one already\n
+\t\t\t\t\t\t\tif(!ref_btn.parent().hasClass(\'tools_flyout\')) {\n
+\t\t\t\t\t\t\t\t// Create flyout placeholder\n
+\t\t\t\t\t\t\t\tvar arr_div = $(\'<div>\',{id:\'flyout_arrow_horiz\'})\n
+\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\tvar tls_id = ref_btn[0].id.replace(\'tool_\',\'tools_\')\n
+\t\t\t\t\t\t\t\tvar show_btn = ref_btn.clone()\n
+\t\t\t\t\t\t\t\t\t.attr(\'id\',tls_id + \'_show\')\n
+\t\t\t\t\t\t\t\t\t.append($(\'<div>\',{\'class\':\'flyout_arrow_horiz\'}));\n
+\t\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\tref_btn.before(show_btn);\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\t// Create a flyout div\n
+\t\t\t\t\t\t\t\tflyout_holder = makeFlyoutHolder(tls_id, ref_btn);\n
+\t\t\t\t\t\t\t} \n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tvar ref_data = Actions.getButtonData(opts.button);\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tif(opts.isDefault) {\n
+\t\t\t\t\t\t\t\tplacement_obj[\'#\' + tls_id + \'_show\'] = btn.id;\n
+\t\t\t\t\t\t\t} \n
+\t\t\t\t\t\t\t// TODO: Find way to set the current icon using the iconloader if this is not default\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// Include data for extension button as well as ref button\n
+\t\t\t\t\t\t\tvar cur_h = holders[\'#\'+flyout_holder[0].id] = [{\n
+\t\t\t\t\t\t\t\tsel: \'#\'+id,\n
+\t\t\t\t\t\t\t\tfn: btn.events.click,\n
+\t\t\t\t\t\t\t\ticon: btn.id,\n
+\t\t\t\t\t\t\t\tkey: btn.key,\n
+\t\t\t\t\t\t\t\tisDefault: btn.includeWith?btn.includeWith.isDefault:0\n
+\t\t\t\t\t\t\t}, ref_data];\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// {sel:\'#tool_rect\', fn: clickRect, evt: \'mouseup\', key: 4, parent: \'#tools_rect\', icon: \'rect\'}\n
+\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tvar pos  = ("position" in opts)?opts.position:\'last\';\n
+\t\t\t\t\t\t\tvar len = flyout_holder.children().length;\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// Add at given position or end\n
+\t\t\t\t\t\t\tif(!isNaN(pos) && pos >= 0 && pos < len) {\n
+\t\t\t\t\t\t\t\tflyout_holder.children().eq(pos).before(button);\n
+\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\tflyout_holder.append(button);\n
+\t\t\t\t\t\t\t\tcur_h.reverse();\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tif(!svgicons) {\n
+\t\t\t\t\t\t\tbutton.append(icon);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tif(!btn.list) {\n
+\t\t\t\t\t\t\t// Add given events to button\n
+\t\t\t\t\t\t\t$.each(btn.events, function(name, func) {\n
+\t\t\t\t\t\t\t\tif(name == "click") {\n
+\t\t\t\t\t\t\t\t\tif(btn.type == \'mode\') {\n
+\t\t\t\t\t\t\t\t\t\tif(btn.includeWith) {\n
+\t\t\t\t\t\t\t\t\t\t\tbutton.bind(name, func);\n
+\t\t\t\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\t\t\t\tbutton.bind(name, function() {\n
+\t\t\t\t\t\t\t\t\t\t\t\tif(toolButtonClick(button)) {\n
+\t\t\t\t\t\t\t\t\t\t\t\t\tfunc();\n
+\t\t\t\t\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\t\tif(btn.key) {\n
+\t\t\t\t\t\t\t\t\t\t\t$(document).bind(\'keydown\', btn.key, func);\n
+\t\t\t\t\t\t\t\t\t\t\tif(btn.title) button.attr("title", btn.title + \' [\'+btn.key+\']\');\n
+\t\t\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\t\t\tbutton.bind(name, func);\n
+\t\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\t\tbutton.bind(name, func);\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tsetupFlyouts(holders);\n
+\t\t\t\t\t});\n
+\t\t\t\t\t\n
+\t\t\t\t\t$.each(btn_selects, function() {\n
+\t\t\t\t\t\taddAltDropDown(this.elem, this.list, this.callback, {seticon: true}); \n
+\t\t\t\t\t});\n
+\n
+\t\t\t\t\t\n
+\t\t\t\t\t$.svgIcons(svgicons, {\n
+\t\t\t\t\t\tw:24, h:24,\n
+\t\t\t\t\t\tid_match: false,\n
+\t\t\t\t\t\tno_img: true,\n
+\t\t\t\t\t\tfallback: fallback_obj,\n
+\t\t\t\t\t\tplacement: placement_obj,\n
+\t\t\t\t\t\tcallback: function(icons) {\n
+\t\t\t\t\t\t\t// Non-ideal hack to make the icon match the current size\n
+\t\t\t\t\t\t\tif(curPrefs.iconsize && curPrefs.iconsize != \'m\') {\n
+\t\t\t\t\t\t\t\tsetIconSize(curPrefs.iconsize, true);\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\trunCallback();\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t\t});\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\trunCallback();\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar getPaint = function(color, opac) {\n
+\t\t\t\t// update the editor\'s fill paint\n
+\t\t\t\tvar opts = null;\n
+\t\t\t\tif (color.substr(0,5) == "url(#") {\n
+\t\t\t\t\tvar grad = document.getElementById(color.substr(5,color.length-6));\n
+\t\t\t\t\topts = { alpha: opac };\n
+\t\t\t\t\topts[grad.tagName] = grad;\n
+\t\t\t\t} \n
+\t\t\t\telse if (color.substr(0,1) == "#") {\n
+\t\t\t\t\topts = {\n
+\t\t\t\t\t\talpha: opac,\n
+\t\t\t\t\t\tsolidColor: color.substr(1)\n
+\t\t\t\t\t};\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\topts = {\n
+\t\t\t\t\t\talpha: opac,\n
+\t\t\t\t\t\tsolidColor: \'none\'\n
+\t\t\t\t\t};\n
+\t\t\t\t}\n
+\t\t\t\treturn new $.jGraduate.Paint(opts);\n
+\t\t\t};\t\n
+\t\t\n
+\t\t\t// updates the toolbar (colors, opacity, etc) based on the selected element\n
+\t\t\t// This function also updates the opacity and id elements that are in the context panel\n
+\t\t\tvar updateToolbar = function() {\n
+\t\t\t\tif (selectedElement != null && $.inArray(selectedElement.tagName, [\'image\', \'text\', \'foreignObject\', \'g\', \'a\']) === -1) {\n
+\t\t\t\t\t// get opacity values\n
+\t\t\t\t\tvar fillOpacity = parseFloat(selectedElement.getAttribute("fill-opacity"));\n
+\t\t\t\t\tif (isNaN(fillOpacity)) {\n
+\t\t\t\t\t\tfillOpacity = 1.0;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar strokeOpacity = parseFloat(selectedElement.getAttribute("stroke-opacity"));\n
+\t\t\t\t\tif (isNaN(strokeOpacity)) {\n
+\t\t\t\t\t\tstrokeOpacity = 1.0;\n
+\t\t\t\t\t}\n
+\t\t\n
+\t\t\t\t\t// update fill color and opacity\n
+\t\t\t\t\tvar fillColor = selectedElement.getAttribute("fill")||"black";\n
+\t\t\t\t\t// prevent undo on these canvas changes\n
+\t\t\t\t\tsvgCanvas.setFillColor(fillColor, true);\n
+\t\t\t\t\tsvgCanvas.setFillOpacity(fillOpacity, true);\n
+\t\t\n
+\t\t\t\t\t// update stroke color and opacity\n
+\t\t\t\t\tvar strokeColor = selectedElement.getAttribute("stroke")||"none";\n
+\t\t\t\t\t// prevent undo on these canvas changes\n
+\t\t\t\t\tsvgCanvas.setStrokeColor(strokeColor, true);\n
+\t\t\t\t\tsvgCanvas.setStrokeOpacity(strokeOpacity, true);\n
+\t\t\n
+\t\t\t\t\t// update the rect inside #fill_color\n
+\t\t\t\t\t$("#stroke_color rect").attr({\n
+\t\t\t\t\t\tfill: strokeColor,\n
+\t\t\t\t\t\topacity: strokeOpacity\n
+\t\t\t\t\t});\n
+\n
+\t\t\t\t\t// update the rect inside #fill_color\n
+\t\t\t\t\t$("#fill_color rect").attr({\n
+\t\t\t\t\t\tfill: fillColor,\n
+\t\t\t\t\t\topacity: fillOpacity\n
+\t\t\t\t\t});\n
+\t\t\n
+\t\t\t\t\tfillOpacity *= 100;\n
+\t\t\t\t\tstrokeOpacity *= 100;\n
+\t\t\t\t\t\n
+\t\t\t\t\tfillPaint = getPaint(fillColor, fillOpacity);\n
+\t\t\t\t\tstrokePaint = getPaint(strokeColor, strokeOpacity);\n
+\t\t\t\t\t\n
+\t\t\t\t\tfillOpacity = fillOpacity + " %";\n
+\t\t\t\t\tstrokeOpacity = strokeOpacity + " %";\n
+\t\t\n
+\t\t\t\t\t// update fill color\n
+\t\t\t\t\tif (fillColor == "none") {\n
+\t\t\t\t\t\tfillOpacity = "N/A";\n
+\t\t\t\t\t}\n
+\t\t\t\t\tif (strokeColor == null || strokeColor == "" || strokeColor == "none") {\n
+\t\t\t\t\t\tstrokeColor = "none";\n
+\t\t\t\t\t\tstrokeOpacity = "N/A";\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\t$(\'#stroke_width\').val(selectedElement.getAttribute("stroke-width")||1);\n
+\t\t\t\t\t$(\'#stroke_style\').val(selectedElement.getAttribute("stroke-dasharray")||"none");\n
+\n
+\t\t\t\t\tvar attr = selectedElement.getAttribute("stroke-linejoin") || \'miter\';\n
+\t\t\t\t\t\n
+\t\t\t\t\tsetStrokeOpt($(\'#linejoin_\' + attr)[0]);\n
+\t\t\t\t\t\n
+\t\t\t\t\tattr = selectedElement.getAttribute("stroke-linecap") || \'butt\';\n
+\t\t\t\t\t\n
+\t\t\t\t\tsetStrokeOpt($(\'#linecap_\' + attr)[0]);\n
+\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// All elements including image and group have opacity\n
+\t\t\t\tif(selectedElement != null) {\n
+\t\t\t\t\tvar opac_perc = ((selectedElement.getAttribute("opacity")||1.0)*100);\n
+\t\t\t\t\t$(\'#group_opacity\').val(opac_perc);\n
+\t\t\t\t\t$(\'#opac_slider\').slider(\'option\', \'value\', opac_perc);\n
+\t\t\t\t\t$(\'#elem_id\').val(selectedElement.id);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tupdateToolButtonState();\n
+\t\t\t};\n
+\t\t\n
+\t\t\t// updates the context panel tools based on the selected element\n
+\t\t\tvar updateContextPanel = function() {\n
+\t\t\t\tvar elem = selectedElement;\n
+\t\t\t\t// If element has just been deleted, consider it null\n
+\t\t\t\tif(elem != null && !elem.parentNode) elem = null;\n
+\t\t\t\tvar currentLayer = svgCanvas.getCurrentLayer();\n
+\t\t\t\tvar currentMode = svgCanvas.getMode();\n
+\t\t\t\t// No need to update anything else in rotate mode\n
+\t\t\t\tif (currentMode == \'rotate\' && elem != null) {\n
+\t\t\t\t\tvar ang = svgCanvas.getRotationAngle(elem);\n
+\t\t\t\t\t$(\'#angle\').val(ang);\n
+\t\t\t\t\t$(\'#tool_reorient\').toggleClass(\'disabled\', ang == 0);\n
+\t\t\t\t\treturn;\n
+\t\t\t\t}\n
+\t\t\t\tvar is_node = currentMode == \'pathedit\'; //elem ? (elem.id && elem.id.indexOf(\'pathpointgrip\') == 0) : false;\n
+\t\t\t\t$(\'#selected_panel, #multiselected_panel, #g_panel, #rect_panel, #circle_panel,\\\n
+\t\t\t\t\t#ellipse_panel, #line_panel, #text_panel, #image_panel\').hide();\n
+\t\t\t\tif (elem != null) {\n
+\t\t\t\t\tvar elname = elem.nodeName;\n
+\t\t\t\t\t\n
+\t\t\t\t\t// If this is a link with no transform and one child, pretend\n
+\t\t\t\t\t// its child is selected\n
+// \t\t\t\t\tconsole.log(\'go\', elem)\n
+// \t\t\t\t\tif(elname === \'a\') { // && !$(elem).attr(\'transform\')) {\n
+// \t\t\t\t\t\telem = elem.firstChild;\n
+// \t\t\t\t\t}\n
+\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar angle = svgCanvas.getRotationAngle(elem);\n
+\t\t\t\t\t$(\'#angle\').val(angle);\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar blurval = svgCanvas.getBlur(elem);\n
+\t\t\t\t\t$(\'#blur\').val(blurval);\n
+\t\t\t\t\t$(\'#blur_slider\').slider(\'option\', \'value\', blurval);\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(svgCanvas.addedNew) {\n
+\t\t\t\t\t\tif(elname == \'image\') {\n
+\t\t\t\t\t\t\tpromptImgURL();\n
+\t\t\t\t\t\t} else if(elname == \'text\') {\n
+\t\t\t\t\t\t\t// TODO: Do something here for new text\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(!is_node && currentMode != \'pathedit\') {\n
+\t\t\t\t\t\t$(\'#selected_panel\').show();\n
+\t\t\t\t\t\t// Elements in this array already have coord fields\n
+\t\t\t\t\t\tif($.inArray(elname, [\'line\', \'circle\', \'ellipse\']) != -1) {\n
+\t\t\t\t\t\t\t$(\'#xy_panel\').hide();\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\tvar x,y;\n
+\t\t\t\t\t\t\t// Get BBox vals for g, polyline and path\n
+\t\t\t\t\t\t\tif($.inArray(elname, [\'g\', \'polyline\', \'path\']) != -1) {\n
+\t\t\t\t\t\t\t\tvar bb = svgCanvas.getStrokedBBox([elem]);\n
+\t\t\t\t\t\t\t\tif(bb) {\n
+\t\t\t\t\t\t\t\t\tx = bb.x;\n
+\t\t\t\t\t\t\t\t\ty = bb.y;\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\tx = elem.getAttribute(\'x\');\n
+\t\t\t\t\t\t\t\ty = elem.getAttribute(\'y\');\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t$(\'#selected_x\').val(x || 0);\n
+\t\t\t\t\t\t\t$(\'#selected_y\').val(y || 0);\n
+\t\t\t\t\t\t\t$(\'#xy_panel\').show();\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// Elements in this array cannot be converted to a path\n
+\t\t\t\t\t\tvar no_path = $.inArray(elname, [\'image\', \'text\', \'path\', \'g\', \'use\']) == -1;\n
+\t\t\t\t\t\t$(\'#tool_topath\').toggle(no_path);\n
+\t\t\t\t\t\t$(\'#tool_reorient\').toggle(elname == \'path\');\n
+\t\t\t\t\t\t$(\'#tool_reorient\').toggleClass(\'disabled\', angle == 0);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tvar point = path.getNodePoint();\n
+\t\t\t\t\t\t$(\'#tool_add_subpath\').removeClass(\'push_button_pressed\').addClass(\'tool_button\');\n
+\t\t\t\t\t\t$(\'#tool_node_delete\').toggleClass(\'disabled\', !path.canDeleteNodes);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// Show open/close button based on selected point\n
+\t\t\t\t\t\tsetIcon(\'#tool_openclose_path\', path.closed_subpath ? \'open_path\' : \'close_path\');\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tif(point) {\n
+\t\t\t\t\t\t\tvar seg_type = $(\'#seg_type\');\n
+\t\t\t\t\t\t\t$(\'#path_node_x\').val(point.x);\n
+\t\t\t\t\t\t\t$(\'#path_node_y\').val(point.y);\n
+\t\t\t\t\t\t\tif(point.type) {\n
+\t\t\t\t\t\t\t\tseg_type.val(point.type).removeAttr(\'disabled\');\n
+\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\tseg_type.val(4).attr(\'disabled\',\'disabled\');\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\treturn;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\t// update contextual tools here\n
+\t\t\t\t\tvar panels = {\n
+\t\t\t\t\t\tg: [],\n
+\t\t\t\t\t\trect: [\'rx\',\'width\',\'height\'],\n
+\t\t\t\t\t\timage: [\'width\',\'height\'],\n
+\t\t\t\t\t\tcircle: [\'cx\',\'cy\',\'r\'],\n
+\t\t\t\t\t\tellipse: [\'cx\',\'cy\',\'rx\',\'ry\'],\n
+\t\t\t\t\t\tline: [\'x1\',\'y1\',\'x2\',\'y2\'], \n
+\t\t\t\t\t\ttext: []\n
+\t\t\t\t\t};\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar el_name = elem.tagName;\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(panels[el_name]) {\n
+\t\t\t\t\t\tvar cur_panel = panels[el_name];\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t$(\'#\' + el_name + \'_panel\').show();\n
+\t\t\t\n
+\t\t\t\t\t\t$.each(cur_panel, function(i, item) {\n
+\t\t\t\t\t\t\t$(\'#\' + el_name + \'_\' + item).val(elem.getAttribute(item) || 0);\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tif(el_name == \'text\') {\n
+\t\t\t\t\t\t\t$(\'#text_panel\').css("display", "inline");\t\n
+\t\t\t\t\t\t\tif (svgCanvas.getItalic()) {\n
+\t\t\t\t\t\t\t\t$(\'#tool_italic\').addClass(\'push_button_pressed\').removeClass(\'tool_button\');\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\telse {\n
+\t\t\t\t\t\t\t\t$(\'#tool_italic\').removeClass(\'push_button_pressed\').addClass(\'tool_button\');\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\tif (svgCanvas.getBold()) {\n
+\t\t\t\t\t\t\t\t$(\'#tool_bold\').addClass(\'push_button_pressed\').removeClass(\'tool_button\');\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\telse {\n
+\t\t\t\t\t\t\t\t$(\'#tool_bold\').removeClass(\'push_button_pressed\').addClass(\'tool_button\');\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t$(\'#font_family\').val(elem.getAttribute("font-family"));\n
+\t\t\t\t\t\t\t$(\'#font_size\').val(elem.getAttribute("font-size"));\n
+\t\t\t\t\t\t\t$(\'#text\').val(elem.textContent);\n
+\t\t\t\t\t\t\tif (svgCanvas.addedNew) {\n
+\t\t\t\t\t\t\t\t$(\'#text\').focus().select();\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t} // text\n
+\t\t\t\t\t\telse if(el_name == \'image\') {\n
+\t\t\t\t\t\t\tvar xlinkNS="http://www.w3.org/1999/xlink";\n
+\t\t\t\t\t\t\tvar href = elem.getAttributeNS(xlinkNS, "href");\n
+\t\t\t\t\t\t\tsetImageURL(href);\n
+\t\t\t\t\t\t} // image\n
+\t\t\t\t\t}\n
+\t\t\t\t} // if (elem != null)\n
+\t\t\t\telse if (multiselected) {\n
+\t\t\t\t\t$(\'#multiselected_panel\').show();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// update history buttons\n
+\t\t\t\tif (svgCanvas.getUndoStackSize() > 0) {\n
+\t\t\t\t\t$(\'#tool_undo\').removeClass( \'disabled\');\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\t$(\'#tool_undo\').addClass( \'disabled\');\n
+\t\t\t\t}\n
+\t\t\t\tif (svgCanvas.getRedoStackSize() > 0) {\n
+\t\t\t\t\t$(\'#tool_redo\').removeClass( \'disabled\');\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\t$(\'#tool_redo\').addClass( \'disabled\');\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tsvgCanvas.addedNew = false;\n
+\t\t\n
+\t\t\t\tif ( (elem && !is_node)\t|| multiselected) {\n
+\t\t\t\t\t// update the selected elements\' layer\n
+\t\t\t\t\t$(\'#selLayerNames\').removeAttr(\'disabled\').val(currentLayer);\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\t$(\'#selLayerNames\').attr(\'disabled\', \'disabled\');\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\t$(\'#text\').focus( function(){ textBeingEntered = true; } );\n
+\t\t\t$(\'#text\').blur( function(){ textBeingEntered = false; } );\n
+\t\t  \n
+\t\t\t// bind the selected event to our function that handles updates to the UI\n
+\t\t\tsvgCanvas.bind("selected", selectedChanged);\n
+\t\t\tsvgCanvas.bind("changed", elementChanged);\n
+\t\t\tsvgCanvas.bind("saved", saveHandler);\n
+\t\t\tsvgCanvas.bind("exported", exportHandler);\n
+\t\t\tsvgCanvas.bind("zoomed", zoomChanged);\n
+\t\t\tsvgCanvas.bind("extension_added", extAdded);\n
+\t\t\tsvgCanvas.textActions.setInputElem($("#text")[0]);\n
+\t\t\n
+\t\t\tvar str = \'<div class="palette_item" data-rgb="none"></div>\'\n
+\t\t\t$.each(palette, function(i,item){\n
+\t\t\t\tstr += \'<div class="palette_item" style="background-color: \' + item + \';" data-rgb="\' + item + \'"></div>\';\n
+\t\t\t});\n
+\t\t\t$(\'#palette\').append(str);\n
+\t\t\t\n
+\t\t\t// Set up editor background functionality\n
+\t\t\t// TODO add checkerboard as "pattern"\n
+\t\t\tvar color_blocks = [\'#FFF\',\'#888\',\'#000\']; // ,\'url(data:image/gif;base64,R0lGODlhEAAQAIAAAP%2F%2F%2F9bW1iH5BAAAAAAALAAAAAAQABAAAAIfjG%2Bgq4jM3IFLJgpswNly%2FXkcBpIiVaInlLJr9FZWAQA7)\'];\n
+\t\t\tvar str = \'\';\n
+\t\t\t$.each(color_blocks, function() {\n
+\t\t\t\tstr += \'<div class="color_block" style="background-color:\' + this + \';"></div>\';\n
+\t\t\t});\n
+\t\t\t$(\'#bg_blocks\').append(str);\n
+\t\t\tvar blocks = $(\'#bg_blocks div\');\n
+\t\t\tvar cur_bg = \'cur_background\';\n
+\t\t\tblocks.each(function() {\n
+\t\t\t\tvar blk = $(this);\n
+\t\t\t\tblk.click(function() {\n
+\t\t\t\t\tblocks.removeClass(cur_bg);\n
+\t\t\t\t\t$(this).addClass(cur_bg);\n
+\t\t\t\t});\n
+\t\t\t});\n
+\t\t\n
+\t\t\tif($.pref(\'bkgd_color\')) {\n
+\t\t\t\tsetBackground($.pref(\'bkgd_color\'), $.pref(\'bkgd_url\'));\n
+\t\t\t} else if($.pref(\'bkgd_url\')) {\n
+\t\t\t\t// No color set, only URL\n
+\t\t\t\tsetBackground(defaultPrefs.bkgd_color, $.pref(\'bkgd_url\'));\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tif($.pref(\'img_save\')) {\n
+\t\t\t\tcurPrefs.img_save = $.pref(\'img_save\');\n
+\t\t\t\t$(\'#image_save_opts input\').val([curPrefs.img_save]);\n
+\t\t\t}\n
+\t\t\n
+\t\t\tvar changeRectRadius = function(ctl) {\n
+\t\t\t\tsvgCanvas.setRectRadius(ctl.value);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar changeFontSize = function(ctl) {\n
+\t\t\t\tsvgCanvas.setFontSize(ctl.value);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar changeStrokeWidth = function(ctl) {\n
+\t\t\t\tvar val = ctl.value;\n
+\t\t\t\tif(val == 0 && selectedElement && $.inArray(selectedElement.nodeName, [\'line\', \'polyline\']) != -1) {\n
+\t\t\t\t\tval = ctl.value = 1;\n
+\t\t\t\t}\n
+\t\t\t\tsvgCanvas.setStrokeWidth(val);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar changeRotationAngle = function(ctl) {\n
+\t\t\t\tsvgCanvas.setRotationAngle(ctl.value);\n
+\t\t\t\t$(\'#tool_reorient\').toggleClass(\'disabled\', ctl.value == 0);\n
+\t\t\t}\n
+\t\t\tvar changeZoom = function(ctl) {\n
+\t\t\t\tvar zoomlevel = ctl.value / 100;\n
+\t\t\t\tvar zoom = svgCanvas.getZoom();\n
+\t\t\t\tvar w_area = workarea;\n
+\t\t\t\t\n
+\t\t\t\tzoomChanged(window, {\n
+\t\t\t\t\twidth: 0,\n
+\t\t\t\t\theight: 0,\n
+\t\t\t\t\t// center pt of scroll position\n
+\t\t\t\t\tx: (w_area[0].scrollLeft + w_area.width()/2)/zoom, \n
+\t\t\t\t\ty: (w_area[0].scrollTop + w_area.height()/2)/zoom,\n
+\t\t\t\t\tzoom: zoomlevel\n
+\t\t\t\t}, true);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar changeOpacity = function(ctl, val) {\n
+\t\t\t\tif(val == null) val = ctl.value;\n
+\t\t\t\t$(\'#group_opacity\').val(val);\n
+\t\t\t\tif(!ctl || !ctl.handle) {\n
+\t\t\t\t\t$(\'#opac_slider\').slider(\'option\', \'value\', val);\n
+\t\t\t\t}\n
+\t\t\t\tsvgCanvas.setOpacity(val/100);\n
+\t\t\t}\n
+\t\t\n
+\t\t\tvar changeBlur = function(ctl, val, noUndo) {\n
+\t\t\t\tif(val == null) val = ctl.value;\n
+\t\t\t\t$(\'#blur\').val(val);\n
+\t\t\t\tvar complete = false;\n
+\t\t\t\tif(!ctl || !ctl.handle) {\n
+\t\t\t\t\t$(\'#blur_slider\').slider(\'option\', \'value\', val);\n
+\t\t\t\t\tcomplete = true;\n
+\t\t\t\t}\n
+\t\t\t\tif(noUndo) {\n
+\t\t\t\t\tsvgCanvas.setBlurNoUndo(val);\t\n
+\t\t\t\t} else {\n
+\t\t\t\t\tsvgCanvas.setBlur(val, complete);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\n
+\t\t\tvar operaRepaint = function() {\n
+\t\t\t\t// Repaints canvas in Opera. Needed for stroke-dasharray change as well as fill change\n
+\t\t\t\tif(!window.opera) return;\n
+\t\t\t\t$(\'<p/>\').hide().appendTo(\'body\').remove();\n
+\t\t\t}\n
+\t\t\n
+\t\t\t$(\'#stroke_style\').change(function(){\n
+\t\t\t\tsvgCanvas.setStrokeAttr(\'stroke-dasharray\', $(this).val());\n
+\t\t\t\toperaRepaint();\n
+\t\t\t});\n
+\n
+\t\t\t$(\'#stroke_linejoin\').change(function(){\n
+\t\t\t\tsvgCanvas.setStrokeAttr(\'stroke-linejoin\', $(this).val());\n
+\t\t\t\toperaRepaint();\n
+\t\t\t});\n
+\n
+\t\t\n
+\t\t\t// Lose focus for select elements when changed (Allows keyboard shortcuts to work better)\n
+\t\t\t$(\'select\').change(function(){$(this).blur();});\n
+\t\t\n
+\t\t\t// fired when user wants to move elements to another layer\n
+\t\t\tvar promptMoveLayerOnce = false;\n
+\t\t\t$(\'#selLayerNames\').change(function(){\n
+\t\t\t\tvar destLayer = this.options[this.selectedIndex].value;\n
+\t\t\t\tvar confirm_str = uiStrings.QmoveElemsToLayer.replace(\'%s\',destLayer);\n
+\t\t\t\tvar moveToLayer = function(ok) {\n
+\t\t\t\t\tif(!ok) return;\n
+\t\t\t\t\tpromptMoveLayerOnce = true;\n
+\t\t\t\t\tsvgCanvas.moveSelectedToLayer(destLayer);\n
+\t\t\t\t\tsvgCanvas.clearSelection();\n
+\t\t\t\t\tpopulateLayers();\n
+\t\t\t\t}\n
+\t\t\t\tif (destLayer) {\n
+\t\t\t\t\tif(promptMoveLayerOnce) {\n
+\t\t\t\t\t\tmoveToLayer(true);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\t$.confirm(confirm_str, moveToLayer);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\n
+\t\t\t$(\'#font_family\').change(function() {\n
+\t\t\t\tsvgCanvas.setFontFamily(this.value);\n
+\t\t\t});\n
+\t\t\n
+\t\t\t$(\'#seg_type\').change(function() {\n
+\t\t\t\tsvgCanvas.setSegType($(this).val());\n
+\t\t\t});\n
+\t\t\n
+\t\t\t$(\'#text\').keyup(function(){\n
+\t\t\t\tsvgCanvas.setTextContent(this.value);\n
+\t\t\t});\n
+\t\t  \n
+\t\t\t$(\'#image_url\').change(function(){\n
+\t\t\t\tsetImageURL(this.value); \n
+\t\t\t});\n
+\t\t\n
+\t\t\t$(\'.attr_changer\').change(function() {\n
+\t\t\t\tvar attr = this.getAttribute("data-attr");\n
+\t\t\t\tvar val = this.value;\n
+\t\t\t\tvar valid = svgCanvas.isValidUnit(attr, val);\n
+\t\t\t\t\n
+\t\t\t\tif(!valid) {\n
+\t\t\t\t\t$.alert(uiStrings.invalidAttrValGiven);\n
+\t\t\t\t\tthis.value = selectedElement.getAttribute(attr);\n
+\t\t\t\t\treturn false;\n
+\t\t\t\t}\n
+\t\t\t\t// if the user is changing the id, then de-select the element first\n
+\t\t\t\t// change the ID, then re-select it with the new ID\n
+\t\t\t\tif (attr == "id") {\n
+\t\t\t\t\tvar elem = selectedElement;\n
+\t\t\t\t\tsvgCanvas.clearSelection();\n
+\t\t\t\t\telem.id = val;\n
+\t\t\t\t\tsvgCanvas.addToSelection([elem],true);\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\tsvgCanvas.changeSelectedAttribute(attr, val);\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t// Prevent selection of elements when shift-clicking\n
+\t\t\t$(\'#palette\').mouseover(function() {\n
+\t\t\t\tvar inp = $(\'<input type="hidden">\');\n
+\t\t\t\t$(this).append(inp);\n
+\t\t\t\tinp.focus().remove();\n
+\t\t\t});\n
+\t\t\n
+\t\t\t$(\'.palette_item\').click(function(evt){\n
+\t\t\t\tvar picker = (evt.shiftKey ? "stroke" : "fill");\n
+\t\t\t\tvar id = (evt.shiftKey ? \'#stroke_\' : \'#fill_\');\n
+\t\t\t\tvar color = $(this).attr(\'data-rgb\');\n
+\t\t\t\tvar rectbox = document.getElementById("gradbox_"+picker).parentNode.firstChild;\n
+\t\t\t\tvar paint = null;\n
+\t\t\n
+\t\t\t\t// Webkit-based browsers returned \'initial\' here for no stroke\n
+\t\t\t\tif (color == \'transparent\' || color == \'initial\') {\n
+\t\t\t\t\tcolor = \'none\';\n
+\t\t\t\t\t$(id + "opacity").html("N/A");\n
+\t\t\t\t\tpaint = new $.jGraduate.Paint();\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\tpaint = new $.jGraduate.Paint({alpha: 100, solidColor: color.substr(1)});\n
+\t\t\t\t}\n
+\t\t\t\trectbox.setAttribute("fill", color);\n
+\t\t\t\trectbox.setAttribute("opacity", 1);\n
+\t\t\t\t\n
+\t\t\t\tif (evt.shiftKey) {\n
+\t\t\t\t\tstrokePaint = paint;\n
+\t\t\t\t\tif (svgCanvas.getStrokeColor() != color) {\n
+\t\t\t\t\t\tsvgCanvas.setStrokeColor(color);\n
+\t\t\t\t\t}\n
+\t\t\t\t\tif (color != \'none\' && svgCanvas.getStrokeOpacity() != 1) {\n
+\t\t\t\t\t\tsvgCanvas.setStrokeOpacity(1.0);\n
+\t\t\t\t\t}\n
+\t\t\t\t} else {\n
+\t\t\t\t\tfillPaint = paint;\n
+\t\t\t\t\tif (svgCanvas.getFillColor() != color) {\n
+\t\t\t\t\t\tsvgCanvas.setFillColor(color);\n
+\t\t\t\t\t}\n
+\t\t\t\t\tif (color != \'none\' && svgCanvas.getFillOpacity() != 1) {\n
+\t\t\t\t\t\tsvgCanvas.setFillOpacity(1.0);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\tupdateToolButtonState();\n
+\t\t\t});\n
+\t\t\n
+\t\t\t$("#toggle_stroke_tools").toggle(function() {\n
+\t\t\t\t$(".stroke_tool").css(\'display\',\'table-cell\');\n
+\t\t\t\t$(this).text(\'<<\');\n
+\t\t\t}, function() {\n
+\t\t\t\t$(".stroke_tool").css(\'display\',\'none\');\n
+\t\t\t\t$(this).text(\'>>\');\n
+\t\t\t});\n
+\t\t\n
+\t\t\t// This is a common function used when a tool has been clicked (chosen)\n
+\t\t\t// It does several common things:\n
+\t\t\t// - removes the tool_button_current class from whatever tool currently has it\n
+\t\t\t// - hides any flyouts\n
+\t\t\t// - adds the tool_button_current class to the button passed in\n
+\t\t\tvar toolButtonClick = function(button, fadeFlyouts) {\n
+\t\t\t\tif ($(button).hasClass(\'disabled\')) return false;\n
+\t\t\t\tif($(button).parent().hasClass(\'tools_flyout\')) return true;\n
+\t\t\t\tvar fadeFlyouts = fadeFlyouts || \'normal\';\n
+\t\t\t\t$(\'.tools_flyout\').fadeOut(fadeFlyouts);\n
+\t\t\t\t$(\'#styleoverrides\').text(\'\');\n
+\t\t\t\t$(\'.tool_button_current\').removeClass(\'tool_button_current\').addClass(\'tool_button\');\n
+\t\t\t\t$(button).addClass(\'tool_button_current\').removeClass(\'tool_button\');\n
+\t\t\t\t// when a tool is selected, we should deselect any currently selected elements\n
+\t\t\t\tsvgCanvas.clearSelection();\n
+\t\t\t\treturn true;\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\t(function() {\n
+\t\t\t\tvar last_x = null, last_y = null, w_area = workarea[0], \n
+\t\t\t\t\tpanning = false, keypan = false;\n
+\t\t\t\t\n
+\t\t\t\t$(\'#svgcanvas\').bind(\'mousemove mouseup\', function(evt) {\n
+\t\t\t\t\tif(panning === false) return;\n
+\n
+\t\t\t\t\tw_area.scrollLeft -= (evt.clientX - last_x);\n
+\t\t\t\t\tw_area.scrollTop -= (evt.clientY - last_y);\n
+\t\t\t\t\t\n
+\t\t\t\t\tlast_x = evt.clientX;\n
+\t\t\t\t\tlast_y = evt.clientY;\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(evt.type === \'mouseup\') panning = false;\n
+\t\t\t\t\treturn false;\n
+\t\t\t\t}).mousedown(function(evt) {\n
+\t\t\t\t\tif(evt.button === 1 || keypan === true) {\n
+\t\t\t\t\t\tpanning = true;\n
+\t\t\t\t\t\tlast_x = evt.clientX;\n
+\t\t\t\t\t\tlast_y = evt.clientY;\n
+\t\t\t\t\t\treturn false;\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\t$(window).mouseup(function() {\n
+\t\t\t\t\tpanning = false;\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\t$(document).bind(\'keydown\', \'space\', function(evt) {\n
+\t\t\t\t\tsvgCanvas.spaceKey = keypan = true;\n
+\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t}).bind(\'keyup\', \'space\', function(evt) {\n
+\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t\tsvgCanvas.spaceKey = keypan = false;\n
+\t\t\t\t});\n
+\t\t\t}());\n
+\t\t\t\n
+\t\t\t\n
+\t\t\tfunction setStrokeOpt(opt, changeElem) {\n
+\t\t\t\tvar id = opt.id;\n
+\t\t\t\tvar bits = id.split(\'_\');\n
+\t\t\t\tvar pre = bits[0];\n
+\t\t\t\tvar val = bits[1];\n
+\t\t\t\n
+\t\t\t\tif(changeElem) {\n
+\t\t\t\t\tsvgCanvas.setStrokeAttr(\'stroke-\' + pre, val);\n
+\t\t\t\t}\n
+\t\t\t\toperaRepaint();\n
+\t\t\t\tsetIcon(\'#cur_\' + pre , id, 20);\n
+\t\t\t\t$(opt).addClass(\'current\').siblings().removeClass(\'current\');\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t(function() {\n
+\t\t\t\tvar button = $(\'#main_icon\');\n
+\t\t\t\tvar overlay = $(\'#main_icon span\');\n
+\t\t\t\tvar list = $(\'#main_menu\');\n
+\t\t\t\tvar on_button = false;\n
+\t\t\t\tvar height = 0;\n
+\t\t\t\tvar js_hover = true;\n
+\t\t\t\tvar set_click = false;\n
+\t\t\t\t\n
+\t\t\t\tvar hideMenu = function() {\n
+\t\t\t\t\tlist.fadeOut(200);\n
+\t\t\t\t};\n
+\t\t\t\t\n
+\t\t\t\t$(window).mouseup(function(evt) {\n
+\t\t\t\t\tif(!on_button) {\n
+\t\t\t\t\t\tbutton.removeClass(\'buttondown\');\n
+\t\t\t\t\t\t// do not hide if it was the file input as that input needs to be visible \n
+\t\t\t\t\t\t// for its change event to fire\n
+\t\t\t\t\t\tif (evt.target.localName != "input") {\n
+\t\t\t\t\t\t\tlist.fadeOut(200);\n
+\t\t\t\t\t\t} else if(!set_click) {\n
+\t\t\t\t\t\t\tset_click = true;\n
+\t\t\t\t\t\t\t$(evt.target).click(function() {\n
+\t\t\t\t\t\t\t\tlist.css(\'margin-left\',\'-9999px\').show();\n
+\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\ton_button = false;\n
+\t\t\t\t}).mousedown(function() {\n
+\t\t\t\t\t$(\'.tools_flyout:visible\').fadeOut();\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\toverlay.bind(\'mousedown\',function() {\n
+\t\t\t\t\tif (!button.hasClass(\'buttondown\')) {\n
+\t\t\t\t\t\tbutton.addClass(\'buttondown\').removeClass(\'buttonup\')\n
+\t\t\t\t\t\t// Margin must be reset in case it was changed before;\n
+\t\t\t\t\t\tlist.css(\'margin-left\',0).show();\n
+\t\t\t\t\t\tif(!height) {\n
+\t\t\t\t\t\t\theight = list.height();\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t// Using custom animation as slideDown has annoying "bounce effect"\n
+\t\t\t\t\t\tlist.css(\'height\',0).animate({\n
+\t\t\t\t\t\t\t\'height\': height\n
+\t\t\t\t\t\t},200);\n
+\t\t\t\t\t\ton_button = true;\n
+\t\t\t\t\t\treturn false;\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tbutton.removeClass(\'buttondown\').addClass(\'buttonup\');\n
+\t\t\t\t\t\tlist.fadeOut(200);\n
+\t\t\t\t\t}\n
+\t\t\t\t}).hover(function() {\n
+\t\t\t\t\ton_button = true;\n
+\t\t\t\t}).mouseout(function() {\n
+\t\t\t\t\ton_button = false;\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar list_items = $(\'#main_menu li\');\n
+\t\t\t\t\n
+\t\t\t\t// Check if JS method of hovering needs to be used (Webkit bug)\n
+\t\t\t\tlist_items.mouseover(function() {\n
+\t\t\t\t\tjs_hover = ($(this).css(\'background-color\') == \'rgba(0, 0, 0, 0)\');\n
+\t\t\t\t\t\n
+\t\t\t\t\tlist_items.unbind(\'mouseover\');\n
+\t\t\t\t\tif(js_hover) {\n
+\t\t\t\t\t\tlist_items.mouseover(function() {\n
+\t\t\t\t\t\t\tthis.style.backgroundColor = \'#FFC\';\n
+\t\t\t\t\t\t}).mouseout(function() {\n
+\t\t\t\t\t\t\tthis.style.backgroundColor = \'transparent\';\n
+\t\t\t\t\t\t\treturn true;\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t}());\n
+\t\t\t\n
+\t\t\tvar addDropDown = function(elem, callback, dropUp) {\n
+\t\t\t\tvar button = $(elem).find(\'button\');\n
+\t\t\t\tvar list = $(elem).find(\'ul\');\n
+\t\t\t\tvar on_button = false;\n
+\t\t\t\tif(dropUp) {\n
+\t\t\t\t\t$(elem).addClass(\'dropup\');\n
+\t\t\t\t}\n
+\t\t\t\n
+\t\t\t\t$(elem).find(\'li\').bind(\'mouseup\', callback);\n
+\t\t\t\t\n
+\t\t\t\t$(window).mouseup(function(evt) {\n
+\t\t\t\t\tif(!on_button) {\n
+\t\t\t\t\t\tbutton.removeClass(\'down\');\n
+\t\t\t\t\t\tlist.hide();\n
+\t\t\t\t\t}\n
+\t\t\t\t\ton_button = false;\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tbutton.bind(\'mousedown\',function() {\n
+\t\t\t\t\tif (!button.hasClass(\'down\')) {\n
+\t\t\t\t\t\tbutton.addClass(\'down\');\n
+\t\t\t\t\t\tlist.show();\n
+\t\t\t\t\t\ton_button = true;\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tbutton.removeClass(\'down\');\n
+\t\t\t\t\t\tlist.hide();\n
+\t\t\t\t\t}\n
+\t\t\t\t}).hover(function() {\n
+\t\t\t\t\ton_button = true;\n
+\t\t\t\t}).mouseout(function() {\n
+\t\t\t\t\ton_button = false;\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// TODO: Combine this with addDropDown or find other way to optimize\n
+\t\t\tvar addAltDropDown = function(elem, list, callback, opts) {\n
+\t\t\t\tvar button = $(elem);\n
+\t\t\t\tvar list = $(list);\n
+\t\t\t\tvar on_button = false;\n
+\t\t\t\tvar dropUp = opts.dropUp;\n
+\t\t\t\tif(dropUp) {\n
+\t\t\t\t\t$(elem).addClass(\'dropup\');\n
+\t\t\t\t}\n
+\t\t\t\tlist.find(\'li\').bind(\'mouseup\', function() {\n
+\t\t\t\t\tif(opts.seticon) {\n
+\t\t\t\t\t\tsetIcon(\'#cur_\' + button[0].id , $(this).children());\n
+\t\t\t\t\t\t$(this).addClass(\'current\').siblings().removeClass(\'current\');\n
+\t\t\t\t\t}\n
+\t\t\t\t\tcallback.apply(this, arguments);\n
+\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\t$(window).mouseup(function(evt) {\n
+\t\t\t\t\tif(!on_button) {\n
+\t\t\t\t\t\tbutton.removeClass(\'down\');\n
+\t\t\t\t\t\tlist.hide();\n
+\t\t\t\t\t\tlist.css({top:0, left:0});\n
+\t\t\t\t\t}\n
+\t\t\t\t\ton_button = false;\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar height = list.height();\n
+\t\t\t\t$(elem).bind(\'mousedown\',function() {\n
+\t\t\t\t\tvar off = $(elem).offset();\n
+\t\t\t\t\tif(dropUp) {\n
+\t\t\t\t\t\toff.top -= list.height();\n
+\t\t\t\t\t\toff.left += 8;\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\toff.top += $(elem).height();\n
+\t\t\t\t\t}\n
+\t\t\t\t\t$(list).offset(off);\n
+\t\t\t\t\t\n
+\t\t\t\t\tif (!button.hasClass(\'down\')) {\n
+\t\t\t\t\t\tbutton.addClass(\'down\');\n
+\t\t\t\t\t\tlist.show();\n
+\t\t\t\t\t\ton_button = true;\n
+\t\t\t\t\t\treturn false;\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tbutton.removeClass(\'down\');\n
+\t\t\t\t\t\t// CSS position must be reset for Webkit\n
+\t\t\t\t\t\tlist.hide();\n
+\t\t\t\t\t\tlist.css({top:0, left:0});\n
+\t\t\t\t\t}\n
+\t\t\t\t}).hover(function() {\n
+\t\t\t\t\ton_button = true;\n
+\t\t\t\t}).mouseout(function() {\n
+\t\t\t\t\ton_button = false;\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tif(opts.multiclick) {\n
+\t\t\t\t\tlist.mousedown(function() {\n
+\t\t\t\t\t\ton_button = true;\n
+\t\t\t\t\t});\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\taddDropDown(\'#font_family_dropdown\', function() {\n
+\t\t\t\tvar fam = $(this).text();\n
+\t\t\t\t$(\'#font_family\').val($(this).text()).change();\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\taddDropDown(\'#opacity_dropdown\', function() {\n
+\t\t\t\tif($(this).find(\'div\').length) return;\n
+\t\t\t\tvar perc = parseInt($(this).text().split(\'%\')[0]);\n
+\t\t\t\tchangeOpacity(false, perc);\n
+\t\t\t}, true);\n
+\t\t\t\n
+\t\t\t// For slider usage, see: http://jqueryui.com/demos/slider/ \n
+\t\t\t$("#opac_slider").slider({\n
+\t\t\t\tstart: function() {\n
+\t\t\t\t\t$(\'#opacity_dropdown li:not(.special)\').hide();\n
+\t\t\t\t},\n
+\t\t\t\tstop: function() {\n
+\t\t\t\t\t$(\'#opacity_dropdown li\').show();\n
+\t\t\t\t\t$(window).mouseup();\n
+\t\t\t\t},\n
+\t\t\t\tslide: function(evt, ui){\n
+\t\t\t\t\tchangeOpacity(ui);\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\n
+\t\t\taddDropDown(\'#blur_dropdown\', function() {\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\tvar slideStart = false;\n
+\t\t\t\n
+\t\t\t$("#blur_slider").slider({\n
+\t\t\t\tmax: 10,\n
+\t\t\t\tstep: .1,\n
+\t\t\t\tstop: function(evt, ui) {\n
+\t\t\t\t\tslideStart = false;\n
+\t\t\t\t\tchangeBlur(ui);\n
+\t\t\t\t\t$(\'#blur_dropdown li\').show();\n
+\t\t\t\t\t$(window).mouseup();\n
+\t\t\t\t},\n
+\t\t\t\tstart: function() {\n
+\t\t\t\t\tslideStart = true;\n
+\t\t\t\t},\n
+\t\t\t\tslide: function(evt, ui){\n
+\t\t\t\t\tchangeBlur(ui, null, slideStart);\n
+\t\t\t\t}\n
+\t\t\t});\n
+\n
+\t\t\n
+\t\t\taddDropDown(\'#zoom_dropdown\', function() {\n
+\t\t\t\tvar item = $(this);\n
+\t\t\t\tvar val = item.attr(\'data-val\');\n
+\t\t\t\tif(val) {\n
+\t\t\t\t\tzoomChanged(window, val);\n
+\t\t\t\t} else {\n
+\t\t\t\t\tchangeZoom({value:parseInt(item.text())});\n
+\t\t\t\t}\n
+\t\t\t}, true);\n
+\t\t\t\n
+\t\t\taddAltDropDown(\'#stroke_linecap\', \'#linecap_opts\', function() {\n
+\t\t\t\tsetStrokeOpt(this, true);\n
+\t\t\t}, {dropUp: true});\n
+\t\t\t\n
+\t\t\taddAltDropDown(\'#stroke_linejoin\', \'#linejoin_opts\', function() {\n
+\t\t\t\tsetStrokeOpt(this, true);\n
+\t\t\t}, {dropUp: true});\n
+\t\t\t\n
+\t\t\taddAltDropDown(\'#tool_position\', \'#position_opts\', function() {\n
+\t\t\t\tvar letter = this.id.replace(\'tool_pos\',\'\').charAt(0);\n
+\t\t\t\tsvgCanvas.alignSelectedElements(letter, \'page\');\n
+\t\t\t}, {multiclick: true});\n
+\t\t\t\n
+\t\t\t/*\n
+\t\t\t\n
+\t\t\tWhen a flyout icon is selected\n
+\t\t\t\t(if flyout) {\n
+\t\t\t\t- Change the icon\n
+\t\t\t\t- Make pressing the button run its stuff\n
+\t\t\t\t}\n
+\t\t\t\t- Run its stuff\n
+\t\t\t\n
+\t\t\tWhen its shortcut key is pressed\n
+\t\t\t\t- If not current in list, do as above\n
+\t\t\t\t, else:\n
+\t\t\t\t- Just run its stuff\n
+\t\t\t\n
+\t\t\t*/\n
+\t\t\t\n
+\t\t\t// Unfocus text input when workarea is mousedowned.\n
+\t\t\t(function() {\n
+\t\t\t\tvar inp;\n
+\n
+\t\t\t\tvar unfocus = function() {\n
+\t\t\t\t\t$(inp).blur();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// Do not include the #text input, as it needs to remain focused \n
+\t\t\t\t// when clicking on an SVG text element.\n
+\t\t\t\t$(\'#svg_editor input:text:not(#text)\').focus(function() {\n
+\t\t\t\t\tinp = this;\n
+\t\t\t\t\tworkarea.mousedown(unfocus);\n
+\t\t\t\t}).blur(function() {\n
+\t\t\t\t\tworkarea.unbind(\'mousedown\', unfocus);\n
+\t\t\t\t});\n
+\t\t\t}());\n
+\n
+\t\t\tvar clickSelect = function() {\n
+\t\t\t\tif (toolButtonClick(\'#tool_select\')) {\n
+\t\t\t\t\tsvgCanvas.setMode(\'select\');\n
+\t\t\t\t\t$(\'#styleoverrides\').text(\'#svgcanvas svg *{cursor:move;pointer-events:all}, #svgcanvas svg{cursor:default}\');\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar clickFHPath = function() {\n
+\t\t\t\tif (toolButtonClick(\'#tool_fhpath\')) {\n
+\t\t\t\t\tsvgCanvas.setMode(\'fhpath\');\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar clickLine = function() {\n
+\t\t\t\tif (toolButtonClick(\'#tool_line\')) {\n
+\t\t\t\t\tsvgCanvas.setMode(\'line\');\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar clickSquare = function(){\n
+\t\t\t\tsvgCanvas.setMode(\'square\');\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickRect = function(){\n
+\t\t\t\tsvgCanvas.setMode(\'rect\');\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickFHRect = function(){\n
+\t\t\t\tsvgCanvas.setMode(\'fhrect\');\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickCircle = function(){\n
+\t\t\t\tsvgCanvas.setMode(\'circle\');\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar clickEllipse = function(){\n
+\t\t\t\tsvgCanvas.setMode(\'ellipse\');\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar clickFHEllipse = function(){\n
+\t\t\t\tsvgCanvas.setMode(\'fhellipse\');\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickImage = function(){\n
+\t\t\t\tif (toolButtonClick(\'#tool_image\')) {\n
+\t\t\t\t\tsvgCanvas.setMode(\'image\');\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar clickZoom = function(){\n
+\t\t\t\tif (toolButtonClick(\'#tool_zoom\')) {\n
+\t\t\t\t\tworkarea.css(\'cursor\',\'crosshair\');\n
+\t\t\t\t\tsvgCanvas.setMode(\'zoom\');\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar dblclickZoom = function(){\n
+\t\t\t\tif (toolButtonClick(\'#tool_zoom\')) {\n
+\t\t\t\t\tzoomImage();\n
+\t\t\t\t\tsetSelectMode();\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar clickText = function(){\n
+\t\t\t\ttoolButtonClick(\'#tool_text\');\n
+\t\t\t\tsvgCanvas.setMode(\'text\');\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickPath = function(){\n
+\t\t\t\ttoolButtonClick(\'#tool_path\');\n
+\t\t\t\tsvgCanvas.setMode(\'path\');\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\t// Delete is a contextual tool that only appears in the ribbon if\n
+\t\t\t// an element has been selected\n
+\t\t\tvar deleteSelected = function() {\n
+\t\t\t\tif (selectedElement != null || multiselected) {\n
+\t\t\t\t\tsvgCanvas.deleteSelectedElements();\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar moveToTopSelected = function() {\n
+\t\t\t\tif (selectedElement != null) {\n
+\t\t\t\t\tsvgCanvas.moveToTopSelectedElement();\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar moveToBottomSelected = function() {\n
+\t\t\t\tif (selectedElement != null) {\n
+\t\t\t\t\tsvgCanvas.moveToBottomSelectedElement();\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar convertToPath = function() {\n
+\t\t\t\tif (selectedElement != null) {\n
+\t\t\t\t\tsvgCanvas.convertToPath();\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar reorientPath = function() {\n
+\t\t\t\tif (selectedElement != null) {\n
+\t\t\t\t\tpath.reorient();\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\n
+\t\t\tvar moveSelected = function(dx,dy) {\n
+\t\t\t\tif (selectedElement != null || multiselected) {\n
+\t\t\t\t\tsvgCanvas.moveSelectedElements(dx,dy);\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar linkControlPoints = function() {\n
+\t\t\t\tvar linked = !$(\'#tool_node_link\').hasClass(\'push_button_pressed\');\n
+\t\t\t\tif (linked)\n
+\t\t\t\t\t$(\'#tool_node_link\').addClass(\'push_button_pressed\').removeClass(\'tool_button\');\n
+\t\t\t\telse\n
+\t\t\t\t\t$(\'#tool_node_link\').removeClass(\'push_button_pressed\').addClass(\'tool_button\');\n
+\t\t\t\t\t\n
+\t\t\t\tpath.linkControlPoints(linked);\n
+\t\t\t}\n
+\t\t\n
+\t\t\tvar clonePathNode = function() {\n
+\t\t\t\tif (path.getNodePoint()) {\n
+\t\t\t\t\tpath.clonePathNode();\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar deletePathNode = function() {\n
+\t\t\t\tif (path.getNodePoint()) {\n
+\t\t\t\t\tpath.deletePathNode();\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar addSubPath = function() {\n
+\t\t\t\tvar button = $(\'#tool_add_subpath\');\n
+\t\t\t\tvar sp = !button.hasClass(\'push_button_pressed\');\n
+\t\t\t\tif (sp) {\n
+\t\t\t\t\tbutton.addClass(\'push_button_pressed\').removeClass(\'tool_button\');\n
+\t\t\t\t} else {\n
+\t\t\t\t\tbutton.removeClass(\'push_button_pressed\').addClass(\'tool_button\');\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tpath.addSubPath(sp);\n
+\t\t\t\t\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar opencloseSubPath = function() {\n
+\t\t\t\tpath.opencloseSubPath();\n
+\t\t\t}\t\n
+\t\t\t\n
+\t\t\tvar selectNext = function() {\n
+\t\t\t\tsvgCanvas.cycleElement(1);\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar selectPrev = function() {\n
+\t\t\t\tsvgCanvas.cycleElement(0);\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar rotateSelected = function(cw) {\n
+\t\t\t\tif (selectedElement == null || multiselected) return;\n
+\t\t\t\tvar step = 5;\n
+\t\t\t\tif(!cw) step *= -1;\n
+\t\t\t\tvar new_angle = $(\'#angle\').val()*1 + step;\n
+\t\t\t\tsvgCanvas.setRotationAngle(new_angle);\n
+\t\t\t\tupdateContextPanel();\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickClear = function(){\n
+\t\t\t\tvar dims = curConfig.dimensions;\n
+\t\t\t\t$.confirm(uiStrings.QwantToClear, function(ok) {\n
+\t\t\t\t\tif(!ok) return;\n
+\t\t\t\t\tsetSelectMode();\n
+\t\t\t\t\tsvgCanvas.clear();\n
+\t\t\t\t\tsvgCanvas.setResolution(dims[0], dims[1]);\n
+\t\t\t\t\tupdateCanvas(true);\n
+\t\t\t\t\tzoomImage();\n
+\t\t\t\t\tpopulateLayers();\n
+\t\t\t\t\tupdateContextPanel();\n
+\t\t\t\t});\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickBold = function(){\n
+\t\t\t\tsvgCanvas.setBold( !svgCanvas.getBold() );\n
+\t\t\t\tupdateContextPanel();\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickItalic = function(){\n
+\t\t\t\tsvgCanvas.setItalic( !svgCanvas.getItalic() );\n
+\t\t\t\tupdateContextPanel();\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar clickSave = function(){\n
+\t\t\t\t// In the future, more options can be provided here\n
+\t\t\t\tvar saveOpts = {\n
+\t\t\t\t\t\'images\': curPrefs.img_save,\n
+\t\t\t\t\t\'round_digits\': 6\n
+\t\t\t\t}\n
+\t\t\t\tsvgCanvas.save(saveOpts);\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickExport = function() {\n
+\t\t\t\t// Open placeholder window (prevents popup)\n
+\t\t\t\tvar str = uiStrings.loadingImage;\n
+\t\t\t\texportWindow = window.open("data:text/html;charset=utf-8,<title>" + str + "<\\/title><h1>" + str + "<\\/h1>");\n
+\n
+\t\t\t\tif(window.canvg) {\n
+\t\t\t\t\tsvgCanvas.rasterExport();\n
+\t\t\t\t} else {\n
+\t\t\t\t\t$.getScript(\'canvg/rgbcolor.js\', function() {\n
+\t\t\t\t\t\t$.getScript(\'canvg/canvg.js\', function() {\n
+\t\t\t\t\t\t\tsvgCanvas.rasterExport();\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t});\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// by default, svgCanvas.open() is a no-op.\n
+\t\t\t// it is up to an extension mechanism (opera widget, etc) \n
+\t\t\t// to call setCustomHandlers() which will make it do something\n
+\t\t\tvar clickOpen = function(){\n
+\t\t\t\tsvgCanvas.open();\n
+\t\t\t};\n
+\t\t\tvar clickImport = function(){\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar clickUndo = function(){\n
+\t\t\t\tif (svgCanvas.getUndoStackSize() > 0) {\n
+\t\t\t\t\tsvgCanvas.undo();\n
+\t\t\t\t\tpopulateLayers();\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar clickRedo = function(){\n
+\t\t\t\tif (svgCanvas.getRedoStackSize() > 0) {\n
+\t\t\t\t\tsvgCanvas.redo();\n
+\t\t\t\t\tpopulateLayers();\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickGroup = function(){\n
+\t\t\t\t// group\n
+\t\t\t\tif (multiselected) {\n
+\t\t\t\t\tsvgCanvas.groupSelectedElements();\n
+\t\t\t\t}\n
+\t\t\t\t// ungroup\n
+\t\t\t\telse if(selectedElement && selectedElement.tagName == \'g\'){\n
+\t\t\t\t\tsvgCanvas.ungroupSelectedElement();\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickClone = function(){\n
+\t\t\t\tsvgCanvas.cloneSelectedElements();\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar clickAlign = function() {\n
+\t\t\t\tvar letter = this.id.replace(\'tool_align\',\'\').charAt(0);\n
+\t\t\t\tsvgCanvas.alignSelectedElements(letter, $(\'#align_relative_to\').val());\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar zoomImage = function(multiplier) {\n
+\t\t\t\tvar res = svgCanvas.getResolution();\n
+\t\t\t\tmultiplier = multiplier?res.zoom * multiplier:1;\n
+\t\t// \t\tsetResolution(res.w * multiplier, res.h * multiplier, true);\n
+\t\t\t\t$(\'#zoom\').val(multiplier * 100);\n
+\t\t\t\tsvgCanvas.setZoom(multiplier);\n
+\t\t\t\tzoomDone();\n
+\t\t\t\tupdateCanvas(true);\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar zoomDone = function() {\n
+\t\t// \t\tupdateBgImage();\n
+\t\t\t\tupdateWireFrame();\n
+\t\t\t\t//updateCanvas(); // necessary?\n
+\t\t\t}\n
+\t\t\n
+\t\t\tvar clickWireframe = function() {\n
+\t\t\t\tvar wf = !$(\'#tool_wireframe\').hasClass(\'push_button_pressed\');\n
+\t\t\t\tif (wf) \n
+\t\t\t\t\t$(\'#tool_wireframe\').addClass(\'push_button_pressed\').removeClass(\'tool_button\');\n
+\t\t\t\telse\n
+\t\t\t\t\t$(\'#tool_wireframe\').removeClass(\'push_button_pressed\').addClass(\'tool_button\');\n
+\t\t\t\tworkarea.toggleClass(\'wireframe\');\n
+\t\t\t\t\n
+\t\t\t\tif(supportsNonSS) return;\n
+\t\t\t\tvar wf_rules = $(\'#wireframe_rules\');\n
+\t\t\t\tif(!wf_rules.length) {\n
+\t\t\t\t\twf_rules = $(\'<style id="wireframe_rules"><\\/style>\').appendTo(\'head\');\n
+\t\t\t\t} else {\n
+\t\t\t\t\twf_rules.empty();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tupdateWireFrame();\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar updateWireFrame = function() {\n
+\t\t\t\t// Test support\n
+\t\t\t\tif(supportsNonSS) return;\n
+\t\t\n
+\t\t\t\tvar rule = "#workarea.wireframe #svgcontent * { stroke-width: " + 1/svgCanvas.getZoom() + "px; }";\n
+\t\t\t\t$(\'#wireframe_rules\').text(workarea.hasClass(\'wireframe\') ? rule : "");\n
+\t\t\t}\n
+\t\t\n
+\t\t\tvar showSourceEditor = function(){\n
+\t\t\t\tif (editingsource) return;\n
+\t\t\t\teditingsource = true;\n
+\t\t\t\tvar str = svgCanvas.getSvgString();\n
+\t\t\t\t$(\'#svg_source_textarea\').val(str);\n
+\t\t\t\t$(\'#svg_source_editor\').fadeIn();\n
+\t\t\t\tproperlySourceSizeTextArea();\n
+\t\t\t\t$(\'#svg_source_textarea\').focus();\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\t$(\'#svg_docprops_container\').draggable({cancel:\'button,fieldset\'});\n
+\t\t\t\n
+\t\t\tvar showDocProperties = function(){\n
+\t\t\t\tif (docprops) return;\n
+\t\t\t\tdocprops = true;\n
+\t\t\t\t\n
+\t\t\t\t// This selects the correct radio button by using the array notation\n
+\t\t\t\t$(\'#image_save_opts input\').val([curPrefs.img_save]);\n
+\t\t\t\t\n
+\t\t\t\t// update resolution option with actual resolution\n
+\t\t\t\tvar res = svgCanvas.getResolution();\n
+\t\t\t\t$(\'#canvas_width\').val(res.w);\n
+\t\t\t\t$(\'#canvas_height\').val(res.h);\n
+\t\t\t\t$(\'#canvas_title\').val(svgCanvas.getDocumentTitle());\n
+\t\t\t\t\n
+\t\t\t\t// Update background color with current one\n
+\t\t\t\tvar blocks = $(\'#bg_blocks div\');\n
+\t\t\t\tvar cur_bg = \'cur_background\';\n
+\t\t\t\tvar canvas_bg = $.pref(\'bkgd_color\');\n
+\t\t\t\tvar url = $.pref(\'bkgd_url\');\n
+\t\t// \t\tif(url) url = url[1];\n
+\t\t\t\tblocks.each(function() {\n
+\t\t\t\t\tvar blk = $(this);\n
+\t\t\t\t\tvar is_bg = blk.css(\'background-color\') == canvas_bg;\n
+\t\t\t\t\tblk.toggleClass(cur_bg, is_bg);\n
+\t\t\t\t\tif(is_bg) $(\'#canvas_bg_url\').removeClass(cur_bg);\n
+\t\t\t\t});\n
+\t\t\t\tif(!canvas_bg) blocks.eq(0).addClass(cur_bg);\n
+\t\t\t\tif(url) {\n
+\t\t\t\t\t$(\'#canvas_bg_url\').val(url);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t$(\'#svg_docprops\').fadeIn();\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar properlySourceSizeTextArea = function(){\n
+\t\t\t\t// TODO: remove magic numbers here and get values from CSS\n
+\t\t\t\tvar height = $(\'#svg_source_container\').height() - 80;\n
+\t\t\t\t$(\'#svg_source_textarea\').css(\'height\', height);\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar saveSourceEditor = function(){\n
+\t\t\t\tif (!editingsource) return;\n
+\t\t\n
+\t\t\t\tvar saveChanges = function() {\n
+\t\t\t\t\tsvgCanvas.clearSelection();\n
+\t\t\t\t\thideSourceEditor();\n
+\t\t\t\t\tzoomImage();\n
+\t\t\t\t\tpopulateLayers();\n
+\t\t\t\t\tsetTitle(svgCanvas.getDocumentTitle());\n
+\t\t\t\t}\n
+\t\t\n
+\t\t\t\tif (!svgCanvas.setSvgString($(\'#svg_source_textarea\').val())) {\n
+\t\t\t\t\t$.confirm(uiStrings.QerrorsRevertToSource, function(ok) {\n
+\t\t\t\t\t\tif(!ok) return false;\n
+\t\t\t\t\t\tsaveChanges();\n
+\t\t\t\t\t});\n
+\t\t\t\t} else {\n
+\t\t\t\t\tsaveChanges();\n
+\t\t\t\t}\n
+\t\t\t\tsetSelectMode();\t\t\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar setTitle = function(title) {\n
+\t\t\t\tvar editor_title = $(\'title:first\').text().split(\':\')[0];\n
+\t\t\t\tvar new_title = editor_title + (title?\': \' + title:\'\');\n
+\t\t\t\t$(\'title:first\').text(new_title);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar saveDocProperties = function(){\n
+\t\t\t\t// set title\n
+\t\t\t\tvar new_title = $(\'#canvas_title\').val();\n
+\t\t\t\tsetTitle(new_title);\n
+\t\t\t\tsvgCanvas.setDocumentTitle(new_title);\n
+\t\t\t\n
+\t\t\t\t// update resolution\n
+\t\t\t\tvar width = $(\'#canvas_width\'), w = width.val();\n
+\t\t\t\tvar height = $(\'#canvas_height\'), h = height.val();\n
+\t\t\n
+\t\t\t\tif(w != "fit" && !svgCanvas.isValidUnit(\'width\', w)) {\n
+\t\t\t\t\t$.alert(uiStrings.invalidAttrValGiven);\n
+\t\t\t\t\twidth.parent().addClass(\'error\');\n
+\t\t\t\t\treturn false;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\twidth.parent().removeClass(\'error\');\n
+\t\t\t\t\n
+\t\t\t\tif(h != "fit" && !svgCanvas.isValidUnit(\'height\', h)) {\n
+\t\t\t\t\t$.alert(uiStrings.invalidAttrValGiven);\n
+\t\t\t\t\theight.parent().addClass(\'error\');\n
+\t\t\t\t\treturn false;\n
+\t\t\t\t} \n
+\t\t\t\t\n
+\t\t\t\theight.parent().removeClass(\'error\');\n
+\t\t\t\t\n
+\t\t\t\tif(!svgCanvas.setResolution(w, h)) {\n
+\t\t\t\t\t$.alert(uiStrings.noContentToFitTo);\n
+\t\t\t\t\treturn false;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// set image save option\n
+\t\t\t\tcurPrefs.img_save = $(\'#image_save_opts :checked\').val();\n
+\t\t\t\t$.pref(\'img_save\',curPrefs.img_save);\n
+\t\t\t\t\n
+\t\t\t\t// set background\n
+\t\t\t\tvar color = $(\'#bg_blocks div.cur_background\').css(\'background-color\') || \'#FFF\';\n
+\t\t\t\tsetBackground(color, $(\'#canvas_bg_url\').val());\n
+\t\t\t\t\n
+\t\t\t\t// set language\n
+\t\t\t\tvar lang = $(\'#lang_select\').val();\n
+\t\t\t\tif(lang != curPrefs.lang) {\n
+\t\t\t\t\tEditor.putLocale(lang);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// set icon size\n
+\t\t\t\tsetIconSize($(\'#iconsize\').val());\n
+\t\t\t\t\n
+\t\t\t\tupdateCanvas();\n
+\t\t\t\thideDocProperties();\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tfunction setBackground(color, url) {\n
+\t\t\t\tif(color == curPrefs.bkgd_color && url == curPrefs.bkgd_url) return;\n
+\t\t\t\t$.pref(\'bkgd_color\', color);\n
+\t\t\t\t$.pref(\'bkgd_url\', url);\n
+\t\t\t\t\n
+\t\t\t\t// This should be done in svgcanvas.js for the borderRect fill\n
+\t\t\t\tsvgCanvas.setBackground(color, url);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar setIcon = Editor.setIcon = function(elem, icon_id, forcedSize) {\n
+\t\t\t\tvar icon = (typeof icon_id == \'string\') ? $.getSvgIcon(icon_id).clone() : icon_id.clone();\n
+\t\t\t\t$(elem).empty().append(icon);\n
+\t\t\t\tif(forcedSize) {\n
+\t\t\t\t\tvar obj = {};\n
+\t\t\t\t\tobj[elem + \' .svg_icon\'] = forcedSize;\n
+\t\t\t\t\t$.resizeSvgIcons(obj);\n
+\t\t\t\t} else {\n
+\t\t\t\t\tvar size = curPrefs.iconsize;\n
+\t\t\t\t\tif(size && size !== \'m\') {\n
+\t\t\t\t\t\tvar icon_sizes = { s:16, m:24, l:32, xl:48}, obj = {};\n
+\t\t\t\t\t\tobj[elem + \' .svg_icon\'] = icon_sizes[size];\n
+\t\t\t\t\t\t$.resizeSvgIcons(obj);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\n
+\t\t\tvar setIconSize = Editor.setIconSize = function(size, force) {\n
+\t\t\t\tif(size == curPrefs.size && !force) return;\n
+\t\t\t\t$.pref(\'iconsize\', size);\n
+\t\t\t\t$(\'#iconsize\').val(size);\n
+\t\t\t\tvar icon_sizes = { s:16, m:24, l:32, xl:48 };\n
+\t\t\t\tvar size_num = icon_sizes[size];\n
+\t\t\t\t\n
+\t\t\t\t// Change icon size\n
+\t\t\t\t$(\'.tool_button, .push_button, .tool_button_current, .disabled, .icon_label, #url_notice, #tool_open\')\n
+\t\t\t\t.find(\'> svg, > img\').each(function() {\n
+\t\t\t\t\tthis.setAttribute(\'width\',size_num);\n
+\t\t\t\t\tthis.setAttribute(\'height\',size_num);\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\t$.resizeSvgIcons({\n
+\t\t\t\t\t\'.flyout_arrow_horiz > svg, .flyout_arrow_horiz > img\': size_num / 5,\n
+\t\t\t\t\t\'#logo > svg, #logo > img\': size_num * 1.3,\n
+\t\t\t\t\t\'#tools_bottom .icon_label > *\': (size_num === 16 ? 18 : size_num * .75)\n
+\t\t\t\t});\n
+\t\t\t\tif(size != \'s\') {\n
+\t\t\t\t\t$.resizeSvgIcons({\'#layerbuttons svg, #layerbuttons img\': size_num * .6});\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// Note that all rules will be prefixed with \'#svg_editor\' when parsed\n
+\t\t\t\tvar cssResizeRules = {\n
+\t\t\t\t\t".tool_button,\\\n
+\t\t\t\t\t.push_button,\\\n
+\t\t\t\t\t.tool_button_current,\\\n
+\t\t\t\t\t.push_button_pressed,\\\n
+\t\t\t\t\t.disabled,\\\n
+\t\t\t\t\t.icon_label,\\\n
+\t\t\t\t\t.tools_flyout .tool_button": {\n
+\t\t\t\t\t\t\'width\': {s: \'16px\', l: \'32px\', xl: \'48px\'},\n
+\t\t\t\t\t\t\'height\': {s: \'16px\', l: \'32px\', xl: \'48px\'},\n
+\t\t\t\t\t\t\'padding\': {s: \'1px\', l: \'2px\', xl: \'3px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t".tool_sep": {\n
+\t\t\t\t\t\t\'height\': {s: \'16px\', l: \'32px\', xl: \'48px\'},\n
+\t\t\t\t\t\t\'margin\': {s: \'2px 2px\', l: \'2px 5px\', xl: \'2px 8px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#main_icon": {\n
+\t\t\t\t\t\t\'width\': {s: \'31px\', l: \'53px\', xl: \'75px\'},\n
+\t\t\t\t\t\t\'height\': {s: \'22px\', l: \'42px\', xl: \'64px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#tools_top": {\n
+\t\t\t\t\t\t\'left\': {s: \'36px\', l: \'60px\', xl: \'80px\'},\n
+\t\t\t\t\t\t\'height\': {s: \'50px\', l: \'88px\', xl: \'125px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#tools_left": {\n
+\t\t\t\t\t\t\'width\': {s: \'22px\', l: \'30px\', xl: \'38px\'},\n
+\t\t\t\t\t\t\'top\': {s: \'50px\', l: \'87px\', xl: \'125px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"div#workarea": {\n
+\t\t\t\t\t\t\'left\': {s: \'27px\', l: \'46px\', xl: \'65px\'},\n
+\t\t\t\t\t\t\'top\': {s: \'50px\', l: \'88px\', xl: \'125px\'},\n
+\t\t\t\t\t\t\'bottom\': {s: \'55px\', l: \'98px\', xl: \'145px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#tools_bottom": {\n
+\t\t\t\t\t\t\'left\': {s: \'27px\', l: \'46px\', xl: \'65px\'},\n
+\t\t\t\t\t\t\'height\': {s: \'58px\', l: \'98px\', xl: \'145px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#color_tools": {\n
+\t\t\t\t\t\t\'border-spacing\': {s: \'0 1px\'},\n
+\t\t\t\t\t\t\'margin-top\': {s: \'-1px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#color_tools .icon_label": {\n
+\t\t\t\t\t\t\'width\': {l:\'43px\', xl: \'60px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t".color_tool": {\n
+\t\t\t\t\t\t\'height\': {s: \'20px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#tool_opacity": {\n
+\t\t\t\t\t\t\'top\': {s: \'1px\'},\n
+\t\t\t\t\t\t\'height\': {s: \'auto\', l:\'auto\', xl:\'auto\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#tools_top input, #tools_bottom input": {\n
+\t\t\t\t\t\t\'margin-top\': {s: \'2px\', l: \'4px\', xl: \'5px\'},\n
+\t\t\t\t\t\t\'height\': {s: \'auto\', l: \'auto\', xl: \'auto\'},\n
+\t\t\t\t\t\t\'border\': {s: \'1px solid #555\', l: \'auto\', xl: \'auto\'},\n
+\t\t\t\t\t\t\'font-size\': {s: \'.9em\', l: \'1.2em\', xl: \'1.4em\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#zoom_panel": {\n
+\t\t\t\t\t\t\'margin-top\': {s: \'3px\', l: \'4px\', xl: \'5px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#copyright, #tools_bottom .label": {\n
+\t\t\t\t\t\t\'font-size\': {l: \'1.5em\', xl: \'2em\'},\n
+\t\t\t\t\t\t\'line-height\': {s: \'15px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#tools_bottom_2": {\n
+\t\t\t\t\t\t\'width\': {l: \'295px\', xl: \'355px\'},\n
+\t\t\t\t\t\t\'top\': {s: \'4px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#tools_top > div, #tools_top": {\n
+\t\t\t\t\t\t\'line-height\': {s: \'17px\', l: \'34px\', xl: \'50px\'}\n
+\t\t\t\t\t}, \n
+\t\t\t\t\t".dropdown button": {\n
+\t\t\t\t\t\t\'height\': {s: \'18px\', l: \'34px\', xl: \'40px\'},\n
+\t\t\t\t\t\t\'line-height\': {s: \'18px\', l: \'34px\', xl: \'40px\'},\n
+\t\t\t\t\t\t\'margin-top\': {s: \'3px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#tools_top label, #tools_bottom label": {\n
+\t\t\t\t\t\t\'font-size\': {s: \'1em\', l: \'1.5em\', xl: \'2em\'},\n
+\t\t\t\t\t\t\'height\': {s: \'25px\', l: \'42px\', xl: \'64px\'}\n
+\t\t\t\t\t}, \n
+\t\t\t\t\t"div.toolset": {\n
+\t\t\t\t\t\t\'height\': {s: \'25px\', l: \'42px\', xl: \'64px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#tool_bold, #tool_italic": {\n
+\t\t\t\t\t\t\'font-size\': {s: \'1.5em\', l: \'3em\', xl: \'4.5em\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#sidepanels": {\n
+\t\t\t\t\t\t\'top\': {s: \'50px\', l: \'88px\', xl: \'125px\'},\n
+\t\t\t\t\t\t\'bottom\': {s: \'51px\', l: \'68px\', xl: \'65px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t\'#layerbuttons\': {\n
+\t\t\t\t\t\t\'width\': {l: \'130px\', xl: \'175px\'},\n
+\t\t\t\t\t\t\'height\': {l: \'24px\', xl: \'30px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t\'#layerlist\': {\n
+\t\t\t\t\t\t\'width\': {l: \'128px\', xl: \'150px\'}\n
+\t\t\t\t\t},\t\t\t\n
+\t\t\t\t\t\'.layer_button\': {\n
+\t\t\t\t\t\t\'width\': {l: \'19px\', xl: \'28px\'},\n
+\t\t\t\t\t\t\'height\': {l: \'19px\', xl: \'28px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"input.spin-button": {\n
+\t\t\t\t\t\t\'background-image\': {l: "url(\'images/spinbtn_updn_big.png\')", xl: "url(\'images/spinbtn_updn_big.png\')"},\n
+\t\t\t\t\t\t\'background-position\': {l: \'100% -5px\', xl: \'100% -2px\'},\n
+\t\t\t\t\t\t\'padding-right\': {l: \'24px\', xl: \'24px\' }\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"input.spin-button.up": {\n
+\t\t\t\t\t\t\'background-position\': {l: \'100% -45px\', xl: \'100% -42px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"input.spin-button.down": {\n
+\t\t\t\t\t\t\'background-position\': {l: \'100% -85px\', xl: \'100% -82px\'}\n
+\t\t\t\t\t},\n
+\t\t\t\t\t"#position_opts": {\n
+\t\t\t\t\t\t\'width\': {all: (size_num*4) +\'px\'}\n
+\t\t\t\t\t}\n
+\t\t\t\t};\n
+\t\t\t\t\n
+\t\t\t\tvar rule_elem = $(\'#tool_size_rules\');\n
+\t\t\t\tif(!rule_elem.length) {\n
+\t\t\t\t\trule_elem = $(\'<style id="tool_size_rules"><\\/style>\').appendTo(\'head\');\n
+\t\t\t\t} else {\n
+\t\t\t\t\trule_elem.empty();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tif(size != \'m\') {\n
+\t\t\t\t\tvar style_str = \'\';\n
+\t\t\t\t\t$.each(cssResizeRules, function(selector, rules) {\n
+\t\t\t\t\t\tselector = \'#svg_editor \' + selector.replace(/,/g,\', #svg_editor\');\n
+\t\t\t\t\t\tstyle_str += selector + \'{\';\n
+\t\t\t\t\t\t$.each(rules, function(prop, values) {\n
+\t\t\t\t\t\t\tif(values[size] || values.all) {\n
+\t\t\t\t\t\t\t\tstyle_str += (prop + \':\' + (values[size] || values.all) + \';\');\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\tstyle_str += \'}\';\n
+\t\t\t\t\t});\n
+\t\t\t\t\trule_elem.text(style_str);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tsetFlyoutPositions();\n
+\t\t\t}\n
+\t\t\n
+\t\t\tvar cancelOverlays = function() {\n
+\t\t\t\t$(\'#dialog_box\').hide();\n
+\t\t\t\tif (!editingsource && !docprops) return;\n
+\t\t\n
+\t\t\t\tif (editingsource) {\n
+\t\t\t\t\tvar oldString = svgCanvas.getSvgString();\n
+\t\t\t\t\tif (oldString != $(\'#svg_source_textarea\').val()) {\n
+\t\t\t\t\t\t$.confirm(uiStrings.QignoreSourceChanges, function(ok) {\n
+\t\t\t\t\t\t\tif(ok) hideSourceEditor();\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\thideSourceEditor();\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\telse if (docprops) {\n
+\t\t\t\t\thideDocProperties();\n
+\t\t\t\t}\n
+\t\t\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar hideSourceEditor = function(){\n
+\t\t\t\t$(\'#svg_source_editor\').hide();\n
+\t\t\t\teditingsource = false;\n
+\t\t\t\t$(\'#svg_source_textarea\').blur();\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tvar hideDocProperties = function(){\n
+\t\t\t\t$(\'#svg_docprops\').hide();\n
+\t\t\t\t$(\'#canvas_width,#canvas_height\').removeAttr(\'disabled\');\n
+\t\t\t\t$(\'#resolution\')[0].selectedIndex = 0;\n
+\t\t\t\t$(\'#image_save_opts input\').val([curPrefs.img_save]);\n
+\t\t\t\tdocprops = false;\n
+\t\t\t};\n
+\n
+\t\t\tvar win_wh = {width:$(window).width(), height:$(window).height()};\n
+\t\t\t\n
+\t\t\t$(window).resize(function(evt) {\n
+\t\t\t\tif (editingsource) {\n
+\t\t\t\t\tproperlySourceSizeTextArea();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t$.each(win_wh, function(type, val) {\n
+\t\t\t\t\tvar curval = $(window)[type]();\n
+\t\t\t\t\tworkarea[0][\'scroll\' + (type===\'width\'?\'Left\':\'Top\')] -= (curval - val)/2;\n
+\t\t\t\t\twin_wh[type] = curval;\n
+\t\t\t\t});\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(\'#url_notice\').click(function() {\n
+\t\t\t\t$.alert(this.title);\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(\'#change_image_url\').click(promptImgURL);\n
+\t\t\t\n
+\t\t\tfunction promptImgURL() {\n
+\t\t\t\t$.prompt(uiStrings.enterNewImgURL, default_img_url, function(url) {\n
+\t\t\t\t\tif(url) setImageURL(url);\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\n
+\t\t\tfunction setImageURL(url) {\n
+\t\t\t\tif(!url) url = default_img_url;\n
+\t\t\t\t\n
+\t\t\t\tsvgCanvas.setImageURL(url);\n
+\t\t\t\t$(\'#image_url\').val(url);\n
+\t\t\t\t\n
+\t\t\t\tif(url.indexOf(\'data:\') === 0) {\n
+\t\t\t\t\t// data URI found\n
+\t\t\t\t\t$(\'#image_url\').hide();\n
+\t\t\t\t\t$(\'#change_image_url\').show();\n
+\t\t\t\t} else {\n
+\t\t\t\t\t// regular URL\n
+\t\t\t\t\t\n
+\t\t\t\t\tsvgCanvas.embedImage(url, function(datauri) {\n
+\t\t\t\t\t\tif(!datauri) {\n
+\t\t\t\t\t\t\t// Couldn\'t embed, so show warning\n
+\t\t\t\t\t\t\t$(\'#url_notice\').show();\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t$(\'#url_notice\').hide();\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tdefault_img_url = url;\n
+\t\t\t\t\t});\n
+\t\t\t\t\t$(\'#image_url\').show();\n
+\t\t\t\t\t$(\'#change_image_url\').hide();\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\n
+\t\t\t// added these event handlers for all the push buttons so they\n
+\t\t\t// behave more like buttons being pressed-in and not images\n
+\t\t\t(function() {\n
+\t\t\t\tvar toolnames = [\'clear\',\'open\',\'save\',\'source\',\'delete\',\'delete_multi\',\'paste\',\'clone\',\'clone_multi\',\'move_top\',\'move_bottom\'];\n
+\t\t\t\tvar all_tools = \'\';\n
+\t\t\t\tvar cur_class = \'tool_button_current\';\n
+\t\t\t\t\n
+\t\t\t\t$.each(toolnames, function(i,item) {\n
+\t\t\t\t\tall_tools += \'#tool_\' + item + (i==toolnames.length-1?\',\':\'\');\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\t$(all_tools).mousedown(function() {\n
+\t\t\t\t\t$(this).addClass(cur_class);\n
+\t\t\t\t}).bind(\'mousedown mouseout\', function() {\n
+\t\t\t\t\t$(this).removeClass(cur_class);\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\t$(\'#tool_undo, #tool_redo\').mousedown(function(){ \n
+\t\t\t\t\tif (!$(this).hasClass(\'disabled\')) $(this).addClass(cur_class);\n
+\t\t\t\t}).bind(\'mousedown mouseout\',function(){\n
+\t\t\t\t\t$(this).removeClass(cur_class);}\n
+\t\t\t\t);\n
+\t\t\t}());\n
+\t\t\n
+\t\t\t// switch modifier key in tooltips if mac\n
+\t\t\t// NOTE: This code is not used yet until I can figure out how to successfully bind ctrl/meta\n
+\t\t\t// in Opera and Chrome\n
+\t\t\tif (isMac) {\n
+\t\t\t\tvar shortcutButtons = ["tool_clear", "tool_save", "tool_source", "tool_undo", "tool_redo", "tool_clone"];\n
+\t\t\t\tvar i = shortcutButtons.length;\n
+\t\t\t\twhile (i--) {\n
+\t\t\t\t\tvar button = document.getElementById(shortcutButtons[i]);\n
+\t\t\t\t\tvar title = button.title;\n
+\t\t\t\t\tvar index = title.indexOf("Ctrl+");\n
+\t\t\t\t\tbutton.title = [title.substr(0,index), "Cmd+", title.substr(index+5)].join(\'\');\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// TODO: go back to the color boxes having white background-color and then setting\n
+\t\t\t//       background-image to none.png (otherwise partially transparent gradients look weird)\t\n
+\t\t\tvar colorPicker = function(elem) {\n
+\t\t\t\tvar picker = elem.attr(\'id\') == \'stroke_color\' ? \'stroke\' : \'fill\';\n
+// \t\t\t\tvar opacity = (picker == \'stroke\' ? $(\'#stroke_opacity\') : $(\'#fill_opacity\'));\n
+\t\t\t\tvar paint = (picker == \'stroke\' ? strokePaint : fillPaint);\n
+\t\t\t\tvar title = (picker == \'stroke\' ? \'Pick a Stroke Paint and Opacity\' : \'Pick a Fill Paint and Opacity\');\n
+\t\t\t\tvar was_none = false;\n
+\t\t\t\tvar pos = elem.position();\n
+\t\t\t\t$("#color_picker")\n
+\t\t\t\t\t.draggable({cancel:\'.jPicker_table,.jGraduate_lgPick,.jGraduate_rgPick\'})\n
+\t\t\t\t\t.css({\'left\': pos.left, \'bottom\': 50 - pos.top})\n
+\t\t\t\t\t.jGraduate(\n
+\t\t\t\t\t{ \n
+\t\t\t\t\t\tpaint: paint,\n
+\t\t\t\t\t\twindow: { pickerTitle: title },\n
+\t\t\t\t\t\timages: { clientPath: "jgraduate/images/" }\n
+\t\t\t\t\t},\n
+\t\t\t\t\tfunction(p) {\n
+\t\t\t\t\t\tpaint = new $.jGraduate.Paint(p);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tvar oldgrad = document.getElementById("gradbox_"+picker);\n
+\t\t\t\t\t\tvar svgbox = oldgrad.parentNode;\n
+\t\t\t\t\t\tvar rectbox = svgbox.firstChild;\n
+\t\t\t\t\t\tif (paint.type == "linearGradient" || paint.type == "radialGradient") {\n
+\t\t\t\t\t\t\tsvgbox.removeChild(oldgrad);\n
+\t\t\t\t\t\t\tvar newgrad = svgbox.appendChild(document.importNode(paint[paint.type], true));\n
+\t\t\t\t\t\t\tsvgCanvas.fixOperaXML(newgrad, paint[paint.type])\n
+\t\t\t\t\t\t\tnewgrad.id = "gradbox_"+picker;\n
+\t\t\t\t\t\t\trectbox.setAttribute("fill", "url(#gradbox_" + picker + ")");\n
+\t\t\t\t\t\t\trectbox.setAttribute("opacity", paint.alpha/100);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\telse {\n
+\t\t\t\t\t\t\trectbox.setAttribute("fill", paint.solidColor != "none" ? "#" + paint.solidColor : "none");\n
+\t\t\t\t\t\t\trectbox.setAttribute("opacity", paint.alpha/100);\n
+\t\t\t\t\t\t}\n
+\t\t\n
+\t\t\t\t\t\tif (picker == \'stroke\') {\n
+\t\t\t\t\t\t\tsvgCanvas.setStrokePaint(paint, true);\n
+\t\t\t\t\t\t\tstrokePaint = paint;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\telse {\n
+\t\t\t\t\t\t\tsvgCanvas.setFillPaint(paint, true);\n
+\t\t\t\t\t\t\tfillPaint = paint;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tupdateToolbar();\n
+\t\t\t\t\t\t$(\'#color_picker\').hide();\n
+\t\t\t\t\t},\n
+\t\t\t\t\tfunction(p) {\n
+\t\t\t\t\t\t$(\'#color_picker\').hide();\n
+\t\t\t\t\t});\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar updateToolButtonState = function() {\n
+\t\t\t\tvar bNoFill = (svgCanvas.getFillColor() == \'none\');\n
+\t\t\t\tvar bNoStroke = (svgCanvas.getStrokeColor() == \'none\');\n
+\t\t\t\tvar buttonsNeedingStroke = [ \'#tool_fhpath\', \'#tool_line\' ];\n
+\t\t\t\tvar buttonsNeedingFillAndStroke = [ \'#tools_rect .tool_button\', \'#tools_ellipse .tool_button\', \'#tool_text\', \'#tool_path\'];\n
+\t\t\t\tif (bNoStroke) {\n
+\t\t\t\t\tfor (index in buttonsNeedingStroke) {\n
+\t\t\t\t\t\tvar button = buttonsNeedingStroke[index];\n
+\t\t\t\t\t\tif ($(button).hasClass(\'tool_button_current\')) {\n
+\t\t\t\t\t\t\tclickSelect();\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t$(button).addClass(\'disabled\');\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\tfor (index in buttonsNeedingStroke) {\n
+\t\t\t\t\t\tvar button = buttonsNeedingStroke[index];\n
+\t\t\t\t\t\t$(button).removeClass(\'disabled\');\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\n
+\t\t\t\tif (bNoStroke && bNoFill) {\n
+\t\t\t\t\tfor (index in buttonsNeedingFillAndStroke) {\n
+\t\t\t\t\t\tvar button = buttonsNeedingFillAndStroke[index];\n
+\t\t\t\t\t\tif ($(button).hasClass(\'tool_button_current\')) {\n
+\t\t\t\t\t\t\tclickSelect();\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t$(button).addClass(\'disabled\');\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\tfor (index in buttonsNeedingFillAndStroke) {\n
+\t\t\t\t\t\tvar button = buttonsNeedingFillAndStroke[index];\n
+\t\t\t\t\t\t$(button).removeClass(\'disabled\');\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tsvgCanvas.runExtensions("toolButtonStateUpdate", {\n
+\t\t\t\t\tnofill: bNoFill,\n
+\t\t\t\t\tnostroke: bNoStroke\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\t// Disable flyouts if all inside are disabled\n
+\t\t\t\t$(\'.tools_flyout\').each(function() {\n
+\t\t\t\t\tvar shower = $(\'#\' + this.id + \'_show\');\n
+\t\t\t\t\tvar has_enabled = false;\n
+\t\t\t\t\t$(this).children().each(function() {\n
+\t\t\t\t\t\tif(!$(this).hasClass(\'disabled\')) {\n
+\t\t\t\t\t\t\thas_enabled = true;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\tshower.toggleClass(\'disabled\', !has_enabled);\n
+\t\t\t\t});\n
+\t\t\n
+\t\t\t\toperaRepaint();\n
+\t\t\t};\n
+\t\t\n
+\t\t\t// set up gradients to be used for the buttons\n
+\t\t\tvar svgdocbox = new DOMParser().parseFromString(\n
+\t\t\t\t\'<svg xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"\\\n
+\t\t\t\tfill="#\' + curConfig.initFill.color + \'" opacity="\' + curConfig.initFill.opacity + \'"/>\\\n
+\t\t\t\t<linearGradient id="gradbox_">\\\n
+\t\t\t\t\t\t<stop stop-color="#000" offset="0.0"/>\\\n
+\t\t\t\t\t\t<stop stop-color="#FF0000" offset="1.0"/>\\\n
+\t\t\t\t</linearGradient></svg>\', \'text/xml\');\n
+\t\t\n
+\t\t\tvar boxgrad = svgdocbox.getElementById(\'gradbox_\');\n
+\t\t\tboxgrad.id = \'gradbox_fill\';\n
+\t\t\tsvgdocbox.documentElement.setAttribute(\'width\',16.5);\n
+\t\t\t$(\'#fill_color\').append( document.importNode(svgdocbox.documentElement,true) );\n
+\t\t\t\n
+\t\t\tboxgrad.id = \'gradbox_stroke\';\t\n
+\t\t\tsvgdocbox.documentElement.setAttribute(\'width\',16.5);\n
+\t\t\t$(\'#stroke_color\').append( document.importNode(svgdocbox.documentElement,true) );\n
+\t\t\t$(\'#stroke_color rect\').attr({\n
+\t\t\t\t\'fill\': \'#\' + curConfig.initStroke.color,\n
+\t\t\t\t\'opacity\': curConfig.initStroke.opacity\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(\'#stroke_width\').val(curConfig.initStroke.width);\n
+\t\t\t$(\'#group_opacity\').val(curConfig.initOpacity * 100);\n
+\t\t\t\n
+\t\t\t// Use this SVG elem to test vectorEffect support\n
+\t\t\tvar test_el = svgdocbox.documentElement.firstChild;\n
+\t\t\ttest_el.setAttribute(\'style\',\'vector-effect:non-scaling-stroke\');\n
+\t\t\tvar supportsNonSS = (test_el.style.vectorEffect == \'non-scaling-stroke\');\n
+\t\t\ttest_el.removeAttribute(\'style\');\n
+\t\t\t\n
+\t\t\t// Use this to test support for blur element. Seems to work to test support in Webkit\n
+\t\t\tvar blur_test = svgdocbox.createElementNS(\'http://www.w3.org/2000/svg\', \'feGaussianBlur\');\n
+\t\t\tif(typeof blur_test.stdDeviationX === "undefined") {\n
+\t\t\t\t$(\'#tool_blur\').hide();\n
+\t\t\t}\n
+\t\t\t$(blur_test).remove();\n
+\t\t\t\n
+\t\t\t// Test for embedImage support (use timeout to not interfere with page load)\n
+\t\t\tsetTimeout(function() {\n
+\t\t\t\tsvgCanvas.embedImage(\'images/logo.png\', function(datauri) {\n
+\t\t\t\t\tif(!datauri) {\n
+\t\t\t\t\t\t// Disable option\n
+\t\t\t\t\t\t$(\'#image_save_opts [value=embed]\').attr(\'disabled\',\'disabled\');\n
+\t\t\t\t\t\t$(\'#image_save_opts input\').val([\'ref\']);\n
+\t\t\t\t\t\tcurPrefs.img_save = \'ref\';\n
+\t\t\t\t\t\t$(\'#image_opt_embed\').css(\'color\',\'#666\').attr(\'title\',uiStrings.featNotSupported);\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t},1000);\n
+\t\t\t\t\n
+\t\t\t$(\'#fill_color, #tool_fill .icon_label\').click(function(){\n
+\t\t\t\tcolorPicker($(\'#fill_color\'));\n
+\t\t\t\tupdateToolButtonState();\n
+\t\t\t});\n
+\t\t\n
+\t\t\t$(\'#stroke_color, #tool_stroke .icon_label\').click(function(){\n
+\t\t\t\tcolorPicker($(\'#stroke_color\'));\n
+\t\t\t\tupdateToolButtonState();\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(\'#group_opacityLabel\').click(function() {\n
+\t\t\t\t$(\'#opacity_dropdown button\').mousedown();\n
+\t\t\t\t$(window).mouseup();\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(\'#zoomLabel\').click(function() {\n
+\t\t\t\t$(\'#zoom_dropdown button\').mousedown();\n
+\t\t\t\t$(window).mouseup();\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(\'#tool_move_top\').mousedown(function(evt){\n
+\t\t\t\t$(\'#tools_stacking\').show();\n
+\t\t\t\tevt.preventDefault();\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(\'.layer_button\').mousedown(function() { \n
+\t\t\t\t$(this).addClass(\'layer_buttonpressed\');\n
+\t\t\t}).mouseout(function() {\n
+\t\t\t\t$(this).removeClass(\'layer_buttonpressed\');\n
+\t\t\t}).mouseup(function() {\n
+\t\t\t\t$(this).removeClass(\'layer_buttonpressed\');\n
+\t\t\t});\n
+\t\t\n
+\t\t\t$(\'.push_button\').mousedown(function() { \n
+\t\t\t\tif (!$(this).hasClass(\'disabled\')) {\n
+\t\t\t\t\t$(this).addClass(\'push_button_pressed\').removeClass(\'push_button\');\n
+\t\t\t\t}\n
+\t\t\t}).mouseout(function() {\n
+\t\t\t\t$(this).removeClass(\'push_button_pressed\').addClass(\'push_button\');\n
+\t\t\t}).mouseup(function() {\n
+\t\t\t\t$(this).removeClass(\'push_button_pressed\').addClass(\'push_button\');\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(\'#layer_new\').click(function() {\n
+\t\t\t\tvar curNames = new Array(svgCanvas.getNumLayers());\n
+\t\t\t\tfor (var i = 0; i < curNames.length; ++i) { curNames[i] = svgCanvas.getLayer(i); }\n
+\t\t\t\t\n
+\t\t\t\tvar j = (curNames.length+1);\n
+\t\t\t\tvar uniqName = uiStrings.layer + " " + j;\n
+\t\t\t\twhile ($.inArray(uniqName, curNames) != -1) {\n
+\t\t\t\t\tj++;\n
+\t\t\t\t\tuniqName = uiStrings.layer + " " + j;\n
+\t\t\t\t}\n
+\t\t\t\t$.prompt(uiStrings.enterUniqueLayerName,uniqName, function(newName) {\n
+\t\t\t\t\tif (!newName) return;\n
+\t\t\t\t\tif ($.inArray(newName, curNames) != -1) {\n
+\t\t\t\t\t\t$.alert(uiStrings.dupeLayerName);\n
+\t\t\t\t\t\treturn;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tsvgCanvas.createLayer(newName);\n
+\t\t\t\t\tupdateContextPanel();\n
+\t\t\t\t\tpopulateLayers();\n
+\t\t\t\t\t$(\'#layerlist tr.layer\').removeClass("layersel");\n
+\t\t\t\t\t$(\'#layerlist tr.layer:first\').addClass("layersel");\n
+\t\t\t\t});\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(\'#layer_delete\').click(function() {\n
+\t\t\t\tif (svgCanvas.deleteCurrentLayer()) {\n
+\t\t\t\t\tupdateContextPanel();\n
+\t\t\t\t\tpopulateLayers();\n
+\t\t\t\t\t// This matches what SvgCanvas does\n
+\t\t\t\t\t// TODO: make this behavior less brittle (svg-editor should get which\n
+\t\t\t\t\t// layer is selected from the canvas and then select that one in the UI)\n
+\t\t\t\t\t$(\'#layerlist tr.layer\').removeClass("layersel");\n
+\t\t\t\t\t$(\'#layerlist tr.layer:first\').addClass("layersel");\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(\'#layer_up\').click(function() {\n
+\t\t\t\t// find index position of selected option\n
+\t\t\t\tvar curIndex = $(\'#layerlist tr.layersel\').prevAll().length;\n
+\t\t\t\tif (curIndex > 0) {\n
+\t\t\t\t\tvar total = $(\'#layerlist tr.layer\').length;\n
+\t\t\t\t\tcurIndex--;\n
+\t\t\t\t\tsvgCanvas.setCurrentLayerPosition(total-curIndex-1);\n
+\t\t\t\t\tpopulateLayers();\n
+\t\t\t\t\t$(\'#layerlist tr.layer\').removeClass("layersel");\n
+\t\t\t\t\t$(\'#layerlist tr.layer:eq(\'+curIndex+\')\').addClass("layersel");\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\n
+\t\t\t$(\'#layer_down\').click(function() {\n
+\t\t\t\t// find index position of selected option\n
+\t\t\t\tvar curIndex = $(\'#layerlist tr.layersel\').prevAll().length;\n
+\t\t\t\tvar total = $(\'#layerlist tr.layer\').length;\n
+\t\t\t\tif (curIndex < total-1) {\n
+\t\t\t\t\tcurIndex++;\n
+\t\t\t\t\tsvgCanvas.setCurrentLayerPosition(total-curIndex-1);\n
+\t\t\t\t\tpopulateLayers();\n
+\t\t\t\t\t$(\'#layerlist tr.layer\').removeClass("layersel");\n
+\t\t\t\t\t$(\'#layerlist tr.layer:eq(\'+curIndex+\')\').addClass("layersel");\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\n
+\t\t\t$(\'#layer_rename\').click(function() {\n
+\t\t\t\tvar curIndex = $(\'#layerlist tr.layersel\').prevAll().length;\n
+\t\t\t\tvar oldName = $(\'#layerlist tr.layersel td.layername\').text();\n
+\t\t\t\t$.prompt(uiStrings.enterNewLayerName,"", function(newName) {\n
+\t\t\t\t\tif (!newName) return;\n
+\t\t\t\t\tif (oldName == newName) {\n
+\t\t\t\t\t\t$.alert(uiStrings.layerHasThatName);\n
+\t\t\t\t\t\treturn;\n
+\t\t\t\t\t}\n
+\t\t\t\n
+\t\t\t\t\tvar curNames = new Array(svgCanvas.getNumLayers());\n
+\t\t\t\t\tfor (var i = 0; i < curNames.length; ++i) { curNames[i] = svgCanvas.getLayer(i); }\n
+\t\t\t\t\tif ($.inArray(newName, curNames) != -1) {\n
+\t\t\t\t\t\t$.alert(uiStrings.layerHasThatName);\n
+\t\t\t\t\t\treturn;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tsvgCanvas.renameCurrentLayer(newName);\n
+\t\t\t\t\tpopulateLayers();\n
+\t\t\t\t\t$(\'#layerlist tr.layer\').removeClass("layersel");\n
+\t\t\t\t\t$(\'#layerlist tr.layer:eq(\'+curIndex+\')\').addClass("layersel");\n
+\t\t\t\t});\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\tvar SIDEPANEL_MAXWIDTH = 300;\n
+\t\t\tvar SIDEPANEL_OPENWIDTH = 150;\n
+\t\t\tvar sidedrag = -1, sidedragging = false, allowmove = false;\n
+\t\t\t\t\n
+\t\t\tvar resizePanel = function(evt) {\n
+\t\t\t\tif (!allowmove) return;\n
+\t\t\t\tif (sidedrag == -1) return;\n
+\t\t\t\tsidedragging = true;\n
+\t\t\t\tvar deltax = sidedrag - evt.pageX;\n
+\t\t\t\t\n
+\t\t\t\tvar sidepanels = $(\'#sidepanels\');\n
+\t\t\t\tvar sidewidth = parseInt(sidepanels.css(\'width\'));\n
+\t\t\t\tif (sidewidth+deltax > SIDEPANEL_MAXWIDTH) {\n
+\t\t\t\t\tdeltax = SIDEPANEL_MAXWIDTH - sidewidth;\n
+\t\t\t\t\tsidewidth = SIDEPANEL_MAXWIDTH;\n
+\t\t\t\t}\n
+\t\t\t\telse if (sidewidth+deltax < 2) {\n
+\t\t\t\t\tdeltax = 2 - sidewidth;\n
+\t\t\t\t\tsidewidth = 2;\n
+\t\t\t\t}\n
+\t\n
+\t\t\t\tif (deltax == 0) return;\n
+\t\t\t\tsidedrag -= deltax;\n
+\t\n
+\t\t\t\tvar layerpanel = $(\'#layerpanel\');\n
+\t\t\t\tworkarea.css(\'right\', parseInt(workarea.css(\'right\'))+deltax);\n
+\t\t\t\tsidepanels.css(\'width\', parseInt(sidepanels.css(\'width\'))+deltax);\n
+\t\t\t\tlayerpanel.css(\'width\', parseInt(layerpanel.css(\'width\'))+deltax);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t$(\'#sidepanel_handle\')\n
+\t\t\t\t.mousedown(function(evt) {\n
+\t\t\t\t\tsidedrag = evt.pageX;\n
+\t\t\t\t\t$(window).mousemove(resizePanel);\n
+\t\t\t\t\tallowmove = false;\n
+\t\t\t\t\t// Silly hack for Chrome, which always runs mousemove right after mousedown\n
+\t\t\t\t\tsetTimeout(function() {\n
+\t\t\t\t\t\tallowmove = true;\n
+\t\t\t\t\t}, 20);\n
+\t\t\t\t})\n
+\t\t\t\t.mouseup(function(evt) {\n
+\t\t\t\t\tif (!sidedragging) toggleSidePanel();\n
+\t\t\t\t\tsidedrag = -1;\n
+\t\t\t\t\tsidedragging = false;\n
+\t\t\t\t});\n
+\n
+\t\t\t$(window).mouseup(function() {\n
+\t\t\t\tsidedrag = -1;\n
+\t\t\t\tsidedragging = false;\n
+\t\t\t\t$(\'#svg_editor\').unbind(\'mousemove\', resizePanel);\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t// if width is non-zero, then fully close it, otherwise fully open it\n
+\t\t\t// the optional close argument forces the side panel closed\n
+\t\t\tvar toggleSidePanel = function(close){\n
+\t\t\t\tvar w = parseInt($(\'#sidepanels\').css(\'width\'));\n
+\t\t\t\tvar deltax = (w > 2 || close ? 2 : SIDEPANEL_OPENWIDTH) - w;\n
+\t\t\t\tvar sidepanels = $(\'#sidepanels\');\n
+\t\t\t\tvar layerpanel = $(\'#layerpanel\');\n
+\t\t\t\tworkarea.css(\'right\', parseInt(workarea.css(\'right\'))+deltax);\n
+\t\t\t\tsidepanels.css(\'width\', parseInt(sidepanels.css(\'width\'))+deltax);\n
+\t\t\t\tlayerpanel.css(\'width\', parseInt(layerpanel.css(\'width\'))+deltax);\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\t// this function highlights the layer passed in (by fading out the other layers)\n
+\t\t\t// if no layer is passed in, this function restores the other layers\n
+\t\t\tvar toggleHighlightLayer = function(layerNameToHighlight) {\n
+\t\t\t\tvar curNames = new Array(svgCanvas.getNumLayers());\n
+\t\t\t\tfor (var i = 0; i < curNames.length; ++i) { curNames[i] = svgCanvas.getLayer(i); }\n
+\t\t\t\n
+\t\t\t\tif (layerNameToHighlight) {\n
+\t\t\t\t\tfor (var i = 0; i < curNames.length; ++i) {\n
+\t\t\t\t\t\tif (curNames[i] != layerNameToHighlight) {\n
+\t\t\t\t\t\t\tsvgCanvas.setLayerOpacity(curNames[i], 0.5);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\tfor (var i = 0; i < curNames.length; ++i) {\n
+\t\t\t\t\t\tsvgCanvas.setLayerOpacity(curNames[i], 1.0);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\n
+\t\t\tvar populateLayers = function(){\n
+\t\t\t\tvar layerlist = $(\'#layerlist tbody\');\n
+\t\t\t\tvar selLayerNames = $(\'#selLayerNames\');\n
+\t\t\t\tlayerlist.empty();\n
+\t\t\t\tselLayerNames.empty();\n
+\t\t\t\tvar currentlayer = svgCanvas.getCurrentLayer();\n
+\t\t\t\tvar layer = svgCanvas.getNumLayers();\n
+\t\t\t\tvar icon = $.getSvgIcon(\'eye\');\n
+\t\t\t\t// we get the layers in the reverse z-order (the layer rendered on top is listed first)\n
+\t\t\t\twhile (layer--) {\n
+\t\t\t\t\tvar name = svgCanvas.getLayer(layer);\n
+\t\t\t\t\t// contenteditable=\\"true\\"\n
+\t\t\t\t\tvar appendstr = "<tr class=\\"layer";\n
+\t\t\t\t\tif (name == currentlayer) {\n
+\t\t\t\t\t\tappendstr += " layersel"\n
+\t\t\t\t\t}\n
+\t\t\t\t\tappendstr += "\\">";\n
+\t\t\t\t\t\n
+\t\t\t\t\tif (svgCanvas.getLayerVisibility(name)) {\n
+\t\t\t\t\t\tappendstr += "<td class=\\"layervis\\"/><td class=\\"layername\\" >" + name + "</td></tr>";\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse {\n
+\t\t\t\t\t\tappendstr += "<td class=\\"layervis layerinvis\\"/><td class=\\"layername\\" >" + name + "</td></tr>";\n
+\t\t\t\t\t}\n
+\t\t\t\t\tlayerlist.append(appendstr);\n
+\t\t\t\t\tselLayerNames.append("<option value=\\"" + name + "\\">" + name + "</option>");\n
+\t\t\t\t}\n
+\t\t\t\tif(icon !== undefined) {\n
+\t\t\t\t\tvar copy = icon.clone();\n
+\t\t\t\t\t$(\'td.layervis\',layerlist).append(icon.clone());\n
+\t\t\t\t\t$.resizeSvgIcons({\'td.layervis .svg_icon\':14});\n
+\t\t\t\t}\n
+\t\t\t\t// handle selection of layer\n
+\t\t\t\t$(\'#layerlist td.layername\')\n
+\t\t\t\t\t.click(function(evt){\n
+\t\t\t\t\t\t$(\'#layerlist tr.layer\').removeClass("layersel");\n
+\t\t\t\t\t\tvar row = $(this.parentNode);\n
+\t\t\t\t\t\trow.addClass("layersel");\n
+\t\t\t\t\t\tsvgCanvas.setCurrentLayer(this.textContent);\n
+\t\t\t\t\t\tevt.preventDefault();\n
+\t\t\t\t\t})\n
+\t\t\t\t\t.mouseover(function(evt){\n
+\t\t\t\t\t\t$(this).css({"font-style": "italic", "color":"blue"});\n
+\t\t\t\t\t\ttoggleHighlightLayer(this.textContent);\n
+\t\t\t\t\t})\n
+\t\t\t\t\t.mouseout(function(evt){\n
+\t\t\t\t\t\t$(this).css({"font-style": "normal", "color":"black"});\n
+\t\t\t\t\t\ttoggleHighlightLayer();\n
+\t\t\t\t\t});\n
+\t\t\t\t$(\'#layerlist td.layervis\').click(function(evt){\n
+\t\t\t\t\tvar row = $(this.parentNode).prevAll().length;\n
+\t\t\t\t\tvar name = $(\'#layerlist tr.layer:eq(\' + row + \') td.layername\').text();\n
+\t\t\t\t\tvar vis = $(this).hasClass(\'layerinvis\');\n
+\t\t\t\t\tsvgCanvas.setLayerVisibility(name, vis);\n
+\t\t\t\t\tif (vis) {\n
+\t\t\t\t\t\t$(this).removeClass(\'layerinvis\');\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse {\n
+\t\t\t\t\t\t$(this).addClass(\'layerinvis\');\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\t// if there were too few rows, let\'s add a few to make it not so lonely\n
+\t\t\t\tvar num = 5 - $(\'#layerlist tr.layer\').size();\n
+\t\t\t\twhile (num-- > 0) {\n
+\t\t\t\t\t// FIXME: there must a better way to do this\n
+\t\t\t\t\tlayerlist.append("<tr><td style=\\"color:white\\">_</td><td/></tr>");\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\tpopulateLayers();\n
+\t\t\n
+\t\t// \tfunction changeResolution(x,y) {\n
+\t\t// \t\tvar zoom = svgCanvas.getResolution().zoom;\n
+\t\t// \t\tsetResolution(x * zoom, y * zoom);\n
+\t\t// \t}\n
+\t\t\t\n
+\t\t\tvar centerCanvas = function() {\n
+\t\t\t\t// this centers the canvas vertically in the workarea (horizontal handled in CSS)\n
+\t\t\t\tworkarea.css(\'line-height\', workarea.height() + \'px\');\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\t$(window).bind(\'load resize\', centerCanvas);\n
+\t\t\n
+\t\t\tfunction stepFontSize(elem, step) {\n
+\t\t\t\tvar orig_val = elem.value-0;\n
+\t\t\t\tvar sug_val = orig_val + step;\n
+\t\t\t\tvar increasing = sug_val >= orig_val;\n
+\t\t\t\tif(step === 0) return orig_val;\n
+\t\t\t\t\n
+\t\t\t\tif(orig_val >= 24) {\n
+\t\t\t\t\tif(increasing) {\n
+\t\t\t\t\t\treturn Math.round(orig_val * 1.1);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\treturn Math.round(orig_val / 1.1);\n
+\t\t\t\t\t}\n
+\t\t\t\t} else if(orig_val <= 1) {\n
+\t\t\t\t\tif(increasing) {\n
+\t\t\t\t\t\treturn orig_val * 2;\t\t\t\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\treturn orig_val / 2;\n
+\t\t\t\t\t}\n
+\t\t\t\t} else {\n
+\t\t\t\t\treturn sug_val;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tfunction stepZoom(elem, step) {\n
+\t\t\t\tvar orig_val = elem.value-0;\n
+\t\t\t\tif(orig_val === 0) return 100;\n
+\t\t\t\tvar sug_val = orig_val + step;\n
+\t\t\t\tif(step === 0) return orig_val;\n
+\t\t\t\t\n
+\t\t\t\tif(orig_val >= 100) {\n
+\t\t\t\t\treturn sug_val;\n
+\t\t\t\t} else {\n
+\t\t\t\t\tif(sug_val >= orig_val) {\n
+\t\t\t\t\t\treturn orig_val * 2;\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\treturn orig_val / 2;\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t// \tfunction setResolution(w, h, center) {\n
+\t\t// \t\tupdateCanvas();\n
+\t\t// // \t\tw-=0; h-=0;\n
+\t\t// // \t\t$(\'#svgcanvas\').css( { \'width\': w, \'height\': h } );\n
+\t\t// // \t\t$(\'#canvas_width\').val(w);\n
+\t\t// // \t\t$(\'#canvas_height\').val(h);\n
+\t\t// // \n
+\t\t// // \t\tif(center) {\n
+\t\t// // \t\t\tvar w_area = workarea;\n
+\t\t// // \t\t\tvar scroll_y = h/2 - w_area.height()/2;\n
+\t\t// // \t\t\tvar scroll_x = w/2 - w_area.width()/2;\n
+\t\t// // \t\t\tw_area[0].scrollTop = scroll_y;\n
+\t\t// // \t\t\tw_area[0].scrollLeft = scroll_x;\n
+\t\t// // \t\t}\n
+\t\t// \t}\n
+\t\t\n
+\t\t\t$(\'#resolution\').change(function(){\n
+\t\t\t\tvar wh = $(\'#canvas_width,#canvas_height\');\n
+\t\t\t\tif(!this.selectedIndex) {\n
+\t\t\t\t\tif($(\'#canvas_width\').val() == \'fit\') {\n
+\t\t\t\t\t\twh.removeAttr("disabled").val(100);\n
+\t\t\t\t\t}\n
+\t\t\t\t} else if(this.value == \'content\') {\n
+\t\t\t\t\twh.val(\'fit\').attr("disabled","disabled");\n
+\t\t\t\t} else {\n
+\t\t\t\t\tvar dims = this.value.split(\'x\');\n
+\t\t\t\t\t$(\'#canvas_width\').val(dims[0]);\n
+\t\t\t\t\t$(\'#canvas_height\').val(dims[1]);\n
+\t\t\t\t\twh.removeAttr("disabled");\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\n
+\t\t\t//Prevent browser from erroneously repopulating fields\n
+\t\t\t$(\'input,select\').attr("autocomplete","off");\n
+\t\t\t\n
+\t\t\t// Associate all button actions as well as non-button keyboard shortcuts\n
+\t\t\tvar Actions = function() {\n
+\t\t\t\t// sel:\'selector\', fn:function, evt:\'event\', key:[key, preventDefault, NoDisableInInput]\n
+\t\t\t\tvar tool_buttons = [\n
+\t\t\t\t\t{sel:\'#tool_select\', fn: clickSelect, evt: \'click\', key: 1},\n
+\t\t\t\t\t{sel:\'#tool_fhpath\', fn: clickFHPath, evt: \'click\', key: 2},\n
+\t\t\t\t\t{sel:\'#tool_line\', fn: clickLine, evt: \'click\', key: 3},\n
+\t\t\t\t\t{sel:\'#tool_rect\', fn: clickRect, evt: \'mouseup\', key: 4, parent: \'#tools_rect\', icon: \'rect\'},\n
+\t\t\t\t\t{sel:\'#tool_square\', fn: clickSquare, evt: \'mouseup\', key: \'Shift+4\', parent: \'#tools_rect\', icon: \'square\'},\n
+\t\t\t\t\t{sel:\'#tool_fhrect\', fn: clickFHRect, evt: \'mouseup\', parent: \'#tools_rect\', icon: \'fh_rect\'},\n
+\t\t\t\t\t{sel:\'#tool_ellipse\', fn: clickEllipse, evt: \'mouseup\', key: 5, parent: \'#tools_ellipse\', icon: \'ellipse\'},\n
+\t\t\t\t\t{sel:\'#tool_circle\', fn: clickCircle, evt: \'mouseup\', key: \'Shift+5\', parent: \'#tools_ellipse\', icon: \'circle\'},\n
+\t\t\t\t\t{sel:\'#tool_fhellipse\', fn: clickFHEllipse, evt: \'mouseup\', parent: \'#tools_ellipse\', icon: \'fh_ellipse\'},\n
+\t\t\t\t\t{sel:\'#tool_path\', fn: clickPath, evt: \'click\', key: 6},\n
+\t\t\t\t\t{sel:\'#tool_text\', fn: clickText, evt: \'click\', key: 7},\n
+\t\t\t\t\t{sel:\'#tool_image\', fn: clickImage, evt: \'mouseup\', key: 8},\n
+\t\t\t\t\t{sel:\'#tool_zoom\', fn: clickZoom, evt: \'mouseup\', key: 9},\n
+\t\t\t\t\t{sel:\'#tool_clear\', fn: clickClear, evt: \'mouseup\', key: [modKey+\'N\', true]},\n
+\t\t\t\t\t{sel:\'#tool_save\', fn: function() { editingsource?saveSourceEditor():clickSave()}, evt: \'mouseup\', key: [modKey+\'S\', true]},\n
+\t\t\t\t\t{sel:\'#tool_export\', fn: clickExport, evt: \'mouseup\'},\n
+\t\t\t\t\t{sel:\'#tool_open\', fn: clickOpen, evt: \'mouseup\', key: [modKey+\'O\', true]},\n
+\t\t\t\t\t{sel:\'#tool_import\', fn: clickImport, evt: \'mouseup\'},\n
+\t\t\t\t\t{sel:\'#tool_source\', fn: showSourceEditor, evt: \'click\', key: [\'U\', true]},\n
+\t\t\t\t\t{sel:\'#tool_wireframe\', fn: clickWireframe, evt: \'click\', key: [\'F\', true]},\n
+\t\t\t\t\t{sel:\'#tool_source_cancel,#svg_source_overlay,#tool_docprops_cancel\', fn: cancelOverlays, evt: \'click\', key: [\'esc\', false, false], hidekey: true},\n
+\t\t\t\t\t{sel:\'#tool_source_save\', fn: saveSourceEditor, evt: \'click\'},\n
+\t\t\t\t\t{sel:\'#tool_docprops_save\', fn: saveDocProperties, evt: \'click\'},\n
+\t\t\t\t\t{sel:\'#tool_docprops\', fn: showDocProperties, evt: \'mouseup\', key: [modKey+\'P\', true]},\n
+\t\t\t\t\t{sel:\'#tool_delete,#tool_delete_multi\', fn: deleteSelected, evt: \'click\', key: [\'del/backspace\', true]},\n
+\t\t\t\t\t{sel:\'#tool_reorient\', fn: reorientPath, evt: \'click\'},\n
+\t\t\t\t\t{sel:\'#tool_node_link\', fn: linkControlPoints, evt: \'click\'},\n
+\t\t\t\t\t{sel:\'#tool_node_clone\', fn: clonePathNode, evt: \'click\'},\n
+\t\t\t\t\t{sel:\'#tool_node_delete\', fn: deletePathNode, evt: \'click\'},\n
+\t\t\t\t\t{sel:\'#tool_openclose_path\', fn: opencloseSubPath, evt: \'click\'},\n
+\t\t\t\t\t{sel:\'#tool_add_subpath\', fn: addSubPath, evt: \'click\'},\n
+\t\t\t\t\t{sel:\'#tool_move_top\', fn: moveToTopSelected, evt: \'click\', key: \'shift+up\'},\n
+\t\t\t\t\t{sel:\'#tool_move_bottom\', fn: moveToBottomSelected, evt: \'click\', key: \'shift+down\'},\n
+\t\t\t\t\t{sel:\'#tool_topath\', fn: convertToPath, evt: \'click\'},\n
+\t\t\t\t\t{sel:\'#tool_undo\', fn: clickUndo, evt: \'click\', key: [modKey+\'Z\', true]},\n
+\t\t\t\t\t{sel:\'#tool_redo\', fn: clickRedo, evt: \'click\', key: [modKey+\'Y\', true]},\n
+\t\t\t\t\t{sel:\'#tool_clone,#tool_clone_multi\', fn: clickClone, evt: \'click\', key: [modKey+\'C\', true]},\n
+\t\t\t\t\t{sel:\'#tool_group\', fn: clickGroup, evt: \'click\', key: [modKey+\'G\', true]},\n
+\t\t\t\t\t{sel:\'#tool_ungroup\', fn: clickGroup, evt: \'click\'},\n
+\t\t\t\t\t{sel:\'[id^=tool_align]\', fn: clickAlign, evt: \'click\'},\n
+\t\t\t\t\t// these two lines are required to make Opera work properly with the flyout mechanism\n
+\t\t// \t\t\t{sel:\'#tools_rect_show\', fn: clickRect, evt: \'click\'},\n
+\t\t// \t\t\t{sel:\'#tools_ellipse_show\', fn: clickEllipse, evt: \'click\'},\n
+\t\t\t\t\t{sel:\'#tool_bold\', fn: clickBold, evt: \'mousedown\'},\n
+\t\t\t\t\t{sel:\'#tool_italic\', fn: clickItalic, evt: \'mousedown\'},\n
+\t\t\t\t\t{sel:\'#sidepanel_handle\', fn: toggleSidePanel, key: [modKey+\'X\']},\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Shortcuts not associated with buttons\n
+\t\t\t\t\t{key: \'shift+left\', fn: function(){rotateSelected(0)}},\n
+\t\t\t\t\t{key: \'shift+right\', fn: function(){rotateSelected(1)}},\n
+\t\t\t\t\t{key: \'shift+O\', fn: selectPrev},\n
+\t\t\t\t\t{key: \'shift+P\', fn: selectNext},\n
+\t\t\t\t\t{key: [\'ctrl+up\', true], fn: function(){zoomImage(2);}},\n
+\t\t\t\t\t{key: [\'ctrl+down\', true], fn: function(){zoomImage(.5);}},\n
+\t\t\t\t\t{key: [\'up\', true], fn: function(){moveSelected(0,-1);}},\n
+\t\t\t\t\t{key: [\'down\', true], fn: function(){moveSelected(0,1);}},\n
+\t\t\t\t\t{key: [\'left\', true], fn: function(){moveSelected(-1,0);}},\n
+\t\t\t\t\t{key: [\'right\', true], fn: function(){moveSelected(1,0);}},\n
+\t\t\t\t\t{key: \'A\', fn: function(){svgCanvas.selectAllInCurrentLayer();}}\n
+\t\t\t\t];\n
+\t\t\t\t\n
+\t\t\t\t// Tooltips not directly associated with a single function\n
+\t\t\t\tvar key_assocs = {\n
+\t\t\t\t\t\'4/Shift+4\': \'#tools_rect_show\',\n
+\t\t\t\t\t\'5/Shift+5\': \'#tools_ellipse_show\'\n
+\t\t\t\t};\n
+\t\t\t\n
+\t\t\t\treturn {\n
+\t\t\t\t\tsetAll: function() {\n
+\t\t\t\t\t\tvar flyouts = {};\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t$.each(tool_buttons, function(i, opts)  {\n
+\t\t\t\t\t\t\t// Bind function to button\n
+\t\t\t\t\t\t\tif(opts.sel) {\n
+\t\t\t\t\t\t\t\tvar btn = $(opts.sel);\n
+\t\t\t\t\t\t\t\tif(opts.evt) {\n
+\t\t\t\t\t\t\t\t\tbtn[opts.evt](opts.fn);\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\n
+\t\t\t\t\t\t\t\t// Add to parent flyout menu\n
+\t\t\t\t\t\t\t\tif(opts.parent) {\n
+\t\t\t\t\t\t\t\t\tvar f_h = $(opts.parent);\n
+\t\t\t\t\t\t\t\t\tif(!f_h.length) {\n
+\t\t\t\t\t\t\t\t\t\tf_h = makeFlyoutHolder(opts.parent.substr(1));\n
+\t\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\t\tf_h.append(btn);\n
+\t\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\t\tif(!$.isArray(flyouts[opts.parent])) {\n
+\t\t\t\t\t\t\t\t\t\tflyouts[opts.parent] = [];\n
+\t\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\tflyouts[opts.parent].push(opts);\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// Bind function to shortcut key\n
+\t\t\t\t\t\t\tif(opts.key) {\n
+\t\t\t\t\t\t\t\t// Set shortcut based on options\n
+\t\t\t\t\t\t\t\tvar keyval, shortcut = \'\', disInInp = true, fn = opts.fn, pd = false;\n
+\t\t\t\t\t\t\t\tif($.isArray(opts.key)) {\n
+\t\t\t\t\t\t\t\t\tkeyval = opts.key[0];\n
+\t\t\t\t\t\t\t\t\tif(opts.key.length > 1) pd = opts.key[1];\n
+\t\t\t\t\t\t\t\t\tif(opts.key.length > 2) disInInp = opts.key[2];\n
+\t\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\t\tkeyval = opts.key;\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\tkeyval += \'\';\n
+\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\t$.each(keyval.split(\'/\'), function(i, key) {\n
+\t\t\t\t\t\t\t\t\t$(document).bind(\'keydown\', key, function(e) {\n
+\t\t\t\t\t\t\t\t\t\tfn();\n
+\t\t\t\t\t\t\t\t\t\tif(pd) {\n
+\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n
+\t\t\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\t\t// Prevent default on ALL keys?\n
+\t\t\t\t\t\t\t\t\t\treturn false;\n
+\t\t\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\t// Put shortcut in title\n
+\t\t\t\t\t\t\t\tif(opts.sel && !opts.hidekey) {\n
+\t\t\t\t\t\t\t\t\tvar new_title = btn.attr(\'title\').split(\'[\')[0] + \'[\' + keyval + \']\';\n
+\t\t\t\t\t\t\t\t\tkey_assocs[keyval] = opts.sel;\n
+\t\t\t\t\t\t\t\t\t// Disregard for menu items\n
+\t\t\t\t\t\t\t\t\tif(!btn.parents(\'#main_menu\').length) {\n
+\t\t\t\t\t\t\t\t\t\tbtn.attr(\'title\', new_title);\n
+\t\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// Setup flyouts\n
+\t\t\t\t\t\tsetupFlyouts(flyouts);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// Misc additional actions\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// Make "return" keypress trigger the change event\n
+\t\t\t\t\t\t$(\'.attr_changer, #image_url\').bind(\'keydown\', \'return\', \n
+\t\t\t\t\t\t\tfunction(evt) {$(this).change();evt.preventDefault();}\n
+\t\t\t\t\t\t);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t$(\'#tool_zoom\').dblclick(dblclickZoom);\n
+\t\t\t\t\t},\n
+\t\t\t\t\tsetTitles: function() {\n
+\t\t\t\t\t\t$.each(key_assocs, function(keyval, sel)  {\n
+\t\t\t\t\t\t\tvar menu = ($(sel).parents(\'#main_menu\').length);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t$(sel).each(function() {\n
+\t\t\t\t\t\t\t\tif(menu) {\n
+\t\t\t\t\t\t\t\t\tvar t = $(this).text().split(\' [\')[0];\n
+\t\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\t\tvar t = this.title.split(\' [\')[0];\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\tvar key_str = \'\';\n
+\t\t\t\t\t\t\t\t// Shift+Up\n
+\t\t\t\t\t\t\t\t$.each(keyval.split(\'/\'), function(i, key) {\n
+\t\t\t\t\t\t\t\t\tvar mod_bits = key.split(\'+\'), mod = \'\';\n
+\t\t\t\t\t\t\t\t\tif(mod_bits.length > 1) {\n
+\t\t\t\t\t\t\t\t\t\tmod = mod_bits[0] + \'+\';\n
+\t\t\t\t\t\t\t\t\t\tkey = mod_bits[1];\n
+\t\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\tkey_str += (i?\'/\':\'\') + mod + (uiStrings[\'key_\'+key] || key);\n
+\t\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\t\tif(menu) {\n
+\t\t\t\t\t\t\t\t\tthis.lastChild.textContent = t +\' [\'+key_str+\']\';\n
+\t\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\t\tthis.title = t +\' [\'+key_str+\']\';\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t},\n
+\t\t\t\t\tgetButtonData: function(sel) {\n
+\t\t\t\t\t\tvar b;\n
+\t\t\t\t\t\t$.each(tool_buttons, function(i, btn) {\n
+\t\t\t\t\t\t\tif(btn.sel === sel) b = btn;\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\treturn b;\n
+\t\t\t\t\t}\n
+\t\t\t\t};\n
+\t\t\t}();\n
+\t\t\t\n
+\t\t\tActions.setAll();\n
+\t\t\t\n
+\t\t\t// Select given tool\n
+\t\t\tEditor.ready(function() {\n
+\t\t\t\tvar itool = curConfig.initTool,\n
+\t\t\t\t\tcontainer = $("#tools_left, #svg_editor .tools_flyout"),\n
+\t\t\t\t\tpre_tool = container.find("#tool_" + itool),\n
+\t\t\t\t\treg_tool = container.find("#" + itool);\n
+\t\t\t\tif(pre_tool.length) {\n
+\t\t\t\t\ttool = pre_tool;\n
+\t\t\t\t} else if(reg_tool.length){\n
+\t\t\t\t\ttool = reg_tool;\n
+\t\t\t\t} else {\n
+\t\t\t\t\ttool = $("#tool_select");\n
+\t\t\t\t}\n
+\t\t\t\ttool.click().mouseup();\n
+\t\t\t\t\n
+\t\t\t\tif(curConfig.wireframe) {\n
+\t\t\t\t\t$(\'#tool_wireframe\').click();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tif(curConfig.showlayers) {\n
+\t\t\t\t\ttoggleSidePanel();\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t$(\'#rect_rx\').SpinButton({ min: 0, max: 1000, step: 1, callback: changeRectRadius });\n
+\t\t\t$(\'#stroke_width\').SpinButton({ min: 0, max: 99, step: 1, smallStep: 0.1, callback: changeStrokeWidth });\n
+\t\t\t$(\'#angle\').SpinButton({ min: -180, max: 180, step: 5, callback: changeRotationAngle });\n
+\t\t\t$(\'#font_size\').SpinButton({ step: 1, min: 0.001, stepfunc: stepFontSize, callback: changeFontSize });\n
+\t\t\t$(\'#group_opacity\').SpinButton({ step: 5, min: 0, max: 100, callback: changeOpacity });\n
+\t\t\t$(\'#blur\').SpinButton({ step: .1, min: 0, max: 10, callback: changeBlur });\n
+\t\t\t$(\'#zoom\').SpinButton({ min: 0.001, max: 10000, step: 50, stepfunc: stepZoom, callback: changeZoom });\n
+\t\t\t\n
+\t\t\twindow.onbeforeunload = function() { \n
+\t\t\t\t// Suppress warning if page is empty \n
+\t\t\t\tif(svgCanvas.getHistoryPosition() === 0) {\n
+\t\t\t\t\tshow_save_warning = false;\n
+\t\t\t\t}\n
+\n
+\t\t\t\t// show_save_warning is set to "false" when the page is saved.\n
+\t\t\t\tif(!curConfig.no_save_warning && show_save_warning) {\n
+\t\t\t\t\t// Browser already asks question about closing the page\n
+\t\t\t\t\treturn "There are unsaved changes."; \n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\t// use HTML5 File API: http://www.w3.org/TR/FileAPI/\n
+\t\t\t// if browser has HTML5 File API support, then we will show the open menu item\n
+\t\t\t// and provide a file input to click.  When that change event fires, it will\n
+\t\t\t// get the text contents of the file and send it to the canvas\n
+\t\t\tif (window.FileReader) {\n
+\t\t\t\tvar inp = $(\'<input type="file">\').change(function() {\n
+\t\t\t\t\tvar f = this;\n
+\t\t\t\t\tvar openFile = function(ok) {\n
+\t\t\t\t\t\tif(!ok) return;\n
+\t\t\t\t\t\tsvgCanvas.clear();\n
+\t\t\t\t\t\tif(f.files.length==1) {\n
+\t\t\t\t\t\t\tvar reader = new FileReader();\n
+\t\t\t\t\t\t\treader.onloadend = function(e) {\n
+\t\t\t\t\t\t\t\tsvgCanvas.setSvgString(e.target.result);\n
+\t\t\t\t\t\t\t\tupdateCanvas();\n
+\t\t\t\t\t\t\t};\n
+\t\t\t\t\t\t\treader.readAsText(f.files[0]);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t\t$(\'#main_menu\').hide();\n
+\t\t\t\t\tif(svgCanvas.getHistoryPosition() === 0) {\n
+\t\t\t\t\t\topenFile(true);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\t$.confirm(uiStrings.QwantToOpen, openFile);\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t$("#tool_open").show().prepend(inp);\n
+\t\t\t\tvar inp2 = $(\'<input type="file">\').change(function() {\n
+\t\t\t\t\t$(\'#main_menu\').hide();\n
+\t\t\t\t\tif(this.files.length==1) {\n
+\t\t\t\t\t\tvar reader = new FileReader();\n
+\t\t\t\t\t\treader.onloadend = function(e) {\n
+\t\t\t\t\t\t\tsvgCanvas.importSvgString(e.target.result);\n
+\t\t\t\t\t\t\tupdateCanvas();\n
+\t\t\t\t\t\t};\n
+\t\t\t\t\t\treader.readAsText(this.files[0]);\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t$("#tool_import").show().prepend(inp2);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t\n
+\t\t\tvar updateCanvas = function(center, new_ctr) {\n
+\t\t\t\tvar w = workarea.width(), h = workarea.height();\n
+\t\t\t\tvar w_orig = w, h_orig = h;\n
+\t\t\t\tvar zoom = svgCanvas.getZoom();\n
+\t\t\t\tvar w_area = workarea;\n
+\t\t\t\tvar cnvs = $("#svgcanvas");\n
+\t\t\t\t\n
+\t\t\t\tvar old_ctr = {\n
+\t\t\t\t\tx: w_area[0].scrollLeft + w_orig/2,\n
+\t\t\t\t\ty: w_area[0].scrollTop + h_orig/2\n
+\t\t\t\t};\n
+\t\t\t\t\n
+\t\t\t\tvar multi = curConfig.canvas_expansion;\n
+\t\t\t\tw = Math.max(w_orig, svgCanvas.contentW * zoom * multi);\n
+\t\t\t\th = Math.max(h_orig, svgCanvas.contentH * zoom * multi);\n
+\t\t\t\t\n
+\t\t\t\tif(w == w_orig && h == h_orig) {\n
+\t\t\t\t\tworkarea.css(\'overflow\',\'hidden\');\n
+\t\t\t\t} else {\n
+\t\t\t\t\tworkarea.css(\'overflow\',\'scroll\');\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar old_can_y = cnvs.height()/2;\n
+\t\t\t\tvar old_can_x = cnvs.width()/2;\n
+\t\t\t\tcnvs.width(w).height(h);\n
+\t\t\t\tvar new_can_y = h/2;\n
+\t\t\t\tvar new_can_x = w/2;\n
+\t\t\t\tvar offset = svgCanvas.updateCanvas(w, h);\n
+\t\t\t\t\n
+\t\t\t\tvar ratio = new_can_x / old_can_x;\n
+\t\t\n
+\t\t\t\tvar scroll_x = w/2 - w_orig/2;\n
+\t\t\t\tvar scroll_y = h/2 - h_orig/2;\n
+\t\t\t\t\n
+\t\t\t\tif(!new_ctr) {\n
+\t\t\n
+\t\t\t\t\tvar old_dist_x = old_ctr.x - old_can_x;\n
+\t\t\t\t\tvar new_x = new_can_x + old_dist_x * ratio;\n
+\t\t\n
+\t\t\t\t\tvar old_dist_y = old_ctr.y - old_can_y;\n
+\t\t\t\t\tvar new_y = new_can_y + old_dist_y * ratio;\n
+\t\t\n
+\t\t\t\t\tnew_ctr = {\n
+\t\t\t\t\t\tx: new_x,\n
+\t\t\t\t\t\ty: new_y\n
+\t\t\t\t\t};\n
+\t\t\t\t\t\n
+\t\t\t\t} else {\n
+\t\t\t\t\tnew_ctr.x += offset.x,\n
+\t\t\t\t\tnew_ctr.y += offset.y;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tif(center) {\n
+\t\t\t\t\tw_area[0].scrollLeft = scroll_x;\n
+\t\t\t\t\tw_area[0].scrollTop = scroll_y;\n
+\t\t\t\t} else {\n
+\t\t\t\t\tw_area[0].scrollLeft = new_ctr.x - w_orig/2;\n
+\t\t\t\t\tw_area[0].scrollTop = new_ctr.y - h_orig/2;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\n
+// \t\t\t$(function() {\n
+\t\t\t\tupdateCanvas(true);\n
+// \t\t\t});\n
+\t\t\t\n
+\t\t//\tvar revnums = "svg-editor.js ($Rev: 1592 $) ";\n
+\t\t//\trevnums += svgCanvas.getVersion();\n
+\t\t//\t$(\'#copyright\')[0].setAttribute("title", revnums);\n
+\t\t\n
+\t\t\tvar good_langs = [];\n
+\n
+\t\t\t$(\'#lang_select option\').each(function() {\n
+\t\t\t\tgood_langs.push(this.value);\n
+\t\t\t});\n
+\t\t\t\n
+// \t\t\tvar lang = (\'lang\' in curPrefs) ? curPrefs.lang : null;\n
+\t\t\tEditor.putLocale(null, good_langs);\n
+\t\t\t\n
+\t\t\ttry{\n
+\t\t\t\tjson_encode = function(obj){\n
+\t\t\t  //simple partial JSON encoder implementation\n
+\t\t\t  if(window.JSON && JSON.stringify) return JSON.stringify(obj);\n
+\t\t\t  var enc = arguments.callee; //for purposes of recursion\n
+\t\t\t  if(typeof obj == "boolean" || typeof obj == "number"){\n
+\t\t\t\t  return obj+\'\' //should work...\n
+\t\t\t  }else if(typeof obj == "string"){\n
+\t\t\t\t//a large portion of this is stolen from Douglas Crockford\'s json2.js\n
+\t\t\t\treturn \'"\'+\n
+\t\t\t\t\t  obj.replace(\n
+\t\t\t\t\t\t/[\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g\n
+\t\t\t\t\t  , function (a) {\n
+\t\t\t\t\t\treturn \'\\\\u\' + (\'0000\' + a.charCodeAt(0).toString(16)).slice(-4);\n
+\t\t\t\t\t  })\n
+\t\t\t\t\t  +\'"\'; //note that this isn\'t quite as purtyful as the usualness\n
+\t\t\t  }else if(obj.length){ //simple hackish test for arrayish-ness\n
+\t\t\t\tfor(var i = 0; i < obj.length; i++){\n
+\t\t\t\t  obj[i] = enc(obj[i]); //encode every sub-thingy on top\n
+\t\t\t\t}\n
+\t\t\t\treturn "["+obj.join(",")+"]";\n
+\t\t\t  }else{\n
+\t\t\t\tvar pairs = []; //pairs will be stored here\n
+\t\t\t\tfor(var k in obj){ //loop through thingys\n
+\t\t\t\t  pairs.push(enc(k)+":"+enc(obj[k])); //key: value\n
+\t\t\t\t}\n
+\t\t\t\treturn "{"+pairs.join(",")+"}" //wrap in the braces\n
+\t\t\t  }\n
+\t\t\t}\n
+\t\t\t  window.addEventListener("message", function(e){\n
+\t\t\t\tvar cbid = parseInt(e.data.substr(0, e.data.indexOf(";")));\n
+\t\t\t\ttry{\n
+\t\t\t\te.source.postMessage("SVGe"+cbid+";"+json_encode(eval(e.data)), e.origin);\n
+\t\t\t  }catch(err){\n
+\t\t\t\te.source.postMessage("SVGe"+cbid+";error:"+err.message, e.origin);\n
+\t\t\t  }\n
+\t\t\t}, false)\n
+\t\t\t}catch(err){\n
+\t\t\t  window.embed_error = err;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\n
+\t\t\n
+\t\t\t// For Compatibility with older extensions\n
+\t\t\t$(function() {\n
+\t\t\t\twindow.svgCanvas = svgCanvas;\n
+\t\t\t\tsvgCanvas.ready = svgEditor.ready;\n
+\t\t\t});\n
+\t\t\n
+\t\t\n
+\t\t\tEditor.setLang = function(lang, strings) {\n
+\t\t\t\t$.pref(\'lang\', lang);\n
+\t\t\t\t$(\'#lang_select\').val(lang);\n
+\t\t\t\tif(strings) {\n
+\t\t\t\t\t// $.extend will only replace the given strings\n
+\t\t\t\t\tvar oldLayerName = $(\'#layerlist tr.layersel td.layername\').text();\n
+\t\t\t\t\tvar rename_layer = (oldLayerName == uiStrings.layer + \' 1\');\n
+\t\t\t\t\t\n
+\t\t\t\t\t$.extend(uiStrings,strings);\n
+\t\t\t\t\tsvgCanvas.setUiStrings(strings);\n
+\t\t\t\t\tActions.setTitles();\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(rename_layer) {\n
+\t\t\t\t\t\tsvgCanvas.renameCurrentLayer(uiStrings.layer + \' 1\');\n
+\t\t\t\t\t\tpopulateLayers();\t\t\t\t\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tsvgCanvas.runExtensions("langChanged", lang);\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Update flyout tooltips\n
+\t\t\t\t\tsetFlyoutTitles();\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Copy title for certain tool elements\n
+\t\t\t\t\tvar elems = {\n
+\t\t\t\t\t\t\'#stroke_color\': \'#tool_stroke .icon_label, #tool_stroke .color_block\',\n
+\t\t\t\t\t\t\'#fill_color\': \'#tool_fill label, #tool_fill .color_block\',\n
+\t\t\t\t\t\t\'#linejoin_miter\': \'#cur_linejoin\',\n
+\t\t\t\t\t\t\'#linecap_butt\': \'#cur_linecap\'\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\t$.each(elems, function(source, dest) {\n
+\t\t\t\t\t\t$(dest).attr(\'title\', $(source)[0].title);\n
+\t\t\t\t\t});\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Copy alignment titles\n
+\t\t\t\t\t$(\'#multiselected_panel div[id^=tool_align]\').each(function() {\n
+\t\t\t\t\t\t$(\'#tool_pos\' + this.id.substr(10))[0].title = this.title;\n
+\t\t\t\t\t});\n
+\t\t\t\t\t\n
+\t\t\t\t}\n
+\t\t\t};\n
+\t\t};\n
+\t\t\n
+\t\tvar callbacks = [];\n
+\t\t\n
+\t\tEditor.ready = function(cb) {\n
+\t\t\tif(!is_ready) {\n
+\t\t\t\tcallbacks.push(cb);\n
+\t\t\t} else {\n
+\t\t\t\tcb();\n
+\t\t\t}\n
+\t\t};\n
+\n
+\t\tEditor.runCallbacks = function() {\n
+\t\t\t$.each(callbacks, function() {\n
+\t\t\t\tthis();\n
+\t\t\t});\n
+\t\t\tis_ready = true;\n
+\t\t};\n
+\t\t\n
+\t\tEditor.loadFromString = function(str) {\n
+\t\t\tEditor.ready(function() {\n
+\t\t\t\tsvgCanvas.setSvgString(str);\n
+\t\t\t});\n
+\t\t};\n
+\t\t\n
+\t\tEditor.loadFromURL = function(url) {\n
+\t\t\tEditor.ready(function() {\n
+\t\t\t\t$.ajax({\n
+\t\t\t\t\t\'url\': url,\n
+\t\t\t\t\t\'dataType\': \'text\',\n
+\t\t\t\t\tsuccess: svgCanvas.setSvgString,\n
+\t\t\t\t\terror: function(xhr, stat, err) {\n
+\t\t\t\t\t\tif(xhr.responseText) {\n
+\t\t\t\t\t\t\tsvgCanvas.setSvgString(xhr.responseText);\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t$.alert("Unable to load from URL. Error: \\n"+err+\'\');\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t});\n
+\t\t};\n
+\t\t\n
+\t\tEditor.loadFromDataURI = function(str) {\n
+\t\t\tEditor.ready(function() {\n
+\t\t\t\tsvgCanvas.setSvgString(str);\n
+\t\t\t\tvar pre = \'data:image/svg+xml;base64,\';\n
+\t\t\t\tvar src = str.substring(pre.length);\n
+\t\t\t\tsvgCanvas.setSvgString(Utils.decode64(src));\n
+\t\t\t});\n
+\t\t};\n
+\t\t\n
+\t\tEditor.addExtension = function() {\n
+\t\t\tvar args = arguments;\n
+\t\t\t$(function() {\n
+\t\t\t\tsvgCanvas.addExtension.apply(this, args);\n
+\t\t\t});\n
+\t\t};\n
+\n
+\t\treturn Editor;\n
+\t}(jQuery);\n
+\t\n
+\t// Run init once DOM is loaded\n
+\t$(svgEditor.init);\n
+\t\n
+})();\n
+\n
+// ?iconsize=s&bkgd_color=555\n
+\n
+// svgEditor.setConfig({\n
+// // \timgPath: \'foo\',\n
+// \tdimensions: [800, 600],\n
+// \tcanvas_expansion: 5,\n
+// \tinitStroke: {\n
+// \t\tcolor: \'0000FF\',\n
+// \t\twidth: 3.5,\n
+// \t\topacity: .5\n
+// \t},\n
+// \tinitFill: {\n
+// \t\tcolor: \'550000\',\n
+// \t\topacity: .75\n
+// \t},\n
+// \textensions: [\'ext-helloworld.js\']\n
+// })\n
+
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.manifest.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.manifest.xml
new file mode 100644
index 0000000000..9c4c5bb427
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.manifest.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="DTMLMethod" module="OFS.DTMLMethod"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>svg-editor.manifest</string> </value>
+        </item>
+        <item>
+            <key> <string>_vars</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>globals</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>raw</string> </key>
+            <value> <string>CACHE MANIFEST\n
+svg-editor.html\n
+images/logo.png\n
+jgraduate/css/jPicker-1.0.9.css\n
+jgraduate/css/jGraduate-0.2.0.css\n
+svg-editor.css\n
+spinbtn/JQuerySpinBtn.css\n
+jquery.js\n
+js-hotkeys/jquery.hotkeys.min.js\n
+jquery-ui/jquery-ui-1.7.2.custom.min.js\n
+jgraduate/jpicker-1.0.9.min.js\n
+jgraduate/jquery.jgraduate.js\n
+spinbtn/JQuerySpinBtn.js\n
+svgcanvas.js\n
+svg-editor.js\n
+images/align-bottom.png\n
+images/align-center.png\n
+images/align-left.png\n
+images/align-middle.png\n
+images/align-right.png\n
+images/align-top.png\n
+images/bold.png\n
+images/cancel.png\n
+images/circle.png\n
+images/clear.png\n
+images/clone.png\n
+images/copy.png\n
+images/cut.png\n
+images/delete.png\n
+images/document-properties.png\n
+images/dropdown.gif\n
+images/ellipse.png\n
+images/eye.png\n
+images/flyouth.png\n
+images/flyup.gif\n
+images/freehand-circle.png\n
+images/freehand-square.png\n
+images/go-down.png\n
+images/go-up.png\n
+images/image.png\n
+images/italic.png\n
+images/line.png\n
+images/logo.png\n
+images/logo.svg\n
+images/move_bottom.png\n
+images/move_top.png\n
+images/none.png\n
+images/open.png\n
+images/paste.png\n
+images/path.png\n
+images/polygon.png\n
+images/rect.png\n
+images/redo.png\n
+images/save.png\n
+images/select.png\n
+images/sep.png\n
+images/shape_group.png\n
+images/shape_ungroup.png\n
+images/source.png\n
+images/square.png\n
+images/text.png\n
+images/undo.png\n
+images/view-refresh.png\n
+images/wave.png\n
+images/zoom.png\n
+locale/locale.js\n
+locale/lang.af.js\n
+locale/lang.ar.js\n
+locale/lang.az.js\n
+locale/lang.be.js\n
+locale/lang.bg.js\n
+locale/lang.ca.js\n
+locale/lang.cs.js\n
+locale/lang.cy.js\n
+locale/lang.da.js\n
+locale/lang.de.js\n
+locale/lang.el.js\n
+locale/lang.en.js\n
+locale/lang.es.js\n
+locale/lang.et.js\n
+locale/lang.fa.js\n
+locale/lang.fi.js\n
+locale/lang.fr.js\n
+locale/lang.ga.js\n
+locale/lang.gl.js\n
+locale/lang.hi.js\n
+locale/lang.hr.js\n
+locale/lang.hu.js\n
+locale/lang.hy.js\n
+locale/lang.id.js\n
+locale/lang.is.js\n
+locale/lang.it.js\n
+locale/lang.iw.js\n
+locale/lang.ja.js\n
+locale/lang.ko.js\n
+locale/lang.lt.js\n
+locale/lang.lv.js\n
+locale/lang.mk.js\n
+locale/lang.ms.js\n
+locale/lang.mt.js\n
+locale/lang.nl.js\n
+locale/lang.no.js\n
+locale/lang.pl.js\n
+locale/lang.pt-PT.js\n
+locale/lang.ro.js\n
+locale/lang.ru.js\n
+locale/lang.sk.js\n
+locale/lang.sl.js\n
+locale/lang.sq.js\n
+locale/lang.sr.js\n
+locale/lang.sv.js\n
+locale/lang.sw.js\n
+locale/lang.th.js\n
+locale/lang.tl.js\n
+locale/lang.tr.js\n
+locale/lang.uk.js\n
+locale/lang.vi.js\n
+locale/lang.yi.js\n
+locale/lang.zh-CN.js\n
+locale/lang.zh-TW.js\n
+locale/lang.zh.js\n
+</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.min.js.xml
new file mode 100644
index 0000000000..1fd0288e91
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svg-editor.min.js.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80046432.2</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>svg-editor.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>75314</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+(function(){if(!window.svgEditor){window.svgEditor=function($){var svgCanvas;var Editor={};var is_ready=false;var defaultPrefs={lang:"en",iconsize:"m",bkgd_color:"#FFF",bkgd_url:"",img_save:"embed"},curPrefs={},curConfig={canvas_expansion:3,dimensions:[640,480],initFill:{color:"FF0000",opacity:1},initStroke:{width:5,color:"000000",opacity:1},initOpacity:1,imgPath:"images/",langPath:"locale/",extPath:"extensions/",extensions:["ext-markers.js","ext-connector.js","ext-eyedropper.js"],initTool:"select",wireframe:false},uiStrings={invalidAttrValGiven:"Invalid value given",noContentToFitTo:"No content to fit to",layer:"Layer",dupeLayerName:"There is already a layer named that!",enterUniqueLayerName:"Please enter a unique layer name",enterNewLayerName:"Please enter the new layer name",layerHasThatName:"Layer already has that name",QmoveElemsToLayer:\'Move selected elements to layer "%s"?\',QwantToClear:"Do you want to clear the drawing?\\nThis will also erase your undo history!",QwantToOpen:"Do you want to open a new file?\\nThis will also erase your undo history!",QerrorsRevertToSource:"There were parsing errors in your SVG source.\\nRevert back to original SVG source?",QignoreSourceChanges:"Ignore changes made to SVG source?",featNotSupported:"Feature not supported",enterNewImgURL:"Enter the new image URL",defsFailOnSave:"NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.",loadingImage:"Loading image, please wait...",saveFromBrowser:\'Select "Save As..." in your browser to save this image as a %s file.\',noteTheseIssues:"Also note the following issues: ",ok:"OK",cancel:"Cancel",key_up:"Up",key_down:"Down",key_backspace:"Backspace",key_del:"Del"};var curPrefs={};Editor.curConfig=curConfig;$.pref=function(key,val){if(val){curPrefs[key]=val}key="svg-edit-"+key;var host=location.hostname,onweb=host&&host.indexOf(".")!=-1,store=(val!=undefined),storage=false;try{if(window.localStorage){storage=localStorage}}catch(e){}try{if(window.globalStorage&&onweb){storage=globalStorage[host]}}catch(e){}if(storage){if(store){storage.setItem(key,val)}else{if(storage.getItem(key)){return storage.getItem(key)+""}}}else{if(window.widget){if(store){widget.setPreferenceForKey(val,key)}else{return widget.preferenceForKey(key)}}else{if(store){var d=new Date();d.setTime(d.getTime()+31536000000);val=encodeURIComponent(val);document.cookie=key+"="+val+"; expires="+d.toUTCString()}else{var result=document.cookie.match(new RegExp(key+"=([^;]+)"));return result?decodeURIComponent(result[1]):""}}}};Editor.setConfig=function(opts){$.each(opts,function(key,val){if(key in defaultPrefs){$.pref(key,val)}});$.extend(true,curConfig,opts);if(opts.extensions){curConfig.extensions=opts.extensions}};Editor.setCustomHandlers=function(opts){if(opts.open){$("#tool_open").show();svgCanvas.open=opts.open}if(opts.save){show_save_warning=false;svgCanvas.bind("saved",opts.save)}};Editor.randomizeIds=function(){svgCanvas.randomizeIds(arguments)};Editor.init=function(){(function(){var urldata=$.deparam.querystring(true);if(!$.isEmptyObject(urldata)){if(urldata.dimensions){urldata.dimensions=urldata.dimensions.split(",")}if(urldata.extensions){urldata.extensions=urldata.extensions.split(",")}if(urldata.bkgd_color){urldata.bkgd_color="#"+urldata.bkgd_color}if(urldata.bkgd_color){urldata.bkgd_color="#"+urldata.bkgd_color}svgEditor.setConfig(urldata);var src=urldata.source;var qstr=$.param.querystring();if(src){if(src.indexOf("data:")===0){src=src.replace(/ /g,"+");Editor.loadFromDataURI(src)}else{Editor.loadFromString(src)}}else{if(qstr.indexOf("paramurl=")!==-1){svgEditor.loadFromURL(qstr.substr(9))}else{if(urldata.url){svgEditor.loadFromURL(urldata.url)}}}}})();var extFunc=function(){$.each(curConfig.extensions,function(){$.getScript(curConfig.extPath+this)})};if(window.opera&&document.location.protocol==="file:"){setTimeout(extFunc,1000)}else{extFunc()}$.svgIcons(curConfig.imgPath+"svg_edit_icons.svg",{w:24,h:24,id_match:false,no_img:true,fallback_path:curConfig.imgPath,fallback:{new_image:"clear.png",save:"save.png",open:"open.png",source:"source.png",docprops:"document-properties.png",wireframe:"wireframe.png",undo:"undo.png",redo:"redo.png",select:"select.png",select_node:"select_node.png",pencil:"fhpath.png",pen:"line.png",square:"square.png",rect:"rect.png",fh_rect:"freehand-square.png",circle:"circle.png",ellipse:"ellipse.png",fh_ellipse:"freehand-circle.png",path:"path.png",text:"text.png",image:"image.png",zoom:"zoom.png",clone:"clone.png",node_clone:"node_clone.png","delete":"delete.png",node_delete:"node_delete.png",group:"shape_group.png",ungroup:"shape_ungroup.png",move_top:"move_top.png",move_bottom:"move_bottom.png",to_path:"to_path.png",link_controls:"link_controls.png",reorient:"reorient.png",align_left:"align-left.png",align_center:"align-center",align_right:"align-right",align_top:"align-top",align_middle:"align-middle",align_bottom:"align-bottom",go_up:"go-up.png",go_down:"go-down.png",ok:"save.png",cancel:"cancel.png",arrow_right:"flyouth.png",arrow_down:"dropdown.gif"},placement:{"#logo":"logo","#tool_clear div,#layer_new":"new_image","#tool_save div":"save","#tool_export div":"export","#tool_open div div":"open","#tool_import div div":"import","#tool_source":"source","#tool_docprops > div":"docprops","#tool_wireframe":"wireframe","#tool_undo":"undo","#tool_redo":"redo","#tool_select":"select","#tool_fhpath":"pencil","#tool_line":"pen","#tool_rect,#tools_rect_show":"rect","#tool_square":"square","#tool_fhrect":"fh_rect","#tool_ellipse,#tools_ellipse_show":"ellipse","#tool_circle":"circle","#tool_fhellipse":"fh_ellipse","#tool_path":"path","#tool_text,#layer_rename":"text","#tool_image":"image","#tool_zoom":"zoom","#tool_clone,#tool_clone_multi":"clone","#tool_node_clone":"node_clone","#layer_delete,#tool_delete,#tool_delete_multi":"delete","#tool_node_delete":"node_delete","#tool_add_subpath":"add_subpath","#tool_openclose_path":"open_path","#tool_move_top":"move_top","#tool_move_bottom":"move_bottom","#tool_topath":"to_path","#tool_node_link":"link_controls","#tool_reorient":"reorient","#tool_group":"group","#tool_ungroup":"ungroup","#tool_alignleft, #tool_posleft":"align_left","#tool_aligncenter, #tool_poscenter":"align_center","#tool_alignright, #tool_posright":"align_right","#tool_aligntop, #tool_postop":"align_top","#tool_alignmiddle, #tool_posmiddle":"align_middle","#tool_alignbottom, #tool_posbottom":"align_bottom","#cur_position":"align","#linecap_butt,#cur_linecap":"linecap_butt","#linecap_round":"linecap_round","#linecap_square":"linecap_square","#linejoin_miter,#cur_linejoin":"linejoin_miter","#linejoin_round":"linejoin_round","#linejoin_bevel":"linejoin_bevel","#url_notice":"warning","#layer_up":"go_up","#layer_down":"go_down","#layerlist td.layervis":"eye","#tool_source_save,#tool_docprops_save":"ok","#tool_source_cancel,#tool_docprops_cancel":"cancel","#rwidthLabel, #iwidthLabel":"width","#rheightLabel, #iheightLabel":"height","#cornerRadiusLabel span":"c_radius","#angleLabel":"angle","#zoomLabel":"zoom","#tool_fill label":"fill","#tool_stroke .icon_label":"stroke","#group_opacityLabel":"opacity","#blurLabel":"blur","#font_sizeLabel":"fontsize",".flyout_arrow_horiz":"arrow_right",".dropdown button, #main_button .dropdown":"arrow_down","#palette .palette_item:first, #fill_bg, #stroke_bg":"no_color"},resize:{"#logo .svg_icon":32,".flyout_arrow_horiz .svg_icon":5,".layer_button .svg_icon, #layerlist td.layervis .svg_icon":14,".dropdown button .svg_icon":7,"#main_button .dropdown .svg_icon":9,".palette_item:first .svg_icon, #fill_bg .svg_icon, #stroke_bg .svg_icon":16,".toolbar_button button .svg_icon":16,".stroke_tool div div .svg_icon":20,"#tools_bottom label .svg_icon":18},callback:function(icons){$(".toolbar_button button > svg, .toolbar_button button > img").each(function(){$(this).parent().prepend(this)});var tleft=$("#tools_left");var min_height=tleft.offset().top+tleft.outerHeight();var size=$.pref("iconsize");if(size&&size!="m"){svgEditor.setIconSize(size)}else{if($(window).height()<min_height){svgEditor.setIconSize("s")}}$(".tools_flyout").each(function(){var shower=$("#"+this.id+"_show");var sel=shower.attr("data-curopt");if(!shower.children("svg, img").length){var clone=$(sel).children().clone();clone[0].removeAttribute("style");shower.append(clone)}});svgEditor.runCallbacks()}});Editor.canvas=svgCanvas=new $.SvgCanvas(document.getElementById("svgcanvas"),curConfig);var palette=["#000000","#3f3f3f","#7f7f7f","#bfbfbf","#ffffff","#ff0000","#ff7f00","#ffff00","#7fff00","#00ff00","#00ff7f","#00ffff","#007fff","#0000ff","#7f00ff","#ff00ff","#ff007f","#7f0000","#7f3f00","#7f7f00","#3f7f00","#007f00","#007f3f","#007f7f","#003f7f","#00007f","#3f007f","#7f007f","#7f003f","#ffaaaa","#ffd4aa","#ffffaa","#d4ffaa","#aaffaa","#aaffd4","#aaffff","#aad4ff","#aaaaff","#d4aaff","#ffaaff","#ffaad4",];isMac=false,modKey="",path=svgCanvas.pathActions,default_img_url=curConfig.imgPath+"logo.png",workarea=$("#workarea"),show_save_warning=false,exportWindow=null;(function(){$("#dialog_container").draggable({cancel:"#dialog_content, #dialog_buttons *"});var box=$("#dialog_box"),btn_holder=$("#dialog_buttons");var dbox=function(type,msg,callback,defText){$("#dialog_content").html("<p>"+msg.replace(/\\n/g,"</p><p>")+"</p>").toggleClass("prompt",(type=="prompt"));btn_holder.empty();var ok=$(\'<input type="button" value="\'+uiStrings.ok+\'">\').appendTo(btn_holder);if(type!="alert"){$(\'<input type="button" value="\'+uiStrings.cancel+\'">\').appendTo(btn_holder).click(function(){box.hide();callback(false)})}if(type=="prompt"){var input=$(\'<input type="text">\').prependTo(btn_holder);input.val(defText||"");input.bind("keydown","return",function(){ok.click()})}box.show();ok.click(function(){box.hide();var resp=(type=="prompt")?input.val():true;if(callback){callback(resp)}}).focus();if(type=="prompt"){input.focus()}};$.alert=function(msg,cb){dbox("alert",msg,cb)};$.confirm=function(msg,cb){dbox("confirm",msg,cb)};$.prompt=function(msg,txt,cb){dbox("prompt",msg,cb,txt)}}());var setSelectMode=function(){$(".tool_button_current").removeClass("tool_button_current").addClass("tool_button");$("#tool_select").addClass("tool_button_current").removeClass("tool_button");$("#styleoverrides").text("#svgcanvas svg *{cursor:move;pointer-events:all} #svgcanvas svg{cursor:default}");svgCanvas.setMode("select")};var togglePathEditMode=function(editmode,elems){$("#path_node_panel").toggle(editmode);$("#tools_bottom_2,#tools_bottom_3").toggle(!editmode);if(editmode){$(".tool_button_current").removeClass("tool_button_current").addClass("tool_button");$("#tool_select").addClass("tool_button_current").removeClass("tool_button");setIcon("#tool_select","select_node");multiselected=false;if(elems.length){selectedElement=elems[0]}}else{setIcon("#tool_select","select")}};var flyoutspeed=1250;var textBeingEntered=false;var selectedElement=null;var multiselected=false;var editingsource=false;var docprops=false;var fillPaint=new $.jGraduate.Paint({solidColor:curConfig.initFill.color});var strokePaint=new $.jGraduate.Paint({solidColor:curConfig.initStroke.color});var saveHandler=function(window,svg){show_save_warning=false;svg="<?xml version=\'1.0\'?>\\n"+svg;var win=window.open("data:image/svg+xml;base64,"+Utils.encode64(svg));var done=$.pref("save_notice_done");if(done!=="all"){var note=uiStrings.saveFromBrowser.replace("%s","SVG");if(navigator.userAgent.indexOf("Gecko/")!==-1){if(svg.indexOf("<defs")!==-1){note+="\\n\\n"+uiStrings.defsFailOnSave;$.pref("save_notice_done","all");done="all"}else{$.pref("save_notice_done","part")}}else{$.pref("save_notice_done","all")}if(done!=="part"){win.alert(note)}}};var exportHandler=function(window,data){var issues=data.issues;if(!$("#export_canvas").length){$("<canvas>",{id:"export_canvas"}).hide().appendTo("body")}var c=$("#export_canvas")[0];c.width=svgCanvas.contentW;c.height=svgCanvas.contentH;canvg(c,data.svg);var datauri=c.toDataURL("image/png");exportWindow.location.href=datauri;var note=uiStrings.saveFromBrowser.replace("%s","PNG");if(issues.length){var pre="\\n \\u2022 ";note+=("\\n\\n"+uiStrings.noteTheseIssues+pre+issues.join(pre))}exportWindow.alert(note)};var selectedChanged=function(window,elems){var mode=svgCanvas.getMode();var is_node=(mode=="pathedit");selectedElement=(elems.length==1||elems[1]==null?elems[0]:null);multiselected=(elems.length>=2&&elems[1]!=null);if(selectedElement!=null){if(mode!="multiselect"&&!is_node){setSelectMode();updateToolbar()}}togglePathEditMode(is_node,elems);updateContextPanel();svgCanvas.runExtensions("selectedChanged",{elems:elems,selectedElement:selectedElement,multiselected:multiselected})};var elementChanged=function(window,elems){for(var i=0;i<elems.length;++i){var elem=elems[i];if(elem&&elem.tagName=="svg"){populateLayers();updateCanvas()}else{if(elem&&selectedElement&&selectedElement.parentNode==null||elem&&elem.tagName=="path"){selectedElement=elem}}}show_save_warning=true;updateContextPanel();svgCanvas.runExtensions("elementChanged",{elems:elems})};var zoomChanged=function(window,bbox,autoCenter){var scrbar=15,res=svgCanvas.getResolution(),w_area=workarea,canvas_pos=$("#svgcanvas").position();w_area.css("cursor","auto");var z_info=svgCanvas.setBBoxZoom(bbox,w_area.width()-scrbar,w_area.height()-scrbar);if(!z_info){return}var zoomlevel=z_info.zoom,bb=z_info.bbox;$("#zoom").val(Math.round(zoomlevel*100));if(autoCenter){updateCanvas()}else{updateCanvas(false,{x:bb.x*zoomlevel+(bb.width*zoomlevel)/2,y:bb.y*zoomlevel+(bb.height*zoomlevel)/2})}if(svgCanvas.getMode()=="zoom"&&bb.width){setSelectMode()}zoomDone()};var flyout_funcs={};var setupFlyouts=function(holders){$.each(holders,function(hold_sel,btn_opts){var buttons=$(hold_sel).children();var show_sel=hold_sel+"_show";var def=false;buttons.addClass("tool_button").unbind("click mousedown mouseup").each(function(i){var opts=btn_opts[i];flyout_funcs[opts.sel]=opts.fn;if(opts.isDefault){def=i}var func=function(){if($(this).hasClass("disabled")){return false}if(toolButtonClick(show_sel)){opts.fn()}if(opts.icon){var icon=$.getSvgIcon(opts.icon).clone()}else{var icon=$(opts.sel).children().eq(0).clone()}var shower=$(show_sel);icon[0].setAttribute("width",shower.width());icon[0].setAttribute("height",shower.height());shower.children(":not(.flyout_arrow_horiz)").remove();shower.append(icon).attr("data-curopt",opts.sel)};$(this).mouseup(func);if(opts.key){$(document).bind("keydown",opts.key+"",func)}});if(def){$(show_sel).attr("data-curopt",btn_opts[def].sel)}else{if(!$(show_sel).attr("data-curopt")){$(show_sel).attr("data-curopt",btn_opts[0].sel)}}var timer;$(show_sel).mousedown(function(evt){if($(show_sel).hasClass("disabled")){return false}var holder=$(show_sel.replace("_show",""));var l=holder.css("left");var w=holder.width()*-1;var time=holder.data("shown_popop")?200:0;timer=setTimeout(function(){holder.css("left",w).show().animate({left:l},150);holder.data("shown_popop",true)},time);evt.preventDefault()}).mouseup(function(){clearTimeout(timer);var opt=$(this).attr("data-curopt");if(toolButtonClick(show_sel)){flyout_funcs[opt]()}});var pos=$(show_sel).position();$(hold_sel).css({left:pos.left+34,top:pos.top+77})});setFlyoutTitles()};var makeFlyoutHolder=function(id,child){var div=$("<div>",{"class":"tools_flyout",id:id}).appendTo("#svg_editor").append(child);return div};var setFlyoutPositions=function(){$(".tools_flyout").each(function(){var shower=$("#"+this.id+"_show");var pos=shower.offset();var w=shower.outerWidth();$(this).css({left:pos.left+w,top:pos.top})})};var setFlyoutTitles=function(){$(".tools_flyout").each(function(){var shower=$("#"+this.id+"_show");var tooltips=[];$(this).children().each(function(){tooltips.push(this.title)});shower[0].title=tooltips.join(" / ")})};var extAdded=function(window,ext){var cb_called=false;var runCallback=function(){if(ext.callback&&!cb_called){cb_called=true;ext.callback()}};var btn_selects=[];if(ext.context_tools){$.each(ext.context_tools,function(i,tool){var cont_id=tool.container_id?(\' id="\'+tool.container_id+\'"\'):"";var panel=$("#"+tool.panel);if(!panel.length){panel=$("<div>",{id:tool.panel}).appendTo("#tools_top")}switch(tool.type){case"tool_button":var html=\'<div class="tool_button">\'+tool.id+"</div>";var div=$(html).appendTo(panel);if(tool.events){$.each(tool.events,function(evt,func){$(div).bind(evt,func)})}break;case"select":var html="<label"+cont_id+\'><select id="\'+tool.id+\'">\';$.each(tool.options,function(val,text){var sel=(val==tool.defval)?" selected":"";html+=\'<option value="\'+val+\'"\'+sel+">"+text+"</option>"});html+="</select></label>";var sel=$(html).appendTo(panel).find("select");$.each(tool.events,function(evt,func){$(sel).bind(evt,func)});break;case"button-select":var html=\'<div id="\'+tool.id+\'" class="dropdown toolset" title="\'+tool.title+\'"><div id="cur_\'+tool.id+\'" class="icon_label"></div><button></button></div>\';var list=$(\'<ul id="\'+tool.id+\'_opts"></ul>\').appendTo("#option_lists");if(tool.colnum){list.addClass("optcols"+tool.colnum)}var dropdown=$(html).appendTo(panel).children();btn_selects.push({elem:("#"+tool.id),list:("#"+tool.id+"_opts"),title:tool.title,callback:tool.events.change,cur:("#cur_"+tool.id)});break;case"input":var html="<label"+cont_id+\'><span id="\'+tool.id+\'_label">\'+tool.label+\':</span><input id="\'+tool.id+\'" title="\'+tool.title+\'" size="\'+(tool.size||"4")+\'" value="\'+(tool.defval||"")+\'" type="text"/></label>\';var inp=$(html).appendTo(panel).find("input");if(tool.spindata){inp.SpinButton(tool.spindata)}if(tool.events){$.each(tool.events,function(evt,func){inp.bind(evt,func)})}break;default:break}})}if(ext.buttons){var fallback_obj={},placement_obj={},svgicons=ext.svgicons;var holders={};$.each(ext.buttons,function(i,btn){var icon;var id=btn.id;var num=i;while($("#"+id).length){id=btn.id+"_"+(++num)}if(!svgicons){icon=$(\'<img src="\'+btn.icon+\'">\')}else{fallback_obj[id]=btn.icon;var svgicon=btn.svgicon?btn.svgicon:btn.id;placement_obj["#"+id]=svgicon}var cls,parent;switch(btn.type){case"mode":cls="tool_button";parent="#tools_left";break;case"context":cls="tool_button";parent="#"+btn.panel;if(!$(parent).length){$("<div>",{id:btn.panel}).appendTo("#tools_top")}break}var button=$(btn.list?"<li/>":"<div/>").attr("id",id).attr("title",btn.title).addClass(cls);if(!btn.includeWith&&!btn.list){button.appendTo(parent)}else{if(btn.list){button.addClass("push_button");$("#"+btn.list+"_opts").append(button);if(btn.isDefault){$("#cur_"+btn.list).append(button.children().clone());var svgicon=btn.svgicon?btn.svgicon:btn.id;placement_obj["#cur_"+btn.list]=svgicon}}else{if(btn.includeWith){var opts=btn.includeWith;var ref_btn=$(opts.button);var flyout_holder=ref_btn.parent();if(!ref_btn.parent().hasClass("tools_flyout")){var arr_div=$("<div>",{id:"flyout_arrow_horiz"});var tls_id=ref_btn[0].id.replace("tool_","tools_");var show_btn=ref_btn.clone().attr("id",tls_id+"_show").append($("<div>",{"class":"flyout_arrow_horiz"}));ref_btn.before(show_btn);flyout_holder=makeFlyoutHolder(tls_id,ref_btn)}var ref_data=Actions.getButtonData(opts.button);if(opts.isDefault){placement_obj["#"+tls_id+"_show"]=btn.id}var cur_h=holders["#"+flyout_holder[0].id]=[{sel:"#"+id,fn:btn.events.click,icon:btn.id,key:btn.key,isDefault:btn.includeWith?btn.includeWith.isDefault:0},ref_data];var pos=("position" in opts)?opts.position:"last";var len=flyout_holder.children().length;if(!isNaN(pos)&&pos>=0&&pos<len){flyout_holder.children().eq(pos).before(button)}else{flyout_holder.append(button);cur_h.reverse()}}}}if(!svgicons){button.append(icon)}if(!btn.list){$.each(btn.events,function(name,func){if(name=="click"){if(btn.type=="mode"){if(btn.includeWith){button.bind(name,func)}else{button.bind(name,function(){if(toolButtonClick(button)){func()}})}if(btn.key){$(document).bind("keydown",btn.key,func);if(btn.title){button.attr("title",btn.title+" ["+btn.key+"]")}}}else{button.bind(name,func)}}else{button.bind(name,func)}})}setupFlyouts(holders)});$.each(btn_selects,function(){addAltDropDown(this.elem,this.list,this.callback,{seticon:true})});$.svgIcons(svgicons,{w:24,h:24,id_match:false,no_img:true,fallback:fallback_obj,placement:placement_obj,callback:function(icons){if(curPrefs.iconsize&&curPrefs.iconsize!="m"){setIconSize(curPrefs.iconsize,true)}runCallback()}})}runCallback()};var getPaint=function(color,opac){var opts=null;if(color.substr(0,5)=="url(#"){var grad=document.getElementById(color.substr(5,color.length-6));opts={alpha:opac};opts[grad.tagName]=grad}else{if(color.substr(0,1)=="#"){opts={alpha:opac,solidColor:color.substr(1)}}else{opts={alpha:opac,solidColor:"none"}}}return new $.jGraduate.Paint(opts)};var updateToolbar=function(){if(selectedElement!=null&&$.inArray(selectedElement.tagName,["image","text","foreignObject","g","a"])===-1){var fillOpacity=parseFloat(selectedElement.getAttribute("fill-opacity"));if(isNaN(fillOpacity)){fillOpacity=1}var strokeOpacity=parseFloat(selectedElement.getAttribute("stroke-opacity"));if(isNaN(strokeOpacity)){strokeOpacity=1}var fillColor=selectedElement.getAttribute("fill")||"black";svgCanvas.setFillColor(fillColor,true);svgCanvas.setFillOpacity(fillOpacity,true);var strokeColor=selectedElement.getAttribute("stroke")||"none";svgCanvas.setStrokeColor(strokeColor,true);svgCanvas.setStrokeOpacity(strokeOpacity,true);$("#stroke_color rect").attr({fill:strokeColor,opacity:strokeOpacity});$("#fill_color rect").attr({fill:fillColor,opacity:fillOpacity});fillOpacity*=100;strokeOpacity*=100;fillPaint=getPaint(fillColor,fillOpacity);strokePaint=getPaint(strokeColor,strokeOpacity);fillOpacity=fillOpacity+" %";strokeOpacity=strokeOpacity+" %";if(fillColor=="none"){fillOpacity="N/A"}if(strokeColor==null||strokeColor==""||strokeColor=="none"){strokeColor="none";strokeOpacity="N/A"}$("#stroke_width").val(selectedElement.getAttribute("stroke-width")||1);$("#stroke_style").val(selectedElement.getAttribute("stroke-dasharray")||"none");var attr=selectedElement.getAttribute("stroke-linejoin")||"miter";setStrokeOpt($("#linejoin_"+attr)[0]);attr=selectedElement.getAttribute("stroke-linecap")||"butt";setStrokeOpt($("#linecap_"+attr)[0])}if(selectedElement!=null){var opac_perc=((selectedElement.getAttribute("opacity")||1)*100);$("#group_opacity").val(opac_perc);$("#opac_slider").slider("option","value",opac_perc);$("#elem_id").val(selectedElement.id)}updateToolButtonState()};var updateContextPanel=function(){var elem=selectedElement;if(elem!=null&&!elem.parentNode){elem=null}var currentLayer=svgCanvas.getCurrentLayer();var currentMode=svgCanvas.getMode();if(currentMode=="rotate"&&elem!=null){var ang=svgCanvas.getRotationAngle(elem);$("#angle").val(ang);$("#tool_reorient").toggleClass("disabled",ang==0);return}var is_node=currentMode=="pathedit";$("#selected_panel, #multiselected_panel, #g_panel, #rect_panel, #circle_panel,\t\t\t\t\t#ellipse_panel, #line_panel, #text_panel, #image_panel").hide();if(elem!=null){var elname=elem.nodeName;var angle=svgCanvas.getRotationAngle(elem);$("#angle").val(angle);var blurval=svgCanvas.getBlur(elem);$("#blur").val(blurval);$("#blur_slider").slider("option","value",blurval);if(svgCanvas.addedNew){if(elname=="image"){promptImgURL()}else{if(elname=="text"){}}}if(!is_node&&currentMode!="pathedit"){$("#selected_panel").show();if($.inArray(elname,["line","circle","ellipse"])!=-1){$("#xy_panel").hide()}else{var x,y;if($.inArray(elname,["g","polyline","path"])!=-1){var bb=svgCanvas.getStrokedBBox([elem]);if(bb){x=bb.x;y=bb.y}}else{x=elem.getAttribute("x");y=elem.getAttribute("y")}$("#selected_x").val(x||0);$("#selected_y").val(y||0);$("#xy_panel").show()}var no_path=$.inArray(elname,["image","text","path","g","use"])==-1;$("#tool_topath").toggle(no_path);$("#tool_reorient").toggle(elname=="path");$("#tool_reorient").toggleClass("disabled",angle==0)}else{var point=path.getNodePoint();$("#tool_add_subpath").removeClass("push_button_pressed").addClass("tool_button");$("#tool_node_delete").toggleClass("disabled",!path.canDeleteNodes);setIcon("#tool_openclose_path",path.closed_subpath?"open_path":"close_path");if(point){var seg_type=$("#seg_type");$("#path_node_x").val(point.x);$("#path_node_y").val(point.y);if(point.type){seg_type.val(point.type).removeAttr("disabled")}else{seg_type.val(4).attr("disabled","disabled")}}return}var panels={g:[],rect:["rx","width","height"],image:["width","height"],circle:["cx","cy","r"],ellipse:["cx","cy","rx","ry"],line:["x1","y1","x2","y2"],text:[]};var el_name=elem.tagName;if(panels[el_name]){var cur_panel=panels[el_name];$("#"+el_name+"_panel").show();$.each(cur_panel,function(i,item){$("#"+el_name+"_"+item).val(elem.getAttribute(item)||0)});if(el_name=="text"){$("#text_panel").css("display","inline");if(svgCanvas.getItalic()){$("#tool_italic").addClass("push_button_pressed").removeClass("tool_button")}else{$("#tool_italic").removeClass("push_button_pressed").addClass("tool_button")}if(svgCanvas.getBold()){$("#tool_bold").addClass("push_button_pressed").removeClass("tool_button")}else{$("#tool_bold").removeClass("push_button_pressed").addClass("tool_button")}$("#font_family").val(elem.getAttribute("font-family"));$("#font_size").val(elem.getAttribute("font-size"));$("#text").val(elem.textContent);if(svgCanvas.addedNew){$("#text").focus().select()}}else{if(el_name=="image"){var xlinkNS="http://www.w3.org/1999/xlink";var href=elem.getAttributeNS(xlinkNS,"href");setImageURL(href)}}}}else{if(multiselected){$("#multiselected_panel").show()}}if(svgCanvas.getUndoStackSize()>0){$("#tool_undo").removeClass("disabled")}else{$("#tool_undo").addClass("disabled")}if(svgCanvas.getRedoStackSize()>0){$("#tool_redo").removeClass("disabled")}else{$("#tool_redo").addClass("disabled")}svgCanvas.addedNew=false;if((elem&&!is_node)||multiselected){$("#selLayerNames").removeAttr("disabled").val(currentLayer)}else{$("#selLayerNames").attr("disabled","disabled")}};$("#text").focus(function(){textBeingEntered=true});$("#text").blur(function(){textBeingEntered=false});svgCanvas.bind("selected",selectedChanged);svgCanvas.bind("changed",elementChanged);svgCanvas.bind("saved",saveHandler);svgCanvas.bind("exported",exportHandler);svgCanvas.bind("zoomed",zoomChanged);svgCanvas.bind("extension_added",extAdded);svgCanvas.textActions.setInputElem($("#text")[0]);var str=\'<div class="palette_item" data-rgb="none"></div>\';$.each(palette,function(i,item){str+=\'<div class="palette_item" style="background-color: \'+item+\';" data-rgb="\'+item+\'"></div>\'});$("#palette").append(str);var color_blocks=["#FFF","#888","#000"];var str="";$.each(color_blocks,function(){str+=\'<div class="color_block" style="background-color:\'+this+\';"></div>\'});$("#bg_blocks").append(str);var blocks=$("#bg_blocks div");var cur_bg="cur_background";blocks.each(function(){var blk=$(this);blk.click(function(){blocks.removeClass(cur_bg);$(this).addClass(cur_bg)})});if($.pref("bkgd_color")){setBackground($.pref("bkgd_color"),$.pref("bkgd_url"))}else{if($.pref("bkgd_url")){setBackground(defaultPrefs.bkgd_color,$.pref("bkgd_url"))}}if($.pref("img_save")){curPrefs.img_save=$.pref("img_save");$("#image_save_opts input").val([curPrefs.img_save])}var changeRectRadius=function(ctl){svgCanvas.setRectRadius(ctl.value)};var changeFontSize=function(ctl){svgCanvas.setFontSize(ctl.value)};var changeStrokeWidth=function(ctl){var val=ctl.value;if(val==0&&selectedElement&&$.inArray(selectedElement.nodeName,["line","polyline"])!=-1){val=ctl.value=1}svgCanvas.setStrokeWidth(val)};var changeRotationAngle=function(ctl){svgCanvas.setRotationAngle(ctl.value);$("#tool_reorient").toggleClass("disabled",ctl.value==0)};var changeZoom=function(ctl){var zoomlevel=ctl.value/100;var zoom=svgCanvas.getZoom();var w_area=workarea;zoomChanged(window,{width:0,height:0,x:(w_area[0].scrollLeft+w_area.width()/2)/zoom,y:(w_area[0].scrollTop+w_area.height()/2)/zoom,zoom:zoomlevel},true)};var changeOpacity=function(ctl,val){if(val==null){val=ctl.value}$("#group_opacity").val(val);if(!ctl||!ctl.handle){$("#opac_slider").slider("option","value",val)}svgCanvas.setOpacity(val/100)};var changeBlur=function(ctl,val,noUndo){if(val==null){val=ctl.value}$("#blur").val(val);var complete=false;if(!ctl||!ctl.handle){$("#blur_slider").slider("option","value",val);complete=true}if(noUndo){svgCanvas.setBlurNoUndo(val)}else{svgCanvas.setBlur(val,complete)}};var operaRepaint=function(){if(!window.opera){return}$("<p/>").hide().appendTo("body").remove()};$("#stroke_style").change(function(){svgCanvas.setStrokeAttr("stroke-dasharray",$(this).val());operaRepaint()});$("#stroke_linejoin").change(function(){svgCanvas.setStrokeAttr("stroke-linejoin",$(this).val());operaRepaint()});$("select").change(function(){$(this).blur()});var promptMoveLayerOnce=false;$("#selLayerNames").change(function(){var destLayer=this.options[this.selectedIndex].value;var confirm_str=uiStrings.QmoveElemsToLayer.replace("%s",destLayer);var moveToLayer=function(ok){if(!ok){return}promptMoveLayerOnce=true;svgCanvas.moveSelectedToLayer(destLayer);svgCanvas.clearSelection();populateLayers()};if(destLayer){if(promptMoveLayerOnce){moveToLayer(true)}else{$.confirm(confirm_str,moveToLayer)}}});$("#font_family").change(function(){svgCanvas.setFontFamily(this.value)});$("#seg_type").change(function(){svgCanvas.setSegType($(this).val())});$("#text").keyup(function(){svgCanvas.setTextContent(this.value)});$("#image_url").change(function(){setImageURL(this.value)});$(".attr_changer").change(function(){var attr=this.getAttribute("data-attr");var val=this.value;var valid=svgCanvas.isValidUnit(attr,val);if(!valid){$.alert(uiStrings.invalidAttrValGiven);this.value=selectedElement.getAttribute(attr);return false}if(attr=="id"){var elem=selectedElement;svgCanvas.clearSelection();elem.id=val;svgCanvas.addToSelection([elem],true)}else{svgCanvas.changeSelectedAttribute(attr,val)}});$("#palette").mouseover(function(){var inp=$(\'<input type="hidden">\');$(this).append(inp);inp.focus().remove()});$(".palette_item").click(function(evt){var picker=(evt.shiftKey?"stroke":"fill");var id=(evt.shiftKey?"#stroke_":"#fill_");var color=$(this).attr("data-rgb");var rectbox=document.getElementById("gradbox_"+picker).parentNode.firstChild;var paint=null;if(color=="transparent"||color=="initial"){color="none";$(id+"opacity").html("N/A");paint=new $.jGraduate.Paint()}else{paint=new $.jGraduate.Paint({alpha:100,solidColor:color.substr(1)})}rectbox.setAttribute("fill",color);rectbox.setAttribute("opacity",1);if(evt.shiftKey){strokePaint=paint;if(svgCanvas.getStrokeColor()!=color){svgCanvas.setStrokeColor(color)}if(color!="none"&&svgCanvas.getStrokeOpacity()!=1){svgCanvas.setStrokeOpacity(1)}}else{fillPaint=paint;if(svgCanvas.getFillColor()!=color){svgCanvas.setFillColor(color)}if(color!="none"&&svgCanvas.getFillOpacity()!=1){svgCanvas.setFillOpacity(1)}}updateToolButtonState()});$("#toggle_stroke_tools").toggle(function(){$(".stroke_tool").css("display","table-cell");$(this).text("<<")},function(){$(".stroke_tool").css("display","none");$(this).text(">>")});var toolButtonClick=function(button,fadeFlyouts){if($(button).hasClass("disabled")){return false}if($(button).parent().hasClass("tools_flyout")){return true}var fadeFlyouts=fadeFlyouts||"normal";$(".tools_flyout").fadeOut(fadeFlyouts);$("#styleoverrides").text("");$(".tool_button_current").removeClass("tool_button_current").addClass("tool_button");$(button).addClass("tool_button_current").removeClass("tool_button");svgCanvas.clearSelection();return true};(function(){var last_x=null,last_y=null,w_area=workarea[0],panning=false,keypan=false;$("#svgcanvas").bind("mousemove mouseup",function(evt){if(panning===false){return}w_area.scrollLeft-=(evt.clientX-last_x);w_area.scrollTop-=(evt.clientY-last_y);last_x=evt.clientX;last_y=evt.clientY;if(evt.type==="mouseup"){panning=false}return false}).mousedown(function(evt){if(evt.button===1||keypan===true){panning=true;last_x=evt.clientX;last_y=evt.clientY;return false}});$(window).mouseup(function(){panning=false});$(document).bind("keydown","space",function(evt){svgCanvas.spaceKey=keypan=true;evt.preventDefault()}).bind("keyup","space",function(evt){evt.preventDefault();svgCanvas.spaceKey=keypan=false})}());function setStrokeOpt(opt,changeElem){var id=opt.id;var bits=id.split("_");var pre=bits[0];var val=bits[1];if(changeElem){svgCanvas.setStrokeAttr("stroke-"+pre,val)}operaRepaint();setIcon("#cur_"+pre,id,20);$(opt).addClass("current").siblings().removeClass("current")}(function(){var button=$("#main_icon");var overlay=$("#main_icon span");var list=$("#main_menu");var on_button=false;var height=0;var js_hover=true;var set_click=false;var hideMenu=function(){list.fadeOut(200)};$(window).mouseup(function(evt){if(!on_button){button.removeClass("buttondown");if(evt.target.localName!="input"){list.fadeOut(200)}else{if(!set_click){set_click=true;$(evt.target).click(function(){list.css("margin-left","-9999px").show()})}}}on_button=false}).mousedown(function(){$(".tools_flyout:visible").fadeOut()});overlay.bind("mousedown",function(){if(!button.hasClass("buttondown")){button.addClass("buttondown").removeClass("buttonup");list.css("margin-left",0).show();if(!height){height=list.height()}list.css("height",0).animate({height:height},200);on_button=true;return false}else{button.removeClass("buttondown").addClass("buttonup");list.fadeOut(200)}}).hover(function(){on_button=true}).mouseout(function(){on_button=false});var list_items=$("#main_menu li");list_items.mouseover(function(){js_hover=($(this).css("background-color")=="rgba(0, 0, 0, 0)");list_items.unbind("mouseover");if(js_hover){list_items.mouseover(function(){this.style.backgroundColor="#FFC"}).mouseout(function(){this.style.backgroundColor="transparent";return true})}})}());var addDropDown=function(elem,callback,dropUp){var button=$(elem).find("button");var list=$(elem).find("ul");var on_button=false;if(dropUp){$(elem).addClass("dropup")}$(elem).find("li").bind("mouseup",callback);$(window).mouseup(function(evt){if(!on_button){button.removeClass("down");list.hide()}on_button=false});button.bind("mousedown",function(){if(!button.hasClass("down")){button.addClass("down");list.show();on_button=true}else{button.removeClass("down");list.hide()}}).hover(function(){on_button=true}).mouseout(function(){on_button=false})};var addAltDropDown=function(elem,list,callback,opts){var button=$(elem);var list=$(list);var on_button=false;var dropUp=opts.dropUp;if(dropUp){$(elem).addClass("dropup")}list.find("li").bind("mouseup",function(){if(opts.seticon){setIcon("#cur_"+button[0].id,$(this).children());$(this).addClass("current").siblings().removeClass("current")}callback.apply(this,arguments)});$(window).mouseup(function(evt){if(!on_button){button.removeClass("down");list.hide();list.css({top:0,left:0})}on_button=false});var height=list.height();$(elem).bind("mousedown",function(){var off=$(elem).offset();if(dropUp){off.top-=list.height();off.left+=8}else{off.top+=$(elem).height()}$(list).offset(off);if(!button.hasClass("down")){button.addClass("down");list.show();on_button=true;return false}else{button.removeClass("down");list.hide();list.css({top:0,left:0})}}).hover(function(){on_button=true}).mouseout(function(){on_button=false});if(opts.multiclick){list.mousedown(function(){on_button=true})}};addDropDown("#font_family_dropdown",function(){var fam=$(this).text();$("#font_family").val($(this).text()).change()});addDropDown("#opacity_dropdown",function(){if($(this).find("div").length){return}var perc=parseInt($(this).text().split("%")[0]);changeOpacity(false,perc)},true);$("#opac_slider").slider({start:function(){$("#opacity_dropdown li:not(.special)").hide()},stop:function(){$("#opacity_dropdown li").show();$(window).mouseup()},slide:function(evt,ui){changeOpacity(ui)}});addDropDown("#blur_dropdown",function(){});var slideStart=false;$("#blur_slider").slider({max:10,step:0.1,stop:function(evt,ui){slideStart=false;changeBlur(ui);$("#blur_dropdown li").show();$(window).mouseup()},start:function(){slideStart=true},slide:function(evt,ui){changeBlur(ui,null,slideStart)}});addDropDown("#zoom_dropdown",function(){var item=$(this);var val=item.attr("data-val");if(val){zoomChanged(window,val)}else{changeZoom({value:parseInt(item.text())})}},true);addAltDropDown("#stroke_linecap","#linecap_opts",function(){setStrokeOpt(this,true)},{dropUp:true});addAltDropDown("#stroke_linejoin","#linejoin_opts",function(){setStrokeOpt(this,true)},{dropUp:true});addAltDropDown("#tool_position","#position_opts",function(){var letter=this.id.replace("tool_pos","").charAt(0);svgCanvas.alignSelectedElements(letter,"page")},{multiclick:true});(function(){var inp;var unfocus=function(){$(inp).blur()};$("#svg_editor input:text:not(#text)").focus(function(){inp=this;workarea.mousedown(unfocus)}).blur(function(){workarea.unbind("mousedown",unfocus)})}());var clickSelect=function(){if(toolButtonClick("#tool_select")){svgCanvas.setMode("select");$("#styleoverrides").text("#svgcanvas svg *{cursor:move;pointer-events:all}, #svgcanvas svg{cursor:default}")}};var clickFHPath=function(){if(toolButtonClick("#tool_fhpath")){svgCanvas.setMode("fhpath")}};var clickLine=function(){if(toolButtonClick("#tool_line")){svgCanvas.setMode("line")}};var clickSquare=function(){svgCanvas.setMode("square")};var clickRect=function(){svgCanvas.setMode("rect")};var clickFHRect=function(){svgCanvas.setMode("fhrect")};var clickCircle=function(){svgCanvas.setMode("circle")};var clickEllipse=function(){svgCanvas.setMode("ellipse")};var clickFHEllipse=function(){svgCanvas.setMode("fhellipse")};var clickImage=function(){if(toolButtonClick("#tool_image")){svgCanvas.setMode("image")}};var clickZoom=function(){if(toolButtonClick("#tool_zoom")){workarea.css("cursor","crosshair");svgCanvas.setMode("zoom")}};var dblclickZoom=function(){if(toolButtonClick("#tool_zoom")){zoomImage();setSelectMode()}};var clickText=function(){toolButtonClick("#tool_text");svgCanvas.setMode("text")};var clickPath=function(){toolButtonClick("#tool_path");svgCanvas.setMode("path")};var deleteSelected=function(){if(selectedElement!=null||multiselected){svgCanvas.deleteSelectedElements()}};var moveToTopSelected=function(){if(selectedElement!=null){svgCanvas.moveToTopSelectedElement()}};var moveToBottomSelected=function(){if(selectedElement!=null){svgCanvas.moveToBottomSelectedElement()}};var convertToPath=function(){if(selectedElement!=null){svgCanvas.convertToPath()}};var reorientPath=function(){if(selectedElement!=null){path.reorient()}};var moveSelected=function(dx,dy){if(selectedElement!=null||multiselected){svgCanvas.moveSelectedElements(dx,dy)}};var linkControlPoints=function(){var linked=!$("#tool_node_link").hasClass("push_button_pressed");if(linked){$("#tool_node_link").addClass("push_button_pressed").removeClass("tool_button")}else{$("#tool_node_link").removeClass("push_button_pressed").addClass("tool_button")}path.linkControlPoints(linked)};var clonePathNode=function(){if(path.getNodePoint()){path.clonePathNode()}};var deletePathNode=function(){if(path.getNodePoint()){path.deletePathNode()}};var addSubPath=function(){var button=$("#tool_add_subpath");var sp=!button.hasClass("push_button_pressed");if(sp){button.addClass("push_button_pressed").removeClass("tool_button")}else{button.removeClass("push_button_pressed").addClass("tool_button")}path.addSubPath(sp)};var opencloseSubPath=function(){path.opencloseSubPath()};var selectNext=function(){svgCanvas.cycleElement(1)};var selectPrev=function(){svgCanvas.cycleElement(0)};var rotateSelected=function(cw){if(selectedElement==null||multiselected){return}var step=5;if(!cw){step*=-1}var new_angle=$("#angle").val()*1+step;svgCanvas.setRotationAngle(new_angle);updateContextPanel()};var clickClear=function(){var dims=curConfig.dimensions;$.confirm(uiStrings.QwantToClear,function(ok){if(!ok){return}setSelectMode();svgCanvas.clear();svgCanvas.setResolution(dims[0],dims[1]);updateCanvas(true);zoomImage();populateLayers();updateContextPanel()})};var clickBold=function(){svgCanvas.setBold(!svgCanvas.getBold());updateContextPanel()};var clickItalic=function(){svgCanvas.setItalic(!svgCanvas.getItalic());updateContextPanel()};var clickSave=function(){var saveOpts={images:curPrefs.img_save,round_digits:6};svgCanvas.save(saveOpts)};var clickExport=function(){var str=uiStrings.loadingImage;exportWindow=window.open("data:text/html;charset=utf-8,<title>"+str+"</title><h1>"+str+"</h1>");if(window.canvg){svgCanvas.rasterExport()}else{$.getScript("canvg/rgbcolor.js",function(){$.getScript("canvg/canvg.js",function(){svgCanvas.rasterExport()})})}};var clickOpen=function(){svgCanvas.open()};var clickImport=function(){};var clickUndo=function(){if(svgCanvas.getUndoStackSize()>0){svgCanvas.undo();populateLayers()}};var clickRedo=function(){if(svgCanvas.getRedoStackSize()>0){svgCanvas.redo();populateLayers()}};var clickGroup=function(){if(multiselected){svgCanvas.groupSelectedElements()}else{if(selectedElement&&selectedElement.tagName=="g"){svgCanvas.ungroupSelectedElement()}}};var clickClone=function(){svgCanvas.cloneSelectedElements()};var clickAlign=function(){var letter=this.id.replace("tool_align","").charAt(0);svgCanvas.alignSelectedElements(letter,$("#align_relative_to").val())};var zoomImage=function(multiplier){var res=svgCanvas.getResolution();multiplier=multiplier?res.zoom*multiplier:1;$("#zoom").val(multiplier*100);svgCanvas.setZoom(multiplier);zoomDone();updateCanvas(true)};var zoomDone=function(){updateWireFrame()};var clickWireframe=function(){var wf=!$("#tool_wireframe").hasClass("push_button_pressed");if(wf){$("#tool_wireframe").addClass("push_button_pressed").removeClass("tool_button")}else{$("#tool_wireframe").removeClass("push_button_pressed").addClass("tool_button")}workarea.toggleClass("wireframe");if(supportsNonSS){return}var wf_rules=$("#wireframe_rules");if(!wf_rules.length){wf_rules=$(\'<style id="wireframe_rules"></style>\').appendTo("head")}else{wf_rules.empty()}updateWireFrame()};var updateWireFrame=function(){if(supportsNonSS){return}var rule="#workarea.wireframe #svgcontent * { stroke-width: "+1/svgCanvas.getZoom()+"px; }";$("#wireframe_rules").text(workarea.hasClass("wireframe")?rule:"")};var showSourceEditor=function(){if(editingsource){return}editingsource=true;var str=svgCanvas.getSvgString();$("#svg_source_textarea").val(str);$("#svg_source_editor").fadeIn();properlySourceSizeTextArea();$("#svg_source_textarea").focus()};$("#svg_docprops_container").draggable({cancel:"button,fieldset"});var showDocProperties=function(){if(docprops){return}docprops=true;$("#image_save_opts input").val([curPrefs.img_save]);var res=svgCanvas.getResolution();$("#canvas_width").val(res.w);$("#canvas_height").val(res.h);$("#canvas_title").val(svgCanvas.getDocumentTitle());var blocks=$("#bg_blocks div");var cur_bg="cur_background";var canvas_bg=$.pref("bkgd_color");var url=$.pref("bkgd_url");blocks.each(function(){var blk=$(this);var is_bg=blk.css("background-color")==canvas_bg;blk.toggleClass(cur_bg,is_bg);if(is_bg){$("#canvas_bg_url").removeClass(cur_bg)}});if(!canvas_bg){blocks.eq(0).addClass(cur_bg)}if(url){$("#canvas_bg_url").val(url)}$("#svg_docprops").fadeIn()};var properlySourceSizeTextArea=function(){var height=$("#svg_source_container").height()-80;$("#svg_source_textarea").css("height",height)};var saveSourceEditor=function(){if(!editingsource){return}var saveChanges=function(){svgCanvas.clearSelection();hideSourceEditor();zoomImage();populateLayers();setTitle(svgCanvas.getDocumentTitle())};if(!svgCanvas.setSvgString($("#svg_source_textarea").val())){$.confirm(uiStrings.QerrorsRevertToSource,function(ok){if(!ok){return false}saveChanges()})}else{saveChanges()}setSelectMode()};var setTitle=function(title){var editor_title=$("title:first").text().split(":")[0];var new_title=editor_title+(title?": "+title:"");$("title:first").text(new_title)};var saveDocProperties=function(){var new_title=$("#canvas_title").val();setTitle(new_title);svgCanvas.setDocumentTitle(new_title);var width=$("#canvas_width"),w=width.val();var height=$("#canvas_height"),h=height.val();if(w!="fit"&&!svgCanvas.isValidUnit("width",w)){$.alert(uiStrings.invalidAttrValGiven);width.parent().addClass("error");return false}width.parent().removeClass("error");if(h!="fit"&&!svgCanvas.isValidUnit("height",h)){$.alert(uiStrings.invalidAttrValGiven);height.parent().addClass("error");return false}height.parent().removeClass("error");if(!svgCanvas.setResolution(w,h)){$.alert(uiStrings.noContentToFitTo);return false}curPrefs.img_save=$("#image_save_opts :checked").val();$.pref("img_save",curPrefs.img_save);var color=$("#bg_blocks div.cur_background").css("background-color")||"#FFF";setBackground(color,$("#canvas_bg_url").val());var lang=$("#lang_select").val();if(lang!=curPrefs.lang){Editor.putLocale(lang)}setIconSize($("#iconsize").val());updateCanvas();hideDocProperties()};function setBackground(color,url){if(color==curPrefs.bkgd_color&&url==curPrefs.bkgd_url){return}$.pref("bkgd_color",color);$.pref("bkgd_url",url);svgCanvas.setBackground(color,url)}var setIcon=Editor.setIcon=function(elem,icon_id,forcedSize){var icon=(typeof icon_id=="string")?$.getSvgIcon(icon_id).clone():icon_id.clone();$(elem).empty().append(icon);if(forcedSize){var obj={};obj[elem+" .svg_icon"]=forcedSize;$.resizeSvgIcons(obj)}else{var size=curPrefs.iconsize;if(size&&size!=="m"){var icon_sizes={s:16,m:24,l:32,xl:48},obj={};obj[elem+" .svg_icon"]=icon_sizes[size];$.resizeSvgIcons(obj)}}};var setIconSize=Editor.setIconSize=function(size,force){if(size==curPrefs.size&&!force){return}$.pref("iconsize",size);$("#iconsize").val(size);var icon_sizes={s:16,m:24,l:32,xl:48};var size_num=icon_sizes[size];$(".tool_button, .push_button, .tool_button_current, .disabled, .icon_label, #url_notice, #tool_open").find("> svg, > img").each(function(){this.setAttribute("width",size_num);this.setAttribute("height",size_num)});$.resizeSvgIcons({".flyout_arrow_horiz > svg, .flyout_arrow_horiz > img":size_num/5,"#logo > svg, #logo > img":size_num*1.3,"#tools_bottom .icon_label > *":(size_num===16?18:size_num*0.75)});if(size!="s"){$.resizeSvgIcons({"#layerbuttons svg, #layerbuttons img":size_num*0.6})}var cssResizeRules={".tool_button,\t\t\t\t\t.push_button,\t\t\t\t\t.tool_button_current,\t\t\t\t\t.push_button_pressed,\t\t\t\t\t.disabled,\t\t\t\t\t.icon_label,\t\t\t\t\t.tools_flyout .tool_button":{width:{s:"16px",l:"32px",xl:"48px"},height:{s:"16px",l:"32px",xl:"48px"},padding:{s:"1px",l:"2px",xl:"3px"}},".tool_sep":{height:{s:"16px",l:"32px",xl:"48px"},margin:{s:"2px 2px",l:"2px 5px",xl:"2px 8px"}},"#main_icon":{width:{s:"31px",l:"53px",xl:"75px"},height:{s:"22px",l:"42px",xl:"64px"}},"#tools_top":{left:{s:"36px",l:"60px",xl:"80px"},height:{s:"50px",l:"88px",xl:"125px"}},"#tools_left":{width:{s:"22px",l:"30px",xl:"38px"},top:{s:"50px",l:"87px",xl:"125px"}},"div#workarea":{left:{s:"27px",l:"46px",xl:"65px"},top:{s:"50px",l:"88px",xl:"125px"},bottom:{s:"55px",l:"98px",xl:"145px"}},"#tools_bottom":{left:{s:"27px",l:"46px",xl:"65px"},height:{s:"58px",l:"98px",xl:"145px"}},"#color_tools":{"border-spacing":{s:"0 1px"},"margin-top":{s:"-1px"}},"#color_tools .icon_label":{width:{l:"43px",xl:"60px"}},".color_tool":{height:{s:"20px"}},"#tool_opacity":{top:{s:"1px"},height:{s:"auto",l:"auto",xl:"auto"}},"#tools_top input, #tools_bottom input":{"margin-top":{s:"2px",l:"4px",xl:"5px"},height:{s:"auto",l:"auto",xl:"auto"},border:{s:"1px solid #555",l:"auto",xl:"auto"},"font-size":{s:".9em",l:"1.2em",xl:"1.4em"}},"#zoom_panel":{"margin-top":{s:"3px",l:"4px",xl:"5px"}},"#copyright, #tools_bottom .label":{"font-size":{l:"1.5em",xl:"2em"},"line-height":{s:"15px"}},"#tools_bottom_2":{width:{l:"295px",xl:"355px"},top:{s:"4px"}},"#tools_top > div, #tools_top":{"line-height":{s:"17px",l:"34px",xl:"50px"}},".dropdown button":{height:{s:"18px",l:"34px",xl:"40px"},"line-height":{s:"18px",l:"34px",xl:"40px"},"margin-top":{s:"3px"}},"#tools_top label, #tools_bottom label":{"font-size":{s:"1em",l:"1.5em",xl:"2em"},height:{s:"25px",l:"42px",xl:"64px"}},"div.toolset":{height:{s:"25px",l:"42px",xl:"64px"}},"#tool_bold, #tool_italic":{"font-size":{s:"1.5em",l:"3em",xl:"4.5em"}},"#sidepanels":{top:{s:"50px",l:"88px",xl:"125px"},bottom:{s:"51px",l:"68px",xl:"65px"}},"#layerbuttons":{width:{l:"130px",xl:"175px"},height:{l:"24px",xl:"30px"}},"#layerlist":{width:{l:"128px",xl:"150px"}},".layer_button":{width:{l:"19px",xl:"28px"},height:{l:"19px",xl:"28px"}},"input.spin-button":{"background-image":{l:"url(\'images/spinbtn_updn_big.png\')",xl:"url(\'images/spinbtn_updn_big.png\')"},"background-position":{l:"100% -5px",xl:"100% -2px"},"padding-right":{l:"24px",xl:"24px"}},"input.spin-button.up":{"background-position":{l:"100% -45px",xl:"100% -42px"}},"input.spin-button.down":{"background-position":{l:"100% -85px",xl:"100% -82px"}},"#position_opts":{width:{all:(size_num*4)+"px"}}};var rule_elem=$("#tool_size_rules");if(!rule_elem.length){rule_elem=$(\'<style id="tool_size_rules"></style>\').appendTo("head")}else{rule_elem.empty()}if(size!="m"){var style_str="";$.each(cssResizeRules,function(selector,rules){selector="#svg_editor "+selector.replace(/,/g,", #svg_editor");style_str+=selector+"{";$.each(rules,function(prop,values){if(values[size]||values.all){style_str+=(prop+":"+(values[size]||values.all)+";")}});style_str+="}"});rule_elem.text(style_str)}setFlyoutPositions()};var cancelOverlays=function(){$("#dialog_box").hide();if(!editingsource&&!docprops){return}if(editingsource){var oldString=svgCanvas.getSvgString();if(oldString!=$("#svg_source_textarea").val()){$.confirm(uiStrings.QignoreSourceChanges,function(ok){if(ok){hideSourceEditor()}})}else{hideSourceEditor()}}else{if(docprops){hideDocProperties()}}};var hideSourceEditor=function(){$("#svg_source_editor").hide();editingsource=false;$("#svg_source_textarea").blur()};var hideDocProperties=function(){$("#svg_docprops").hide();$("#canvas_width,#canvas_height").removeAttr("disabled");$("#resolution")[0].selectedIndex=0;$("#image_save_opts input").val([curPrefs.img_save]);docprops=false};var win_wh={width:$(window).width(),height:$(window).height()};$(window).resize(function(evt){if(editingsource){properlySourceSizeTextArea()}$.each(win_wh,function(type,val){var curval=$(window)[type]();workarea[0]["scroll"+(type==="width"?"Left":"Top")]-=(curval-val)/2;win_wh[type]=curval})});$("#url_notice").click(function(){$.alert(this.title)});$("#change_image_url").click(promptImgURL);function promptImgURL(){$.prompt(uiStrings.enterNewImgURL,default_img_url,function(url){if(url){setImageURL(url)}})}function setImageURL(url){if(!url){url=default_img_url}svgCanvas.setImageURL(url);$("#image_url").val(url);if(url.indexOf("data:")===0){$("#image_url").hide();$("#change_image_url").show()}else{svgCanvas.embedImage(url,function(datauri){if(!datauri){$("#url_notice").show()}else{$("#url_notice").hide()}default_img_url=url});$("#image_url").show();$("#change_image_url").hide()}}(function(){var toolnames=["clear","open","save","source","delete","delete_multi","paste","clone","clone_multi","move_top","move_bottom"];var all_tools="";var cur_class="tool_button_current";$.each(toolnames,function(i,item){all_tools+="#tool_"+item+(i==toolnames.length-1?",":"")});$(all_tools).mousedown(function(){$(this).addClass(cur_class)}).bind("mousedown mouseout",function(){$(this).removeClass(cur_class)});$("#tool_undo, #tool_redo").mousedown(function(){if(!$(this).hasClass("disabled")){$(this).addClass(cur_class)}}).bind("mousedown mouseout",function(){$(this).removeClass(cur_class)})}());if(isMac){var shortcutButtons=["tool_clear","tool_save","tool_source","tool_undo","tool_redo","tool_clone"];var i=shortcutButtons.length;while(i--){var button=document.getElementById(shortcutButtons[i]);var title=button.title;var index=title.indexOf("Ctrl+");button.title=[title.substr(0,index),"Cmd+",title.substr(index+5)].join("")}}var colorPicker=function(elem){var picker=elem.attr("id")=="stroke_color"?"stroke":"fill";var paint=(picker=="stroke"?strokePaint:fillPaint);var title=(picker=="stroke"?"Pick a Stroke Paint and Opacity":"Pick a Fill Paint and Opacity");var was_none=false;var pos=elem.position();$("#color_picker").draggable({cancel:".jPicker_table,.jGraduate_lgPick,.jGraduate_rgPick"}).css({left:pos.left,bottom:50-pos.top}).jGraduate({paint:paint,window:{pickerTitle:title},images:{clientPath:"jgraduate/images/"}},function(p){paint=new $.jGraduate.Paint(p);var oldgrad=document.getElementById("gradbox_"+picker);var svgbox=oldgrad.parentNode;var rectbox=svgbox.firstChild;if(paint.type=="linearGradient"||paint.type=="radialGradient"){svgbox.removeChild(oldgrad);var newgrad=svgbox.appendChild(document.importNode(paint[paint.type],true));svgCanvas.fixOperaXML(newgrad,paint[paint.type]);newgrad.id="gradbox_"+picker;rectbox.setAttribute("fill","url(#gradbox_"+picker+")");rectbox.setAttribute("opacity",paint.alpha/100)}else{rectbox.setAttribute("fill",paint.solidColor!="none"?"#"+paint.solidColor:"none");rectbox.setAttribute("opacity",paint.alpha/100)}if(picker=="stroke"){svgCanvas.setStrokePaint(paint,true);strokePaint=paint}else{svgCanvas.setFillPaint(paint,true);fillPaint=paint}updateToolbar();$("#color_picker").hide()},function(p){$("#color_picker").hide()})};var updateToolButtonState=function(){var bNoFill=(svgCanvas.getFillColor()=="none");var bNoStroke=(svgCanvas.getStrokeColor()=="none");var buttonsNeedingStroke=["#tool_fhpath","#tool_line"];var buttonsNeedingFillAndStroke=["#tools_rect .tool_button","#tools_ellipse .tool_button","#tool_text","#tool_path"];if(bNoStroke){for(index in buttonsNeedingStroke){var button=buttonsNeedingStroke[index];if($(button).hasClass("tool_button_current")){clickSelect()}$(button).addClass("disabled")}}else{for(index in buttonsNeedingStroke){var button=buttonsNeedingStroke[index];$(button).removeClass("disabled")}}if(bNoStroke&&bNoFill){for(index in buttonsNeedingFillAndStroke){var button=buttonsNeedingFillAndStroke[index];if($(button).hasClass("tool_button_current")){clickSelect()}$(button).addClass("disabled")}}else{for(index in buttonsNeedingFillAndStroke){var button=buttonsNeedingFillAndStroke[index];$(button).removeClass("disabled")}}svgCanvas.runExtensions("toolButtonStateUpdate",{nofill:bNoFill,nostroke:bNoStroke});$(".tools_flyout").each(function(){var shower=$("#"+this.id+"_show");var has_enabled=false;$(this).children().each(function(){if(!$(this).hasClass("disabled")){has_enabled=true}});shower.toggleClass("disabled",!has_enabled)});operaRepaint()};var svgdocbox=new DOMParser().parseFromString(\'<svg xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"\t\t\t\tfill="#\'+curConfig.initFill.color+\'" opacity="\'+curConfig.initFill.opacity+\'"/>\t\t\t\t<linearGradient id="gradbox_">\t\t\t\t\t\t<stop stop-color="#000" offset="0.0"/>\t\t\t\t\t\t<stop stop-color="#FF0000" offset="1.0"/>\t\t\t\t</linearGradient></svg>\',"text/xml");var boxgrad=svgdocbox.getElementById("gradbox_");boxgrad.id="gradbox_fill";svgdocbox.documentElement.setAttribute("width",16.5);$("#fill_color").append(document.importNode(svgdocbox.documentElement,true));boxgrad.id="gradbox_stroke";svgdocbox.documentElement.setAttribute("width",16.5);$("#stroke_color").append(document.importNode(svgdocbox.documentElement,true));$("#stroke_color rect").attr({fill:"#"+curConfig.initStroke.color,opacity:curConfig.initStroke.opacity});$("#stroke_width").val(curConfig.initStroke.width);$("#group_opacity").val(curConfig.initOpacity*100);var test_el=svgdocbox.documentElement.firstChild;test_el.setAttribute("style","vector-effect:non-scaling-stroke");var supportsNonSS=(test_el.style.vectorEffect=="non-scaling-stroke");test_el.removeAttribute("style");var blur_test=svgdocbox.createElementNS("http://www.w3.org/2000/svg","feGaussianBlur");if(typeof blur_test.stdDeviationX==="undefined"){$("#tool_blur").hide()}$(blur_test).remove();setTimeout(function(){svgCanvas.embedImage("images/logo.png",function(datauri){if(!datauri){$("#image_save_opts [value=embed]").attr("disabled","disabled");$("#image_save_opts input").val(["ref"]);curPrefs.img_save="ref";$("#image_opt_embed").css("color","#666").attr("title",uiStrings.featNotSupported)}})},1000);$("#fill_color, #tool_fill .icon_label").click(function(){colorPicker($("#fill_color"));updateToolButtonState()});$("#stroke_color, #tool_stroke .icon_label").click(function(){colorPicker($("#stroke_color"));updateToolButtonState()});$("#group_opacityLabel").click(function(){$("#opacity_dropdown button").mousedown();$(window).mouseup()});$("#zoomLabel").click(function(){$("#zoom_dropdown button").mousedown();$(window).mouseup()});$("#tool_move_top").mousedown(function(evt){$("#tools_stacking").show();evt.preventDefault()});$(".layer_button").mousedown(function(){$(this).addClass("layer_buttonpressed")}).mouseout(function(){$(this).removeClass("layer_buttonpressed")}).mouseup(function(){$(this).removeClass("layer_buttonpressed")});$(".push_button").mousedown(function(){if(!$(this).hasClass("disabled")){$(this).addClass("push_button_pressed").removeClass("push_button")}}).mouseout(function(){$(this).removeClass("push_button_pressed").addClass("push_button")}).mouseup(function(){$(this).removeClass("push_button_pressed").addClass("push_button")});$("#layer_new").click(function(){var curNames=new Array(svgCanvas.getNumLayers());for(var i=0;i<curNames.length;++i){curNames[i]=svgCanvas.getLayer(i)}var j=(curNames.length+1);var uniqName=uiStrings.layer+" "+j;while($.inArray(uniqName,curNames)!=-1){j++;uniqName=uiStrings.layer+" "+j}$.prompt(uiStrings.enterUniqueLayerName,uniqName,function(newName){if(!newName){return}if($.inArray(newName,curNames)!=-1){$.alert(uiStrings.dupeLayerName);return}svgCanvas.createLayer(newName);updateContextPanel();populateLayers();$("#layerlist tr.layer").removeClass("layersel");$("#layerlist tr.layer:first").addClass("layersel")})});$("#layer_delete").click(function(){if(svgCanvas.deleteCurrentLayer()){updateContextPanel();populateLayers();$("#layerlist tr.layer").removeClass("layersel");$("#layerlist tr.layer:first").addClass("layersel")}});$("#layer_up").click(function(){var curIndex=$("#layerlist tr.layersel").prevAll().length;if(curIndex>0){var total=$("#layerlist tr.layer").length;curIndex--;svgCanvas.setCurrentLayerPosition(total-curIndex-1);populateLayers();$("#layerlist tr.layer").removeClass("layersel");$("#layerlist tr.layer:eq("+curIndex+")").addClass("layersel")}});$("#layer_down").click(function(){var curIndex=$("#layerlist tr.layersel").prevAll().length;var total=$("#layerlist tr.layer").length;if(curIndex<total-1){curIndex++;svgCanvas.setCurrentLayerPosition(total-curIndex-1);populateLayers();$("#layerlist tr.layer").removeClass("layersel");$("#layerlist tr.layer:eq("+curIndex+")").addClass("layersel")}});$("#layer_rename").click(function(){var curIndex=$("#layerlist tr.layersel").prevAll().length;var oldName=$("#layerlist tr.layersel td.layername").text();$.prompt(uiStrings.enterNewLayerName,"",function(newName){if(!newName){return}if(oldName==newName){$.alert(uiStrings.layerHasThatName);return}var curNames=new Array(svgCanvas.getNumLayers());for(var i=0;i<curNames.length;++i){curNames[i]=svgCanvas.getLayer(i)}if($.inArray(newName,curNames)!=-1){$.alert(uiStrings.layerHasThatName);return}svgCanvas.renameCurrentLayer(newName);populateLayers();$("#layerlist tr.layer").removeClass("layersel");$("#layerlist tr.layer:eq("+curIndex+")").addClass("layersel")})});var SIDEPANEL_MAXWIDTH=300;var SIDEPANEL_OPENWIDTH=150;var sidedrag=-1,sidedragging=false,allowmove=false;var resizePanel=function(evt){if(!allowmove){return}if(sidedrag==-1){return}sidedragging=true;var deltax=sidedrag-evt.pageX;var sidepanels=$("#sidepanels");var sidewidth=parseInt(sidepanels.css("width"));if(sidewidth+deltax>SIDEPANEL_MAXWIDTH){deltax=SIDEPANEL_MAXWIDTH-sidewidth;sidewidth=SIDEPANEL_MAXWIDTH}else{if(sidewidth+deltax<2){deltax=2-sidewidth;sidewidth=2}}if(deltax==0){return}sidedrag-=deltax;var layerpanel=$("#layerpanel");workarea.css("right",parseInt(workarea.css("right"))+deltax);sidepanels.css("width",parseInt(sidepanels.css("width"))+deltax);layerpanel.css("width",parseInt(layerpanel.css("width"))+deltax)};$("#sidepanel_handle").mousedown(function(evt){sidedrag=evt.pageX;$(window).mousemove(resizePanel);allowmove=false;setTimeout(function(){allowmove=true},20)}).mouseup(function(evt){if(!sidedragging){toggleSidePanel()}sidedrag=-1;sidedragging=false});$(window).mouseup(function(){sidedrag=-1;sidedragging=false;$("#svg_editor").unbind("mousemove",resizePanel)});var toggleSidePanel=function(close){var w=parseInt($("#sidepanels").css("width"));var deltax=(w>2||close?2:SIDEPANEL_OPENWIDTH)-w;var sidepanels=$("#sidepanels");var layerpanel=$("#layerpanel");workarea.css("right",parseInt(workarea.css("right"))+deltax);sidepanels.css("width",parseInt(sidepanels.css("width"))+deltax);layerpanel.css("width",parseInt(layerpanel.css("width"))+deltax)};var toggleHighlightLayer=function(layerNameToHighlight){var curNames=new Array(svgCanvas.getNumLayers());for(var i=0;i<curNames.length;++i){curNames[i]=svgCanvas.getLayer(i)}if(layerNameToHighlight){for(var i=0;i<curNames.length;++i){if(curNames[i]!=layerNameToHighlight){svgCanvas.setLayerOpacity(curNames[i],0.5)}}}else{for(var i=0;i<curNames.length;++i){svgCanvas.setLayerOpacity(curNames[i],1)}}};var populateLayers=function(){var layerlist=$("#layerlist tbody");var selLayerNames=$("#selLayerNames");layerlist.empty();selLayerNames.empty();var currentlayer=svgCanvas.getCurrentLayer();var layer=svgCanvas.getNumLayers();var icon=$.getSvgIcon("eye");while(layer--){var name=svgCanvas.getLayer(layer);var appendstr=\'<tr class="layer\';if(name==currentlayer){appendstr+=" layersel"}appendstr+=\'">\';if(svgCanvas.getLayerVisibility(name)){appendstr+=\'<td class="layervis"/><td class="layername" >\'+name+"</td></tr>"}else{appendstr+=\'<td class="layervis layerinvis"/><td class="layername" >\'+name+"</td></tr>"}layerlist.append(appendstr);selLayerNames.append(\'<option value="\'+name+\'">\'+name+"</option>")}if(icon!==undefined){var copy=icon.clone();$("td.layervis",layerlist).append(icon.clone());$.resizeSvgIcons({"td.layervis .svg_icon":14})}$("#layerlist td.layername").click(function(evt){$("#layerlist tr.layer").removeClass("layersel");var row=$(this.parentNode);row.addClass("layersel");svgCanvas.setCurrentLayer(this.textContent);evt.preventDefault()}).mouseover(function(evt){$(this).css({"font-style":"italic",color:"blue"});toggleHighlightLayer(this.textContent)}).mouseout(function(evt){$(this).css({"font-style":"normal",color:"black"});toggleHighlightLayer()});$("#layerlist td.layervis").click(function(evt){var row=$(this.parentNode).prevAll().length;var name=$("#layerlist tr.layer:eq("+row+") td.layername").text();var vis=$(this).hasClass("layerinvis");svgCanvas.setLayerVisibility(name,vis);if(vis){$(this).removeClass("layerinvis")}else{$(this).addClass("layerinvis")}});var num=5-$("#layerlist tr.layer").size();while(num-->0){layerlist.append(\'<tr><td style="color:white">_</td><td/></tr>\')}};populateLayers();var centerCanvas=function(){workarea.css("line-height",workarea.height()+"px")};$(window).bind("load resize",centerCanvas);function stepFontSize(elem,step){var orig_val=elem.value-0;var sug_val=orig_val+step;var increasing=sug_val>=orig_val;if(step===0){return orig_val}if(orig_val>=24){if(increasing){return Math.round(orig_val*1.1)}else{return Math.round(orig_val/1.1)}}else{if(orig_val<=1){if(increasing){return orig_val*2}else{return orig_val/2}}else{return sug_val}}}function stepZoom(elem,step){var orig_val=elem.value-0;if(orig_val===0){return 100}var sug_val=orig_val+step;if(step===0){return orig_val}if(orig_val>=100){return sug_val}else{if(sug_val>=orig_val){return orig_val*2}else{return orig_val/2}}}$("#resolution").change(function(){var wh=$("#canvas_width,#canvas_height");if(!this.selectedIndex){if($("#canvas_width").val()=="fit"){wh.removeAttr("disabled").val(100)}}else{if(this.value=="content"){wh.val("fit").attr("disabled","disabled")}else{var dims=this.value.split("x");$("#canvas_width").val(dims[0]);$("#canvas_height").val(dims[1]);wh.removeAttr("disabled")}}});$("input,select").attr("autocomplete","off");var Actions=function(){var tool_buttons=[{sel:"#tool_select",fn:clickSelect,evt:"click",key:1},{sel:"#tool_fhpath",fn:clickFHPath,evt:"click",key:2},{sel:"#tool_line",fn:clickLine,evt:"click",key:3},{sel:"#tool_rect",fn:clickRect,evt:"mouseup",key:4,parent:"#tools_rect",icon:"rect"},{sel:"#tool_square",fn:clickSquare,evt:"mouseup",key:"Shift+4",parent:"#tools_rect",icon:"square"},{sel:"#tool_fhrect",fn:clickFHRect,evt:"mouseup",parent:"#tools_rect",icon:"fh_rect"},{sel:"#tool_ellipse",fn:clickEllipse,evt:"mouseup",key:5,parent:"#tools_ellipse",icon:"ellipse"},{sel:"#tool_circle",fn:clickCircle,evt:"mouseup",key:"Shift+5",parent:"#tools_ellipse",icon:"circle"},{sel:"#tool_fhellipse",fn:clickFHEllipse,evt:"mouseup",parent:"#tools_ellipse",icon:"fh_ellipse"},{sel:"#tool_path",fn:clickPath,evt:"click",key:6},{sel:"#tool_text",fn:clickText,evt:"click",key:7},{sel:"#tool_image",fn:clickImage,evt:"mouseup",key:8},{sel:"#tool_zoom",fn:clickZoom,evt:"mouseup",key:9},{sel:"#tool_clear",fn:clickClear,evt:"mouseup",key:[modKey+"N",true]},{sel:"#tool_save",fn:function(){editingsource?saveSourceEditor():clickSave()},evt:"mouseup",key:[modKey+"S",true]},{sel:"#tool_export",fn:clickExport,evt:"mouseup"},{sel:"#tool_open",fn:clickOpen,evt:"mouseup",key:[modKey+"O",true]},{sel:"#tool_import",fn:clickImport,evt:"mouseup"},{sel:"#tool_source",fn:showSourceEditor,evt:"click",key:["U",true]},{sel:"#tool_wireframe",fn:clickWireframe,evt:"click",key:["F",true]},{sel:"#tool_source_cancel,#svg_source_overlay,#tool_docprops_cancel",fn:cancelOverlays,evt:"click",key:["esc",false,false],hidekey:true},{sel:"#tool_source_save",fn:saveSourceEditor,evt:"click"},{sel:"#tool_docprops_save",fn:saveDocProperties,evt:"click"},{sel:"#tool_docprops",fn:showDocProperties,evt:"mouseup",key:[modKey+"P",true]},{sel:"#tool_delete,#tool_delete_multi",fn:deleteSelected,evt:"click",key:["del/backspace",true]},{sel:"#tool_reorient",fn:reorientPath,evt:"click"},{sel:"#tool_node_link",fn:linkControlPoints,evt:"click"},{sel:"#tool_node_clone",fn:clonePathNode,evt:"click"},{sel:"#tool_node_delete",fn:deletePathNode,evt:"click"},{sel:"#tool_openclose_path",fn:opencloseSubPath,evt:"click"},{sel:"#tool_add_subpath",fn:addSubPath,evt:"click"},{sel:"#tool_move_top",fn:moveToTopSelected,evt:"click",key:"shift+up"},{sel:"#tool_move_bottom",fn:moveToBottomSelected,evt:"click",key:"shift+down"},{sel:"#tool_topath",fn:convertToPath,evt:"click"},{sel:"#tool_undo",fn:clickUndo,evt:"click",key:[modKey+"Z",true]},{sel:"#tool_redo",fn:clickRedo,evt:"click",key:[modKey+"Y",true]},{sel:"#tool_clone,#tool_clone_multi",fn:clickClone,evt:"click",key:[modKey+"C",true]},{sel:"#tool_group",fn:clickGroup,evt:"click",key:[modKey+"G",true]},{sel:"#tool_ungroup",fn:clickGroup,evt:"click"},{sel:"[id^=tool_align]",fn:clickAlign,evt:"click"},{sel:"#tool_bold",fn:clickBold,evt:"mousedown"},{sel:"#tool_italic",fn:clickItalic,evt:"mousedown"},{sel:"#sidepanel_handle",fn:toggleSidePanel,key:[modKey+"X"]},{key:"shift+left",fn:function(){rotateSelected(0)}},{key:"shift+right",fn:function(){rotateSelected(1)}},{key:"shift+O",fn:selectPrev},{key:"shift+P",fn:selectNext},{key:["ctrl+up",true],fn:function(){zoomImage(2)}},{key:["ctrl+down",true],fn:function(){zoomImage(0.5)}},{key:["up",true],fn:function(){moveSelected(0,-1)}},{key:["down",true],fn:function(){moveSelected(0,1)}},{key:["left",true],fn:function(){moveSelected(-1,0)}},{key:["right",true],fn:function(){moveSelected(1,0)}},{key:"A",fn:function(){svgCanvas.selectAllInCurrentLayer()}}];var key_assocs={"4/Shift+4":"#tools_rect_show","5/Shift+5":"#tools_ellipse_show"};return{setAll:function(){var flyouts={};$.each(tool_buttons,function(i,opts){if(opts.sel){var btn=$(opts.sel);if(opts.evt){btn[opts.evt](opts.fn)}if(opts.parent){var f_h=$(opts.parent);if(!f_h.length){f_h=makeFlyoutHolder(opts.parent.substr(1))}f_h.append(btn);if(!$.isArray(flyouts[opts.parent])){flyouts[opts.parent]=[]}flyouts[opts.parent].push(opts)}}if(opts.key){var keyval,shortcut="",disInInp=true,fn=opts.fn,pd=false;if($.isArray(opts.key)){keyval=opts.key[0];if(opts.key.length>1){pd=opts.key[1]}if(opts.key.length>2){disInInp=opts.key[2]}}else{keyval=opts.key}keyval+="";$.each(keyval.split("/"),function(i,key){$(document).bind("keydown",key,function(e){fn();if(pd){e.preventDefault()}return false})});if(opts.sel&&!opts.hidekey){var new_title=btn.attr("title").split("[")[0]+"["+keyval+"]";key_assocs[keyval]=opts.sel;if(!btn.parents("#main_menu").length){btn.attr("title",new_title)}}}});setupFlyouts(flyouts);$(".attr_changer, #image_url").bind("keydown","return",function(evt){$(this).change();evt.preventDefault()});$("#tool_zoom").dblclick(dblclickZoom)},setTitles:function(){$.each(key_assocs,function(keyval,sel){var menu=($(sel).parents("#main_menu").length);$(sel).each(function(){if(menu){var t=$(this).text().split(" [")[0]}else{var t=this.title.split(" [")[0]}var key_str="";$.each(keyval.split("/"),function(i,key){var mod_bits=key.split("+"),mod="";if(mod_bits.length>1){mod=mod_bits[0]+"+";key=mod_bits[1]}key_str+=(i?"/":"")+mod+(uiStrings["key_"+key]||key)});if(menu){this.lastChild.textContent=t+" ["+key_str+"]"}else{this.title=t+" ["+key_str+"]"}})})},getButtonData:function(sel){var b;$.each(tool_buttons,function(i,btn){if(btn.sel===sel){b=btn}});return b}}}();Actions.setAll();Editor.ready(function(){var itool=curConfig.initTool,container=$("#tools_left, #svg_editor .tools_flyout"),pre_tool=container.find("#tool_"+itool),reg_tool=container.find("#"+itool);if(pre_tool.length){tool=pre_tool}else{if(reg_tool.length){tool=reg_tool}else{tool=$("#tool_select")}}tool.click().mouseup();if(curConfig.wireframe){$("#tool_wireframe").click()}if(curConfig.showlayers){toggleSidePanel()}});$("#rect_rx").SpinButton({min:0,max:1000,step:1,callback:changeRectRadius});$("#stroke_width").SpinButton({min:0,max:99,step:1,smallStep:0.1,callback:changeStrokeWidth});$("#angle").SpinButton({min:-180,max:180,step:5,callback:changeRotationAngle});$("#font_size").SpinButton({step:1,min:0.001,stepfunc:stepFontSize,callback:changeFontSize});$("#group_opacity").SpinButton({step:5,min:0,max:100,callback:changeOpacity});$("#blur").SpinButton({step:0.1,min:0,max:10,callback:changeBlur});$("#zoom").SpinButton({min:0.001,max:10000,step:50,stepfunc:stepZoom,callback:changeZoom});window.onbeforeunload=function(){if(svgCanvas.getHistoryPosition()===0){show_save_warning=false}if(!curConfig.no_save_warning&&show_save_warning){return"There are unsaved changes."}};if(window.FileReader){var inp=$(\'<input type="file">\').change(function(){var f=this;var openFile=function(ok){if(!ok){return}svgCanvas.clear();if(f.files.length==1){var reader=new FileReader();reader.onloadend=function(e){svgCanvas.setSvgString(e.target.result);updateCanvas()};reader.readAsText(f.files[0])}};$("#main_menu").hide();if(svgCanvas.getHistoryPosition()===0){openFile(true)}else{$.confirm(uiStrings.QwantToOpen,openFile)}});$("#tool_open").show().prepend(inp);var inp2=$(\'<input type="file">\').change(function(){$("#main_menu").hide();if(this.files.length==1){var reader=new FileReader();reader.onloadend=function(e){svgCanvas.importSvgString(e.target.result);updateCanvas()};reader.readAsText(this.files[0])}});$("#tool_import").show().prepend(inp2)}var updateCanvas=function(center,new_ctr){var w=workarea.width(),h=workarea.height();var w_orig=w,h_orig=h;var zoom=svgCanvas.getZoom();var w_area=workarea;var cnvs=$("#svgcanvas");var old_ctr={x:w_area[0].scrollLeft+w_orig/2,y:w_area[0].scrollTop+h_orig/2};var multi=curConfig.canvas_expansion;w=Math.max(w_orig,svgCanvas.contentW*zoom*multi);h=Math.max(h_orig,svgCanvas.contentH*zoom*multi);if(w==w_orig&&h==h_orig){workarea.css("overflow","hidden")}else{workarea.css("overflow","scroll")}var old_can_y=cnvs.height()/2;var old_can_x=cnvs.width()/2;cnvs.width(w).height(h);var new_can_y=h/2;var new_can_x=w/2;var offset=svgCanvas.updateCanvas(w,h);var ratio=new_can_x/old_can_x;var scroll_x=w/2-w_orig/2;var scroll_y=h/2-h_orig/2;if(!new_ctr){var old_dist_x=old_ctr.x-old_can_x;var new_x=new_can_x+old_dist_x*ratio;var old_dist_y=old_ctr.y-old_can_y;var new_y=new_can_y+old_dist_y*ratio;new_ctr={x:new_x,y:new_y}}else{new_ctr.x+=offset.x,new_ctr.y+=offset.y}if(center){w_area[0].scrollLeft=scroll_x;w_area[0].scrollTop=scroll_y}else{w_area[0].scrollLeft=new_ctr.x-w_orig/2;w_area[0].scrollTop=new_ctr.y-h_orig/2}};updateCanvas(true);var good_langs=[];$("#lang_select option").each(function(){good_langs.push(this.value)});Editor.putLocale(null,good_langs);try{json_encode=function(obj){if(window.JSON&&JSON.stringify){return JSON.stringify(obj)}var enc=arguments.callee;if(typeof obj=="boolean"||typeof obj=="number"){return obj+""}else{if(typeof obj=="string"){return\'"\'+obj.replace(/[\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,function(a){return"\\\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+\'"\'}else{if(obj.length){for(var i=0;i<obj.length;i++){obj[i]=enc(obj[i])}return"["+obj.join(",")+"]"}else{var pairs=[];for(var k in obj){pairs.push(enc(k)+":"+enc(obj[k]))}return"{"+pairs.join(",")+"}"}}}};window.addEventListener("message",function(e){var cbid=parseInt(e.data.substr(0,e.data.indexOf(";")));try{e.source.postMessage("SVGe"+cbid+";"+json_encode(eval(e.data)),e.origin)}catch(err){e.source.postMessage("SVGe"+cbid+";error:"+err.message,e.origin)}},false)}catch(err){window.embed_error=err}$(function(){window.svgCanvas=svgCanvas;svgCanvas.ready=svgEditor.ready});Editor.setLang=function(lang,strings){$.pref("lang",lang);$("#lang_select").val(lang);if(strings){var oldLayerName=$("#layerlist tr.layersel td.layername").text();var rename_layer=(oldLayerName==uiStrings.layer+" 1");$.extend(uiStrings,strings);svgCanvas.setUiStrings(strings);Actions.setTitles();if(rename_layer){svgCanvas.renameCurrentLayer(uiStrings.layer+" 1");populateLayers()}svgCanvas.runExtensions("langChanged",lang);setFlyoutTitles();var elems={"#stroke_color":"#tool_stroke .icon_label, #tool_stroke .color_block","#fill_color":"#tool_fill label, #tool_fill .color_block","#linejoin_miter":"#cur_linejoin","#linecap_butt":"#cur_linecap"};$.each(elems,function(source,dest){$(dest).attr("title",$(source)[0].title)});$("#multiselected_panel div[id^=tool_align]").each(function(){$("#tool_pos"+this.id.substr(10))[0].title=this.title})}}};var callbacks=[];Editor.ready=function(cb){if(!is_ready){callbacks.push(cb)}else{cb()}};Editor.runCallbacks=function(){$.each(callbacks,function(){this()});is_ready=true};Editor.loadFromString=function(str){Editor.ready(function(){svgCanvas.setSvgString(str)})};Editor.loadFromURL=function(url){Editor.ready(function(){$.ajax({url:url,dataType:"text",success:svgCanvas.setSvgString,error:function(xhr,stat,err){if(xhr.responseText){svgCanvas.setSvgString(xhr.responseText)}else{$.alert("Unable to load from URL. Error: \\n"+err+"")}}})})};Editor.loadFromDataURI=function(str){Editor.ready(function(){svgCanvas.setSvgString(str);var pre="data:image/svg+xml;base64,";var src=str.substring(pre.length);svgCanvas.setSvgString(Utils.decode64(src))})};Editor.addExtension=function(){var args=arguments;$(function(){svgCanvas.addExtension.apply(this,args)})};return Editor}(jQuery)}$(svgEditor.init)})();
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svgcanvas.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svgcanvas.js.xml
new file mode 100644
index 0000000000..fc667e4396
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svgcanvas.js.xml
@@ -0,0 +1,9609 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80046429.02</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>svgcanvas.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>288396</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * svgcanvas.js\n
+ *\n
+ * Licensed under the Apache License, Version 2\n
+ *\n
+ * Copyright(c) 2010 Alexis Deveria\n
+ * Copyright(c) 2010 Pavol Rusnak\n
+ * Copyright(c) 2010 Jeff Schiller\n
+ *\n
+ */\n
+\n
+if(!window.console) {\n
+\twindow.console = {};\n
+\twindow.console.log = function(str) {};\n
+\twindow.console.dir = function(str) {};\n
+}\n
+\n
+if(window.opera) {\n
+\twindow.console.log = function(str) {opera.postError(str);};\n
+\twindow.console.dir = function(str) {};\n
+}\n
+\n
+(function() {\n
+\n
+\t// This fixes $(...).attr() to work as expected with SVG elements.\n
+\t// Does not currently use *AttributeNS() since we rarely need that.\n
+\t\n
+\t// See http://api.jquery.com/attr/ for basic documentation of .attr()\n
+\t\n
+\t// Additional functionality: \n
+\t// - When getting attributes, a string that\'s a number is return as type number.\n
+\t// - If an array is supplied as first parameter, multiple values are returned\n
+\t// as an object with values for each given attributes\n
+\t\n
+\tvar proxied = jQuery.fn.attr, svgns = "http://www.w3.org/2000/svg";\n
+\tjQuery.fn.attr = function(key, value) {\n
+\t\tvar len = this.length;\n
+\t\tif(!len) return this;\n
+\t\tfor(var i=0; i<len; i++) {\n
+\t\t\tvar elem = this[i];\n
+\t\t\t// set/get SVG attribute\n
+\t\t\tif(elem.namespaceURI === svgns) {\n
+\t\t\t\t// Setting attribute\n
+\t\t\t\tif(value !== undefined) {\n
+\t\t\t\t\telem.setAttribute(key, value);\n
+\t\t\t\t} else if($.isArray(key)) {\n
+\t\t\t\t\t// Getting attributes from array\n
+\t\t\t\t\tvar j = key.length, obj = {};\n
+\n
+\t\t\t\t\twhile(j--) {\n
+\t\t\t\t\t\tvar aname = key[j];\n
+\t\t\t\t\t\tvar attr = elem.getAttribute(aname);\n
+\t\t\t\t\t\t// This returns a number when appropriate\n
+\t\t\t\t\t\tif(attr || attr === "0") {\n
+\t\t\t\t\t\t\tattr = isNaN(attr)?attr:attr-0;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tobj[aname] = attr;\n
+\t\t\t\t\t}\n
+\t\t\t\t\treturn obj;\n
+\t\t\t\t\n
+\t\t\t\t} else if(typeof key === "object") {\n
+\t\t\t\t\t// Setting attributes form object\n
+\t\t\t\t\tfor(var v in key) {\n
+\t\t\t\t\t\telem.setAttribute(v, key[v]);\n
+\t\t\t\t\t}\n
+\t\t\t\t// Getting attribute\n
+\t\t\t\t} else {\n
+\t\t\t\t\tvar attr = elem.getAttribute(key);\n
+\t\t\t\t\tif(attr || attr === "0") {\n
+\t\t\t\t\t\tattr = isNaN(attr)?attr:attr-0;\n
+\t\t\t\t\t}\n
+\n
+\t\t\t\t\treturn attr;\n
+\t\t\t\t}\n
+\t\t\t} else {\n
+\t\t\t\treturn proxied.apply(this, arguments);\n
+\t\t\t}\n
+\t\t}\n
+\t\treturn this;\n
+\t};\n
+\n
+}());\n
+\n
+\n
+$.SvgCanvas = function(container, config)\n
+{\n
+var isOpera = !!window.opera,\n
+\tisWebkit = navigator.userAgent.indexOf("AppleWebKit") != -1,\n
+\tsupport = {},\n
+\n
+// this defines which elements and attributes that we support\n
+\tsvgWhiteList = {\n
+\t// SVG Elements\n
+\t"a": ["class", "clip-path", "clip-rule", "fill", "fill-opacity", "fill-rule", "filter", "id", "mask", "opacity", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform", "xlink:href", "xlink:title"],\n
+\t"circle": ["class", "clip-path", "clip-rule", "cx", "cy", "fill", "fill-opacity", "fill-rule", "filter", "id", "mask", "opacity", "r", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform"],\n
+\t"clipPath": ["class", "clipPathUnits", "id"],\n
+\t"defs": [],\n
+\t"desc": [],\n
+\t"ellipse": ["class", "clip-path", "clip-rule", "cx", "cy", "fill", "fill-opacity", "fill-rule", "filter", "id", "mask", "opacity", "requiredFeatures", "rx", "ry", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform"],\n
+\t"feGaussianBlur": ["class", "color-interpolation-filters", "id", "requiredFeatures", "stdDeviation"],\n
+\t"filter": ["class", "color-interpolation-filters", "filterRes", "filterUnits", "height", "id", "primitiveUnits", "requiredFeatures", "width", "x", "xlink:href", "y"],\n
+\t"foreignObject": ["class", "font-size", "height", "id", "opacity", "requiredFeatures", "style", "transform", "width", "x", "y"],\n
+\t"g": ["class", "clip-path", "clip-rule", "id", "display", "fill", "fill-opacity", "fill-rule", "filter", "mask", "opacity", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform"],\n
+\t"image": ["class", "clip-path", "clip-rule", "filter", "height", "id", "mask", "opacity", "requiredFeatures", "style", "systemLanguage", "transform", "width", "x", "xlink:href", "xlink:title", "y"],\n
+\t"line": ["class", "clip-path", "clip-rule", "fill", "fill-opacity", "fill-rule", "filter", "id", "marker-end", "marker-mid", "marker-start", "mask", "opacity", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform", "x1", "x2", "y1", "y2"],\n
+\t"linearGradient": ["class", "id", "gradientTransform", "gradientUnits", "requiredFeatures", "spreadMethod", "systemLanguage", "x1", "x2", "xlink:href", "y1", "y2"],\n
+\t"marker": ["id", "class", "markerHeight", "markerUnits", "markerWidth", "orient", "preserveAspectRatio", "refX", "refY", "systemLanguage", "viewBox"],\n
+\t"mask": ["class", "height", "id", "maskContentUnits", "maskUnits", "width", "x", "y"],\n
+\t"metadata": ["class", "id"],\n
+\t"path": ["class", "clip-path", "clip-rule", "d", "fill", "fill-opacity", "fill-rule", "filter", "id", "marker-end", "marker-mid", "marker-start", "mask", "opacity", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform"],\n
+\t"pattern": ["class", "height", "id", "patternContentUnits", "patternTransform", "patternUnits", "requiredFeatures", "style", "systemLanguage", "width", "x", "xlink:href", "y"],\n
+\t"polygon": ["class", "clip-path", "clip-rule", "id", "fill", "fill-opacity", "fill-rule", "filter", "id", "class", "marker-end", "marker-mid", "marker-start", "mask", "opacity", "points", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform"],\n
+\t"polyline": ["class", "clip-path", "clip-rule", "id", "fill", "fill-opacity", "fill-rule", "filter", "marker-end", "marker-mid", "marker-start", "mask", "opacity", "points", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform"],\n
+\t"radialGradient": ["class", "cx", "cy", "fx", "fy", "gradientTransform", "gradientUnits", "id", "r", "requiredFeatures", "spreadMethod", "systemLanguage", "xlink:href"],\n
+\t"rect": ["class", "clip-path", "clip-rule", "fill", "fill-opacity", "fill-rule", "filter", "height", "id", "mask", "opacity", "requiredFeatures", "rx", "ry", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform", "width", "x", "y"],\n
+\t"stop": ["class", "id", "offset", "requiredFeatures", "stop-color", "stop-opacity", "style", "systemLanguage"],\n
+\t"svg": ["class", "clip-path", "clip-rule", "filter", "id", "height", "mask", "preserveAspectRatio", "requiredFeatures", "style", "systemLanguage", "viewBox", "width", "x", "xmlns", "xmlns:se", "xmlns:xlink", "y"],\n
+\t"switch": ["class", "id", "requiredFeatures", "systemLanguage"],\n
+\t"symbol": ["class", "fill", "fill-opacity", "fill-rule", "filter", "font-family", "font-size", "font-style", "font-weight", "id", "opacity", "preserveAspectRatio", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "transform", "viewBox"],\n
+\t"text": ["class", "clip-path", "clip-rule", "fill", "fill-opacity", "fill-rule", "filter", "font-family", "font-size", "font-style", "font-weight", "id", "mask", "opacity", "requiredFeatures", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "text-anchor", "transform", "x", "xml:space", "y"],\n
+\t"textPath": ["class", "id", "method", "requiredFeatures", "spacing", "startOffset", "style", "systemLanguage", "transform", "xlink:href"],\n
+\t"title": [],\n
+\t"tspan": ["class", "clip-path", "clip-rule", "dx", "dy", "fill", "fill-opacity", "fill-rule", "filter", "font-family", "font-size", "font-style", "font-weight", "id", "mask", "opacity", "requiredFeatures", "rotate", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "systemLanguage", "text-anchor", "textLength", "transform", "x", "xml:space", "y"],\n
+\t"use": ["class", "clip-path", "clip-rule", "fill", "fill-opacity", "fill-rule", "filter", "height", "id", "mask", "stroke", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke-width", "style", "transform", "width", "x", "xlink:href", "y"],\n
+\t\n
+\t// MathML Elements\n
+\t"annotation": ["encoding"],\n
+\t"annotation-xml": ["encoding"],\n
+\t"maction": ["actiontype", "other", "selection"],\n
+\t"math": ["class", "id", "display", "xmlns"],\n
+\t"merror": [],\n
+\t"mfrac": ["linethickness"],\n
+\t"mi": ["mathvariant"],\n
+\t"mmultiscripts": [],\n
+\t"mn": [],\n
+\t"mo": ["fence", "lspace", "maxsize", "minsize", "rspace", "stretchy"],\n
+\t"mover": [],\n
+\t"mpadded": ["lspace", "width"],\n
+\t"mphantom": [],\n
+\t"mprescripts": [],\n
+\t"mroot": [],\n
+\t"mrow": ["xlink:href", "xlink:type", "xmlns:xlink"],\n
+\t"mspace": ["depth", "height", "width"],\n
+\t"msqrt": [],\n
+\t"mstyle": ["displaystyle", "mathbackground", "mathcolor", "mathvariant", "scriptlevel"],\n
+\t"msub": [],\n
+\t"msubsup": [],\n
+\t"msup": [],\n
+\t"mtable": ["align", "columnalign", "columnlines", "columnspacing", "displaystyle", "equalcolumns", "equalrows", "frame", "rowalign", "rowlines", "rowspacing", "width"],\n
+\t"mtd": ["columnalign", "columnspan", "rowalign", "rowspan"],\n
+\t"mtext": [],\n
+\t"mtr": ["columnalign", "rowalign"],\n
+\t"munder": [],\n
+\t"munderover": [],\n
+\t"none": [],\n
+\t"semantics": []\n
+\t},\n
+\n
+\n
+// console.log(\'Start profiling\')\n
+// setTimeout(function() {\n
+// \tcanvas.addToSelection(canvas.getVisibleElements());\n
+// \tconsole.log(\'Stop profiling\')\n
+// },3000);\n
+\n
+\n
+\tuiStrings = {\n
+\t\t"pathNodeTooltip": "Drag node to move it. Double-click node to change segment type",\n
+\t\t"pathCtrlPtTooltip": "Drag control point to adjust curve properties",\n
+\t\t"exportNoBlur": "Blurred elements will appear as un-blurred",\n
+\t\t"exportNoImage": "Image elements will not appear",\n
+\t\t"exportNoforeignObject": "foreignObject elements will not appear",\n
+\t\t"exportNoDashArray": "Strokes will appear filled",\n
+\t\t"exportNoText": "Text may not appear as expected"\n
+\t},\n
+\t\n
+\tcurConfig = {\n
+\t\tshow_outside_canvas: true,\n
+\t\tdimensions: [640, 480]\n
+\t},\n
+\t\n
+\ttoXml = function(str) {\n
+\t\treturn $(\'<p/>\').text(str).html();\n
+\t},\n
+\t\n
+\tfromXml = function(str) {\n
+\t\treturn $(\'<p/>\').html(str).text();\n
+\t};\n
+\n
+\tif(config) {\n
+\t\t$.extend(curConfig, config);\n
+\t}\n
+\n
+\tvar unit_types = {\'em\':0,\'ex\':0,\'px\':1,\'cm\':35.43307,\'mm\':3.543307,\'in\':90,\'pt\':1.25,\'pc\':15,\'%\':0};\n
+\t\n
+// These command objects are used for the Undo/Redo stack\n
+// attrs contains the values that the attributes had before the change\n
+function ChangeElementCommand(elem, attrs, text) {\n
+\tthis.elem = elem;\n
+\tthis.text = text ? ("Change " + elem.tagName + " " + text) : ("Change " + elem.tagName);\n
+\tthis.newValues = {};\n
+\tthis.oldValues = attrs;\n
+\tfor (var attr in attrs) {\n
+\t\tif (attr == "#text") this.newValues[attr] = elem.textContent;\n
+\t\telse if (attr == "#href") this.newValues[attr] = elem.getAttributeNS(xlinkns, "href");\n
+\t\telse this.newValues[attr] = elem.getAttribute(attr);\n
+\t}\n
+\n
+\tthis.apply = function() {\n
+\t\tvar bChangedTransform = false;\n
+\t\tfor(var attr in this.newValues ) {\n
+\t\t\tif (this.newValues[attr]) {\n
+\t\t\t\tif (attr == "#text") this.elem.textContent = this.newValues[attr];\n
+\t\t\t\telse if (attr == "#href") this.elem.setAttributeNS(xlinkns, "xlink:href", this.newValues[attr])\n
+\t\t\t\telse this.elem.setAttribute(attr, this.newValues[attr]);\n
+\t\t\t}\n
+\t\t\telse {\n
+\t\t\t\tif (attr == "#text") this.elem.textContent = "";\n
+\t\t\t\telse {\n
+\t\t\t\t\tthis.elem.setAttribute(attr, "");\n
+\t\t\t\t\tthis.elem.removeAttribute(attr);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tif (attr == "transform") { bChangedTransform = true; }\n
+\t\t\telse if (attr == "stdDeviation") { canvas.setBlurOffsets(this.elem.parentNode, this.newValues[attr]); }\n
+\t\t\t\n
+\t\t}\n
+\t\t// relocate rotational transform, if necessary\n
+\t\tif(!bChangedTransform) {\n
+\t\t\tvar angle = canvas.getRotationAngle(elem);\n
+\t\t\tif (angle) {\n
+\t\t\t\tvar bbox = elem.getBBox();\n
+\t\t\t\tvar cx = bbox.x + bbox.width/2,\n
+\t\t\t\t\tcy = bbox.y + bbox.height/2;\n
+\t\t\t\tvar rotate = ["rotate(", angle, " ", cx, ",", cy, ")"].join(\'\');\n
+\t\t\t\tif (rotate != elem.getAttribute("transform")) {\n
+\t\t\t\t\telem.setAttribute("transform", rotate);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\t// if we are changing layer names, re-identify all layers\n
+\t\tif (this.elem.tagName == "title" && this.elem.parentNode.parentNode == svgcontent) {\n
+\t\t\tidentifyLayers();\n
+\t\t}\t\t\n
+\t\treturn true;\n
+\t};\n
+\n
+\tthis.unapply = function() {\n
+\t\tvar bChangedTransform = false;\n
+\t\tfor(var attr in this.oldValues ) {\n
+\t\t\tif (this.oldValues[attr]) {\n
+\t\t\t\tif (attr == "#text") this.elem.textContent = this.oldValues[attr];\n
+\t\t\t\telse if (attr == "#href") this.elem.setAttributeNS(xlinkns, "xlink:href", this.oldValues[attr]);\n
+\t\t\t\telse this.elem.setAttribute(attr, this.oldValues[attr]);\n
+\t\t\t\t\n
+\t\t\t\tif (attr == "stdDeviation") canvas.setBlurOffsets(this.elem.parentNode, this.oldValues[attr]);\n
+\t\t\t}\n
+\t\t\telse {\n
+\t\t\t\tif (attr == "#text") this.elem.textContent = "";\n
+\t\t\t\telse this.elem.removeAttribute(attr);\n
+\t\t\t}\n
+\t\t\tif (attr == "transform") { bChangedTransform = true; }\n
+\t\t}\n
+\t\t// relocate rotational transform, if necessary\n
+\t\tif(!bChangedTransform) {\n
+\t\t\tvar angle = canvas.getRotationAngle(elem);\n
+\t\t\tif (angle) {\n
+\t\t\t\tvar bbox = elem.getBBox();\n
+\t\t\t\tvar cx = bbox.x + bbox.width/2,\n
+\t\t\t\t\tcy = bbox.y + bbox.height/2;\n
+\t\t\t\tvar rotate = ["rotate(", angle, " ", cx, ",", cy, ")"].join(\'\');\n
+\t\t\t\tif (rotate != elem.getAttribute("transform")) {\n
+\t\t\t\t\telem.setAttribute("transform", rotate);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\t// if we are changing layer names, re-identify all layers\n
+\t\tif (this.elem.tagName == "title" && this.elem.parentNode.parentNode == svgcontent) {\n
+\t\t\tidentifyLayers();\n
+\t\t}\t\t\n
+\t\t\n
+\t\t// Remove transformlist to prevent confusion that causes bugs like 575.\n
+\t\tif (svgTransformLists[this.elem.id]) {\n
+\t\t\tdelete svgTransformLists[this.elem.id];\n
+\t\t}\t\n
+\t\t\n
+\t\treturn true;\n
+\t};\n
+\n
+\tthis.elements = function() { return [this.elem]; }\n
+}\n
+\n
+function InsertElementCommand(elem, text) {\n
+\tthis.elem = elem;\n
+\tthis.text = text || ("Create " + elem.tagName);\n
+\tthis.parent = elem.parentNode;\n
+\n
+\tthis.apply = function() { \n
+\t\tthis.elem = this.parent.insertBefore(this.elem, this.elem.nextSibling); \n
+\t\tif (this.parent == svgcontent) {\n
+\t\t\tidentifyLayers();\n
+\t\t}\t\t\n
+\t};\n
+\n
+\tthis.unapply = function() {\n
+\t\tthis.parent = this.elem.parentNode;\n
+\t\tthis.elem = this.elem.parentNode.removeChild(this.elem);\n
+\t\tif (this.parent == svgcontent) {\n
+\t\t\tidentifyLayers();\n
+\t\t}\t\t\n
+\t};\n
+\n
+\tthis.elements = function() { return [this.elem]; };\n
+}\n
+\n
+// this is created for an element that has or will be removed from the DOM\n
+// (creating this object does not remove the element from the DOM itself)\n
+function RemoveElementCommand(elem, parent, text) {\n
+\tthis.elem = elem;\n
+\tthis.text = text || ("Delete " + elem.tagName);\n
+\tthis.parent = parent;\n
+\n
+\tthis.apply = function() {\t\n
+\t\tif (svgTransformLists[this.elem.id]) {\n
+\t\t\tdelete svgTransformLists[this.elem.id];\n
+\t\t}\t\n
+\t\n
+\t\tthis.parent = this.elem.parentNode;\n
+\t\tthis.elem = this.parent.removeChild(this.elem);\n
+\t\tif (this.parent == svgcontent) {\n
+\t\t\tidentifyLayers();\n
+\t\t}\t\t\n
+\t};\n
+\n
+\tthis.unapply = function() { \n
+\t\tif (svgTransformLists[this.elem.id]) {\n
+\t\t\tdelete svgTransformLists[this.elem.id];\n
+\t\t}\n
+\n
+\t\tthis.elem = this.parent.insertBefore(this.elem, this.elem.nextSibling); \n
+\t\tif (this.parent == svgcontent) {\n
+\t\t\tidentifyLayers();\n
+\t\t}\t\t\n
+\t};\n
+\n
+\tthis.elements = function() { return [this.elem]; };\n
+\t\n
+\t// special hack for webkit: remove this element\'s entry in the svgTransformLists map\n
+\tif (svgTransformLists[elem.id]) {\n
+\t\tdelete svgTransformLists[elem.id];\n
+\t}\n
+\n
+}\n
+\n
+function MoveElementCommand(elem, oldNextSibling, oldParent, text) {\n
+\tthis.elem = elem;\n
+\tthis.text = text ? ("Move " + elem.tagName + " to " + text) : ("Move " + elem.tagName);\n
+\tthis.oldNextSibling = oldNextSibling;\n
+\tthis.oldParent = oldParent;\n
+\tthis.newNextSibling = elem.nextSibling;\n
+\tthis.newParent = elem.parentNode;\n
+\n
+\tthis.apply = function() {\n
+\t\tthis.elem = this.newParent.insertBefore(this.elem, this.newNextSibling);\n
+\t\tif (this.newParent == svgcontent) {\n
+\t\t\tidentifyLayers();\n
+\t\t}\n
+\t};\n
+\n
+\tthis.unapply = function() {\n
+\t\tthis.elem = this.oldParent.insertBefore(this.elem, this.oldNextSibling);\n
+\t\tif (this.oldParent == svgcontent) {\n
+\t\t\tidentifyLayers();\n
+\t\t}\n
+\t};\n
+\n
+\tthis.elements = function() { return [this.elem]; };\n
+}\n
+\n
+// TODO: create a \'typing\' command object that tracks changes in text\n
+// if a new Typing command is created and the top command on the stack is also a Typing\n
+// and they both affect the same element, then collapse the two commands into one\n
+\n
+// this command object acts an arbitrary number of subcommands \n
+function BatchCommand(text) {\n
+\tthis.text = text || "Batch Command";\n
+\tthis.stack = [];\n
+\n
+\tthis.apply = function() {\n
+\t\tvar len = this.stack.length;\n
+\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\tthis.stack[i].apply();\n
+\t\t}\n
+\t};\n
+\n
+\tthis.unapply = function() {\n
+\t\tfor (var i = this.stack.length-1; i >= 0; i--) {\n
+\t\t\tthis.stack[i].unapply();\n
+\t\t}\n
+\t};\n
+\n
+\tthis.elements = function() {\n
+\t\t// iterate through all our subcommands and find all the elements we are changing\n
+\t\tvar elems = [];\n
+\t\tvar cmd = this.stack.length;\n
+\t\twhile (cmd--) {\n
+\t\t\tvar thisElems = this.stack[cmd].elements();\n
+\t\t\tvar elem = thisElems.length;\n
+\t\t\twhile (elem--) {\n
+\t\t\t\tif (elems.indexOf(thisElems[elem]) == -1) elems.push(thisElems[elem]);\n
+\t\t\t}\n
+\t\t}\n
+\t\treturn elems; \n
+\t};\n
+\n
+\tthis.addSubCommand = function(cmd) { this.stack.push(cmd); };\n
+\n
+\tthis.isEmpty = function() { return this.stack.length == 0; };\n
+}\n
+\n
+// private members\n
+\n
+\t// **************************************************************************************\n
+\tfunction Selector(id, elem) {\n
+\t\t// this is the selector\'s unique number\n
+\t\tthis.id = id;\n
+\n
+\t\t// this holds a reference to the element for which this selector is being used\n
+\t\tthis.selectedElement = elem;\n
+\n
+\t\t// this is a flag used internally to track whether the selector is being used or not\n
+\t\tthis.locked = true;\n
+\n
+\t\t// this function is used to reset the id and element that the selector is attached to\n
+\t\tthis.reset = function(e, update) {\n
+\t\t\tthis.locked = true;\n
+\t\t\tthis.selectedElement = e;\n
+\t\t\tthis.resize();\n
+\t\t\tthis.selectorGroup.setAttribute("display", "inline");\n
+\t\t};\n
+\n
+\t\t// this holds a reference to the <g> element that holds all visual elements of the selector\n
+\t\tthis.selectorGroup = addSvgElementFromJson({ "element": "g",\n
+\t\t\t\t\t\t\t\t\t\t\t\t\t"attr": {"id": ("selectorGroup"+this.id)}\n
+\t\t\t\t\t\t\t\t\t\t\t\t\t});\n
+\n
+\t\t// this holds a reference to the path rect\n
+\t\tthis.selectorRect = this.selectorGroup.appendChild( addSvgElementFromJson({\n
+\t\t\t\t\t\t\t\t"element": "path",\n
+\t\t\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t\t\t"id": ("selectedBox"+this.id),\n
+\t\t\t\t\t\t\t\t\t"fill": "none",\n
+\t\t\t\t\t\t\t\t\t"stroke": "#22C",\n
+\t\t\t\t\t\t\t\t\t"stroke-width": "1",\n
+\t\t\t\t\t\t\t\t\t"stroke-dasharray": "5,5",\n
+\t\t\t\t\t\t\t\t\t// need to specify this so that the rect is not selectable\n
+\t\t\t\t\t\t\t\t\t"style": "pointer-events:none"\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t}) );\n
+\n
+\t\t// this holds a reference to the grip elements for this selector\n
+\t\tthis.selectorGrips = {\t"nw":null,\n
+\t\t\t\t\t\t\t\t"n":null,\n
+\t\t\t\t\t\t\t\t"ne":null,\n
+\t\t\t\t\t\t\t\t"e":null,\n
+\t\t\t\t\t\t\t\t"se":null,\n
+\t\t\t\t\t\t\t\t"s":null,\n
+\t\t\t\t\t\t\t\t"sw":null,\n
+\t\t\t\t\t\t\t\t"w":null\n
+\t\t\t\t\t\t\t\t};\n
+\t\tthis.rotateGripConnector = this.selectorGroup.appendChild( addSvgElementFromJson({\n
+\t\t\t\t\t\t\t"element": "line",\n
+\t\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t\t"id": ("selectorGrip_rotateconnector_" + this.id),\n
+\t\t\t\t\t\t\t\t"stroke": "#22C",\n
+\t\t\t\t\t\t\t\t"stroke-width": "1"\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}) );\n
+\t\t\t\t\t\t\n
+\t\tthis.rotateGrip = this.selectorGroup.appendChild( addSvgElementFromJson({\n
+\t\t\t\t\t\t\t"element": "circle",\n
+\t\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t\t"id": ("selectorGrip_rotate_" + this.id),\n
+\t\t\t\t\t\t\t\t"fill": "lime",\n
+\t\t\t\t\t\t\t\t"r": 4,\n
+\t\t\t\t\t\t\t\t"stroke": "#22C",\n
+\t\t\t\t\t\t\t\t"stroke-width": 2,\n
+\t\t\t\t\t\t\t\t"style": "cursor:url(" + curConfig.imgPath + "rotate.png) 12 12, auto;"\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}) );\n
+\t\t\n
+\t\t// add the corner grips\n
+\t\tfor (var dir in this.selectorGrips) {\n
+\t\t\tthis.selectorGrips[dir] = this.selectorGroup.appendChild( \n
+\t\t\t\taddSvgElementFromJson({\n
+\t\t\t\t\t"element": "circle",\n
+\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t"id": ("selectorGrip_resize_" + dir + "_" + this.id),\n
+\t\t\t\t\t\t"fill": "#22C",\n
+\t\t\t\t\t\t"r": 4,\n
+\t\t\t\t\t\t"style": ("cursor:" + dir + "-resize"),\n
+\t\t\t\t\t\t// This expands the mouse-able area of the grips making them\n
+\t\t\t\t\t\t// easier to grab with the mouse.\n
+\t\t\t\t\t\t// This works in Opera and WebKit, but does not work in Firefox\n
+\t\t\t\t\t\t// see https://bugzilla.mozilla.org/show_bug.cgi?id=500174\n
+\t\t\t\t\t\t"stroke-width": 2,\n
+\t\t\t\t\t\t"pointer-events":"all",\n
+\t\t\t\t\t\t"display":"none"\n
+\t\t\t\t\t}\n
+\t\t\t\t}) );\n
+\t\t}\n
+\n
+\t\tthis.showGrips = function(show) {\n
+\t\t\t// TODO: use suspendRedraw() here\n
+\t\t\tvar bShow = show ? "inline" : "none";\n
+\t\t\tthis.rotateGrip.setAttribute("display", bShow);\n
+\t\t\tthis.rotateGripConnector.setAttribute("display", bShow);\n
+\t\t\tvar elem = this.selectedElement;\n
+\t\t\tfor (var dir in this.selectorGrips) {\n
+\t\t\t\tthis.selectorGrips[dir].setAttribute("display", bShow);\n
+\t\t\t}\n
+\t\t\tif(elem) this.updateGripCursors(canvas.getRotationAngle(elem));\n
+\t\t};\n
+\t\t\n
+\t\t// Updates cursors for corner grips on rotation so arrows point the right way\n
+\t\tthis.updateGripCursors = function(angle) {\n
+\t\t\tvar dir_arr = [];\n
+\t\t\tvar steps = Math.round(angle / 45);\n
+\t\t\tif(steps < 0) steps += 8;\n
+\t\t\tfor (var dir in this.selectorGrips) {\n
+\t\t\t\tdir_arr.push(dir);\n
+\t\t\t}\n
+\t\t\twhile(steps > 0) {\n
+\t\t\t\tdir_arr.push(dir_arr.shift());\n
+\t\t\t\tsteps--;\n
+\t\t\t}\n
+\t\t\tvar i = 0;\n
+\t\t\tfor (var dir in this.selectorGrips) {\n
+\t\t\t\tthis.selectorGrips[dir].setAttribute(\'style\', ("cursor:" + dir_arr[i] + "-resize"));\n
+\t\t\t\ti++;\n
+\t\t\t};\n
+\t\t};\n
+\t\t\n
+\t\tthis.resize = function() {\n
+\t\t\tvar selectedBox = this.selectorRect,\n
+\t\t\t\tselectedGrips = this.selectorGrips,\n
+\t\t\t\tselected = this.selectedElement,\n
+\t\t\t\t sw = selected.getAttribute("stroke-width");\n
+\t\t\tvar offset = 1/current_zoom;\n
+\t\t\tif (selected.getAttribute("stroke") != "none" && !isNaN(sw)) {\n
+\t\t\t\toffset += (sw/2);\n
+\t\t\t}\n
+\t\t\tif (selected.tagName == "text") {\n
+\t\t\t\toffset += 2/current_zoom;\n
+\t\t\t}\n
+\t\t\tvar bbox = canvas.getBBox(selected);\n
+\t\t\tif(selected.tagName == \'g\') {\n
+\t\t\t\t// The bbox for a group does not include stroke vals, so we\n
+\t\t\t\t// get the bbox based on its children. \n
+\t\t\t\tvar stroked_bbox = canvas.getStrokedBBox(selected.childNodes);\n
+\t\t\t\t$.each(bbox, function(key, val) {\n
+\t\t\t\t\tbbox[key] = stroked_bbox[key];\n
+\t\t\t\t});\n
+\t\t\t}\n
+\n
+\t\t\t// loop and transform our bounding box until we reach our first rotation\n
+\t\t\tvar m = getMatrix(selected);\n
+\n
+\t\t\t// This should probably be handled somewhere else, but for now\n
+\t\t\t// it keeps the selection box correctly positioned when zoomed\n
+\t\t\tm.e *= current_zoom;\n
+\t\t\tm.f *= current_zoom;\n
+\t\t\t\n
+\t\t\t// apply the transforms\n
+\t\t\tvar l=bbox.x-offset, t=bbox.y-offset, w=bbox.width+(offset*2), h=bbox.height+(offset*2),\n
+\t\t\t\tbbox = {x:l, y:t, width:w, height:h};\n
+\t\t\t\n
+\t\t\t// we need to handle temporary transforms too\n
+\t\t\t// if skewed, get its transformed box, then find its axis-aligned bbox\n
+\t\t\t\n
+\t\t\t//*\n
+\t\t\tvar nbox = transformBox(l*current_zoom, t*current_zoom, w*current_zoom, h*current_zoom, m),\n
+\t\t\t\tnbax = nbox.aabox.x,\n
+\t\t\t\tnbay = nbox.aabox.y,\n
+\t\t\t\tnbaw = nbox.aabox.width,\n
+\t\t\t\tnbah = nbox.aabox.height;\n
+\t\t\t\t\n
+\t\t\t// now if the shape is rotated, un-rotate it\n
+\t\t\tvar cx = nbax + nbaw/2,\n
+\t\t\t\tcy = nbay + nbah/2;\n
+\t\t\tvar angle = canvas.getRotationAngle(selected);\n
+\t\t\tif (angle) {\n
+\t\t\t\t\n
+\t\t\t\tvar rot = svgroot.createSVGTransform();\n
+\t\t\t\trot.setRotate(-angle,cx,cy);\n
+\t\t\t\tvar rotm = rot.matrix;\n
+\t\t\t\tnbox.tl = transformPoint(nbox.tl.x,nbox.tl.y,rotm);\n
+\t\t\t\tnbox.tr = transformPoint(nbox.tr.x,nbox.tr.y,rotm);\n
+\t\t\t\tnbox.bl = transformPoint(nbox.bl.x,nbox.bl.y,rotm);\n
+\t\t\t\tnbox.br = transformPoint(nbox.br.x,nbox.br.y,rotm);\n
+\t\t\t\t\n
+\t\t\t\t// calculate the axis-aligned bbox\n
+\t\t\t\tvar minx = nbox.tl.x,\n
+\t\t\t\t\tminy = nbox.tl.y,\n
+\t\t\t\t\tmaxx = nbox.tl.x,\n
+\t\t\t\t\tmaxy = nbox.tl.y;\n
+\t\t\t\t\n
+\t\t\t\tminx = Math.min(minx, Math.min(nbox.tr.x, Math.min(nbox.bl.x, nbox.br.x) ) );\n
+\t\t\t\tminy = Math.min(miny, Math.min(nbox.tr.y, Math.min(nbox.bl.y, nbox.br.y) ) );\n
+\t\t\t\tmaxx = Math.max(maxx, Math.max(nbox.tr.x, Math.max(nbox.bl.x, nbox.br.x) ) );\n
+\t\t\t\tmaxy = Math.max(maxy, Math.max(nbox.tr.y, Math.max(nbox.bl.y, nbox.br.y) ) );\n
+\t\t\t\t\n
+\t\t\t\tnbax = minx;\n
+\t\t\t\tnbay = miny;\n
+\t\t\t\tnbaw = (maxx-minx);\n
+\t\t\t\tnbah = (maxy-miny);\n
+\t\t\t}\n
+\n
+\t\t\tvar sr_handle = svgroot.suspendRedraw(100);\n
+\n
+\t\t\tvar dstr = "M" + nbax + "," + nbay\n
+\t\t\t\t\t\t+ " L" + (nbax+nbaw) + "," + nbay\n
+\t\t\t\t\t\t+ " " + (nbax+nbaw) + "," + (nbay+nbah)\n
+\t\t\t\t\t\t+ " " + nbax + "," + (nbay+nbah) + "z";\n
+\t\t\tassignAttributes(selectedBox, {\'d\': dstr});\n
+\t\t\t\n
+\t\t\tvar gripCoords = {\n
+\t\t\t\tnw: [nbax, nbay],\n
+\t\t\t\tne: [nbax+nbaw, nbay],\n
+\t\t\t\tsw: [nbax, nbay+nbah],\n
+\t\t\t\tse: [nbax+nbaw, nbay+nbah],\n
+\t\t\t\tn:  [nbax + (nbaw)/2, nbay],\n
+\t\t\t\tw:\t[nbax, nbay + (nbah)/2],\n
+\t\t\t\te:\t[nbax + nbaw, nbay + (nbah)/2],\n
+\t\t\t\ts:\t[nbax + (nbaw)/2, nbay + nbah]\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\tif(selected == selectedElements[0]) {\n
+\t\t\t\tfor(var dir in gripCoords) {\n
+\t\t\t\t\tvar coords = gripCoords[dir];\n
+\t\t\t\t\tassignAttributes(selectedGrips[dir], {\n
+\t\t\t\t\t\tcx: coords[0], cy: coords[1]\n
+\t\t\t\t\t});\n
+\t\t\t\t};\n
+\t\t\t}\n
+\n
+\t\t\tif (angle) {\n
+\t\t\t\tthis.selectorGroup.setAttribute("transform", "rotate(" + [angle,cx,cy].join(",") + ")");\n
+\t\t\t}\n
+\t\t\telse {\n
+\t\t\t\tthis.selectorGroup.setAttribute("transform", "");\n
+\t\t\t}\n
+\n
+\t\t\t// we want to go 20 pixels in the negative transformed y direction, ignoring scale\n
+\t\t\tassignAttributes(this.rotateGripConnector, { x1: nbax + (nbaw)/2, \n
+\t\t\t\t\t\t\t\t\t\t\t\t\t\ty1: nbay, \n
+\t\t\t\t\t\t\t\t\t\t\t\t\t\tx2: nbax + (nbaw)/2, \n
+\t\t\t\t\t\t\t\t\t\t\t\t\t\ty2: nbay- 20});\n
+\t\t\tassignAttributes(this.rotateGrip, { cx: nbax + (nbaw)/2, \n
+\t\t\t\t\t\t\t\t\t\t\t\tcy: nbay - 20 });\n
+\t\t\t\n
+\t\t\tsvgroot.unsuspendRedraw(sr_handle);\n
+\t\t};\n
+\n
+\t\t// now initialize the selector\n
+\t\tthis.reset(elem);\n
+\t};\n
+\n
+\tfunction SelectorManager() {\n
+\n
+\t\t// this will hold the <g> element that contains all selector rects/grips\n
+\t\tthis.selectorParentGroup = null;\n
+\n
+\t\t// this is a special rect that is used for multi-select\n
+\t\tthis.rubberBandBox = null;\n
+\n
+\t\t// this will hold objects of type Selector (see above)\n
+\t\tthis.selectors = [];\n
+\n
+\t\t// this holds a map of SVG elements to their Selector object\n
+\t\tthis.selectorMap = {};\n
+\n
+\t\t// local reference to this object\n
+\t\tvar mgr = this;\n
+\n
+\t\tthis.initGroup = function() {\n
+\t\t\t// remove old selector parent group if it existed\n
+\t\t\tif (mgr.selectorParentGroup && mgr.selectorParentGroup.parentNode) {\n
+\t\t\t\tmgr.selectorParentGroup.parentNode.removeChild(mgr.selectorParentGroup);\n
+\t\t\t}\n
+\t\t\t// create parent selector group and add it to svgroot\n
+\t\t\tmgr.selectorParentGroup = svgdoc.createElementNS(svgns, "g");\n
+\t\t\tmgr.selectorParentGroup.setAttribute("id", "selectorParentGroup");\n
+\t\t\tsvgroot.appendChild(mgr.selectorParentGroup);\n
+\t\t\tmgr.selectorMap = {};\n
+\t\t\tmgr.selectors = [];\n
+\t\t\tmgr.rubberBandBox = null;\n
+\t\t\t\n
+\t\t\tif($("#canvasBackground").length) return;\n
+\n
+\t\t\tvar canvasbg = svgdoc.createElementNS(svgns, "svg");\n
+\t\t\tvar dims = curConfig.dimensions;\n
+\t\t\tassignAttributes(canvasbg, {\n
+\t\t\t\t\'id\':\'canvasBackground\',\n
+\t\t\t\t\'width\': dims[0],\n
+\t\t\t\t\'height\': dims[1],\n
+\t\t\t\t\'x\': 0,\n
+\t\t\t\t\'y\': 0,\n
+\t\t\t\t\'overflow\': \'visible\',\n
+\t\t\t\t\'style\': \'pointer-events:none\'\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\tvar rect = svgdoc.createElementNS(svgns, "rect");\n
+\t\t\tassignAttributes(rect, {\n
+\t\t\t\t\'width\': \'100%\',\n
+\t\t\t\t\'height\': \'100%\',\n
+\t\t\t\t\'x\': 0,\n
+\t\t\t\t\'y\': 0,\n
+\t\t\t\t\'stroke-width\': 1,\n
+\t\t\t\t\'stroke\': \'#000\',\n
+\t\t\t\t\'fill\': \'#FFF\',\n
+\t\t\t\t\'style\': \'pointer-events:none\'\n
+\t\t\t});\n
+\t\t\t// Both Firefox and WebKit are too slow with this filter region (especially at higher\n
+\t\t\t// zoom levels) and Opera has at least one bug\n
+//\t\t\tif (!window.opera) rect.setAttribute(\'filter\', \'url(#canvashadow)\');\n
+\t\t\tcanvasbg.appendChild(rect);\n
+\t\t\tsvgroot.insertBefore(canvasbg, svgcontent);\n
+\t\t};\n
+\n
+\t\tthis.requestSelector = function(elem) {\n
+\t\t\tif (elem == null) return null;\n
+\t\t\tvar N = this.selectors.length;\n
+\t\t\t// if we\'ve already acquired one for this element, return it\n
+\t\t\tif (typeof(this.selectorMap[elem.id]) == "object") {\n
+\t\t\t\tthis.selectorMap[elem.id].locked = true;\n
+\t\t\t\treturn this.selectorMap[elem.id];\n
+\t\t\t}\n
+\t\t\tfor (var i = 0; i < N; ++i) {\n
+\t\t\t\tif (this.selectors[i] && !this.selectors[i].locked) {\n
+\t\t\t\t\tthis.selectors[i].locked = true;\n
+\t\t\t\t\tthis.selectors[i].reset(elem);\n
+\t\t\t\t\tthis.selectorMap[elem.id] = this.selectors[i];\n
+\t\t\t\t\treturn this.selectors[i];\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t// if we reached here, no available selectors were found, we create one\n
+\t\t\tthis.selectors[N] = new Selector(N, elem);\n
+\t\t\tthis.selectorParentGroup.appendChild(this.selectors[N].selectorGroup);\n
+\t\t\tthis.selectorMap[elem.id] = this.selectors[N];\n
+\t\t\treturn this.selectors[N];\n
+\t\t};\n
+\t\tthis.releaseSelector = function(elem) {\n
+\t\t\tif (elem == null) return;\n
+\t\t\tvar N = this.selectors.length,\n
+\t\t\t\tsel = this.selectorMap[elem.id];\n
+\t\t\tfor (var i = 0; i < N; ++i) {\n
+\t\t\t\tif (this.selectors[i] && this.selectors[i] == sel) {\n
+\t\t\t\t\tif (sel.locked == false) {\n
+\t\t\t\t\t\tconsole.log("WARNING! selector was released but was already unlocked");\n
+\t\t\t\t\t}\n
+\t\t\t\t\tdelete this.selectorMap[elem.id];\n
+\t\t\t\t\tsel.locked = false;\n
+\t\t\t\t\tsel.selectedElement = null;\n
+\t\t\t\t\tsel.showGrips(false);\n
+\n
+\t\t\t\t\t// remove from DOM and store reference in JS but only if it exists in the DOM\n
+\t\t\t\t\ttry {\n
+\t\t\t\t\t\tsel.selectorGroup.setAttribute("display", "none");\n
+\t\t\t\t\t} catch(e) { }\n
+\n
+\t\t\t\t\tbreak;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t};\n
+\n
+\t\tthis.getRubberBandBox = function() {\n
+\t\t\tif (this.rubberBandBox == null) {\n
+\t\t\t\tthis.rubberBandBox = this.selectorParentGroup.appendChild(\n
+\t\t\t\t\t\taddSvgElementFromJson({ "element": "rect",\n
+\t\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t\t"id": "selectorRubberBand",\n
+\t\t\t\t\t\t\t\t"fill": "#22C",\n
+\t\t\t\t\t\t\t\t"fill-opacity": 0.15,\n
+\t\t\t\t\t\t\t\t"stroke": "#22C",\n
+\t\t\t\t\t\t\t\t"stroke-width": 0.5,\n
+\t\t\t\t\t\t\t\t"display": "none",\n
+\t\t\t\t\t\t\t\t"style": "pointer-events:none"\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}));\n
+\t\t\t}\n
+\t\t\treturn this.rubberBandBox;\n
+\t\t};\n
+\n
+\t\tthis.initGroup();\n
+\t}\n
+\t// **************************************************************************************\n
+\n
+\t// **************************************************************************************\n
+\t// SVGTransformList implementation for Webkit \n
+\t// These methods do not currently raise any exceptions.\n
+\t// These methods also do not check that transforms are being inserted or handle if\n
+\t// a transform is already in the list, etc.  This is basically implementing as much\n
+\t// of SVGTransformList that we need to get the job done.\n
+\t//\n
+\t//  interface SVGEditTransformList { \n
+\t//\t\tattribute unsigned long numberOfItems;\n
+\t//\t\tvoid   clear (  )\n
+\t//\t\tSVGTransform initialize ( in SVGTransform newItem )\n
+\t//\t\tSVGTransform getItem ( in unsigned long index )\n
+\t//\t\tSVGTransform insertItemBefore ( in SVGTransform newItem, in unsigned long index )\n
+\t//\t\tSVGTransform replaceItem ( in SVGTransform newItem, in unsigned long index )\n
+\t//\t\tSVGTransform removeItem ( in unsigned long index )\n
+\t//\t\tSVGTransform appendItem ( in SVGTransform newItem )\n
+\t//\t\tNOT IMPLEMENTED: SVGTransform createSVGTransformFromMatrix ( in SVGMatrix matrix );\n
+\t//\t\tNOT IMPLEMENTED: SVGTransform consolidate (  );\n
+\t//\t}\n
+\t// **************************************************************************************\n
+\tvar svgTransformLists = {};\n
+\tvar SVGEditTransformList = function(elem) {\n
+\t\tthis._elem = elem || null;\n
+\t\tthis._xforms = [];\n
+\t\t// TODO: how do we capture the undo-ability in the changed transform list?\n
+\t\tthis._update = function() {\n
+\t\t\tvar tstr = "";\n
+\t\t\tvar concatMatrix = svgroot.createSVGMatrix();\n
+\t\t\tfor (var i = 0; i < this.numberOfItems; ++i) {\n
+\t\t\t\tvar xform = this._list.getItem(i);\n
+\t\t\t\ttstr += transformToObj(xform).text + " ";\n
+\t\t\t}\n
+\t\t\tthis._elem.setAttribute("transform", tstr);\n
+\t\t};\n
+\t\tthis._list = this;\n
+\t\tthis._init = function() {\n
+\t\t\t// Transform attribute parser\n
+\t\t\tvar str = this._elem.getAttribute("transform");\n
+\t\t\tif(!str) return;\n
+\t\t\t\n
+\t\t\t// TODO: Add skew support in future\n
+\t\t\tvar re = /\\s*((scale|matrix|rotate|translate)\\s*\\(.*?\\))\\s*,?\\s*/;\n
+\t\t\tvar arr = [];\n
+\t\t\tvar m = true;\n
+\t\t\twhile(m) {\n
+\t\t\t\tm = str.match(re);\n
+\t\t\t\tstr = str.replace(re,\'\');\n
+\t\t\t\tif(m && m[1]) {\n
+\t\t\t\t\tvar x = m[1];\n
+\t\t\t\t\tvar bits = x.split(/\\s*\\(/);\n
+\t\t\t\t\tvar name = bits[0];\n
+\t\t\t\t\tvar val_bits = bits[1].match(/\\s*(.*?)\\s*\\)/);\n
+\t\t\t\t\tvar val_arr = val_bits[1].split(/[, ]+/);\n
+\t\t\t\t\tvar letters = \'abcdef\'.split(\'\');\n
+\t\t\t\t\tvar mtx = svgroot.createSVGMatrix();\n
+\t\t\t\t\t$.each(val_arr, function(i, item) {\n
+\t\t\t\t\t\tval_arr[i] = parseFloat(item);\n
+\t\t\t\t\t\tif(name == \'matrix\') {\n
+\t\t\t\t\t\t\tmtx[letters[i]] = val_arr[i];\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\tvar xform = svgroot.createSVGTransform();\n
+\t\t\t\t\tvar fname = \'set\' + name.charAt(0).toUpperCase() + name.slice(1);\n
+\t\t\t\t\tvar values = name==\'matrix\'?[mtx]:val_arr;\n
+\t\t\t\t\txform[fname].apply(xform, values);\n
+\t\t\t\t\tthis._list.appendItem(xform);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\tthis.numberOfItems = 0;\n
+\t\tthis.clear = function() { \n
+\t\t\tthis.numberOfItems = 0;\n
+\t\t\tthis._xforms = [];\n
+\t\t};\n
+\t\t\n
+\t\tthis.initialize = function(newItem) {\n
+\t\t\tthis.numberOfItems = 1;\n
+\t\t\tthis._xforms = [newItem];\n
+\t\t};\n
+\t\t\n
+\t\tthis.getItem = function(index) {\n
+\t\t\tif (index < this.numberOfItems && index >= 0) {\n
+\t\t\t\treturn this._xforms[index];\n
+\t\t\t}\n
+\t\t\treturn null;\n
+\t\t};\n
+\t\t\n
+\t\tthis.insertItemBefore = function(newItem, index) {\n
+\t\t\tvar retValue = null;\n
+\t\t\tif (index >= 0) {\n
+\t\t\t\tif (index < this.numberOfItems) {\n
+\t\t\t\t\tvar newxforms = new Array(this.numberOfItems + 1);\n
+\t\t\t\t\t// TODO: use array copying and slicing\n
+\t\t\t\t\tfor ( var i = 0; i < index; ++i) {\n
+\t\t\t\t\t\tnewxforms[i] = this._xforms[i];\n
+\t\t\t\t\t}\n
+\t\t\t\t\tnewxforms[i] = newItem;\n
+\t\t\t\t\tfor ( var j = i+1; i < this.numberOfItems; ++j, ++i) {\n
+\t\t\t\t\t\tnewxforms[j] = this._xforms[i];\n
+\t\t\t\t\t}\n
+\t\t\t\t\tthis.numberOfItems++;\n
+\t\t\t\t\tthis._xforms = newxforms;\n
+\t\t\t\t\tretValue = newItem;\n
+\t\t\t\t\tthis._list._update();\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\tretValue = this._list.appendItem(newItem);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\treturn retValue;\n
+\t\t};\n
+\t\t\n
+\t\tthis.replaceItem = function(newItem, index) {\n
+\t\t\tvar retValue = null;\n
+\t\t\tif (index < this.numberOfItems && index >= 0) {\n
+\t\t\t\tthis._xforms[index] = newItem;\n
+\t\t\t\tretValue = newItem;\n
+\t\t\t\tthis._list._update();\n
+\t\t\t}\n
+\t\t\treturn retValue;\n
+\t\t};\n
+\t\t\n
+\t\tthis.removeItem = function(index) {\n
+\t\t\tvar retValue = null;\n
+\t\t\tif (index < this.numberOfItems && index >= 0) {\n
+\t\t\t\tvar retValue = this._xforms[index];\n
+\t\t\t\tvar newxforms = new Array(this.numberOfItems - 1);\n
+\t\t\t\tfor (var i = 0; i < index; ++i) {\n
+\t\t\t\t\tnewxforms[i] = this._xforms[i];\n
+\t\t\t\t}\n
+\t\t\t\tfor (var j = i; j < this.numberOfItems-1; ++j, ++i) {\n
+\t\t\t\t\tnewxforms[j] = this._xforms[i+1];\n
+\t\t\t\t}\n
+\t\t\t\tthis.numberOfItems--;\n
+\t\t\t\tthis._xforms = newxforms;\n
+\t\t\t\tthis._list._update();\n
+\t\t\t}\n
+\t\t\treturn retValue;\n
+\t\t};\n
+\t\t\n
+\t\tthis.appendItem = function(newItem) {\n
+\t\t\tthis._xforms.push(newItem);\n
+\t\t\tthis.numberOfItems++;\n
+\t\t\tthis._list._update();\n
+\t\t\treturn newItem;\n
+\t\t};\n
+\t};\n
+\t// **************************************************************************************\n
+\n
+\tvar addSvgElementFromJson = function(data) {\n
+\t\treturn canvas.updateElementFromJson(data)\n
+\t};\n
+\n
+\t// TODO: declare the variables and set them as null, then move this setup stuff to\n
+\t// an initialization function - probably just use clear()\n
+\t\n
+\tvar canvas = this,\n
+\t\tsvgns = "http://www.w3.org/2000/svg",\n
+\t\txlinkns = "http://www.w3.org/1999/xlink",\n
+\t\txmlns = "http://www.w3.org/XML/1998/namespace",\n
+\t\txmlnsns = "http://www.w3.org/2000/xmlns/", // see http://www.w3.org/TR/REC-xml-names/#xmlReserved\n
+\t\tse_ns = "http://svg-edit.googlecode.com",\n
+\t\thtmlns = "http://www.w3.org/1999/xhtml",\n
+\t\tmathns = "http://www.w3.org/1998/Math/MathML",\n
+\t\tidprefix = "svg_",\n
+\t\tsvgdoc  = container.ownerDocument,\n
+\t\tdimensions = curConfig.dimensions,\n
+\t\tsvgroot = svgdoc.importNode(Utils.text2xml(\'<svg id="svgroot" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" \' +\n
+\t\t\t\t\t\t\'width="\' + dimensions[0] + \'" height="\' + dimensions[1] + \'" x="\' + dimensions[0] + \'" y="\' + dimensions[1] + \'" overflow="visible">\' +\n
+\t\t\t\t\t\t\'<defs>\' +\n
+\t\t\t\t\t\t\t\'<filter id="canvashadow" filterUnits="objectBoundingBox">\' +\n
+\t\t\t\t\t\t\t\t\'<feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/>\'+\n
+\t\t\t\t\t\t\t\t\'<feOffset in="blur" dx="5" dy="5" result="offsetBlur"/>\'+\n
+\t\t\t\t\t\t\t\t\'<feMerge>\'+\n
+\t\t\t\t\t\t\t\t\t\'<feMergeNode in="offsetBlur"/>\'+\n
+\t\t\t\t\t\t\t\t\t\'<feMergeNode in="SourceGraphic"/>\'+\n
+\t\t\t\t\t\t\t\t\'</feMerge>\'+\n
+\t\t\t\t\t\t\t\'</filter>\'+\n
+\t\t\t\t\t\t\'</defs>\'+\n
+\t\t\t\t\t\'</svg>\').documentElement, true);\n
+\t\t\n
+\t\t$(svgroot).appendTo(container);\n
+\t\tvar opac_ani = document.createElementNS(svgns, \'animate\');\n
+ \t\t$(opac_ani).attr({\n
+ \t\t\tattributeName: \'opacity\',\n
+ \t\t\tbegin: \'indefinite\',\n
+ \t\t\tdur: 1,\n
+ \t\t\tfill: \'freeze\'\n
+ \t\t}).appendTo(svgroot);\n
+\t\n
+    //nonce to uniquify id\'s\n
+    var nonce = Math.floor(Math.random()*100001);\n
+    var randomize_ids = false;\n
+    \n
+\t// map namespace URIs to prefixes\n
+\tvar nsMap = {};\n
+\tnsMap[xlinkns] = \'xlink\';\n
+\tnsMap[xmlns] = \'xml\';\n
+\tnsMap[xmlnsns] = \'xmlns\';\n
+\tnsMap[se_ns] = \'se\';\n
+\tnsMap[htmlns] = \'xhtml\';\n
+\tnsMap[mathns] = \'mathml\';\n
+\n
+\t// map prefixes to namespace URIs\n
+\tvar nsRevMap = {};\n
+\t$.each(nsMap, function(key,value){\n
+\t\tnsRevMap[value] = key;\n
+    });\n
+\n
+\t// Produce a Namespace-aware version of svgWhitelist\n
+\tvar svgWhiteListNS = {};\n
+    $.each(svgWhiteList, function(elt,atts){\n
+\t\tvar attNS = {};\n
+\t\t$.each(atts, function(i, att){\n
+\t\t\tif (att.indexOf(\':\') != -1) {\n
+\t\t\t\tvar v = att.split(\':\');\n
+\t\t\t\tattNS[v[1]] = nsRevMap[v[0]];\n
+\t\t\t} else {\n
+\t\t\t\tattNS[att] = att == \'xmlns\' ? xmlnsns : null;\n
+\t\t\t}\n
+\t\t});\n
+\t\tsvgWhiteListNS[elt] = attNS;\n
+\t});\n
+\t\n
+\tvar svgcontent = svgdoc.createElementNS(svgns, "svg");\n
+\t$(svgcontent).attr({\n
+\t\tid: \'svgcontent\',\n
+\t\twidth: dimensions[0],\n
+\t\theight: dimensions[1],\n
+\t\tx: dimensions[0],\n
+\t\ty: dimensions[1],\n
+\t\toverflow: curConfig.show_outside_canvas?\'visible\':\'hidden\',\n
+\t\txmlns: svgns,\n
+\t\t"xmlns:se": se_ns,\n
+\t\t"xmlns:xlink": xlinkns\n
+\t}).appendTo(svgroot);\n
+\tif (randomize_ids) svgcontent.setAttributeNS(se_ns, \'se:nonce\', nonce);\n
+\n
+\tvar convertToNum, convertToUnit, setUnitAttr;\n
+\t\n
+\t(function() {\n
+\t\tvar w_attrs = [\'x\', \'x1\', \'cx\', \'rx\', \'width\'];\n
+\t\tvar h_attrs = [\'y\', \'y1\', \'cy\', \'ry\', \'height\'];\n
+\t\tvar unit_attrs = $.merge([\'r\',\'radius\'], w_attrs);\n
+\t\t$.merge(unit_attrs, h_attrs);\n
+\t\t\n
+\t\t// Converts given values to numbers. Attributes must be supplied in \n
+\t\t// case a percentage is given\n
+\t\tconvertToNum = function(attr, val) {\n
+\t\t\t// Return a number if that\'s what it already is\n
+\t\t\tif(!isNaN(val)) return val-0;\n
+\t\t\t\n
+\t\t\tif(val.substr(-1) === \'%\') {\n
+\t\t\t\t// Deal with percentage, depends on attribute\n
+\t\t\t\tvar num = val.substr(0, val.length-1)/100;\n
+\t\t\t\tvar res = canvas.getResolution();\n
+\t\t\t\t\n
+\t\t\t\tif($.inArray(attr, w_attrs) !== -1) {\n
+\t\t\t\t\treturn num * res.w;\n
+\t\t\t\t} else if($.inArray(attr, h_attrs) !== -1) {\n
+\t\t\t\t\treturn num * res.h;\n
+\t\t\t\t} else {\n
+\t\t\t\t\treturn num * Math.sqrt((res.w*res.w) + (res.h*res.h))/Math.sqrt(2);\n
+\t\t\t\t}\n
+\t\t\t} else {\n
+\t\t\t\tvar unit = val.substr(-2);\n
+\t\t\t\tvar num = val.substr(0, val.length-2);\n
+\t\t\t\t// Note that this multiplication turns the string into a number\n
+\t\t\t\treturn num * unit_types[unit];\n
+\t\t\t}\n
+\t\t};\n
+\t\t\n
+\t\tsetUnitAttr = function(elem, attr, val) {\n
+\t\t\tif(!isNaN(val)) {\n
+\t\t\t\t// New value is a number, so check currently used unit\n
+\t\t\t\tvar old_val = elem.getAttribute(attr);\n
+\t\t\t\t\n
+\t\t\t\tif(old_val !== null && isNaN(old_val)) {\n
+\t\t\t\t\t// Old value was a number, so get unit, then convert\n
+\t\t\t\t\tvar unit;\n
+\t\t\t\t\tif(old_val.substr(-1) === \'%\') {\n
+\t\t\t\t\t\tvar res = canvas.getResolution();\n
+\t\t\t\t\t\tunit = \'%\';\n
+\t\t\t\t\t\tval *= 100;\n
+\t\t\t\t\t\tif($.inArray(attr, w_attrs) !== -1) {\n
+\t\t\t\t\t\t\tval = val / res.w;\n
+\t\t\t\t\t\t} else if($.inArray(attr, h_attrs) !== -1) {\n
+\t\t\t\t\t\t\tval = val / res.h;\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\treturn val / Math.sqrt((res.w*res.w) + (res.h*res.h))/Math.sqrt(2);\n
+\t\t\t\t\t\t}\n
+\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tunit = old_val.substr(-2);\n
+\t\t\t\t\t\tval = val / unit_types[unit];\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tval += unit;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\telem.setAttribute(attr, val);\n
+\t\t}\n
+\t\t\n
+\t\tcanvas.isValidUnit = function(attr, val) {\n
+\t\t\tvar valid = false;\n
+\t\t\tif($.inArray(attr, unit_attrs) != -1) {\n
+\t\t\t\t// True if it\'s just a number\n
+\t\t\t\tif(!isNaN(val)) {\n
+\t\t\t\t\tvalid = true;\n
+\t\t\t\t} else {\n
+\t\t\t\t// Not a number, check if it has a valid unit\n
+\t\t\t\t\tval = val.toLowerCase();\n
+\t\t\t\t\t$.each(unit_types, function(unit) {\n
+\t\t\t\t\t\tif(valid) return;\n
+\t\t\t\t\t\tvar re = new RegExp(\'^-?[\\\\d\\\\.]+\' + unit + \'$\');\n
+\t\t\t\t\t\tif(re.test(val)) valid = true;\n
+\t\t\t\t\t});\n
+\t\t\t\t}\n
+\t\t\t} else if (attr == "id") {\n
+\t\t\t\t// if we\'re trying to change the id, make sure it\'s not already present in the doc\n
+\t\t\t\t// and the id value is valid.\n
+\n
+\t\t\t\tvar result = false;\n
+\t\t\t\t// because getElem() can throw an exception in the case of an invalid id\n
+\t\t\t\t// (according to http://www.w3.org/TR/xml-id/ IDs must be a NCName)\n
+\t\t\t\t// we wrap it in an exception and only return true if the ID was valid and\n
+\t\t\t\t// not already present\n
+\t\t\t\ttry {\n
+\t\t\t\t\tvar elem = getElem(val);\n
+\t\t\t\t\tresult = (elem == null);\n
+\t\t\t\t} catch(e) {}\n
+\t\t\t\treturn result;\n
+\t\t\t} else valid = true;\t\t\t\n
+\t\t\t\n
+\t\t\treturn valid;\n
+\t\t}\n
+\t\t\n
+\t})();\n
+\n
+\tvar assignAttributes = function(node, attrs, suspendLength, unitCheck) {\n
+\t\tif(!suspendLength) suspendLength = 0;\n
+\t\t// Opera has a problem with suspendRedraw() apparently\n
+\t\tvar handle = null;\n
+\t\tif (!window.opera) svgroot.suspendRedraw(suspendLength);\n
+\n
+\t\tfor (var i in attrs) {\n
+\t\t\tvar ns = (i.substr(0,4) == "xml:" ? xmlns : \n
+\t\t\t\ti.substr(0,6) == "xlink:" ? xlinkns : null);\n
+\t\t\t\t\n
+\t\t\tif(ns || !unitCheck) {\n
+\t\t\t\tnode.setAttributeNS(ns, i, attrs[i]);\n
+\t\t\t} else {\n
+\t\t\t\tsetUnitAttr(node, i, attrs[i]);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t}\n
+\t\t\n
+\t\tif (!window.opera) svgroot.unsuspendRedraw(handle);\n
+\t};\n
+\n
+\t// remove unneeded attributes\n
+\t// makes resulting SVG smaller\n
+\tvar cleanupElement = function(element) {\n
+\t\tvar handle = svgroot.suspendRedraw(60);\n
+\t\tvar defaults = {\n
+\t\t\t\'fill-opacity\':1,\n
+\t\t\t\'stop-opacity\':1,\n
+\t\t\t\'opacity\':1,\n
+\t\t\t\'stroke\':\'none\',\n
+\t\t\t\'stroke-dasharray\':\'none\',\n
+\t\t\t\'stroke-linejoin\':\'miter\',\n
+\t\t\t\'stroke-linecap\':\'butt\',\n
+\t\t\t\'stroke-opacity\':1,\n
+\t\t\t\'stroke-width\':1,\n
+\t\t\t\'rx\':0,\n
+\t\t\t\'ry\':0\n
+\t\t}\n
+\t\tfor(var attr in defaults) {\n
+\t\t\tvar val = defaults[attr];\n
+\t\t\tif(element.getAttribute(attr) == val) {\n
+\t\t\t\telement.removeAttribute(attr);\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\tsvgroot.unsuspendRedraw(handle);\n
+\t};\n
+\n
+\tthis.updateElementFromJson = function(data) {\n
+\t\tvar shape = getElem(data.attr.id);\n
+\t\t// if shape is a path but we need to create a rect/ellipse, then remove the path\n
+\t\tif (shape && data.element != shape.tagName) {\n
+\t\t\tcurrent_layer.removeChild(shape);\n
+\t\t\tshape = null;\n
+\t\t}\n
+\t\tif (!shape) {\n
+\t\t\tshape = svgdoc.createElementNS(svgns, data.element);\n
+\t\t\tif (current_layer) {\n
+\t\t\t\tcurrent_layer.appendChild(shape);\n
+\t\t\t}\n
+\t\t}\n
+\t\tif(data.curStyles) {\n
+\t\t\tassignAttributes(shape, {\n
+\t\t\t\t"fill": cur_shape.fill,\n
+\t\t\t\t"stroke": cur_shape.stroke,\n
+\t\t\t\t"stroke-width": cur_shape.stroke_width,\n
+\t\t\t\t"stroke-dasharray": cur_shape.stroke_dasharray,\n
+\t\t\t\t"stroke-linejoin": cur_shape.stroke_linejoin,\n
+\t\t\t\t"stroke-linecap": cur_shape.stroke_linecap,\n
+\t\t\t\t"stroke-opacity": cur_shape.stroke_opacity,\n
+\t\t\t\t"fill-opacity": cur_shape.fill_opacity,\n
+\t\t\t\t"opacity": cur_shape.opacity / 2,\n
+\t\t\t\t"style": "pointer-events:inherit"\n
+\t\t\t}, 100);\n
+\t\t}\n
+\t\tassignAttributes(shape, data.attr, 100);\n
+\t\tcleanupElement(shape);\n
+\t\treturn shape;\n
+\t};\n
+\n
+\t(function() {\n
+\t\t// TODO: make this string optional and set by the client\n
+\t\tvar comment = svgdoc.createComment(" Created with SVG-edit - http://svg-edit.googlecode.com/ ");\n
+\t\tsvgcontent.appendChild(comment);\n
+\n
+\t\t// TODO For Issue 208: this is a start on a thumbnail\n
+\t\t//\tvar svgthumb = svgdoc.createElementNS(svgns, "use");\n
+\t\t//\tsvgthumb.setAttribute(\'width\', \'100\');\n
+\t\t//\tsvgthumb.setAttribute(\'height\', \'100\');\n
+\t\t//\tsvgthumb.setAttributeNS(xlinkns, \'href\', \'#svgcontent\');\n
+\t\t//\tsvgroot.appendChild(svgthumb);\n
+\n
+\t})();\n
+\t// z-ordered array of tuples containing layer names and <g> elements\n
+\t// the first layer is the one at the bottom of the rendering\n
+\tvar all_layers = [],\n
+\t\tencodableImages = {},\n
+\t\tlast_good_img_url = curConfig.imgPath + \'logo.png\',\n
+\t\t// pointer to the current layer <g>\n
+\t\tcurrent_layer = null,\n
+\t\tsave_options = {round_digits: 5},\n
+\t\tstarted = false,\n
+\t\tobj_num = 1,\n
+\t\tstart_transform = null,\n
+\t\tcurrent_mode = "select",\n
+\t\tcurrent_resize_mode = "none",\n
+\t\tall_properties = {\n
+\t\t\tshape: {\n
+\t\t\t\tfill: "#" + curConfig.initFill.color,\n
+\t\t\t\tfill_paint: null,\n
+\t\t\t\tfill_opacity: curConfig.initFill.opacity,\n
+\t\t\t\tstroke: "#" + curConfig.initStroke.color,\n
+\t\t\t\tstroke_paint: null,\n
+\t\t\t\tstroke_opacity: curConfig.initStroke.opacity,\n
+\t\t\t\tstroke_width: curConfig.initStroke.width,\n
+\t\t\t\tstroke_dasharray: \'none\',\n
+\t\t\t\tstroke_linejoin: \'miter\',\n
+\t\t\t\tstroke_linecap: \'butt\',\n
+\t\t\t\topacity: curConfig.initOpacity\n
+\t\t\t}\n
+\t\t};\n
+\t\n
+\tall_properties.text = $.extend(true, {}, all_properties.shape);\n
+\t$.extend(all_properties.text, {\n
+\t\tfill: "#000000",\n
+\t\tstroke_width: 0,\n
+\t\tfont_size: 24,\n
+\t\tfont_family: \'serif\'\n
+\t});\n
+\n
+\tvar cur_shape = all_properties.shape,\n
+\t\tcur_text = all_properties.text,\n
+\t\tcur_properties = cur_shape,\n
+\t\tcurrent_zoom = 1,\n
+\t\t// this will hold all the currently selected elements\n
+\t\t// default size of 1 until it needs to grow bigger\n
+\t\tselectedElements = new Array(1),\n
+\t\t// this holds the selected\'s bbox\n
+\t\tselectedBBoxes = new Array(1),\n
+\t\tjustSelected = null,\n
+\t\t// this object manages selectors for us\n
+\t\tselectorManager = new SelectorManager(),\n
+\t\trubberBox = null,\n
+\t\tevents = {},\n
+\t\tundoStackPointer = 0,\n
+\t\tundoStack = [],\n
+\t\tcurBBoxes = [],\n
+\t\textensions = {};\n
+\t\n
+\t// Should this return an array by default, so extension results aren\'t overwritten?\n
+\tvar runExtensions = this.runExtensions = function(action, vars, returnArray) {\n
+\t\tvar result = false;\n
+\t\tif(returnArray) result = [];\n
+\t\t$.each(extensions, function(name, opts) {\n
+\t\t\tif(action in opts) {\n
+\t\t\t\tif(returnArray) {\n
+\t\t\t\t\tresult.push(opts[action](vars))\n
+\t\t\t\t} else {\n
+\t\t\t\t\tresult = opts[action](vars);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t});\n
+\t\treturn result;\n
+\t}\n
+\t\n
+\t// This method rounds the incoming value to the nearest value based on the current_zoom\n
+\tvar round = function(val){\n
+\t\treturn parseInt(val*current_zoom)/current_zoom;\n
+\t};\n
+\n
+\t// This method sends back an array or a NodeList full of elements that\n
+\t// intersect the multi-select rubber-band-box on the current_layer only.\n
+\t// \n
+\t// Since the only browser that supports the SVG DOM getIntersectionList is Opera, \n
+\t// we need to provide an implementation here.  We brute-force it for now.\n
+\t// \n
+\t// Reference:\n
+\t// Firefox does not implement getIntersectionList(), see https://bugzilla.mozilla.org/show_bug.cgi?id=501421\n
+\t// Webkit does not implement getIntersectionList(), see https://bugs.webkit.org/show_bug.cgi?id=11274\n
+\tvar getIntersectionList = function(rect) {\n
+\t\tif (rubberBox == null) { return null; }\n
+\n
+\t\tif(!curBBoxes.length) {\n
+\t\t\t// Cache all bboxes\n
+\t\t\tcurBBoxes = canvas.getVisibleElements(current_layer, true);\n
+\t\t}\n
+\t\t\n
+\t\tvar resultList = null;\n
+\t\ttry {\n
+\t\t\tresultList = current_layer.getIntersectionList(rect, null);\n
+\t\t} catch(e) { }\n
+\n
+\t\tif (resultList == null || typeof(resultList.item) != "function") {\n
+\t\t\tresultList = [];\n
+\n
+\t\t\tvar rubberBBox = rubberBox.getBBox();\n
+\t\t\t$.each(rubberBBox, function(key, val) {\n
+\t\t\t\trubberBBox[key] = val / current_zoom;\n
+\t\t\t});\n
+\t\t\tvar i = curBBoxes.length;\n
+\t\t\twhile (i--) {\n
+\t\t\t\tif(!rubberBBox.width || !rubberBBox.width) continue;\n
+\t\t\t\tif (Utils.rectsIntersect(rubberBBox, curBBoxes[i].bbox))  {\n
+\t\t\t\t\tresultList.push(curBBoxes[i].elem);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\t// addToSelection expects an array, but it\'s ok to pass a NodeList \n
+\t\t// because using square-bracket notation is allowed: \n
+\t\t// http://www.w3.org/TR/DOM-Level-2-Core/ecma-script-binding.html\n
+\t\treturn resultList;\n
+\t};\n
+\n
+\t// FIXME: we MUST compress consecutive text changes to the same element\n
+\t// (right now each keystroke is saved as a separate command that includes the\n
+\t// entire text contents of the text element)\n
+\t// TODO: consider limiting the history that we store here (need to do some slicing)\n
+\tvar addCommandToHistory = function(cmd) {\n
+\t\t// if our stack pointer is not at the end, then we have to remove\n
+\t\t// all commands after the pointer and insert the new command\n
+\t\tif (undoStackPointer < undoStack.length && undoStack.length > 0) {\n
+\t\t\tundoStack = undoStack.splice(0, undoStackPointer);\n
+\t\t}\n
+\t\tundoStack.push(cmd);\n
+\t\tundoStackPointer = undoStack.length;\n
+\t};\n
+\t\n
+\tthis.getHistoryPosition = function() {\n
+\t\treturn undoStackPointer;\n
+\t};\n
+\n
+// private functions\n
+\tvar getId = function() {\n
+\t\tif (events["getid"]) return call("getid", obj_num);\n
+\t\tif (randomize_ids) {\n
+\t\t  return idprefix + nonce +\'_\' + obj_num;\n
+\t\t} else {\n
+\t\treturn idprefix + obj_num;\n
+\t\t}\n
+\t};\n
+\n
+\tvar getNextId = function() {\n
+\t\t// ensure the ID does not exist\n
+\t\tvar id = getId();\n
+\t\t\n
+\t\twhile (getElem(id)) {\n
+\t\t\tobj_num++;\n
+\t\t\tid = getId();\n
+\t\t}\n
+\t\treturn id;\n
+\t};\n
+\n
+\tvar call = function(event, arg) {\n
+\t\tif (events[event]) {\n
+\t\t\treturn events[event](this,arg);\n
+\t\t}\n
+\t};\n
+\n
+\t// this function sanitizes the input node and its children\n
+\t// this function only keeps what is allowed from our whitelist defined above\n
+\tvar sanitizeSvg = function(node) {\n
+\t\t// we only care about element nodes\n
+\t\t// automatically return for all comment, etc nodes\n
+\t\t// for text, we do a whitespace trim\n
+\t\tif (node.nodeType == 3) {\n
+\t\t\tnode.nodeValue = node.nodeValue.replace(/^\\s+|\\s+$/g, "");\n
+\t\t\t// Remove empty text nodes\n
+\t\t\tif(!node.nodeValue.length) node.parentNode.removeChild(node);\n
+\t\t}\n
+\t\tif (node.nodeType != 1) return;\n
+\t\tvar doc = node.ownerDocument;\n
+\t\tvar parent = node.parentNode;\n
+\t\t// can parent ever be null here?  I think the root node\'s parent is the document...\n
+\t\tif (!doc || !parent) return;\n
+\n
+\t\tvar allowedAttrs = svgWhiteList[node.nodeName];\n
+\t\tvar allowedAttrsNS = svgWhiteListNS[node.nodeName];\n
+\n
+\t\t// if this element is allowed\n
+\t\tif (allowedAttrs != undefined) {\n
+\t\t\tvar se_attrs = [];\n
+\t\t\n
+\t\t\tvar i = node.attributes.length;\n
+\t\t\twhile (i--) {\n
+\t\t\t\t// if the attribute is not in our whitelist, then remove it\n
+\t\t\t\t// could use jQuery\'s inArray(), but I don\'t know if that\'s any better\n
+\t\t\t\tvar attr = node.attributes.item(i);\n
+\t\t\t\tvar attrName = attr.nodeName;\n
+\t\t\t\tvar attrLocalName = attr.localName;\n
+\t\t\t\tvar attrNsURI = attr.namespaceURI;\n
+\t\t\t\t// Check that an attribute with the correct localName in the correct namespace is on \n
+\t\t\t\t// our whitelist or is a namespace declaration for one of our allowed namespaces\n
+\t\t\t\tif (!(allowedAttrsNS.hasOwnProperty(attrLocalName) && attrNsURI == allowedAttrsNS[attrLocalName] && attrNsURI != xmlnsns) &&\n
+\t\t\t\t\t!(attrNsURI == xmlnsns && nsMap[attr.nodeValue]) ) \n
+\t\t\t\t{\n
+\t\t\t\t\t// Bypassing the whitelist to allow se: prefixes. Is there\n
+\t\t\t\t\t// a more appropriate way to do this?\n
+\t\t\t\t\tif(attrName.indexOf(\'se:\') == 0) {\n
+\t\t\t\t\t\tse_attrs.push([attrName, attr.nodeValue]);\n
+\t\t\t\t\t} \n
+\t\t\t\t\tnode.removeAttributeNS(attrNsURI, attrLocalName);\n
+\t\t\t\t}\n
+\t\t\t\t// special handling for path d attribute\n
+\t\t\t\tif (node.nodeName == \'path\' && attrName == \'d\') {\n
+\t\t\t\t\t// Convert to absolute\n
+\t\t\t\t\tnode.setAttribute(\'d\',pathActions.convertPath(node));\n
+\t\t\t\t\tpathActions.fixEnd(node);\n
+\t\t\t\t}\n
+\t\t\t\t// for the style attribute, rewrite it in terms of XML presentational attributes\n
+\t\t\t\tif (attrName == "style") {\n
+\t\t\t\t\tvar props = attr.nodeValue.split(";"),\n
+\t\t\t\t\t\tp = props.length;\n
+\t\t\t\t\twhile(p--) {\n
+\t\t\t\t\t\tvar nv = props[p].split(":");\n
+\t\t\t\t\t\t// now check that this attribute is supported\n
+\t\t\t\t\t\tif (allowedAttrs.indexOf(nv[0]) != -1) {\n
+\t\t\t\t\t\t\tnode.setAttribute(nv[0],nv[1]);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\tnode.removeAttribute(\'style\');\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t$.each(se_attrs, function(i, attr) {\n
+\t\t\t\tnode.setAttributeNS(se_ns, attr[0], attr[1]);\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t// for some elements that have a xlink:href, ensure the URI refers to a local element\n
+\t\t\t// (but not for links)\n
+\t\t\tvar href = node.getAttributeNS(xlinkns,"href");\n
+\t\t\tif(href && \n
+\t\t\t   $.inArray(node.nodeName, ["filter", "linearGradient", "pattern", \n
+\t\t\t   \t\t\t\t\t\t\t "radialGradient", "textPath", "use"]) != -1)\n
+\t\t\t{\n
+\t\t\t\t// TODO: we simply check if the first character is a #, is this bullet-proof?\n
+\t\t\t\tif (href[0] != "#") {\n
+\t\t\t\t\t// remove the attribute (but keep the element)\n
+\t\t\t\t\tnode.setAttributeNS(xlinkns, "xlink:href", "");\n
+\t\t\t\t\tnode.removeAttributeNS(xlinkns, "href");\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// Safari crashes on a <use> without a xlink:href, so we just remove the node here\n
+\t\t\tif (node.nodeName == "use" && !node.getAttributeNS(xlinkns,"href")) {\n
+\t\t\t\tparent.removeChild(node);\n
+\t\t\t\treturn;\n
+\t\t\t}\n
+\t\t\t// if the element has attributes pointing to a non-local reference, \n
+\t\t\t// need to remove the attribute\n
+\t\t\t$.each(["clip-path", "fill", "filter", "marker-end", "marker-mid", "marker-start", "mask", "stroke"],function(i,attr) {\n
+\t\t\t\tvar val = node.getAttribute(attr);\n
+\t\t\t\tif (val) {\n
+\t\t\t\t\tval = getUrlFromAttr(val);\n
+\t\t\t\t\t// simply check for first character being a \'#\'\n
+\t\t\t\t\tif (val && val[0] != "#") {\n
+\t\t\t\t\t\tnode.setAttribute(attr, "");\n
+\t\t\t\t\t\tnode.removeAttribute(attr);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\t// recurse to children\n
+\t\t\ti = node.childNodes.length;\n
+\t\t\twhile (i--) { sanitizeSvg(node.childNodes.item(i)); }\n
+\t\t}\n
+\t\t// else, remove this element\n
+\t\telse {\n
+\t\t\t// remove all children from this node and insert them before this node\n
+\t\t\t// FIXME: in the case of animation elements this will hardly ever be correct\n
+\t\t\tvar children = [];\n
+\t\t\twhile (node.hasChildNodes()) {\n
+\t\t\t\tchildren.push(parent.insertBefore(node.firstChild, node));\n
+\t\t\t}\n
+\n
+\t\t\t// remove this node from the document altogether\n
+\t\t\tparent.removeChild(node);\n
+\n
+\t\t\t// call sanitizeSvg on each of those children\n
+\t\t\tvar i = children.length;\n
+\t\t\twhile (i--) { sanitizeSvg(children[i]); }\n
+\n
+\t\t}\n
+\t};\n
+\t\n
+\t// extracts the URL from the url(...) syntax of some attributes.  Three variants:\n
+\t// i.e. <circle fill="url(someFile.svg#foo)" /> or\n
+\t//      <circle fill="url(\'someFile.svg#foo\')" /> or\n
+\t//      <circle fill=\'url("someFile.svg#foo")\' />\n
+\tthis.getUrlFromAttr = function(attrVal) {\n
+\t\tif (attrVal) {\t\t\n
+\t\t\t// url("#somegrad")\n
+\t\t\tif (attrVal.indexOf(\'url("\') == 0) {\n
+\t\t\t\treturn attrVal.substring(5,attrVal.indexOf(\'"\',6));\n
+\t\t\t}\n
+\t\t\t// url(\'#somegrad\')\n
+\t\t\telse if (attrVal.indexOf("url(\'") == 0) {\n
+\t\t\t\treturn attrVal.substring(5,attrVal.indexOf("\'",6));\n
+\t\t\t}\n
+\t\t\telse if (attrVal.indexOf("url(") == 0) {\n
+\t\t\t\treturn attrVal.substring(4,attrVal.indexOf(\')\'));\n
+\t\t\t}\n
+\t\t}\n
+\t\treturn null;\n
+\t};\n
+\tvar getUrlFromAttr = this.getUrlFromAttr;\n
+\n
+\tvar removeUnusedDefElems = function() {\n
+\t\tvar defs = svgcontent.getElementsByTagNameNS(svgns, "defs");\n
+\t\tif(!defs || !defs.length) return 0;\n
+\t\t\n
+\t\tvar defelem_uses = [],\n
+\t\t\tnumRemoved = 0;\n
+\t\tvar attrs = [\'fill\', \'stroke\', \'filter\', \'marker-start\', \'marker-mid\', \'marker-end\'];\n
+\t\tvar alen = attrs.length;\n
+\t\t\n
+\t\tvar all_els = svgcontent.getElementsByTagNameNS(svgns, \'*\');\n
+\t\tvar all_len = all_els.length;\n
+\t\t\n
+\t\tfor(var i=0; i<all_len; i++) {\n
+\t\t\tvar el = all_els[i];\n
+\t\t\tfor(var j = 0; j < alen; j++) {\n
+\t\t\t\tvar ref = getUrlFromAttr(el.getAttribute(attrs[j]));\n
+\t\t\t\tif(ref) defelem_uses.push(ref.substr(1));\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// gradients can refer to other gradients\n
+\t\t\tvar href = el.getAttributeNS(xlinkns, "href");\n
+\t\t\tif (href && href.indexOf(\'#\') == 0) {\n
+\t\t\t\tdefelem_uses.push(href.substr(1));\n
+\t\t\t}\n
+\t\t};\n
+\t\t\n
+\t\tvar defelems = $(svgcontent).find("linearGradient, radialGradient, filter, marker");\n
+\t\t\tdefelem_ids = [],\n
+\t\t\ti = defelems.length;\n
+\t\twhile (i--) {\n
+\t\t\tvar defelem = defelems[i];\n
+\t\t\tvar id = defelem.id;\n
+\t\t\tif($.inArray(id, defelem_uses) == -1) {\n
+\t\t\t\t// Not found, so remove\n
+\t\t\t\tdefelem.parentNode.removeChild(defelem);\n
+\t\t\t\tnumRemoved++;\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\t// Remove defs if empty\n
+\t\tvar i = defs.length;\n
+\t\twhile (i--) {\n
+\t\t\tvar def = defs[i];\n
+\t\t\tif(!def.getElementsByTagNameNS(svgns,\'*\').length) {\n
+\t\t\t\tdef.parentNode.removeChild(def);\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\treturn numRemoved;\n
+\t}\n
+\t\n
+\tvar svgCanvasToString = function() {\n
+\t\t// keep calling it until there are none to remove\n
+\t\twhile (removeUnusedDefElems() > 0) {};\n
+\t\t\n
+\t\tpathActions.clear(true);\n
+\t\t\n
+\t\t// Keep SVG-Edit comment on top\n
+\t\t$.each(svgcontent.childNodes, function(i, node) {\n
+\t\t\tif(i && node.nodeType == 8 && node.data.indexOf(\'Created with\') != -1) {\n
+\t\t\t\tsvgcontent.insertBefore(node, svgcontent.firstChild);\n
+\t\t\t}\n
+\t\t});\n
+\t\t\n
+\t\tvar output = svgToString(svgcontent, 0);\n
+\t\treturn output;\n
+\t}\n
+\n
+\tvar svgToString = function(elem, indent) {\n
+\t\tvar out = new Array();\n
+\n
+\t\tif (elem) {\n
+\t\t\tcleanupElement(elem);\n
+\t\t\tvar attrs = elem.attributes,\n
+\t\t\t\tattr,\n
+\t\t\t\ti,\n
+\t\t\t\tchilds = elem.childNodes;\n
+\t\t\t\n
+\t\t\tfor (var i=0; i<indent; i++) out.push(" ");\n
+\t\t\tout.push("<"); out.push(elem.nodeName);\t\t\t\n
+\t\t\tif(elem.id == \'svgcontent\') {\n
+\t\t\t\t// Process root element separately\n
+\t\t\t\tvar res = canvas.getResolution();\n
+\t\t\t\tout.push(\' width="\' + res.w + \'" height="\' + res.h + \'" xmlns="\'+svgns+\'"\');\n
+\t\t\t\t\n
+\t\t\t\tvar nsuris = {};\n
+\t\t\t\t\n
+\t\t\t\t// Check elements for namespaces, add if found\n
+\t\t\t\t$(elem).find(\'*\').andSelf().each(function() {\n
+\t\t\t\t\tvar el = this;\n
+\t\t\t\t\t$.each(this.attributes, function(i, attr) {\n
+\t\t\t\t\t\tvar uri = attr.namespaceURI;\n
+\t\t\t\t\t\tif(uri && !nsuris[uri] && nsMap[uri] !== \'xmlns\' && nsMap[uri] !== \'xml\' ) {\n
+\t\t\t\t\t\t\tnsuris[uri] = true;\n
+\t\t\t\t\t\t\tout.push(" xmlns:" + nsMap[uri] + \'="\' + uri +\'"\');\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar i = attrs.length;\n
+\t\t\t\twhile (i--) {\n
+\t\t\t\t\tattr = attrs.item(i);\n
+\t\t\t\t\tvar attrVal = toXml(attr.nodeValue);\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Namespaces have already been dealt with, so skip\n
+\t\t\t\t\tif(attr.nodeName.indexOf(\'xmlns:\') === 0) continue;\n
+\n
+\t\t\t\t\t// only serialize attributes we don\'t use internally\n
+\t\t\t\t\tif (attrVal != "" && \n
+\t\t\t\t\t\t$.inArray(attr.localName, [\'width\',\'height\',\'xmlns\',\'x\',\'y\',\'viewBox\',\'id\',\'overflow\']) == -1) \n
+\t\t\t\t\t{\n
+\n
+\t\t\t\t\t\tif(!attr.namespaceURI || nsMap[attr.namespaceURI]) {\n
+\t\t\t\t\t\t\tout.push(\' \'); \n
+\t\t\t\t\t\t\tout.push(attr.nodeName); out.push("=\\"");\n
+\t\t\t\t\t\t\tout.push(attrVal); out.push("\\"");\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t} else {\n
+\t\t\t\tfor (var i=attrs.length-1; i>=0; i--) {\n
+\t\t\t\t\tattr = attrs.item(i);\n
+\t\t\t\t\tvar attrVal = toXml(attr.nodeValue);\n
+\t\t\t\t\t//remove bogus attributes added by Gecko\n
+\t\t\t\t\tif ($.inArray(attr.localName, [\'-moz-math-font-style\', \'_moz-math-font-style\']) !== -1) continue;\n
+\t\t\t\t\tif (attrVal != "") {\n
+\t\t\t\t\t\tif(attrVal.indexOf(\'pointer-events\') == 0) continue;\n
+\t\t\t\t\t\tif(attr.localName == "class" && attrVal.indexOf(\'se_\') == 0) continue;\n
+\t\t\t\t\t\tout.push(" "); \n
+\t\t\t\t\t\tif(attr.localName == \'d\') attrVal = pathActions.convertPath(elem, true);\n
+\t\t\t\t\t\tif(!isNaN(attrVal)) {\n
+\t\t\t\t\t\t\tattrVal = shortFloat(attrVal);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// Embed images when saving \n
+\t\t\t\t\t\tif(save_options.apply\n
+\t\t\t\t\t\t\t&& elem.nodeName == \'image\' \n
+\t\t\t\t\t\t\t&& attr.localName == \'href\'\n
+\t\t\t\t\t\t\t&& save_options.images\n
+\t\t\t\t\t\t\t&& save_options.images == \'embed\') \n
+\t\t\t\t\t\t{\n
+\t\t\t\t\t\t\tvar img = encodableImages[attrVal];\n
+\t\t\t\t\t\t\tif(img) attrVal = img;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// map various namespaces to our fixed namespace prefixes\n
+\t\t\t\t\t\t// (the default xmlns attribute itself does not get a prefix)\n
+\t\t\t\t\t\tif(!attr.namespaceURI || attr.namespaceURI == svgns || nsMap[attr.namespaceURI]) {\n
+\t\t\t\t\t\t\tout.push(attr.nodeName); out.push("=\\"");\n
+\t\t\t\t\t\t\tout.push(attrVal); out.push("\\"");\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\n
+\t\t\tif (elem.hasChildNodes()) {\n
+\t\t\t\tout.push(">");\n
+\t\t\t\tindent++;\n
+\t\t\t\tvar bOneLine = false;\n
+\t\t\t\tfor (var i=0; i<childs.length; i++)\n
+\t\t\t\t{\n
+\t\t\t\t\tvar child = childs.item(i);\n
+\t\t\t\t\tswitch(child.nodeType) {\n
+\t\t\t\t\tcase 1: // element node\n
+\t\t\t\t\t\tout.push("\\n");\n
+\t\t\t\t\t\tout.push(svgToString(childs.item(i), indent));\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t\tcase 3: // text node\n
+\t\t\t\t\t\tvar str = child.nodeValue.replace(/^\\s+|\\s+$/g, "");\n
+\t\t\t\t\t\tif (str != "") {\n
+\t\t\t\t\t\t\tbOneLine = true;\n
+\t\t\t\t\t\t\tout.push(toXml(str) + "");\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t\tcase 8: // comment\n
+\t\t\t\t\t\tout.push("\\n");\n
+\t\t\t\t\t\tout.push(new Array(indent+1).join(" "));\n
+\t\t\t\t\t\tout.push("<!--");\n
+\t\t\t\t\t\tout.push(child.data);\n
+\t\t\t\t\t\tout.push("-->");\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t} // switch on node type\n
+\t\t\t\t}\n
+\t\t\t\tindent--;\n
+\t\t\t\tif (!bOneLine) {\n
+\t\t\t\t\tout.push("\\n");\n
+\t\t\t\t\tfor (var i=0; i<indent; i++) out.push(" ");\n
+\t\t\t\t}\n
+\t\t\t\tout.push("</"); out.push(elem.nodeName); out.push(">");\n
+\t\t\t} else {\n
+\t\t\t\tout.push("/>");\n
+\t\t\t}\n
+\t\t}\n
+\t\treturn out.join(\'\');\n
+\t}; // end svgToString()\n
+\n
+\tthis.embedImage = function(val, callback) {\n
+\t\n
+\t\t// load in the image and once it\'s loaded, get the dimensions\n
+\t\t$(new Image()).load(function() {\n
+\t\t\t// create a canvas the same size as the raster image\n
+\t\t\tvar canvas = document.createElement("canvas");\n
+\t\t\tcanvas.width = this.width;\n
+\t\t\tcanvas.height = this.height;\n
+\t\t\t// load the raster image into the canvas\n
+\t\t\tcanvas.getContext("2d").drawImage(this,0,0);\n
+\t\t\t// retrieve the data: URL\n
+\t\t\ttry {\n
+\t\t\t\tvar urldata = \';svgedit_url=\' + encodeURIComponent(val);\n
+\t\t\t\turldata = canvas.toDataURL().replace(\';base64\',urldata+\';base64\');\n
+\t\t\t\tencodableImages[val] = urldata;\n
+\t\t\t} catch(e) {\n
+\t\t\t\tencodableImages[val] = false;\n
+\t\t\t}\n
+\t\t\tlast_good_img_url = val;\n
+\t\t\tif(callback) callback(encodableImages[val]);\n
+\t\t}).attr(\'src\',val);\n
+\t}\n
+\n
+\t// importNode, like cloneNode, causes the comma-to-period\n
+\t// issue in Opera/Win/non-en. Thankfully we can compare to the original XML\n
+\t// and simply use the original value when necessary\n
+\tthis.fixOperaXML = function(elem, orig_el) {\n
+\t\tvar x_attrs = elem.attributes;\n
+\t\t$.each(x_attrs, function(i, attr) {\n
+\t\t\tif(attr.nodeValue.indexOf(\',\') == -1) return;\n
+\t\t\t// attr val has comma, so let\'s get the good value\n
+\t\t\tvar ns = attr.prefix == \'xlink\' ? xlinkns : \n
+\t\t\t\tattr.prefix == "xml" ? xmlns : null;\n
+\t\t\tvar good_attrval = orig_el.getAttribute(attr.localName);\n
+\t\t\tif(ns) {\n
+\t\t\t\telem.setAttributeNS(ns, attr.nodeName, good_attrval);\n
+\t\t\t} else {\n
+\t\t\t\telem.setAttribute(attr.nodeName, good_attrval);\n
+\t\t\t}\n
+\t\t});\n
+\n
+\t\tvar childs = elem.childNodes;\n
+\t\tvar o_childs = orig_el.childNodes;\n
+\t\t$.each(childs, function(i, child) {\n
+\t\t\tif(child.nodeType == 1) {\n
+\t\t\t\tcanvas.fixOperaXML(child, o_childs[i]);\n
+\t\t\t}\n
+\t\t});\n
+\t}\n
+\n
+\tvar recalculateAllSelectedDimensions = function() {\n
+\t\tvar text = (current_resize_mode == "none" ? "position" : "size");\n
+\t\tvar batchCmd = new BatchCommand(text);\n
+\n
+\t\tvar i = selectedElements.length;\n
+\t\twhile(i--) {\n
+\t\t\tvar elem = selectedElements[i];\n
+// \t\t\tif(canvas.getRotationAngle(elem) && !hasMatrixTransform(canvas.getTransformList(elem))) continue;\n
+\t\t\tvar cmd = recalculateDimensions(elem);\n
+\t\t\tif (cmd) {\n
+\t\t\t\tbatchCmd.addSubCommand(cmd);\n
+\t\t\t}\n
+\t\t}\n
+\n
+\t\tif (!batchCmd.isEmpty()) {\n
+\t\t\taddCommandToHistory(batchCmd);\n
+\t\t\tcall("changed", selectedElements);\n
+\t\t}\n
+\t};\n
+\n
+\t// this is how we map paths to our preferred relative segment types\n
+\tvar pathMap = [0, \'z\', \'M\', \'m\', \'L\', \'l\', \'C\', \'c\', \'Q\', \'q\', \'A\', \'a\', \n
+\t\t\t\t\t\t\'H\', \'h\', \'V\', \'v\', \'S\', \'s\', \'T\', \'t\'];\n
+\n
+\tvar logMatrix = function(m) {\n
+\t\tconsole.log([m.a,m.b,m.c,m.d,m.e,m.f]);\n
+\t};\n
+\t\n
+\tvar remapElement = function(selected,changes,m) {\n
+\t\tvar remap = function(x,y) { return transformPoint(x,y,m); },\n
+\t\t\tscalew = function(w) { return m.a*w; },\n
+\t\t\tscaleh = function(h) { return m.d*h; },\n
+\t\t\tbox = canvas.getBBox(selected);\n
+\n
+\t\tswitch (selected.tagName)\n
+\t\t{\n
+\t\t\tcase "line":\n
+\t\t\t\tvar pt1 = remap(changes["x1"],changes["y1"]),\n
+\t\t\t\t\tpt2 = remap(changes["x2"],changes["y2"]);\n
+\t\t\t\tchanges["x1"] = pt1.x;\n
+\t\t\t\tchanges["y1"] = pt1.y;\n
+\t\t\t\tchanges["x2"] = pt2.x;\n
+\t\t\t\tchanges["y2"] = pt2.y;\n
+\t\t\t\tbreak;\n
+\t\t\tcase "circle":\n
+\t\t\t\tvar c = remap(changes["cx"],changes["cy"]);\n
+\t\t\t\tchanges["cx"] = c.x;\n
+\t\t\t\tchanges["cy"] = c.y;\n
+\t\t\t\t// take the minimum of the new selected box\'s dimensions for the new circle radius\n
+\t\t\t\tvar tbox = transformBox(box.x, box.y, box.width, box.height, m);\n
+\t\t\t\tvar w = tbox.tr.x - tbox.tl.x, h = tbox.bl.y - tbox.tl.y;\n
+\t\t\t\tchanges["r"] = Math.min(w/2, h/2);\n
+\t\t\t\tbreak;\n
+\t\t\tcase "ellipse":\n
+\t\t\t\tvar c = remap(changes["cx"],changes["cy"]);\n
+\t\t\t\tchanges["cx"] = c.x;\n
+\t\t\t\tchanges["cy"] = c.y;\n
+\t\t\t\tchanges["rx"] = scalew(changes["rx"]);\n
+\t\t\t\tchanges["ry"] = scaleh(changes["ry"]);\n
+\t\t\t\tbreak;\n
+\t\t\tcase "foreignObject":\n
+\t\t\tcase "rect":\n
+\t\t\tcase "image":\n
+\t\t\t\tvar pt1 = remap(changes["x"],changes["y"]);\n
+\t\t\t\tchanges["x"] = pt1.x;\n
+\t\t\t\tchanges["y"] = pt1.y;\n
+\t\t\t\tchanges["width"] = scalew(changes["width"]);\n
+\t\t\t\tchanges["height"] = scaleh(changes["height"]);\n
+\t\t\t\tbreak;\n
+\t\t\tcase "use":\n
+\t\t\t\tvar pt1 = remap(changes["x"],changes["y"]);\n
+\t\t\t\tchanges["x"] = pt1.x;\n
+\t\t\t\tchanges["y"] = pt1.y;\n
+\t\t\t\tbreak;\n
+\t\t\tcase "text":\n
+\t\t\t\t// if it was a translate, then just update x,y\n
+\t\t\t\tif (m.a == 1 && m.b == 0 && m.c == 0 && m.d == 1 && \n
+\t\t\t\t\t(m.e != 0 || m.f != 0) ) \n
+\t\t\t\t{\n
+\t\t\t\t\t// [T][M] = [M][T\']\n
+\t\t\t\t\t// therefore [T\'] = [M_inv][T][M]\n
+\t\t\t\t\tvar existing = transformListToTransform(selected).matrix,\n
+\t\t\t\t\t\tt_new = matrixMultiply(existing.inverse(), m, existing);\n
+\t\t\t\t\tchanges["x"] = parseFloat(changes["x"]) + t_new.e;\n
+\t\t\t\t\tchanges["y"] = parseFloat(changes["y"]) + t_new.f;\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\t// we just absorb all matrices into the element and don\'t do any remapping\n
+\t\t\t\t\tvar chlist = canvas.getTransformList(selected);\n
+\t\t\t\t\tvar mt = svgroot.createSVGTransform();\n
+\t\t\t\t\tmt.setMatrix(matrixMultiply(transformListToTransform(chlist).matrix,m));\n
+\t\t\t\t\tchlist.clear();\n
+\t\t\t\t\tchlist.appendItem(mt);\n
+\t\t\t\t}\n
+\t\t\t\tbreak;\n
+\t\t\tcase "polygon":\n
+\t\t\tcase "polyline":\n
+\t\t\t\tvar len = changes["points"].length;\n
+\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\tvar pt = changes["points"][i];\n
+\t\t\t\t\tpt = remap(pt.x,pt.y);\n
+\t\t\t\t\tchanges["points"][i].x = pt.x;\n
+\t\t\t\t\tchanges["points"][i].y = pt.y;\n
+\t\t\t\t}\n
+\t\t\t\tbreak;\n
+\t\t\tcase "path":\n
+\t\t\t\tvar segList = selected.pathSegList;\n
+\t\t\t\tvar len = segList.numberOfItems;\n
+\t\t\t\tchanges.d = new Array(len);\n
+\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\tvar seg = segList.getItem(i);\n
+\t\t\t\t\tchanges.d[i] = {\n
+\t\t\t\t\t\ttype: seg.pathSegType,\n
+\t\t\t\t\t\tx: seg.x,\n
+\t\t\t\t\t\ty: seg.y,\n
+\t\t\t\t\t\tx1: seg.x1,\n
+\t\t\t\t\t\ty1: seg.y1,\n
+\t\t\t\t\t\tx2: seg.x2,\n
+\t\t\t\t\t\ty2: seg.y2,\n
+\t\t\t\t\t\tr1: seg.r1,\n
+\t\t\t\t\t\tr2: seg.r2,\n
+\t\t\t\t\t\tangle: seg.angle,\n
+\t\t\t\t\t\tlargeArcFlag: seg.largeArcFlag,\n
+\t\t\t\t\t\tsweepFlag: seg.sweepFlag\n
+\t\t\t\t\t};\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar len = changes["d"].length,\n
+\t\t\t\t\tfirstseg = changes["d"][0],\n
+\t\t\t\t\tcurrentpt = remap(firstseg.x,firstseg.y);\n
+\t\t\t\tchanges["d"][0].x = currentpt.x;\n
+\t\t\t\tchanges["d"][0].y = currentpt.y;\n
+\t\t\t\tfor (var i = 1; i < len; ++i) {\n
+\t\t\t\t\tvar seg = changes["d"][i];\n
+\t\t\t\t\tvar type = seg.type;\n
+\t\t\t\t\t// if absolute or first segment, we want to remap x, y, x1, y1, x2, y2\n
+\t\t\t\t\t// if relative, we want to scalew, scaleh\n
+\t\t\t\t\tif (type % 2 == 0) { // absolute\n
+\t\t\t\t\t\tvar thisx = (seg.x != undefined) ? seg.x : currentpt.x, // for V commands\n
+\t\t\t\t\t\t\tthisy = (seg.y != undefined) ? seg.y : currentpt.y, // for H commands\n
+\t\t\t\t\t\t\tpt = remap(thisx,thisy),\n
+\t\t\t\t\t\t\tpt1 = remap(seg.x1,seg.y1),\n
+\t\t\t\t\t\t\tpt2 = remap(seg.x2,seg.y2);\n
+\t\t\t\t\t\tseg.x = pt.x;\n
+\t\t\t\t\t\tseg.y = pt.y;\n
+\t\t\t\t\t\tseg.x1 = pt1.x;\n
+\t\t\t\t\t\tseg.y1 = pt1.y;\n
+\t\t\t\t\t\tseg.x2 = pt2.x;\n
+\t\t\t\t\t\tseg.y2 = pt2.y;\n
+\t\t\t\t\t\tseg.r1 = scalew(seg.r1),\n
+\t\t\t\t\t\tseg.r2 = scaleh(seg.r2);\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse { // relative\n
+\t\t\t\t\t\tseg.x = scalew(seg.x);\n
+\t\t\t\t\t\tseg.y = scaleh(seg.y);\n
+\t\t\t\t\t\tseg.x1 = scalew(seg.x1);\n
+\t\t\t\t\t\tseg.y1 = scaleh(seg.y1);\n
+\t\t\t\t\t\tseg.x2 = scalew(seg.x2);\n
+\t\t\t\t\t\tseg.y2 = scaleh(seg.y2);\n
+\t\t\t\t\t\tseg.r1 = scalew(seg.r1),\n
+\t\t\t\t\t\tseg.r2 = scaleh(seg.r2);\n
+\t\t\t\t\t}\n
+\t\t\t\t\t// tracks the current position (for H,V commands)\n
+\t\t\t\t\tif (seg.x) currentpt.x = seg.x;\n
+\t\t\t\t\tif (seg.y) currentpt.y = seg.y;\n
+\t\t\t\t} // for each segment\n
+\t\t\t\tbreak;\n
+\t\t} // switch on element type to get initial values\n
+\t\t\n
+\t\t// now we have a set of changes and an applied reduced transform list\n
+\t\t// we apply the changes directly to the DOM\n
+\t\t// TODO: merge this switch with the above one and optimize\n
+\t\tswitch (selected.tagName)\n
+\t\t{\n
+\t\t\tcase "foreignObject":\n
+\t\t\tcase "rect":\n
+\t\t\tcase "image":\n
+\t\t\t\tchanges.x = changes.x-0 + Math.min(0,changes.width);\n
+\t\t\t\tchanges.y = changes.y-0 + Math.min(0,changes.height);\n
+\t\t\t\tchanges.width = Math.abs(changes.width);\n
+\t\t\t\tchanges.height = Math.abs(changes.height);\n
+\t\t\t\tassignAttributes(selected, changes, 1000, true);\n
+\t\t\t\tbreak;\n
+\t\t\tcase "use":\n
+\t\t\t\tassignAttributes(selected, changes, 1000, true);\n
+\t\t\t\tbreak;\n
+\t\t\tcase "ellipse":\n
+\t\t\t\tchanges.rx = Math.abs(changes.rx);\n
+\t\t\t\tchanges.ry = Math.abs(changes.ry);\n
+\t\t\tcase "circle":\n
+\t\t\t\tif(changes.r) changes.r = Math.abs(changes.r);\n
+\t\t\tcase "line":\n
+\t\t\tcase "text":\n
+\t\t\t\tassignAttributes(selected, changes, 1000, true);\n
+\t\t\t\tbreak;\n
+\t\t\tcase "polyline":\n
+\t\t\tcase "polygon":\n
+\t\t\t\tvar len = changes["points"].length;\n
+\t\t\t\tvar pstr = "";\n
+\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\tvar pt = changes["points"][i];\n
+\t\t\t\t\tpstr += pt.x + "," + pt.y + " ";\n
+\t\t\t\t}\n
+\t\t\t\tselected.setAttribute("points", pstr);\n
+\t\t\t\tbreak;\n
+\t\t\tcase "path":\n
+\t\t\t\tvar dstr = "";\n
+\t\t\t\tvar len = changes["d"].length;\n
+\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\tvar seg = changes["d"][i];\n
+\t\t\t\t\tvar type = seg.type;\n
+\t\t\t\t\tdstr += pathMap[type];\n
+\t\t\t\t\tswitch(type) {\n
+\t\t\t\t\t\tcase 13: // relative horizontal line (h)\n
+\t\t\t\t\t\tcase 12: // absolute horizontal line (H)\n
+\t\t\t\t\t\t\tdstr += seg.x + " ";\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 15: // relative vertical line (v)\n
+\t\t\t\t\t\tcase 14: // absolute vertical line (V)\n
+\t\t\t\t\t\t\tdstr += seg.y + " ";\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 3: // relative move (m)\n
+\t\t\t\t\t\tcase 5: // relative line (l)\n
+\t\t\t\t\t\tcase 19: // relative smooth quad (t)\n
+\t\t\t\t\t\tcase 2: // absolute move (M)\n
+\t\t\t\t\t\tcase 4: // absolute line (L)\n
+\t\t\t\t\t\tcase 18: // absolute smooth quad (T)\n
+\t\t\t\t\t\t\tdstr += seg.x + "," + seg.y + " ";\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 7: // relative cubic (c)\n
+\t\t\t\t\t\tcase 6: // absolute cubic (C)\n
+\t\t\t\t\t\t\tdstr += seg.x1 + "," + seg.y1 + " " + seg.x2 + "," + seg.y2 + " " +\n
+\t\t\t\t\t\t\t\t seg.x + "," + seg.y + " ";\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 9: // relative quad (q) \n
+\t\t\t\t\t\tcase 8: // absolute quad (Q)\n
+\t\t\t\t\t\t\tdstr += seg.x1 + "," + seg.y1 + " " + seg.x + "," + seg.y + " ";\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 11: // relative elliptical arc (a)\n
+\t\t\t\t\t\tcase 10: // absolute elliptical arc (A)\n
+\t\t\t\t\t\t\tdstr += seg.r1 + "," + seg.r2 + " " + seg.angle + " " + Number(seg.largeArcFlag) +\n
+\t\t\t\t\t\t\t\t" " + Number(seg.sweepFlag) + " " + seg.x + "," + seg.y + " ";\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 17: // relative smooth cubic (s)\n
+\t\t\t\t\t\tcase 16: // absolute smooth cubic (S)\n
+\t\t\t\t\t\t\tdstr += seg.x2 + "," + seg.y2 + " " + seg.x + "," + seg.y + " ";\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\tselected.setAttribute("d", dstr);\n
+\t\t\t\tbreak;\n
+\t\t}\n
+\t\t\n
+\t};\n
+\t\n
+\t// this function returns the command which resulted from the selected change\n
+\t// TODO: use suspendRedraw() and unsuspendRedraw() around this function\n
+\tvar recalculateDimensions = function(selected) {\n
+\t\tif (selected == null) return null;\n
+\t\t\n
+\t\tvar tlist = canvas.getTransformList(selected);\n
+\n
+\t\t// remove any unnecessary transforms\n
+\t\tif (tlist && tlist.numberOfItems > 0) {\n
+\t\t\tvar k = tlist.numberOfItems;\n
+\t\t\twhile (k--) {\n
+\t\t\t\tvar xform = tlist.getItem(k);\n
+\t\t\t\tif (xform.type == 0) {\n
+\t\t\t\t\ttlist.removeItem(k);\n
+\t\t\t\t}\n
+\t\t\t\t// remove identity matrices\n
+\t\t\t\telse if (xform.type == 1) {\n
+\t\t\t\t\tif (isIdentity(xform.matrix)) {\n
+\t\t\t\t\t\ttlist.removeItem(k);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t// remove zero-degree rotations\n
+\t\t\t\telse if (xform.type == 4) {\n
+\t\t\t\t\tif (xform.angle == 0) {\n
+\t\t\t\t\t\ttlist.removeItem(k);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t// End here if all it has is a rotation\n
+\t\t\tif(tlist.numberOfItems == 1 && canvas.getRotationAngle(selected)) return null;\n
+\t\t}\n
+\t\t\n
+\t\t// if this element had no transforms, we are done\n
+\t\tif (!tlist || tlist.numberOfItems == 0) {\n
+\t\t\tselected.removeAttribute("transform");\n
+\t\t\treturn null;\n
+\t\t}\n
+\t\t\n
+\t\t// we know we have some transforms, so set up return variable\t\t\n
+\t\tvar batchCmd = new BatchCommand("Transform");\n
+\t\t\n
+\t\t// store initial values that will be affected by reducing the transform list\n
+\t\tvar changes = {}, initial = null, attrs = [];\n
+\t\tswitch (selected.tagName)\n
+\t\t{\n
+\t\t\tcase "line":\n
+\t\t\t\tattrs = ["x1", "y1", "x2", "y2"];\n
+\t\t\t\tbreak;\n
+\t\t\tcase "circle":\n
+\t\t\t\tattrs = ["cx", "cy", "r"];\n
+\t\t\t\tbreak;\n
+\t\t\tcase "ellipse":\n
+\t\t\t\tattrs = ["cx", "cy", "rx", "ry"];\n
+\t\t\t\tbreak;\n
+\t\t\tcase "foreignObject":\n
+\t\t\tcase "rect":\n
+\t\t\tcase "image":\n
+\t\t\t\tattrs = ["width", "height", "x", "y"];\n
+\t\t\t\tbreak;\n
+\t\t\tcase "use":\n
+\t\t\t\tattrs = ["x", "y"];\n
+\t\t\t\tbreak;\n
+\t\t\tcase "text":\n
+\t\t\t\tattrs = ["x", "y"];\n
+\t\t\t\tbreak;\n
+\t\t\tcase "polygon":\n
+\t\t\tcase "polyline":\n
+\t\t\t\tinitial = {};\n
+\t\t\t\tinitial["points"] = selected.getAttribute("points");\n
+\t\t\t\tvar list = selected.points;\n
+\t\t\t\tvar len = list.numberOfItems;\n
+\t\t\t\tchanges["points"] = new Array(len);\n
+\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\tvar pt = list.getItem(i);\n
+\t\t\t\t\tchanges["points"][i] = {x:pt.x,y:pt.y};\n
+\t\t\t\t}\n
+\t\t\t\tbreak;\n
+\t\t\tcase "path":\n
+\t\t\t\tinitial = {};\n
+\t\t\t\tinitial["d"] = selected.getAttribute("d");\n
+\t\t\t\tchanges["d"] = selected.getAttribute("d");\n
+\t\t\t\tbreak;\n
+\t\t} // switch on element type to get initial values\n
+\t\t\n
+\t\tif(attrs.length) {\n
+\t\t\tchanges = $(selected).attr(attrs);\n
+\t\t\t$.each(changes, function(attr, val) {\n
+\t\t\t\tchanges[attr] = convertToNum(attr, val);\n
+\t\t\t});\n
+\t\t}\n
+\t\t\n
+\t\t// if we haven\'t created an initial array in polygon/polyline/path, then \n
+\t\t// make a copy of initial values and include the transform\n
+\t\tif (initial == null) {\n
+\t\t\tinitial = $.extend(true, {}, changes);\n
+\t\t\t$.each(initial, function(attr, val) {\n
+\t\t\t\tinitial[attr] = convertToNum(attr, val);\n
+\t\t\t});\n
+\t\t}\n
+\t\t// save the start transform value too\n
+\t\tinitial["transform"] = start_transform ? start_transform : "";\n
+\t\t\n
+\t\t// if it\'s a group, we have special processing to flatten transforms\n
+\t\tif (selected.tagName == "g" || selected.tagName == "a") {\n
+\t\t\tvar box = canvas.getBBox(selected),\n
+\t\t\t\toldcenter = {x: box.x+box.width/2, y: box.y+box.height/2},\n
+\t\t\t\tnewcenter = transformPoint(box.x+box.width/2, box.y+box.height/2,\n
+\t\t\t\t\t\t\t\ttransformListToTransform(tlist).matrix),\n
+\t\t\t\tm = svgroot.createSVGMatrix();\n
+\t\t\t\n
+\t\t\t\n
+\t\t\t// temporarily strip off the rotate and save the old center\n
+\t\t\tvar gangle = canvas.getRotationAngle(selected);\n
+\t\t\tif (gangle) {\n
+\t\t\t\tvar a = gangle * Math.PI / 180;\n
+\t\t\t\tif ( Math.abs(a) > (1.0e-10) ) {\n
+\t\t\t\t\tvar s = Math.sin(a)/(1 - Math.cos(a));\n
+\t\t\t\t} else {\n
+\t\t\t\t\t// FIXME: This blows up if the angle is exactly 0!\n
+\t\t\t\t\tvar s = 2/a;\n
+\t\t\t\t}\n
+\t\t\t\tfor (var i = 0; i < tlist.numberOfItems; ++i) {\n
+\t\t\t\t\tvar xform = tlist.getItem(i);\n
+\t\t\t\t\tif (xform.type == 4) {\n
+\t\t\t\t\t\t// extract old center through mystical arts\n
+\t\t\t\t\t\tvar rm = xform.matrix;\n
+\t\t\t\t\t\toldcenter.y = (s*rm.e + rm.f)/2;\n
+\t\t\t\t\t\toldcenter.x = (rm.e - s*rm.f)/2;\n
+\t\t\t\t\t\ttlist.removeItem(i);\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\tvar tx = 0, ty = 0,\n
+\t\t\t\toperation = 0,\n
+\t\t\t\tN = tlist.numberOfItems;\n
+\n
+\t\t\tif(N) {\n
+\t\t\t\tvar first_m = tlist.getItem(0).matrix;\n
+\t\t\t}\n
+\n
+\t\t\t// first, if it was a scale then the second-last transform will be it\n
+\t\t\tif (N >= 3 && tlist.getItem(N-2).type == 3 && \n
+\t\t\t\ttlist.getItem(N-3).type == 2 && tlist.getItem(N-1).type == 2) \n
+\t\t\t{\n
+\t\t\t\toperation = 3; // scale\n
+\t\t\t\n
+\t\t\t\t// if the children are unrotated, pass the scale down directly\n
+\t\t\t\t// otherwise pass the equivalent matrix() down directly\n
+\t\t\t\tvar tm = tlist.getItem(N-3).matrix,\n
+\t\t\t\t\tsm = tlist.getItem(N-2).matrix,\n
+\t\t\t\t\ttmn = tlist.getItem(N-1).matrix;\n
+\t\t\t\n
+\t\t\t\tvar children = selected.childNodes;\n
+\t\t\t\tvar c = children.length;\n
+\t\t\t\twhile (c--) {\n
+\t\t\t\t\tvar child = children.item(c);\n
+\t\t\t\t\ttx = 0;\n
+\t\t\t\t\tty = 0;\n
+\t\t\t\t\tif (child.nodeType == 1) {\n
+\t\t\t\t\t\tvar childTlist = canvas.getTransformList(child);\n
+\n
+\t\t\t\t\t\t// some children might not have a transform (<metadata>, <defs>, etc)\n
+\t\t\t\t\t\tif (!childTlist) continue;\n
+\n
+\t\t\t\t\t\tvar m = transformListToTransform(childTlist).matrix;\n
+\t\t\t\t\t\n
+\t\t\t\t\t\tvar angle = canvas.getRotationAngle(child);\n
+\t\t\t\t\t\tvar old_start_transform = start_transform;\n
+\t\t\t\t\t\tvar childxforms = [];\n
+\t\t\t\t\t\tstart_transform = child.getAttribute("transform");\n
+\t\t\t\t\t\tif(angle || hasMatrixTransform(childTlist)) {\n
+\t\t\t\t\t\t\tvar e2t = svgroot.createSVGTransform();\n
+\t\t\t\t\t\t\te2t.setMatrix(matrixMultiply(tm, sm, tmn, m));\n
+\t\t\t\t\t\t\tchildTlist.clear();\n
+\t\t\t\t\t\t\tchildTlist.appendItem(e2t);\n
+\t\t\t\t\t\t\tchildxforms.push(e2t);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t// if not rotated or skewed, push the [T][S][-T] down to the child\n
+\t\t\t\t\t\telse {\n
+\t\t\t\t\t\t\t// update the transform list with translate,scale,translate\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// slide the [T][S][-T] from the front to the back\n
+\t\t\t\t\t\t\t// [T][S][-T][M] = [M][T2][S2][-T2]\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// (only bringing [-T] to the right of [M])\n
+\t\t\t\t\t\t\t// [T][S][-T][M] = [T][S][M][-T2]\n
+\t\t\t\t\t\t\t// [-T2] = [M_inv][-T][M]\n
+\t\t\t\t\t\t\tvar t2n = matrixMultiply(m.inverse(), tmn, m);\n
+\t\t\t\t\t\t\t// [T2] is always negative translation of [-T2]\n
+\t\t\t\t\t\t\tvar t2 = svgroot.createSVGMatrix();\n
+\t\t\t\t\t\t\tt2.e = -t2n.e;\n
+\t\t\t\t\t\t\tt2.f = -t2n.f;\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// [T][S][-T][M] = [M][T2][S2][-T2]\n
+\t\t\t\t\t\t\t// [S2] = [T2_inv][M_inv][T][S][-T][M][-T2_inv]\n
+\t\t\t\t\t\t\tvar s2 = matrixMultiply(t2.inverse(), m.inverse(), tm, sm, tmn, m, t2n.inverse());\n
+\n
+\t\t\t\t\t\t\tvar translateOrigin = svgroot.createSVGTransform(),\n
+\t\t\t\t\t\t\t\tscale = svgroot.createSVGTransform(),\n
+\t\t\t\t\t\t\t\ttranslateBack = svgroot.createSVGTransform();\n
+\t\t\t\t\t\t\ttranslateOrigin.setTranslate(t2n.e, t2n.f);\n
+\t\t\t\t\t\t\tscale.setScale(s2.a, s2.d);\n
+\t\t\t\t\t\t\ttranslateBack.setTranslate(t2.e, t2.f);\n
+\t\t\t\t\t\t\tchildTlist.appendItem(translateBack);\n
+\t\t\t\t\t\t\tchildTlist.appendItem(scale);\n
+\t\t\t\t\t\t\tchildTlist.appendItem(translateOrigin);\n
+\t\t\t\t\t\t\tchildxforms.push(translateBack);\n
+\t\t\t\t\t\t\tchildxforms.push(scale);\n
+\t\t\t\t\t\t\tchildxforms.push(translateOrigin);\n
+\t\t\t\t\t\t\tlogMatrix(translateBack.matrix);\n
+\t\t\t\t\t\t\tlogMatrix(scale.matrix);\n
+\t\t\t\t\t\t} // not rotated\n
+\t\t\t\t\t\tbatchCmd.addSubCommand( recalculateDimensions(child) );\n
+\t\t\t\t\t\t// TODO: If any <use> have this group as a parent and are \n
+\t\t\t\t\t\t// referencing this child, then we need to impose a reverse \n
+\t\t\t\t\t\t// scale on it so that when it won\'t get double-translated\n
+//\t\t\t\t\t\tvar uses = selected.getElementsByTagNameNS(svgns, "use");\n
+//\t\t\t\t\t\tvar href = "#"+child.id;\n
+//\t\t\t\t\t\tvar u = uses.length;\n
+//\t\t\t\t\t\twhile (u--) {\n
+//\t\t\t\t\t\t\tvar useElem = uses.item(u);\n
+//\t\t\t\t\t\t\tif(href == useElem.getAttributeNS(xlinkns, "href")) {\n
+//\t\t\t\t\t\t\t\tvar usexlate = svgroot.createSVGTransform();\n
+//\t\t\t\t\t\t\t\tusexlate.setTranslate(-tx,-ty);\n
+//\t\t\t\t\t\t\t\tcanvas.getTransformList(useElem).insertItemBefore(usexlate,0);\n
+//\t\t\t\t\t\t\t\tbatchCmd.addSubCommand( recalculateDimensions(useElem) );\n
+//\t\t\t\t\t\t\t}\n
+//\t\t\t\t\t\t}\n
+\t\t\t\t\t\tstart_transform = old_start_transform;\n
+\t\t\t\t\t} // element\n
+\t\t\t\t} // for each child\n
+\t\t\t\t// Remove these transforms from group\n
+\t\t\t\ttlist.removeItem(N-1);\n
+\t\t\t\ttlist.removeItem(N-2);\n
+\t\t\t\ttlist.removeItem(N-3);\n
+\t\t\t}\n
+\t\t\telse if (N >= 3 && tlist.getItem(N-1).type == 1)\n
+\t\t\t{\n
+\t\t\t\toperation = 3; // scale\n
+\t\t\t\tm = transformListToTransform(tlist).matrix;\n
+\t\t\t\tvar e2t = svgroot.createSVGTransform();\n
+\t\t\t\te2t.setMatrix(m);\n
+\t\t\t\ttlist.clear();\n
+\t\t\t\ttlist.appendItem(e2t);\n
+\t\t\t}\t\t\t\n
+\t\t\t// next, check if the first transform was a translate \n
+\t\t\t// if we had [ T1 ] [ M ] we want to transform this into [ M ] [ T2 ]\n
+\t\t\t// therefore [ T2 ] = [ M_inv ] [ T1 ] [ M ]\n
+\t\t\telse if ( (N == 1 || (N > 1 && tlist.getItem(1).type != 3)) && \n
+\t\t\t\ttlist.getItem(0).type == 2) \n
+\t\t\t{\n
+\t\t\t\toperation = 2; // translate\n
+\t\t\t\tvar T_M = transformListToTransform(tlist).matrix;\n
+\t\t\t\ttlist.removeItem(0);\n
+\t\t\t\tvar M_inv = transformListToTransform(tlist).matrix.inverse();\n
+\t\t\t\tvar M2 = matrixMultiply( M_inv, T_M );\n
+\t\t\t\t\n
+\t\t\t\ttx = M2.e;\n
+\t\t\t\tty = M2.f;\n
+\n
+\t\t\t\tif (tx != 0 || ty != 0) {\n
+\t\t\t\t\t// we pass the translates down to the individual children\n
+\t\t\t\t\tvar children = selected.childNodes;\n
+\t\t\t\t\tvar c = children.length;\n
+\t\t\t\t\twhile (c--) {\n
+\t\t\t\t\t\tvar child = children.item(c);\n
+\t\t\t\t\t\tif (child.nodeType == 1) {\n
+\t\t\t\t\t\t\tvar old_start_transform = start_transform;\n
+\t\t\t\t\t\t\tstart_transform = child.getAttribute("transform");\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tvar childTlist = canvas.getTransformList(child);\n
+\t\t\t\t\t\t\t// some children might not have a transform (<metadata>, <defs>, etc)\n
+\t\t\t\t\t\t\tif (childTlist) {\n
+\t\t\t\t\t\t\t\tvar newxlate = svgroot.createSVGTransform();\n
+\t\t\t\t\t\t\t\tnewxlate.setTranslate(tx,ty);\n
+\t\t\t\t\t\t\t\tchildTlist.insertItemBefore(newxlate, 0);\n
+\t\t\t\t\t\t\t\tbatchCmd.addSubCommand( recalculateDimensions(child) );\n
+\t\t\t\t\t\t\t\t// If any <use> have this group as a parent and are \n
+\t\t\t\t\t\t\t\t// referencing this child, then impose a reverse translate on it\n
+\t\t\t\t\t\t\t\t// so that when it won\'t get double-translated\n
+\t\t\t\t\t\t\t\tvar uses = selected.getElementsByTagNameNS(svgns, "use");\n
+\t\t\t\t\t\t\t\tvar href = "#"+child.id;\n
+\t\t\t\t\t\t\t\tvar u = uses.length;\n
+\t\t\t\t\t\t\t\twhile (u--) {\n
+\t\t\t\t\t\t\t\t\tvar useElem = uses.item(u);\n
+\t\t\t\t\t\t\t\t\tif(href == useElem.getAttributeNS(xlinkns, "href")) {\n
+\t\t\t\t\t\t\t\t\t\tvar usexlate = svgroot.createSVGTransform();\n
+\t\t\t\t\t\t\t\t\t\tusexlate.setTranslate(-tx,-ty);\n
+\t\t\t\t\t\t\t\t\t\tcanvas.getTransformList(useElem).insertItemBefore(usexlate,0);\n
+\t\t\t\t\t\t\t\t\t\tbatchCmd.addSubCommand( recalculateDimensions(useElem) );\n
+\t\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\tstart_transform = old_start_transform;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\tstart_transform = old_start_transform;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t// else, a matrix imposition from a parent group\n
+\t\t\t// keep pushing it down to the children\n
+\t\t\telse if (N == 1 && tlist.getItem(0).type == 1 && !gangle) {\n
+\t\t\t\toperation = 1;\n
+\t\t\t\tvar m = tlist.getItem(0).matrix,\n
+\t\t\t\t\tchildren = selected.childNodes,\n
+\t\t\t\t\tc = children.length;\n
+\t\t\t\twhile (c--) {\n
+\t\t\t\t\tvar child = children.item(c);\n
+\t\t\t\t\tif (child.nodeType == 1) {\n
+\t\t\t\t\t\tvar old_start_transform = start_transform;\n
+\t\t\t\t\t\tstart_transform = child.getAttribute("transform");\n
+\t\t\t\t\t\tvar childTlist = canvas.getTransformList(child);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tvar em = matrixMultiply(m, transformListToTransform(childTlist).matrix);\n
+\t\t\t\t\t\tvar e2m = svgroot.createSVGTransform();\n
+\t\t\t\t\t\te2m.setMatrix(em);\n
+\t\t\t\t\t\tchildTlist.clear();\n
+\t\t\t\t\t\tchildTlist.appendItem(e2m,0);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tbatchCmd.addSubCommand( recalculateDimensions(child) );\n
+\t\t\t\t\t\tstart_transform = old_start_transform;\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\ttlist.clear();\n
+\t\t\t}\n
+\t\t\t// else it was just a rotate\n
+\t\t\telse {\n
+\t\t\t\tif (gangle) {\n
+\t\t\t\t\tvar newRot = svgroot.createSVGTransform();\n
+\t\t\t\t\tnewRot.setRotate(gangle,newcenter.x,newcenter.y);\n
+\t\t\t\t\ttlist.insertItemBefore(newRot, 0);\n
+\t\t\t\t}\n
+\t\t\t\tif (tlist.numberOfItems == 0) {\n
+\t\t\t\t\tselected.removeAttribute("transform");\n
+\t\t\t\t}\n
+\t\t\t\treturn null;\t\t\t\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// if it was a translate, put back the rotate at the new center\n
+\t\t\tif (operation == 2) {\n
+\t\t\t\tif (gangle) {\n
+\t\t\t\t\tnewcenter = {\n
+\t\t\t\t\t\tx: oldcenter.x + first_m.e,\n
+\t\t\t\t\t\ty: oldcenter.y + first_m.f\n
+\t\t\t\t\t};\n
+\t\t\t\t\n
+\t\t\t\t\tvar newRot = svgroot.createSVGTransform();\n
+\t\t\t\t\tnewRot.setRotate(gangle,newcenter.x,newcenter.y);\n
+\t\t\t\t\ttlist.insertItemBefore(newRot, 0);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t// if it was a resize\n
+\t\t\telse if (operation == 3) {\n
+\t\t\t\tvar m = transformListToTransform(tlist).matrix;\n
+\t\t\t\tvar roldt = svgroot.createSVGTransform();\n
+\t\t\t\troldt.setRotate(gangle, oldcenter.x, oldcenter.y);\n
+\t\t\t\tvar rold = roldt.matrix;\n
+\t\t\t\tvar rnew = svgroot.createSVGTransform();\n
+\t\t\t\trnew.setRotate(gangle, newcenter.x, newcenter.y);\n
+\t\t\t\tvar rnew_inv = rnew.matrix.inverse(),\n
+\t\t\t\t\tm_inv = m.inverse(),\n
+\t\t\t\t\textrat = matrixMultiply(m_inv, rnew_inv, rold, m);\n
+\n
+\t\t\t\ttx = extrat.e;\n
+\t\t\t\tty = extrat.f;\n
+\n
+\t\t\t\tif (tx != 0 || ty != 0) {\n
+\t\t\t\t\t// now push this transform down to the children\n
+\t\t\t\t\t// we pass the translates down to the individual children\n
+\t\t\t\t\tvar children = selected.childNodes;\n
+\t\t\t\t\tvar c = children.length;\n
+\t\t\t\t\twhile (c--) {\n
+\t\t\t\t\t\tvar child = children.item(c);\n
+\t\t\t\t\t\tif (child.nodeType == 1) {\n
+\t\t\t\t\t\t\tvar old_start_transform = start_transform;\n
+\t\t\t\t\t\t\tstart_transform = child.getAttribute("transform");\n
+\t\t\t\t\t\t\tvar childTlist = canvas.getTransformList(child);\n
+\t\t\t\t\t\t\tvar newxlate = svgroot.createSVGTransform();\n
+\t\t\t\t\t\t\tnewxlate.setTranslate(tx,ty);\n
+\t\t\t\t\t\t\tchildTlist.insertItemBefore(newxlate, 0);\n
+\t\t\t\t\t\t\tbatchCmd.addSubCommand( recalculateDimensions(child) );\n
+\t\t\t\t\t\t\tstart_transform = old_start_transform;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tif (gangle) {\n
+\t\t\t\t\ttlist.insertItemBefore(rnew, 0);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\t// else, it\'s a non-group\n
+\t\telse {\n
+\t\t\t// FIXME: box might be null for some elements (<metadata> etc), need to handle this\n
+\t\t\tvar box = canvas.getBBox(selected);\n
+\t\t\tif(!box) return null;\n
+\t\t\t\n
+\t\t\tvar oldcenter = {x: box.x+box.width/2, y: box.y+box.height/2},\n
+\t\t\t\tnewcenter = transformPoint(box.x+box.width/2, box.y+box.height/2,\n
+\t\t\t\t\t\t\t\ttransformListToTransform(tlist).matrix),\n
+\t\t\t\tm = svgroot.createSVGMatrix(),\n
+\t\t\t\t// temporarily strip off the rotate and save the old center\n
+\t\t\t\tangle = canvas.getRotationAngle(selected);\n
+\t\t\tif (angle) {\n
+\t\t\t\tvar a = angle * Math.PI / 180;\n
+\t\t\t\tif ( Math.abs(a) > (1.0e-10) ) {\n
+\t\t\t\t\tvar s = Math.sin(a)/(1 - Math.cos(a));\n
+\t\t\t\t} else {\n
+\t\t\t\t\t// FIXME: This blows up if the angle is exactly 0!\n
+\t\t\t\t\tvar s = 2/a;\n
+\t\t\t\t}\n
+\t\t\t\tfor (var i = 0; i < tlist.numberOfItems; ++i) {\n
+\t\t\t\t\tvar xform = tlist.getItem(i);\n
+\t\t\t\t\tif (xform.type == 4) {\n
+\t\t\t\t\t\t// extract old center through mystical arts\n
+\t\t\t\t\t\tvar rm = xform.matrix;\n
+\t\t\t\t\t\toldcenter.y = (s*rm.e + rm.f)/2;\n
+\t\t\t\t\t\toldcenter.x = (rm.e - s*rm.f)/2;\n
+\t\t\t\t\t\ttlist.removeItem(i);\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// 2 = translate, 3 = scale, 4 = rotate, 1 = matrix imposition\n
+\t\t\tvar operation = 0;\n
+\t\t\tvar N = tlist.numberOfItems;\n
+\t\t\t\n
+\t\t\t\n
+\t\t\t// Check if it has a gradient with userSpaceOnUse, in which case\n
+\t\t\t// adjust it by recalculating the matrix transform.\n
+\t\t\t// TODO: Make this work in Webkit using SVGEditTransformList\n
+\t\t\tif(!isWebkit) {\n
+\t\t\t\tvar fill = selected.getAttribute(\'fill\');\n
+\t\t\t\tif(fill && fill.indexOf(\'url(\') === 0) {\n
+\t\t\t\t\tvar grad = getElem(getUrlFromAttr(fill).substr(1));\n
+\t\t\t\t\tif(grad.getAttribute(\'gradientUnits\') === \'userSpaceOnUse\') {\n
+\t\t\t\t\t\t//Update the userSpaceOnUse element\n
+\t\t\t\t\t\tvar grad = $(grad);\n
+\t\t\t\t\t\tm = transformListToTransform(tlist).matrix;\n
+\t\t\t\t\t\tvar gtlist = canvas.getTransformList(grad[0]);\n
+\t\t\t\t\t\tvar gmatrix = transformListToTransform(gtlist).matrix;\n
+\t\t\t\t\t\tm = matrixMultiply(m, gmatrix);\n
+\t\t\t\t\t\tvar m_str = "matrix(" + [m.a,m.b,m.c,m.d,m.e,m.f].join(",") + ")";\n
+\t\t\t\t\t\tgrad.attr(\'gradientTransform\', m_str);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// first, if it was a scale of a non-skewed element, then the second-last  \n
+\t\t\t// transform will be the [S]\n
+\t\t\t// if we had [M][T][S][T] we want to extract the matrix equivalent of\n
+\t\t\t// [T][S][T] and push it down to the element\n
+\t\t\tif (N >= 3 && tlist.getItem(N-2).type == 3 && \n
+\t\t\t\ttlist.getItem(N-3).type == 2 && tlist.getItem(N-1).type == 2 &&\n
+\t\t\t\tselected.nodeName != "use") \n
+\t\t\t{\n
+\t\t\t\toperation = 3; // scale\n
+\t\t\t\tm = transformListToTransform(tlist,N-3,N-1).matrix;\n
+\t\t\t\ttlist.removeItem(N-1);\n
+\t\t\t\ttlist.removeItem(N-2);\n
+\t\t\t\ttlist.removeItem(N-3);\n
+\t\t\t} // if we had [T][S][-T][M], then this was a skewed element being resized\n
+\t\t\t// Thus, we simply combine it all into one matrix\n
+\t\t\telse if(N == 4 && tlist.getItem(N-1).type == 1) {\n
+\t\t\t\toperation = 3; // scale\n
+\t\t\t\tm = transformListToTransform(tlist).matrix;\n
+\t\t\t\tvar e2t = svgroot.createSVGTransform();\n
+\t\t\t\te2t.setMatrix(m);\n
+\t\t\t\ttlist.clear();\n
+\t\t\t\ttlist.appendItem(e2t);\n
+\t\t\t\t// reset the matrix so that the element is not re-mapped\n
+\t\t\t\tm = svgroot.createSVGMatrix();\n
+\t\t\t} // if we had [R][T][S][-T][M], then this was a rotated matrix-element  \n
+\t\t\t// if we had [T1][M] we want to transform this into [M][T2]\n
+\t\t\t// therefore [ T2 ] = [ M_inv ] [ T1 ] [ M ] and we can push [T2] \n
+\t\t\t// down to the element\n
+\t\t\telse if ( (N == 1 || (N > 1 && tlist.getItem(1).type != 3)) && \n
+\t\t\t\ttlist.getItem(0).type == 2) \n
+\t\t\t{\n
+\t\t\t\toperation = 2; // translate\n
+\t\t\t\tvar oldxlate = tlist.getItem(0).matrix,\n
+\t\t\t\t\tmeq = transformListToTransform(tlist,1).matrix,\n
+\t\t\t\t\tmeq_inv = meq.inverse();\n
+\t\t\t\tm = matrixMultiply( meq_inv, oldxlate, meq );\n
+\t\t\t\ttlist.removeItem(0);\n
+\t\t\t}\n
+\t\t\t// else if this child now has a matrix imposition (from a parent group)\n
+\t\t\t// we might be able to simplify\n
+\t\t\telse if (N == 1 && tlist.getItem(0).type == 1 && !angle) {\n
+\t\t\t\t// Remap all point-based elements\n
+\t\t\t\tm = transformListToTransform(tlist).matrix;\n
+\t\t\t\tswitch (selected.tagName) {\n
+\t\t\t\t\tcase \'line\':\n
+\t\t\t\t\t\tchanges = $(selected).attr(["x1","y1","x2","y2"]);\n
+\t\t\t\t\tcase \'polyline\':\n
+\t\t\t\t\tcase \'polygon\':\n
+\t\t\t\t\t\tchanges.points = selected.getAttribute("points");\n
+\t\t\t\t\t\tif(changes.points) {\n
+\t\t\t\t\t\t\tvar list = selected.points;\n
+\t\t\t\t\t\t\tvar len = list.numberOfItems;\n
+\t\t\t\t\t\t\tchanges.points = new Array(len);\n
+\t\t\t\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\t\t\t\tvar pt = list.getItem(i);\n
+\t\t\t\t\t\t\t\tchanges.points[i] = {x:pt.x,y:pt.y};\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\tcase \'path\':\n
+\t\t\t\t\t\tchanges.d = selected.getAttribute("d");\n
+\t\t\t\t\t\toperation = 1;\n
+\t\t\t\t\t\ttlist.clear();\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t\tdefault:\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t// if it was a rotation, put the rotate back and return without a command\n
+\t\t\t// (this function has zero work to do for a rotate())\n
+\t\t\telse {\n
+\t\t\t\toperation = 4; // rotation\n
+\t\t\t\tif (angle) {\n
+\t\t\t\t\tvar newRot = svgroot.createSVGTransform();\n
+\t\t\t\t\tnewRot.setRotate(angle,newcenter.x,newcenter.y);\n
+\t\t\t\t\ttlist.insertItemBefore(newRot, 0);\n
+\t\t\t\t}\n
+\t\t\t\tif (tlist.numberOfItems == 0) {\n
+\t\t\t\t\tselected.removeAttribute("transform");\n
+\t\t\t\t}\n
+\t\t\t\treturn null;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// if it was a translate or resize, we need to remap the element and absorb the xform\n
+\t\t\tif (operation == 1 || operation == 2 || operation == 3) {\n
+\t\t\t\tremapElement(selected,changes,m);\n
+\t\t\t} // if we are remapping\n
+\t\t\t\n
+\t\t\t// if it was a translate, put back the rotate at the new center\n
+\t\t\tif (operation == 2) {\n
+\t\t\t\tif (angle) {\n
+\t\t\t\t\tnewcenter = {\n
+\t\t\t\t\t\tx: oldcenter.x + m.e,\n
+\t\t\t\t\t\ty: oldcenter.y + m.f\n
+\t\t\t\t\t};\n
+\t\t\t\t\tvar newRot = svgroot.createSVGTransform();\n
+\t\t\t\t\tnewRot.setRotate(angle, newcenter.x, newcenter.y);\n
+\t\t\t\t\ttlist.insertItemBefore(newRot, 0);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t// [Rold][M][T][S][-T] became [Rold][M]\n
+\t\t\t// we want it to be [Rnew][M][Tr] where Tr is the\n
+\t\t\t// translation required to re-center it\n
+\t\t\t// Therefore, [Tr] = [M_inv][Rnew_inv][Rold][M]\n
+\t\t\telse if (operation == 3) {\n
+\t\t\t\tvar m = transformListToTransform(tlist).matrix;\n
+\t\t\t\tvar roldt = svgroot.createSVGTransform();\n
+\t\t\t\troldt.setRotate(angle, oldcenter.x, oldcenter.y);\n
+\t\t\t\tvar rold = roldt.matrix;\n
+\t\t\t\tvar rnew = svgroot.createSVGTransform();\n
+\t\t\t\trnew.setRotate(angle, newcenter.x, newcenter.y);\n
+\t\t\t\tvar rnew_inv = rnew.matrix.inverse();\n
+\t\t\t\tvar m_inv = m.inverse();\n
+\t\t\t\tvar extrat = matrixMultiply(m_inv, rnew_inv, rold, m);\n
+\t\t\t\n
+\t\t\t\tremapElement(selected,changes,extrat);\n
+\t\t\t\tif (angle) {\n
+\t\t\t\t\ttlist.insertItemBefore(rnew,0);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t} // a non-group\n
+\n
+\t\t// if the transform list has been emptied, remove it\n
+\t\tif (tlist.numberOfItems == 0) {\n
+\t\t\tselected.removeAttribute("transform");\n
+\t\t}\n
+\t\tbatchCmd.addSubCommand(new ChangeElementCommand(selected, initial));\n
+\t\t\n
+\t\treturn batchCmd;\n
+\t};\n
+\n
+// public events\n
+\n
+\t// Group: Selection\n
+\n
+\t// Function: clearSelection\n
+\t// Clears the selection.  The \'selected\' handler is then called.\n
+\tthis.clearSelection = function(noCall) {\n
+\t\tif (selectedElements[0] != null) {\n
+\t\t\tvar len = selectedElements.length;\n
+\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\tvar elem = selectedElements[i];\n
+\t\t\t\tif (elem == null) break;\n
+\t\t\t\tselectorManager.releaseSelector(elem);\n
+\t\t\t\tselectedElements[i] = null;\n
+\t\t\t}\n
+\t\t\tselectedBBoxes[0] = null;\n
+\t\t}\n
+\t\tif(!noCall) call("selected", selectedElements);\n
+\t};\n
+\n
+\t// TODO: do we need to worry about selectedBBoxes here?\n
+\t\n
+\t// Function: addToSelection\n
+\t// Adds a list of elements to the selection.  The \'selected\' handler is then called.\n
+\t//\n
+\t// Parameters:\n
+\t// elemsToAdd - an array of DOM elements to add to the selection\n
+\t// showGrips - a boolean flag indicating whether the resize grips should be shown\n
+\tthis.addToSelection = function(elemsToAdd, showGrips) {\n
+\t\tif (elemsToAdd.length == 0) { return; }\n
+\t\t// find the first null in our selectedElements array\n
+\t\tvar j = 0;\n
+\t\twhile (j < selectedElements.length) {\n
+\t\t\tif (selectedElements[j] == null) { \n
+\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t\t++j;\n
+\t\t}\n
+\n
+\t\t// now add each element consecutively\n
+\t\tvar i = elemsToAdd.length;\n
+\t\twhile (i--) {\n
+\t\t\tvar elem = elemsToAdd[i];\n
+\t\t\tif (!elem || !this.getBBox(elem)) continue;\n
+\t\t\t// if it\'s not already there, add it\n
+\t\t\tif (selectedElements.indexOf(elem) == -1) {\n
+\t\t\t\tselectedElements[j] = elem;\n
+\t\t\t\t// only the first selectedBBoxes element is ever used in the codebase these days\n
+\t\t\t\tif (j == 0) selectedBBoxes[j] = this.getBBox(elem);\n
+\t\t\t\tj++;\n
+\t\t\t\tvar sel = selectorManager.requestSelector(elem);\n
+\t\t\n
+\t\t\t\tif (selectedElements.length > 1) {\n
+\t\t\t\t\tsel.showGrips(false);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\tif(selectedElements[0] && selectedElements.length === 1 && selectedElements[0].tagName == \'a\') {\n
+\t\t\t// Make "a" element\'s child be the selected element \n
+\t\t\tselectedElements[0] = selectedElements[0].firstChild;\n
+\t\t}\n
+\t\t\n
+\t\tcall("selected", selectedElements);\n
+\t\t\n
+\t\tif (showGrips || selectedElements.length == 1) {\n
+\t\t\tselectorManager.requestSelector(selectedElements[0]).showGrips(true);\n
+\t\t}\n
+\t\telse {\n
+\t\t\tselectorManager.requestSelector(selectedElements[0]).showGrips(false);\n
+\t\t}\n
+\n
+\t\t// make sure the elements are in the correct order\n
+\t\t// See: http://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition\n
+\t\n
+\t\tselectedElements.sort(function(a,b) {\n
+\t\t\tif(a && b && a.compareDocumentPosition) {\n
+\t\t\t\treturn 3 - (b.compareDocumentPosition(a) & 6);\t\n
+\t\t\t} else if(a == null) {\n
+\t\t\t\treturn 1;\n
+\t\t\t}\n
+\t\t});\n
+\t\t\n
+\t\t// Make sure first elements are not null\n
+\t\twhile(selectedElements[0] == null) selectedElements.shift(0);\n
+\t};\n
+\n
+\t// TODO: could use slice here to make this faster?\n
+\t// TODO: should the \'selected\' handler\n
+\t\n
+\t// Function: removeFromSelection\n
+\t// Removes elements from the selection.\n
+\t//\n
+\t// Parameters:\n
+\t// elemsToRemove - an array of elements to remove from selection\n
+\tthis.removeFromSelection = function(elemsToRemove) {\n
+\t\tif (selectedElements[0] == null) { return; }\n
+\t\tif (elemsToRemove.length == 0) { return; }\n
+\n
+\t\t// find every element and remove it from our array copy\n
+\t\tvar newSelectedItems = new Array(selectedElements.length),\n
+\t\t\tnewSelectedBBoxes = new Array(selectedBBoxes.length),\n
+\t\t\tj = 0,\n
+\t\t\tlen = selectedElements.length;\n
+\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\tvar elem = selectedElements[i];\n
+\t\t\tif (
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>next</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+elem) {\n
+\t\t\t\t// keep the item\n
+\t\t\t\tif (elemsToRemove.indexOf(elem) == -1) {\n
+\t\t\t\t\tnewSelectedItems[j] = elem;\n
+\t\t\t\t\tif (j==0) newSelectedBBoxes[j] = selectedBBoxes[i];\n
+\t\t\t\t\tj++;\n
+\t\t\t\t}\n
+\t\t\t\telse { // remove the item and its selector\n
+\t\t\t\t\tselectorManager.releaseSelector(elem);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\t// the copy becomes the master now\n
+\t\tselectedElements = newSelectedItems;\n
+\t\tselectedBBoxes = newSelectedBBoxes;\n
+\t};\n
+\t\n
+\t// Some global variables that we may need to refactor\n
+\tvar root_sctm = null;\n
+\n
+\t// A (hopefully) quicker function to transform a point by a matrix\n
+\t// (this function avoids any DOM calls and just does the math)\n
+\t// Returns a x,y object representing the transformed point\n
+\tvar transformPoint = function(x, y, m) {\n
+\t\treturn { x: m.a * x + m.c * y + m.e, y: m.b * x + m.d * y + m.f};\n
+\t};\n
+\t\n
+\tvar isIdentity = function(m) {\n
+\t\treturn (m.a == 1 && m.b == 0 && m.c == 0 && m.d == 1 && m.e == 0 && m.f == 0);\n
+\t}\n
+\t\n
+\t// expects three points to be sent, each point must have an x,y field\n
+\t// returns an array of two points that are the smoothed\n
+\tthis.smoothControlPoints = function(ct1, ct2, pt) {\n
+\t\t// each point must not be the origin\n
+\t\tvar x1 = ct1.x - pt.x,\n
+\t\t\ty1 = ct1.y - pt.y,\n
+\t\t\tx2 = ct2.x - pt.x,\n
+\t\t\ty2 = ct2.y - pt.y;\n
+\t\t\t\n
+\t\tif ( (x1 != 0 || y1 != 0) && (x2 != 0 || y2 != 0) ) {\n
+\t\t\tvar anglea = Math.atan2(y1,x1),\n
+\t\t\t\tangleb = Math.atan2(y2,x2),\n
+\t\t\t\tr1 = Math.sqrt(x1*x1+y1*y1),\n
+\t\t\t\tr2 = Math.sqrt(x2*x2+y2*y2),\n
+\t\t\t\tnct1 = svgroot.createSVGPoint(),\n
+\t\t\t\tnct2 = svgroot.createSVGPoint();\t\t\t\t\n
+\t\t\tif (anglea < 0) { anglea += 2*Math.PI; }\n
+\t\t\tif (angleb < 0) { angleb += 2*Math.PI; }\n
+\t\t\t\n
+\t\t\tvar angleBetween = Math.abs(anglea - angleb),\n
+\t\t\t\tangleDiff = Math.abs(Math.PI - angleBetween)/2;\n
+\t\t\t\n
+\t\t\tvar new_anglea, new_angleb;\n
+\t\t\tif (anglea - angleb > 0) {\n
+\t\t\t\tnew_anglea = angleBetween < Math.PI ? (anglea + angleDiff) : (anglea - angleDiff);\n
+\t\t\t\tnew_angleb = angleBetween < Math.PI ? (angleb - angleDiff) : (angleb + angleDiff);\n
+\t\t\t}\n
+\t\t\telse {\n
+\t\t\t\tnew_anglea = angleBetween < Math.PI ? (anglea - angleDiff) : (anglea + angleDiff);\n
+\t\t\t\tnew_angleb = angleBetween < Math.PI ? (angleb + angleDiff) : (angleb - angleDiff);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// rotate the points\n
+\t\t\tnct1.x = r1 * Math.cos(new_anglea) + pt.x;\n
+\t\t\tnct1.y = r1 * Math.sin(new_anglea) + pt.y;\n
+\t\t\tnct2.x = r2 * Math.cos(new_angleb) + pt.x;\n
+\t\t\tnct2.y = r2 * Math.sin(new_angleb) + pt.y;\n
+\t\t\t\n
+\t\t\treturn [nct1, nct2];\n
+\t\t}\n
+\t\treturn undefined;\n
+\t};\n
+\tvar smoothControlPoints = this.smoothControlPoints;\n
+\t\t\n
+\n
+\t// matrixMultiply() is provided because WebKit didn\'t implement multiply() correctly\n
+\t// on the SVGMatrix interface.  See https://bugs.webkit.org/show_bug.cgi?id=16062\n
+\t// This function tries to return a SVGMatrix that is the multiplication m1*m2.\n
+\t// We also round to zero when it\'s near zero\n
+\tthis.matrixMultiply = function() {\n
+\t\tvar NEAR_ZERO = 1e-14,\n
+\t\t\tmulti2 = function(m1, m2) {\n
+\t\t\t\tvar m = svgroot.createSVGMatrix();\n
+\t\t\t\tm.a = m1.a*m2.a + m1.c*m2.b;\n
+\t\t\t\tm.b = m1.b*m2.a + m1.d*m2.b,\n
+\t\t\t\tm.c = m1.a*m2.c + m1.c*m2.d,\n
+\t\t\t\tm.d = m1.b*m2.c + m1.d*m2.d,\n
+\t\t\t\tm.e = m1.a*m2.e + m1.c*m2.f + m1.e,\n
+\t\t\t\tm.f = m1.b*m2.e + m1.d*m2.f + m1.f;\n
+\t\t\t\treturn m;\n
+\t\t\t},\n
+\t\t\targs = arguments, i = args.length, m = args[i-1];\n
+\t\t\n
+\t\twhile(i-- > 1) {\n
+\t\t\tvar m1 = args[i-1];\n
+\t\t\tm = multi2(m1, m);\n
+\t\t}\n
+\t\tif (Math.abs(m.a) < NEAR_ZERO) m.a = 0;\n
+\t\tif (Math.abs(m.b) < NEAR_ZERO) m.b = 0;\n
+\t\tif (Math.abs(m.c) < NEAR_ZERO) m.c = 0;\n
+\t\tif (Math.abs(m.d) < NEAR_ZERO) m.d = 0;\n
+\t\tif (Math.abs(m.e) < NEAR_ZERO) m.e = 0;\n
+\t\tif (Math.abs(m.f) < NEAR_ZERO) m.f = 0;\n
+\t\t\n
+\t\treturn m;\n
+\t}\n
+\tvar matrixMultiply = this.matrixMultiply;\n
+\t\n
+\t// This returns a single matrix Transform for a given Transform List\n
+\t// (this is the equivalent of SVGTransformList.consolidate() but unlike\n
+\t//  that method, this one does not modify the actual SVGTransformList)\n
+\t// This function is very liberal with its min,max arguments\n
+\tvar transformListToTransform = function(tlist, min, max) {\n
+\t\tvar min = min == undefined ? 0 : min;\n
+\t\tvar max = max == undefined ? (tlist.numberOfItems-1) : max;\n
+\t\tmin = parseInt(min);\n
+\t\tmax = parseInt(max);\n
+\t\tif (min > max) { var temp = max; max = min; min = temp; }\n
+\t\tvar m = svgroot.createSVGMatrix();\n
+\t\tfor (var i = min; i <= max; ++i) {\n
+\t\t\t// if our indices are out of range, just use a harmless identity matrix\n
+\t\t\tvar mtom = (i >= 0 && i < tlist.numberOfItems ? \n
+\t\t\t\t\t\t\ttlist.getItem(i).matrix :\n
+\t\t\t\t\t\t\tsvgroot.createSVGMatrix());\n
+\t\t\tm = matrixMultiply(m, mtom);\n
+\t\t}\n
+\t\treturn svgroot.createSVGTransformFromMatrix(m);\n
+\t};\n
+\t\n
+\tvar hasMatrixTransform = function(tlist) {\n
+\t\tif(!tlist) return false;\n
+\t\tvar num = tlist.numberOfItems;\n
+\t\twhile (num--) {\n
+\t\t\tvar xform = tlist.getItem(num);\n
+\t\t\tif (xform.type == 1 && !isIdentity(xform.matrix)) return true;\n
+\t\t}\n
+\t\treturn false;\n
+\t}\n
+\t\n
+\tvar getMatrix = function(elem) {\n
+\t\tvar tlist = canvas.getTransformList(elem);\n
+\t\treturn transformListToTransform(tlist).matrix;\n
+\t}\n
+\t\n
+    // FIXME: this should not have anything to do with zoom here - update the one place it is used this way\n
+    // converts a tiny object equivalent of a SVGTransform\n
+\t// has the following properties:\n
+\t// - tx, ty, sx, sy, angle, cx, cy, string\n
+\tvar transformToObj = function(xform, mZoom) {\n
+\t\tvar m = xform.matrix,\n
+\t\t\ttobj = {tx:0,ty:0,sx:1,sy:1,angle:0,cx:0,cy:0,text:""},\n
+\t\t\tz = mZoom?current_zoom:1;\n
+\t\tswitch(xform.type) {\n
+\t\t\tcase 1: // MATRIX\n
+\t\t\t\ttobj.text = "matrix(" + [m.a,m.b,m.c,m.d,m.e,m.f].join(",") + ")";\n
+\t\t\t\tbreak;\n
+\t\t\tcase 2: // TRANSLATE\n
+\t\t\t\ttobj.tx = m.e;\n
+\t\t\t\ttobj.ty = m.f;\n
+\t\t\t\ttobj.text = "translate(" + m.e*z + "," + m.f*z + ")";\n
+\t\t\t\tbreak;\n
+\t\t\tcase 3: // SCALE\n
+\t\t\t\ttobj.sx = m.a;\n
+\t\t\t\ttobj.sy = m.d;\n
+\t\t\t\tif (m.a == m.d) tobj.text = "scale(" + m.a + ")";\n
+\t\t\t\telse tobj.text = "scale(" + m.a + "," + m.d + ")";\n
+\t\t\t\tbreak;\n
+\t\t\tcase 4: // ROTATE\n
+\t\t\t\ttobj.angle = xform.angle;\n
+\t\t\t\t// this prevents divide by zero\n
+\t\t\t\tif (xform.angle != 0) {\n
+\t\t\t\t\tvar K = 1 - m.a;\n
+\t\t\t\t\ttobj.cy = ( K * m.f + m.b*m.e ) / ( K*K + m.b*m.b );\n
+\t\t\t\t\ttobj.cx = ( m.e - m.b * tobj.cy ) / K;\n
+\t\t\t\t}\n
+\t\t\t\ttobj.text = "rotate(" + xform.angle + " " + tobj.cx*z + "," + tobj.cy*z + ")";\n
+\t\t\t\tbreak;\n
+\t\t}\n
+\t\treturn tobj;\n
+\t};\n
+\t\n
+\tvar transformBox = function(l, t, w, h, m) {\n
+\t\tvar topleft = {x:l,y:t},\n
+\t\t\ttopright = {x:(l+w),y:t},\n
+\t\t\tbotright = {x:(l+w),y:(t+h)},\n
+\t\t\tbotleft = {x:l,y:(t+h)};\n
+\t\ttopleft = transformPoint( topleft.x, topleft.y, m );\n
+\t\tvar minx = topleft.x,\n
+\t\t\tmaxx = topleft.x,\n
+\t\t\tminy = topleft.y,\n
+\t\t\tmaxy = topleft.y;\n
+\t\ttopright = transformPoint( topright.x, topright.y, m );\n
+\t\tminx = Math.min(minx, topright.x);\n
+\t\tmaxx = Math.max(maxx, topright.x);\n
+\t\tminy = Math.min(miny, topright.y);\n
+\t\tmaxy = Math.max(maxy, topright.y);\n
+\t\tbotleft = transformPoint( botleft.x, botleft.y, m);\n
+\t\tminx = Math.min(minx, botleft.x);\n
+\t\tmaxx = Math.max(maxx, botleft.x);\n
+\t\tminy = Math.min(miny, botleft.y);\n
+\t\tmaxy = Math.max(maxy, botleft.y);\n
+\t\tbotright = transformPoint( botright.x, botright.y, m );\n
+\t\tminx = Math.min(minx, botright.x);\n
+\t\tmaxx = Math.max(maxx, botright.x);\n
+\t\tminy = Math.min(miny, botright.y);\n
+\t\tmaxy = Math.max(maxy, botright.y);\n
+\n
+\t\treturn {tl:topleft, tr:topright, bl:botleft, br:botright, \n
+\t\t\t\taabox: {x:minx, y:miny, width:(maxx-minx), height:(maxy-miny)} };\n
+\t};\n
+\t\n
+\tvar getMouseTarget = function(evt) {\n
+\t\tif (evt == null) {\n
+\t\t\treturn null;\n
+\t\t}\n
+\t\tvar mouse_target = evt.target;\n
+\t\t\n
+\t\t// if it was a <use>, Opera and WebKit return the SVGElementInstance\n
+\t\tif (mouse_target.correspondingUseElement)\n
+\t\t\n
+\t\tmouse_target = mouse_target.correspondingUseElement;\n
+\t\t// for foreign content, go up until we find the foreignObject\n
+\t\t// WebKit browsers set the mouse target to the svgcanvas div \n
+\t\tif ($.inArray(mouse_target.namespaceURI, [mathns, htmlns]) != -1 && \n
+\t\t\tmouse_target.id != "svgcanvas") \n
+\t\t{\n
+\t\t\twhile (mouse_target.nodeName != "foreignObject") {\n
+\t\t\t\tmouse_target = mouse_target.parentNode;\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\t// go up until we hit a child of a layer\n
+\t\twhile (mouse_target.parentNode.parentNode.tagName == "g") {\n
+\t\t\tmouse_target = mouse_target.parentNode;\n
+\t\t}\n
+\t\t// Webkit bubbles the mouse event all the way up to the div, so we\n
+\t\t// set the mouse_target to the svgroot like the other browsers\n
+\t\tif (mouse_target.nodeName.toLowerCase() == "div") {\n
+\t\t\tmouse_target = svgroot;\n
+\t\t}\n
+\t\t\n
+\t\treturn mouse_target;\n
+\t};\n
+\n
+\t// Mouse events\n
+\t(function() {\n
+\t\t\n
+\t\tvar d_attr = null,\n
+\t\t\tstart_x = null,\n
+\t\t\tstart_y = null,\n
+\t\t\tinit_bbox = {},\n
+\t\t\tfreehand = {\n
+\t\t\t\tminx: null,\n
+\t\t\t\tminy: null,\n
+\t\t\t\tmaxx: null,\n
+\t\t\t\tmaxy: null\n
+\t\t\t};\n
+\t\t\n
+\t\t// - when we are in a create mode, the element is added to the canvas\n
+\t\t//   but the action is not recorded until mousing up\n
+\t\t// - when we are in select mode, select the element, remember the position\n
+\t\t//   and do nothing else\n
+\t\tvar mouseDown = function(evt)\n
+\t\t{\n
+\t\t\tif(evt.button === 1 || canvas.spaceKey) return;\n
+\t\t\troot_sctm = svgcontent.getScreenCTM().inverse();\n
+\t\t\tvar pt = transformPoint( evt.pageX, evt.pageY, root_sctm ),\n
+\t\t\t\tmouse_x = pt.x * current_zoom,\n
+\t\t\t\tmouse_y = pt.y * current_zoom;\n
+\t\t\tevt.preventDefault();\n
+\t\t\n
+\t\t\tif($.inArray(current_mode, [\'select\', \'resize\']) == -1) {\n
+\t\t\t\taddGradient();\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar x = mouse_x / current_zoom,\n
+\t\t\t\ty = mouse_y / current_zoom,\n
+\t\t\t\tmouse_target = getMouseTarget(evt);\n
+\t\t\t\n
+\t\t\tstart_x = x;\n
+\t\t\tstart_y = y;\n
+\t\n
+\t\t\t// if it is a selector grip, then it must be a single element selected, \n
+\t\t\t// set the mouse_target to that and update the mode to rotate/resize\n
+\t\t\tif (mouse_target.parentNode == selectorManager.selectorParentGroup && selectedElements[0] != null) {\n
+\t\t\t\tvar gripid = evt.target.id,\n
+\t\t\t\t\tgriptype = gripid.substr(0,20);\n
+\t\t\t\t// rotating\n
+\t\t\t\tif (griptype == "selectorGrip_rotate_") {\n
+\t\t\t\t\tcurrent_mode = "rotate";\n
+\t\t\t\t}\n
+\t\t\t\t// resizing\n
+\t\t\t\telse if(griptype == "selectorGrip_resize_") {\n
+\t\t\t\t\tcurrent_mode = "resize";\n
+\t\t\t\t\tcurrent_resize_mode = gripid.substr(20,gripid.indexOf("_",20)-20);\n
+\t\t\t\t}\n
+\t\t\t\tmouse_target = selectedElements[0];\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tstart_transform = mouse_target.getAttribute("transform");\n
+\t\t\tvar tlist = canvas.getTransformList(mouse_target);\n
+\t\t\tswitch (current_mode) {\n
+\t\t\t\tcase "select":\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tcurrent_resize_mode = "none";\n
+\t\t\t\t\t\n
+\t\t\t\t\tif (mouse_target != svgroot) {\n
+\t\t\t\t\t\t// if this element is not yet selected, clear selection and select it\n
+\t\t\t\t\t\tif (selectedElements.indexOf(mouse_target) == -1) {\n
+\t\t\t\t\t\t\t// only clear selection if shift is not pressed (otherwise, add \n
+\t\t\t\t\t\t\t// element to selection)\n
+\t\t\t\t\t\t\tif (!evt.shiftKey) {\n
+\t\t\t\t\t\t\t\t// No need to do the call here as it will be done on addToSelection\n
+\t\t\t\t\t\t\t\tcanvas.clearSelection(true);\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\tcanvas.addToSelection([mouse_target]);\n
+\t\t\t\t\t\t\tjustSelected = mouse_target;\n
+\t\t\t\t\t\t\tpathActions.clear();\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t// else if it\'s a path, go into pathedit mode in mouseup\n
+\t\n
+\t\t\t\t\t\t// insert a dummy transform so if the element(s) are moved it will have\n
+\t\t\t\t\t\t// a transform to use for its translate\n
+\t\t\t\t\t\tfor (var i = 0; i < selectedElements.length; ++i) {\n
+\t\t\t\t\t\t\tif(selectedElements[i] == null) continue;\n
+\t\t\t\t\t\t\tvar slist = canvas.getTransformList(selectedElements[i]);\n
+\t\t\t\t\t\t\tslist.insertItemBefore(svgroot.createSVGTransform(), 0);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse {\n
+\t\t\t\t\t\tcanvas.clearSelection();\n
+\t\t\t\t\t\tcurrent_mode = "multiselect";\n
+\t\t\t\t\t\tif (rubberBox == null) {\n
+\t\t\t\t\t\t\trubberBox = selectorManager.getRubberBandBox();\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tstart_x *= current_zoom;\n
+\t\t\t\t\t\tstart_y *= current_zoom;\n
+\t\t\t\t\t\tassignAttributes(rubberBox, {\n
+\t\t\t\t\t\t\t\'x\': start_x,\n
+\t\t\t\t\t\t\t\'y\': start_y,\n
+\t\t\t\t\t\t\t\'width\': 0,\n
+\t\t\t\t\t\t\t\'height\': 0,\n
+\t\t\t\t\t\t\t\'display\': \'inline\'\n
+\t\t\t\t\t\t}, 100);\n
+\t\t\t\t\t}\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "zoom": \n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tstart_x = x;\n
+\t\t\t\t\tstart_y = y;\n
+\t\t\t\t\tif (rubberBox == null) {\n
+\t\t\t\t\t\trubberBox = selectorManager.getRubberBandBox();\n
+\t\t\t\t\t}\n
+\t\t\t\t\tassignAttributes(rubberBox, {\n
+\t\t\t\t\t\t\t\'x\': start_x * current_zoom,\n
+\t\t\t\t\t\t\t\'y\': start_y * current_zoom,\n
+\t\t\t\t\t\t\t\'width\': 0,\n
+\t\t\t\t\t\t\t\'height\': 0,\n
+\t\t\t\t\t\t\t\'display\': \'inline\'\n
+\t\t\t\t\t}, 100);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "resize":\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tstart_x = x;\n
+\t\t\t\t\tstart_y = y;\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Getting the BBox from the selection box, since we know we\n
+\t\t\t\t\t// want to orient around it\n
+\t\t\t\t\tinit_bbox = canvas.getBBox($(\'#selectedBox0\')[0]);\n
+\t\t\t\t\t$.each(init_bbox, function(key, val) {\n
+\t\t\t\t\t\tinit_bbox[key] = val/current_zoom;\n
+\t\t\t\t\t});\n
+\t\t\t\t\t\n
+\t\t\t\t\t// append three dummy transforms to the tlist so that\n
+\t\t\t\t\t// we can translate,scale,translate in mousemove\n
+\t\t\t\t\tvar pos = canvas.getRotationAngle(mouse_target)?1:0;\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(hasMatrixTransform(tlist)) {\n
+\t\t\t\t\t\ttlist.insertItemBefore(svgroot.createSVGTransform(), pos);\n
+\t\t\t\t\t\ttlist.insertItemBefore(svgroot.createSVGTransform(), pos);\n
+\t\t\t\t\t\ttlist.insertItemBefore(svgroot.createSVGTransform(), pos);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\ttlist.appendItem(svgroot.createSVGTransform());\n
+\t\t\t\t\t\ttlist.appendItem(svgroot.createSVGTransform());\n
+\t\t\t\t\t\ttlist.appendItem(svgroot.createSVGTransform());\n
+\t\t\t\t\t}\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "fhellipse":\n
+\t\t\t\tcase "fhrect":\n
+\t\t\t\tcase "fhpath":\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tstart_x = x;\n
+\t\t\t\t\tstart_y = y;\n
+\t\t\t\t\td_attr = x + "," + y + " ";\n
+\t\t\t\t\tvar stroke_w = cur_shape.stroke_width == 0?1:cur_shape.stroke_width;\n
+\t\t\t\t\taddSvgElementFromJson({\n
+\t\t\t\t\t\t"element": "polyline",\n
+\t\t\t\t\t\t"curStyles": true,\n
+\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t"points": d_attr,\n
+\t\t\t\t\t\t\t"id": getNextId(),\n
+\t\t\t\t\t\t\t"fill": "none",\n
+\t\t\t\t\t\t\t"opacity": cur_shape.opacity / 2,\n
+\t\t\t\t\t\t\t"stroke-linecap": "round",\n
+\t\t\t\t\t\t\t"style": "pointer-events:none"\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\tfreehand.minx = x;\n
+\t\t\t\t\tfreehand.maxx = x;\n
+\t\t\t\t\tfreehand.miny = y;\n
+\t\t\t\t\tfreehand.maxy = y;\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "image":\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tstart_x = x;\n
+\t\t\t\t\tstart_y = y;\n
+\t\t\t\t\tvar newImage = addSvgElementFromJson({\n
+\t\t\t\t\t\t"element": "image",\n
+\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t"x": x,\n
+\t\t\t\t\t\t\t"y": y,\n
+\t\t\t\t\t\t\t"width": 0,\n
+\t\t\t\t\t\t\t"height": 0,\n
+\t\t\t\t\t\t\t"id": getNextId(),\n
+\t\t\t\t\t\t\t"opacity": cur_shape.opacity / 2,\n
+\t\t\t\t\t\t\t"style": "pointer-events:inherit"\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\tnewImage.setAttributeNS(xlinkns, "xlink:href", last_good_img_url);\n
+\t\t\t\t\tpreventClickDefault(newImage);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "square":\n
+\t\t\t\t\t// FIXME: once we create the rect, we lose information that this was a square\n
+\t\t\t\t\t// (for resizing purposes this could be important)\n
+\t\t\t\tcase "rect":\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tstart_x = x;\n
+\t\t\t\t\tstart_y = y;\n
+\t\t\t\t\taddSvgElementFromJson({\n
+\t\t\t\t\t\t"element": "rect",\n
+\t\t\t\t\t\t"curStyles": true,\n
+\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t"x": x,\n
+\t\t\t\t\t\t\t"y": y,\n
+\t\t\t\t\t\t\t"width": 0,\n
+\t\t\t\t\t\t\t"height": 0,\n
+\t\t\t\t\t\t\t"id": getNextId(),\n
+\t\t\t\t\t\t\t"opacity": cur_shape.opacity / 2\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "line":\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tvar stroke_w = cur_shape.stroke_width == 0?1:cur_shape.stroke_width;\n
+\t\t\t\t\taddSvgElementFromJson({\n
+\t\t\t\t\t\t"element": "line",\n
+\t\t\t\t\t\t"curStyles": true,\n
+\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t"x1": x,\n
+\t\t\t\t\t\t\t"y1": y,\n
+\t\t\t\t\t\t\t"x2": x,\n
+\t\t\t\t\t\t\t"y2": y,\n
+\t\t\t\t\t\t\t"id": getNextId(),\n
+\t\t\t\t\t\t\t"stroke": cur_shape.stroke,\n
+\t\t\t\t\t\t\t"stroke-width": stroke_w,\n
+\t\t\t\t\t\t\t"stroke-dasharray": cur_shape.stroke_dasharray,\n
+\t\t\t\t\t\t\t"stroke-linejoin": cur_shape.stroke_linejoin,\n
+\t\t\t\t\t\t\t"stroke-linecap": cur_shape.stroke_linecap,\n
+\t\t\t\t\t\t\t"stroke-opacity": cur_shape.stroke_opacity,\n
+\t\t\t\t\t\t\t"fill": "none",\n
+\t\t\t\t\t\t\t"opacity": cur_shape.opacity / 2,\n
+\t\t\t\t\t\t\t"style": "pointer-events:none"\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "circle":\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\taddSvgElementFromJson({\n
+\t\t\t\t\t\t"element": "circle",\n
+\t\t\t\t\t\t"curStyles": true,\n
+\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t"cx": x,\n
+\t\t\t\t\t\t\t"cy": y,\n
+\t\t\t\t\t\t\t"r": 0,\n
+\t\t\t\t\t\t\t"id": getNextId(),\n
+\t\t\t\t\t\t\t"opacity": cur_shape.opacity / 2\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "ellipse":\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\taddSvgElementFromJson({\n
+\t\t\t\t\t\t"element": "ellipse",\n
+\t\t\t\t\t\t"curStyles": true,\n
+\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t"cx": x,\n
+\t\t\t\t\t\t\t"cy": y,\n
+\t\t\t\t\t\t\t"rx": 0,\n
+\t\t\t\t\t\t\t"ry": 0,\n
+\t\t\t\t\t\t\t"id": getNextId(),\n
+\t\t\t\t\t\t\t"opacity": cur_shape.opacity / 2\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "text":\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tvar newText = addSvgElementFromJson({\n
+\t\t\t\t\t\t"element": "text",\n
+\t\t\t\t\t\t"curStyles": true,\n
+\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t"x": x,\n
+\t\t\t\t\t\t\t"y": y,\n
+\t\t\t\t\t\t\t"id": getNextId(),\n
+\t\t\t\t\t\t\t"fill": cur_text.fill,\n
+\t\t\t\t\t\t\t"stroke-width": cur_text.stroke_width,\n
+\t\t\t\t\t\t\t"font-size": cur_text.font_size,\n
+\t\t\t\t\t\t\t"font-family": cur_text.font_family,\n
+\t\t\t\t\t\t\t"text-anchor": "middle",\n
+\t\t\t\t\t\t\t"xml:space": "preserve"\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+// \t\t\t\t\tnewText.textContent = "text";\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "path":\n
+\t\t\t\t\t// Fall through\n
+\t\t\t\tcase "pathedit":\n
+\t\t\t\t\tstart_x *= current_zoom;\n
+\t\t\t\t\tstart_y *= current_zoom;\n
+\t\t\t\t\tpathActions.mouseDown(evt, mouse_target, start_x, start_y);\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "textedit":\n
+\t\t\t\t\tstart_x *= current_zoom;\n
+\t\t\t\t\tstart_y *= current_zoom;\n
+\t\t\t\t\ttextActions.mouseDown(evt, mouse_target, start_x, start_y);\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "rotate":\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\t// we are starting an undoable change (a drag-rotation)\n
+\t\t\t\t\tcanvas.beginUndoableChange("transform", selectedElements);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tdefault:\n
+\t\t\t\t\t// This could occur in an extension\n
+\t\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar ext_result = runExtensions("mouseDown", {\n
+\t\t\t\tevent: evt,\n
+\t\t\t\tstart_x: start_x,\n
+\t\t\t\tstart_y: start_y,\n
+\t\t\t\tselectedElements: selectedElements\n
+\t\t\t}, true);\n
+\t\t\t\n
+\t\t\t$.each(ext_result, function(i, r) {\n
+\t\t\t\tif(r && r.started) {\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t};\n
+\n
+\t\t\n
+\t\t// in this function we do not record any state changes yet (but we do update\n
+\t\t// any elements that are still being created, moved or resized on the canvas)\n
+\t\t// TODO: svgcanvas should just retain a reference to the image being dragged instead\n
+\t\t// of the getId() and getElementById() funkiness - this will help us customize the ids \n
+\t\t// a little bit for squares and paths\n
+\t\tvar mouseMove = function(evt)\n
+\t\t{\n
+\t\t\tif (!started) return;\n
+\t\t\tif(evt.button === 1 || canvas.spaceKey) return;\n
+\t\t\tvar selected = selectedElements[0],\n
+\t\t\t\tpt = transformPoint( evt.pageX, evt.pageY, root_sctm ),\n
+\t\t\t\tmouse_x = pt.x * current_zoom,\n
+\t\t\t\tmouse_y = pt.y * current_zoom,\n
+\t\t\t\tshape = getElem(getId());\n
+\t\t\n
+\t\t\tx = mouse_x / current_zoom;\n
+\t\t\ty = mouse_y / current_zoom;\n
+\t\t\n
+\t\t\tevt.preventDefault();\n
+\t\t\t\n
+\t\t\tswitch (current_mode)\n
+\t\t\t{\n
+\t\t\t\tcase "select":\n
+\t\t\t\t\t// we temporarily use a translate on the element(s) being dragged\n
+\t\t\t\t\t// this transform is removed upon mousing up and the element is \n
+\t\t\t\t\t// relocated to the new location\n
+\t\t\t\t\tif (selectedElements[0] != null) {\n
+\t\t\t\t\t\tvar dx = x - start_x;\n
+\t\t\t\t\t\tvar dy = y - start_y;\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tif(evt.shiftKey) { var xya = Utils.snapToAngle(start_x,start_y,x,y); x=xya.x; y=xya.y; }\n
+\n
+\t\t\t\t\t\tif (dx != 0 || dy != 0) {\n
+\t\t\t\t\t\t\tvar len = selectedElements.length;\n
+\t\t\t\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\t\t\t\tvar selected = selectedElements[i];\n
+\t\t\t\t\t\t\t\tif (selected == null) break;\n
+\t\t\t\t\t\t\t\tif (i==0) {\n
+\t\t\t\t\t\t\t\t\tvar box = canvas.getBBox(selected);\n
+// \t\t\t\t\t\t\t\t\tselectedBBoxes[i].x = box.x + dx;\n
+// \t\t\t\t\t\t\t\t\tselectedBBoxes[i].y = box.y + dy;\n
+\t\t\t\t\t\t\t\t}\n
+\t\n
+\t\t\t\t\t\t\t\t// update the dummy transform in our transform list\n
+\t\t\t\t\t\t\t\t// to be a translate\n
+\t\t\t\t\t\t\t\tvar xform = svgroot.createSVGTransform();\n
+\t\t\t\t\t\t\t\tvar tlist = canvas.getTransformList(selected);\n
+\t\t\t\t\t\t\t\txform.setTranslate(dx,dy);\n
+\t\t\t\t\t\t\t\tif(tlist.numberOfItems) {\n
+\t\t\t\t\t\t\t\t\ttlist.replaceItem(xform, 0);\n
+\t\t\t\t\t\t\t\t\t// TODO: Webkit returns null here, find out why\n
+\t// \t\t\t\t\t\t\t\tconsole.log(selected.getAttribute("transform"))\n
+\t\n
+\t\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\t\ttlist.appendItem(xform);\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\t// update our internal bbox that we\'re tracking while dragging\n
+\t\t\t\t\t\t\t\tselectorManager.requestSelector(selected).resize();\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "multiselect":\n
+\t\t\t\t\tx *= current_zoom;\n
+\t\t\t\t\ty *= current_zoom;\n
+\t\t\t\t\tassignAttributes(rubberBox, {\n
+\t\t\t\t\t\t\'x\': Math.min(start_x,x),\n
+\t\t\t\t\t\t\'y\': Math.min(start_y,y),\n
+\t\t\t\t\t\t\'width\': Math.abs(x-start_x),\n
+\t\t\t\t\t\t\'height\': Math.abs(y-start_y)\n
+\t\t\t\t\t},100);\n
+\t\n
+\t\t\t\t\t// for each selected:\n
+\t\t\t\t\t// - if newList contains selected, do nothing\n
+\t\t\t\t\t// - if newList doesn\'t contain selected, remove it from selected\n
+\t\t\t\t\t// - for any newList that was not in selectedElements, add it to selected\n
+\t\t\t\t\tvar elemsToRemove = [], elemsToAdd = [],\n
+\t\t\t\t\t\tnewList = getIntersectionList(),\n
+\t\t\t\t\t\tlen = selectedElements.length;\n
+\t\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\t\tvar ind = newList.indexOf(selectedElements[i]);\n
+\t\t\t\t\t\tif (ind == -1) {\n
+\t\t\t\t\t\t\telemsToRemove.push(selectedElements[i]);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\telse {\n
+\t\t\t\t\t\t\tnewList[ind] = null;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tlen = newList.length;\n
+\t\t\t\t\tfor (i = 0; i < len; ++i) { if (newList[i]) elemsToAdd.push(newList[i]); }\n
+\t\t\t\t\t\n
+\t\t\t\t\tif (elemsToRemove.length > 0) \n
+\t\t\t\t\t\tcanvas.removeFromSelection(elemsToRemove);\n
+\t\t\t\t\t\n
+\t\t\t\t\tif (elemsToAdd.length > 0) \n
+\t\t\t\t\t\tcanvas.addToSelection(elemsToAdd);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "resize":\n
+\t\t\t\t\t// we track the resize bounding box and translate/scale the selected element\n
+\t\t\t\t\t// while the mouse is down, when mouse goes up, we use this to recalculate\n
+\t\t\t\t\t// the shape\'s coordinates\n
+\t\t\t\t\tvar tlist = canvas.getTransformList(selected),\n
+\t\t\t\t\t\thasMatrix = hasMatrixTransform(tlist),\n
+\t\t\t\t\t\tbox=hasMatrix?init_bbox:canvas.getBBox(selected), \n
+\t\t\t\t\t\tleft=box.x, top=box.y, width=box.width,\n
+\t\t\t\t\t\theight=box.height, dx=(x-start_x), dy=(y-start_y);\n
+\t\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t// if rotated, adjust the dx,dy values\n
+\t\t\t\t\tvar angle = canvas.getRotationAngle(selected);\n
+\t\t\t\t\tif (angle) {\n
+\t\t\t\t\t\tvar r = Math.sqrt( dx*dx + dy*dy ),\n
+\t\t\t\t\t\t\ttheta = Math.atan2(dy,dx) - angle * Math.PI / 180.0;\n
+\t\t\t\t\t\tdx = r * Math.cos(theta);\n
+\t\t\t\t\t\tdy = r * Math.sin(theta);\n
+\t\t\t\t\t}\n
+\t\n
+\t\t\t\t\t// if not stretching in y direction, set dy to 0\n
+\t\t\t\t\t// if not stretching in x direction, set dx to 0\n
+\t\t\t\t\tif(current_resize_mode.indexOf("n")==-1 && current_resize_mode.indexOf("s")==-1) {\n
+\t\t\t\t\t\tdy = 0;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tif(current_resize_mode.indexOf("e")==-1 && current_resize_mode.indexOf("w")==-1) {\n
+\t\t\t\t\t\tdx = 0;\n
+\t\t\t\t\t}\t\t\t\t\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar ts = null,\n
+\t\t\t\t\t\ttx = 0, ty = 0,\n
+\t\t\t\t\t\tsy = height ? (height+dy)/height : 1, \n
+\t\t\t\t\t\tsx = width ? (width+dx)/width : 1;\n
+\t\t\t\t\t// if we are dragging on the north side, then adjust the scale factor and ty\n
+\t\t\t\t\tif(current_resize_mode.indexOf("n") != -1) {\n
+\t\t\t\t\t\tsy = height ? (height-dy)/height : 1;\n
+\t\t\t\t\t\tty = height;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\t// if we dragging on the east side, then adjust the scale factor and tx\n
+\t\t\t\t\tif(current_resize_mode.indexOf("w") != -1) {\n
+\t\t\t\t\t\tsx = width ? (width-dx)/width : 1;\n
+\t\t\t\t\t\ttx = width;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\t// update the transform list with translate,scale,translate\n
+\t\t\t\t\tvar translateOrigin = svgroot.createSVGTransform(),\n
+\t\t\t\t\t\tscale = svgroot.createSVGTransform(),\n
+\t\t\t\t\t\ttranslateBack = svgroot.createSVGTransform();\n
+\t\t\t\t\ttranslateOrigin.setTranslate(-(left+tx),-(top+ty));\n
+\t\t\t\t\tif(evt.shiftKey) {\n
+\t\t\t\t\t\tif(sx == 1) sx = sy\n
+\t\t\t\t\t\telse sy = sx;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tscale.setScale(sx,sy);\n
+\t\t\t\t\t\n
+\t\t\t\t\ttranslateBack.setTranslate(left+tx,top+ty);\n
+\t\t\t\t\tif(hasMatrix) {\n
+\t\t\t\t\t\tvar diff = angle?1:0;\n
+\t\t\t\t\t\ttlist.replaceItem(translateOrigin, 2+diff);\n
+\t\t\t\t\t\ttlist.replaceItem(scale, 1+diff);\n
+\t\t\t\t\t\ttlist.replaceItem(translateBack, 0+diff);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tvar N = tlist.numberOfItems;\n
+\t\t\t\t\t\ttlist.replaceItem(translateBack, N-3);\n
+\t\t\t\t\t\ttlist.replaceItem(scale, N-2);\n
+\t\t\t\t\t\ttlist.replaceItem(translateOrigin, N-1);\n
+\t\t\t\t\t}\n
+\t\t\t\t\tvar selectedBBox = selectedBBoxes[0];\t\t\t\t\n
+\t\n
+\t\t\t\t\t// reset selected bbox top-left position\n
+\t\t\t\t\tselectedBBox.x = left;\n
+\t\t\t\t\tselectedBBox.y = top;\n
+\t\t\t\t\t\n
+\t\t\t\t\t// if this is a translate, adjust the box position\n
+\t\t\t\t\tif (tx) {\n
+\t\t\t\t\t\tselectedBBox.x += dx;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tif (ty) {\n
+\t\t\t\t\t\tselectedBBox.y += dy;\n
+\t\t\t\t\t}\n
+\t\n
+\t\t\t\t\tselectorManager.requestSelector(selected).resize();\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "zoom":\n
+\t\t\t\t\tx *= current_zoom;\n
+\t\t\t\t\ty *= current_zoom;\n
+\t\t\t\t\tassignAttributes(rubberBox, {\n
+\t\t\t\t\t\t\'x\': Math.min(start_x*current_zoom,x),\n
+\t\t\t\t\t\t\'y\': Math.min(start_y*current_zoom,y),\n
+\t\t\t\t\t\t\'width\': Math.abs(x-start_x*current_zoom),\n
+\t\t\t\t\t\t\'height\': Math.abs(y-start_y*current_zoom)\n
+\t\t\t\t\t},100);\t\t\t\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "text":\n
+\t\t\t\t\tassignAttributes(shape,{\n
+\t\t\t\t\t\t\'x\': x,\n
+\t\t\t\t\t\t\'y\': y\n
+\t\t\t\t\t},1000);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "line":\n
+\t\t\t\t\t// Opera has a problem with suspendRedraw() apparently\n
+\t\t\t\t\tvar handle = null;\n
+\t\t\t\t\tif (!window.opera) svgroot.suspendRedraw(1000);\n
+\n
+\t\t\t\t\tvar x2 = x;\n
+\t\t\t\t\tvar y2 = y;\t\t\t\t\t\n
+\n
+\t\t\t\t\tif(evt.shiftKey) { var xya=Utils.snapToAngle(start_x,start_y,x2,y2); x2=xya.x; y2=xya.y; }\n
+\t\t\t\t\t\n
+\t\t\t\t\tshape.setAttributeNS(null, "x2", x2);\n
+\t\t\t\t\tshape.setAttributeNS(null, "y2", y2);\n
+\t\t\t\t\tif (!window.opera) svgroot.unsuspendRedraw(handle);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "foreignObject":\n
+\t\t\t\t\t// fall through\n
+\t\t\t\tcase "square":\n
+\t\t\t\t\t// fall through\n
+\t\t\t\tcase "rect":\n
+\t\t\t\t\t// fall through\n
+\t\t\t\tcase "image":\n
+\t\t\t\t\tvar square = (current_mode == \'square\') || evt.shiftKey,\n
+\t\t\t\t\t\tw = Math.abs(x - start_x),\n
+\t\t\t\t\t\th = Math.abs(y - start_y),\n
+\t\t\t\t\t\tnew_x, new_y;\n
+\t\t\t\t\tif(square) {\n
+\t\t\t\t\t\tw = h = Math.max(w, h);\n
+\t\t\t\t\t\tnew_x = start_x < x ? start_x : start_x - w;\n
+\t\t\t\t\t\tnew_y = start_y < y ? start_y : start_y - h;\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tnew_x = Math.min(start_x,x);\n
+\t\t\t\t\t\tnew_y = Math.min(start_y,y);\n
+\t\t\t\t\t}\n
+\t\t\n
+\t\t\t\t\tassignAttributes(shape,{\n
+\t\t\t\t\t\t\'width\': w,\n
+\t\t\t\t\t\t\'height\': h,\n
+\t\t\t\t\t\t\'x\': new_x,\n
+\t\t\t\t\t\t\'y\': new_y\n
+\t\t\t\t\t},1000);\n
+\t\t\t\t\t\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "circle":\n
+\t\t\t\t\tvar c = $(shape).attr(["cx", "cy"]);\n
+\t\t\t\t\tvar cx = c.cx, cy = c.cy,\n
+\t\t\t\t\t\trad = Math.sqrt( (x-cx)*(x-cx) + (y-cy)*(y-cy) );\n
+\t\t\t\t\tshape.setAttributeNS(null, "r", rad);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "ellipse":\n
+\t\t\t\t\tvar c = $(shape).attr(["cx", "cy"]);\n
+\t\t\t\t\tvar cx = c.cx, cy = c.cy;\n
+\t\t\t\t\t// Opera has a problem with suspendRedraw() apparently\n
+\t\t\t\t\t\thandle = null;\n
+\t\t\t\t\tif (!window.opera) svgroot.suspendRedraw(1000);\n
+\t\t\t\t\tshape.setAttributeNS(null, "rx", Math.abs(x - cx) );\n
+\t\t\t\t\tvar ry = Math.abs(evt.shiftKey?(x - cx):(y - cy));\n
+\t\t\t\t\tshape.setAttributeNS(null, "ry", ry );\n
+\t\t\t\t\tif (!window.opera) svgroot.unsuspendRedraw(handle);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "fhellipse":\n
+\t\t\t\tcase "fhrect":\n
+\t\t\t\t\tfreehand.minx = Math.min(x, freehand.minx);\n
+\t\t\t\t\tfreehand.maxx = Math.max(x, freehand.maxx);\n
+\t\t\t\t\tfreehand.miny = Math.min(y, freehand.miny);\n
+\t\t\t\t\tfreehand.maxy = Math.max(y, freehand.maxy);\n
+\t\t\t\t// break; missing on purpose\n
+\t\t\t\tcase "fhpath":\n
+\t\t\t\t\tstart_x = x;\n
+\t\t\t\t\tstart_y = y;\n
+\t\t\t\t\td_attr += + x + "," + y + " ";\n
+\t\t\t\t\tshape.setAttributeNS(null, "points", d_attr);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\t// update path stretch line coordinates\n
+\t\t\t\tcase "path":\n
+\t\t\t\t\t// fall through\n
+\t\t\t\tcase "pathedit":\n
+\t\t\t\t\tx *= current_zoom;\n
+\t\t\t\t\ty *= current_zoom;\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(evt.shiftKey) {\n
+\t\t\t\t\t\tvar x1 = path.dragging?path.dragging[0]:start_x;\n
+\t\t\t\t\t\tvar y1 = path.dragging?path.dragging[1]:start_y;\n
+\t\t\t\t\t    var xya=Utils.snapToAngle(x1,y1,x,y);\n
+\t\t\t\t\t    x=xya.x; y=xya.y;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(rubberBox && rubberBox.getAttribute(\'display\') != \'none\') {\n
+\t\t\t\t\t\tassignAttributes(rubberBox, {\n
+\t\t\t\t\t\t\t\'x\': Math.min(start_x,x),\n
+\t\t\t\t\t\t\t\'y\': Math.min(start_y,y),\n
+\t\t\t\t\t\t\t\'width\': Math.abs(x-start_x),\n
+\t\t\t\t\t\t\t\'height\': Math.abs(y-start_y)\n
+\t\t\t\t\t\t},100);\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tpathActions.mouseMove(x, y);\n
+\t\t\t\t\t\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "textedit":\n
+\t\t\t\t\tx *= current_zoom;\n
+\t\t\t\t\ty *= current_zoom;\n
+// \t\t\t\t\tif(rubberBox && rubberBox.getAttribute(\'display\') != \'none\') {\n
+// \t\t\t\t\t\tassignAttributes(rubberBox, {\n
+// \t\t\t\t\t\t\t\'x\': Math.min(start_x,x),\n
+// \t\t\t\t\t\t\t\'y\': Math.min(start_y,y),\n
+// \t\t\t\t\t\t\t\'width\': Math.abs(x-start_x),\n
+// \t\t\t\t\t\t\t\'height\': Math.abs(y-start_y)\n
+// \t\t\t\t\t\t},100);\n
+// \t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\ttextActions.mouseMove(mouse_x, mouse_y);\n
+\t\t\t\t\t\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "rotate":\n
+\t\t\t\t\tvar box = canvas.getBBox(selected),\n
+\t\t\t\t\t\tcx = box.x + box.width/2, \n
+\t\t\t\t\t\tcy = box.y + box.height/2,\n
+\t\t\t\t\t\tm = getMatrix(selected),\n
+\t\t\t\t\t\tcenter = transformPoint(cx,cy,m);\n
+\t\t\t\t\tcx = center.x;\n
+\t\t\t\t\tcy = center.y;\n
+\t\t\t\t\tvar angle = ((Math.atan2(cy-y,cx-x)  * (180/Math.PI))-90) % 360;\n
+                    \n
+\t\t\t\t\tif(evt.shiftKey) { // restrict rotations to nice angles (WRS)\n
+                        var snap = 45;\n
+                        angle= Math.round(angle/snap)*snap;\n
+                    }\n
+\n
+\t\t\t\t\tcanvas.setRotationAngle(angle<-180?(360+angle):angle, true);\n
+\t\t\t\t\tcall("changed", selectedElements);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tdefault:\n
+\t\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\trunExtensions("mouseMove", {\n
+\t\t\t\tevent: evt,\n
+\t\t\t\tmouse_x: mouse_x,\n
+\t\t\t\tmouse_y: mouse_y,\n
+\t\t\t\tselected: selected\n
+\t\t\t});\n
+\n
+\t\t}; // mouseMove()\n
+\t\t\n
+\t\tvar mouseUp = function(evt)\n
+\t\t{\n
+\t\t\tif(evt.button === 1) return;\n
+\t\t\tvar tempJustSelected = justSelected;\n
+\t\t\tjustSelected = null;\n
+\t\t\tif (!started) return;\n
+\t\t\tvar pt = transformPoint( evt.pageX, evt.pageY, root_sctm ),\n
+\t\t\t\tmouse_x = pt.x * current_zoom,\n
+\t\t\t\tmouse_y = pt.y * current_zoom,\n
+\t\t\t\tx = mouse_x / current_zoom,\n
+\t\t\t\ty = mouse_y / current_zoom,\n
+\t\t\t\telement = getElem(getId()),\n
+\t\t\t\tkeep = false;\n
+\t\t\t\t\t\n
+\t\t\tstarted = false;\n
+\t\t\tswitch (current_mode)\n
+\t\t\t{\n
+\t\t\t\t// intentionally fall-through to select here\n
+\t\t\t\tcase "resize":\n
+\t\t\t\tcase "multiselect":\n
+\t\t\t\t\tif (rubberBox != null) {\n
+\t\t\t\t\t\trubberBox.setAttribute("display", "none");\n
+\t\t\t\t\t\tcurBBoxes = [];\n
+\t\t\t\t\t}\n
+\t\t\t\t\tcurrent_mode = "select";\n
+\t\t\t\tcase "select":\n
+\t\t\t\t\tif (selectedElements[0] != null) {\n
+\t\t\t\t\t\t// if we only have one selected element\n
+\t\t\t\t\t\tif (selectedElements[1] == null) {\n
+\t\t\t\t\t\t\t// set our current stroke/fill properties to the element\'s\n
+\t\t\t\t\t\t\tvar selected = selectedElements[0];\n
+\t\t\t\t\t\t\tif (selected.tagName != "g" && selected.tagName != "image" && selected.tagName != "foreignObject") {\n
+\t\t\t\t\t\t\t\tcur_properties.fill = selected.getAttribute("fill");\n
+\t\t\t\t\t\t\t\tcur_properties.fill_opacity = selected.getAttribute("fill-opacity");\n
+\t\t\t\t\t\t\t\tcur_properties.stroke = selected.getAttribute("stroke");\n
+\t\t\t\t\t\t\t\tcur_properties.stroke_opacity = selected.getAttribute("stroke-opacity");\n
+\t\t\t\t\t\t\t\tcur_properties.stroke_width = selected.getAttribute("stroke-width");\n
+\t\t\t\t\t\t\t\tcur_properties.stroke_dasharray = selected.getAttribute("stroke-dasharray");\n
+\t\t\t\t\t\t\t\tcur_properties.stroke_linejoin = selected.getAttribute("stroke-linejoin");\n
+\t\t\t\t\t\t\t\tcur_properties.stroke_linecap = selected.getAttribute("stroke-linecap");\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\tif (selected.tagName == "text") {\n
+\t\t\t\t\t\t\t\tcur_text.font_size = selected.getAttribute("font-size");\n
+\t\t\t\t\t\t\t\tcur_text.font_family = selected.getAttribute("font-family");\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\tselectorManager.requestSelector(selected).showGrips(true);\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// This shouldn\'t be necessary as it was done on mouseDown...\n
+// \t\t\t\t\t\t\tcall("selected", [selected]);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t// always recalculate dimensions to strip off stray identity transforms\n
+\t\t\t\t\t\trecalculateAllSelectedDimensions();\n
+\t\t\t\t\t\t// if it was being dragged/resized\n
+\t\t\t\t\t\tif (x != start_x || y != start_y) {\n
+\t\t\t\t\t\t\tvar len = selectedElements.length;\n
+\t\t\t\t\t\t\tfor\t(var i = 0; i < len; ++i) {\n
+\t\t\t\t\t\t\t\tif (selectedElements[i] == null) break;\n
+\t\t\t\t\t\t\t\tif(selectedElements[i].tagName != \'g\') {\n
+\t\t\t\t\t\t\t\t\t// Not needed for groups (incorrectly resizes elems), possibly not needed at all?\n
+\t\t\t\t\t\t\t\t\tselectorManager.requestSelector(selectedElements[i]).resize();\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t// no change in position/size, so maybe we should move to pathedit\n
+\t\t\t\t\t\telse {\n
+\t\t\t\t\t\t\tvar t = evt.target;\n
+\t\t\t\t\t\t\tif (selectedElements[0].nodeName == "path" && selectedElements[1] == null) {\n
+\t\t\t\t\t\t\t\tpathActions.select(t);\n
+\t\t\t\t\t\t\t} // if it was a path\n
+\t\t\t\t\t\t\telse if (selectedElements[0].nodeName == "text" && selectedElements[1] == null) {\n
+\t\t\t\t\t\t\t\ttextActions.select(t, x, y);\n
+\t\t\t\t\t\t\t} // if it was a path\n
+\t\t\t\t\t\t\t// else, if it was selected and this is a shift-click, remove it from selection\n
+\t\t\t\t\t\t\telse if (evt.shiftKey) {\n
+\t\t\t\t\t\t\t\tif(tempJustSelected != t) {\n
+\t\t\t\t\t\t\t\t\tcanvas.removeFromSelection([t]);\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t} // no change in mouse position\n
+\t\t\t\t\t}\n
+\t\t\t\t\t// we return immediately from select so that the obj_num is not incremented\n
+\t\t\t\t\treturn;\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "zoom":\n
+\t\t\t\t\tif (rubberBox != null) {\n
+\t\t\t\t\t\trubberBox.setAttribute("display", "none");\n
+\t\t\t\t\t}\n
+\t\t\t\t\tvar factor = evt.shiftKey?.5:2;\n
+\t\t\t\t\tcall("zoomed", {\n
+\t\t\t\t\t\t\'x\': Math.min(start_x,x),\n
+\t\t\t\t\t\t\'y\': Math.min(start_y,y),\n
+\t\t\t\t\t\t\'width\': Math.abs(x-start_x),\n
+\t\t\t\t\t\t\'height\': Math.abs(y-start_y),\n
+\t\t\t\t\t\t\'factor\': factor\n
+\t\t\t\t\t});\n
+\t\t\t\t\treturn;\n
+\t\t\t\tcase "fhpath":\n
+\t\t\t\t\t// Check that the path contains at least 2 points; a degenerate one-point path\n
+\t\t\t\t\t// causes problems.\n
+\t\t\t\t\t// Webkit ignores how we set the points attribute with commas and uses space\n
+\t\t\t\t\t// to separate all coordinates, see https://bugs.webkit.org/show_bug.cgi?id=29870\n
+\t\t\t\t\tvar coords = element.getAttribute(\'points\');\n
+\t\t\t\t\tvar commaIndex = coords.indexOf(\',\');\n
+\t\t\t\t\tif (commaIndex >= 0) {\n
+\t\t\t\t\t\tkeep = coords.indexOf(\',\', commaIndex+1) >= 0;\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tkeep = coords.indexOf(\' \', coords.indexOf(\' \')+1) >= 0;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tif (keep) {\n
+\t\t\t\t\t\telement = pathActions.smoothPolylineIntoPath(element);\n
+\t\t\t\t\t}\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "line":\n
+\t\t\t\t\tvar attrs = $(element).attr(["x1", "x2", "y1", "y2"]);\n
+\t\t\t\t\tkeep = (attrs.x1 != attrs.x2 || attrs.y1 != attrs.y2);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "foreignObject":\n
+\t\t\t\tcase "square":\n
+\t\t\t\tcase "rect":\n
+\t\t\t\tcase "image":\n
+\t\t\t\t\tvar attrs = $(element).attr(["width", "height"]);\n
+\t\t\t\t\t// Image should be kept regardless of size (use inherit dimensions later)\n
+\t\t\t\t\tkeep = (attrs.width != 0 || attrs.height != 0) || current_mode === "image";\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "circle":\n
+\t\t\t\t\tkeep = (element.getAttribute(\'r\') != 0);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "ellipse":\n
+\t\t\t\t\tvar attrs = $(element).attr(["rx", "ry"]);\n
+\t\t\t\t\tkeep = (attrs.rx != null || attrs.ry != null);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "fhellipse":\n
+\t\t\t\t\tif ((freehand.maxx - freehand.minx) > 0 &&\n
+\t\t\t\t\t\t(freehand.maxy - freehand.miny) > 0) {\n
+\t\t\t\t\t\telement = addSvgElementFromJson({\n
+\t\t\t\t\t\t\t"element": "ellipse",\n
+\t\t\t\t\t\t\t"curStyles": true,\n
+\t\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t\t"cx": (freehand.minx + freehand.maxx) / 2,\n
+\t\t\t\t\t\t\t\t"cy": (freehand.miny + freehand.maxy) / 2,\n
+\t\t\t\t\t\t\t\t"rx": (freehand.maxx - freehand.minx) / 2,\n
+\t\t\t\t\t\t\t\t"ry": (freehand.maxy - freehand.miny) / 2,\n
+\t\t\t\t\t\t\t\t"id": getId()\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\tcall("changed",[element]);\n
+\t\t\t\t\t\tkeep = true;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "fhrect":\n
+\t\t\t\t\tif ((freehand.maxx - freehand.minx) > 0 &&\n
+\t\t\t\t\t\t(freehand.maxy - freehand.miny) > 0) {\n
+\t\t\t\t\t\telement = addSvgElementFromJson({\n
+\t\t\t\t\t\t\t"element": "rect",\n
+\t\t\t\t\t\t\t"curStyles": true,\n
+\t\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t\t"x": freehand.minx,\n
+\t\t\t\t\t\t\t\t"y": freehand.miny,\n
+\t\t\t\t\t\t\t\t"width": (freehand.maxx - freehand.minx),\n
+\t\t\t\t\t\t\t\t"height": (freehand.maxy - freehand.miny),\n
+\t\t\t\t\t\t\t\t"id": getId()\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\tcall("changed",[element]);\n
+\t\t\t\t\t\tkeep = true;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "text":\n
+\t\t\t\t\tkeep = true;\n
+\t\t\t\t\tcanvas.addToSelection([element]);\n
+\t\t\t\t\ttextActions.start(element);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "path":\n
+\t\t\t\t\t// set element to null here so that it is not removed nor finalized\n
+\t\t\t\t\telement = null;\n
+\t\t\t\t\t// continue to be set to true so that mouseMove happens\n
+\t\t\t\t\tstarted = true;\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar res = pathActions.mouseUp(evt, element, mouse_x, mouse_y);\n
+\t\t\t\t\telement = res.element\n
+\t\t\t\t\tkeep = res.keep;\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "pathedit":\n
+\t\t\t\t\tkeep = true;\n
+\t\t\t\t\telement = null;\n
+\t\t\t\t\tpathActions.mouseUp(evt);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "textedit":\n
+\t\t\t\t\tkeep = false;\n
+\t\t\t\t\telement = null;\n
+\t\t\t\t\ttextActions.mouseUp(evt, mouse_x, mouse_y);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase "rotate":\n
+\t\t\t\t\tkeep = true;\n
+\t\t\t\t\telement = null;\n
+\t\t\t\t\tcurrent_mode = "select";\n
+\t\t\t\t\tvar batchCmd = canvas.finishUndoableChange();\n
+\t\t\t\t\tif (!batchCmd.isEmpty()) { \n
+\t\t\t\t\t\taddCommandToHistory(batchCmd);\n
+\t\t\t\t\t}\n
+\t\t\t\t\t// perform recalculation to weed out any stray identity transforms that might get stuck\n
+\t\t\t\t\trecalculateAllSelectedDimensions();\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tdefault:\n
+\t\t\t\t\t// This could occur in an extension\n
+\t\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar ext_result = runExtensions("mouseUp", {\n
+\t\t\t\tevent: evt,\n
+\t\t\t\tmouse_x: mouse_x,\n
+\t\t\t\tmouse_y: mouse_y\n
+\t\t\t}, true);\n
+\t\t\t\n
+\t\t\t$.each(ext_result, function(i, r) {\n
+\t\t\t\tif(r) {\n
+\t\t\t\t\tkeep = r.keep || keep;\n
+\t\t\t\t\telement = r.element;\n
+\t\t\t\t\tstarted = r.started || started;\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\tif (!keep && element != null) {\n
+\t\t\t\telement.parentNode.removeChild(element);\n
+\t\t\t\telement = null;\n
+\t\t\t\t\n
+\t\t\t\tvar t = evt.target;\n
+\t\t\t\t\n
+\t\t\t\t// if this element is in a group, go up until we reach the top-level group \n
+\t\t\t\t// just below the layer groups\n
+\t\t\t\t// TODO: once we implement links, we also would have to check for <a> elements\n
+\t\t\t\twhile (t.parentNode.parentNode.tagName == "g") {\n
+\t\t\t\t\tt = t.parentNode;\n
+\t\t\t\t}\n
+\t\t\t\t// if we are not in the middle of creating a path, and we\'ve clicked on some shape, \n
+\t\t\t\t// then go to Select mode.\n
+\t\t\t\t// WebKit returns <div> when the canvas is clicked, Firefox/Opera return <svg>\n
+\t\t\t\tif ( (current_mode != "path" || current_path_pts.length == 0) &&\n
+\t\t\t\t\tt.parentNode.id != "selectorParentGroup" &&\n
+\t\t\t\t\tt.id != "svgcanvas" && t.id != "svgroot") \n
+\t\t\t\t{\n
+\t\t\t\t\t// switch into "select" mode if we\'ve clicked on an element\n
+\t\t\t\t\tcanvas.addToSelection([t], true);\n
+\t\t\t\t\tcanvas.setMode("select");\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t} else if (element != null) {\n
+\t\t\t\tcanvas.addedNew = true;\n
+\t\t\t\tvar ani_dur = .2, c_ani;\n
+\t\t\t\tif(opac_ani.beginElement && element.getAttribute(\'opacity\') != cur_shape.opacity) {\n
+\t\t\t\t\tc_ani = $(opac_ani).clone().attr({\n
+\t\t\t\t\t\tto: cur_shape.opacity,\n
+\t\t\t\t\t\tdur: ani_dur\n
+\t\t\t\t\t}).appendTo(element);\n
+\t\t\t\t\tc_ani[0].beginElement();\n
+\t\t\t\t} else {\n
+\t\t\t\t\tani_dur = 0;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// Ideally this would be done on the endEvent of the animation,\n
+\t\t\t\t// but that doesn\'t seem to be supported in Webkit\n
+\t\t\t\tsetTimeout(function() {\n
+\t\t\t\t\tif(c_ani) c_ani.remove();\n
+\t\t\t\t\telement.setAttribute("opacity", cur_shape.opacity);\n
+\t\t\t\t\telement.setAttribute("style", "pointer-events:inherit");\n
+\t\t\t\t\tcleanupElement(element);\n
+\t\t\t\t\tif(current_mode == "path") {\n
+\t\t\t\t\t\tpathActions.toEditMode(element);\n
+\t\t\t\t\t} else if (current_mode == "text" || current_mode == "image" || current_mode == "foreignObject") {\n
+\t\t\t\t\t\t// keep us in the tool we were in unless it was a text or image element\n
+\t\t\t\t\t\tcanvas.addToSelection([element], true);\n
+\t\t\t\t\t}\n
+\t\t\t\t\t// we create the insert command that is stored on the stack\n
+\t\t\t\t\t// undo means to call cmd.unapply(), redo means to call cmd.apply()\n
+\t\t\t\t\taddCommandToHistory(new InsertElementCommand(element));\n
+\t\t\t\t\tcall("changed",[element]);\n
+\t\t\t\t}, ani_dur * 1000);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tstart_transform = null;\n
+\t\t};\n
+\n
+\t\t// prevent links from being followed in the canvas\n
+\t\tvar handleLinkInCanvas = function(e) {\n
+\t\t\te.preventDefault();\n
+\t\t\treturn false;\n
+\t\t};\n
+\t\t\n
+\t\t$(container).mousedown(mouseDown).mousemove(mouseMove).click(handleLinkInCanvas);\n
+\t\t$(window).mouseup(mouseUp);\n
+\t\t\n
+\t\t$(container).bind("mousewheel DOMMouseScroll", function(e){\n
+\t\t\tif(!e.shiftKey) return;\n
+\t\t\te.preventDefault();\n
+\n
+\t\t\troot_sctm = svgcontent.getScreenCTM().inverse();\n
+\t\t\tvar pt = transformPoint( e.pageX, e.pageY, root_sctm );\n
+\t\t\tvar bbox = {\n
+\t\t\t\t\'x\': pt.x,\n
+\t\t\t\t\'y\': pt.y,\n
+\t\t\t\t\'width\': 0,\n
+\t\t\t\t\'height\': 0\n
+\t\t\t};\n
+\n
+\t\t\t// Respond to mouse wheel in IE/Webkit/Opera.\n
+\t\t\t// (It returns up/dn motion in multiples of 120)\n
+\t\t\tif(e.wheelDelta) {\n
+\t\t\t\tif (e.wheelDelta >= 120) {\n
+\t\t\t\t\tbbox.factor = 2;\n
+\t\t\t\t} else if (e.wheelDelta <= -120) {\n
+\t\t\t\t\tbbox.factor = .5;\n
+\t\t\t\t}\n
+\t\t\t} else if(e.detail) {\n
+\t\t\t\tif (e.detail > 0) {\n
+\t\t\t\t\tbbox.factor = .5;\n
+\t\t\t\t} else if (e.detail < 0) {\n
+\t\t\t\t\tbbox.factor = 2;\t\t\t\n
+\t\t\t\t}\t\t\t\t\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tif(!bbox.factor) return;\n
+\t\t\tcall("zoomed", bbox);\n
+\t\t});\n
+\t\t\n
+\t}());\n
+\n
+\tvar textActions = canvas.textActions = function() {\n
+\t\tvar curtext, current_text;\n
+\t\tvar textinput;\n
+\t\tvar cursor;\n
+\t\tvar selblock;\n
+\t\tvar blinker;\n
+\t\tvar chardata = [];\n
+\t\tvar textbb, transbb;\n
+\t\tvar matrix;\n
+\t\tvar last_x, last_y;\n
+\t\tvar allow_dbl;\n
+\t\t\n
+\t\tfunction setCursor(index) {\n
+\t\t\tvar empty = (textinput.value === "");\n
+\t\t\n
+\t\t\tif(!arguments.length) {\n
+\t\t\t\tif(empty) {\n
+\t\t\t\t\tindex = 0;\n
+\t\t\t\t} else {\n
+\t\t\t\t\tif(textinput.selectionEnd !== textinput.selectionStart) return;\n
+\t\t\t\t\tindex = textinput.selectionEnd;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar charbb;\n
+\t\t\tcharbb = chardata[index];\n
+\t\t\tif(!empty) {\n
+\t\t\t\ttextinput.setSelectionRange(index, index);\n
+\t\t\t}\n
+\t\t\tcursor = getElem("text_cursor");\n
+\t\t\tif (!cursor) {\n
+\t\t\t\tcursor = document.createElementNS(svgns, "line");\n
+\t\t\t\tassignAttributes(cursor, {\n
+\t\t\t\t\t\'id\': "text_cursor",\n
+\t\t\t\t\t\'stroke\': "#333",\n
+\t\t\t\t\t\'stroke-width\': 1\n
+\t\t\t\t});\n
+\t\t\t\tcursor = getElem("selectorParentGroup").appendChild(cursor);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tif(!blinker) {\n
+\t\t\t\tblinker = setInterval(function() {\n
+\t\t\t\t\tvar show = (cursor.getAttribute(\'display\') === \'none\');\n
+\t\t\t\t\tcursor.setAttribute(\'display\', show?\'inline\':\'none\');\n
+\t\t\t\t}, 600);\n
+\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t\n
+\t\t\tvar start_pt = ptToScreen(charbb.x, textbb.y);\n
+\t\t\tvar end_pt = ptToScreen(charbb.x, (textbb.y + textbb.height));\n
+\t\t\t\n
+\t\t\tassignAttributes(cursor, {\n
+\t\t\t\tx1: start_pt.x,\n
+\t\t\t\ty1: start_pt.y,\n
+\t\t\t\tx2: end_pt.x,\n
+\t\t\t\ty2: end_pt.y,\n
+\t\t\t\tvisibility: \'visible\',\n
+\t\t\t\tdisplay: \'inline\'\n
+\t\t\t});\n
+\t\t\t\n
+\t\t\tif(selblock) selblock.setAttribute(\'d\', \'\');\n
+\t\t}\n
+\t\t\n
+\t\tfunction setSelection(start, end, skipInput) {\n
+\t\t\tif(start === end) {\n
+\t\t\t\tsetCursor(end);\n
+\t\t\t\treturn;\n
+\t\t\t}\n
+\t\t\n
+\t\t\tif(!skipInput) {\n
+\t\t\t\ttextinput.setSelectionRange(start, end);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tselblock = getElem("text_selectblock");\n
+\t\t\tif (!selblock) {\n
+\n
+\t\t\t\tselblock = document.createElementNS(svgns, "path");\n
+\t\t\t\tassignAttributes(selblock, {\n
+\t\t\t\t\t\'id\': "text_selectblock",\n
+\t\t\t\t\t\'fill\': "green",\n
+\t\t\t\t\t\'opacity\': .5,\n
+\t\t\t\t\t\'style\': "pointer-events:none"\n
+\t\t\t\t});\n
+\t\t\t\tgetElem("selectorParentGroup").appendChild(selblock);\n
+\t\t\t}\n
+\n
+\t\t\t\n
+\t\t\tvar startbb = chardata[start];\n
+\t\t\t\n
+\t\t\tvar endbb = chardata[end];\n
+\t\t\t\n
+\t\t\tcursor.setAttribute(\'visibility\', \'hidden\');\n
+\t\t\t\n
+\t\t\tvar tl = ptToScreen(startbb.x, textbb.y),\n
+\t\t\t\ttr = ptToScreen(startbb.x + (endbb.x - startbb.x), textbb.y),\n
+\t\t\t\tbl = ptToScreen(startbb.x, textbb.y + textbb.height),\n
+\t\t\t\tbr = ptToScreen(startbb.x + (endbb.x - startbb.x), textbb.y + textbb.height);\n
+\t\t\t\n
+\t\t\t\n
+\t\t\tvar dstr = "M" + tl.x + "," + tl.y\n
+\t\t\t\t\t\t+ " L" + tr.x + "," + tr.y\n
+\t\t\t\t\t\t+ " " + br.x + "," + br.y\n
+\t\t\t\t\t\t+ " " + bl.x + "," + bl.y + "z";\n
+\t\t\t\n
+\t\t\tassignAttributes(selblock, {\n
+\t\t\t\td: dstr,\n
+\t\t\t\t\'display\': \'inline\'\n
+\t\t\t});\n
+\t\t}\n
+\t\t\n
+\t\tfunction getIndexFromPoint(mouse_x, mouse_y) {\n
+\t\t\t// Position cursor here\n
+\t\t\tvar pt = svgroot.createSVGPoint();\n
+\t\t\tpt.x = mouse_x;\n
+\t\t\tpt.y = mouse_y;\n
+\n
+\t\t\t// No content, so return 0\n
+\t\t\tif(chardata.length == 1) return 0;\n
+\t\t\t\n
+\t\t\t// Determine if cursor should be on left or right of character\n
+\t\t\tvar charpos = curtext.getCharNumAtPosition(pt);\n
+\t\t\tif(charpos < 0) {\n
+\t\t\t\t// Out of text range, look at mouse coords\n
+\t\t\t\tcharpos = chardata.length - 2;\n
+\t\t\t\tif(mouse_x <= chardata[0].x) {\n
+\t\t\t\t\tcharpos = 0;\n
+\t\t\t\t}\n
+\t\t\t} else if(charpos >= chardata.length - 2) {\n
+\t\t\t\tcharpos = chardata.length - 2;\n
+\t\t\t}\n
+\t\t\tvar charbb = chardata[charpos];\n
+\t\t\tvar mid = charbb.x + (charbb.width/2);\n
+\t\t\tif(mouse_x > mid) {\n
+\t\t\t\tcharpos++;\n
+\t\t\t}\n
+\t\t\treturn charpos;\n
+\t\t}\n
+\t\t\n
+\t\tfunction setCursorFromPoint(mouse_x, mouse_y) {\n
+\t\t\tsetCursor(getIndexFromPoint(mouse_x, mouse_y));\n
+\t\t}\n
+\t\t\n
+\t\tfunction setEndSelectionFromPoint(x, y, apply) {\n
+\t\t\tvar i1 = textinput.selectionStart;\n
+\t\t\tvar i2 = getIndexFromPoint(x, y);\n
+\t\t\t\n
+\t\t\tvar start = Math.min(i1, i2);\n
+\t\t\tvar end = Math.max(i1, i2);\n
+\t\t\tsetSelection(start, end, !apply);\n
+\t\t}\n
+\t\t\t\n
+\t\tfunction screenToPt(x_in, y_in) {\n
+\t\t\tvar out = {\n
+\t\t\t\tx: x_in,\n
+\t\t\t\ty: y_in\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tout.x /= current_zoom;\n
+\t\t\tout.y /= current_zoom;\t\t\t\n
+\n
+\t\t\tif(matrix) {\n
+\t\t\t\tvar pt = transformPoint(out.x, out.y, matrix.inverse());\n
+\t\t\t\tout.x = pt.x;\n
+\t\t\t\tout.y = pt.y;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\treturn out;\n
+\t\t}\t\n
+\t\t\n
+\t\tfunction ptToScreen(x_in, y_in) {\n
+\t\t\tvar out = {\n
+\t\t\t\tx: x_in,\n
+\t\t\t\ty: y_in\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tif(matrix) {\n
+\t\t\t\tvar pt = transformPoint(out.x, out.y, matrix);\n
+\t\t\t\tout.x = pt.x;\n
+\t\t\t\tout.y = pt.y;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tout.x *= current_zoom;\n
+\t\t\tout.y *= current_zoom;\n
+\t\t\t\n
+\t\t\treturn out;\n
+\t\t}\n
+\t\t\n
+\t\tfunction hideCursor() {\n
+\t\t\tif(cursor) {\n
+\t\t\t\tcursor.setAttribute(\'visibility\', \'hidden\');\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\tfunction selectAll(evt) {\n
+\t\t\tsetSelection(0, curtext.textContent.length);\n
+\t\t\t$(this).unbind(evt);\n
+\t\t}\n
+\n
+\t\tfunction selectWord(evt) {\n
+\t\t\tif(!allow_dbl) return;\n
+\t\t\n
+\t\t\tvar ept = transformPoint( evt.pageX, evt.pageY, root_sctm ),\n
+\t\t\t\tmouse_x = ept.x * current_zoom,\n
+\t\t\t\tmouse_y = ept.y * current_zoom;\n
+\t\t\tvar pt = screenToPt(mouse_x, mouse_y);\n
+\t\t\t\n
+\t\t\tvar index = getIndexFromPoint(pt.x, pt.y);\n
+\t\t\tvar str = curtext.textContent;\n
+\t\t\tvar first = str.substr(0, index).replace(/[a-z0-9]+$/i, \'\').length;\n
+\t\t\tvar m = str.substr(index).match(/^[a-z0-9]+/i);\n
+\t\t\tvar last = (m?m[0].length:0) + index;\n
+\t\t\tsetSelection(first, last);\n
+\t\t\t\n
+\t\t\t// Set tripleclick\n
+\t\t\t$(evt.target).click(selectAll);\n
+\t\t\tsetTimeout(function() {\n
+\t\t\t\t$(evt.target).unbind(\'click\', selectAll);\n
+\t\t\t}, 300);\n
+\t\t\t\n
+\t\t}\n
+\n
+\t\treturn {\n
+\t\t\tselect: function(target, x, y) {\n
+\t\t\t\tif (current_text == target) {\n
+\t\t\t\t\tcurtext = target;\n
+\t\t\t\t\ttextActions.toEditMode(x, y);\n
+\t\t\t\t} // going into pathedit mode\n
+\t\t\t\telse {\n
+\t\t\t\t\tcurrent_text = target;\n
+\t\t\t\t}\t\n
+\t\t\t},\n
+\t\t\tstart: function(elem) {\n
+\t\t\t\tcurtext = elem;\n
+\t\t\t\ttextActions.toEditMode();\n
+\t\t\t},\n
+\t\t\tmouseDown: function(evt, mouse_target, start_x, start_y) {\n
+\t\t\t\tvar pt = screenToPt(start_x, start_y);\n
+\t\t\t\n
+\t\t\t\ttextinput.focus();\n
+\t\t\t\tsetCursorFromPoint(pt.x, pt.y);\n
+\t\t\t\tlast_x = start_x;\n
+\t\t\t\tlast_y = start_y;\n
+\t\t\t\t\n
+\t\t\t\t// TODO: Find way to block native selection\n
+\t\t\t},\n
+\t\t\tmouseMove: function(mouse_x, mouse_y) {\n
+\t\t\t\tvar pt = screenToPt(mouse_x, mouse_y);\n
+\t\t\t\tsetEndSelectionFromPoint(pt.x, pt.y);\n
+\t\t\t},\t\t\t\n
+\t\t\tmouseUp: function(evt, mouse_x, mouse_y) {\n
+\t\t\t\tvar pt = screenToPt(mouse_x, mouse_y);\n
+\t\t\t\t\n
+\t\t\t\tsetEndSelectionFromPoint(pt.x, pt.y, true);\n
+\t\t\t\t\n
+\t\t\t\t// TODO: Find a way to make this work: Use transformed BBox instead of evt.target \n
+// \t\t\t\tif(last_x === mouse_x && last_y === mouse_y\n
+// \t\t\t\t\t&& !Utils.rectsIntersect(transbb, {x: pt.x, y: pt.y, width:0, height:0})) {\n
+// \t\t\t\t\ttextActions.toSelectMode(true);\t\t\t\t\n
+// \t\t\t\t}\n
+\t\t\t\tif(last_x === mouse_x && last_y === mouse_y && evt.target !== curtext) {\n
+\t\t\t\t\ttextActions.toSelectMode(true);\n
+\t\t\t\t}\n
+\n
+\t\t\t},\n
+\t\t\tsetCursor: setCursor,\n
+\t\t\ttoEditMode: function(x, y) {\n
+\t\t\t\tallow_dbl = false;\n
+\t\t\t\tcurrent_mode = "textedit";\n
+\t\t\t\tselectorManager.requestSelector(curtext).showGrips(false);\n
+\t\t\t\t\n
+\t\t\t\ttextActions.init();\n
+\t\t\t\t$(curtext).css(\'cursor\', \'text\');\n
+\t\t\t\t\n
+// \t\t\t\tif(support.editableText) {\n
+// \t\t\t\t\tcurtext.setAttribute(\'editable\', \'simple\');\n
+// \t\t\t\t\treturn;\n
+// \t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tif(!arguments.length) {\n
+\t\t\t\t\tsetCursor();\n
+\t\t\t\t} else {\n
+\t\t\t\t\tvar pt = screenToPt(x, y);\n
+\t\t\t\t\tsetCursorFromPoint(pt.x, pt.y);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tsetTimeout(function() {\n
+\t\t\t\t\tallow_dbl = true;\n
+\t\t\t\t}, 300);\n
+\t\t\t},\n
+\t\t\ttoSelectMode: function(selectElem) {\n
+\t\t\t\tcurrent_mode = "select";\n
+\t\t\t\tclearInterval(blinker);\n
+\t\t\t\tblinker = null;\n
+\t\t\t\tif(selblock) $(selblock).attr(\'display\',\'none\');\n
+\t\t\t\tif(cursor) $(cursor).attr(\'visibility\',\'hidden\');\n
+\t\t\t\t$(curtext).css(\'cursor\', \'move\');\n
+\t\t\t\t\n
+\t\t\t\tif(selectElem) {\n
+\t\t\t\t\tcanvas.clearSelection();\n
+\t\t\t\t\t$(curtext).css(\'cursor\', \'move\');\n
+\t\t\t\t\t\n
+\t\t\t\t\tcall("selected", [curtext]);\n
+\t\t\t\t\tcanvas.addToSelection([curtext], true);\n
+\t\t\t\t}\n
+\t\t\t\tif(curtext && !curtext.textContent.length) {\n
+\t\t\t\t\t// No content, so delete\n
+\t\t\t\t\tcanvas.deleteSelectedElements();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t$(textinput).blur();\n
+\t\t\t\t\n
+\t\t\t\tcurtext = false;\n
+\t\t\t\t\n
+// \t\t\t\tif(support.editableText) {\n
+// \t\t\t\t\tcurtext.removeAttribute(\'editable\');\n
+// \t\t\t\t}\n
+\t\t\t},\n
+\t\t\tsetInputElem: function(elem) {\n
+\t\t\t\ttextinput = elem;\n
+\t\t\t\t$(textinput).blur(hideCursor);\n
+\t\t\t},\n
+\t\t\tclear: function() {\n
+\t\t\t\tcurrent_text = null;\n
+\t\t\t\tif(current_mode == "textedit") {\n
+\t\t\t\t\ttextActions.toSelectMode();\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\tinit: function(inputElem) {\n
+\t\t\t\tif(!curtext) return;\n
+\n
+// \t\t\t\tif(support.editableText) {\n
+// \t\t\t\t\tcurtext.select();\n
+// \t\t\t\t\treturn;\n
+// \t\t\t\t}\n
+\t\t\t\n
+\t\t\t\tif(!curtext.parentNode) {\n
+\t\t\t\t\t// Result of the ffClone, need to get correct element\n
+\t\t\t\t\tcurtext = selectedElements[0];\n
+\t\t\t\t\tselectorManager.requestSelector(curtext).showGrips(false);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar str = curtext.textContent;\n
+\t\t\t\tvar len = str.length;\n
+\t\t\t\t\n
+\t\t\t\tvar xform = curtext.getAttribute(\'transform\');\n
+\n
+\t\t\t\ttextbb = canvas.getBBox(curtext);\n
+\t\t\t\t\n
+\t\t\t\tmatrix = xform?getMatrix(curtext):null;\n
+\n
+\t\t\t\tchardata = Array(len);\n
+\t\t\t\ttextinput.focus();\n
+\t\t\t\t\n
+\t\t\t\t$(curtext).unbind(\'dblclick\', selectWord).dblclick(selectWord);\n
+\t\t\t\t\n
+\t\t\t\tif(!len) {\n
+\t\t\t\t\tvar end = {x: textbb.x + (textbb.width/2), width: 0};\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tfor(var i=0; i<len; i++) {\n
+\t\t\t\t\tvar start = curtext.getStartPositionOfChar(i);\n
+\t\t\t\t\tvar end = curtext.getEndPositionOfChar(i);\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Get a "bbox" equivalent for each character. Uses the\n
+\t\t\t\t\t// bbox data of the actual text for y, height purposes\n
+\t\t\t\t\t\n
+\t\t\t\t\t// TODO: Decide if y, width and height are actually necessary\n
+\t\t\t\t\tchardata[i] = {\n
+\t\t\t\t\t\tx: start.x,\n
+\t\t\t\t\t\ty: textbb.y, // start.y?\n
+\t\t\t\t\t\twidth: end.x - start.x,\n
+\t\t\t\t\t\theight: textbb.height\n
+\t\t\t\t\t};\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// Add a last bbox for cursor at end of text\n
+\t\t\t\tchardata.push({\n
+\t\t\t\t\tx: end.x,\n
+\t\t\t\t\twidth: 0\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tsetSelection(textinput.selectionStart, textinput.selectionEnd, true);\n
+\t\t\t}\n
+\t\t}\n
+\t}();\n
+\t\n
+\tvar pathActions = function() {\n
+\t\t\n
+\t\tvar subpath = false;\n
+\t\tvar pathData = {};\n
+\t\tvar current_path;\n
+\t\tvar path;\n
+\t\tvar segData = {\n
+\t\t\t2: [\'x\',\'y\'],\n
+\t\t\t4: [\'x\',\'y\'],\n
+\t\t\t6: [\'x\',\'y\',\'x1\',\'y1\',\'x2\',\'y2\'],\n
+\t\t\t8: [\'x\',\'y\',\'x1\',\'y1\'],\n
+\t\t\t10: [\'x\',\'y\',\'r1\',\'r2\',\'angle\',\'largeArcFlag\',\'sweepFlag\'],\n
+\t\t\t12: [\'x\'],\n
+\t\t\t14: [\'y\']\n
+\t\t};\n
+\t\t\n
+\t\tfunction retPath() {\n
+\t\t\treturn path;\n
+\t\t}\n
+\n
+\t\tfunction resetD(p) {\n
+\t\t\tp.setAttribute("d", pathActions.convertPath(p));\n
+\t\t}\n
+\t\t\n
+\t\tfunction insertItemBefore(elem, newseg, index) {\n
+\t\t\t// Support insertItemBefore on paths for FF2\n
+\t\t\tvar list = elem.pathSegList;\n
+\t\t\t\n
+\t\t\tif(support.pathInsertItemBefore) {\n
+\t\t\t\tlist.insertItemBefore(newseg, index);\n
+\t\t\t\treturn;\n
+\t\t\t}\n
+\t\t\tvar len = list.numberOfItems;\n
+\t\t\tvar arr = [];\n
+\t\t\tfor(var i=0; i<len; i++) {\n
+\t\t\t\tvar cur_seg = list.getItem(i);\n
+\t\t\t\tarr.push(cur_seg)\t\t\t\t\n
+\t\t\t}\n
+\t\t\tlist.clear();\n
+\t\t\tfor(var i=0; i<len; i++) {\n
+\t\t\t\tif(i == index) { //index+1\n
+\t\t\t\t\tlist.appendItem(newseg);\n
+\t\t\t\t}\n
+\t\t\t\tlist.appendItem(arr[i]);\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\t// TODO: See if this should just live in replacePathSeg\n
+\t\tfunction ptObjToArr(type, seg_item) {\n
+\t\t\tvar arr = segData[type], len = arr.length;\n
+\t\t\tvar out = Array(len);\n
+\t\t\tfor(var i=0; i<len; i++) {\n
+\t\t\t\tout[i] = seg_item[arr[i]];\n
+\t\t\t}\n
+\t\t\treturn out;\n
+\t\t}\n
+\n
+\t\tfunction getGripContainer() {\n
+\t\t\tvar c = getElem("pathpointgrip_container");\n
+\t\t\tif (!c) {\n
+\t\t\t\tvar parent = getElem("selectorParentGroup");\n
+\t\t\t\tc = parent.appendChild(document.createElementNS(svgns, "g"));\n
+\t\t\t\tc.id = "pathpointgrip_container";\n
+\t\t\t}\n
+\t\t\treturn c;\n
+\t\t}\n
+\t\n
+\t\tvar addPointGrip = function(index, x, y) {\n
+\t\t\t// create the container of all the point grips\n
+\t\t\tvar pointGripContainer = getGripContainer();\n
+\t\n
+\t\t\tvar pointGrip = getElem("pathpointgrip_"+index);\n
+\t\t\t// create it\n
+\t\t\tif (!pointGrip) {\n
+\t\t\t\tpointGrip = document.createElementNS(svgns, "circle");\n
+\t\t\t\tassignAttributes(pointGrip, {\n
+\t\t\t\t\t\'id\': "pathpointgrip_" + index,\n
+\t\t\t\t\t\'display\': "none",\n
+\t\t\t\t\t\'r\': 4,\n
+\t\t\t\t\t\'fill\': "#0FF",\n
+\t\t\t\t\t\'stroke\': "#00F",\n
+\t\t\t\t\t\'stroke-width\': 2,\n
+\t\t\t\t\t\'cursor\': \'move\',\n
+\t\t\t\t\t\'style\': \'pointer-events:all\',\n
+\t\t\t\t\t\'xlink:title\': uiStrings.pathNodeTooltip\n
+\t\t\t\t});\n
+\t\t\t\tpointGrip = pointGripContainer.appendChild(pointGrip);\n
+\t\n
+\t\t\t\tvar grip = $(\'#pathpointgrip_\'+index);\n
+\t\t\t\tgrip.dblclick(function() {\n
+\t\t\t\t\tif(path) path.setSegType();\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\tif(x && y) {\n
+\t\t\t\t// set up the point grip element and display it\n
+\t\t\t\tassignAttributes(pointGrip, {\n
+\t\t\t\t\t\'cx\': x,\n
+\t\t\t\t\t\'cy\': y,\n
+\t\t\t\t\t\'display\': "inline"\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\treturn pointGrip;\n
+\t\t};\n
+\t\t\n
+\t\tvar getPointGrip = function(seg, update) {\n
+\t\t\tvar index = seg.index;\n
+\t\t\tvar pointGrip = addPointGrip(index);\n
+\n
+\t\t\tif(update) {\n
+\t\t\t\tvar pt = getGripPt(seg);\n
+\t\t\t\tassignAttributes(pointGrip, {\n
+\t\t\t\t\t\'cx\': pt.x,\n
+\t\t\t\t\t\'cy\': pt.y,\n
+\t\t\t\t\t\'display\': "inline"\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\treturn pointGrip;\n
+\t\t}\n
+\t\t\n
+\t\tvar getSegSelector = function(seg, update) {\n
+\t\t\tvar index = seg.index;\n
+\t\t\tvar segLine = getElem("segline_" + index);\n
+\t\t\tif(!segLine) {\n
+\t\t\t\tvar pointGripContainer = getGripContainer();\n
+\t\t\t\t// create segline\n
+\t\t\t\tsegLine = document.createElementNS(svgns, "path");\n
+\t\t\t\tassignAttributes(segLine, {\n
+\t\t\t\t\t\'id\': "segline_" + index,\n
+\t\t\t\t\t\'display\': \'none\',\n
+\t\t\t\t\t\'fill\': "none",\n
+\t\t\t\t\t\'stroke\': "#0FF",\n
+\t\t\t\t\t\'stroke-width\': 2,\n
+\t\t\t\t\t\'style\':\'pointer-events:none\',\n
+\t\t\t\t\t\'d\': \'M0,0 0,0\'\n
+\t\t\t\t});\n
+\t\t\t\tpointGripContainer.appendChild(segLine);\n
+\t\t\t} \n
+\t\t\t\n
+\t\t\tif(update) {\n
+\t\t\t\tvar prev = seg.prev;\n
+\t\t\t\tif(!prev) {\n
+\t\t\t\t\tsegLine.setAttribute("display", "none");\n
+\t\t\t\t\treturn segLine;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar pt = getGripPt(prev);\n
+\t\t\t\t// Set start point\n
+\t\t\t\treplacePathSeg(2, 0, [pt.x, pt.y], segLine);\n
+\t\t\t\t\n
+\t\t\t\tvar pts = ptObjToArr(seg.type, seg.item, true);\n
+\t\t\t\tfor(var i=0; i < pts.length; i+=2) {\n
+\t\t\t\t\tvar pt = getGripPt(seg, {x:pts[i], y:pts[i+1]});\n
+\t\t\t\t\tpts[i] = pt.x;\n
+\t\t\t\t\tpts[i+1] = pt.y;\n
+\t\t\t\t}\n
+\n
+\t\t\t\treplacePathSeg(seg.type, 1, pts, segLine);\n
+\t\t\t}\n
+\t\t\treturn segLine;\n
+\t\t}\n
+\t\t\n
+\t\tvar getControlPoints = function(seg) {\n
+\t\t\tvar item = seg.item;\n
+\t\t\tvar index = seg.index;\n
+\t\t\tif(!("x1" in item) || !("x2" in item)) return null;\n
+\t\t\tvar cpt = {};\t\t\t\n
+\t\t\tvar pointGripContainer = getGripContainer();\n
+\t\t\n
+\t\t\t// Note that this is intentionally not seg.prev.item\n
+\t\t\tvar prev = path.segs[index-1].item;\n
+\n
+\t\t\tvar seg_items = [prev, item];\n
+\t\t\t\n
+\t\t\tfor(var i=1; i<3; i++) {\n
+\t\t\t\tvar id = index + \'c\' + i;\n
+\t\t\t\tvar ctrlLine = cpt[\'c\' + i + \'_line\'] = getElem("ctrlLine_"+id);\n
+\t\t\t\t\n
+\t\t\t\tif(!ctrlLine) {\n
+\t\t\t\t\tctrlLine = document.createElementNS(svgns, "line");\n
+\t\t\t\t\tassignAttributes(ctrlLine, {\n
+\t\t\t\t\t\t\'id\': "ctrlLine_"+id,\n
+\t\t\t\t\t\t\'stroke\': "#555",\n
+\t\t\t\t\t\t\'stroke-width\': 1,\n
+\t\t\t\t\t\t"style": "pointer-events:none"\n
+\t\t\t\t\t});\n
+\t\t\t\t\tpointGripContainer.appendChild(ctrlLine);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar pt = getGripPt(seg, {x:item[\'x\' + i], y:item[\'y\' + i]});\n
+\t\t\t\tvar gpt = getGripPt(seg, {x:seg_items[i-1].x, y:seg_items[i-1].y});\n
+\t\t\t\t\n
+\t\t\t\tassignAttributes(ctrlLine, {\n
+\t\t\t\t\t\'x1\': pt.x,\n
+\t\t\t\t\t\'y1\': pt.y,\n
+\t\t\t\t\t\'x2\': gpt.x,\n
+\t\t\t\t\t\'y2\': gpt.y,\n
+\t\t\t\t\t\'display\': "inline"\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tcpt[\'c\' + i + \'_line\'] = ctrlLine;\n
+\t\t\t\t\t\n
+\t\t\t\tvar pointGrip = cpt[\'c\' + i] = getElem("ctrlpointgrip_"+id);\n
+\t\t\t\t// create it\n
+\t\t\t\tif (!pointGrip) {\n
+\t\t\t\t\tpointGrip = document.createElementNS(svgns, "circle");\n
+\t\t\t\t\tassignAttributes(pointGrip, {\n
+\t\t\t\t\t\t\'id\': "ctrlpointgrip_" + id,\n
+\t\t\t\t\t\t\'display\': "none",\n
+\t\t\t\t\t\t\'r\': 4,\n
+\t\t\t\t\t\t\'fill\': "#0FF",\n
+\t\t\t\t\t\t\'stroke\': "#55F",\n
+\t\t\t\t\t\t\'stroke-width\': 1,\n
+\t\t\t\t\t\t\'cursor\': \'move\',\n
+\t\t\t\t\t\t\'style\': \'pointer-events:all\',\n
+\t\t\t\t\t\t\'xlink:title\': uiStrings.pathCtrlPtTooltip\n
+\t\t\t\t\t});\n
+\t\t\t\t\tpointGripContainer.appendChild(pointGrip);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tassignAttributes(pointGrip, {\n
+\t\t\t\t\t\'cx\': pt.x,\n
+\t\t\t\t\t\'cy\': pt.y,\n
+\t\t\t\t\t\'display\': "inline"\n
+\t\t\t\t});\n
+\t\t\t\tcpt[\'c\' + i] = pointGrip;\n
+\t\t\t}\n
+\t\t\treturn cpt;\n
+\t\t}\n
+\t\t\n
+\t\tfunction getGripPt(seg, alt_pt) {\n
+\t\t\tvar out = {\n
+\t\t\t\tx: alt_pt? alt_pt.x : seg.item.x,\n
+\t\t\t\ty: alt_pt? alt_pt.y : seg.item.y\n
+\t\t\t}, path = seg.path;\n
+\n
+\t\t\t\n
+\t\t\tif(path.matrix) {\n
+\t\t\t\tvar pt = transformPoint(out.x, out.y, path.matrix);\n
+\t\t\t\tout = pt;\n
+\t\t\t}\n
+\n
+\t\t\tout.x *= current_zoom;\n
+\t\t\tout.y *= current_zoom;\n
+\t\t\t\n
+\t\t\treturn out;\n
+\t\t}\n
+\t\t\n
+\t\tfunction getPointFromGrip(pt, path) {\n
+\t\t\tvar out = {\n
+\t\t\t\tx: pt.x,\n
+\t\t\t\ty: pt.y\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tif(path.matrix) {\n
+\t\t\t\tvar pt = transformPoint(out.x, out.y, path.imatrix);\n
+\t\t\t\tout.x = pt.x;\n
+\t\t\t\tout.y = pt.y;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tout.x /= current_zoom;\n
+\t\t\tout.y /= current_zoom;\t\t\t\n
+\t\t\t\n
+\t\t\treturn out;\n
+\t\t}\n
+\t\t\n
+\t\tfunction Segment(index, item) {\n
+\t\t\tvar s = this;\n
+\t\t\t\n
+\t\t\ts.index = index;\n
+\t\t\ts.selected = false;\n
+\t\t\ts.type = item.pathSegType;\n
+\t\t\tvar grip;\n
+\n
+\t\t\ts.addGrip = function() {\n
+\t\t\t\tgrip = s.ptgrip = getPointGrip(s, true);\n
+\t\t\t\ts.ctrlpts = getControlPoints(s, true);\n
+\t\t\t\ts.segsel = getSegSelector(s, true);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\ts.item = item;\n
+\t\t\ts.show = function(y) {\n
+\t\t\t\tif(grip) {\n
+\t\t\t\t\tgrip.setAttribute("display", y?"inline":"none");\n
+\t\t\t\t\ts.segsel.setAttribute("display", y?"inline":"none");\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Show/hide all control points if available\n
+\t\t\t\t\ts.showCtrlPts(y);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\ts.select = function(y) {\n
+\t\t\t\tif(grip) {\n
+\t\t\t\t\tgrip.setAttribute("stroke", y?"#0FF":"#00F");\n
+\t\t\t\t\ts.segsel.setAttribute("display", y?"inline":"none");\n
+\t\t\t\t\tif(s.ctrlpts) {\n
+\t\t\t\t\t\ts.selectCtrls(y);\n
+\t\t\t\t\t}\n
+\t\t\t\t\ts.selected = y;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\ts.selectCtrls = function(y) {\n
+\t\t\t\t$(\'#ctrlpointgrip_\' + s.index + \'c1, #ctrlpointgrip_\' + s.index + \'c2\').attr(\'fill\',y?\'#0FF\':\'#EEE\');\n
+\t\t\t}\n
+\t\t\ts.update = function(full) {\n
+\t\t\t\titem = s.item;\n
+\t\t\t\tif(grip) {\n
+\t\t\t\t\tvar pt = getGripPt(s);\n
+\t\t\t\t\tassignAttributes(grip, {\n
+\t\t\t\t\t\t\'cx\': pt.x,\n
+\t\t\t\t\t\t\'cy\': pt.y\n
+\t\t\t\t\t});\n
+\t\t\t\t\t\n
+\t\t\t\t\tgetSegSelector(s, true);\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(s.ctrlpts) {\n
+\t\t\t\t\t\tif(full) {\n
+\t\t\t\t\t\t\ts.item = path.elem.pathSegList.getItem(s.index);\n
+\t\t\t\t\t\t\ts.type = s.item.pathSegType;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tgetControlPoints(s);\n
+\t\t\t\t\t} \n
+\t\t\t\t\t// this.segsel.setAttribute("display", y?"inline":"none");\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\ts.move = function(dx, dy) {\n
+\t\t\t\tvar item = s.item;\n
+\t\t\t\t\n
+\t\t\t\tvar cur = s;\n
+\t\t\t\t\n
+\t\t\t\tif(cur.ctrlpts) {\n
+\t\t\t\t\tvar cur_pts = [item.x += dx, item.y += dy, \n
+\t\t\t\t\t\titem.x1, item.y1, item.x2 += dx, item.y2 += dy];\n
+\t\t\t\t} else {\n
+\t\t\t\t\tvar cur_pts = [item.x += dx, item.y += dy];\n
+\t\t\t\t}\n
+\t\t\t\treplacePathSeg(cur.type, cur.index, cur_pts);\n
+\n
+\t\t\t\tif(s.next && s.next.ctrlpts) {\n
+\t\t\t\t\tvar next = s.next.item;\n
+\t\t\t\t\tvar next_pts = [next.x, next.y, \n
+\t\t\t\t\t\tnext.x1 += dx, next.y1 += dy, next.x2, next.y2];\n
+\t\t\t\t\treplacePathSeg(s.next.type, s.next.index, next_pts);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tif(s.mate) {\n
+\t\t\t\t\t// The last point of a closed subpath has a "mate",\n
+\t\t\t\t\t// which is the "M" segment of the subpath\n
+\t\t\t\t\tvar item = s.mate.item;\n
+\t\t\t\t\tvar pts = [item.x += dx, item.y += dy];\n
+\t\t\t\t\treplacePathSeg(s.mate.type, s.mate.index, pts);\n
+\t\t\t\t\t// Has no grip, so does not need "updating"?\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\ts.update(true);\n
+\t\t\t\tif(s.next) s.next.update(true);\n
+\t\t\t}\n
+\t\t\ts.setLinked = function(num) {\n
+\t\t\t\tvar seg, anum, pt;\n
+\t\t\t\tif(num == 2) {\n
+\t\t\t\t\tanum = 1;\n
+\t\t\t\t\tseg = s.next;\n
+\t\t\t\t\tif(!seg) return;\n
+\t\t\t\t\tpt = s.item;\n
+\t\t\t\t} else {\n
+\t\t\t\t\tanum = 2;\n
+\t\t\t\t\tseg = s.prev;\n
+\t\t\t\t\tif(!seg) return;\n
+\t\t\t\t\tpt = seg.item;\n
+\t\t\t\t}\n
+\t\t\t\tvar item = seg.item;\n
+\t\t\t\t\n
+\t\t\t\titem[\'x\' + anum] = pt.x + (pt.x - s.item[\'x\' + num]);\n
+\t\t\t\titem[\'y\' + anum] = pt.y + (pt.y - s.item[\'y\' + num]);\n
+\t\t\t\t\n
+\t\t\t\tvar pts = [item.x,item.y,\n
+\t\t\t\t\titem.x1,item.y1, item.x2,item.y2];\n
+\t\t\t\t\t\n
+\t\t\t\treplacePathSeg(seg.type, seg.index, pts);\n
+\t\t\t\tseg.update(true);\n
+\n
+\t\t\t}\n
+\t\t\ts.moveCtrl = function(num, dx, dy) {\n
+\t\t\t\tvar item = s.item;\n
+\n
+\t\t\t\titem[\'x\' + num] += dx;\n
+\t\t\t\titem[\'y\' + num] += dy;\n
+\t\t\t\t\n
+\t\t\t\tvar pts = [item.x,item.y,\n
+\t\t\t\t\titem.x1,item.y1, item.x2,item.y2];\n
+\t\t\t\t\t\n
+\t\t\t\treplacePathSeg(s.type, s.index, pts);\n
+\t\t\t\ts.update(true);\n
+\t\t\t}\n
+\t\t\ts.setType = function(new_type, pts) {\n
+\t\t\t\treplacePathSeg(new_type, index, pts);\n
+\t\t\t\ts.type = new_type;\n
+\t\t\t\ts.item = path.elem.pathSegList.getItem(index);\n
+\t\t\t\ts.showCtrlPts(new_type === 6);\n
+\t\t\t\ts.ctrlpts = getControlPoints(s);\n
+\t\t\t\ts.update(true);\n
+\t\t\t}\n
+\t\t\ts.showCtrlPts = function(y) {\n
+\t\t\t\tif(s.ctrlpts) {\n
+\t\t\t\t\tfor (var o in s.ctrlpts) {\n
+\t\t\t\t\t\ts.ctrlpts[o].setAttribute("display", y?"inline":"none");\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\tfunction Path(elem) {\n
+\t\t\tif(!elem || elem.tagName !== "path") return false;\n
+\t\t\n
+\t\t\tvar p = path = this;\n
+\t\t\tthis.elem = elem;\n
+\t\t\tthis.segs = [];\n
+\t\t\tthis.selected_pts = [];\n
+\t\t\t\n
+\t\t\t// Reset path data\n
+\t\t\tthis.init = function() {\n
+\t\t\t\t// Hide all grips, etc\n
+\t\t\t\t$(getGripContainer()).find("*").attr("display", "none");\n
+\t\t\t\tvar segList = elem.pathSegList;\n
+\t\t\t\tvar len = segList.numberOfItems;\n
+\t\t\t\tp.segs = [];\n
+\t\t\t\tp.selected_pts = [];\n
+\t\t\t\tp.first_seg = null;\n
+\t\t\t\t\n
+\t\t\t\t// Set up segs array\n
+\t\t\t\tfor(var i=0; i < len; i++) {\n
+\t\t\t\t\tvar item = segList.getItem(i);\n
+\t\t\t\t\tvar segment = new Segment(i, item);\n
+\t\t\t\t\tsegment.path = p;\n
+\t\t\t\t\tp.segs.push(segment);\n
+\t\t\t\t}\t\n
+\t\t\t\t\n
+\t\t\t\tvar segs = p.segs;\n
+\t\t\t\tvar start_i = null;\n
+\n
+\t\t\t\tfor(var i=0; i < len; i++) {\n
+\t\t\t\t\tvar seg = segs[i]; \n
+\t\t\t\t\tvar next_seg = (i+1) >= len ? null : segs[i+1];\n
+\t\t\t\t\tvar prev_seg = (i-1) < 0 ? null : segs[i-1];\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(seg.type === 2) {\n
+\t\t\t\t\t\tif(prev_seg && prev_seg.type !== 1) {\n
+\t\t\t\t\t\t\t// New sub-path, last one is open,\n
+\t\t\t\t\t\t\t// so add a grip to last sub-path\'s first point\n
+\t\t\t\t\t\t\tvar start_seg = segs[start_i];\n
+\t\t\t\t\t\t\tstart_seg.next = segs[start_i+1];\n
+\t\t\t\t\t\t\tstart_seg.next.prev = start_seg;\n
+\t\t\t\t\t\t\tstart_seg.addGrip();\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t// Remember that this is a starter seg\n
+\t\t\t\t\t\tstart_i = i;\n
+\t\t\t\t\t} else if(next_seg && next_seg.type === 1) {\n
+\t\t\t\t\t\t// This is the last real segment of a closed sub-path\n
+\t\t\t\t\t\t// Next is first seg after "M"\n
+\t\t\t\t\t\tseg.next = segs[start_i+1];\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// First seg after "M"\'s prev is this\n
+\t\t\t\t\t\tseg.next.prev = seg;\n
+\t\t\t\t\t\tseg.mate = segs[start_i];\n
+\t\t\t\t\t\tseg.addGrip();\n
+\t\t\t\t\t\tif(p.first_seg == null) {\n
+\t\t\t\t\t\t\tp.first_seg = seg;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t} else if(!next_seg) {\n
+\t\t\t\t\t\tif(seg.type !== 1) {\n
+\t\t\t\t\t\t\t// Last seg, doesn\'t close so add a grip\n
+\t\t\t\t\t\t\t// to last sub-path\'s first point\n
+\t\t\t\t\t\t\tvar start_seg = segs[start_i];\n
+\t\t\t\t\t\t\tstart_seg.next = segs[start_i+1];\n
+\t\t\t\t\t\t\tstart_seg.next.prev = start_seg;\n
+\t\t\t\t\t\t\tstart_seg.addGrip();\n
+\t\t\t\t\t\t\tseg.addGrip();\n
+\n
+\t\t\t\t\t\t\tif(!p.first_seg) {\n
+\t\t\t\t\t\t\t\t// Open path, so set first as real first and add grip\n
+\t\t\t\t\t\t\t\tp.first_seg = segs[start_i];\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t} else if(seg.type !== 1){\n
+\t\t\t\t\t\t// Regular segment, so add grip and its "next"\n
+\t\t\t\t\t\tseg.addGrip();\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// Don\'t set its "next" if it\'s an "M"\n
+\t\t\t\t\t\tif(next_seg && next_seg.type !== 2) {\n
+\t\t\t\t\t\t\tseg.next = next_seg;\n
+\t\t\t\t\t\t\tseg.next.prev = seg;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\treturn p;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.init();\n
+\t\t\t\n
+\t\t\t// Update position of all points\n
+\t\t\tthis.update = function() {\n
+\t\t\t\tif(canvas.getRotationAngle(p.elem)) {\n
+\t\t\t\t\tp.matrix = getMatrix(path.elem);\n
+\t\t\t\t\tp.imatrix = p.matrix.inverse();\n
+\t\t\t\t}\n
+\n
+\t\t\t\tp.eachSeg(function(i) {\n
+\t\t\t\t\tthis.item = elem.pathSegList.getItem(i);\n
+\t\t\t\t\tthis.update();\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\treturn p;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.eachSeg = function(fn) {\n
+\t\t\t\tvar len = p.segs.length\n
+\t\t\t\tfor(var i=0; i < len; i++) {\n
+\t\t\t\t\tvar ret = fn.call(p.segs[i], i);\n
+\t\t\t\t\tif(ret === false) break;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.addSeg = function(index) {\n
+\t\t\t\t// Adds a new segment\n
+\t\t\t\tvar seg = p.segs[index];\n
+\t\t\t\tif(!seg.prev) return;\n
+\t\t\t\t\n
+\t\t\t\tvar prev = seg.prev;\n
+\t\t\t\tvar newseg;\n
+\t\t\t\tswitch(seg.item.pathSegType) {\n
+\t\t\t\tcase 4:\n
+\t\t\t\t\tvar new_x = (seg.item.x + prev.item.x) / 2;\n
+\t\t\t\t\tvar new_y = (seg.item.y + prev.item.y) / 2;\n
+\t\t\t\t\tnewseg = elem.createSVGPathSegLinetoAbs(new_x, new_y);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase 6: //make it a curved segment to preserve the shape (WRS)\n
+\t\t\t\t\t// http://en.wikipedia.org/wiki/De_Casteljau%27s_algorithm#Geometric_interpretation\n
+\t\t\t\t\tvar p0_x = (prev.item.x + seg.item.x1)/2;\n
+\t\t\t\t\tvar p1_x = (seg.item.x1 + seg.item.x2)/2;\n
+\t\t\t\t\tvar p2_x = (seg.item.x2 + seg.item.x)/2;\n
+\t\t\t\t\tvar p01_x = (p0_x + p1_x)/2;\n
+\t\t\t\t\tvar p12_x = (p1_x + p2_x)/2;\n
+\t\t\t\t\tvar new_x = (p01_x + p12_x)/2;\n
+\t\t\t\t\tvar p0_y = (prev.item.y + seg.item.y1)/2;\n
+\t\t\t\t\tvar p1_y = (seg.item.y1 + seg.item.y2)/2;\n
+\t\t\t\t\tvar p2_y = (seg.item.y2 + seg.item.y)/2;\n
+\t\t\t\t\tvar p01_y = (p0_y + p1_y)/2;\n
+\t\t\t\t\tvar p12_y = (p1_y + p2_y)/2;\n
+\t\t\t\t\tvar new_y = (p01_y + p12_y)/2;\n
+\t\t\t\t\tnewseg = elem.createSVGPathSegCurvetoCubicAbs(new_x,new_y, p0_x,p0_y, p01_x,p01_y);\n
+\t\t\t\t\tvar pts = [seg.item.x,seg.item.y,p12_x,p12_y,p2_x,p2_y];\n
+\t\t\t\t\treplacePathSeg(seg.type,index,pts);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\tinsertItemBefore(elem, newseg, index);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.deleteSeg = function(index) {\n
+\t\t\t\tvar seg = p.segs[index];\n
+\t\t\t\tvar list = elem.pathSegList;\n
+\t\t\t\t\n
+\t\t\t\tseg.show(false);\n
+\t\t\t\tvar next = seg.next;\n
+\t\t\t\tif(seg.mate) {\n
+\t\t\t\t\t// Make the next point be the "M" point\n
+\t\t\t\t\tvar pt = [next.item.x, next.item.y];\n
+\t\t\t\t\treplacePathSeg(2, next.index, pt);\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Reposition last node\n
+\t\t\t\t\treplacePathSeg(4, seg.index, pt);\n
+\t\t\t\t\t\n
+\t\t\t\t\tlist.removeItem(seg.mate.index);\n
+\t\t\t\t} else if(!seg.prev) {\n
+\t\t\t\t\t// First node of open path, make next point the M\n
+\t\t\t\t\tvar item = seg.item;\n
+\t\t\t\t\tvar pt = [next.item.x, next.item.y];\n
+\t\t\t\t\treplacePathSeg(2, seg.next.index, pt);\n
+\t\t\t\t\tlist.removeItem(index);\n
+\t\t\t\t\t\n
+\t\t\t\t} else {\n
+\t\t\t\t\tlist.removeItem(index);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.endChanges = function(text) {\n
+\t\t\t\tif(isWebkit) resetD(p.elem);\n
+\t\t\t\tvar cmd = new ChangeElementCommand(elem, {d: p.last_d}, text);\n
+\t\t\t\taddCommandToHistory(cmd);\n
+\t\t\t\tcall("changed", [elem]);\n
+\t\t\t}\n
+\n
+\t\t\tthis.subpathIsClosed = function(index) {\n
+\t\t\t\tvar closed = false;\n
+\t\t\t\t// Check if subpath is already open\n
+\t\t\t\tpath.eachSeg(function(i) {\n
+\t\t\t\t\tif(i <= index) return true;\n
+\t\t\t\t\tif(this.type === 2) {\n
+\t\t\t\t\t\t// Found M first, so open\n
+\t\t\t\t\t\treturn false;\n
+\t\t\t\t\t} else if(this.type === 1) {\n
+\t\t\t\t\t\t// Found Z first, so closed\n
+\t\t\t\t\t\tclosed = true;\n
+\t\t\t\t\t\treturn false;\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\treturn closed;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.addPtsToSelection = function(indexes) {\n
+\t\t\t\tif(!$.isArray(indexes)) indexes = [indexes];\n
+\t\t\t\tfor(var i=0; i< indexes.length; i++) {\n
+\t\t\t\t\tvar index = indexes[i];\n
+\t\t\t\t\tvar seg = p.segs[index];\n
+\t\t\t\t\tif(seg.ptgrip) {\n
+\t\t\t\t\t\tif($.inArray(index, p.selected_pts) == -1 && index >= 0) {\n
+\t\t\t\t\t\t\tp.selected_pts.push(index);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t};\n
+\t\t\t\tp.selected_pts.sort();\n
+\t\t\t\tvar i = p.selected_pts.length,\n
+\t\t\t\t\tgrips = new Array(i);\n
+\t\t\t\t// Loop through points to be selected and highlight each\n
+\t\t\t\twhile(i--) {\n
+\t\t\t\t\tvar pt = p.selected_pts[i];\n
+\t\t\t\t\tvar seg = p.segs[pt];\n
+\t\t\t\t\tseg.select(true);\n
+\t\t\t\t\tgrips[i] = seg.ptgrip;\n
+\t\t\t\t}\n
+\t\t\t\t// TODO: Correct this:\n
+\t\t\t\tpathActions.canDeleteNodes = true;\n
+\t\t\t\t\n
+\t\t\t\tpathActions.closed_subpath = p.subpathIsClosed(p.selected_pts[0]);\n
+\t\t\t\t\n
+\t\t\t\tcall("selected", grips);\n
+\t\t\t}\n
+\n
+\t\t\tthis.removePtFromSelection = function(index) {\n
+\t\t\t\tvar pos = $.inArray(index, p.selected_pts);\n
+\t\t\t\tif(pos == -1) {\n
+\t\t\t\t\treturn;\n
+\t\t\t\t} \n
+\t\t\t\tp.segs[index].select(false);\n
+\t\t\t\tp.selected_pts.splice(pos, 1);\n
+\t\t\t}\n
+\n
+\t\t\t\n
+\t\t\tthis.clearSelection = function() {\n
+\t\t\t\tp.eachSeg(function(i) {\n
+\t\t\t\t\tthis.select(false);\n
+\t\t\t\t});\n
+\t\t\t\tp.selected_pts = [];\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.selectPt = function(pt, ctrl_num) {\n
+\t\t\t\tp.clearSelection();\n
+\t\t\t\tif(pt == null) {\n
+\t\t\t\t\tp.eachSeg(function(i) {\n
+\t\t\t\t\t\tif(this.prev) {\n
+\t\t\t\t\t\t\tpt = i;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t}\n
+\t\t\t\tp.addPtsToSelection(pt);\n
+\t\t\t\tif(ctrl_num) {\n
+\t\t\t\t\tp.dragctrl = ctrl_num;\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(link_control_pts) {\n
+\t\t\t\t\t\tp.segs[pt].setLinked(ctrl_num);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.storeD = function() {\n
+\t\t\t\tthis.last_d = elem.getAttribute(\'d\');\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.show = function(y) {\n
+\t\t\t\t// Shows this path\'s segment grips \n
+\t\t\t\tp.eachSeg(function() {\n
+\t\t\t\t\tthis.show(y);\n
+\t\t\t\t});\n
+\t\t\t\tif(y) {\n
+\t\t\t\t\tp.selectPt(p.first_seg.index);\n
+\t\t\t\t}\n
+\t\t\t\treturn p;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// Move selected points \n
+\t\t\tthis.movePts = function(d_x, d_y) {\n
+\t\t\t\tvar i = p.selected_pts.length;\n
+\t\t\t\twhile(i--) {\n
+\t\t\t\t\tvar seg = p.segs[p.selected_pts[i]];\n
+\t\t\t\t\tseg.move(d_x, d_y);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.moveCtrl = function(d_x, d_y) {\n
+\t\t\t\tvar seg = p.segs[p.selected_pts[0]];\n
+\t\t\t\tseg.moveCtrl(p.dragctrl, d_x, d_y);\n
+\t\t\t\tif(link_control_pts) {\n
+\t\t\t\t\tseg.setLinked(p.dragctrl);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tthis.setSegType = function(new_type) {\n
+\t\t\t\tp.storeD();\n
+\t\t\t\tvar i = p.selected_pts.length;\n
+\t\t\t\tvar text;\n
+\t\t\t\twhile(i--) {\n
+\t\t\t\t\tvar sel_pt = p.selected_pts[i];\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Selected seg\n
+\t\t\t\t\tvar cur = p.segs[sel_pt];\n
+\t\t\t\t\tvar prev = cur.prev;\n
+\t\t\t\t\tif
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>next</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="4" aka="AAAAAAAAAAQ=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+(!prev) continue;\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(!new_type) { // double-click, so just toggle\n
+\t\t\t\t\t\ttext = "Toggle Path Segment Type";\n
+\t\t\t\n
+\t\t\t\t\t\t// Toggle segment to curve/straight line\n
+\t\t\t\t\t\tvar old_type = cur.type;\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tnew_type = (old_type == 6) ? 4 : 6;\n
+\t\t\t\t\t} \n
+\t\t\t\t\t\n
+\t\t\t\t\tnew_type = new_type-0;\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar cur_x = cur.item.x;\n
+\t\t\t\t\tvar cur_y = cur.item.y;\n
+\t\t\t\t\tvar prev_x = prev.item.x;\n
+\t\t\t\t\tvar prev_y = prev.item.y;\n
+\t\t\t\t\tvar points;\n
+\t\t\t\t\tswitch ( new_type ) {\n
+\t\t\t\t\tcase 6:\n
+\t\t\t\t\t\tif(cur.olditem) {\n
+\t\t\t\t\t\t\tvar old = cur.olditem;\n
+\t\t\t\t\t\t\tpoints = [cur_x,cur_y, old.x1,old.y1, old.x2,old.y2];\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\tvar diff_x = cur_x - prev_x;\n
+\t\t\t\t\t\t\tvar diff_y = cur_y - prev_y;\n
+\t\t\t\t\t\t\t// get control points from straight line segment\n
+\t\t\t\t\t\t\t/*\n
+\t\t\t\t\t\t\tvar ct1_x = (prev_x + (diff_y/2));\n
+\t\t\t\t\t\t\tvar ct1_y = (prev_y - (diff_x/2));\n
+\t\t\t\t\t\t\tvar ct2_x = (cur_x + (diff_y/2));\n
+\t\t\t\t\t\t\tvar ct2_y = (cur_y - (diff_x/2));\n
+\t\t\t\t\t\t\t*/\n
+\t\t\t\t\t\t\t//create control points on the line to preserve the shape (WRS)\n
+\t\t\t\t\t\t\tvar ct1_x = (prev_x + (diff_x/3));\n
+\t\t\t\t\t\t\tvar ct1_y = (prev_y + (diff_y/3));\n
+\t\t\t\t\t\t\tvar ct2_x = (cur_x - (diff_x/3));\n
+\t\t\t\t\t\t\tvar ct2_y = (cur_y - (diff_y/3));\n
+\t\t\t\t\t\t\tpoints = [cur_x,cur_y, ct1_x,ct1_y, ct2_x,ct2_y];\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t\tcase 4:\n
+\t\t\t\t\t\tpoints = [cur_x,cur_y];\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// Store original prevve segment nums\n
+\t\t\t\t\t\tcur.olditem = cur.item;\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tcur.setType(new_type, points);\n
+\t\t\t\t}\n
+\t\t\t\tpath.endChanges(text);\n
+\t\t\t\treturn;\n
+\t\t\t}\n
+\n
+\t\t}\n
+\t\t\n
+\t\tfunction getPath(elem) {\n
+\t\t\tvar p = pathData[elem.id];\n
+\t\t\tif(!p) p = pathData[elem.id] = new Path(elem);\n
+\t\t\treturn p;\n
+\t\t}\n
+\t\t\n
+\t\t\n
+\t\tvar pathFuncs = [],\n
+\t\t\tcurrent_path = null,\n
+\t\t\tcurrent_path_pts = [],\n
+\t\t\tlink_control_pts = false,\n
+\t\t\thasMoved = false;\n
+\t\t\n
+\t\t// This function converts a polyline (created by the fh_path tool) into\n
+\t\t// a path element and coverts every three line segments into a single bezier\n
+\t\t// curve in an attempt to smooth out the free-hand\n
+\t\tvar smoothPolylineIntoPath = function(element) {\n
+\t\t\tvar points = element.points;\n
+\t\t\tvar N = points.numberOfItems;\n
+\t\t\tif (N >= 4) {\n
+\t\t\t\t// loop through every 3 points and convert to a cubic bezier curve segment\n
+\t\t\t\t// \n
+\t\t\t\t// NOTE: this is cheating, it means that every 3 points has the potential to \n
+\t\t\t\t// be a corner instead of treating each point in an equal manner.  In general,\n
+\t\t\t\t// this technique does not look that good.\n
+\t\t\t\t// \n
+\t\t\t\t// I am open to better ideas!\n
+\t\t\t\t// \n
+\t\t\t\t// Reading:\n
+\t\t\t\t// - http://www.efg2.com/Lab/Graphics/Jean-YvesQueinecBezierCurves.htm\n
+\t\t\t\t// - http://www.codeproject.com/KB/graphics/BezierSpline.aspx?msg=2956963\n
+\t\t\t\t// - http://www.ian-ko.com/ET_GeoWizards/UserGuide/smooth.htm\n
+\t\t\t\t// - http://www.cs.mtu.edu/~shene/COURSES/cs3621/NOTES/spline/Bezier/bezier-der.html\n
+\t\t\t\tvar curpos = points.getItem(0), prevCtlPt = null;\n
+\t\t\t\tvar d = [];\n
+\t\t\t\td.push(["M",curpos.x,",",curpos.y," C"].join(""));\n
+\t\t\t\tfor (var i = 1; i <= (N-4); i += 3) {\n
+\t\t\t\t\tvar ct1 = points.getItem(i);\n
+\t\t\t\t\tvar ct2 = points.getItem(i+1);\n
+\t\t\t\t\tvar end = points.getItem(i+2);\n
+\t\t\t\t\t\n
+\t\t\t\t\t// if the previous segment had a control point, we want to smooth out\n
+\t\t\t\t\t// the control points on both sides\n
+\t\t\t\t\tif (prevCtlPt) {\n
+\t\t\t\t\t\tvar newpts = smoothControlPoints( prevCtlPt, ct1, curpos );\n
+\t\t\t\t\t\tif (newpts && newpts.length == 2) {\n
+\t\t\t\t\t\t\tvar prevArr = d[d.length-1].split(\',\');\n
+\t\t\t\t\t\t\tprevArr[2] = newpts[0].x;\n
+\t\t\t\t\t\t\tprevArr[3] = newpts[0].y;\n
+\t\t\t\t\t\t\td[d.length-1] = prevArr.join(\',\');\n
+\t\t\t\t\t\t\tct1 = newpts[1];\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\td.push([ct1.x,ct1.y,ct2.x,ct2.y,end.x,end.y].join(\',\'));\n
+\t\t\t\t\t\n
+\t\t\t\t\tcurpos = end;\n
+\t\t\t\t\tprevCtlPt = ct2;\n
+\t\t\t\t}\n
+\t\t\t\t// handle remaining line segments\n
+\t\t\t\td.push("L");\n
+\t\t\t\tfor(;i < N;++i) {\n
+\t\t\t\t\tvar pt = points.getItem(i);\n
+\t\t\t\t\td.push([pt.x,pt.y].join(","));\n
+\t\t\t\t}\n
+\t\t\t\td = d.join(" ");\n
+\n
+\t\t\t\t// create new path element\n
+\t\t\t\telement = addSvgElementFromJson({\n
+\t\t\t\t\t"element": "path",\n
+\t\t\t\t\t"curStyles": true,\n
+\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t"id": getId(),\n
+\t\t\t\t\t\t"d": d,\n
+\t\t\t\t\t\t"fill": "none"\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\tcall("changed",[element]);\n
+\t\t\t}\n
+\t\t\treturn element;\n
+\t\t};\n
+\t\t\n
+\t\t// This replaces the segment at the given index. Type is given as number.\n
+\t\tvar replacePathSeg = function(type, index, pts, elem) {\n
+\t\t\tvar path = elem || retPath().elem;\n
+\t\t\tvar func = \'createSVGPathSeg\' + pathFuncs[type];\n
+\t\t\tvar seg = path[func].apply(path, pts);\n
+\t\t\t\n
+\t\t\tif(support.pathReplaceItem) {\n
+\t\t\t\tpath.pathSegList.replaceItem(seg, index);\n
+\t\t\t} else {\n
+\t\t\t\tvar segList = path.pathSegList;\n
+\t\t\t\tvar len = segList.numberOfItems;\n
+\t\t\t\tvar arr = [];\n
+\t\t\t\tfor(var i=0; i<len; i++) {\n
+\t\t\t\t\tvar cur_seg = segList.getItem(i);\n
+\t\t\t\t\tarr.push(cur_seg)\t\t\t\t\n
+\t\t\t\t}\n
+\t\t\t\tsegList.clear();\n
+\t\t\t\tfor(var i=0; i<len; i++) {\n
+\t\t\t\t\tif(i == index) {\n
+\t\t\t\t\t\tsegList.appendItem(seg);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tsegList.appendItem(arr[i]);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\n
+ \t\t// If the path was rotated, we must now pay the piper:\n
+\t\t// Every path point must be rotated into the rotated coordinate system of \n
+\t\t// its old center, then determine the new center, then rotate it back\n
+\t\t// This is because we want the path to remember its rotation\n
+\t\t\n
+\t\t// TODO: This is still using ye olde transform methods, can probably\n
+\t\t// be optimized or even taken care of by recalculateDimensions\n
+\t\tvar recalcRotatedPath = function() {\n
+\t\t\tvar current_path = path.elem;\n
+\t\t\tvar angle = canvas.getRotationAngle(current_path, true);\n
+\t\t\tif(!angle) return;\n
+\t\t\tselectedBBoxes[0] = path.oldbbox;\n
+\t\t\tvar box = canvas.getBBox(current_path),\n
+\t\t\t\toldbox = selectedBBoxes[0],\n
+\t\t\t\toldcx = oldbox.x + oldbox.width/2,\n
+\t\t\t\toldcy = oldbox.y + oldbox.height/2,\n
+\t\t\t\tnewcx = box.x + box.width/2,\n
+\t\t\t\tnewcy = box.y + box.height/2,\n
+\t\t\t\n
+\t\t\t// un-rotate the new center to the proper position\n
+\t\t\t\tdx = newcx - oldcx,\n
+\t\t\t\tdy = newcy - oldcy,\n
+\t\t\t\tr = Math.sqrt(dx*dx + dy*dy),\n
+\t\t\t\ttheta = Math.atan2(dy,dx) + angle;\n
+\t\t\t\t\n
+\t\t\tnewcx = r * Math.cos(theta) + oldcx;\n
+\t\t\tnewcy = r * Math.sin(theta) + oldcy;\n
+\t\t\t\n
+\t\t\tvar getRotVals = function(x, y) {\n
+\t\t\t\tdx = x - oldcx;\n
+\t\t\t\tdy = y - oldcy;\n
+\t\t\t\t\n
+\t\t\t\t// rotate the point around the old center\n
+\t\t\t\tr = Math.sqrt(dx*dx + dy*dy);\n
+\t\t\t\ttheta = Math.atan2(dy,dx) + angle;\n
+\t\t\t\tdx = r * Math.cos(theta) + oldcx;\n
+\t\t\t\tdy = r * Math.sin(theta) + oldcy;\n
+\t\t\t\t\n
+\t\t\t\t// dx,dy should now hold the actual coordinates of each\n
+\t\t\t\t// point after being rotated\n
+\t\n
+\t\t\t\t// now we want to rotate them around the new center in the reverse direction\n
+\t\t\t\tdx -= newcx;\n
+\t\t\t\tdy -= newcy;\n
+\t\t\t\t\n
+\t\t\t\tr = Math.sqrt(dx*dx + dy*dy);\n
+\t\t\t\ttheta = Math.atan2(dy,dx) - angle;\n
+\t\t\t\t\n
+\t\t\t\treturn {\'x\':(r * Math.cos(theta) + newcx)/1,\n
+\t\t\t\t\t\'y\':(r * Math.sin(theta) + newcy)/1};\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar list = current_path.pathSegList,\n
+\t\t\t\ti = list.numberOfItems;\n
+\t\t\twhile (i) {\n
+\t\t\t\ti -= 1;\n
+\t\t\t\tvar seg = list.getItem(i),\n
+\t\t\t\t\ttype = seg.pathSegType;\n
+\t\t\t\tif(type == 1) continue;\n
+\t\t\t\t\n
+\t\t\t\tvar rvals = getRotVals(seg.x,seg.y),\n
+\t\t\t\t\tpoints = [rvals.x, rvals.y];\n
+\t\t\t\tif(seg.x1 != null && seg.x2 != null) {\n
+\t\t\t\t\tc_vals1 = getRotVals(seg.x1, seg.y1);\n
+\t\t\t\t\tc_vals2 = getRotVals(seg.x2, seg.y2);\n
+\t\t\t\t\tpoints.splice(points.length, 0, c_vals1.x , c_vals1.y, c_vals2.x, c_vals2.y);\n
+\t\t\t\t}\n
+\t\t\t\treplacePathSeg(type, i, points);\n
+\t\t\t} // loop for each point\n
+\t\n
+\t\t\tbox = canvas.getBBox(current_path);\t\t\t\t\t\t\n
+\t\t\tselectedBBoxes[0].x = box.x; selectedBBoxes[0].y = box.y;\n
+\t\t\tselectedBBoxes[0].width = box.width; selectedBBoxes[0].height = box.height;\n
+\t\t\t\n
+\t\t\t// now we must set the new transform to be rotated around the new center\n
+\t\t\tvar R_nc = svgroot.createSVGTransform(),\n
+\t\t\t\ttlist = canvas.getTransformList(current_path);\n
+\t\t\tR_nc.setRotate((angle * 180.0 / Math.PI), newcx, newcy);\n
+\t\t\ttlist.replaceItem(R_nc,0);\n
+\t\t}\n
+\t\t\n
+\t\treturn {\n
+\t\t\tinit: function() {\n
+\t\t\t\tpathFuncs = [0,\'ClosePath\'];\n
+\t\t\t\tvar pathFuncsStrs = [\'Moveto\',\'Lineto\',\'CurvetoCubic\',\'CurvetoQuadratic\',\'Arc\',\'LinetoHorizontal\',\'LinetoVertical\',\'CurvetoCubicSmooth\',\'CurvetoQuadraticSmooth\'];\n
+\t\t\t\t$.each(pathFuncsStrs,function(i,s){pathFuncs.push(s+\'Abs\');pathFuncs.push(s+\'Rel\');});\n
+\t\t\t},\n
+\t\t\tgetPath: function() {\n
+\t\t\t\treturn path;\n
+\t\t\t},\n
+\t\t\tmouseDown: function(evt, mouse_target, start_x, start_y) {\n
+\t\t\t\tif(current_mode == "path") return;\n
+\t\t\t\t\n
+\t\t\t\t// TODO: Make sure current_path isn\'t null at this point\n
+\t\t\t\tif(!path) return;\n
+\t\t\t\t\n
+\t\t\t\tpath.storeD();\n
+\t\t\t\t\n
+\t\t\t\tvar id = evt.target.id;\n
+\t\t\t\tif (id.substr(0,14) == "pathpointgrip_") {\n
+\t\t\t\t\t// Select this point\n
+\t\t\t\t\tvar cur_pt = path.cur_pt = parseInt(id.substr(14));\n
+\t\t\t\t\tpath.dragging = [start_x, start_y];\n
+\t\t\t\t\tvar seg = path.segs[cur_pt];\n
+\t\t\t\t\t\n
+\t\t\t\t\t// only clear selection if shift is not pressed (otherwise, add \n
+\t\t\t\t\t// node to selection)\n
+\t\t\t\t\tif (!evt.shiftKey) {\n
+\t\t\t\t\t\tif(path.selected_pts.length <= 1 || !seg.selected) {\n
+\t\t\t\t\t\t\tpath.clearSelection();\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tpath.addPtsToSelection(cur_pt);\n
+\t\t\t\t\t} else if(seg.selected) {\n
+\t\t\t\t\t\tpath.removePtFromSelection(cur_pt);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tpath.addPtsToSelection(cur_pt);\n
+\t\t\t\t\t}\n
+\t\t\t\t} else if(id.indexOf("ctrlpointgrip_") == 0) {\n
+\t\t\t\t\tpath.dragging = [start_x, start_y];\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar parts = id.split(\'_\')[1].split(\'c\');\n
+\t\t\t\t\tvar cur_pt = parts[0]-0;\n
+\t\t\t\t\tvar ctrl_num = parts[1]-0;\n
+\t\t\t\t\tpath.selectPt(cur_pt, ctrl_num);\n
+\t\t\t\t}\n
+\n
+\t\t\t\t// Start selection box\n
+\t\t\t\tif(!path.dragging) {\n
+\t\t\t\t\tif (rubberBox == null) {\n
+\t\t\t\t\t\trubberBox = selectorManager.getRubberBandBox();\n
+\t\t\t\t\t}\n
+\t\t\t\t\tassignAttributes(rubberBox, {\n
+\t\t\t\t\t\t\t\'x\': start_x * current_zoom,\n
+\t\t\t\t\t\t\t\'y\': start_y * current_zoom,\n
+\t\t\t\t\t\t\t\'width\': 0,\n
+\t\t\t\t\t\t\t\'height\': 0,\n
+\t\t\t\t\t\t\t\'display\': \'inline\'\n
+\t\t\t\t\t}, 100);\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\tmouseMove: function(mouse_x, mouse_y) {\n
+\t\t\t\thasMoved = true;\n
+\t\t\t\tif(current_mode == "path") {\n
+\t\t\t\t\tvar line = getElem("path_stretch_line");\n
+\t\t\t\t\tif (line) {\n
+\t\t\t\t\t\tline.setAttribute("x2", mouse_x);\n
+\t\t\t\t\t\tline.setAttribute("y2", mouse_y);\n
+\t\t\t\t\t}\n
+\t\t\t\t\treturn;\n
+\t\t\t\t}\n
+\t\t\t\t// if we are dragging a point, let\'s move it\n
+\t\t\t\tif (path.dragging) {\n
+\t\t\t\t\tvar pt = getPointFromGrip({\n
+\t\t\t\t\t\tx: path.dragging[0],\n
+\t\t\t\t\t\ty: path.dragging[1]\n
+\t\t\t\t\t}, path);\n
+\t\t\t\t\tvar mpt = getPointFromGrip({\n
+\t\t\t\t\t\tx: mouse_x,\n
+\t\t\t\t\t\ty: mouse_y\n
+\t\t\t\t\t}, path);\n
+\t\t\t\t\tvar diff_x = mpt.x - pt.x;\n
+\t\t\t\t\tvar diff_y = mpt.y - pt.y;\n
+\t\t\t\t\tpath.dragging = [mouse_x, mouse_y];\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(path.dragctrl) {\n
+\t\t\t\t\t\tpath.moveCtrl(diff_x, diff_y);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tpath.movePts(diff_x, diff_y);\n
+\t\t\t\t\t}\n
+\t\t\t\t} else {\n
+\t\t\t\t\tpath.selected_pts = [];\n
+\t\t\t\t\tpath.eachSeg(function(i) {\n
+\t\t\t\t\t\tvar seg = this;\n
+\t\t\t\t\t\tif(!seg.next && !seg.prev) return;\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\tvar item = seg.item;\n
+\t\t\t\t\t\tvar rbb = rubberBox.getBBox();\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tvar pt = getGripPt(seg);\n
+\t\t\t\t\t\tvar pt_bb = {\n
+\t\t\t\t\t\t\tx: pt.x,\n
+\t\t\t\t\t\t\ty: pt.y,\n
+\t\t\t\t\t\t\twidth: 0,\n
+\t\t\t\t\t\t\theight: 0\n
+\t\t\t\t\t\t};\n
+\t\t\t\t\t\n
+\t\t\t\t\t\tvar sel = Utils.rectsIntersect(rbb, pt_bb);\n
+\n
+\t\t\t\t\t\tthis.select(sel);\n
+\t\t\t\t\t\t//Note that addPtsToSelection is not being run\n
+\t\t\t\t\t\tif(sel) path.selected_pts.push(seg.index);\n
+\t\t\t\t\t});\n
+\n
+\t\t\t\t}\n
+\t\t\t}, \n
+\t\t\tmouseUp: function(evt, element, mouse_x, mouse_y) {\n
+\t\t\t\t\n
+\t\t\t\t// Create mode\n
+\t\t\t\tif(current_mode == "path") {\n
+\t\t\t\t\tvar x = mouse_x/current_zoom,\n
+\t\t\t\t\t\ty = mouse_y/current_zoom,\n
+\t\t\t\t\t\tstretchy = getElem("path_stretch_line");\n
+\t\t\t\t\tif (!stretchy) {\n
+\t\t\t\t\t\tstretchy = document.createElementNS(svgns, "line");\n
+\t\t\t\t\t\tassignAttributes(stretchy, {\n
+\t\t\t\t\t\t\t\'id\': "path_stretch_line",\n
+\t\t\t\t\t\t\t\'stroke\': "#22C",\n
+\t\t\t\t\t\t\t\'stroke-width\': "0.5"\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\tstretchy = getElem("selectorParentGroup").appendChild(stretchy);\n
+\t\t\t\t\t}\n
+\t\t\t\t\tstretchy.setAttribute("display", "inline");\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar keep = null;\n
+\t\t\t\t\t\n
+\t\t\t\t\t// if pts array is empty, create path element with M at current point\n
+\t\t\t\t\tif (current_path_pts.length == 0) {\n
+\t\t\t\t\t\tcurrent_path_pts.push(x);\n
+\t\t\t\t\t\tcurrent_path_pts.push(y);\n
+\t\t\t\t\t\td_attr = "M" + x + "," + y + " ";\n
+\t\t\t\t\t\taddSvgElementFromJson({\n
+\t\t\t\t\t\t\t"element": "path",\n
+\t\t\t\t\t\t\t"curStyles": true,\n
+\t\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t\t"d": d_attr,\n
+\t\t\t\t\t\t\t\t"id": getNextId(),\n
+\t\t\t\t\t\t\t\t"opacity": cur_shape.opacity / 2,\n
+\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\t// set stretchy line to first point\n
+\t\t\t\t\t\tassignAttributes(stretchy, {\n
+\t\t\t\t\t\t\t\'x1\': mouse_x,\n
+\t\t\t\t\t\t\t\'y1\': mouse_y,\n
+\t\t\t\t\t\t\t\'x2\': mouse_x,\n
+\t\t\t\t\t\t\t\'y2\': mouse_y\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\tvar index = subpath ? path.segs.length : 0;\n
+\t\t\t\t\t\taddPointGrip(index, mouse_x, mouse_y);\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse {\n
+\t\t\t\t\t\t// determine if we clicked on an existing point\n
+\t\t\t\t\t\tvar i = current_path_pts.length;\n
+\t\t\t\t\t\tvar FUZZ = 6/current_zoom;\n
+\t\t\t\t\t\tvar clickOnPoint = false;\n
+\t\t\t\t\t\twhile(i) {\n
+\t\t\t\t\t\t\ti -= 2;\n
+\t\t\t\t\t\t\tvar px = current_path_pts[i], py = current_path_pts[i+1];\n
+\t\t\t\t\t\t\t// found a matching point\n
+\t\t\t\t\t\t\tif ( x >= (px-FUZZ) && x <= (px+FUZZ) && y >= (py-FUZZ) && y <= (py+FUZZ) ) {\n
+\t\t\t\t\t\t\t\tclickOnPoint = true;\n
+\t\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// get path element that we are in the process of creating\n
+\t\t\t\t\t\tvar id = getId();\n
+\t\t\t\t\t\n
+\t\t\t\t\t\t// Remove previous path object if previously created\n
+\t\t\t\t\t\tif(id in pathData) delete pathData[id];\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tvar newpath = getElem(id);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tvar len = current_path_pts.length;\n
+\t\t\t\t\t\t// if we clicked on an existing point, then we are done this path, commit it\n
+\t\t\t\t\t\t// (i,i+1) are the x,y that were clicked on\n
+\t\t\t\t\t\tif (clickOnPoint) {\n
+\t\t\t\t\t\t\t// if clicked on any other point but the first OR\n
+\t\t\t\t\t\t\t// the first point was clicked on and there are less than 3 points\n
+\t\t\t\t\t\t\t// then leave the path open\n
+\t\t\t\t\t\t\t// otherwise, close the path\n
+\t\t\t\t\t\t\tif (i == 0 && len >= 6) {\n
+\t\t\t\t\t\t\t\t// Create end segment\n
+\t\t\t\t\t\t\t\tvar abs_x = current_path_pts[0];\n
+\t\t\t\t\t\t\t\tvar abs_y = current_path_pts[1];\n
+\t\t\t\t\t\t\t\td_attr += [\'L\',abs_x,\',\',abs_y,\'z\'].join(\'\');\n
+\t\t\t\t\t\t\t\tnewpath.setAttribute("d", d_attr);\n
+\t\t\t\t\t\t\t} else if(len < 3) {\n
+\t\t\t\t\t\t\t\tkeep = false;\n
+\t\t\t\t\t\t\t\treturn keep;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t$(stretchy).remove();\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t// this will signal to commit the path\n
+\t\t\t\t\t\t\telement = newpath;\n
+\t\t\t\t\t\t\tcurrent_path_pts = [];\n
+\t\t\t\t\t\t\tstarted = false;\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tif(subpath) {\n
+\t\t\t\t\t\t\t\tif(path.matrix) {\n
+\t\t\t\t\t\t\t\t\tremapElement(newpath, {}, path.matrix.inverse());\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\tvar new_d = newpath.getAttribute("d");\n
+\t\t\t\t\t\t\t\tvar orig_d = $(path.elem).attr("d");\n
+\t\t\t\t\t\t\t\t$(path.elem).attr("d", orig_d + new_d);\n
+\t\t\t\t\t\t\t\t$(newpath).remove();\n
+\t\t\t\t\t\t\t\tif(path.matrix) {\n
+\t\t\t\t\t\t\t\t\trecalcRotatedPath();\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\tpath.init();\n
+\t\t\t\t\t\t\t\tpathActions.toEditMode(path.elem);\n
+\t\t\t\t\t\t\t\tpath.selectPt();\n
+\t\t\t\t\t\t\t\treturn false;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t// else, create a new point, append to pts array, update path element\n
+\t\t\t\t\t\telse {\n
+\t\t\t\t\t\t\t// Checks if current target or parents are #svgcontent\n
+\t\t\t\t\t\t\tif(!$.contains(container, getMouseTarget(evt))) {\n
+\t\t\t\t\t\t\t\t// Clicked outside canvas, so don\'t make point\n
+\t\t\t\t\t\t\t\tconsole.log("Clicked outside canvas");\n
+\t\t\t\t\t\t\t\treturn false;\n
+\t\t\t\t\t\t\t}\n
+\n
+\t\t\t\t\t\t\tvar lastx = current_path_pts[len-2], lasty = current_path_pts[len-1];\n
+\n
+\t\t\t\t\t\t\tif(evt.shiftKey) { var xya=Utils.snapToAngle(lastx,lasty,x,y); x=xya.x; y=xya.y; }\n
+\n
+\t\t\t\t\t\t\t// we store absolute values in our path points array for easy checking above\n
+\t\t\t\t\t\t\tcurrent_path_pts.push(x);\n
+\t\t\t\t\t\t\tcurrent_path_pts.push(y);\n
+\t\t\t\t\t\t\td_attr += "L" + round(x) + "," + round(y) + " ";\n
+\n
+\t\t\t\t\t\t\tnewpath.setAttribute("d", d_attr);\n
+\t\n
+\t\t\t\t\t\t\t// set stretchy line to latest point\n
+\t\t\t\t\t\t\tassignAttributes(stretchy, {\n
+\t\t\t\t\t\t\t\t\'x1\': x,\n
+\t\t\t\t\t\t\t\t\'y1\': y,\n
+\t\t\t\t\t\t\t\t\'x2\': x,\n
+\t\t\t\t\t\t\t\t\'y2\': y\n
+\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\tvar index = (current_path_pts.length/2 - 1);\n
+\t\t\t\t\t\t\tif(subpath) index += path.segs.length;\n
+\t\t\t\t\t\t\taddPointGrip(index, x, y);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tkeep = true;\n
+\t\t\t\t\t}\n
+\t\t\t\t\treturn {\n
+\t\t\t\t\t\tkeep: keep,\n
+\t\t\t\t\t\telement: element\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// Edit mode\n
+\t\t\t\t\n
+\t\t\t\tif (path.dragging) {\n
+\t\t\t\t\tvar last_pt = path.cur_pt;\n
+\n
+\t\t\t\t\tpath.dragging = false;\n
+\t\t\t\t\tpath.dragctrl = false;\n
+\t\t\t\t\tpath.update();\n
+\t\t\t\t\t\n
+\t\t\t\t\n
+\t\t\t\t\tif(hasMoved) {\n
+\t\t\t\t\t\tpath.endChanges("Move path point(s)");\n
+\t\t\t\t\t} \n
+\t\t\t\t\t\n
+\t\t\t\t\tif(!evt.shiftKey && !hasMoved) {\n
+\t\t\t\t\t\tpath.selectPt(last_pt);\n
+\t\t\t\t\t} \n
+\t\t\t\t}\n
+\t\t\t\telse if(rubberBox && rubberBox.getAttribute(\'display\') != \'none\') {\n
+\t\t\t\t\t// Done with multi-node-select\n
+\t\t\t\t\trubberBox.setAttribute("display", "none");\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(rubberBox.getAttribute(\'width\') <= 2 && rubberBox.getAttribute(\'height\') <= 2) {\n
+\t\t\t\t\t\tpathActions.toSelectMode(evt.target);\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t// else, move back to select mode\t\n
+\t\t\t\t} else {\n
+\t\t\t\t\tpathActions.toSelectMode(evt.target);\n
+\t\t\t\t}\n
+\t\t\t\thasMoved = false;\n
+\t\t\t},\n
+\t\t\tclearData: function() {\n
+\t\t\t\tpathData = {};\n
+\t\t\t},\n
+\t\t\ttoEditMode: function(element) {\n
+\t\t\t\tpath = getPath(element);\n
+\t\t\t\tcurrent_mode = "pathedit";\n
+\t\t\t\tcanvas.clearSelection();\n
+\t\t\t\tpath.show(true).update();\n
+\t\t\t\tpath.oldbbox = canvas.getBBox(path.elem);\n
+\t\t\t\tsubpath = false;\n
+\t\t\t},\n
+\t\t\ttoSelectMode: function(elem) {\n
+\t\t\t\tvar selPath = (elem == path.elem);\n
+\t\t\t\tcurrent_mode = "select";\n
+\t\t\t\tpath.show(false);\n
+\t\t\t\tcurrent_path = false;\n
+\t\t\t\tcanvas.clearSelection();\n
+\t\t\t\t\n
+\t\t\t\tif(path.matrix) {\n
+\t\t\t\t\t// Rotated, so may need to re-calculate the center\n
+\t\t\t\t\trecalcRotatedPath();\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tif(selPath) {\n
+\t\t\t\t\tcall("selected", [elem]);\n
+\t\t\t\t\tcanvas.addToSelection([elem], true);\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\taddSubPath: function(on) {\n
+\t\t\t\tif(on) {\n
+\t\t\t\t\t// Internally we go into "path" mode, but in the UI it will\n
+\t\t\t\t\t// still appear as if in "pathedit" mode.\n
+\t\t\t\t\tcurrent_mode = "path";\n
+\t\t\t\t\tsubpath = true;\n
+\t\t\t\t} else {\n
+\t\t\t\t\tpathActions.clear(true);\n
+\t\t\t\t\tpathActions.toEditMode(path.elem);\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\tselect: function(target) {\n
+\t\t\t\tif (current_path == target) {\n
+\t\t\t\t\tpathActions.toEditMode(target);\n
+\t\t\t\t\tcurrent_mode = "pathedit";\n
+\t\t\t\t} // going into pathedit mode\n
+\t\t\t\telse {\n
+\t\t\t\t\tcurrent_path = target;\n
+\t\t\t\t}\t\n
+\t\t\t},\n
+\t\t\treorient: function() {\n
+\t\t\t\tvar elem = selectedElements[0];\n
+\t\t\t\tif(!elem) return;\n
+\t\t\t\tvar angle = canvas.getRotationAngle(elem);\n
+\t\t\t\tif(angle == 0) return;\n
+\t\t\t\t\n
+\t\t\t\tvar batchCmd = new BatchCommand("Reorient path");\n
+\t\t\t\tvar changes = {\n
+\t\t\t\t\td: elem.getAttribute(\'d\'),\n
+\t\t\t\t\ttransform: elem.getAttribute(\'transform\')\n
+\t\t\t\t};\n
+\t\t\t\tbatchCmd.addSubCommand(new ChangeElementCommand(elem, changes));\n
+\t\t\t\tcanvas.clearSelection();\n
+\t\t\t\tthis.resetOrientation(elem);\n
+\t\t\t\t\n
+\t\t\t\taddCommandToHistory(batchCmd);\n
+\n
+\t\t\t\t// Set matrix to null\n
+\t\t\t\tgetPath(elem).show(false).matrix = null; \n
+\n
+\t\t\t\tthis.clear();\n
+\t\t\n
+\t\t\t\tcanvas.addToSelection([elem], true);\n
+\t\t\t\tcall("changed", selectedElements);\n
+\t\t\t},\n
+\t\t\t\n
+\t\t\tclear: function(remove) {\n
+\t\t\t\tcurrent_path = null;\n
+\t\t\t\tif (current_mode == "path" && current_path_pts.length > 0) {\n
+\t\t\t\t\tvar elem = getElem(getId());\n
+\t\t\t\t\t$(getElem("path_stretch_line")).remove();\n
+\t\t\t\t\t$(elem).remove();\n
+\t\t\t\t\t$(getElem("pathpointgrip_container")).find(\'*\').attr(\'display\', \'none\');\n
+\t\t\t\t\tcurrent_path_pts = [];\n
+\t\t\t\t\tstarted = false;\n
+\t\t\t\t} else if (current_mode == "pathedit") {\n
+\t\t\t\t\tthis.toSelectMode();\n
+\t\t\t\t}\n
+\t\t\t\tif(path) path.init().show(false);\n
+\t\t\t},\n
+\t\t\tresetOrientation: function(path) {\n
+\t\t\t\tif(path == null || path.nodeName != \'path\') return false;\n
+\t\t\t\tvar tlist = canvas.getTransformList(path);\n
+\t\t\t\tvar m = transformListToTransform(tlist).matrix;\n
+\t\t\t\ttlist.clear();\n
+\t\t\t\tpath.removeAttribute("transform");\n
+\t\t\t\tvar segList = path.pathSegList;\n
+\t\t\t\t\n
+\t\t\t\t// Opera/win/non-EN throws an error here.\n
+\t\t\t\t// TODO: Find out why!\n
+\t\t\t\ttry {\n
+\t\t\t\t\tvar len = segList.numberOfItems;\n
+\t\t\t\t} catch(err) {\n
+\t\t\t\t\tvar fixed_d = pathActions.convertPath(path);\n
+\t\t\t\t\tpath.setAttribute(\'d\', fixed_d);\n
+\t\t\t\t\tsegList = path.pathSegList;\n
+\t\t\t\t\tvar len = segList.numberOfItems;\n
+\t\t\t\t}\n
+\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\tvar seg = segList.getItem(i);\n
+\t\t\t\t\tvar type = seg.pathSegType;\n
+\t\t\t\t\tif(type == 1) continue;\n
+\t\t\t\t\tvar pts = [];\n
+\t\t\t\t\t$.each([\'\',1,2], function(j, n) {\n
+\t\t\t\t\t\tvar x = seg[\'x\'+n], y = seg[\'y\'+n];\n
+\t\t\t\t\t\tif(x && y) {\n
+\t\t\t\t\t\t\tvar pt = transformPoint(x, y, m);\n
+\t\t\t\t\t\t\tpts.splice(pts.length, 0, pt.x, pt.y);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t});\n
+\t\t\t\t\treplacePathSeg(type, i, pts, path);\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\tzoomChange: function() {\n
+\t\t\t\tif(current_mode == "pathedit") {\n
+\t\t\t\t\tpath.update();\n
+\t\t\t\t}\n
+\t\t\t},\n
+\t\t\tgetNodePoint: function() {\n
+\t\t\t\tvar sel_pt = path.selected_pts.length ? path.selected_pts[0] : 1;\n
+\n
+\t\t\t\tvar seg = path.segs[sel_pt];\n
+\t\t\t\treturn {\n
+\t\t\t\t\tx: seg.item.x,\n
+\t\t\t\t\ty: seg.item.y,\n
+\t\t\t\t\ttype: seg.type\n
+\t\t\t\t};\n
+\t\t\t}, \n
+\t\t\tlinkControlPoints: function(linkPoints) {\n
+\t\t\t\tlink_control_pts = linkPoints;\n
+\t\t\t},\n
+\t\t\tclonePathNode: function() {\n
+\t\t\t\tpath.storeD();\n
+\t\t\t\t\n
+\t\t\t\tvar sel_pts = path.selected_pts;\n
+\t\t\t\tvar segs = path.segs;\n
+\t\t\t\t\n
+\t\t\t\tvar i = sel_pts.length;\n
+\t\t\t\tvar nums = [];\n
+\n
+\t\t\t\twhile(i--) {\n
+\t\t\t\t\tvar pt = sel_pts[i];\n
+\t\t\t\t\tpath.addSeg(pt);\n
+\t\t\t\t\t\n
+\t\t\t\t\tnums.push(pt + i);\n
+\t\t\t\t\tnums.push(pt + i + 1);\n
+\t\t\t\t}\n
+\t\t\t\tpath.init().addPtsToSelection(nums);\n
+\n
+\t\t\t\tpath.endChanges("Clone path node(s)");\n
+\t\t\t},\n
+\t\t\topencloseSubPath: function() {\n
+\t\t\t\tvar sel_pts = path.selected_pts;\n
+\t\t\t\t// Only allow one selected node for now\n
+\t\t\t\tif(sel_pts.length !== 1) return;\n
+\t\t\t\t\n
+\t\t\t\tvar elem = path.elem;\n
+\t\t\t\tvar list = elem.pathSegList;\n
+\n
+\t\t\t\tvar len = list.numberOfItems;\n
+\n
+\t\t\t\tvar index = sel_pts[0];\n
+\t\t\t\t\n
+\t\t\t\tvar open_pt = null;\n
+\t\t\t\tvar start_item = null;\n
+\n
+\t\t\t\t// Check if subpath is already open\n
+\t\t\t\tpath.eachSeg(function(i) {\n
+\t\t\t\t\tif(this.type === 2 && i <= index) {\n
+\t\t\t\t\t\tstart_item = this.item;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tif(i <= index) return true;\n
+\t\t\t\t\tif(this.type === 2) {\n
+\t\t\t\t\t\t// Found M first, so open\n
+\t\t\t\t\t\topen_pt = i;\n
+\t\t\t\t\t\treturn false;\n
+\t\t\t\t\t} else if(this.type === 1) {\n
+\t\t\t\t\t\t// Found Z first, so closed\n
+\t\t\t\t\t\topen_pt = false;\n
+\t\t\t\t\t\treturn false;\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tif(open_pt == null) {\n
+\t\t\t\t\t// Single path, so close last seg\n
+\t\t\t\t\topen_pt = path.segs.length - 1;\n
+\t\t\t\t}\n
+\n
+\t\t\t\tif(open_pt !== false) {\n
+\t\t\t\t\t// Close this path\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Create a line going to the previous "M"\n
+\t\t\t\t\tvar newseg = elem.createSVGPathSegLinetoAbs(start_item.x, start_item.y);\n
+\t\t\t\t\n
+\t\t\t\t\tvar closer = elem.createSVGPathSegClosePath();\n
+\t\t\t\t\tif(open_pt == path.segs.length - 1) {\n
+\t\t\t\t\t\tlist.appendItem(newseg);\n
+\t\t\t\t\t\tlist.appendItem(closer);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tinsertItemBefore(elem, closer, open_pt);\n
+\t\t\t\t\t\tinsertItemBefore(elem, newseg, open_pt);\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tpath.init().selectPt(open_pt+1);\n
+\t\t\t\t\treturn;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t\n
+\n
+\t\t\t\t// M 1,1 L 2,2 L 3,3 L 1,1 z // open at 2,2\n
+\t\t\t\t// M 2,2 L 3,3 L 1,1\n
+\t\t\t\t\n
+\t\t\t\t// M 1,1 L 2,2 L 1,1 z M 4,4 L 5,5 L6,6 L 5,5 z \n
+\t\t\t\t// M 1,1 L 2,2 L 1,1 z [M 4,4] L 5,5 L(M)6,6 L 5,5 z \n
+\t\t\t\t\n
+\t\t\t\tvar seg = path.segs[index];\n
+\t\t\t\t\n
+\t\t\t\tif(seg.mate) {\n
+\t\t\t\t\tlist.removeItem(index); // Removes last "L"\n
+\t\t\t\t\tlist.removeItem(index); // Removes the "Z"\n
+\t\t\t\t\tpath.init().selectPt(index - 1);\n
+\t\t\t\t\treturn;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar last_m, z_seg;\n
+\t\t\t\t\n
+\t\t\t\t// Find this sub-path\'s closing point and remove\n
+\t\t\t\tfor(var i=0; i<list.numberOfItems; i++) {\n
+\t\t\t\t\tvar item = list.getItem(i);\n
+\n
+\t\t\t\t\tif(item.pathSegType === 2) {\n
+\t\t\t\t\t\t// Find the preceding M\n
+\t\t\t\t\t\tlast_m = i;\n
+\t\t\t\t\t} else if(i === index) {\n
+\t\t\t\t\t\t// Remove it\n
+\t\t\t\t\t\tlist.removeItem(last_m);\n
+// \t\t\t\t\t\tindex--;\n
+\t\t\t\t\t} else if(item.pathSegType === 1 && index < i) {\n
+\t\t\t\t\t\t// Remove the closing seg of this subpath\n
+\t\t\t\t\t\tz_seg = i-1;\n
+\t\t\t\t\t\tlist.removeItem(i);\n
+\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar num = (index - last_m) - 1;\n
+\t\t\t\t\n
+\t\t\t\twhile(num--) {\n
+\t\t\t\t\tinsertItemBefore(elem, list.getItem(last_m), z_seg);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar pt = list.getItem(last_m);\n
+\t\t\t\t\n
+\t\t\t\t// Make this point the new "M"\n
+\t\t\t\treplacePathSeg(2, last_m, [pt.x, pt.y]);\n
+\t\t\t\t\n
+\t\t\t\tvar i = index\n
+\t\t\t\t\n
+\t\t\t\tpath.init().selectPt(0);\n
+\t\t\t},\n
+\t\t\tdeletePathNode: function() {\n
+\t\t\t\tif(!pathActions.canDeleteNodes) return;\n
+\t\t\t\tpath.storeD();\n
+\t\t\t\t\n
+\t\t\t\tvar sel_pts = path.selected_pts;\n
+\t\t\t\tvar i = sel_pts.length;\n
+\n
+\t\t\t\twhile(i--) {\n
+\t\t\t\t\tvar pt = sel_pts[i];\n
+\t\t\t\t\tpath.deleteSeg(pt);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// Cleanup\n
+\t\t\t\tvar cleanup = function() {\n
+\t\t\t\t\tvar segList = path.elem.pathSegList;\n
+\t\t\t\t\tvar len = segList.numberOfItems;\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar remItems = function(pos, count) {\n
+\t\t\t\t\t\twhile(count--) {\n
+\t\t\t\t\t\t\tsegList.removeItem(pos);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\n
+\t\t\t\t\tif(len <= 1) return true;\n
+\t\t\t\t\t\n
+\t\t\t\t\twhile(len--) {\n
+\t\t\t\t\t\tvar item = segList.getItem(len);\n
+\t\t\t\t\t\tif(item.pathSegType === 1) {\n
+\t\t\t\t\t\t\tvar prev = segList.getItem(len-1);\n
+\t\t\t\t\t\t\tvar nprev = segList.getItem(len-2);\n
+\t\t\t\t\t\t\tif(prev.pathSegType === 2) {\n
+\t\t\t\t\t\t\t\tremItems(len-1, 2);\n
+\t\t\t\t\t\t\t\tcleanup();\n
+\t\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\t\t} else if(nprev.pathSegType === 2) {\n
+\t\t\t\t\t\t\t\tremItems(len-2, 3);\n
+\t\t\t\t\t\t\t\tcleanup();\n
+\t\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\t\t}\n
+\n
+\t\t\t\t\t\t} else if(item.pathSegType === 2) {\n
+\t\t\t\t\t\t\tif(len > 0) {\n
+\t\t\t\t\t\t\t\tvar prev_type = segList.getItem(len-1).pathSegType;\n
+\t\t\t\t\t\t\t\t// Path has M M  \n
+\t\t\t\t\t\t\t\tif(prev_type === 2) {\n
+\t\t\t\t\t\t\t\t\tremItems(len-1, 1);\n
+\t\t\t\t\t\t\t\t\tcleanup();\n
+\t\t\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\t\t\t// Entire path ends with Z M \n
+\t\t\t\t\t\t\t\t} else if(prev_type === 1 && segList.numberOfItems-1 === len) {\n
+\t\t\t\t\t\t\t\t\tremItems(len, 1);\n
+\t\t\t\t\t\t\t\t\tcleanup();\n
+\t\t\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\t\n
+\t\t\t\t\treturn false;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tcleanup();\n
+\t\t\t\t\n
+\t\t\t\t// Completely delete a path with 1 or 0 segments\n
+\t\t\t\tif(path.elem.pathSegList.numberOfItems <= 1) {\n
+\t\t\t\t\tpathActions.toSelectMode(path.elem);\n
+\t\t\t\t\tcanvas.deleteSelectedElements();\n
+\t\t\t\t\treturn;\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tpath.init();\n
+\t\t\t\t\n
+\t\t\t\tpath.clearSelection();\n
+\t\t\t\t\n
+\t\t\t\t// TODO: Find right way to select point now\n
+\t\t\t\t// path.selectPt(sel_pt);\n
+\t\t\t\tif(window.opera) { // Opera repaints incorrectly\n
+\t\t\t\t\tvar cp = $(path.elem); cp.attr(\'d\',cp.attr(\'d\'));\n
+\t\t\t\t}\n
+\t\t\t\tpath.endChanges("Delete path node(s)");\n
+\t\t\t},\n
+\t\t\tsmoothPolylineIntoPath: smoothPolylineIntoPath,\n
+\t\t\tsetSegType: function(v) {\n
+\t\t\t\tpath.setSegType(v);\n
+\t\t\t},\n
+\t\t\tmoveNode: function(attr, newValue) {\n
+\t\t\t\tvar sel_pts = path.selected_pts;\n
+\t\t\t\tif(!sel_pts.length) return;\n
+\t\t\t\t\n
+\t\t\t\tpath.storeD();\n
+\t\t\t\t\n
+\t\t\t\t// Get first selected point\n
+\t\t\t\tvar seg = path.segs[sel_pts[0]];\n
+\t\t\t\tvar diff = {x:0, y:0};\n
+\t\t\t\tdiff[attr] = newValue - seg.item[attr];\n
+\t\t\t\t\n
+\t\t\t\tseg.move(diff.x, diff.y);\n
+\t\t\t\tpath.endChanges("Move path point");\n
+\t\t\t},\n
+\t\t\tfixEnd: function(elem) {\n
+\t\t\t\t// Adds an extra segment if the last seg before a Z doesn\'t end\n
+\t\t\t\t// at its M point\n
+\t\t\t\t// M0,0 L0,100 L100,100 z\n
+\t\t\t\tvar segList = elem.pathSegList;\n
+\t\t\t\tvar len = segList.numberOfItems;\n
+\t\t\t\tvar last_m;\n
+\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\tvar item = segList.getItem(i);\n
+\t\t\t\t\tif(item.pathSegType === 2) {\n
+\t\t\t\t\t\tlast_m = item;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(item.pathSegType === 1) {\n
+\t\t\t\t\t\tvar prev = segList.getItem(i-1);\n
+\t\t\t\t\t\tif(prev.x != last_m.x || prev.y != last_m.y) {\n
+\t\t\t\t\t\t\t// Add an L segment here\n
+\t\t\t\t\t\t\tvar newseg = elem.createSVGPathSegLinetoAbs(last_m.x, last_m.y);\n
+\t\t\t\t\t\t\tinsertItemBefore(elem, newseg, i);\n
+\t\t\t\t\t\t\t// Can this be done better?\n
+\t\t\t\t\t\t\tpathActions.fixEnd(elem);\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\tif(isWebkit) resetD(elem);\n
+\t\t\t},\n
+\t\t\t// Convert a path to one with only absolute or relative values\n
+\t\t\tconvertPath: function(path, toRel) {\n
+\t\t\t\tvar segList = path.pathSegList;\n
+\t\t\t\tvar len = segList.numberOfItems;\n
+\t\t\t\tvar curx = 0, cury = 0;\n
+\t\t\t\tvar d = "";\n
+\t\t\t\tvar last_m = null;\n
+\t\t\t\t\n
+\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\tvar seg = segList.getItem(i);\n
+\t\t\t\t\t// if these properties are not in the segment, set them to zero\n
+\t\t\t\t\tvar x = seg.x || 0,\n
+\t\t\t\t\t\ty = seg.y || 0,\n
+\t\t\t\t\t\tx1 = seg.x1 || 0,\n
+\t\t\t\t\t\ty1 = seg.y1 || 0,\n
+\t\t\t\t\t\tx2 = seg.x2 || 0,\n
+\t\t\t\t\t\ty2 = seg.y2 || 0;\n
+\t\t\n
+\t\t\t\t\tvar type = seg.pathSegType;\n
+\t\t\t\t\tvar letter = pathMap[type][\'to\'+(toRel?\'Lower\':\'Upper\')+\'Case\']();\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar addToD = function(pnts, more, last) {\n
+\t\t\t\t\t\tvar str = \'\';\n
+\t\t\t\t\t\tvar more = more?\' \'+more.join(\' \'):\'\';\n
+\t\t\t\t\t\tvar last = last?shortFloat(last):\'\';\n
+\t\t\t\t\t\t$.each(pnts, function(i, pnt) {\n
+\t\t\t\t\t\t\tpnts[i] = shortFloat(pnt);\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\td += letter + pnts.join(\' \') + more + last;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tswitch (type) {\n
+\t\t\t\t\t\tcase 1: // z,Z closepath (Z/z)\n
+\t\t\t\t\t\t\td += "z";\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 12: // absolute horizontal line (H)\n
+\t\t\t\t\t\t\tx -= curx;\n
+\t\t\t\t\t\tcase 13: // relative horizontal line (h)\n
+\t\t\t\t\t\t\tif(toRel) {\n
+\t\t\t\t\t\t\t\tcurx += x;\n
+\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\tx += curx;\n
+\t\t\t\t\t\t\t\tcurx = x;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\taddToD([[x]]);\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 14: // absolute vertical line (V)\n
+\t\t\t\t\t\t\ty -= cury;\n
+\t\t\t\t\t\tcase 15: // relative vertical line (v)\n
+\t\t\t\t\t\t\tif(toRel) {\n
+\t\t\t\t\t\t\t\tcury += y;\n
+\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\ty += cury;\n
+\t\t\t\t\t\t\t\tcury = y;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\taddToD([[y]]);\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 2: // absolute move (M)\n
+\t\t\t\t\t\tcase 4: // absolute line (L)\n
+\t\t\t\t\t\tcase 18: // absolute smooth quad (T)\n
+\t\t\t\t\t\t\tx -= curx;\n
+\t\t\t\t\t\t\ty -= cury;\n
+\t\t\t\t\t\tcase 5: // relative line (l)\n
+\t\t\t\t\t\tcase 3: // relative move (m)\n
+\t\t\t\t\t\t\t// If the last segment was a "z", this must be relative to \n
+\t\t\t\t\t\t\tif(last_m && segList.getItem(i-1).pathSegType === 1 && !toRel) {\n
+\t\t\t\t\t\t\t\tcurx = last_m[0];\n
+\t\t\t\t\t\t\t\tcury = last_m[1];\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tcase 19: // relative smooth quad (t)\n
+\t\t\t\t\t\t\tif(toRel) {\n
+\t\t\t\t\t\t\t\tcurx += x;\n
+\t\t\t\t\t\t\t\tcury += y;\n
+\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\tx += curx;\n
+\t\t\t\t\t\t\t\ty += cury;\n
+\t\t\t\t\t\t\t\tcurx = x;\n
+\t\t\t\t\t\t\t\tcury = y;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\tif(type === 3) last_m = [curx, cury];\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\taddToD([[x,y]]);\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 6: // absolute cubic (C)\n
+\t\t\t\t\t\t\tx -= curx; x1 -= curx; x2 -= curx;\n
+\t\t\t\t\t\t\ty -= cury; y1 -= cury; y2 -= cury;\n
+\t\t\t\t\t\tcase 7: // relative cubic (c)\n
+\t\t\t\t\t\t\tif(toRel) {\n
+\t\t\t\t\t\t\t\tcurx += x;\n
+\t\t\t\t\t\t\t\tcury += y;\n
+\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\tx += curx; x1 += curx; x2 += curx;\n
+\t\t\t\t\t\t\t\ty += cury; y1 += cury; y2 += cury;\n
+\t\t\t\t\t\t\t\tcurx = x;\n
+\t\t\t\t\t\t\t\tcury = y;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\taddToD([[x1,y1],[x2,y2],[x,y]]);\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 8: // absolute quad (Q)\n
+\t\t\t\t\t\t\tx -= curx; x1 -= curx;\n
+\t\t\t\t\t\t\ty -= cury; y1 -= cury;\n
+\t\t\t\t\t\tcase 9: // relative quad (q) \n
+\t\t\t\t\t\t\tif(toRel) {\n
+\t\t\t\t\t\t\t\tcurx += x;\n
+\t\t\t\t\t\t\t\tcury += y;\n
+\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\tx += curx; x1 += curx;\n
+\t\t\t\t\t\t\t\ty += cury; y1 += cury;\n
+\t\t\t\t\t\t\t\tcurx = x;\n
+\t\t\t\t\t\t\t\tcury = y;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\taddToD([[x1,y1],[x,y]]);\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 10: // absolute elliptical arc (A)\n
+\t\t\t\t\t\t\tx -= curx;\n
+\t\t\t\t\t\t\ty -= cury;\n
+\t\t\t\t\t\tcase 11: // relative elliptical arc (a)\n
+\t\t\t\t\t\t\tif(toRel) {\n
+\t\t\t\t\t\t\t\tcurx += x;\n
+\t\t\t\t\t\t\t\tcury += y;\n
+\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\tx += curx;\n
+\t\t\t\t\t\t\t\ty += cury;\n
+\t\t\t\t\t\t\t\tcurx = x;\n
+\t\t\t\t\t\t\t\tcury = y;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\taddToD([[seg.r1,seg.r2]], [\n
+\t\t\t\t\t\t\t\t\tseg.angle,\n
+\t\t\t\t\t\t\t\t\t(seg.largeArcFlag ? 1 : 0),\n
+\t\t\t\t\t\t\t\t\t(seg.sweepFlag ? 1 : 0)\n
+\t\t\t\t\t\t\t\t],[x,y]\n
+\t\t\t\t\t\t\t);\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\tcase 16: // absolute smooth cubic (S)\n
+\t\t\t\t\t\t\tx -= curx; x2 -= curx;\n
+\t\t\t\t\t\t\ty -= cury; y2 -= cury;\n
+\t\t\t\t\t\tcase 17: // relative smooth cubic (s)\n
+\t\t\t\t\t\t\tif(toRel) {\n
+\t\t\t\t\t\t\t\tcurx += x;\n
+\t\t\t\t\t\t\t\tcury += y;\n
+\t\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t\tx += curx; x2 += curx;\n
+\t\t\t\t\t\t\t\ty += cury; y2 += cury;\n
+\t\t\t\t\t\t\t\tcurx = x;\n
+\t\t\t\t\t\t\t\tcury = y;\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\taddToD([[x2,y2],[x,y]]);\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t} // switch on path segment type\n
+\t\t\t\t} // for each segment\n
+\t\t\t\treturn d;\n
+\t\t\t}\n
+\t\t}\n
+\t}();\n
+\n
+\tpathActions.init();\n
+\tthis.pathActions = pathActions;\n
+\t\n
+\tvar shortFloat = function(val) {\n
+\t\tvar digits = save_options.round_digits;\n
+\t\tif(!isNaN(val)) {\n
+\t\t\treturn Number(Number(val).toFixed(digits));\n
+\t\t} else if($.isArray(val)) {\n
+\t\t\treturn shortFloat(val[0]) + \',\' + shortFloat(val[1]);\n
+\t\t}\n
+\t}\n
+\t\n
+\t// Convert an element to a path\n
+\tthis.convertToPath = function(elem, getBBox, angle) {\n
+\t\tif(elem == null) {\n
+\t\t\tvar elems = selectedElements;\n
+\t\t\t$.each(selectedElements, function(i, elem) {\n
+\t\t\t\tif(elem) canvas.convertToPath(elem);\n
+\t\t\t});\n
+\t\t\treturn;\n
+\t\t}\n
+\t\t\n
+\t\tif(!getBBox) {\n
+\t\t\tvar batchCmd = new BatchCommand("Convert element to Path");\n
+\t\t}\n
+\t\t\n
+\t\tvar attrs = getBBox?{}:{\n
+\t\t\t"fill": cur_shape.fill,\n
+\t\t\t"fill-opacity": cur_shape.fill_opacity,\n
+\t\t\t"stroke": cur_shape.stroke,\n
+\t\t\t"stroke-width": cur_shape.stroke_width,\n
+\t\t\t"stroke-dasharray": cur_shape.stroke_dasharray,\n
+\t\t\t"stroke-linejoin": cur_shape.stroke_linejoin,\n
+\t\t\t"stroke-linecap": cur_shape.stroke_linecap,\n
+\t\t\t"stroke-opacity": cur_shape.stroke_opacity,\n
+\t\t\t"opacity": cur_shape.opacity,\n
+\t\t\t"visibility":"hidden"\n
+\t\t};\n
+\t\t\n
+\t\t// any attribute on the element not covered by the above\n
+\t\t// TODO: make this list global so that we can properly maintain it\n
+\t\t// TODO: what about @transform, @clip-rule, @fill-rule, etc?\n
+\t\t$.each([\'marker-start\', \'marker-end\', \'marker-mid\', \'filter\', \'clip-path\'], function() {\n
+\t\t\tif (elem.getAttribute(this)) {\n
+\t\t\t\tattrs[this] = elem.getAttribute(this);\n
+\t\t\t}\n
+\t\t});\n
+\t\t\n
+\t\tvar path = addSvgElementFromJson({\n
+\t\t\t"element": "path",\n
+\t\t\t"attr": attrs\n
+\t\t});\n
+\t\t\n
+\t\tvar eltrans = elem.getAttribute("transform");\n
+\t\tif(eltrans) {\n
+\t\t\tpath.setAttribute("transform",eltrans);\n
+\t\t}\n
+\t\t\n
+\t\tvar id = elem.id;\n
+\t\tvar parent = elem.parentNode;\n
+\t\tif(elem.nextSibling) {\n
+\t\t\tparent.insertBefore(path, elem);\n
+\t\t} else {\n
+\t\t\tparent.appendChild(path);\n
+\t\t}\n
+\t\t\n
+\t\tvar d = \'\';\n
+\t\t\n
+\t\tvar joinSegs = function(segs) {\n
+\t\t\t$.each(segs, function(j, seg) {\n
+\t\t\t\tvar l = seg[0], pts = seg[1];\n
+\t\t\t\td += l;\n
+\t\t\t\tfor(var i=0; i < pts.length; i+=2) {\n
+\t\t\t\t\td += (pts[i] +\',\'+pts[i+1]) + \' \';\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t}\n
+\n
+\t\t// Possibly the cubed root of 6, but 1.81 works best\n
+\t\tvar num = 1.81;\n
+\n
+\t\tswitch (elem.tagName) {\n
+\t\tcase \'ellipse\':\n
+\t\tcase \'circle\':\n
+\t\t\tvar a = $(elem).attr([\'rx\', \'ry\', \'cx\', \'cy\']);\n
+\t\t\tvar cx = a.cx, cy = a.cy, rx = a.rx, ry = a.ry;\n
+\t\t\tif(elem.tagName == \'circle\') {\n
+\t\t\t\trx = ry = $(elem).attr(\'r\');\n
+\t\t\t}\n
+\t\t\n
+\t\t\tjoinSegs([\n
+\t\t\t\t[\'M\',[(cx-rx),(cy)]],\n
+\t\t\t\t[\'C\',[(cx-rx),(cy-ry/num), (cx-rx/num),(cy-ry), (cx),(cy-ry)]],\n
+\t\t\t\t[\'C\',[(cx+rx/num),(cy-ry), (cx+rx),(cy-ry/num), (cx+rx),(cy)]],\n
+\t\t\t\t[\'C\',[(cx+rx),(cy+ry/num), (cx+rx/num),(cy+ry), (cx),(cy+ry)]],\n
+\t\t\t\t[\'C\',[(cx-rx/num),(cy+ry), (cx-rx),(cy+ry/num), (cx-rx),(cy)]],\n
+\t\t\t\t[\'Z\',[]]\n
+\t\t\t]);\n
+\t\t\tbreak;\n
+\t\tcase \'path\':\n
+\t\t\td = elem.getAttribute(\'d\');\n
+\t\t\tbreak;\n
+\t\tcase \'line\':\n
+\t\t\tvar a = $(elem).attr(["x1", "y1", "x2", "y2"]);\n
+\t\t\td = "M"+a.x1+","+a.y1+"L"+a.x2+","+a.y2;\n
+\t\t\tbreak;\n
+\t\tcase \'polyline\':\n
+\t\tcase \'polygon\':\n
+\t\t\td = "M" + elem.getAttribute(\'points\');\n
+\t\t\tbreak;\n
+\t\tcase \'rect\':\n
+\t\t\tvar r = $(elem).attr([\'rx\', \'ry\']);\n
+\t\t\tvar rx = r.rx, ry = r.ry;\n
+\t\t\tvar b = elem.getBBox();\n
+\t\t\tvar x = b.x, y = b.y, w = b.width, h = b.height;\n
+\t\t\tvar num = 4-num; // Why? Because!\n
+\t\t\t\n
+\t\t\tif(!rx && !ry) {\n
+\t\t\t\t// Regular rect\n
+\t\t\t\tjoinSegs([\n
+\t\t\t\t\t[\'M\',[x, y]],\n
+\t\t\t\t\t[\'L\',[x+w, y]],\n
+\t\t\t\t\t[\'L\',[x+w, y+h]],\n
+\t\t\t\t\t[\'L\',[x, y+h]],\n
+\t\t\t\t\t[\'L\',[x, y]],\n
+\t\t\t\t\t[\'Z\',[]]\n
+\t\t\t\t]);\n
+\t\t\t} else {\n
+\t\t\t\tjoinSegs([\n
+\t\t\t\t\t[\'M\',[x, y+ry]],\n
+\t\t\t\t\t[\'C\',[x,y+ry/num, x+rx/num,y, x+rx,y]],\n
+\t\t\t\t\t[\'L\',[x+w-rx, y]],\n
+\t\t\t\t\t[\'C\',[x+w-rx/num,y, x+w,y+ry/num, x+w,y+ry]],\n
+\t\t\t\t\t[\'L\',[x+w, y+h-ry]],\n
+\t\t\t\t\t[\'C\',[x+w, y+h-ry/num, x+w-rx/num,y+h, x+w-rx,y+h]],\n
+\t\t\t\t\t[\'L\',[x+rx, y+h]],\n
+\t\t\t\t\t[\'C\',[x+rx/num, y+h, x,y+h-ry/num, x,y+h-ry]],\n
+\t\t\t\t\t[\'L\',[x, y+ry]],\n
+\t\t\t\t\t[\'Z\',[]]\n
+\t\t\t\t]);\n
+\t\t\t}\n
+\t\t\tbreak;\n
+\t\tdefault:\n
+\t\t\tpath.parentNode.removeChild(path);\n
+\t\t\tbreak;\n
+\t\t}\n
+\t\t\n
+\t\tif(d) {\n
+\t\t\tpath.setAttribute(\'d\',d);\n
+\t\t}\n
+\t\t\n
+\t\tif(!getBBox) {\n
+\t\t\t// Replace the current element with the converted one\n
+\t\t\t\n
+\t\t\t// Reorient if it has a matrix\n
+\t\t\tif(eltrans) {\n
+\t\t\t\tvar tlist = canvas.getTransformList(path);\n
+\t\t\t\tif(hasMatrixTransform(tlist)) {\n
+\t\t\t\t\tpathActions.resetOrientation(path);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tbatchCmd.addSubCommand(new RemoveElementCommand(elem, parent));\n
+\t\t\tbatchCmd.addSubCommand(new InsertElementCommand(path));\n
+\n
+\t\t\tcanvas.clearSelection();\n
+\t\t\telem.parentNode.removeChild(elem)\n
+\t\t\tpath.setAttribute(\'id\', id);\n
+\t\t\tpath.removeAttribute("visibility");\n
+\t\t\tcanvas.addToSelection([path], true);\n
+\t\t\t\n
+\t\t\taddCommandToHistory(batchCmd);\n
+\t\t\t\n
+\t\t} else {\n
+\t\t\t// Get the correct BBox of the new path, then discard it\n
+\t\t\tpathActions.resetOrientation(path);\n
+\t\t\tvar bb = false;\n
+\t\t\ttry {\n
+\t\t\t\tbb = path.getBBox();\n
+\t\t\t} catch(e) {\n
+\t\t\t\t// Firefox fails\n
+\t\t\t}\n
+\t\t\tpath.parentNode.removeChild(path);\n
+\t\t\treturn bb;\n
+\t\t}\n
+\t}\n
+\t\n
+\n
+\n
+\t// - in create mode, the element\'s opacity is set properly, we create an InsertElementCommand\n
+\t//   and store it on the Undo stack\n
+\t// - in move/resize mode, the element\'s attributes which were affected by the move/resize are\n
+\t//   identified, a ChangeElementCommand is created and stored on the stack for those attrs\n
+\t//   this is done in when we recalculate the selected dimensions()\n
+\n
+// public functions\n
+\n
+\t// Group: Serialization\n
+\n
+\tthis.open = function() {\n
+\t\t// Nothing by default, handled by optional widget/extension\n
+\t};\n
+\n
+\t// Function: save\n
+\t// Serializes the current drawing into SVG XML text and returns it to the \'saved\' handler.\n
+\t// This function also includes the XML prolog.  Clients of the SvgCanvas bind their save\n
+\t// function to the \'saved\' event.\n
+\t//\n
+\t// Returns: \n
+\t// Nothing\n
+\tthis.save = function(opts) {\n
+\t\t// remove the selected outline before serializing\n
+\t\tthis.clearSelection();\n
+\t\t// Update save options if provided\n
+\t\tif(opts) $.extend(save_options, opts);\n
+\t\tsave_options.apply = true;\n
+\t\t\n
+\t\t// no need for doctype, see http://jwatt.org/svg/authoring/#doctype-declaration\n
+\t\tvar str = svgCanvasToString();\n
+\t\tcall("saved", str);\n
+\t};\n
+\n
+\tthis.rasterExport = function() {\n
+\t\t// remove the selected outline before serializing\n
+\t\tthis.clearSelection();\n
+\t\t\n
+\t\t// Check for known CanVG issues \n
+\t\tvar issues = [];\n
+\t\t\n
+\t\t// Selector and notice\n
+\t\tvar issue_list = {\n
+\t\t\t\'feGaussianBlur\': uiStrings.exportNoBlur,\n
+\t\t\t\'image\': uiStrings.exportNoImage,\n
+\t\t\t\'foreignObject\': uiStrings.exportNoforeignObject,\n
+\t\t\t\'[stroke-dasharray]\': uiStrings.exportNoDashArray\n
+\t\t};\n
+\t\tvar content = $(svgcontent);\n
+\t\t\n
+\t\t// Add font/text check if Canvas Text API is not implemented\n
+\t\tif(!("font" in $(\'<canvas>\')[0].getContext(\'2d\'))) {\n
+\t\t\tissue_list[\'text\'] = uiStrings.exportNoText;\n
+\t\t}\n
+\t\t\n
+\t\t$.each(issue_list, function(sel, descr) {\n
+\t\t\tif(content.find(sel).length) {\n
+\t\t\t\tissues.push(descr);\n
+\t\t\t}\n
+\t\t});\n
+\n
+\t\tvar str = svgCanvasToString();\n
+\t\tcall("exported", {svg: str, issues: issues});\n
+\t};\n
+\t\n
+\t// Walks the tree and executes the callback on each element in a top-down fashion\n
+\tvar walkTree = function(elem, cbFn){\n
+\t\tif (elem && elem.nodeType == 1) {\n
+\t\t\tcbFn(elem);\n
+\t\t\tvar i = elem.childNodes.length;\n
+\t\t\twhile (i--) {\n
+\t\t\t\twalkTree(elem.childNodes.item(i), cbFn);\n
+\t\t\t}\n
+\t\t}\n
+\t};\n
+\t// Walks the tree and executes the callback on each element in a depth-first fashion\n
+\tvar walkTreePost = function(elem, cbFn) {\n
+\t\tif (elem && elem.nodeType == 1) {\n
+\t\t\tvar i = elem.childNodes.length;\n
+\t\t\twhile (i--) {\n
+\t\t\t\twalkTree(elem.childNodes.item(i), cbFn);\n
+\t\t\t}\n
+\t\t\tcbFn(elem);\n
+\t\t}\n
+\t};\n
+\t\n
+\t// Function: getSvgString\n
+\t// Returns the current drawing as raw SVG XML text.\n
+\t//\n
+\t// Returns:\n
+\t// The current drawing as raw SVG XML text.\n
+\tthis.getSvgString = function() {\n
+\t\tsave_options.apply = false;\n
+\t\treturn svgCanvasToString();\n
+\t};\n
+\n
+\t//function randomizeIds\n
+\t// This function determines whether to add a nonce to the prefix, when\n
+\t// generating IDs in SVG-Edit\n
+\t// \n
+\t//  Parameters:\n
+\t//   an opional boolean, which, if true, adds a nonce to the prefix. Thus\n
+\t//     svgCanvas.randomizeIds()  <==> svgCanvas.randomizeIds(true)\n
+\t//\n
+\t// if you\'re controlling SVG-Edit externally, and want randomized IDs, call\n
+\t// this BEFORE calling svgCanvas.setSvgString\n
+\t//\n
+\tthis.randomizeIds = function() {\n
+\t   if (arguments.length > 0 && arguments[0] == false) {\n
+\t     randomize_ids = false;\n
+\t     if (extensions["Arrows"])  call("unsetarrownonce") ;\n
+\t   } else {\n
+\t     randomize_ids = true;\n
+\t     if (!svgcontent.getAttributeNS(se_ns, \'nonce\')) {\n
+        \t\tsvgcontent.setAttributeNS(se_ns, \'se:nonce\', nonce); \n
+        \t\tif (extensions["Arrows"])  call("setarrownonce", nonce) ;\n
+\t     }\n
+\t   }\n
+\t}\n
+\n
+\t//   \n
+\t// Function: setSvgString\n
+\t// This function sets the current drawing as the input SVG XML.\n
+\t//\n
+\t// Parameters:\n
+\t// xmlString - The SVG as XML text.\n
+\t//\n
+\t// Returns:\n
+\t// This function returns false if the set was unsuccessful, true otherwise.\n
+\tthis.setSvgString = function(xmlString) {\n
+\t\ttry {\n
+\t\t\t// convert string into XML document\n
+\t\t\tvar newDoc = Utils.text2xml(xmlString);\n
+\t\t\t// run it through our sanitizer to remove anything we do not support\n
+\t        sanitizeSvg(newDoc.documentElement);\n
+\n
+\t\t\tvar batchCmd = new BatchCommand("Change Source");\n
+\n
+        \t// remove old svg document\n
+    \t    var oldzoom = svgroot.removeChild(svgcontent);\n
+\t\t\tbatchCmd.addSubCommand(new RemoveElementCommand(oldzoom, svgroot));\n
+        \n
+    \t    // set new svg document\n
+        \tsvgcontent = svgroot.appendChild(svgdoc.importNode(newDoc.documentElement, true));\n
+        \t// retrieve or set the nonce\n
+        \tn = svgcontent.getAttributeNS(se_ns, \'nonce\');\n
+        \tif (n) {\n
+        \t\trandomize_ids = true;\n
+        \t\tnonce = n;\n
+        \t\tif (extensions["Arrows"])  call("setarrownonce", n) ;\n
+        \t} else if (randomize_ids) {\n
+        \t\tsvgcontent.setAttributeNS(xmlnsns, \'xmlns:se\', se_ns);\n
+        \t\tsvgcontent.setAttributeNS(se_ns, \'se:nonce\', nonce); \n
+        \t\tif (extensions["Arrows"])  call("setarrownonce", nonce) ;\n
+         \t}         \n
+        \t// change image href vals if possible\n
+        \t$(svgcontent).find(\'image\').each(function() {\n
+        \t\tvar image = this;\n
+        \t\tpreventClickDefault(image);\n
+        \t\tvar val = this.getAttributeNS(xlinkns, "href");\n
+\t\t\t\tif(val.indexOf(\'data:\') === 0) {\n
+\t\t\t\t\t// Check if an SVG-edit data URI\n
+\t\t\t\t\tvar m = val.match(/svgedit_url=(.*?);/);\n
+\t\t\t\t\tif(m) {\n
+\t\t\t\t\t\tvar url = decodeURIComponent(m[1]);\n
+\t\t\t\t\t\t$(new Image()).load(function() {\n
+\t\t\t\t\t\t\timage.setAttributeNS(xlinkns,\'xlink:href\',url);\n
+\t\t\t\t\t\t}).attr(\'src\',url);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+        \t\t// Add to encodableImages if it loads\n
+        \t\tcanvas.embedImage(val);\n
+        \t});\n
+        \t\n
+        \t// convert gradients with userSpaceOnUse to objectBoundingBox\n
+        \t$(svgcontent).find(\'linearGradient, radialGradient\').each(function() {\n
+        \t\tvar grad = this;\n
+        \t\tif($(grad).attr(\'gradientUnits\') === \'userSpaceOnUse\') {\n
+        \t\t\t// TODO: Support more than one element with this ref by duplicating parent grad\n
+        \t\t\tvar elems = $(svgcontent).find(\'[fill=url(#\' + grad.id + \')],[stroke=url(#\' + grad.id + \')]\');\n
+        \t\t\tif(!elems.length) return;\n
+        \t\t\t\n
+        \t\t\t// get object\'s bounding box\n
+        \t\t\tvar bb = elems[0].getBBox();\n
+        \t\t\t\n
+        \t\t\tif(grad.tagName === \'linearGradient\') {\n
+\t\t\t\t\t\tvar g_coords = $(grad).attr([\'x1\', \'y1\', \'x2\', \'y2\']);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t$(grad).attr({\n
+\t\t\t\t\t\t\tx1: (g_coords.x1 - bb.x) / bb.width,\n
+\t\t\t\t\t\t\ty1: (g_coords.y1 - bb.y) / bb.height,\n
+\t\t\t\t\t\t\tx2: (g_coords.x2 - bb.x) / bb.width,\n
+\t\t\t\t\t\t\ty2: (g_coords.y1 - bb.y) / bb.height\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\n
+\t        \t\t\tgrad.removeAttribute(\'gradientUnits\');\n
+        \t\t\t} else {\n
+        \t\t\t\t// Note: radialGradient elements cannot be easily converted \n
+        \t\t\t\t// because userSpaceOnUse will keep circular gradients, while\n
+        \t\t\t\t// objectBoundingBox will x/y scale the gradient according to\n
+        \t\t\t\t// its bbox. \n
+        \t\t\t\t\n
+        \t\t\t\t// For now we\'ll do nothing, though we should probably have\n
+        \t\t\t\t// the gradient be updated as the element is moved, as \n
+        \t\t\t\t// inkscape/illustrator do.\n
+        \t\t\t\n
+//         \t\t\t\tvar g_coords = $(grad).attr([\'cx\', \'cy\', \'r\']);\n
+//         \t\t\t\t\n
+// \t\t\t\t\t\t$(grad).attr({\n
+// \t\t\t\t\t\t\tcx: (g_coords.cx - bb.x) / bb.width,\n
+// \t\t\t\t\t\t\tcy: (g_coords.cy - bb.y) / bb.height,\n
+// \t\t\t\t\t\t\tr: g_coords.r\n
+// \t\t\t\t\t\t});\n
+// \t\t\t\t\t\t\n
+// \t        \t\t\tgrad.removeAttribute(\'gradientUnits\');\n
+        \t\t\t}\n
+        \t\t\t\n
+\n
+        \t\t}\n
+        \t});\n
+        \t\n
+        \t// Fix XML for Opera/Win/Non-EN\n
+\t\t\tif(!support.goodDecimals) {\n
+\t\t\t\tcanvas.fixOperaXML(svgcontent, newDoc.documentElement);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// recalculate dimensions on the top-level children so that unnecessary transforms\n
+\t\t\t// are removed\n
+\t\t\twalkTreePost(svgcontent, function(n){try{recalculateDimensions(n)}catch(e){console.log(e)}});\n
+\t\t\t\n
+\t\t\tvar content = $(svgcontent);\n
+        \t\n
+\t\t\tvar attrs = {\n
+\t\t\t\tid: \'svgcontent\',\n
+\t\t\t\toverflow: curConfig.show_outside_canvas?\'visible\':\'hidden\'\n
+\t\t\t};\n
+\t\t\t\n
+\t\t\t// determine proper size\n
+\t\t\tif (content.attr("viewBox")) {\n
+\t\t\t\tvar vb = content.attr("viewBox").split(\' \');\n
+\t\t\t\tattrs.width = vb[2];\n
+\t\t\t\tattrs.height = vb[3];\n
+\t\t\t}\n
+\t\t\t// handle content that doesn\'t have a viewBox\n
+\t\t\telse {\n
+\t\t\t\t$.each([\'width\', \'height\'], function(i, dim) {\n
+\t\t\t\t\t// Set to 100 if not given\n
+\t\t\t\t\tvar val = content.attr(dim) || 100;\n
+\n
+\t\t\t\t\tif((val+\'\').substr(-1) === "%") {\n
+\t\t\t\t\t\t// Use user units if percentage given\n
+\t\t\t\t\t\tattrs[dim] = parseInt(val);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tattrs[dim] = convertToNum(dim, val);\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tcontent.attr(attrs);\n
+\t\t\tthis.contentW = attrs[\'width\'];\n
+\t\t\tthis.contentH = attrs[\'height\'];\n
+\t\t\t\n
+\t\t\tbatchCmd.addSubCommand(new InsertElementCommand(svgcontent));\n
+\t\t\t// update root to the correct size\n
+\t\t\tvar changes = content.attr(["width", "height"]);\n
+\t\t\tbatchCmd.addSubCommand(new ChangeElementCommand(svgroot, changes));\n
+\t\t\t\n
+\t\t\t// reset zoom\n
+\t\t\tcurrent_zoom = 1;\n
+\t\t\t\n
+\t\t\t// identify layers\n
+\t\t\tidentifyLayers();\n
+\t\t\t\n
+\t\t\t// reset transform lists\n
+\t\t\tsvgTransformLists = {};\n
+\t\t\tcanvas.clearSelection();\n
+\t\t\tpathActions.clearData();\n
+\t\t\tsvgroot.appendChild(selectorManager.selectorParentGroup);\n
+\t\t\t\n
+\t\t\taddCommandToHistory(batchCmd);\n
+\t\t\tcall("changed", [svgcontent]);\n
+\t\t} catch(e) {\n
+\t\t\tconsole.log(e);\n
+\t\t\treturn false;\n
+\t\t}\n
+\n
+\t\treturn true;\n
+\t};\n
+\n
+\t// Function: importSvgString\n
+\t// This function imports the input SVG XML into the current layer in the drawing\n
+\t//\n
+\t// Parameters:\n
+\t// xmlString - The SVG as XML text.\n
+\t//\n
+\t// Returns:\n
+\t// This function returns false if the import was unsuccessful, true otherwise.\n
+\n
+\t// TODO: properly handle if namespace is introduced by imported content (must add to svgcontent\n
+\t//       and update all prefixes in the imported node)\n
+\t// TODO: properly handle recalculating dimensions, recalculateDimensions() doesn\'t handle\n
+\t//       arbitrary transform lists, but makes some assumptions about how the transform list \n
+\t//       was obtained\n
+\t// TODO: import should happen in top-left of current zoomed viewport\t\n
+\t// TODO: create a new layer for the imported SVG\n
+\tthis.importSvgString = function(xmlString) {\n
+\t\ttry {\n
+\t\t\t// convert string into XML document\n
+\t\t\tvar newDoc = Utils.text2xml(xmlString);\n
+\t\t\t// run it through our sanitizer to remove anything we do not support\n
+\t        sanitizeSvg(newDoc.documentElement);\n
+\n
+\t\t\tvar batchCmd = new BatchCommand("Change Source");\n
+\n
+\t\t\t// import new svg document into our document\n
+\t\t\tvar importedNode = svgdoc.importNode(newDoc.documentElement, true);\n
+        \n
+\t\t\tif (current_layer) {\n
+\t\t\t\t// TODO: properly handle if width/height are not specified or if in percentages\n
+\t\t\t\t// TODO: properly handle if width/height are in units (px, etc)\n
+\t\t\t\tvar innerw = importedNode.getAttribute("width"),\n
+\t\t\t\t\tinnerh = importedNode.getAttribute("height"),\n
+\t\t\t\t\tinnervb = importedNode.getAttribute("viewBox"),\n
+\t\t\t\t\t// if no explicit viewbox, create one out of the width and height\n
+\t\t\t\t\tvb = innervb ? innervb.split(" ") : [0,0,innerw,innerh];\n
+\t\t\t\tfor (var j = 0; j < 4; ++j)\n
+\t\t\t\t\tvb[j] = Number(vb[j]);\n
+\n
+\t\t\t\t// TODO: properly handle preserveAspectRatio\n
+\t\t\t\tvar canvasw = Number(svgcontent.getAttribute("width")),\n
+\t\t\t\t\tcanvash = Number(svgcontent.getAttribute("height"));\n
+\t\t\t\t// imported content should be 1/3 of the canvas on its largest dimension\n
+\t\t\t\tif (innerh > innerw) {\n
+\t\t\t\t\tvar ts = "scale(" + (canvash/3)/vb[3] + ")";\n
+\t\t\t\t}\n
+\t\t\t\telse {\n
+\t\t\t\t\tvar ts = "scale(" + (canvash/3)/vb[2] + ")";\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\t// Hack to make recalculateDimensions understand how to scale\n
+\t\t\t\tts = "translate(0) " + ts + " translate(0)";\n
+\t\t\t\t\n
+\t\t\t\t// TODO: Find way to add this in a recalculateDimensions-parsable way\n
+// \t\t\t\tif (vb[0] != 0 || vb[1] != 0)\n
+// \t\t\t\t\tts = "translate(" + (-vb[0]) + "," + (-vb[1]) + ") " + ts;\n
+\n
+\t\t\t\t// add all children of the imported <svg> to the <g> we create\n
+\t\t\t\tvar g = svgdoc.createElementNS(svgns, "g");\n
+\t\t\t\twhile (importedNode.hasChildNodes())\n
+\t\t\t\t\tg.appendChild(importedNode.firstChild);\n
+\t\t\t\tif (ts)\n
+\t\t\t\t\tg.setAttribute("transform", ts);\n
+    \t    \t\t\n
+\t\t\t\t// now ensure each element has a unique ID\n
+\t\t\t\tvar ids = {};\n
+\t\t\t\twalkTree(g, function(n) {\n
+\t\t\t\t\t// if it\'s an element node\n
+\t\t\t\t\tif (n.nodeType == 1) {\n
+\t\t\t\t\t\t// and the element has an ID\n
+\t\t\t\t\t\tif (n.id) {\n
+\t\t\t\t\t\t\t// and we haven\'t tracked this ID yet\n
+\t    \t    \t\t\tif (!(n.id in ids)) {\n
+    \t\t    \t\t\t\t// add this id to our map\n
+\t\t\t    \t    \t\tids[n.id] = {elem:null, attrs:[], hrefs:[]};\n
+\t    \t\t\t    \t}\n
+\t    \t\t\t    \tids[n.id]["elem"] = n;\n
+\t    \t    \t\t}\n
+\t    \t    \t\t\n
+\t    \t    \t\t// now search for all attributes on this element that might refer\n
+\t    \t    \t\t// to other elements\n
+\t\t\t\t\t\t$.each(["clip-path", "fill", "filter", "marker-end", "marker-mid", "marker-start", "mask", "stroke"],function(i,attr) {\n
+\t\t\t\t\t\t\tvar attrnode = n.getAttributeNode(attr);\n
+\t\t\t\t\t\t\tif (attrnode) {\n
+\t\t\t\t\t\t\t\t// the incoming file has been sanitized, so we should be able to safely just strip off the leading #\n
+\t\t\t\t\t\t\t\tvar url = getUrlFromAttr(attrnode.value),\t\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t\t\trefid = url ? url.substr(1) : null;\n
+\t\t\t\t\t\t\t\tif (refid) {\n
+\t\t\t\t\t\t\t\t\tif (!(refid in ids)) {\n
+\t\t\t\t\t\t\t\t\t\t// add this id to our map\n
+\t\t\t\t\t\t\t\t\t\tids[refid] = {elem:null, attrs:[], hrefs:[]};\n
+\t\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t\t\tids[refid]["attrs"].push(attrnode);\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// check xlink:href now\n
+\t\t\t\t\t\tvar href = n.getAttributeNS(xlinkns,"href");\n
+\t\t\t\t\t\t// TODO: what if an <image> or <a> element refers to an element internally?\n
+\t\t\t\t\t\tif(href && \n
+\t\t\t   \t\t\t\t$.inArray(n.nodeName, ["filter", "linearGradient", "pattern", \n
+\t\t\t   \t\t\t\t\t\t\t "radialGradient", "textPath", "use"]) != -1)\n
+\t\t\t\t\t\t{\n
+\t\t\t\t\t\t\tvar refid = href.substr(1);\n
+\t\t\t\t\t\t\tif (!(refid in ids)) {\n
+\t\t\t\t\t\t\t\t// add this id to our map\n
+\t\t\t\t\t\t\t\tids[refid] = {elem:null, attrs:[], hrefs:[]};\n
+\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\tids[refid]["hrefs"].push(n);\n
+\t\t\t\t\t\t}\t\t\t\t\t\t\n
+\t    \t    \t}\n
+    \t    \t});\n
+    \t    \t\n
+    \t    \t// in ids, we now have a map of ids, elements and attributes, let\'s re-identify\n
+    \t    \tfor (var oldid in ids) {\n
+    \t    \t\tvar elem = ids[oldid]["elem"];\n
+    \t    \t\tif (elem) {\n
+    \t    \t\t\tvar newid = getNextId();\n
+\t\t\t\t\t\t// manually increment obj_num because our cloned elements are not in the DOM yet\n
+\t\t\t\t\t\tobj_num++;\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// assign element its new id\n
+    \t    \t\t\telem.id = newid;\n
+    \t    \t\t\t\n
+    \t    \t\t\t// remap all url() attributes\n
+    \t    \t\t\tvar attrs = ids[oldid]["attrs"];\n
+    \t    \t\t\tvar j = attrs.length;\n
+    \t    \t\t\twhile (j--) {\n
+    \t    \t\t\t\tvar attr = attrs[j];\n
+    \t    \t\t\t\tattr.ownerElement.setAttribute(attr.name, "url(#" + newid + ")");\n
+    \t    \t\t\t}\n
+    \t    \t\t\t\n
+    \t    \t\t\t// remap all href attributes\n
+    \t    \t\t\tvar hreffers = ids[oldid]["hrefs"];\n
+    \t    \t\t\tvar k = hreffers.length;\n
+    \t    \t\t\twhile (k--) {\n
+    \t    \t\t\t\tvar hreffer = hreffers[k];\n
+    \t    \t\t\t\threffer.setAttributeNS(xlinkns, "xlink:href", "#"+newid);\n
+    \t    \t\t\t}\n
+    \t    \t\t}\n
+    \t    \t}\n
+    \t    \t\n
+    \t    \t// now give the g itself a new id\n
+    \t    \t\n
+\t\t\t\tg.id = getNextId();\n
+\t\t\t\t// manually increment obj_num because our cloned elements are not in the DOM yet\n
+\t\t\t\tobj_num++;\n
+\t\t\t\t\n
+    \t    \tcurrent_layer.appendChild(g);\n
+    \t    }\n
+    \t    \n
+        \t// change image href vals if possible\n
+//        \t$(svgcontent).find(\'image\').each(function() {\n
+//        \t\tvar image = this;\n
+//        \t\tpreventClickDefault(image);\n
+//        \t\tvar val = this.getAttributeNS(xlinkns, "href");\n
+//\t\t\t\tif(val.indexOf(\'data:\') === 0) {\n
+//\t\t\t\t\t// Check if an SVG-edit data URI\n
+//\t\t\t\t\tvar m = val.match(/svgedit_url=(.*?);/);\n
+//\t\t\t\t\tif(m) {\n
+//\t\t\t\t\t\tvar url = decodeURIComponent(m[1]);\n
+//\t\t\t\t\t\t$(new Image()).load(function() {\n
+//\t\t\t\t\t\t\timage.setAttributeNS(xlinkns,\'xlink:href\',url);\n
+//\t\t\t\t\t\t}).attr(\'src\',url);\n
+//\t\t\t\t\t}\n
+//\t\t\t\t}\n
+//        \t\t// Add to encodableImages if it loads\n
+//        \t\tcanvas.embedImage(val);\n
+//        \t});\n
+        \t\n
+        \t// Fix XML for Opera/Win/Non-EN\n
+\t\t\tif(!support.goodDecimals) {\n
+\t\t\t\tcanvas.fixOperaXML(svgcontent, importedNode);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// recalculate dimensions on the top-level children so that unnecessary transforms\n
+\t\t\t// are removed\n
+\t\t\twalkTreePost(svgcontent, function(n){try{recalculateDimensions(n)}catch(e){console.log(e)}});\n
+\t\t\t\n
+\t\t\t\n
+\t\t\tbatchCmd.addSubCommand(new InsertElementCommand(svgcontent));\n
+\n
+\t\t\t// reset zoom - TODO: why?\n
+//\t\t\tcurrent_zoom = 1;\n
+\t\t\t\n
+\t\t\t// identify layers\n
+//\t\t\tidentifyLayers();\n
+\t\t\t\n
+\t\t\t// reset transform lists\n
+\t\t\tsvgTransformLists = {};\n
+\t\t\tcanvas.clearSelection();\n
+\t\t\t\n
+\t\t\taddCommandToHistory(batchCmd);\n
+\t\t\tcall("changed", [svgcontent]);\n
+\t\t} catch(e) {\n
+\t\t\tconsole.log(e);\n
+\t\t\treturn false;\n
+\t\t}\n
+\n
+\t\treturn true;\n
+\t};\n
+\t\n
+\t// Layer API Functions\n
+\n
+\t// Group: Layers\n
+\n
+\tvar identifyLayers = function() {\n
+\t\tall_layers = [];\n
+\t\tvar numchildren = svgcontent.childNodes.length;\n
+\t\t// loop through all children of svgcontent\n
+\t\tvar orphans = [], layernames = [];\n
+\t\tfor (var i = 0; i < numchildren; ++i) {\n
+\t\t\tvar child = svgcontent.childNodes.item(i);\n
+\t\t\t// for each g, find its layer name\n
+\t\t\tif (child && child.nodeType == 1) {\n
+\t\t\t\tif (child.tagName == "g") {\n
+\t\t\t\t\tvar name = $("title",child).text();\n
+\t\t\t\t\t// store layer and name in global variable\n
+\t\t\t\t\tif (name) {\n
+\t\t\t\t\t\tlayernames.push(name);\n
+\t\t\t\t\t\tall_layers.push( [name,child] );\n
+\t\t\t\t\t\tcurrent_layer = child;\n
+\t\t\t\t\t\twalkTree(child, function(e){e.setAttribute("style", "pointer-events:inherit");});\n
+\t\t\t\t\t\tcurrent_layer.setAttribute("style", "pointer-events:none");\n
+\t\t\t\t\t}\n
+\t\t\t\t\t// if group did not have a name, it is an orphan\n
+\t\t\t\t\telse {\n
+\t\t\t\t\t\torphans.push(child);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t// if child has a bbox (i.e. not a <title> or <defs> element), then it is an orphan\n
+\t\t\t\telse if(canvas.getBBox(child) && child.nodeName != \'defs\') { // Opera returns a BBox for defs\n
+\t\t\t\t\tvar bb = canvas.getBBox(child);\n
+\t\t\t\t\torphans.push(child);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\t// create a new layer and add all the orphans to it\n
+\t\tif (orphans.length > 0) {\n
+\t\t\tvar i = 1;\n
+\t\t\twhile ($.inArray(("Layer " + i), layernames) != -1) { i++; }\n
+\t\t\tvar newname = "Layer " + i;\n
+\t\t\tcurrent_layer = svgdoc.createElementNS(svgns, "g");\n
+\t\t\tvar layer_title = svgdoc.createElementNS(svgns, "title");\n
+\t\t\tlayer_title.textContent = newname;\n
+\t\t\tcurrent_layer.appendChild(layer_title);\n
+\t\t\tfor (var j = 0; j < orphans.length; ++j) {\n
+\t\t\t\tcurrent_layer.appendChild(orphans[j]);\n
+\t\t\t}\n
+\t\t\tcurrent_layer = svgcontent.appendChild(current_layer);\n
+\t\t\tall_layers.push( [newname, current_layer] );\n
+\t\t}\n
+\t\twalkTree(current_layer, function(e){e.setAttribute("style","pointer-events:inherit");});\n
+\t\tcurrent_layer.setAttribute("style","pointer-events:all");\n
+\t};\n
+\t\n
+\t// Function: createLayer\n
+\t// Creates a new top-level layer in the drawing with the given name, sets the current layer \n
+\t// to it, and then clears the selection  This function then calls the \'changed\' handler.\n
+\t// This is an undoable action.\n
+\t//\n
+\t// Parameters:\n
+\t// name - The given name\n
+\tthis.createLayer = function(name) {\n
+\t\tvar batchCmd = new BatchCommand("Create Layer");\n
+\t\tvar new_layer = svgdoc.createElementNS(svgns, "g");\n
+\t\tvar layer_title = svgdoc.createElementNS(svgns, "title");\n
+\t\tlayer_title.textContent = name;\n
+\t\tnew_layer.appendChild(layer_title);\n
+\t\tnew_layer = svgcontent.appendChild(new_layer);\n
+\t\tbatchCmd.addSubCommand(new InsertElementCommand(new_layer));\n
+\t\taddCommandToHistory(batchCmd);\n
+\t\tcanvas.clearSelection();\n
+\t\tidentifyLayers();\n
+\t\tcanvas.setCurrentLayer(name);\n
+\t\tcall("changed", [new_layer]);\n
+\t};\n
+\t\n
+\t// Function: deleteCurrentLayer\n
+\t// Deletes the current layer from the drawing and then clears the selection. This function \n
+\t// then calls the \'changed\' handler.  This is an undoable action.\n
+\tthis.deleteCurrentLayer = function() {\n
+\t\tif (current_layer && all_layers.length > 1) {\n
+\t\t\tvar batchCmd = new BatchCommand("Delete Layer");\n
+\t\t\t// actually delete from the DOM and store in our Undo History\n
+\t\t\tvar parent = current_layer.parentNode;\n
+\t\t\tbatchCmd.addSubCommand(new RemoveElementCommand(current_layer, parent));\n
+\t\t\tparent.removeChild(current_layer);\n
+\t\t\taddCommandToHistory(batchCmd);\n
+\t\t\tcanvas.clearSelection();\n
+\t\t\tidentifyLayers();\n
+\t\t\tcanvas.setCurrentLayer(all_layers[all_layers.length-1][0]);\n
+\t\t\tcall("changed", [svgcontent]);\n
+\t\t\treturn true;\n
+\t\t}\n
+\t\treturn false;\n
+\t};\n
+\t\n
+\t// Function: getNumLayers\n
+\t// Returns the number of layers in the current drawing.\n
+\t// \n
+\t// Returns:\n
+\t// The number of layers in the current drawing.\n
+\tthis.getNumLayers = function() {\n
+\t\treturn all_layers.length;\n
+\t};\n
+\t\n
+\t// Function: getLayer\n
+\t// Returns the name of the ith layer. If the index is out of range, an empty string is returned.\n
+\t//\n
+\t// Parameters:\n
+\t// i - the zero-based index of the layer you are querying.\n
+\t// \n
+\t// Returns:\n
+\t// The name of the ith layer\n
+\tthis.getLayer = function(i) {\n
+\t\tif (i >= 0 && i < canvas.getNumLayers()) {\n
+\t\t\treturn all_layers[i][0];\n
+\t\t}\n
+\t\treturn "";\n
+\t};\n
+\t\n
+\t// Function: getCurrentLayer\n
+\t// Returns the name of the currently selected layer. If an error occurs, an empty string \n
+\t// is returned.\n
+\t//\n
+\t// Returns:\n
+\t// The name of the currently active layer.\n
+\tthis.getCurrentLayer = function() {\n
+\t\tfor (var i = 0; i < all_layers.length; ++i) {\n
+\t\t\tif (all_layers[i][1] == current_layer) {\n
+\t\t\t\treturn all_layers[i][0];\n
+\t\t\t}\n
+\t\t}\n
+\t\treturn "";\n
+\t};\n
+\t\n
+\t// Function: setCurrentLayer\n
+\t// Sets the current layer. If the name is not a valid layer name, then this function returns\n
+\t// false. Otherwise it returns true. This is not an undo-able action.\n
+\t//\n
+\t// Parameters:\n
+\t// name - the name of the layer you want to switch to.\n
+\t//\n
+\t// Returns:\n
+\t// true if the current layer was switched, otherwise false\n
+\tthis.setCurrentLayer = function(name) {\n
+\t\tname = toXml(name);\n
+\t\tfor (var i = 0; i < all_layers.length; ++i) {\n
+\t\t\tif (name == all_layers[i][0]) {\n
+\t\t\t\tif (current_layer != all_layers[i][1]) {\n
+\t\t\t\t\tcanvas.clearSelection();\n
+\t\t\t\t\tcurrent_layer.setAttribute("style", "pointer-events:none");\n
+\t\t\t\t\tcurrent_layer = all_layers[i][1];\n
+\t\t\t\t\tcurrent_layer.setAttribute("style", "pointer-events:all");\n
+\t\t\t\t}\n
+\t\t\t\treturn true;\n
+\t\t\t}\n
+\t\t}\n
+\t\treturn false;\n
+\t};\n
+\t\n
+\t// Function: renameCurrentLayer\n
+\t// Renames the current layer. If the layer name is not valid (i.e. unique), then this function \n
+\t// does nothing and returns false, otherwise it returns true. This is an undo-able action.\n
+\t// \n
+\t// Parameters:\n
+\t// newname - the new name you want to give the current layer.  This name must be unique \n
+\t// among all layer names.\n
+\t//\n
+\t// Returns:\n
+\t// true if the rename succeeded, false otherwise.\n
+\tthis.renameCurrentLayer = function(newname) {\n
+\t\tif (current_layer) {\n
+\t\t\tvar oldLayer = current_layer;\n
+\t\t\t// setCurrentLayer will return false if the name doesn\'t already exists\n
+\t\t\tif (!canvas.setCurrentLayer(newname)) {\n
+\t\t\t\tvar batchCmd = new BatchCommand("Rename Layer");\n
+\t\t\t\t// find the index of the layer\n
+\t\t\t\tfor (var i = 0; i < all_layers.length; ++i) {\n
+\t\t\t\t\tif (all_layers[i][1] == oldLayer) break;\n
+\t\t\t\t}\n
+\t\t\t\tvar oldname = all_layers[i][0];\n
+\t\t\t\tall_layers[i][0] = toXml(newname);\n
+\t\t\t\n
+\t\t\t\t// now change the underlying title element contents\n
+\t\t\t\tvar len = oldLayer.childNodes.length;\n
+\t\t\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\t\t\tvar child = oldLayer.childNodes.item(i);\n
+\t\t\t\t\t// found the <title> element, now append all the\n
+\t\t\t\t\tif (child && child.tagName == "title") {\n
+\t\t\t\t\t\t// wipe out old name \n
+\t\t\t\t\t\twhile (child.firstChild) { child.removeChild(child.firstChild); }\n
+\t\t\t\t\t\tchild.textContent = newname;\n
+\n
+\t\t\t\t\t\tbatchCmd.addSubCommand(new ChangeElementCommand(child, {"#text":oldname}));\n
+\t\t\t\t\t\taddCommandToHistory(batchCmd);\n
+\t\t\t\t\t\tcall("changed", [oldLayer]);\n
+\t\t\t\t\t\treturn true;\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\tcurrent_layer = oldLayer;\n
+\t\t}\n
+\t\treturn false;\n
+\t};\n
+\t\n
+\t// Function: setCurrentLayerPosition\n
+\t// Changes the position of the current layer to the new value. If the new index is not valid, \n
+\t// this function does nothing and returns false, otherwise it returns true. This is an\n
+\t// undo-able action.\n
+\t//\n
+\t// Parameters:\n
+\t// newpos - The zero-based index of the new position of the layer.  This should be between\n
+\t// 0 and (number of layers - 1)\n
+\t// \n
+\t// Returns:\n
+\t// true if the current layer position was changed, false otherwise.\n
+\tthis.setCurrentLayerPosition = function(newpos) {\n
+\t\tif (current_layer && newpos >= 0 && newpos < all_layers.length) {\n
+\t\t\tfor (var oldpos = 0; oldpos < all_layers.length; ++oldpos) {\n
+\t\t\t\tif (all_layers[oldpos][1] == current_layer) break;\n
+\t\t\t}\n
+\t\t\t// some unknown error condition (current_layer not in all_layers)\n
+\t\t\tif (oldpos == all_layers.length) { return false; }\n
+\t\t\t\n
+\t\t\tif (oldpos != newpos) {\n
+\t\t\t\t// if our new position is below us, we need to insert before the node after newpos\n
+\t\t\t\tvar refLayer = null;\n
+\t\t\t\tvar oldNextSibling = current_layer.nextSibling;\n
+\t\t\t\tif (newpos > oldpos ) {\n
+\t\t\t\t\tif (newpos < all_layers.length-1) {\n
+\t\t\t\t\t\trefLayer = all_layers[newpos+1][1];\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t// if our new position is above us, we need to insert before the node at newpos\n
+\t\t\t\telse {\n
+\t\t\t\t\trefLayer = all_layers[newpos][1];\n
+\t\t\t\t}\n
+\t\t\t\tsvgcontent.insertBefore(current_layer, refLayer);\n
+\t\t\t\taddCommandToHistory(new MoveElementCommand(current_layer, oldNextSibling, svgcontent));\n
+\t\t\t\t\n
+\t\t\t\tidentifyLayers();\n
+\t\t\t\tcanvas.setCurrentLayer(all_layers[newpos][0]);\n
+\t\t\t\t\n
+\t\t\t\treturn true;\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\treturn false;\n
+\t};\n
+\t\n
+\t// Function: getLayerVisibility\n
+\t// Returns whether the layer is visible.  If the layer name is not valid, then this function\n
+\t// returns false.\n
+\t//\n
+\t// Parameters:\n
+\t// layername - the name of the layer which you want to query.\n
+\t//\n
+\t// Returns:\n
+\t// The visibility state of the layer, or false if the layer name was invalid.\n
+\tthis.getLayerVisibility = function(layername) {\n
+\t\t// find the layer\n
+\t\tvar layer = null;\n
+\t\tfor (var i = 0; i < all_layers.length; ++i) {\n
+\t\t\tif (all_layers[i][0] == layername) {\n
+\t\t\t\tlayer = all_layers[i][1];\n
+\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t}\n
+\t\tif (!layer) return false;\n
+\t\treturn (layer.getAttribute("display") != "none");\n
+\t};\n
+\t\n
+\t// Function: setLayerVisibility\n
+\t// Sets the visibility of the layer. If the layer name is not valid, this function return \n
+\t// false, otherwise it returns true. This is an undo-able action.\n
+\t//\n
+\t// Parameters:\n
+\t// layername - the name of the layer to change the visibility\n
+\t// bVisible - true/false, whether the layer should be visible\n
+\t//\n
+\t// Returns:\n
+\t// true if the layer\'s visibility was set, false otherwise\n
+\tthis.setLayerVisibility = function(layername, bVisible) {\n
+\t\t// find the layer\n
+\t\tvar layer = null;\n
+\t\tfor (var i = 0; i < all_layers.length; ++i) {\n
+\t\t\tif (all_layers[i][0] == layername) {\n
+\t\t\t\tlayer = all_layers[i][1];\n
+\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t}\n
+\t\tif (!layer) return false;\n
+\t\t\n
+\t\tvar oldDisplay = layer.getAttribute("display");\n
+\t\tif (!oldDisplay) oldDisplay = "inline";\n
+\t\tlayer.setAttribute("display", bVisible ? "inline" : "none");\n
+\t\taddCommandToHistory(new ChangeElementCommand(layer, {"display":oldDisplay}, "Layer Visibility"));\n
+\t\t\n
+\t\tif (layer == current_layer) {\n
+\t\t\tcanvas.clearSelection();\n
+\t\t\tpathActions.clear();\n
+\t\t}\n
+//\t\tcall("changed", [selected]);\n
+\t\t\n
+\t\treturn true;\n
+\t};\n
+\t\n
+\t// Function: moveSelectedToLayer\n
+\t// Moves the selected elements to layername. If the name is not a valid layer name, then false \n
+\t// is returned.  Otherwise it returns true. This is an undo-able action.\n
+\t//\n
+\t// Parameters:\n
+\t// layername - the name of the layer you want to which you want to move the selected elements\n
+\t//\n
+\t// Returns:\n
+\t// true if the selected elements were moved to the layer, false otherwise.\n
+\tthis.moveSelectedToLayer = function(layername) {\n
+\t\t// find the layer\n
+\t\tvar layer = null;\n
+\t\tfor (var i = 0; i < all_layers.length; ++i) {\n
+\t\t\tif (all_layers[i][0] == layername) {\n
+\t\t\t\tlayer = all_layers[i][1];\n
+\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t}\n
+\t\tif (!layer) return false;\n
+\t\t\n
+\t\tvar batchCmd = new BatchCommand("Move Elements to Layer");\n
+\t\t\n
+\t\t// loop for each selected element and move it\n
+\t\tvar selElems = selectedElements;\n
+\t\tvar i = selElems.length;\n
+\t\twhile (i--) {\n
+\t\t\tvar elem = selElems[i];\n
+\t\t\tif (!elem) continue;\n
+\t\t\tvar oldNextSibling = elem.nextSibling;\n
+\t\t\t// TODO: this is pretty brittle!\n
+\t\t\tvar oldLayer = elem.parentNode;\n
+\t\t\tlayer.appendChild(elem);\n
+\t\t\tbatchCmd.addSubCommand(new MoveElementCommand(elem, oldNextSibling, oldLayer));\n
+\t\t}\n
+\t\t\n
+\t\taddCommandToHistory(batchCmd);\n
+\t\t\n
+\t\treturn true;\n
+\t};\n
+\t\n
+\t// Function: getLayerOpacity\n
+\t// Returns the opacity of the given layer.  If the input name is not a layer, null is returned.\n
+\t//\n
+\t// Parameters: \n
+\t// layername - name of the layer on which to get the opacity\n
+\t//\n
+\t// Returns:\n
+\t// The opacity value of the given layer.  This will be a value between 0.0 and 1.0, or null\n
+\t// if layername is not a valid layer\n
+\tthis.getLayerOpacity = function(layername) {\n
+\t\tfor (var i = 0; i < all_layers.length; ++i) {\n
+\t\t\tif (all_layers[i][0] == layername) {\n
+\t\t\t\tvar g = all_layers[i][1];\n
+\t\t\t\tvar opacity = g.getAttribute("opacity");\n
+\t\t\t\tif (!opacity) {\n
+\t\t\t\t\topacity = "1.0";\n
+\t\t\t\t}\n
+\t\t\t\treturn parseFloat(opacity);\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\treturn null;\n
+\t};\n
+\t\n
+\t// Function: setLayerOpacity\n
+\t// Sets the opacity of the given layer.  If the input name is not a layer, nothing happens.\n
+\t// This is not an undo-able action.  NOTE: this function exists solely to apply\n
+\t// a highlighting/de-emphasis effect to a layer, when it is possible for a user to affect\n
+\t// the opacity of a layer, we will need to allow this function to produce an undo-able action.\n
+\t// If opacity is not a value between 0.0 and 1.0, then nothing happens.\n
+\t//\n
+\t// Parameters:\n
+\t// layername - name of the layer on which to set the opacity\n
+\t// opacity - a float value in the range 0.0-1.0\n
+\tthis.setLayerOpacity = function(layername, opacity) {\n
+\t\tif (opacity < 0.0 || opacity > 1.0) return;\n
+\t\tfor (var i = 0; i < all_layers.length; ++i) {\n
+\t\t\tif (all_layers[i][0] == layername) {\n
+\t\t\t\tvar g = all_layers[i][1];\n
+\t\t\t\tg.setAttribute("opacity", opacity);\n
+\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t}\n
+\t};\n
+\t\n
+\t// Function: selectAllInCurrentLayer\n
+\t// Clears the selection, then adds all elements in the current layer to the selection.\n
+\t// This function then fires the selected event.\n
+\tthis.selectAllInCurrentLayer = function() {\n
+\t\tif (current_layer) {\n
+\t\t\tcanvas.clearSelection();\n
+\t\t\tcanvas.addToSelection($(current_layer).children());\n
+\t\t\tcurrent_mode = "select";\n
+\t\t\tcall("selected", selectedElements);\t\t\t\n
+\t\t}\n
+\t};\n
+\n
+\t// Function: clear\n
+\t// Clears the current document.  This is not an undoable action.\n
+\tthis.clear = function() {\n
+\t\tpathActions.clear();\n
+\n
+\t\t// clear the svgcontent node\n
+\t\tvar nodes = svgcontent.childNodes;\n
+\t\tvar len = svgcontent.childNodes.length;\n
+\t\tvar i = 0;\n
+\t\tthis.clearSelection();\n
+\t\tfor(var rep = 0; rep < len; rep++){\n
+\t\t\tif (nodes[i].nodeType == 1) { // element node\n
+\t\t\t\tsvgcontent.removeChild(nodes[i]);\n
+\t\t\t} else {\n
+\t\t\t\ti++;\n
+\t\t\t}\n
+\t\t}\n
+\t\t// create empty first layer\n
+\t\tall_layers = [];\n
+\t\tcanvas.createLayer("Layer 1");\n
+\t\t\n
+\t\t// clear the undo stack\n
+\t\tresetUndoStack();\n
+\t\t// reset the selector manager\n
+\t\tselectorManager.initGroup();\n
+\t\t// reset the rubber band box\n
+\t\trubberBox = selectorManager.getRubberBandBox();\n
+\t\tcall("cleared");\n
+\t};\n
+\t\n
+\tthis.linkControlPoints = function(linkPoints) {\n
+\t\tpathActions.linkControlPoints(linkPoints);\n
+\t}\n
+\n
+\tthis.getContentElem = function() { return svgcontent; };\n
+\tthis.getRootElem = function() { return svgroot; };\n
+\tthis.getSelectedElems = function() { return selectedElements; };\n
+\n
+\tthis.getResolution = function() {\n
+// \t\tvar vb = svgcontent.getAttribute("viewBox").split(\' \');\n
+// \t\treturn {\'w\':vb[2], \'h\':vb[3], \'zoom\': current_zoom};\n
+\t\t\t\n
+\t\treturn {\n
+\t\t\t\'w\':svgcontent.getAttribute("width")/current_zoom,\n
+\t\t\t\'h\':svgcontent.getAttribute("he
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>next</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="5" aka="AAAAAAAAAAU=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+ight")/current_zoom,\n
+\t\t\t\'zoom\': current_zoom\n
+\t\t};\n
+\t};\n
+\t\n
+\tthis.getDocumentTitle = function() {\n
+\t\tvar childs = svgcontent.childNodes;\n
+\t\tfor (var i=0; i<childs.length; i++) {\n
+\t\t\tif(childs[i].nodeName == \'title\') {\n
+\t\t\t\treturn childs[i].textContent;\n
+\t\t\t}\n
+\t\t}\n
+\t\treturn \'\';\n
+\t}\n
+\t\n
+\tthis.setDocumentTitle = function(newtitle) {\n
+\t\tvar childs = svgcontent.childNodes, doc_title = false, old_title = \'\';\n
+\t\t\n
+\t\tvar batchCmd = new BatchCommand("Change Image Title");\n
+\t\t\n
+\t\tfor (var i=0; i<childs.length; i++) {\n
+\t\t\tif(childs[i].nodeName == \'title\') {\n
+\t\t\t\tdoc_title = childs[i];\n
+\t\t\t\told_title = doc_title.textContent;\n
+\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t}\n
+\t\tif(!doc_title) {\n
+\t\t\tdoc_title = svgdoc.createElementNS(svgns, "title");\n
+\t\t\tsvgcontent.insertBefore(doc_title, svgcontent.firstChild);\n
+\t\t} \n
+\t\t\n
+\t\tif(newtitle.length) {\n
+\t\t\tdoc_title.textContent = newtitle;\n
+\t\t} else {\n
+\t\t\t// No title given, so element is not necessary\n
+\t\t\tdoc_title.parentNode.removeChild(doc_title);\n
+\t\t}\n
+\t\tbatchCmd.addSubCommand(new ChangeElementCommand(doc_title, {\'#text\': old_title}));\n
+\t\taddCommandToHistory(batchCmd);\n
+\t}\n
+\t\n
+\tthis.getEditorNS = function(add) {\n
+\t\tif(add) {\n
+\t\t\tsvgcontent.setAttribute(\'xmlns:se\', se_ns);\n
+\t\t}\n
+\t\treturn se_ns;\n
+\t}\n
+\t\n
+\tthis.setResolution = function(x, y) {\n
+\t\tvar res = canvas.getResolution();\n
+\t\tvar w = res.w, h = res.h;\n
+\t\tvar batchCmd;\n
+\n
+\t\tif(x == \'fit\') {\n
+\t\t\t// Get bounding box\n
+\t\t\tvar bbox = canvas.getStrokedBBox();\n
+\t\t\t\n
+\t\t\tif(bbox) {\n
+\t\t\t\tbatchCmd = new BatchCommand("Fit Canvas to Content");\n
+\t\t\t\tvar visEls = canvas.getVisibleElements();\n
+\t\t\t\tcanvas.addToSelection(visEls);\n
+\t\t\t\tvar dx = [], dy = [];\n
+\t\t\t\t$.each(visEls, function(i, item) {\n
+\t\t\t\t\tdx.push(bbox.x*-1);\n
+\t\t\t\t\tdy.push(bbox.y*-1);\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tvar cmd = canvas.moveSelectedElements(dx, dy, true);\n
+\t\t\t\tbatchCmd.addSubCommand(cmd);\n
+\t\t\t\tcanvas.clearSelection();\n
+\t\t\t\t\n
+\t\t\t\tx = Math.round(bbox.width);\n
+\t\t\t\ty = Math.round(bbox.height);\n
+\t\t\t} else {\n
+\t\t\t\treturn false;\n
+\t\t\t}\n
+\t\t}\n
+\t\tif (x != w || y != h) {\n
+\t\t\tvar handle = svgroot.suspendRedraw(1000);\n
+\t\t\tif(!batchCmd) {\n
+\t\t\t\tbatchCmd = new BatchCommand("Change Image Dimensions");\n
+\t\t\t}\n
+\t\t\tx = convertToNum(\'width\', x);\n
+\t\t\ty = convertToNum(\'height\', y);\n
+\t\t\t\n
+\t\t\tsvgcontent.setAttribute(\'width\', x);\n
+\t\t\tsvgcontent.setAttribute(\'height\', y);\n
+\t\t\tthis.contentW = x;\n
+\t\t\tthis.contentH = y;\n
+\t\t\tbatchCmd.addSubCommand(new ChangeElementCommand(svgcontent, {"width":w, "height":h}));\n
+\n
+\t\t\tsvgcontent.setAttribute("viewBox", [0, 0, x/current_zoom, y/current_zoom].join(\' \'));\n
+\t\t\tbatchCmd.addSubCommand(new ChangeElementCommand(svgcontent, {"viewBox": ["0 0", w, h].join(\' \')}));\n
+\t\t\n
+\t\t\taddCommandToHistory(batchCmd);\n
+\t\t\tsvgroot.unsuspendRedraw(handle);\n
+\t\t\tcall("changed", [svgcontent]);\n
+\t\t}\n
+\t\treturn true;\n
+\t};\n
+\t\n
+\tthis.getOffset = function() {\n
+\t\treturn $(svgcontent).attr([\'x\', \'y\']);\n
+\t}\n
+\t\n
+\tthis.setBBoxZoom = function(val, editor_w, editor_h) {\n
+\t\tvar spacer = .85;\n
+\t\tvar bb;\n
+\t\tvar calcZoom = function(bb) {\n
+\t\t\tif(!bb) return false;\n
+\t\t\tvar w_zoom = Math.round((editor_w / bb.width)*100 * spacer)/100;\n
+\t\t\tvar h_zoom = Math.round((editor_h / bb.height)*100 * spacer)/100;\t\n
+\t\t\tvar zoomlevel = Math.min(w_zoom,h_zoom);\n
+\t\t\tcanvas.setZoom(zoomlevel);\n
+\t\t\treturn {\'zoom\': zoomlevel, \'bbox\': bb};\n
+\t\t}\n
+\t\t\n
+\t\tif(typeof val == \'object\') {\n
+\t\t\tbb = val;\n
+\t\t\tif(bb.width == 0 || bb.height == 0) {\n
+\t\t\t\tvar newzoom = bb.zoom?bb.zoom:current_zoom * bb.factor;\n
+\t\t\t\tcanvas.setZoom(newzoom);\n
+\t\t\t\treturn {\'zoom\': current_zoom, \'bbox\': bb};\n
+\t\t\t}\n
+\t\t\treturn calcZoom(bb);\n
+\t\t}\n
+\t\n
+\t\tswitch (val) {\n
+\t\t\tcase \'selection\':\n
+\t\t\t\tif(!selectedElements[0]) return;\n
+\t\t\t\tvar sel_elems = $.map(selectedElements, function(n){ if(n) return n; });\n
+\t\t\t\tbb = canvas.getStrokedBBox(sel_elems);\n
+\t\t\t\tbreak;\n
+\t\t\tcase \'canvas\':\n
+\t\t\t\tvar res = canvas.getResolution();\n
+\t\t\t\tspacer = .95;\n
+\t\t\t\tbb = {width:res.w, height:res.h ,x:0, y:0};\n
+\t\t\t\tbreak;\n
+\t\t\tcase \'content\':\n
+\t\t\t\tbb = canvas.getStrokedBBox();\n
+\t\t\t\tbreak;\n
+\t\t\tcase \'layer\':\n
+\t\t\t\tbb = canvas.getStrokedBBox(canvas.getVisibleElements(current_layer));\n
+\t\t\t\tbreak;\n
+\t\t\tdefault:\n
+\t\t\t\treturn;\n
+\t\t}\n
+\t\treturn calcZoom(bb);\n
+\t}\n
+\n
+\tthis.setZoom = function(zoomlevel) {\n
+\t\tvar res = canvas.getResolution();\n
+\t\tsvgcontent.setAttribute("viewBox", "0 0 " + res.w/zoomlevel + " " + res.h/zoomlevel);\n
+\t\tcurrent_zoom = zoomlevel;\n
+\t\t$.each(selectedElements, function(i, elem) {\n
+\t\t\tif(!elem) return;\n
+\t\t\tselectorManager.requestSelector(elem).resize();\n
+\t\t});\n
+\t\tpathActions.zoomChange();\n
+\t\trunExtensions("zoomChanged", zoomlevel);\n
+\t}\n
+\n
+\tthis.getMode = function() {\n
+\t\treturn current_mode;\n
+\t};\n
+\n
+\tthis.setMode = function(name) {\n
+\t\tpathActions.clear(true);\n
+\t\ttextActions.clear();\n
+\t\t\n
+\t\tcur_properties = (selectedElements[0] && selectedElements[0].nodeName == \'text\') ? cur_text : cur_shape;\n
+\t\tcurrent_mode = name;\n
+\t};\n
+\n
+\tthis.getStrokeColor = function() {\n
+\t\treturn cur_properties.stroke;\n
+\t};\n
+\n
+\t// TODO: rewrite setFillColor(), setStrokeColor(), setStrokeWidth(), setStrokeStyle() \n
+\t// to use a common function?\n
+\tthis.setStrokeColor = function(val,preventUndo) {\n
+\t\tcur_shape.stroke = val;\n
+\t\tcur_properties.stroke_paint = {type:"solidColor"};\n
+\t\tvar elems = [];\n
+\t\tvar i = selectedElements.length;\n
+\t\twhile (i--) {\n
+\t\t\tvar elem = selectedElements[i];\n
+\t\t\tif (elem) {\n
+\t\t\t\tif (elem.tagName == "g")\n
+\t\t\t\t\twalkTree(elem, function(e){if(e.nodeName!="g") elems.push(e);});\n
+\t\t\t\telse\n
+\t\t\t\t\telems.push(elem);\n
+\t\t\t}\n
+\t\t}\n
+\n
+\t\tif (elems.length > 0) {\n
+\t\t\tif (!preventUndo) {\n
+\t\t\t\tthis.changeSelectedAttribute("stroke", val, elems);\n
+\t\t\t\tcall("changed", elems);\n
+\t\t\t} else \n
+\t\t\t\tthis.changeSelectedAttributeNoUndo("stroke", val, elems);\n
+\t\t}\n
+\t};\n
+\n
+\tthis.getFillColor = function() {\n
+\t\treturn cur_properties.fill;\n
+\t};\n
+\n
+\tthis.setFillColor = function(val,preventUndo) {\n
+\t\tcur_properties.fill = val;\n
+\t\tcur_properties.fill_paint = {type:"solidColor"};\n
+\t\t// take out any path/line elements when setting fill\n
+\t\t// add all descendants of groups (but remove groups)\n
+\t\tvar elems = [];\n
+\t\tvar i = selectedElements.length;\n
+\t\twhile (i--) {\n
+\t\t\tvar elem = selectedElements[i];\n
+\t\t\tif (elem) {\n
+\t\t\t\tif (elem.tagName == "g")\n
+\t\t\t\t\twalkTree(elem, function(e){if(e.nodeName!="g") elems.push(e);});\n
+\t\t\t\telse if (elem.tagName != "polyline" && elem.tagName != "line")\n
+\t\t\t\t\telems.push(elem);\n
+\t\t\t}\n
+\t\t}\n
+\t\tif (elems.length > 0) {\n
+\t\t\tif (!preventUndo) {\n
+\t\t\t\tthis.changeSelectedAttribute("fill", val, elems);\n
+\t\t\t\tcall("changed", elems);\n
+\t\t\t} else\n
+\t\t\t\tthis.changeSelectedAttributeNoUndo("fill", val, elems);\n
+\t\t}\n
+\t};\n
+\n
+\tvar findDefs = function() {\n
+\t\tvar defs = svgcontent.getElementsByTagNameNS(svgns, "defs");\n
+\t\tif (defs.length > 0) {\n
+\t\t\tdefs = defs[0];\n
+\t\t}\n
+\t\telse {\n
+\t\t\t// first child is a comment, so call nextSibling\n
+\t\t\tdefs = svgcontent.insertBefore( svgdoc.createElementNS(svgns, "defs" ), svgcontent.firstChild.nextSibling);\n
+\t\t}\n
+\t\treturn defs;\n
+\t};\n
+\n
+\tvar addGradient = function() {\n
+\t\t$.each([\'stroke\',\'fill\'],function(i,type) {\n
+\t\t\t\n
+\t\t\tif(!cur_properties[type + \'_paint\'] || cur_properties[type + \'_paint\'].type == "solidColor") return;\n
+\t\t\tvar grad = canvas[type + \'Grad\'];\n
+\t\t\t// find out if there is a duplicate gradient already in the defs\n
+\t\t\tvar duplicate_grad = findDuplicateGradient(grad);\n
+\t\t\tvar defs = findDefs();\n
+\t\t\t// no duplicate found, so import gradient into defs\n
+\t\t\tif (!duplicate_grad) {\n
+\t\t\t\tvar orig_grad = grad;\n
+\t\t\t\tgrad = defs.appendChild( svgdoc.importNode(grad, true) );\n
+\t\t\t\tcanvas.fixOperaXML(grad, orig_grad);\n
+\t\t\t\t// get next id and set it on the grad\n
+\t\t\t\tgrad.id = getNextId();\n
+\t\t\t}\n
+\t\t\telse { // use existing gradient\n
+\t\t\t\tgrad = duplicate_grad;\n
+\t\t\t}\n
+\t\t\tvar functype = type==\'fill\'?\'Fill\':\'Stroke\';\n
+\t\t\tcanvas[\'set\'+ functype +\'Color\']("url(#" + grad.id + ")");\n
+\t\t});\n
+\t}\n
+\n
+\tvar findDuplicateGradient = function(grad) {\n
+\t\tvar defs = findDefs();\n
+\t\tvar existing_grads = $(defs).find("linearGradient, radialGradient");\n
+\t\tvar i = existing_grads.length;\n
+\t\tvar rad_attrs = [\'r\',\'cx\',\'cy\',\'fx\',\'fy\'];\n
+\t\twhile (i--) {\n
+\t\t\tvar og = existing_grads[i];\n
+\t\t\tif(grad.tagName == "linearGradient") {\n
+\t\t\t\tif (grad.getAttribute(\'x1\') != og.getAttribute(\'x1\') ||\n
+\t\t\t\t\tgrad.getAttribute(\'y1\') != og.getAttribute(\'y1\') ||\n
+\t\t\t\t\tgrad.getAttribute(\'x2\') != og.getAttribute(\'x2\') ||\n
+\t\t\t\t\tgrad.getAttribute(\'y2\') != og.getAttribute(\'y2\')) \n
+\t\t\t\t{\n
+\t\t\t\t\tcontinue;\n
+\t\t\t\t}\n
+\t\t\t} else {\n
+\t\t\t\tvar grad_attrs = $(grad).attr(rad_attrs);\n
+\t\t\t\tvar og_attrs = $(og).attr(rad_attrs);\n
+\t\t\t\t\n
+\t\t\t\tvar diff = false;\n
+\t\t\t\t$.each(rad_attrs, function(i, attr) {\n
+\t\t\t\t\tif(grad_attrs[attr] != og_attrs[attr]) diff = true;\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tif(diff) continue;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// else could be a duplicate, iterate through stops\n
+\t\t\tvar stops = grad.getElementsByTagNameNS(svgns, "stop");\n
+\t\t\tvar ostops = og.getElementsByTagNameNS(svgns, "stop");\n
+\n
+\t\t\tif (stops.length != ostops.length) {\n
+\t\t\t\tcontinue;\n
+\t\t\t}\n
+\n
+\t\t\tvar j = stops.length;\n
+\t\t\twhile(j--) {\n
+\t\t\t\tvar stop = stops[j];\n
+\t\t\t\tvar ostop = ostops[j];\n
+\n
+\t\t\t\tif (stop.getAttribute(\'offset\') != ostop.getAttribute(\'offset\') ||\n
+\t\t\t\t\tstop.getAttribute(\'stop-opacity\') != ostop.getAttribute(\'stop-opacity\') ||\n
+\t\t\t\t\tstop.getAttribute(\'stop-color\') != ostop.getAttribute(\'stop-color\')) \n
+\t\t\t\t{\n
+\t\t\t\t\tbreak;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\n
+\t\t\tif (j == -1) {\n
+\t\t\t\treturn og;\n
+\t\t\t}\n
+\t\t} // for each gradient in defs\n
+\n
+\t\treturn null;\n
+\t};\n
+\t\n
+\t// Group: Fill and Stroke\n
+\n
+\tthis.setStrokePaint = function(p, addGrad) {\n
+\t\t// make a copy\n
+\t\tvar p = new $.jGraduate.Paint(p);\n
+\t\tthis.setStrokeOpacity(p.alpha/100);\n
+\n
+\t\t// now set the current paint object\n
+\t\tcur_properties.stroke_paint = p;\n
+\t\tif (p.type == "solidColor") {\n
+\t\t\tthis.setStrokeColor(p.solidColor != "none" ? "#"+p.solidColor : "none");\n
+\t\t}\n
+\t\telse if(p.type == "linearGradient") {\n
+\t\t\tcanvas.strokeGrad = p.linearGradient;\n
+\t\t\tif(addGrad) addGradient(); \n
+\t\t}\n
+\t\telse if(p.type == "radialGradient") {\n
+\t\t\tcanvas.strokeGrad = p.radialGradient;\n
+\t\t\tif(addGrad) addGradient(); \n
+\t\t}\n
+\t\telse {\n
+//\t\t\tconsole.log("none!");\n
+\t\t}\n
+\t};\n
+\n
+\tthis.setFillPaint = function(p, addGrad) {\n
+\t\t// make a copy\n
+\t\tvar p = new $.jGraduate.Paint(p);\n
+\t\tthis.setFillOpacity(p.alpha/100, true);\n
+\n
+\t\t// now set the current paint object\n
+\t\tcur_properties.fill_paint = p;\n
+\t\tif (p.type == "solidColor") {\n
+\t\t\tthis.setFillColor(p.solidColor != "none" ? "#"+p.solidColor : "none");\n
+\t\t}\n
+\t\telse if(p.type == "linearGradient") {\n
+\t\t\tcanvas.fillGrad = p.linearGradient;\n
+\t\t\tif(addGrad) addGradient(); \n
+\t\t}\n
+\t\telse if(p.type == "radialGradient") {\n
+\t\t\tcanvas.fillGrad = p.radialGradient;\n
+\t\t\tif(addGrad) addGradient(); \n
+\t\t}\n
+\t\telse {\n
+//\t\t\tconsole.log("none!");\n
+\t\t}\n
+\t};\n
+\n
+\tthis.getStrokeWidth = function() {\n
+\t\treturn cur_properties.stroke_width;\n
+\t};\n
+\n
+\t// When attempting to set a line\'s width to 0, change it to 1 instead\n
+\tthis.setStrokeWidth = function(val) {\n
+\t\tif(val == 0 && $.inArray(current_mode, [\'line\', \'path\']) != -1) {\n
+\t\t\tcanvas.setStrokeWidth(1);\n
+\t\t\treturn;\n
+\t\t}\n
+\t\tcur_properties.stroke_width = val;\n
+\t\t\n
+\t\tvar elems = [];\n
+\t\tvar i = selectedElements.length;\n
+\t\twhile (i--) {\n
+\t\t\tvar elem = selectedElements[i];\n
+\t\t\tif (elem) {\n
+\t\t\t\tif (elem.tagName == "g")\n
+\t\t\t\t\twalkTree(elem, function(e){if(e.nodeName!="g") elems.push(e);});\n
+\t\t\t\telse \n
+\t\t\t\t\telems.push(elem);\n
+\t\t\t}\n
+\t\t}\t\t\n
+\t\tif (elems.length > 0) {\n
+\t\t\tthis.changeSelectedAttribute("stroke-width", val, elems);\n
+\t\t\tcall("changed", selectedElements);\n
+\t\t}\n
+\t};\n
+\n
+\tthis.setStrokeAttr = function(attr, val) {\n
+\t\tcur_shape[attr.replace(\'-\',\'_\')] = val;\n
+\t\tvar elems = [];\n
+\t\tvar i = selectedElements.length;\n
+\t\twhile (i--) {\n
+\t\t\tvar elem = selectedElements[i];\n
+\t\t\tif (elem) {\n
+\t\t\t\tif (elem.tagName == "g")\n
+\t\t\t\t\twalkTree(elem, function(e){if(e.nodeName!="g") elems.push(e);});\n
+\t\t\t\telse \n
+\t\t\t\t\telems.push(elem);\n
+\t\t\t}\n
+\t\t}\t\t\n
+\t\tif (elems.length > 0) {\n
+\t\t\tthis.changeSelectedAttribute(attr, val, elems);\n
+\t\t\tcall("changed", selectedElements);\n
+\t\t}\n
+\t};\n
+\t\n
+\tthis.getOpacity = function() {\n
+\t\treturn cur_shape.opacity;\n
+\t};\n
+\n
+\tthis.setOpacity = function(val) {\n
+\t\tcur_shape.opacity = val;\n
+\t\tthis.changeSelectedAttribute("opacity", val);\n
+\t};\n
+\n
+\tthis.getBlur = function(elem) {\n
+\t\tvar val = 0;\n
+// \t\tvar elem = selectedElements[0];\n
+\t\t\n
+\t\tif(elem) {\n
+\t\t\tvar filter_url = elem.getAttribute(\'filter\');\n
+\t\t\tif(filter_url) {\n
+\t\t\t\tvar blur = getElem(elem.id + \'_blur\');\n
+\t\t\t\tif(blur) {\n
+\t\t\t\t\tval = blur.firstChild.getAttribute(\'stdDeviation\');\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\t\treturn val;\n
+\t};\n
+\n
+\t(function() {\n
+\t\tvar cur_command = null;\n
+\t\tvar filter = null;\n
+\t\tvar filterHidden = false;\n
+\t\t\n
+\t\tcanvas.setBlurNoUndo = function(val) {\n
+\t\t\tif(!filter) {\n
+\t\t\t\tcanvas.setBlur(val);\n
+\t\t\t\treturn;\n
+\t\t\t}\n
+\t\t\tif(val === 0) {\n
+\t\t\t\t// Don\'t change the StdDev, as that will hide the element.\n
+\t\t\t\t// Instead, just remove the value for "filter"\n
+\t\t\t\tcanvas.changeSelectedAttributeNoUndo("filter", "");\n
+\t\t\t\tfilterHidden = true;\n
+\t\t\t} else {\n
+\t\t\t\tif(filterHidden) {\n
+\t\t\t\t\tcanvas.changeSelectedAttributeNoUndo("filter", \'url(#\' + selectedElements[0].id + \'_blur)\');\n
+\t\t\t\t}\n
+\t\t\t\tcanvas.changeSelectedAttributeNoUndo("stdDeviation", val, [filter.firstChild]);\n
+\t\t\t\tcanvas.setBlurOffsets(filter, val);\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\tfunction finishChange() {\n
+\t\t\tvar bCmd = canvas.finishUndoableChange();\n
+\t\t\tcur_command.addSubCommand(bCmd);\n
+\t\t\taddCommandToHistory(cur_command);\n
+\t\t\tcur_command = null;\t\n
+\t\t\tfilter = null;\n
+\t\t}\n
+\t\n
+\t\tcanvas.setBlurOffsets = function(filter, stdDev) {\n
+\t\t\tif(stdDev > 3) {\n
+\t\t\t\t// TODO: Create algorithm here where size is based on expected blur\n
+\t\t\t\tassignAttributes(filter, {\n
+\t\t\t\t\tx: \'-50%\',\n
+\t\t\t\t\ty: \'-50%\',\n
+\t\t\t\t\twidth: \'200%\',\n
+\t\t\t\t\theight: \'200%\',\n
+\t\t\t\t}, 100);\n
+\t\t\t} else {\n
+\t\t\t\tfilter.removeAttribute(\'x\');\n
+\t\t\t\tfilter.removeAttribute(\'y\');\n
+\t\t\t\tfilter.removeAttribute(\'width\');\n
+\t\t\t\tfilter.removeAttribute(\'height\');\n
+\t\t\t}\n
+\t\t}\n
+\t\n
+\t\tcanvas.setBlur = function(val, complete) {\n
+\t\t\tif(cur_command) {\n
+\t\t\t\tfinishChange();\n
+\t\t\t\treturn;\n
+\t\t\t}\n
+\t\t\n
+\t\t\t// Looks for associated blur, creates one if not found\n
+\t\t\tvar elem = selectedElements[0];\n
+\t\t\tvar elem_id = elem.id;\n
+\t\t\tfilter = getElem(elem_id + \'_blur\');\n
+\t\t\t\n
+\t\t\tval -= 0;\n
+\t\t\t\n
+\t\t\tvar batchCmd = new BatchCommand();\n
+\t\t\t\n
+\t\t\t// Blur found!\n
+\t\t\tif(filter) {\n
+\t\t\t\tif(val === 0) {\n
+\t\t\t\t\tfilter = null;\n
+\t\t\t\t}\n
+\t\t\t} else {\n
+\t\t\t\t// Not found, so create\n
+\t\t\t\tvar newblur = addSvgElementFromJson({ "element": "feGaussianBlur",\n
+\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t"in": \'SourceGraphic\',\n
+\t\t\t\t\t\t"stdDeviation": val\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tfilter = addSvgElementFromJson({ "element": "filter",\n
+\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t"id": elem_id + \'_blur\'\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tfilter.appendChild(newblur);\n
+\t\t\t\tfindDefs().appendChild(filter);\n
+\t\t\t\t\n
+\t\t\t\tbatchCmd.addSubCommand(new InsertElementCommand(filter));\n
+\t\t\t}\n
+\t\n
+\t\t\tvar changes = {filter: elem.getAttribute(\'filter\')};\n
+\t\t\t\n
+\t\t\tif(val === 0) {\n
+\t\t\t\telem.removeAttribute("filter");\n
+\t\t\t\tbatchCmd.addSubCommand(new ChangeElementCommand(elem, changes));\n
+\t\t\t\treturn;\n
+\t\t\t} else {\n
+\t\t\t\tthis.changeSelectedAttribute("filter", \'url(#\' + elem_id + \'_blur)\');\n
+\t\t\t\t\n
+\t\t\t\tbatchCmd.addSubCommand(new ChangeElementCommand(elem, changes));\n
+\t\t\t\t\n
+\t\t\t\tcanvas.setBlurOffsets(filter, val);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tcur_command = batchCmd;\n
+\t\t\tcanvas.beginUndoableChange("stdDeviation", [filter?filter.firstChild:null]);\n
+\t\t\tif(complete) {\n
+\t\t\t\tcanvas.setBlurNoUndo(val);\n
+\t\t\t\tfinishChange();\n
+\t\t\t}\n
+\t\t};\n
+\t}());\n
+\t\n
+\tthis.getFillOpacity = function() {\n
+\t\treturn cur_shape.fill_opacity;\n
+\t};\n
+\n
+\tthis.setFillOpacity = function(val, preventUndo) {\n
+\t\tcur_shape.fill_opacity = val;\n
+\t\tif (!preventUndo)\n
+\t\t\tthis.changeSelectedAttribute("fill-opacity", val);\n
+\t\telse\n
+\t\t\tthis.changeSelectedAttributeNoUndo("fill-opacity", val);\n
+\t};\n
+\n
+\tthis.getStrokeOpacity = function() {\n
+\t\treturn cur_shape.stroke_opacity;\n
+\t};\n
+\n
+\tthis.setStrokeOpacity = function(val, preventUndo) {\n
+\t\tcur_shape.stroke_opacity = val;\n
+\t\tif (!preventUndo)\n
+\t\t\tthis.changeSelectedAttribute("stroke-opacity", val);\n
+\t\telse\n
+\t\t\tthis.changeSelectedAttributeNoUndo("stroke-opacity", val);\n
+\t};\n
+\n
+\t// returns an object that behaves like a SVGTransformList\n
+\tthis.getTransformList = function(elem) {\n
+\t\t// Opera is included here because Opera/Win/Non-EN seems to change \n
+\t\t// transformlist float vals to use a comma rather than a period.\n
+\t\tif (isWebkit || !support.goodDecimals) {\n
+\t\t\tvar id = elem.id;\n
+\t\t\tif(!id) {\n
+\t\t\t\t// Get unique ID for temporary element\n
+\t\t\t\tid = \'temp\';\n
+\t\t\t}\n
+\t\t\tvar t = svgTransformLists[id];\n
+\t\t\tif (!t || id == \'temp\') {\n
+\t\t\t\tsvgTransformLists[id] = new SVGEditTransformList(elem);\n
+\t\t\t\tsvgTransformLists[id]._init();\n
+\t\t\t\tt = svgTransformLists[id];\n
+\t\t\t}\n
+\t\t\treturn t;\n
+\t\t}\n
+\t\telse if (elem.transform) {\n
+\t\t\treturn elem.transform.baseVal;\n
+\t\t}\n
+\t\telse if (elem.gradientTransform) {\n
+\t\t\treturn elem.gradientTransform.baseVal;\n
+\t\t}\n
+\t\treturn null;\n
+\t};\n
+\n
+\tthis.getBBox = function(elem) {\n
+\t\tvar selected = elem || selectedElements[0];\n
+\t\tif (elem.nodeType != 1) return null;\n
+\t\tvar ret = null;\n
+\t\tif(elem.nodeName == \'text\' && selected.textContent == \'\') {\n
+\t\t\tselected.textContent = \'a\'; // Some character needed for the selector to use.\n
+\t\t\tret = selected.getBBox();\n
+\t\t\tselected.textContent = \'\';\n
+\t\t} else if (elem.nodeName == \'g\' && isOpera) {\n
+\t\t\t// deal with an opera bug here\n
+\t\t\t// the bbox on a \'g\' is not correct if the elements inside have been moved\n
+\t\t\t// so we create a new g, add all the children to it, add it to the DOM, get its bbox\n
+\t\t\t// then put all the children back on the old g and remove the new g\n
+\t\t\t// (this means we make no changes to the DOM, which saves us a lot of headache at\n
+\t\t\t//  the cost of performance)\n
+\t\t\tret = selected.getBBox();\n
+\t\t\tvar newg = document.createElementNS(svgns, "g");\n
+\t\t\twhile (selected.firstChild) { newg.appendChild(selected.firstChild); }\n
+\t\t\tvar i = selected.attributes.length;\n
+\t\t\twhile(i--) { newg.setAttributeNode(selected.attributes.item(i).cloneNode(true)); }\n
+\t\t\tselected.parentNode.appendChild(newg);\n
+\t\t\tret = newg.getBBox();\n
+\t\t\twhile (newg.firstChild) { selected.appendChild(newg.firstChild); }\n
+\t\t\tselected.parentNode.removeChild(newg);\n
+\t\t} else if(elem.nodeName == \'path\' && isWebkit) {\n
+\t\t\tret = getPathBBox(selected);\n
+\t\t} else if(elem.nodeName == \'use\' && !isWebkit) {\n
+\t\t\tret = selected.getBBox();\n
+\t\t\tret.x += parseFloat(selected.getAttribute(\'x\')||0);\n
+\t\t\tret.y += parseFloat(selected.getAttribute(\'y\')||0);\n
+\t\t} else if(elem.nodeName == \'foreignObject\') {\n
+\t\t\tret = selected.getBBox();\n
+\t\t\tret.x += parseFloat(selected.getAttribute(\'x\')||0);\n
+\t\t\tret.y += parseFloat(selected.getAttribute(\'y\')||0);\n
+\t\t} else {\n
+\t\t\ttry { ret = selected.getBBox(); } \n
+\t\t\tcatch(e) { \n
+\t\t\t\t// Check if element is child of a foreignObject\n
+\t\t\t\tvar fo = $(selected).closest("foreignObject");\n
+\t\t\t\tif(fo.length) {\n
+\t\t\t\t\ttry {\n
+\t\t\t\t\t\tret = fo[0].getBBox();\t\t\t\t\t\t\n
+\t\t\t\t\t} catch(e) {\n
+\t\t\t\t\t\tret = null;\n
+\t\t\t\t\t}\n
+\t\t\t\t} else {\n
+\t\t\t\t\tret = null;\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t}\n
+\n
+\t\t// get the bounding box from the DOM (which is in that element\'s coordinate system)\n
+\t\treturn ret;\n
+\t};\n
+\n
+\t// we get the rotation angle in the tlist\n
+\tthis.getRotationAngle = function(elem, to_rad) {\n
+\t\tvar selected = elem || selectedElements[0];\n
+\t\t// find the rotation transform (if any) and set it\n
+\t\tvar tlist = canvas.getTransformList(selected);\n
+\t\tif(!tlist) return 0; // <svg> elements have no tlist\n
+\t\tvar N = tlist.numberOfItems;\n
+\t\tfor (var i = 0; i < N; ++i) {\n
+\t\t\tvar xform = tlist.getItem(i);\n
+\t\t\tif (xform.type == 4) {\n
+\t\t\t\treturn to_rad ? xform.angle * Math.PI / 180.0 : xform.angle;\n
+\t\t\t}\n
+\t\t}\n
+\t\treturn 0.0;\n
+\t};\n
+\n
+\t// this should:\n
+\t// - remove any old rotations if present\n
+\t// - prepend a new rotation at the transformed center\n
+\tthis.setRotationAngle = function(val,preventUndo) {\n
+\t\t// ensure val is the proper type\n
+\t\tval = parseFloat(val);\n
+\t\tvar elem = selectedElements[0];\n
+\t\tvar oldTransform = elem.getAttribute("transform");\n
+\t\tvar bbox = canvas.getBBox(elem);\n
+\t\tvar cx = bbox.x+bbox.width/2, cy = bbox.y+bbox.height/2;\n
+\t\tvar tlist = canvas.getTransformList(elem);\n
+\t\t\n
+\t\t// only remove the real rotational transform if present (i.e. at index=0)\n
+\t\tif (tlist.numberOfItems > 0) {\n
+\t\t\tvar xform = tlist.getItem(0);\n
+\t\t\tif (xform.type == 4) {\n
+\t\t\t\ttlist.removeItem(0);\n
+\t\t\t}\n
+\t\t}\n
+\t\t// find R_nc and insert it\n
+\t\tif (val != 0) {\n
+\t\t\tvar center = transformPoint(cx,cy,transformListToTransform(tlist).matrix);\n
+\t\t\tvar R_nc = svgroot.createSVGTransform();\n
+\t\t\tR_nc.setRotate(val, center.x, center.y);\n
+\t\t\ttlist.insertItemBefore(R_nc,0);\n
+\t\t}\n
+\t\telse if (tlist.numberOfItems == 0) {\n
+\t\t\telem.removeAttribute("transform");\n
+\t\t}\n
+\t\t\n
+\t\tif (!preventUndo) {\n
+\t\t\t// we need to undo it, then redo it so it can be undo-able! :)\n
+\t\t\t// TODO: figure out how to make changes to transform list undo-able cross-browser?\n
+\t\t\tvar newTransform = elem.getAttribute("transform");\n
+\t\t\telem.setAttribute("transform", oldTransform);\n
+\t\t\tthis.changeSelectedAttribute("transform",newTransform,selectedElements);\n
+\t\t}\n
+\t\tvar pointGripContainer = getElem("pathpointgrip_container");\n
+// \t\tif(elem.nodeName == "path" && pointGripContainer) {\n
+// \t\t\tpathActions.setPointContainerTransform(elem.getAttribute("transform"));\n
+// \t\t}\n
+\t\tvar selector = selectorManager.requestSelector(selectedElements[0]);\n
+\t\tselector.resize();\n
+\t\tselector.updateGripCursors(val);\n
+\t};\n
+\n
+\tthis.each = function(cb) {\n
+\t\t$(svgroot).children().each(cb);\n
+\t};\n
+\n
+\tthis.bind = function(event, f) {\n
+\t  var old = events[event];\n
+\t\tevents[event] = f;\n
+\t\treturn old;\n
+\t};\n
+\n
+\tthis.setIdPrefix = function(p) {\n
+\t\tidprefix = p;\n
+\t};\n
+\n
+\tthis.getBold = function() {\n
+\t\t// should only have one element selected\n
+\t\tvar selected = selectedElements[0];\n
+\t\tif (selected != null && selected.tagName  == "text" &&\n
+\t\t\tselectedElements[1] == null) \n
+\t\t{\n
+\t\t\treturn (selected.getAttribute("font-weight") == "bold");\n
+\t\t}\n
+\t\treturn false;\n
+\t};\n
+\n
+\tthis.setBold = function(b) {\n
+\t\tvar selected = selectedElements[0];\n
+\t\tif (selected != null && selected.tagName  == "text" &&\n
+\t\t\tselectedElements[1] == null) \n
+\t\t{\n
+\t\t\tthis.changeSelectedAttribute("font-weight", b ? "bold" : "normal");\n
+\t\t}\n
+\t};\n
+\n
+\tthis.getItalic = function() {\n
+\t\tvar selected = selectedElements[0];\n
+\t\tif (selected != null && selected.tagName  == "text" &&\n
+\t\t\tselectedElements[1] == null) \n
+\t\t{\n
+\t\t\treturn (selected.getAttribute("font-style") == "italic");\n
+\t\t}\n
+\t\treturn false;\n
+\t};\n
+\n
+\tthis.setItalic = function(i) {\n
+\t\tvar selected = selectedElements[0];\n
+\t\tif (selected != null && selected.tagName  == "text" &&\n
+\t\t\tselectedElements[1] == null) \n
+\t\t{\n
+\t\t\tthis.changeSelectedAttribute("font-style", i ? "italic" : "normal");\n
+\t\t}\n
+\t};\n
+\n
+\tthis.getFontFamily = function() {\n
+\t\treturn cur_text.font_family;\n
+\t};\n
+\n
+\tthis.setFontFamily = function(val) {\n
+    \tcur_text.font_family = val;\n
+\t\tthis.changeSelectedAttribute("font-family", val);\n
+\t};\n
+\n
+\tthis.getFontSize = function() {\n
+\t\treturn cur_text.font_size;\n
+\t};\n
+\n
+\tthis.setFontSize = function(val) {\n
+\t\tcur_text.font_size = val;\n
+\t\ttextActions.toSelectMode();\n
+\t\tthis.changeSelectedAttribute("font-size", val);\n
+\t};\n
+\n
+\tthis.getText = function() {\n
+\t\tvar selected = selectedElements[0];\n
+\t\tif (selected == null) { return ""; }\n
+\t\treturn selected.textContent;\n
+\t};\n
+\n
+\tthis.setTextContent = function(val) {\n
+\t\tthis.changeSelectedAttribute("#text", val);\n
+\t\ttextActions.init(val);\n
+\t\ttextActions.setCursor();\n
+\t};\n
+\t\n
+\tthis.setImageURL = function(val) {\n
+\t\tvar elem = selectedElements[0];\n
+\t\tif(!elem) return;\n
+\t\t\n
+\t\tvar attrs = $(elem).attr([\'width\', \'height\']);\n
+\t\tvar setsize = (!attrs.width || !attrs.height);\n
+\n
+\t\tvar cur_href = elem.getAttributeNS(xlinkns, "href");\n
+\t\t\n
+\t\t// Do nothing if no URL change or size change\n
+\t\tif(cur_href !== val) {\n
+\t\t\tsetsize = true;\n
+\t\t} else if(!setsize) return;\n
+\n
+\t\tvar batchCmd = new BatchCommand("Change Image URL");\n
+\t\n
+\t\telem.setAttributeNS(xlinkns, "xlink:href", val);\n
+\t\tbatchCmd.addSubCommand(new ChangeElementCommand(elem, {\n
+\t\t\t"#href": cur_href\n
+\t\t}));\n
+\t\n
+\t\tif(setsize) {\n
+\t\t\t$(new Image()).load(function() {\n
+\t\t\t\tvar changes = $(elem).attr([\'width\', \'height\']);\n
+\t\t\t\n
+\t\t\t\t$(elem).attr({\n
+\t\t\t\t\twidth: this.width,\n
+\t\t\t\t\theight: this.height\n
+\t\t\t\t});\n
+\t\t\t\t\n
+\t\t\t\tselectorManager.requestSelector(elem).resize();\n
+\t\t\t\t\n
+\t\t\t\tbatchCmd.addSubCommand(new ChangeElementCommand(elem, changes));\n
+\t\t\t\taddCommandToHistory(batchCmd);\n
+\t\t\t\tcall("changed", elem);\n
+\t\t\t}).attr(\'src\',val);\n
+\t\t} else {\n
+\t\t\taddCommandToHistory(batchCmd);\n
+\t\t}\n
+\t};\n
+\n
+\tthis.setRectRadius = function(val) {\n
+\t\tvar selected = selectedElements[0];\n
+\t\tif (selected != null && selected.tagName == "rect") {\n
+\t\t\tvar r = selected.getAttribute("rx");\n
+\t\t\tif (r != val) {\n
+\t\t\t\tselected.setAttribute("rx", val);\n
+\t\t\t\tselected.setAttribute("ry", val);\n
+\t\t\t\taddCommandToHistory(new ChangeElementCommand(selected, {"rx":r, "ry":r}, "Radius"));\n
+\t\t\t\tcall("changed", [selected]);\n
+\t\t\t}\n
+\t\t}\n
+\t};\n
+\t\n
+\tthis.setSegType = function(new_type) {\n
+\t\tpathActions.setSegType(new_type);\n
+\t}\n
+\t\n
+\tvar ffClone = function(elem) {\n
+\t\t// Hack for Firefox bugs where text element features aren\'t updated\n
+\t\tif(navigator.userAgent.indexOf(\'Gecko/\') == -1) return elem;\n
+\t\tvar clone = elem.cloneNode(true)\n
+\t\telem.parentNode.insertBefore(clone, elem);\n
+\t\telem.parentNode.removeChild(elem);\n
+\t\tselectorManager.releaseSelector(elem);\n
+\t\tselectedElements[0] = clone;\n
+\t\tselectorManager.requestSelector(clone).showGrips(true);\n
+\t\treturn clone;\n
+\t}\n
+\n
+\t// New functions for refactoring of Undo/Redo\n
+\t\n
+\t// this is the stack that stores the original values, the elements and\n
+\t// the attribute name for begin/finish\n
+\tvar undoChangeStackPointer = -1;\n
+\tvar undoableChangeStack = [];\n
+\t\n
+\t// This function tells the canvas to remember the old values of the \n
+\t// attrName attribute for each element sent in.  The elements and values \n
+\t// are stored on a stack, so the next call to finishUndoableChange() will \n
+\t// pop the elements and old values off the stack, gets the current values\n
+\t// from the DOM and uses all of these to construct the undo-able command.\n
+\tthis.beginUndoableChange = function(attrName, elems) {\n
+\t\tvar p = ++undoChangeStackPointer;\n
+\t\tvar i = elems.length;\n
+\t\tvar oldValues = new Array(i), elements = new Array(i);\n
+\t\twhile (i--) {\n
+\t\t\tvar elem = elems[i];\n
+\t\t\tif (elem == null) continue;\n
+\t\t\telements[i] = elem;\n
+\t\t\toldValues[i] = elem.getAttribute(attrName);\n
+\t\t}\n
+\t\tundoableChangeStack[p] = {\'attrName\': attrName,\n
+\t\t\t\t\t\t\t\t\'oldValues\': oldValues,\n
+\t\t\t\t\t\t\t\t\'elements\': elements};\n
+\t};\n
+\t\n
+\t// This function makes the changes to the elements\n
+\tthis.changeSelectedAttributeNoUndo = function(attr, newValue, elems) {\n
+\t\tvar handle = svgroot.suspendRedraw(1000);\n
+\t\tif(current_mode == \'pathedit\') {\n
+\t\t\t// Editing node\n
+\t\t\tpathActions.moveNode(attr, newValue);\n
+\t\t}\n
+\t\tvar elems = elems || selectedElements;\n
+\t\tvar i = elems.length;\n
+\t\twhile (i--) {\n
+\t\t\tvar elem = elems[i];\n
+\t\t\tif (elem == null) continue;\n
+\t\t\t\n
+\t\t\t// Go into "select" mode for text changes\n
+\t\t\tif(current_mode === "textedit" && attr !== "#text") {\n
+\t\t\t\ttextActions.toSelectMode(elem);\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// Set x,y vals on elements that don\'t have them\n
+\t\t\tif((attr == \'x\' || attr == \'y\') && $.inArray(elem.tagName, [\'g\', \'polyline\', \'path\']) != -1) {\n
+\t\t\t\tvar bbox = canvas.getStrokedBBox([elem]);\n
+\t\t\t\tvar diff_x = attr == \'x\' ? newValue - bbox.x : 0;\n
+\t\t\t\tvar diff_y = attr == \'y\' ? newValue - bbox.y : 0;\n
+\t\t\t\tcanvas.moveSelectedElements(diff_x*current_zoom, diff_y*current_zoom, true);\n
+\t\t\t\tcontinue;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\t// only allow the transform/opacity attribute to change on <g> elements, slightly hacky\n
+\t\t\tif (elem.tagName == "g" && $.inArray(attr, [\'transform\', \'opacity\', \'filter\']) !== -1);\n
+\t\t\tvar oldval = attr == "#text" ? elem.textContent : elem.getAttribute(attr);\n
+\t\t\tif (oldval == null)  oldval = "";\n
+\t\t\tif (oldval != String(newValue)) {\n
+\t\t\t\tif (attr == "#text") {\n
+\t\t\t\t\tvar old_w = canvas.getBBox(elem).width;\n
+\t\t\t\t\telem.textContent = newValue;\n
+\t\t\t\t\telem = ffClone(elem);\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Hoped to solve the issue of moving text with text-anchor="start",\n
+\t\t\t\t\t// but this doesn\'t actually fix it. Hopefully on the right track, though. -Fyrd\n
+\t\t\t\t\t\n
+// \t\t\t\t\tvar box=canvas.getBBox(elem), left=box.x, top=box.y, width=box.width,\n
+// \t\t\t\t\t\theight=box.height, dx = width - old_w, dy=0;\n
+// \t\t\t\t\tvar angle = canvas.getRotationAngle(elem, true);\n
+// \t\t\t\t\tif (angle) {\n
+// \t\t\t\t\t\tvar r = Math.sqrt( dx*dx + dy*dy );\n
+// \t\t\t\t\t\tvar theta = Math.atan2(dy,dx) - angle;\n
+// \t\t\t\t\t\tdx = r * Math.cos(theta);\n
+// \t\t\t\t\t\tdy = r * Math.sin(theta);\n
+// \t\t\t\t\t\t\n
+// \t\t\t\t\t\telem.setAttribute(\'x\', elem.getAttribute(\'x\')-dx);\n
+// \t\t\t\t\t\telem.setAttribute(\'y\', elem.getAttribute(\'y\')-dy);\n
+// \t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t} else if (attr == "#href") {\n
+\t\t\t\t\telem.setAttributeNS(xlinkns, "xlink:href", newValue);\n
+        \t\t}\n
+\t\t\t\telse elem.setAttribute(attr, newValue);\n
+\t\t\t\tif (i==0)\n
+\t\t\t\t\tselectedBBoxes[i] = this.getBBox(elem);\n
+\t\t\t\t// Use the Firefox ffClone hack for text elements with gradients or\n
+\t\t\t\t// where other text attributes are changed. \n
+\t\t\t\tif(elem.nodeName == \'text\') {\n
+\t\t\t\t\tif((newValue+\'\').indexOf(\'url\') == 0 || $.inArray(attr, [\'font-size\',\'font-family\',\'x\',\'y\']) != -1) {\n
+\t\t\t\t\t\telem = ffClone(elem);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t// Timeout needed for Opera & Firefox\n
+\t\t\t\t// codedread: it is now possible for this function to be called with elements\n
+\t\t\t\t// that are not in the selectedElements array, we need to only request a\n
+\t\t\t\t// selector if the element is in that array\n
+\t\t\t\tif ($.inArray(elem, selectedElements) != -1) {\n
+\t\t\t\t\tsetTimeout(function() {\n
+\t\t\t\t\t\t// Due to element replacement, this element may no longer\n
+\t\t\t\t\t\t// be part of the DOM\n
+\t\t\t\t\t\tif(!elem.parentNode) return;\n
+\t\t\t\t\t\tselectorManager.requestSelector(elem).resize();\n
+\t\t\t\t\t},0);\n
+\t\t\t\t}\n
+\t\t\t\t// if this element was rotated, and we changed the position of this element\n
+\t\t\t\t// we need to update the rotational transform attribute \n
+\t\t\t\tvar angle = canvas.getRotationAngle(elem);\n
+\t\t\t\tif (angle != 0 && attr != "transform") {\n
+\t\t\t\t\tvar tlist = canvas.getTransformList(elem);\n
+\t\t\t\t\tvar n = tlist.numberOfItems;\n
+\t\t\t\t\twhile (n--) {\n
+\t\t\t\t\t\tvar xform = tlist.getItem(n);\n
+\t\t\t\t\t\tif (xform.type == 4) {\n
+\t\t\t\t\t\t\t// remove old rotate\n
+\t\t\t\t\t\t\ttlist.removeItem(n);\n
+\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\tvar box = canvas.getBBox(elem);\n
+\t\t\t\t\t\t\tvar center = transformPoint(box.x+box.width/2, box.y+box.height/2, transformListToTransform(tlist).matrix);\n
+\t\t\t\t\t\t\tvar cx = center.x,\n
+\t\t\t\t\t\t\t\tcy = center.y;\n
+\t\t\t\t\t\t\tvar newrot = svgroot.createSVGTransform();\n
+\t\t\t\t\t\t\tnewrot.setRotate(angle, cx, cy);\n
+\t\t\t\t\t\t\ttlist.insertItemBefore(newrot, n);\n
+\t\t\t\t\t\t\tbreak;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t} // if oldValue != newValue\n
+\t\t} // for each elem\n
+\t\tsvgroot.unsuspendRedraw(handle);\t\n
+\t};\n
+\t\n
+\t// This function returns a BatchCommand object which summarizes the\n
+\t// change since beginUndoableChange was called.  The command can then\n
+\t// be added to the command history\n
+\tthis.finishUndoableChange = function() {\n
+\t\tvar p = undoChangeStackPointer--;\n
+\t\tvar changeset = undoableChangeStack[p];\n
+\t\tvar i = changeset[\'elements\'].length;\n
+\t\tvar attrName = changeset[\'attrName\'];\n
+\t\tvar batchCmd = new BatchCommand("Change " + attrName);\n
+\t\twhile (i--) {\n
+\t\t\tvar elem = changeset[\'elements\'][i];\n
+\t\t\tif (elem == null) continue;\n
+\t\t\tvar changes = {};\n
+\t\t\tchanges[attrName] = changeset[\'oldValues\'][i];\n
+\t\t\tif (changes[attrName] != elem.getAttribute(attrName)) {\n
+\t\t\t\tbatchCmd.addSubCommand(new ChangeElementCommand(elem, changes, attrName));\n
+\t\t\t}\n
+\t\t}\n
+\t\tundoableChangeStack[p] = null;\n
+\t\treturn batchCmd;\n
+\t};\n
+\n
+\t// If you want to change all selectedElements, ignore the elems argument.\n
+\t// If you want to change only a subset of selectedElements, then send the\n
+\t// subset to this function in the elems argument.\n
+\tthis.changeSelectedAttribute = function(attr, val, elems) {\n
+\t\tvar elems = elems || selectedElements;\n
+\t\tcanvas.beginUndoableChange(attr, elems);\n
+\t\tvar i = elems.length;\n
+\n
+\t\tcanvas.changeSelectedAttributeNoUndo(attr, val, elems);\n
+\n
+\t\tvar batchCmd = canvas.finishUndoableChange();\n
+\t\tif (!batchCmd.isEmpty()) { \n
+\t\t\taddCommandToHistory(batchCmd);\n
+\t\t}\n
+\t};\n
+\t\n
+\tthis.deleteSelectedElements = function() {\n
+\t\tvar batchCmd = new BatchCommand("Delete Elements");\n
+\t\tvar len = selectedElements.length;\n
+\t\tvar selectedCopy = []; //selectedElements is being deleted\n
+\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\tvar selected = selectedElements[i];\n
+\t\t\tif (selected == null) break;\n
+\n
+\t\t\tvar parent = selected.parentNode;\n
+\t\t\tvar t = selected;\n
+\t\t\t// this will unselect the element and remove the selectedOutline\n
+\t\t\tselectorManager.releaseSelector(t);\n
+\t\t\tvar elem = parent.removeChild(t);\n
+\t\t\tselectedCopy.push(selected) //for the copy\n
+\t\t\tselectedElements[i] = null;\n
+\t\t\tbatchCmd.addSubCommand(new RemoveElementCommand(elem, parent));\n
+\t\t}\n
+\t\tif (!batchCmd.isEmpty()) addCommandToHistory(batchCmd);\n
+\t\tcall("changed", selectedCopy);\n
+\t\tcanvas.clearSelection();\n
+\t};\n
+\t\n
+\tthis.groupSelectedElements = function() {\n
+\t\tvar batchCmd = new BatchCommand("Group Elements");\n
+\t\t\n
+\t\t// create and insert the group element\n
+\t\tvar g = addSvgElementFromJson({\n
+\t\t\t\t\t\t\t\t"element": "g",\n
+\t\t\t\t\t\t\t\t"attr": {\n
+\t\t\t\t\t\t\t\t\t"id": getNextId()\n
+\t\t\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\t});\n
+\t\tbatchCmd.addSubCommand(new InsertElementCommand(g));\n
+\t\t\n
+\t\t// now move all children into the group\n
+\t\tvar i = selectedElements.length;\n
+\t\twhile (i--) {\n
+\t\t\tvar elem = selectedElements[i];\n
+\t\t\tif (elem == null) continue;\n
+\t\t\tvar oldNextSibling = elem.nextSibling;\n
+\t\t\tvar oldParent = elem.parentNode;\n
+\t\t\tg.appendChild(elem);\n
+\t\t\tbatchCmd.addSubCommand(new MoveElementCommand(elem, oldNextSibling, oldParent));\t\t\t\n
+\t\t}\n
+\t\tif (!batchCmd.isEmpty()) addCommandToHistory(batchCmd);\n
+\t\t\n
+\t\t// update selection\n
+\t\tcanvas.clearSelection();\n
+\t\tcanvas.addToSelection([g], true);\n
+\t};\n
+\n
+\tthis.ungroupSelectedElement = function() {\n
+\t\tvar g = selectedElements[0];\n
+\t\tif (g.tagName == "g") {\n
+\t\t\tvar batchCmd = new BatchCommand("Ungroup Elements");\n
+\t\t\tvar parent = g.parentNode;\n
+\t\t\tvar anchor = g.previousSibling;\n
+\t\t\tvar children = new Array(g.childNodes.length);\n
+\t\t\tvar xform = g.getAttribute("transform");\n
+\t\t\t// get consolidated matrix\n
+\t\t\tvar glist = canvas.getTransformList(g);\n
+\t\t\tvar m = transformListToTransform(glist).matrix;\n
+\n
+\t\t\t// TODO: get all fill/stroke properties from the group that we are about to destroy\n
+\t\t\t// "fill", "fill-opacity", "fill-rule", "stroke", "stroke-dasharray", "stroke-dashoffset", \n
+\t\t\t// "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", \n
+\t\t\t// "stroke-width"\n
+\t\t\t// and then for each child, if they do not have the attribute (or the value is \'inherit\')\n
+\t\t\t// then set the child\'s attribute\n
+\t\t\t\n
+\t\t\tvar i = 0;\n
+\t\t\tvar gangle = canvas.getRotationAngle(g);\n
+\t\t\t\n
+\t\t\tvar gattrs = $(g).attr([\'filter\', \'opacity\']);\n
+\t\t\tvar gfilter, gblur;\n
+\t\t\t\n
+\t\t\twhile (g.firstChild) {\n
+\t\t\t\tvar elem = g.firstChild;\n
+\t\t\t\tvar oldNextSibling = elem.nextSibling;\n
+\t\t\t\tvar oldParent = elem.parentNode;\n
+\t\t\t\tchildren[i++] = elem = parent.insertBefore(elem, anchor);\n
+\t\t\t\tbatchCmd.addSubCommand(new MoveElementCommand(elem, oldNextSibling, oldParent));\n
+\t\t\t\t\n
+\t\t\t\tif(gattrs.opacity !== null && gattrs.opacity !== 1) {\n
+\t\t\t\t\tvar c_opac = elem.getAttribute(\'opacity\') || 1;\n
+\t\t\t\t\tvar new_opac = Math.round((elem.getAttribute(\'opacity\') || 1) * gattrs.opacity * 100)/100;\n
+\t\t\t\t\tthis.changeSelectedAttribute(\'opacity\', new_opac, [elem]);\n
+\t\t\t\t}\n
+\n
+\t\t\t\tif(gattrs.filter) {\n
+\t\t\t\t\tvar cblur = this.getBlur(elem);\n
+\t\t\t\t\tvar orig_cblur = cblur;\n
+\t\t\t\t\tif(!gblur) gblur = this.getBlur(g);\n
+\t\t\t\t\tif(cblur) {\n
+\t\t\t\t\t\t// Is this formula correct?\n
+\t\t\t\t\t\tcblur = (gblur-0) + (cblur-0);\n
+\t\t\t\t\t} else if(cblur === 0) {\n
+\t\t\t\t\t\tcblur = gblur;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\t// If child has no current filter, get group\'s filter or clone it.\n
+\t\t\t\t\tif(!orig_cblur) {\n
+\t\t\t\t\t\t// Set group\'s filter to use first child\'s ID\n
+\t\t\t\t\t\tif(!gfilter) {\n
+\t\t\t\t\t\t\tgfilter = getElem(getUrlFromAttr(gattrs.filter).substr(1));\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\t// Clone the group\'s filter\n
+\t\t\t\t\t\t\tgfilter = copyElem(gfilter);\n
+\t\t\t\t\t\t\tfindDefs().appendChild(gfilter);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tgfilter = getElem(getUrlFromAttr(elem.getAttribute(\'filter\')).substr(1));\n
+\t\t\t\t\t}\n
+\n
+\t\t\t\t\t// Change this in future for different filters\n
+\t\t\t\t\tvar suffix = (gfilter.firstChild.tagName === \'feGaussianBlur\')?\'blur\':\'filter\'; \n
+\t\t\t\t\tgfilter.id = elem.id + \'_\' + suffix;\n
+\t\t\t\t\tthis.changeSelectedAttribute(\'filter\', \'url(#\' + gfilter.id + \')\', [elem]);\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Update blur value \n
+\t\t\t\t\tif(cblur) {\n
+\t\t\t\t\t\tthis.changeSelectedAttribute(\'stdDeviation\', cblur, [gfilter.firstChild]);\n
+\t\t\t\t\t\tcanvas.setBlurOffsets(gfilter, cblur);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\tvar chtlist = canvas.getTransformList(elem);\n
+\t\t\t\t\n
+\t\t\t\tif (glist.numberOfItems) {\n
+\t\t\t\t\t// TODO: if the group\'s transform is just a rotate, we can always transfer the\n
+\t\t\t\t\t// rotate() down to the children (collapsing consecutive rotates and factoring\n
+\t\t\t\t\t// out any translates)\n
+\t\t\t\t\tif (gangle && glist.numberOfItems == 1) {\n
+\t\t\t\t\t\t// [Rg] [Rc] [Mc]\n
+\t\t\t\t\t\t// we want [Tr] [Rc2] [Mc] where:\n
+\t\t\t\t\t\t// \t- [Rc2] is at the child\'s current center but has the \n
+\t\t\t\t\t\t//\t  sum of the group and child\'s rotation angles\n
+\t\t\t\t\t\t// \t- [Tr] is the equivalent translation that this child \n
+\t\t\t\t\t\t// \t  undergoes if the group wasn\'t there\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// [Tr] = [Rg] [Rc] [Rc2_inv]\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// get group\'s rotation matrix (Rg)\n
+\t\t\t\t\t\tvar rgm = glist.getItem(0).matrix;\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// get child\'s rotation matrix (Rc)\n
+\t\t\t\t\t\tvar rcm = svgroot.createSVGMatrix();\n
+\t\t\t\t\t\tvar cangle = canvas.getRotationAngle(elem);\n
+\t\t\t\t\t\tif (cangle) {\n
+\t\t\t\t\t\t\trcm = chtlist.getItem(0).matrix;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// get child\'s old center of rotation\n
+\t\t\t\t\t\tvar cbox = canvas.getBBox(elem);\n
+\t\t\t\t\t\tvar ceqm = transformListToTransform(chtlist).matrix;\n
+\t\t\t\t\t\tvar coldc = transformPoint(cbox.x+cbox.width/2, cbox.y+cbox.height/2,ceqm);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// sum group and child\'s angles\n
+\t\t\t\t\t\tvar sangle = gangle + cangle;\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// get child\'s rotation at the old center (Rc2_inv)\n
+\t\t\t\t\t\tvar r2 = svgroot.createSVGTransform();\n
+\t\t\t\t\t\tr2.setRotate(sangle, coldc.x, coldc.y);\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// calculate equivalent translate\n
+\t\t\t\t\t\tvar trm = matrixMultiply(rgm, rcm, r2.matrix.inverse());\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\t// set up tlist\n
+\t\t\t\t\t\tif (cangle) {\n
+\t\t\t\t\t\t\tchtlist.removeItem(0);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\t\n
+\t\t\t\t\t\tif (sangle) {\n
+\t\t\t\t\t\t\tchtlist.insertItemBefore(r2, 0);\n
+\t\t\t\t\t\t}\n
+\n
+\t\t\t\t\t\tif (trm.e || trm.f) {\n
+\t\t\t\t\t\t\tvar tr = svgroot.createSVGTransform();\n
+\t\t\t\t\t\t\ttr.setTranslate(trm.e, trm.f);\n
+\t\t\t\t\t\t\tchtlist.insertItemBefore(tr, 0);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\telse { // more complicated than just a rotate\n
+\t\t\t\t\t\t// transfer the group\'s transform down to each child and then\n
+\t\t\t\t\t\t// call recalculateDimensions()\t\t\t\t\n
+\t\t\t\t\t\tvar oldxform = elem.getAttribute("transform");\n
+\t\t\t\t\t\tvar changes = {};\n
+\t\t\t\t\t\tchanges["transform"] = oldxform ? oldxform : "";\n
+\n
+\t\t\t\t\t\tvar newxform = svgroot.createSVGTransform();\n
+\n
+\t\t\t\t\t\t// [ gm ] [ chm ] = [ chm ] [ gm\' ]\n
+\t\t\t\t\t\t// [ gm\' ] = [ chm_inv ] [ gm ] [ chm ]\n
+\t\t\t\t\t\tvar chm = transformListToTransform(chtlist).matrix,\n
+\t\t\t\t\t\t\tchm_inv = chm.inverse();\n
+\t\t\t\t\t\tvar gm = matrixMultiply( chm_inv, m, chm );\n
+\t\t\t\t\t\tnewxform.setMatrix(gm);\n
+\t\t\t\t\t\tchtlist.appendItem(newxform);\n
+\t\t\t\t\t}\n
+\t\t\t\t\tbatchCmd.addSubCommand(recalculateDimensions(elem));\n
+\t\t\t\t}\n
+\t\t\t}\n
+\n
+\t\t\t\n
+\t\t\t// remove transform and make it undo-able\n
+\t\t\tif (xform) {\n
+\t\t\t\tvar changes = {};\n
+\t\t\t\tchanges["transform"] = xform;\n
+\t\t\t\tg.setAttribute("transform", "");\n
+\t\t\t\tg.removeAttribute("transform");\t\t\t\t\n
+\t\t\t\tbatchCmd.addSubCommand(new ChangeElementCommand(g, changes));\n
+\t\t\t}\n
+\n
+\t\t\t// remove the group from the selection\t\t\t\n
+\t\t\tcanvas.clearSelection();\n
+\t\t\t\n
+\t\t\t// delete the group element (but make undo-able)\n
+\t\t\tg = parent.removeChild(g);\n
+\t\t\tbatchCmd.addSubCommand(new RemoveElementCommand(g, parent));\n
+\n
+\t\t\tif (!batchCmd.isEmpty()) addCommandToHistory(batchCmd);\n
+\t\t\t\n
+\t\t\t// update selection\n
+\t\t\tcanvas.addToSelection(children);\n
+\t\t}\n
+\t};\n
+\n
+\tthis.moveToTopSelectedElement = function() {\n
+\t\tvar selected = selectedElements[0];\n
+\t\tif (selected != null) {\n
+\t\t\tvar t = selected;\n
+\t\t\tvar oldParent = t.parentNode;\n
+\t\t\tvar oldNextSibling = t.nextSibling;\n
+\t\t\tif (oldNextSibling == selectorManager.selectorParentGroup) oldNextSibling = null;\n
+\t\t\tt = t.parentNode.appendChild(t);\n
+\t\t\taddCommandToHistory(new MoveElementCommand(t, oldNextSibling, oldParent, "top"));\n
+\t\t}\n
+\t};\n
+\n
+\tthis.moveToBottomSelectedElement = function() {\n
+\t\tvar selected = selectedElements[0];\n
+\t\tif (selected != null) {\n
+\t\t\tvar t = selected;\n
+\t\t\tvar oldParent = t.parentNode;\n
+\t\t\tvar oldNextSibling = t.nextSibling;\n
+\t\t\tif (oldNextSibling == selectorManager.selectorParentGroup) oldNextSibling = null;\n
+\t\t\tvar firstChild = t.parentNode.firstChild;\n
+\t\t\tif (firstChild.tagName == \'title\') {\n
+\t\t\t\tfirstChild = firstChild.nextSibling;\n
+\t\t\t}\n
+\t\t\t// This can probably be removed, as the defs should not ever apppear\n
+\t\t\t// inside a layer group\n
+\t\t\tif (firstChild.tagName == \'defs\') {\n
+\t\t\t\tfirstChild = firstChild.nextSibling;\n
+\t\t\t}\n
+\t\t\tt = t.parentNode.insertBefore(t, firstChild);\n
+\t\t\taddCommandToHistory(new MoveElementCommand(t, oldNextSibling, oldParent, "bottom"));\n
+\t\t}\n
+\t};\n
+\n
+\tthis.moveSelectedElements = function(dx,dy,undoable) {\n
+\t\t// if undoable is not sent, default to true\n
+\t\t// if single values, scale them to the zoom\n
+\t\tif (dx.constructor != Array) {\n
+\t\t\tdx /= current_zoom;\n
+\t\t\tdy /= current_zoom;\n
+\t\t}\n
+\t\tvar undoable = undoable || true;\n
+\t\tvar batchCmd = new BatchCommand("position");\n
+\t\tvar i = selectedElements.length;\n
+\t\twhile (i--) {\n
+\t\t\tvar selected = selectedElements[i];\n
+\t\t\tif (selected != null) {\n
+\t\t\t\tif (i==0)\n
+\t\t\t\t\tselectedBBoxes[i] = this.getBBox(selected);\n
+\t\t\t\t\n
+\t\t\t\tvar xform = svgroot.createSVGTransform();\n
+\t\t\t\tvar tlist = canvas.getTransformList(selected);\n
+\t\t\t\t\n
+\t\t\t\t// dx and dy could be arrays\n
+\t\t\t\tif (dx.constructor == Array) {\n
+\t\t\t\t\tif (i==0) {\n
+\t\t\t\t\t\tselectedBBoxes[i].x += dx[i];\n
+\t\t\t\t\t\tselectedBBoxes[i].y += dy[i];\n
+\t\t\t\t\t}\n
+\t\t\t\t\txform.setTranslate(dx[i],dy[i]);\n
+\t\t\t\t} else {\n
+\t\t\t\t\tif (i==0) {\n
+\t\t\t\t\t\tselectedBBoxes[i].x += dx;\n
+\t\t\t\t\t\tselectedBBoxes[i].y += dy;\n
+\t\t\t\t\t}\n
+\t\t\t\t\txform.setTranslate(dx,dy);\n
+\t\t\t\t}\n
+\t\t\t\t\n
+\t\t\t\ttlist.insertItemBefore(xform, 0);\n
+\t\t\t\t\n
+\t\t\t\tvar cmd = recalculateDimensions(selected);\n
+\t\t\t\tif (cmd) {\n
+\t\t\t\t\tbatchCmd.addSubCommand(cmd);\n
+\t\t\t\t}\n
+\t\t\t\tselectorManager.requestSelector(selected).resize();\n
+\t\t\t}\n
+\t\t}\n
+\t\tif (!batchCmd.isEmpty()) {\n
+\t\t\tif (undoable)\n
+\t\t\t\taddCommandToHistory(batchCmd);\n
+\t\t\tcall("changed", selectedElements);\n
+\t\t\treturn batchCmd;\n
+\t\t}\n
+\t};\n
+\n
+\tvar getPathBBox = function(path) {\n
+\t\t// Get correct BBox for a path in Webkit\n
+\t\n
+\t\t// Converted from code found here:\n
+\t\t// http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html\n
+\t\n
+\t\tvar seglist = path.pathSegList;\n
+\t\tvar tot = seglist.numberOfItems;\n
+\t\t\n
+\t\tvar bounds = [[], []];\n
+\t\tvar start = seglist.getItem(0);\n
+\t\tvar P0 = [start.x, start.y];\n
+\t\t\n
+\t\tfor(var i=0; i < tot; i++) {\n
+\t\t\tvar seg = seglist.getItem(i);\n
+\t\t\tif(!seg.x) continue;\n
+\t\t\t\n
+\t\t\t// Add actual points to limits\n
+\t\t\tbounds[0].push(P0[0]);\n
+\t\t\tbounds[1].push(P0[1]);\n
+\t\t\t\n
+\t\t\tif(seg.x1) {\n
+\t\t\t\tvar P1 = [seg.x1, seg.y1],\n
+\t\t\t\t\tP2 = [seg.x2, seg.y2],\n
+\t\t\t\t\tP3 = [seg.x, seg.y];\n
+\n
+\t\t\t\tfor(var j=0; j < 2; j++) {\n
+\n
+\t\t\t\t\tvar calc = function(t) {\n
+\t\t\t\t\t\treturn Math.pow(1-t,3) * P0[j] \n
+\t\t\t\t\t\t\t+ 3 * Math.pow(1-t,2) * t * P1[j]\n
+\t\t\t\t\t\t\t+ 3 * (1-t) * Math.pow(t,2) * P2[j]\n
+\t\t\t\t\t\t\t+ Math.pow(t,3) * P3[j];\n
+\t\t\t\t\t};\n
+\n
+\t\t\t\t\tvar b = 6 * P0[j] - 12 * P1[j] + 6 * P2[j];\n
+\t\t\t\t\tvar a = -3 * P0[j] + 9 * P1[j] - 9 * P2[j] + 3 * P3[j];\n
+\t\t\t\t\tvar c = 3 * P1[j] - 3 * P0[j];\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(a == 0) {\n
+\t\t\t\t\t\tif(b == 0) {\n
+\t\t\t\t\t\t\tcontinue;\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tvar t = -c / b;\n
+\t\t\t\t\t\tif(0 < t && t < 1) {\n
+\t\t\t\t\t\t\tbounds[j].push(calc(t));\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t\tcontinue;\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar b2ac = Math.pow(b,2) - 4 * c * a;\n
+\t\t\t\t\tif(b2ac < 0) continue;\n
+\t\t\t\t\tvar t1 = (-b + Math.sqrt(b2ac))/(2 * a);\n
+\t\t\t\t\tif(0 < t1 && t1 < 1) bounds[j].push(calc(t1));\n
+\t\t\t\t\tvar t2 = (-b - Math.sqrt(b2ac))/(2 * a);\n
+\t\t\t\t\tif(0 < t2 && t2 < 1) bounds[j].push(calc(t2));\n
+\t\t\t\t}\n
+\t\t\t\tP0 = P3;\n
+\t\t\t} else {\n
+\t\t\t\tbounds[0].push(seg.x);\n
+\t\t\t\tbounds[1].push(seg.y);\n
+\t\t\t}\n
+\t\t}\n
+\t\t\n
+\t\tvar x = Math.min.apply(null, bounds[0]);\n
+\t\tvar w = Math.max.apply(null, bounds[0]) - x;\n
+\t\tvar y = Math.min.apply(null, bounds[1]);\n
+\t\tvar h = Math.max.apply(null, bounds[1]) - y;\n
+\t\treturn {\n
+\t\t\t\'x\': x,\n
+\t\t\t\'y\': y,\n
+\t\t\t\'width\': w,\n
+\t\t\t\'height\': h\n
+\t\t};\n
+\t}\n
+\t\n
+\tthis.contentW = this.getResolution().w;\n
+\tthis.contentH = this.getResolution().h;\n
+\t\n
+\tthis.updateCanvas = function(w, h, w_orig, h_orig) {\n
+\t\tsvgroot.setAttribute("width", w);\n
+\t\tsvgroot.setAttribute("height", h);\n
+\t\tvar bg = $(\'#canvasBackground\')[0];\n
+\t\tvar old_x = svgcontent.getAttribute(\'x\');\n
+\t\tvar old_y = svgcontent.getAttribute(\'y\');\n
+\t\tvar x = (w/2 - this.contentW*current_zoom/2);\n
+\t\tvar y = (h/2 - this.contentH*current_zoom/2);\n
+\t\n
+\t\tassignAttributes(svgcontent, {\n
+\t\t\twidth: this.contentW*current_zoom,\n
+\t\t\theight: this.contentH*current_zoom,\n
+\t\t\t\'x\': x,\n
+\t\t\t\'y\': y,\n
+\t\t\t"viewBox" : "0 0 " + this.contentW + " " + this.contentH\n
+\t\t});\n
+\t\t\n
+\t\tassignAttributes(bg, {\n
+\t\t\twidth: svgcontent.getAttribute(\'width\'),\n
+\t\t\theight: svgcontent.getAttribute(\'height\'),\n
+\t\t\tx: x,\n
+\t\t\ty: y\n
+\t\t});\n
+\t\t\n
+\t\tselectorManager.selectorParentGroup.setAttribute("transform","translate(" + x + "," + y + ")");\n
+\t\t\n
+\t\treturn {x:x, y:y, old_x:old_x, old_y:old_y, d_x:x - old_x, d_y:y - old_y};\n
+\t}\n
+\n
+\tthis.getStrokedBBox = function(elems) {\n
+\t\tif(!elems) elems = canvas.getVisibleElements();\n
+\t\tif(!elems.length) return false;\n
+\t\t// Make sure the expected BBox is returned if the element is a group\n
+\t\tvar getCheckedBBox = function(elem) {\n
+\t\t\n
+\t\t\ttry {\n
+\t\t\t\t// TODO: Fix issue with rotated groups. Currently they work\n
+\t\t\t\t// fine in FF, but not in other browsers (same problem mentioned\n
+\t\t\t\t// in Issue 339 comment #2).\n
+\t\t\t\t\n
+\t\t\t\tvar bb = canvas.getBBox(elem);\n
+\t\t\t\t\n
+\t\t\t\tvar angle = canvas.getRotationAngle(elem);\n
+\t\t\t\tif ((angle && angle % 90) || hasMatrixTransform(canvas.getTransformList(elem))) {\n
+\t\t\t\t\t// Accurate way to get BBox of rotated element in Firefox:\n
+\t\t\t\t\t// Put element in group and get its BBox\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar good_bb = false;\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Get the BBox from the raw path for these elements\n
+\t\t\t\t\tvar elemNames = [\'ellipse\',\'path\',\'line\',\'polyline\',\'polygon\'];\n
+\t\t\t\t\tif($.inArray(elem.tagName, elemNames) != -1) {\n
+\t\t\t\t\t\tbb = good_bb = canvas.convertToPath(elem, true, angle);\n
+\t\t\t\t\t} else if(elem.tagName == \'rect\') {\n
+\t\t\t\t\t\t// Look for radius\n
+\t\t\t\t\t\tvar rx = elem.getAttribute(\'rx\');\n
+\t\t\t\t\t\tvar ry = elem.getAttribute(\'ry\');\n
+\t\t\t\t\t\tif(rx || ry) {\n
+\t\t\t\t\t\t\tbb = good_bb = canvas.convertToPath(elem, true, angle);\n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\tif(!good_bb) {\n
+\t\t\t\t\t\tvar g = document.createElementNS(svgns, "g");\n
+\t\t\t\t\t\tvar parent = elem.parentNode;\n
+\t\t\t\t\t\tparent.replaceChild(g, elem);\n
+\t\t\t\t\t\tg.appendChild(elem);\n
+\t\t\t\t\t\tbb = g.getBBox();\n
+\t\t\t\t\t\tparent.insertBefore(elem,g);\n
+\t\t\t\t\t\tparent.removeChild(g);\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\n
+\t\t\t\t\t// Old method: Works by giving the rotated BBox,\n
+\t\t\t\t\t// this is (unfortunately) what Opera and Safari do\n
+\t\t\t\t\t// natively when getting the BBox of the parent group\n
+// \t\t\t\t\t\tvar angle = angle * Math.PI / 180.0;\n
+// \t\t\t\t\t\tvar rminx = Number.MAX_VALUE, rminy = Number.MAX_VALUE, \n
+// \t\t\t\t\t\t\trmaxx = Number.MIN_VALUE, rmaxy = Number.MIN_VALUE;\n
+// \t\t\t\t\t\tvar cx = round(bb.x + bb.width/2),\n
+// \t\t\t\t\t\t\tcy = round(bb.y + bb.height/2);\n
+// \t\t\t\t\t\tvar pts = [ [bb.x - cx, bb.y - cy], \n
+// \t\t\t\t\t\t\t\t\t[bb.x + bb.width - cx, bb.y - cy],\n
+// \t\t\t\t\t\t\t\t\t[bb.x + bb.width - cx, bb.y + bb.height - cy],\n
+// \t\t\t\t\t\t\t\t\t[bb.x - cx, bb.y + bb.height - cy] ];\n
+// \t\t\t\t\t\tvar j = 4;\n
+// \t\t\t\t\t\twhile (j--) {\n
+// \t\t\t\t\t\t\tvar x = pts[j][0],\n
+// \t\t\t\t\t\t\t\ty = pts[j][1],\n
+// \t\t\t\t\t\t\t\tr = Math.sqrt( x*x + y*y );\n
+// \t\t\t\t\t\t\tvar theta = Math.atan2(y,x) + angle;\n
+// \t\t\t\t\t\t\tx = round(r * Math.cos(theta) + cx);\n
+// \t\t\t\t\t\t\ty = round(r * Math.sin(theta) + cy);\n
+// \t\t\n
+// \t\t\t\t\t\t\t// now set the bbox for the shape after it\'s been rotated\n
+// \t\t\t\t\t\t\tif (x < rminx) rminx = x;\n
+// \t\t\t\t\t\t\tif (y < rminy) rminy = y;\n
+// \t\t\t\t\t\t\tif (x > rmaxx) rmaxx = x;\n
+// \t\t\t\t\t\t\tif (y > rmaxy) rmaxy = y;\n
+// \t\t\t\t\t\t}\n
+// \t\t\t\t\t\t\n
+// \t\t\t\t\t\tbb.x = rminx;\n
+// \t\t\t\t\t\tbb.y = rminy;\n
+// \t\t\t\t\t\tbb.width = rmaxx - rminx;\n
+// \t\t\t\t\t\tbb.height = rmaxy - rminy;\n
+\t\t\t\t}\n
+\t\t\t\n
+\t\t\t\treturn bb;\n
+\t\t\t} catch(e) { \n
+\t\t\t\tconsole.log(elem, e);\n
+\t\t\t\treturn null;\n
+\t\t\t} \n
+\n
+\t\t}\n
+\t\tvar full_bb;\n
+\t\t$.each(elems, function() {\n
+\t\t\tif(full_bb) return;\n
+\t\t\tif(!this.parentNode) return;\n
+\t\t\tfull_bb = getCheckedBBox(this);\n
+\t\t});\n
+\t\t\n
+\t\t// This shouldn\'t ever happen...\n
+\t\tif(full_bb == null) return null;\n
+\t\t\n
+\t\t// full_bb doesn\'t include the stoke, so this does no good!\n
+// \t\tif(elems.length == 1) return full_bb;\n
+\t\t\n
+\t\tvar max_x = full_bb.x + full_bb.width;\n
+\t\tvar max_y = full_bb.y + full_bb.height;\n
+\t\tvar min_x = full_bb.x;\n
+\t\tvar min_y = full_bb.y;\n
+\t\t\n
+\t\t// FIXME: same re-creation problem with this function as getCheckedBBox() above\n
+\t\tvar getOffset = function(elem) {\n
+\t\t\tvar sw = elem.getAttribute("stroke-width");\n
+\t\t\tvar offset = 0;\n
+\t\t\tif (elem.getAttribute("stroke") != "none" && !isNaN(sw)) {\n
+\t\t\t\toffset += sw/2;\n
+\t\t\t}\n
+\t\t\treturn offset;\n
+\t\t}\n
+\t\tvar bboxes = [];\n
+\t\t$.each(elems, function(i, elem) {\n
+\t\t\tvar cur_bb = getCheckedBBox(elem);\n
+\t\t\tif(cur_bb) {\n
+\t\t\t\tvar offset = getOffset(elem);\n
+\t\t\t\tmin_x = Math.min(min_x, cur_bb.x - offset);\n
+\t\t\t\tmin_y = Math.min(min_y, cur_bb.y - offset);\n
+\t\t\t\tbboxes.push(cur_bb);\n
+\t\t\t}\n
+\t\t});\n
+\t\t\n
+\t\tfull_bb.x = min_x;\n
+\t\tfull_bb.y = min_y;\n
+\t\t\n
+\t\t$.each(elems, function(i, elem) {\n
+\t\t\tvar cur_bb = bboxes[i];\n
+\t\t\t// ensure that elem is really an element node\n
+\t\t\tif (cur_bb && elem.nodeType == 1) {\n
+\t\t\t\tvar offset = getOffset(elem);\n
+\t\t\t\tmax_x = Math.max(max_x, cur_bb.x + cur_bb.width + offset);\n
+\t\t\t\tmax_y = Math.max(max_y, cur_bb.y + cur_bb.height + offset);\n
+\t\t\t}\n
+\t\t});\n
+\t\t\n
+\t\tfull_bb.width = max_x - min_x;\n
+\t\tfull_bb.height = max_y - min_y;\n
+\t\treturn full_bb;\n
+\t}\n
+\n
+\tthis.getVisibleElements = function(parent, includeBBox) {\n
+\t\tif(!parent) parent = $(svgcontent).children(); // Prevent layers from being included\n
+\t\t\n
+\t\tvar contentElems = [];\n
+\t\t$(parent).children().each(function(i, elem) {\n
+\t\t\ttry {\n
+\t\t\t\tvar box = elem.getBBox();\n
+\t\t\t\tif (box) {\n
+\t\t\t\t\tvar item = includeBBox?{\'elem\':elem, \'bbox\':canvas.getStrokedBBox([elem])}:elem;\n
+\t\t\t\t\tcontentElems.push(item);\n
+\t\t\t\t}\n
+\t\t\t} catch(e) {}\n
+\t\t});\n
+\t\treturn contentElems.reverse();\n
+\t}\n
+\t\n
+\tthis.cycleElement = function(next) {\n
+\t\tvar cur_elem = selectedElements[0];\n
+\t\tvar elem = false;\n
+\t\tvar all_elems = this.getVisibleElements(current_layer);\n
+\t\tif (cur_elem == null) {\n
+\t\t\tvar num = next?all_elems.length-1:0;\n
+\t\t\telem = all_elems[num];\n
+\t\t} else {\n
+\t\t\tvar i = all_elems.length;\n
+\t\t\twhile(i--) {\n
+\t\t\t\tif(all_elems[i] == cur_elem) {\n
+\t\t\t\t\tvar num = next?i-1:i+1;\n
+\t\t\t\t\tif(num >= all_elems.length) {\n
+\t\t\t\t\t\tnum = 0;\n
+\t\t\t\t\t} else if(num < 0) {\n
+\t\t\t\t\t\tnum = all_elems.length-1;\n
+\t\t\t\t\t} \n
+\t\t\t\t\telem = all_elems[num];\n
+\t\t\t\t\tbreak;\n
+\t\t\t\t} \n
+\t\t\t}\n
+\t\t}\t\t\n
+\t\tcanvas.clearSelection();\n
+\t\tcanvas.addToSelection([elem], true);\n
+\t\tcall("selected", selectedElements);\n
+\t}\n
+\n
+\tvar resetUndoStack = function() {\n
+\t\tundoStack = [];\n
+\t\tundoStackPointer = 0;\n
+\t};\n
+\n
+\tthis.getUndoStackSize = function() { return undoStackPointer; };\n
+\tthis.getRedoStackSize = function() { return undoStack.length - undoStackPointer; };\n
+\n
+\tthis.getNextUndoCommandText = function() { \n
+\t\tif (undoStackPointer > 0) \n
+\t\t\treturn undoStack[undoStackPointer-1].text;\n
+\t\treturn "";\n
+\t};\n
+\tthis.getNextRedoCommandText = function() { \n
+\t\tif (undoStackPointer < undoStack.length) \n
+\t\t\treturn undoStack[undoStackPointer].text;\n
+\t\treturn "";\n
+\t};\n
+\n
+\tthis.undo = function() {\n
+\t\tif (undoStackPointer > 0) {\n
+\t\t\tthis.clearSelection();\n
+\t\t\tvar cmd = undoStack[--undoStackPointer];\n
+\t\t\tcmd.unapply();\n
+\t\t\tpathActions.clear();\n
+\t\t\tcall("changed", cmd.elements());\n
+\t\t}\n
+\t};\n
+\tthis.redo = function() {\n
+\t\tif (undoStackPointer < undoStack.length && undoStack.length > 0) {\n
+\t\t\tthis.clearSelection();\n
+\t\t\tvar cmd = undoStack[undoStackPointer++];\n
+\t\t\tcmd.apply();\n
+\t\t\tpathActions.clear();\n
+\t\t\tcall("changed", cmd.elements());\n
+\t\t}\n
+\t};\n
+\n
+\t// this function no longer uses cloneNode because we need to update the id\n
+\t// of every copied element (even the descendants)\n
+\t// we also do it manually because Opera/Win/non-EN puts , instead of .\n
+\tvar copyElem = function(el) {\n
+\t\t// manually create a copy of the element\n
+\t\tvar new_el = document.createElementNS(el.namespaceURI, el.nodeName);\n
+\t\t$.each(el.attributes, function(i, attr) {\n
+\t\t\tif (attr.localName != \'-moz-math-font-style\') {\n
+\t\t\t\tnew_el.setAttributeNS(attr.namespaceURI, attr.nodeName, attr.nodeValue);\n
+\t\t\t}\n
+\t\t});\n
+\t\t// set the copied element\'s new id\n
+\t\tnew_el.removeAttribute("id");\n
+\t\tnew_el.id = getNextId();\n
+\t\t// manually increment obj_num because our cloned elements are not in the DOM yet\n
+\t\tobj_num++; \n
+\t\t\n
+\t\t// Opera\'s "d" value needs to be reset for Opera/Win/non-EN\n
+\t\t// Also needed for webkit (else does not keep curved segments on clone)\n
+\t\tif((isWebkit || !support.goodDecimals) && el.nodeName == \'path\') {\n
+\t\t\tvar fixed_d = pathActions.convertPath(el);\n
+\t\t\tnew_el.setAttribute(\'d\', fixed_d);\n
+\t\t}\n
+\n
+\t\t// now create copies of all children\n
+\t\t$.each(el.childNodes, function(i, child) {\n
+\t\t\tswitch(child.nodeType) {\n
+\t\t\t\tcase 1: // element node\n
+\t\t\t\t\tnew_el.appendChild(copyElem(child));\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase 3: // text node\n
+\t\t\t\t\tnew_el.textContent = child.nodeValue;\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tdefault:\n
+\t\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t});\n
+\t\tif(new_el.tagName == \'image\') {\n
+\t\t\tpreventClickDefault(new_el);\n
+\t\t}\n
+\t\treturn new_el;\n
+\t};\n
+\t\n
+\tvar preventClickDefault = function(img) {\n
+     \t$(img).click(function(e){e.preventDefault()});\n
+\t}\n
+\t\n
+\t// this creates deep DOM copies (clones) of all selected elements\n
+\tthis.cloneSelectedElements = function() {\n
+\t\tvar batchCmd = new BatchCommand("Clone Elements");\n
+\t\t// find all the elements selected (stop at first null)\n
+\t\tvar len = selectedElements.length;\n
+\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\tvar elem = selectedElements[i];\n
+\t\t\tif (elem == null) break;\n
+\t\t}\n
+\t\t// use slice to quickly get the subset of elements we need\n
+\t\tvar copiedElements = selectedElements.slice(0,i);\n
+\t\tthis.clearSelection();\n
+\t\t// note that we loop in the reverse way because of the way elements are added\n
+\t\t// to the selectedElements array (top-first)\n
+\t\tvar i = copiedElements.length;\n
+\t\twhile (i--) {\n
+\t\t\t// clone each element and replace it within copiedElements\n
+\t\t\tvar elem = copiedElements[i] = copyElem(copiedElements[i]);\n
+\t\t\tcurrent_layer.appendChild(elem);\n
+\t\t\tbatchCmd.addSubCommand(new InsertElementCommand(elem));\n
+\t\t}\n
+\t\t\n
+\t\tif (!batchCmd.isEmpty()) {\n
+\t\t\tthis.addToSelection(copiedElements.reverse()); // Need to reverse for correct selection-adding\n
+\t\t\tthis.moveSelectedElements(20,20,false);\n
+\t\t\taddCommandToHistory(batchCmd);\n
+\t\t\tcall("selected", selectedElements);\n
+\t\t}\n
+\t};\n
+\n
+\tthis.setBackground = function(color, url) {\n
+\t\tvar bg =  getElem(\'canvasBackground\');\n
+\t\tvar border = $(bg).find(\'rect\')[0];\n
+\t\tvar bg_img = getElem(\'background_image\');\n
+\t\tborder.setAttribute(\'fill\',color);\n
+\t\tif(url) {\n
+\t\t\tif(!bg_img) {\n
+\t\t\t\tbg_img = svgdoc.createElementNS(svgns, "image");\n
+\t\t\t\tassignAttributes(bg_img, {\n
+\t\t\t\t\t\'id\': \'background_image\',\n
+\t\t\t\t\t\'width\': \'100%\',\n
+\t\t\t\t\t\'height\': \'100%\',\n
+\t\t\t\t\t\'preserveAspectRatio\': \'xMinYMin\',\n
+\t\t\t\t\t\'style\':\'pointer-events:none\'\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\tbg_img.setAttributeNS(xlinkns, "xlink:href", url);\n
+\t\t\tbg.appendChild(bg_img);\n
+\t\t} else if(bg_img) {\n
+\t\t\tbg_img.parentNode.removeChild(bg_img);\n
+\t\t}\n
+\t}\n
+\n
+\t// aligns selected elements (type is a char - see switch below for explanation)\n
+\t// relative_to can be "selected", "largest", "smallest", "page"\n
+\tthis.alignSelectedElements = function(type, relative_to) {\n
+\t\tvar bboxes = [], angles = [];\n
+\t\tvar minx = Number.MAX_VALUE, maxx = Number.MIN_VALUE, miny = Number.MAX_VALUE, maxy = Number.MIN_VALUE;\n
+\t\tvar curwidth = Number.MIN_VALUE, curheight = Number.MIN_VALUE;\n
+\t\tvar len = selectedElements.length;\n
+\t\tif (!len) return;\n
+\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\tif (selectedElements[i] == null) break;\n
+\t\t\tvar elem = selectedElements[i];\n
+\t\t\tbboxes[i] = canvas.getStrokedBBox([elem]);\n
+\t\t\t\n
+\t\t\t// now bbox is axis-aligned and handles rotation\n
+\t\t\tswitch (relative_to) {\n
+\t\t\t\tcase \'smallest\':\n
+\t\t\t\t\tif ( (type == \'l\' || type == \'c\' || type == \'r\') && (curwidth == Number.MIN_VALUE || curwidth > bboxes[i].width) ||\n
+\t\t\t\t\t     (type == \'t\' || type == \'m\' || type == \'b\') && (curheight == Number.MIN_VALUE || curheight > bboxes[i].height) ) {\n
+\t\t\t\t\t\tminx = bboxes[i].x;\n
+\t\t\t\t\t\tminy = bboxes[i].y;\n
+\t\t\t\t\t\tmaxx = bboxes[i].x + bboxes[i].width;\n
+\t\t\t\t\t\tmaxy = bboxes[i].y + bboxes[i].height;\n
+\t\t\t\t\t\tcurwidth = bboxes[i].width;\n
+\t\t\t\t\t\tcurheight = bboxes[i].height;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase \'largest\':\n
+\t\t\t\t\tif ( (type == \'l\' || type == \'c\' || type == \'r\') && (curwidth == Number.MIN_VALUE || curwidth < bboxes[i].width) ||\n
+\t\t\t\t\t     (type == \'t\' || type == \'m\' || type == \'b\') && (curheight == Number.MIN_VALUE || curheight < bboxes[i].height) ) {\n
+\t\t\t\t\t\tminx = bboxes[i].x;\n
+\t\t\t\t\t\tminy = bboxes[i].y;\n
+\t\t\t\t\t\tmaxx = bboxes[i].x + bboxes[i].width;\n
+\t\t\t\t\t\tmaxy = bboxes[i].y + bboxes[i].height;\n
+\t\t\t\t\t\tcurwidth = bboxes[i].width;\n
+\t\t\t\t\t\tcurheight = bboxes[i].height;\n
+\t\t\t\t\t}\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tdefault: // \'selected\'\n
+\t\t\t\t\tif (bboxes[i].x < minx) minx = bboxes[i].x;\n
+\t\t\t\t\tif (bboxes[i].y < miny) miny = bboxes[i].y;\n
+\t\t\t\t\tif (bboxes[i].x + bboxes[i].width > maxx) maxx = bboxes[i].x + bboxes[i].width;\n
+\t\t\t\t\tif (bboxes[i].y + bboxes[i].height > maxy) maxy = bboxes[i].y + bboxes[i].height;\n
+\t\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t} // loop for each element to find the bbox and adjust min/max\n
+\n
+\t\tif (relative_to == \'page\') {\n
+\t\t\tminx = 0;\n
+\t\t\tminy = 0;\n
+\t\t\tmaxx = canvas.contentW;\n
+\t\t\tmaxy = canvas.contentH;\n
+\t\t}\n
+\n
+\t\tvar dx = new Array(len);\n
+\t\tvar dy = new Array(len);\n
+\t\tfor (var i = 0; i < len; ++i) {\n
+\t\t\tif (selectedElements[i] == null) break;\n
+\t\t\tvar elem = selectedElements[i];\n
+\t\t\tvar bbox = bboxes[i];\n
+\t\t\tdx[i] = 0;\n
+\t\t\tdy[i] = 0;\n
+\t\t\tswitch (type) {\n
+\t\t\t\tcase \'l\': // left (horizontal)\n
+\t\t\t\t\tdx[i] = minx - bbox.x;\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase \'c\': // center (horizontal)\n
+\t\t\t\t\tdx[i] = (minx+maxx)/2 - (bbox.x + bbox.width/2);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase \'r\': // right (horizontal)\n
+\t\t\t\t\tdx[i] = maxx - (bbox.x + bbox.width);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase \'t\': // top (vertical)\n
+\t\t\t\t\tdy[i] = miny - bbox.y;\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase \'m\': // middle (vertical)\n
+\t\t\t\t\tdy[i] = (miny+maxy)/2 - (bbox.y + bbox.height/2);\n
+\t\t\t\t\tbreak;\n
+\t\t\t\tcase \'b\': // bottom (vertical)\n
+\t\t\t\t\tdy[i] = maxy - (bbox.y + bbox.height);\n
+\t\t\t\t\tbreak;\n
+\t\t\t}\n
+\t\t}\n
+\t\tthis.moveSelectedElements(dx,dy);\n
+\t};\n
+\tthis.getZoom = function(){return current_zoom;};\n
+\t\n
+\t// Function: getVersion\n
+\t// Returns a string which describes the revision number of SvgCanvas.\n
+\tthis.getVersion = function() {\n
+\t\treturn "svgcanvas.js ($Rev: 1600 $)";\n
+\t};\n
+\t\n
+\tthis.setUiStrings = function(strs) {\n
+\t\t$.extend(uiStrings, strs);\n
+\t}\n
+\n
+\tthis.setConfig = function(opts) {\n
+\t\t$.extend(curConfig, opts);\n
+\t}\n
+\t\n
+\tthis.clear();\n
+\n
+\tfunction getElem(id) {\n
+\t\tif(svgroot.querySelector) {\n
+\t\t\t// querySelector lookup\n
+\t\t\treturn svgroot.querySelector(\'#\'+id);\n
+\t\t} else if(svgdoc.evaluate) {\n
+\t\t\t// xpath lookup\n
+\t\t\treturn svgdoc.evaluate(\'svg:svg[@id="svgroot"]//svg:*[@id="\'+id+\'"]\', container, function() { return "http://www.w3.org/2000/svg"; }, 9, null).singleNodeValue;\n
+\t\t} else {\n
+\t\t\t// jQuery lookup: twice as slow as xpath in FF\n
+\t\t\treturn $(svgroot).find(\'[id=\' + id + \']\')[0];\n
+\t\t}\n
+\t\t\n
+\t\t// getElementById lookup: includes icons, not good\n
+\t\t// return svgdoc.getElementById(id);\n
+\t}\n
+\t\n
+\t// Being able to access private methods publicly seems wrong somehow,\n
+\t// but currently appears to be the best way to allow testing and provide\n
+\t// access to them to plugins.\n
+\tthis.getPrivateMethods = function() {\n
+\t\treturn {\n
+\t\t\taddCommandToHistory: addCommandToHistory,\n
+\t\t\taddGradient: addGradient,\n
+\t\t\taddSvgElementFromJson: addSvgElementFromJson,\n
+\t\t\tassignAttributes: assignAttributes,\n
+\t\t\tBatchCommand: BatchCommand,\n
+\t\t\tcall: call,\n
+\t\t\tChangeElementCommand: ChangeElementCommand,\n
+\t\t\tcleanupElement: cleanupElement,\n
+\t\t\tcopyElem: copyElem,\n
+\t\t\tffClone: ffClone,\n
+\t\t\tfindDefs: findDefs,\n
+\t\t\tfindDuplicateGradient: findDuplicateGradient,\n
+\t\t\tfromXml: fromXml,\n
+\t\t\tgetElem: getElem,\n
+\t\t\tgetId: getId,\n
+\t\t\tgetIntersectionList: getIntersectionList,\n
+\t\t\tgetMouseTarget: getMouseTarget,\n
+\t\t\tgetNextId: getNextId,\n
+\t\t\tgetPathBBox: getPathBBox,\n
+\t\t\tgetUrlFromAttr: getUrlFromAttr,\n
+\t\t\thasMatrixTransform: hasMatrixTransform,\n
+\t\t\tidentifyLayers: identifyLayers,\n
+\t\t\tInsertElementCommand: InsertElementCommand,\n
+\t\t\tisIdentity: isIdentity,\n
+\t\t\tlogMatrix: logMatrix,\n
+\t\t\tmatrixMultiply: matrixMultiply,\n
+\t\t\tMoveElementCommand: MoveElementCommand,\n
+\t\t\tpreventClickDefault: preventClickDefault,\n
+\t\t\trecalculateAllSelectedDimensions: recalculateAllSelectedDimensions,\n
+\t\t\trecalculateDimensions: recalculateDimensions,\n
+\t\t\tremapElement: remapElement,\n
+\t\t\tRemoveElementCommand: RemoveElementCommand,\n
+\t\t\tremoveUnusedDefElems: removeUnusedDefElems,\n
+\t\t\tresetUndoStack: resetUndoStack,\n
+\t\t\tround: round,\n
+\t\t\trunExtensions: runExtensions,\n
+\t\t\tsanitizeSvg: sanitizeSvg,\n
+\t\t\tSelector: Selector,\n
+\t\t\tSelectorManager: SelectorManager,\n
+\t\t\tshortFloat: shortFloat,\n
+\t\t\tsvgCanvasToString: svgCanvasToString,\n
+\t\t\tSVGEditTransformList: SVGEditTransformList,\n
+\t\t\tsvgToString: svgToString,\n
+\t\t\ttoString: toString,\n
+\t\t\ttoXml: toXml,\n
+\t\t\ttransformBox: transformBox,\n
+\t\t\ttransformListToTransform: transformListToTransform,\n
+\t\t\ttransformPoint: transformPoint,\n
+\t\t\ttransformToObj: transformToObj,\n
+\t\t\twalkTree: walkTree\n
+\t\t}\n
+\t}\n
+\t\n
+\tthis.addExtension = function(name, ext_func) {\n
+\t\tif(!(name in extensions)) {\n
+\t\t\t// Provide private vars/funcs here. Is there a better way to do this?\n
+\t\t\tvar ext = ext_func($.extend(canvas.getPrivateMethods(), {\n
+\t\t\t\tsvgroot: svgroot,\n
+\t\t\t\tsvgcontent: svgcontent,\n
+\t\t\t\tnonce: nonce,\n
+\t\t\t\tselectorManager: selectorManager\n
+\t\t\t}));\n
+\t\t\textensions[name] = ext;\n
+\t\t\tcall("extension_added", ext);\n
+\t\t} else {\n
+\t\t\tconsole.log(\'Cannot add extension "\' + name + \'", an extension by that name already exists"\');\n
+\t\t}\n
+\t};\n
+\t\n
+\t// Test support for features/bugs\n
+\t(function() {\n
+\t\t// segList functions (for FF1.5 and 2.0)\n
+\t\tvar path = document.createElementNS(svgns,\'path\');\n
+\t\tpath.setAttribute(\'d\',\'M0,0 10,10\');\n
+\t\tvar seglist = path.pathSegList;\n
+\t\tvar seg = path.createSVGPathSegLinetoAbs(5,5);\n
+\t\ttry {\n
+\t\t\tseglist.replaceItem(seg, 0);\n
+\t\t\tsupport.pathReplaceItem = true;\n
+\t\t} catch(err) {\n
+\t\t\tsupport.pathReplaceItem = false;\n
+\t\t}\n
+\t\t\n
+\t\ttry {\n
+\t\t\tseglist.insertItemBefore(seg, 0);\n
+\t\t\tsupport.pathInsertItemBefore = true;\n
+\t\t} catch(err) {\n
+\t\t\tsupport.pathInsertItemBefore = false;\n
+\t\t}\n
+\t\t\n
+\t\t// TODO: Find better way to check support for this\n
+\t\tsupport.editableText = isOpera;\n
+\t\t\n
+\t\t// Correct decimals on clone attributes (Opera/win/non-en)\n
+\t\tvar rect = document.createElementNS(svgns,\'rect\');\n
+\t\trect.setAttribute(\'x\',.1);\n
+\t\tvar crect = rect.cloneNode(false);\n
+\t\tsupport.goodDecimals = (crect.getAttribute(\'x\').indexOf(\',\') == -1);\n
+\t\t\n
+\t\t// Get correct em/ex values\n
+\t\tvar rect = document.createElementNS(svgns,\'rect\');\n
+\t\trect.setAttribute(\'width\',"1em");\n
+\t\trect.setAttribute(\'height\',"1ex");\n
+\t\tsvgcontent.appendChild(rect);\n
+\t\tvar bb = rect.getBBox();\n
+\t\tunit_types.em = bb.width;\n
+\t\tunit_types.ex = bb.height;\n
+\t\tsvgcontent.removeChild(rect);\n
+\t}());\n
+}\n
+// Static class for various utility functions\n
+\n
+var Utils = {\n
+\n
+// This code was written by Tyler Akins and has been placed in the\n
+// public domain.  It would be nice if you left this header intact.\n
+// Base64 code from Tyler Akins -- http://rumkin.com\n
+\n
+// schiller: Removed string concatenation in favour of Array.join() optimization,\n
+//           also precalculate the size of the array needed.\n
+\n
+\t"_keyStr" : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",\n
+\n
+\t"encode64" : function(input) {\n
+\t\t// base64 strings are 4/3 larger than the original string\n
+//\t\tinput = Utils.encodeUTF8(input); // convert non-ASCII characters\n
+\t\tinput = Utils.convertToXMLReferences(input);\n
+\t\tif(window.btoa) return window.btoa(input); // Use native if available\n
+\t\tvar output = new Array( Math.floor( (input.length + 2) / 3 ) * 4 );\n
+\t\tvar chr1, chr2, chr3;\n
+\t\tvar enc1, enc2, enc3, enc4;\n
+\t\tvar i = 0, p = 0;\n
+\n
+\t\tdo {\n
+\t\t\tchr1 = input.charCodeAt(i++);\n
+\t\t\tchr2 = input.charCodeAt(i++);\n
+\t\t\tchr3 = input.charCodeAt(i++);\n
+\n
+\t\t\tenc1 = chr1 >> 2;\n
+\t\t\tenc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n
+\t\t\tenc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n
+\t\t\tenc4 = chr3 & 63;\n
+\n
+\t\t\tif (isNaN(chr2)) {\n
+\t\t\t\tenc3 = enc4 = 64;\n
+\t\t\t} else if (isNaN(chr3)) {\n
+\t\t\t\tenc4 = 64;\n
+\t\t\t}\n
+\n
+\t\t\toutput[p++] = this._keyStr.charAt(enc1);\n
+\t\t\toutput[p++] = this._keyStr.charAt(enc2);\n
+\t\t\toutput[p++] = this._keyStr.charAt(enc3);\n
+\t\t\toutput[p++] = this._keyStr.charAt(enc4);\n
+\t\t} while (i < input.length);\n
+\n
+\t\treturn output.join(\'\');\n
+\t},\n
+\t\n
+\t"decode64" : function(input) {\n
+\t\tif(window.atob) return window.atob(input);\n
+\t\tvar output = "";\n
+\t\tvar chr1, chr2, chr3 = "";\n
+\t\tvar enc1, enc2, enc3, enc4 = "";\n
+\t\tvar i = 0;\n
+\t\n
+\t\t // remove all characters that are not A-Z, a-z, 0-9, +, /, or =\n
+\t\t input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, "");\n
+\t\n
+\t\t do {\n
+\t\t\tenc1 = this._keyStr.indexOf(input.charAt(i++));\n
+\t\t\tenc2 = this._keyStr.indexOf(input.charAt(i++));\n
+\t\t\tenc3 = this._keyStr.indexOf(input.charAt(i++));\n
+\t\t\tenc4 = this._keyStr.indexOf(input.charAt(i++));\n
+\t\n
+\t\t\tchr1 = (enc1 << 2) | (enc2 >> 4);\n
+\t\t\tchr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n
+\t\t\tchr3 = ((enc3 & 3) << 6) | enc4;\n
+\t\n
+\t\t\toutput = output + String.fromCharCode(chr1);\n
+\t\n
+\t\t\tif (enc3 != 64) {\n
+\t\t\t   output = output + String.fromCharCode(chr2);\n
+\t\t\t}\n
+\t\t\tif (enc4 != 64) {\n
+\t\t\t   output = output + String.fromCharCode(chr3);\n
+\t\t\t}\n
+\t\n
+\t\t\tchr1 = chr2 = chr3 = "";\n
+\t\t\tenc1 = enc2 = enc3 = enc4 = "";\n
+\t\n
+\t\t } while (i < input.length);\n
+\t\t return unescape(output);\n
+\t},\n
+\t\n
+\t// based on http://phpjs.org/functions/utf8_encode:577\n
+\t// codedread:does not seem to work with webkit-based browsers on OSX\n
+\t"encodeUTF8": function(input) {\n
+\t\t//return unescape(encodeURIComponent(input)); //may or may not work\n
+\t\tvar output = \'\';\n
+\t\tfor (var n = 0; n < input.length; n++){\n
+\t\t\tvar c = input.charCodeAt(n);\n
+\t\t\tif (c < 128) {\n
+\t\t\t\toutput += input[n];\n
+\t\t\t}\n
+\t\t\telse if (c > 127) {\n
+\t\t\t\tif (c < 2048){\n
+\t\t\t\t\toutput += String.fromCharCode((c >> 6) | 192);\n
+\t\t\t\t} \n
+\t\t\t\telse {\n
+\t\t\t\t\toutput += String.fromCharCode((c >> 12) | 224) + String.fromCharCode((c >> 6) & 63 | 128);\n
+\t\t\t\t}\n
+\t\t\t\toutput += String.fromCharCode((c & 63) | 128);\n
+\t\t\t}\n
+\t\t}\n
+\t\treturn output;\n
+\t},\n
+\t\n
+\t"convertToXMLReferences": function(input) {\n
+\t\tvar output = \'\';\n
+\t\tfor (var n = 0; n < input.length; n++){\n
+\t\t\tvar c = input.charCodeAt(n);\n
+\t\t\tif (c < 128) {\n
+\t\t\t\toutput += input[n];\n
+\t\t\t}\n
+\t\t\telse if(c > 127) {\n
+\t\t\t\toutput += ("&#" + c + ";");\n
+\t\t\t}\n
+\t\t}\n
+\t\treturn output;\n
+\t},\n
+\n
+\t"rectsIntersect": function(r1, r2) {\n
+\t\treturn r2.x < (r1.x+r1.width) && \n
+\t\t\t(r2.x+r2.width) > r1.x &&\n
+\t\t\tr2.y < (r1.y+r1.height) &&\n
+\t\t\t(r2.y+r2.height) > r1.y;\n
+\t},\n
+\n
+\t"snapToAngle": function(x1,y1,x2,y2) {\n
+\t\tvar snap = Math.PI/4; // 45 degrees\n
+\t\tvar dx = x2 - x1;\n
+\t\tvar dy = y2 - y1;\n
+\t\tvar angle = Math.atan2(dy,dx);\n
+\t\tvar dist = Math.sqrt(dx * dx + dy * dy);\n
+\t\tvar snapangle= Math.round(angle/snap)*snap;\n
+\t\tvar x = x1 + dist*Math.cos(snapangle);\t\n
+\t\tvar y = y1 + dist*Math.sin(snapangle);\n
+\t\t//console.log(x1,y1,x2,y2,x,y,angle)\n
+\t\treturn {x:x, y:y, a:snapangle};\n
+\t},\n
+\t\n
+\t// found this function http://groups.google.com/group/jquery-dev/browse_thread/thread/c6d11387c580a77f\n
+\t"text2xml": function(sXML) {\n
+\t\t// NOTE: I\'d like to use jQuery for this, but jQuery makes all tags uppercase\n
+\t\t//return $(xml)[0];\n
+\t\tvar out;\n
+\t\ttry{\n
+\t\t\tvar dXML = ($.browser.msie)?new ActiveXObject("Microsoft.XMLDOM"):new DOMParser();\n
+\t\t\tdXML.async = false;\n
+\t\t} catch(e){ \n
+\t\t\tthrow new Error("XML Parser could not be instantiated"); \n
+\t\t};\n
+\t\ttry{\n
+\t\t\tif($.browser.msie) out = (dXML.loadXML(sXML))?dXML:false;\n
+\t\t\telse out = dXML.parseFromString(sXML, "text/xml");\n
+\t\t}\n
+\t\tcatch(e){ throw new Error("Error parsing XML string"); };\n
+\t\treturn out;\n
+\t}\n
+\n
+};\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>next</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svgcanvas.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svgcanvas.min.js.xml
new file mode 100644
index 0000000000..b09b2fd67d
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svg-editor/svgcanvas.min.js.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80046430.32</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>svgcanvas.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>129522</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Pdata" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+;if(!window.console){window.console={};window.console.log=function(a){};window.console.dir=function(a){}}if(window.opera){window.console.log=function(a){opera.postError(a)};window.console.dir=function(a){}}(function(){var a=jQuery.fn.attr,b="http://www.w3.org/2000/svg";jQuery.fn.attr=function(o,l){var g=this.length;if(!g){return this}for(var f=0;f<g;f++){var c=this[f];if(c.namespaceURI===b){if(l!==undefined){c.setAttribute(o,l)}else{if($.isArray(o)){var d=o.length,e={};while(d--){var k=o[d];var h=c.getAttribute(k);if(h||h==="0"){h=isNaN(h)?h:h-0}e[k]=h}return e}else{if(typeof o==="object"){for(var m in o){c.setAttribute(m,o[m])}}else{var h=c.getAttribute(o);if(h||h==="0"){h=isNaN(h)?h:h-0}return h}}}}else{return a.apply(this,arguments)}}return this}}());$.SvgCanvas=function(aJ,aw){var k=!!window.opera,aA=navigator.userAgent.indexOf("AppleWebKit")!=-1,aZ={},aD={a:["class","clip-path","clip-rule","fill","fill-opacity","fill-rule","filter","id","mask","opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform","xlink:href","xlink:title"],circle:["class","clip-path","clip-rule","cx","cy","fill","fill-opacity","fill-rule","filter","id","mask","opacity","r","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform"],clipPath:["class","clipPathUnits","id"],defs:[],desc:[],ellipse:["class","clip-path","clip-rule","cx","cy","fill","fill-opacity","fill-rule","filter","id","mask","opacity","requiredFeatures","rx","ry","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform"],feGaussianBlur:["class","color-interpolation-filters","id","requiredFeatures","stdDeviation"],filter:["class","color-interpolation-filters","filterRes","filterUnits","height","id","primitiveUnits","requiredFeatures","width","x","xlink:href","y"],foreignObject:["class","font-size","height","id","opacity","requiredFeatures","style","transform","width","x","y"],g:["class","clip-path","clip-rule","id","display","fill","fill-opacity","fill-rule","filter","mask","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform"],image:["class","clip-path","clip-rule","filter","height","id","mask","opacity","requiredFeatures","style","systemLanguage","transform","width","x","xlink:href","xlink:title","y"],line:["class","clip-path","clip-rule","fill","fill-opacity","fill-rule","filter","id","marker-end","marker-mid","marker-start","mask","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform","x1","x2","y1","y2"],linearGradient:["class","id","gradientTransform","gradientUnits","requiredFeatures","spreadMethod","systemLanguage","x1","x2","xlink:href","y1","y2"],marker:["id","class","markerHeight","markerUnits","markerWidth","orient","preserveAspectRatio","refX","refY","systemLanguage","viewBox"],mask:["class","height","id","maskContentUnits","maskUnits","width","x","y"],metadata:["class","id"],path:["class","clip-path","clip-rule","d","fill","fill-opacity","fill-rule","filter","id","marker-end","marker-mid","marker-start","mask","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform"],pattern:["class","height","id","patternContentUnits","patternTransform","patternUnits","requiredFeatures","style","systemLanguage","width","x","xlink:href","y"],polygon:["class","clip-path","clip-rule","id","fill","fill-opacity","fill-rule","filter","id","class","marker-end","marker-mid","marker-start","mask","opacity","points","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform"],polyline:["class","clip-path","clip-rule","id","fill","fill-opacity","fill-rule","filter","marker-end","marker-mid","marker-start","mask","opacity","points","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform"],radialGradient:["class","cx","cy","fx","fy","gradientTransform","gradientUnits","id","r","requiredFeatures","spreadMethod","systemLanguage","xlink:href"],rect:["class","clip-path","clip-rule","fill","fill-opacity","fill-rule","filter","height","id","mask","opacity","requiredFeatures","rx","ry","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform","width","x","y"],stop:["class","id","offset","requiredFeatures","stop-color","stop-opacity","style","systemLanguage"],svg:["class","clip-path","clip-rule","filter","id","height","mask","preserveAspectRatio","requiredFeatures","style","systemLanguage","viewBox","width","x","xmlns","xmlns:se","xmlns:xlink","y"],"switch":["class","id","requiredFeatures","systemLanguage"],symbol:["class","fill","fill-opacity","fill-rule","filter","font-family","font-size","font-style","font-weight","id","opacity","preserveAspectRatio","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","transform","viewBox"],text:["class","clip-path","clip-rule","fill","fill-opacity","fill-rule","filter","font-family","font-size","font-style","font-weight","id","mask","opacity","requiredFeatures","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","text-anchor","transform","x","xml:space","y"],textPath:["class","id","method","requiredFeatures","spacing","startOffset","style","systemLanguage","transform","xlink:href"],title:[],tspan:["class","clip-path","clip-rule","dx","dy","fill","fill-opacity","fill-rule","filter","font-family","font-size","font-style","font-weight","id","mask","opacity","requiredFeatures","rotate","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","systemLanguage","text-anchor","textLength","transform","x","xml:space","y"],use:["class","clip-path","clip-rule","fill","fill-opacity","fill-rule","filter","height","id","mask","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","style","transform","width","x","xlink:href","y"],annotation:["encoding"],"annotation-xml":["encoding"],maction:["actiontype","other","selection"],math:["class","id","display","xmlns"],merror:[],mfrac:["linethickness"],mi:["mathvariant"],mmultiscripts:[],mn:[],mo:["fence","lspace","maxsize","minsize","rspace","stretchy"],mover:[],mpadded:["lspace","width"],mphantom:[],mprescripts:[],mroot:[],mrow:["xlink:href","xlink:type","xmlns:xlink"],mspace:["depth","height","width"],msqrt:[],mstyle:["displaystyle","mathbackground","mathcolor","mathvariant","scriptlevel"],msub:[],msubsup:[],msup:[],mtable:["align","columnalign","columnlines","columnspacing","displaystyle","equalcolumns","equalrows","frame","rowalign","rowlines","rowspacing","width"],mtd:["columnalign","columnspan","rowalign","rowspan"],mtext:[],mtr:["columnalign","rowalign"],munder:[],munderover:[],none:[],semantics:[]},az={pathNodeTooltip:"Drag node to move it. Double-click node to change segment type",pathCtrlPtTooltip:"Drag control point to adjust curve properties",exportNoBlur:"Blurred elements will appear as un-blurred",exportNoImage:"Image elements will not appear",exportNoforeignObject:"foreignObject elements will not appear",exportNoDashArray:"Strokes will appear filled",exportNoText:"Text may not appear as expected"},J={show_outside_canvas:true,dimensions:[640,480]},d=function(bf){return $("<p/>").text(bf).html()},al=function(bf){return $("<p/>").html(bf).text()};if(aw){$.extend(J,aw)}var I={em:0,ex:0,px:1,cm:35.43307,mm:3.543307,"in":90,pt:1.25,pc:15,"%":0};function au(bh,bg,bi){this.elem=bh;this.text=bi?("Change "+bh.tagName+" "+bi):("Change "+bh.tagName);this.newValues={};this.oldValues=bg;for(var bf in bg){if(bf=="#text"){this.newValues[bf]=bh.textContent}else{if(bf=="#href"){this.newValues[bf]=bh.getAttributeNS(aC,"href")}else{this.newValues[bf]=bh.getAttribute(bf)}}}this.apply=function(){var bm=false;for(var bk in this.newValues){if(this.newValues[bk]){if(bk=="#text"){this.elem.textContent=this.newValues[bk]}else{if(bk=="#href"){this.elem.setAttributeNS(aC,"xlink:href",this.newValues[bk])}else{this.elem.setAttribute(bk,this.newValues[bk])}}}else{if(bk=="#text"){this.elem.textContent=""}else{this.elem.setAttribute(bk,"");this.elem.removeAttribute(bk)}}if(bk=="transform"){bm=true}else{if(bk=="stdDeviation"){bb.setBlurOffsets(this.elem.parentNode,this.newValues[bk])}}}if(!bm){var bo=bb.getRotationAngle(bh);if(bo){var bn=bh.getBBox();var bj=bn.x+bn.width/2,bp=bn.y+bn.height/2;var bl=["rotate(",bo," ",bj,",",bp,")"].join("");if(bl!=bh.getAttribute("transform")){bh.setAttribute("transform",bl)}}}if(this.elem.tagName=="title"&&this.elem.parentNode.parentNode==aj){Z()}return true};this.unapply=function(){var bm=false;for(var bk in this.oldValues){if(this.oldValues[bk]){if(bk=="#text"){this.elem.textContent=this.oldValues[bk]}else{if(bk=="#href"){this.elem.setAttributeNS(aC,"xlink:href",this.oldValues[bk])}else{this.elem.setAttribute(bk,this.oldValues[bk])}}if(bk=="stdDeviation"){bb.setBlurOffsets(this.elem.parentNode,this.oldValues[bk])}}else{if(bk=="#text"){this.elem.textContent=""}else{this.elem.removeAttribute(bk)}}if(bk=="transform"){bm=true}}if(!bm){var bo=bb.getRotationAngle(bh);if(bo){var bn=bh.getBBox();var bj=bn.x+bn.width/2,bp=bn.y+bn.height/2;var bl=["rotate(",bo," ",bj,",",bp,")"].join("");if(bl!=bh.getAttribute("transform")){bh.setAttribute("transform",bl)}}}if(this.elem.tagName=="title"&&this.elem.parentNode.parentNode==aj){Z()}if(U[this.elem.id]){delete U[this.elem.id]}return true};this.elements=function(){return[this.elem]}}function a(bf,bg){this.elem=bf;this.text=bg||("Create "+bf.tagName);this.parent=bf.parentNode;this.apply=function(){this.elem=this.parent.insertBefore(this.elem,this.elem.nextSibling);if(this.parent==aj){Z()}};this.unapply=function(){this.parent=this.elem.parentNode;this.elem=this.elem.parentNode.removeChild(this.elem);if(this.parent==aj){Z()}};this.elements=function(){return[this.elem]}}function R(bg,bf,bh){this.elem=bg;this.text=bh||("Delete "+bg.tagName);this.parent=bf;this.apply=function(){if(U[this.elem.id]){delete U[this.elem.id]}this.parent=this.elem.parentNode;this.elem=this.parent.removeChild(this.elem);if(this.parent==aj){Z()}};this.unapply=function(){if(U[this.elem.id]){delete U[this.elem.id]}this.elem=this.parent.insertBefore(this.elem,this.elem.nextSibling);if(this.parent==aj){Z()}};this.elements=function(){return[this.elem]};if(U[bg.id]){delete U[bg.id]}}function S(bg,bh,bf,bi){this.elem=bg;this.text=bi?("Move "+bg.tagName+" to "+bi):("Move "+bg.tagName);this.oldNextSibling=bh;this.oldParent=bf;this.newNextSibling=bg.nextSibling;this.newParent=bg.parentNode;this.apply=function(){this.elem=this.newParent.insertBefore(this.elem,this.newNextSibling);if(this.newParent==aj){Z()}};this.unapply=function(){this.elem=this.oldParent.insertBefore(this.elem,this.oldNextSibling);if(this.oldParent==aj){Z()}};this.elements=function(){return[this.elem]}}function ay(bf){this.text=bf||"Batch Command";this.stack=[];this.apply=function(){var bg=this.stack.length;for(var bh=0;bh<bg;++bh){this.stack[bh].apply()}};this.unapply=function(){for(var bg=this.stack.length-1;bg>=0;bg--){this.stack[bg].unapply()}};this.elements=function(){var bg=[];var bj=this.stack.length;while(bj--){var bi=this.stack[bj].elements();var bh=bi.length;while(bh--){if(bg.indexOf(bi[bh])==-1){bg.push(bi[bh])}}}return bg};this.addSubCommand=function(bg){this.stack.push(bg)};this.isEmpty=function(){return this.stack.length==0}}function aW(bh,bg){this.id=bh;this.selectedElement=bg;this.locked=true;this.reset=function(bi,bj){this.locked=true;this.selectedElement=bi;this.resize();this.selectorGroup.setAttribute("display","inline")};this.selectorGroup=c({element:"g",attr:{id:("selectorGroup"+this.id)}});this.selectorRect=this.selectorGroup.appendChild(c({element:"path",attr:{id:("selectedBox"+this.id),fill:"none",stroke:"#22C","stroke-width":"1","stroke-dasharray":"5,5",style:"pointer-events:none"}}));this.selectorGrips={nw:null,n:null,ne:null,e:null,se:null,s:null,sw:null,w:null};this.rotateGripConnector=this.selectorGroup.appendChild(c({element:"line",attr:{id:("selectorGrip_rotateconnector_"+this.id),stroke:"#22C","stroke-width":"1"}}));this.rotateGrip=this.selectorGroup.appendChild(c({element:"circle",attr:{id:("selectorGrip_rotate_"+this.id),fill:"lime",r:4,stroke:"#22C","stroke-width":2,style:"cursor:url("+J.imgPath+"rotate.png) 12 12, auto;"}}));for(var bf in this.selectorGrips){this.selectorGrips[bf]=this.selectorGroup.appendChild(c({element:"circle",attr:{id:("selectorGrip_resize_"+bf+"_"+this.id),fill:"#22C",r:4,style:("cursor:"+bf+"-resize"),"stroke-width":2,"pointer-events":"all",display:"none"}}))}this.showGrips=function(bi){var bk=bi?"inline":"none";this.rotateGrip.setAttribute("display",bk);this.rotateGripConnector.setAttribute("display",bk);var bl=this.selectedElement;for(var bj in this.selectorGrips){this.selectorGrips[bj].setAttribute("display",bk)}if(bl){this.updateGripCursors(bb.getRotationAngle(bl))}};this.updateGripCursors=function(bm){var bl=[];var bi=Math.round(bm/45);if(bi<0){bi+=8}for(var bj in this.selectorGrips){bl.push(bj)}while(bi>0){bl.push(bl.shift());bi--}var bk=0;for(var bj in this.selectorGrips){this.selectorGrips[bj].setAttribute("style",("cursor:"+bl[bk]+"-resize"));bk++}};this.resize=function(){var bi=this.selectorRect,bp=this.selectorGrips,bF=this.selectedElement,bD=bF.getAttribute("stroke-width");var bv=1/ad;if(bF.getAttribute("stroke")!="none"&&!isNaN(bD)){bv+=(bD/2)}if(bF.tagName=="text"){bv+=2/ad}var bj=bb.getBBox(bF);if(bF.tagName=="g"){var bu=bb.getStrokedBBox(bF.childNodes);$.each(bj,function(bN,bO){bj[bN]=bu[bN]})}var bG=z(bF);bG.e*=ad;bG.f*=ad;var bH=bj.x-bv,bA=bj.y-bv,bz=bj.width+(bv*2),bJ=bj.height+(bv*2),bj={x:bH,y:bA,width:bz,height:bJ};var bL=bd(bH*ad,bA*ad,bz*ad,bJ*ad,bG),bl=bL.aabox.x,bk=bL.aabox.y,bm=bL.aabox.width,by=bL.aabox.height;var bo=bl+bm/2,bn=bk+by/2;var bK=bb.getRotationAngle(bF);if(bK){var bx=G.createSVGTransform();bx.setRotate(-bK,bo,bn);var bB=bx.matrix;bL.tl=P(bL.tl.x,bL.tl.y,bB);bL.tr=P(bL.tr.x,bL.tr.y,bB);bL.bl=P(bL.bl.x,bL.bl.y,bB);bL.br=P(bL.br.x,bL.br.y,bB);var bt=bL.tl.x,bs=bL.tl.y,br=bL.tl.x,bq=bL.tl.y;bt=Math.min(bt,Math.min(bL.tr.x,Math.min(bL.bl.x,bL.br.x)));bs=Math.min(bs,Math.min(bL.tr.y,Math.min(bL.bl.y,bL.br.y)));br=Math.max(br,Math.max(bL.tr.x,Math.max(bL.bl.x,bL.br.x)));bq=Math.max(bq,Math.max(bL.tr.y,Math.max(bL.bl.y,bL.br.y)));bl=bt;bk=bs;bm=(br-bt);by=(bq-bs)}var bM=G.suspendRedraw(100);var bC="M"+bl+","+bk+" L"+(bl+bm)+","+bk+" "+(bl+bm)+","+(bk+by)+" "+bl+","+(bk+by)+"z";ax(bi,{d:bC});var bw={nw:[bl,bk],ne:[bl+bm,bk],sw:[bl,bk+by],se:[bl+bm,bk+by],n:[bl+(bm)/2,bk],w:[bl,bk+(by)/2],e:[bl+bm,bk+(by)/2],s:[bl+(bm)/2,bk+by]};if(bF==aO[0]){for(var bE in bw){var bI=bw[bE];ax(bp[bE],{cx:bI[0],cy:bI[1]})}}if(bK){this.selectorGroup.setAttribute("transform","rotate("+[bK,bo,bn].join(",")+")")}else{this.selectorGroup.setAttribute("transform","")}ax(this.rotateGripConnector,{x1:bl+(bm)/2,y1:bk,x2:bl+(bm)/2,y2:bk-20});ax(this.rotateGrip,{cx:bl+(bm)/2,cy:bk-20});G.unsuspendRedraw(bM)};this.reset(bg)}function bc(){this.selectorParentGroup=null;this.rubberBandBox=null;this.selectors=[];this.selectorMap={};var bf=this;this.initGroup=function(){if(bf.selectorParentGroup&&bf.selectorParentGroup.parentNode){bf.selectorParentGroup.parentNode.removeChild(bf.selectorParentGroup)}bf.selectorParentGroup=aK.createElementNS(aI,"g");bf.selectorParentGroup.setAttribute("id","selectorParentGroup");G.appendChild(bf.selectorParentGroup);bf.selectorMap={};bf.selectors=[];bf.rubberBandBox=null;if($("#canvasBackground").length){return}var bg=aK.createElementNS(aI,"svg");var bi=J.dimensions;ax(bg,{id:"canvasBackground",width:bi[0],height:bi[1],x:0,y:0,overflow:"visible",style:"pointer-events:none"});var bh=aK.createElementNS(aI,"rect");ax(bh,{width:"100%",height:"100%",x:0,y:0,"stroke-width":1,stroke:"#000",fill:"#FFF",style:"pointer-events:none"});bg.appendChild(bh);G.insertBefore(bg,aj)};this.requestSelector=function(bh){if(bh==null){return null}var bi=this.selectors.length;if(typeof(this.selectorMap[bh.id])=="object"){this.selectorMap[bh.id].locked=true;return this.selectorMap[bh.id]}for(var bg=0;bg<bi;++bg){if(this.selectors[bg]&&!this.selectors[bg].locked){this.selectors[bg].locked=true;this.selectors[bg].reset(bh);this.selectorMap[bh.id]=this.selectors[bg];return this.selectors[bg]}}this.selectors[bi]=new aW(bi,bh);this.selectorParentGroup.appendChild(this.selectors[bi].selectorGroup);this.selectorMap[bh.id]=this.selectors[bi];return this.selectors[bi]};this.releaseSelector=function(bh){if(bh==null){return}var bk=this.selectors.length,bi=this.selectorMap[bh.id];for(var bg=0;bg<bk;++bg){if(this.selectors[bg]&&this.selectors[bg]==bi){if(bi.locked==false){console.log("WARNING! selector was released but was already unlocked")}delete this.selectorMap[bh.id];bi.locked=false;bi.selectedElement=null;bi.showGrips(false);try{bi.selectorGroup.setAttribute("display","none")}catch(bj){}break}}};this.getRubberBandBox=function(){if(this.rubberBandBox==null){this.rubberBandBox=this.selectorParentGroup.appendChild(c({element:"rect",attr:{id:"selectorRubberBand",fill:"#22C","fill-opacity":0.15,stroke:"#22C","stroke-width":0.5,display:"none",style:"pointer-events:none"}}))}return this.rubberBandBox};this.initGroup()}var U={};var H=function(bf){this._elem=bf||null;this._xforms=[];this._update=function(){var bi="";var bh=G.createSVGMatrix();for(var bj=0;bj<this.numberOfItems;++bj){var bg=this._list.getItem(bj);bi+=af(bg).text+" "}this._elem.setAttribute("transform",bi)};this._list=this;this._init=function(){var bp=this._elem.getAttribute("transform");if(!bp){return}var bt=/\\s*((scale|matrix|rotate|translate)\\s*\\(.*?\\))\\s*,?\\s*/;var bm=[];var bl=true;while(bl){bl=bp.match(bt);bp=bp.replace(bt,"");if(bl&&bl[1]){var bq=bl[1];var bs=bq.split(/\\s*\\(/);var bg=bs[0];var bk=bs[1].match(/\\s*(.*?)\\s*\\)/);var bi=bk[1].split(/[, ]+/);var bn="abcdef".split("");var bh=G.createSVGMatrix();$.each(bi,function(bu,bv){bi[bu]=parseFloat(bv);if(bg=="matrix"){bh[bn[bu]]=bi[bu]}});var bo=G.createSVGTransform();var bj="set"+bg.charAt(0).toUpperCase()+bg.slice(1);var br=bg=="matrix"?[bh]:bi;bo[bj].apply(bo,br);this._list.appendItem(bo)}}};this.numberOfItems=0;this.clear=function(){this.numberOfItems=0;this._xforms=[]};this.initialize=function(bg){this.numberOfItems=1;this._xforms=[bg]};this.getItem=function(bg){if(bg<this.numberOfItems&&bg>=0){return this._xforms[bg]}return null};this.insertItemBefore=function(bj,bh){var bl=null;if(bh>=0){if(bh<this.numberOfItems){var bk=new Array(this.numberOfItems+1);for(var bi=0;bi<bh;++bi){bk[bi]=this._xforms[bi]}bk[bi]=bj;for(var bg=bi+1;bi<this.numberOfItems;++bg,++bi){bk[bg]=this._xforms[bi]}this.numberOfItems++;this._xforms=bk;bl=bj;this._list._update()}else{bl=this._list.appendItem(bj)}}return bl};this.replaceItem=function(bh,bg){var bi=null;if(bg<this.numberOfItems&&bg>=0){this._xforms[bg]=bh;bi=bh;this._list._update()}return bi};this.removeItem=function(bh){var bk=null;if(bh<this.numberOfItems&&bh>=0){var bk=this._xforms[bh];var bj=new Array(this.numberOfItems-1);for(var bi=0;bi<bh;++bi){bj[bi]=this._xforms[bi]}for(var bg=bi;bg<this.numberOfItems-1;++bg,++bi){bj[bg]=this._xforms[bi+1]}this.numberOfItems--;this._xforms=bj;this._list._update()}return bk};this.appendItem=function(bg){this._xforms.push(bg);this.numberOfItems++;this._list._update();return bg}};var c=function(bf){return bb.updateElementFromJson(bf)};var bb=this,aI="http://www.w3.org/2000/svg",aC="http://www.w3.org/1999/xlink",X="http://www.w3.org/XML/1998/namespace",be="http://www.w3.org/2000/xmlns/",an="http://svg-edit.googlecode.com",O="http://www.w3.org/1999/xhtml",f="http://www.w3.org/1998/Math/MathML",aT="svg_",aK=aJ.ownerDocument,v=J.dimensions,G=aK.importNode(Utils.text2xml(\'<svg id="svgroot" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="\'+v[0]+\'" height="\'+v[1]+\'" x="\'+v[0]+\'" y="\'+v[1]+\'" overflow="visible"><defs><filter id="canvashadow" filterUnits="objectBoundingBox"><feGaussianBlur in="SourceAlpha" stdDeviation="4" result="blur"/><feOffset in="blur" dx="5" dy="5" result="offsetBlur"/><feMerge><feMergeNode in="offsetBlur"/><feMergeNode in="SourceGraphic"/></feMerge></filter></defs></svg>\').documentElement,true);$(G).appendTo(aJ);var N=document.createElementNS(aI,"animate");$(N).attr({attributeName:"opacity",begin:"indefinite",dur:1,fill:"freeze"}).appendTo(G);var m=Math.floor(Math.random()*100001);var p=false;var ao={};ao[aC]="xlink";ao[X]="xml";ao[be]="xmlns";ao[an]="se";ao[O]="xhtml";ao[f]="mathml";var a9={};$.each(ao,function(bf,bg){a9[bg]=bf});var h={};$.each(aD,function(bf,bh){var bg={};$.each(bh,function(bk,bj){if(bj.indexOf(":")!=-1){var bi=bj.split(":");bg[bi[1]]=a9[bi[0]]}else{bg[bj]=bj=="xmlns"?be:null}});h[bf]=bg});var aj=aK.createElementNS(aI,"svg");$(aj).attr({id:"svgcontent",width:v[0],height:v[1],x:v[0],y:v[1],overflow:J.show_outside_canvas?"visible":"hidden",xmlns:aI,"xmlns:se":an,"xmlns:xlink":aC}).appendTo(G);if(p){aj.setAttributeNS(an,"se:nonce",m)}var a2,ap,ac;(function(){var bf=["x","x1","cx","rx","width"];var bg=["y","y1","cy","ry","height"];var bh=$.merge(["r","radius"],bf);$.merge(bh,bg);a2=function(bi,bm){if(!isNaN(bm)){return bm-0}if(bm.substr(-1)==="%"){var bj=bm.substr(0,bm.length-1)/100;var bk=bb.getResolution();if($.inArray(bi,bf)!==-1){return bj*bk.w}else{if($.inArray(bi,bg)!==-1){return bj*bk.h}else{return bj*Math.sqrt((bk.w*bk.w)+(bk.h*bk.h))/Math.sqrt(2)}}}else{var bl=bm.substr(-2);var bj=bm.substr(0,bm.length-2);return bj*I[bl]}};ac=function(bm,bi,bn){if(!isNaN(bn)){var bk=bm.getAttribute(bi);if(bk!==null&&isNaN(bk)){var bl;if(bk.substr(-1)==="%"){var bj=bb.getResolution();bl="%";bn*=100;if($.inArray(bi,bf)!==-1){bn=bn/bj.w}else{if($.inArray(bi,bg)!==-1){bn=bn/bj.h}else{return bn/Math.sqrt((bj.w*bj.w)+(bj.h*bj.h))/Math.sqrt(2)}}}else{bl=bk.substr(-2);bn=bn/I[bl]}bn+=bl}}bm.setAttribute(bi,bn)};bb.isValidUnit=function(bj,bn){var bl=false;if($.inArray(bj,bh)!=-1){if(!isNaN(bn)){bl=true}else{bn=bn.toLowerCase();$.each(I,function(bp){if(bl){return}var bo=new RegExp("^-?[\\\\d\\\\.]+"+bp+"$");if(bo.test(bn)){bl=true}})}}else{if(bj=="id"){var bi=false;try{var bk=b(bn);bi=(bk==null)}catch(bm){}return bi}else{bl=true}}return bl}})();var ax=function(bk,bh,bg,bf){if(!bg){bg=0}var bl=null;if(!window.opera){G.suspendRedraw(bg)}for(var bi in bh){var bj=(bi.substr(0,4)=="xml:"?X:bi.substr(0,6)=="xlink:"?aC:null);if(bj||!bf){bk.setAttributeNS(bj,bi,bh[bi])}else{ac(bk,bi,bh[bi])}}if(!window.opera){G.unsuspendRedraw(bl)}};var ar=function(bg){var bh=G.suspendRedraw(60);var bi={"fill-opacity":1,"stop-opacity":1,opacity:1,stroke:"none","stroke-dasharray":"none","stroke-linejoin":"miter","stroke-linecap":"butt","stroke-opacity":1,"stroke-width":1,rx:0,ry:0};for(var bf in bi){var bj=bi[bf];if(bg.getAttribute(bf)==bj){bg.removeAttribute(bf)}}G.unsuspendRedraw(bh)};this.updateElementFromJson=function(bg){var bf=b(bg.attr.id);if(bf&&bg.element!=bf.tagName){W.removeChild(bf);bf=null}if(!bf){bf=aK.createElementNS(aI,bg.element);if(W){W.appendChild(bf)}}if(bg.curStyles){ax(bf,{fill:aL.fill,stroke:aL.stroke,"stroke-width":aL.stroke_width,"stroke-dasharray":aL.stroke_dasharray,"stroke-linejoin":aL.stroke_linejoin,"stroke-linecap":aL.stroke_linecap,"stroke-opacity":aL.stroke_opacity,"fill-opacity":aL.fill_opacity,opacity:aL.opacity/2,style:"pointer-events:inherit"},100)}ax(bf,bg.attr,100);ar(bf);return bf};(function(){var bf=aK.createComment(" Created with SVG-edit - http://svg-edit.googlecode.com/ ");aj.appendChild(bf)})();var aP=[],aX={},ae=J.imgPath+"logo.png",W=null,ai={round_digits:5},aE=false,a4=1,ak=null,a1="select",ab="none",V={shape:{fill:"#"+J.initFill.color,fill_paint:null,fill_opacity:J.initFill.opacity,stroke:"#"+J.initStroke.color,stroke_paint:null,stroke_opacity:J.initStroke.opacity,stroke_width:J.initStroke.width,stroke_dasharray:"none",stroke_linejoin:"miter",stroke_linecap:"butt",opacity:J.initOpacity}};V.text=$.extend(true,{},V.shape);$.extend(V.text,{fill:"#000000",stroke_width:0,font_size:24,font_family:"serif"});var aL=V.shape,a5=V.text,q=aL,ad=1,aO=new Array(1),t=new Array(1),K=null,F=new bc(),j=null,D={},aM=0,T=[],aF=[],e={};var aG=this.runExtensions=function(bg,bi,bh){var bf=false;if(bh){bf=[]}$.each(e,function(bj,bk){if(bg in bk){if(bh){bf.push(bk[bg](bi))}else{bf=bk[bg](bi)}}});return bf};var Q=function(bf){return parseInt(bf*ad)/ad};var aV=function(bi){if(j==null){return null}if(!aF.length){aF=bb.getVisibleElements(W,true)}var bf=null;try{bf=W.getIntersectionList(bi,null)}catch(bj){}if(bf==null||typeof(bf.item)!="function"){bf=[];var bh=j.getBBox();$.each(bh,function(bk,bl){bh[bk]=bl/ad});var bg=aF.length;while(bg--){if(!bh.width||!bh.width){continue}if(Utils.rectsIntersect(bh,aF[bg].bbox)){bf.push(aF[bg].elem)}}}return bf};var aQ=function(bf){if(aM<T.length&&T.length>0){T=T.splice(0,aM)}T.push(bf);aM=T.length};this.getHistoryPosition=function(){return aM};var A=function(){if(D.getid){return ah("getid",a4)}if(p){return aT+m+"_"+a4}else{return aT+a4}};var a6=function(){var bf=A();while(b(bf)){a4++;bf=A()}return bf};var ah=function(bg,bf){if(D[bg]){return D[bg](this,bf)}};var M=function(bk){if(bk.nodeType==3){bk.nodeValue=bk.nodeValue.replace(/^\\s+|\\s+$/g,"");if(!bk.nodeValue.length){bk.parentNode.removeChild(bk)}}if(bk.nodeType!=1){return}var bs=bk.ownerDocument;var bt=bk.parentNode;if(!bs||!bt){return}var bp=aD[bk.nodeName];var bj=h[bk.nodeName];if(bp!=undefined){var bi=[];var bl=bk.attributes.length;while(bl--){var bo=bk.attributes.item(bl);var br=bo.nodeName;var bm=bo.localName;var bu=bo.namespaceURI;if(!(bj.hasOwnProperty(bm)&&bu==bj[bm]&&bu!=be)&&!(bu==be&&ao[bo.nodeValue])){if(br.indexOf("se:")==0){bi.push([br,bo.nodeValue])}bk.removeAttributeNS(bu,bm)}if(bk.nodeName=="path"&&br=="d"){bk.setAttribute("d",w.convertPath(bk));w.fixEnd(bk)}if(br=="style"){var bq=bo.nodeValue.split(";"),bg=bq.length;while(bg--){var bn=bq[bg].split(":");if(bp.indexOf(bn[0])!=-1){bk.setAttribute(bn[0],bn[1])}}bk.removeAttribute("style")}}$.each(bi,function(bw,bv){bk.setAttributeNS(an,bv[0],bv[1])});var bf=bk.getAttributeNS(aC,"href");if(bf&&$.inArray(bk.nodeName,["filter","linearGradient","pattern","radialGradient","textPath","use"])!=-1){if(bf[0]!="#"){bk.setAttributeNS(aC,"xlink:href","");bk.removeAttributeNS(aC,"href")}}if(bk.nodeName=="use"&&!bk.getAttributeNS(aC,"href")){bt.removeChild(bk);return}$.each(["clip-path","fill","filter","marker-end","marker-mid","marker-start","mask","stroke"],function(bw,bv){var bx=bk.getAttribute(bv);if(bx){bx=am(bx);if(bx&&bx[0]!="#"){bk.setAttribute(bv,"");bk.removeAttribute(bv)}}});bl=bk.childNodes.length;while(bl--){M(bk.childNodes.item(bl))}}else{var bh=[];while(bk.hasChildNodes()){bh.push(bt.insertBefore(bk.firstChild,bk))}bt.removeChild(bk);var bl=bh.length;while(bl--){M(bh[bl])}}};this.getUrlFromAttr=function(bf){if(bf){if(bf.indexOf(\'url("\')==0){return bf.substring(5,bf.indexOf(\'"\',6))}else{if(bf.indexOf("url(\'")==0){return bf.substring(5,bf.indexOf("\'",6))}else{if(bf.indexOf("url(")==0){return bf.substring(4,bf.indexOf(")"))}}}}return null};var am=this.getUrlFromAttr;var u=function(){var bo=aj.getElementsByTagNameNS(aI,"defs");if(!bo||!bo.length){return 0}var bs=[],bq=0;var bt=["fill","stroke","filter","marker-start","marker-mid","marker-end"];var bm=bt.length;var bu=aj.getElementsByTagNameNS(aI,"*");var bh=bu.length;for(var bp=0;bp<bh;bp++){var bj=bu[bp];for(var bn=0;bn<bm;bn++){var bk=am(bj.getAttribute(bt[bn]));if(bk){bs.push(bk.substr(1))}}var bf=bj.getAttributeNS(aC,"href");if(bf&&bf.indexOf("#")==0){bs.push(bf.substr(1))}}var bl=$(aj).find("linearGradient, radialGradient, filter, marker");defelem_ids=[],bp=bl.length;while(bp--){var br=bl[bp];var bg=br.id;if($.inArray(bg,bs)==-1){br.parentNode.removeChild(br);bq++}}var bp=bo.length;while(bp--){var bi=bo[bp];if(!bi.getElementsByTagNameNS(aI,"*").length){bi.parentNode.removeChild(bi)}}return bq};var i=function(){while(u()>0){}w.clear(true);$.each(aj.childNodes,function(bg,bh){if(bg&&bh.nodeType==8&&bh.data.indexOf("Created with")!=-1){aj.insertBefore(bh,aj.firstChild)}});var bf=aS(aj,0);return bf};var aS=function(bh,bg){var bi=new Array();if(bh){ar(bh);var bs=bh.attributes,bo,bk,bp=bh.childNodes;for(var bk=0;bk<bg;bk++){bi.push(" ")}bi.push("<");bi.push(bh.nodeName);if(bh.id=="svgcontent"){var bq=bb.getResolution();bi.push(\' width="\'+bq.w+\'" height="\'+bq.h+\'" xmlns="\'+aI+\'"\');var bl={};$(bh).find("*").andSelf().each(function(){var bt=this;$.each(this.attributes,function(bv,bu){var bw=bu.namespaceURI;if(bw&&!bl[bw]&&ao[bw]!=="xmlns"&&ao[bw]!=="xml"){bl[bw]=true;bi.push(" xmlns:"+ao[bw]+\'="\'+bw+\'"\')}})});var bk=bs.length;while(bk--){bo=bs.item(bk);var bn=d(bo.nodeValue);if(bo.nodeName.indexOf("xmlns:")===0){continue}if(bn!=""&&$.inArray(bo.localName,["width","height","xmlns","x","y","viewBox","id","overflow"])==-1){if(!bo.namespaceURI||ao[bo.namespaceURI]){bi.push(" ");bi.push(bo.nodeName);bi.push(\'="\');bi.push(bn);bi.push(\'"\')}}}}else{for(var bk=bs.length-1;bk>=0;bk--){bo=bs.item(bk);var bn=d(bo.nodeValue);if($.inArray(bo.localName,["-moz-math-font-style","_moz-math-font-style"])!==-1){continue}if(bn!=""){if(bn.indexOf("pointer-events")==0){continue}if(bo.localName=="class"&&bn.indexOf("se_")==0){continue}bi.push(" ");if(bo.localName=="d"){bn=w.convertPath(bh,true)}if(!isNaN(bn)){bn=a3(bn)}if(ai.apply&&bh.nodeName=="image"&&bo.localName=="href"&&ai.images&&ai.images=="embed"){var bj=aX[bn];if(bj){bn=bj}}if(!bo.namespaceURI||bo.namespaceURI==aI||ao[bo.namespaceURI]){bi.push(bo.nodeName);bi.push(\'="\');bi.push(bn);bi.push(\'"\')}}}}if(bh.hasChildNodes()){bi.push(">");bg++;var bm=false;for(var bk=0;bk<bp.length;bk++){var bf=bp.item(bk);switch(bf.nodeType){case 1:bi.push("\\n");bi.push(aS(bp.item(bk),bg));break;case 3:var br=bf.nodeValue.replace(/^\\s+|\\s+$/g,"");if(br!=""){bm=true;bi.push(d(br)+"")}break;case 8:bi.push("\\n");bi.push(new Array(bg+1).join(" "));bi.push("<!--");bi.push(bf.data);bi.push("-->");break}}bg--;if(!bm){bi.push("\\n");for(var bk=0;bk<bg;bk++){bi.push(" ")}}bi.push("</");bi.push(bh.nodeName);bi.push(">")}else{bi.push("/>")}}return bi.join("")};this.embedImage=function(bf,bg){$(new Image()).load(function(){var bh=document.createElement("canvas");bh.width=this.width;bh.height=this.height;bh.getContext("2d").drawImage(this,0,0);try{var bi=";svgedit_url="+encodeURIComponent(bf);bi=bh.toDataURL().replace(";base64",bi+";base64");aX[bf]=bi}catch(bj){aX[bf]=false}ae=bf;if(bg){bg(aX[bf])}}).attr("src",bf)};this.fixOperaXML=function(bi,bg){var bh=bi.attributes;$.each(bh,function(bl,bk){if(bk.nodeValue.indexOf(",")==-1){return}var bn=bk.prefix=="xlink"?aC:bk.prefix=="xml"?X:null;var bm=bg.getAttribute(bk.localName);if(bn){bi.setAttributeNS(bn,bk.nodeName,bm)}else{bi.setAttribute(bk.nodeName,bm)}});var bj=bi.childNodes;var bf=bg.childNodes;$.each(bj,function(bk,bl){if(bl.nodeType==1){bb.fixOperaXML(bl,bf[bk])}})};var aY=function(){var bj=(ab=="none"?"position":"size");var bf=new ay(bj);var bg=aO.length;while(bg--){var bh=aO[bg];var bi=l(bh);if(bi){bf.addSubCommand(bi)}}if(!bf.isEmpty()){aQ(bf);ah("changed",aO)}};var E=[0,"z","M","m","L","l","C","c","Q","q","A","a","H","h","V","v","S","s","T","t"];var av=function(bf){console.log([bf.a,bf.b,bf.c,bf.d,bf.e,bf.f])};var B=function(bu,bH,bx){var bk=function(bI,bJ){return P(bI,bJ,bx)},bj=function(bI){return bx.a*bI},bs=function(bI){return bx.d*bI},bp=bb.getBBox(bu);switch(bu.tagName){case"line":var bn=bk(bH.x1,bH.y1),bm=bk(bH.x2,bH.y2);bH.x1=bn.x;bH.y1=bn.y;bH.x2=bm.x;bH.y2=bm.y;break;case"circle":var bG=bk(bH.cx,bH.cy);bH.cx=bG.x;bH.cy=bG.y;var bA=bd(bp.x,bp.y,bp.width,bp.height,bx);var bq=bA.tr.x-bA.tl.x,bE=bA.bl.y-bA.tl.y;bH.r=Math.min(bq/2,bE/2);break;case"ellipse":var bG=bk(bH.cx,bH.cy);bH.cx=bG.x;bH.cy=bG.y;bH.rx=bj(bH.rx);bH.ry=bs(bH.ry);break;case"foreignObject":case"rect":case"image":var bn=bk(bH.x,bH.y);bH.x=bn.x;bH.y=bn.y;bH.width=bj(bH.width);bH.height=bs(bH.height);break;case"use":var bn=bk(bH.x,bH.y);bH.x=bn.x;bH.y=bn.y;break;case"text":if(bx.a==1&&bx.b==0&&bx.c==0&&bx.d==1&&(bx.e!=0||bx.f!=0)){var bt=r(bu).matrix,bo=ag(bt.inverse(),bx,bt);bH.x=parseFloat(bH.x)+bo.e;bH.y=parseFloat(bH.y)+bo.f}else{var bg=bb.getTransformList(bu);var bv=G.createSVGTransform();bv.setMatrix(ag(r(bg).matrix,bx));bg.clear();bg.appendItem(bv)}break;case"polygon":case"polyline":var bD=bH.points.length;for(var bC=0;bC<bD;++bC){var bw=bH.points[bC];bw=bk(bw.x,bw.y);bH.points[bC].x=bw.x;bH.points[bC].y=bw.y}break;case"path":var bf=bu.pathSegList;var bD=bf.numberOfItems;bH.d=new Array(bD);for(var bC=0;bC<bD;++bC){var bF=bf.getItem(bC);bH.d[bC]={type:bF.pathSegType,x:bF.x,y:bF.y,x1:bF.x1,y1:bF.y1,x2:bF.x2,y2:bF.y2,r1:bF.r1,r2:bF.r2,angle:bF.angle,largeArcFlag:bF.largeArcFlag,sweepFlag:bF.sweepFlag}}var bD=bH.d.length,bi=bH.d[0],by=bk(bi.x,bi.y);bH.d[0].x=by.x;bH.d[0].y=by.y;for(var bC=1;bC<bD;++bC){var bF=bH.d[bC];var bh=bF.type;if(bh%2==0){var bB=(bF.x!=undefined)?bF.x:by.x,bz=(bF.y!=undefined)?bF.y:by.y,bw=bk(bB,bz),bn=bk(bF.x1,bF.y1),bm=bk(bF.x2,bF.y2);bF.x=bw.x;bF.y=bw.y;bF.x1=bn.x;bF.y1=bn.y;bF.x2=bm.x;bF.y2=bm.y;bF.r1=bj(bF.r1),bF.r2=bs(bF.r2)}else{bF.x=bj(bF.x);bF.y=bs(bF.y);bF.x1=bj(bF.x1);bF.y1=bs(bF.y1);bF.x2=bj(bF.x2);bF.y2=bs(bF.y2);bF.r1=bj(bF.r1),bF.r2=bs(bF.r2)}if(bF.x){by.x=bF.x}if(bF.y){by.y=bF.y}}break}switch(bu.tagName){case"foreignObject":case"rect":case"image":bH.x=bH.x-0+Math.min(0,bH.width);bH.y=bH.y-0+Math.min(0,bH.height);bH.width=Math.abs(bH.width);bH.height=Math.abs(bH.height);ax(bu,bH,1000,true);break;case"use":ax(bu,bH,1000,true);break;case"ellipse":bH.rx=Math.abs(bH.rx);bH.ry=Math.abs(bH.ry);case"circle":if(bH.r){bH.r=Math.abs(bH.r)}case"line":case"text":ax(bu,bH,1000,true);break;case"polyline":case"polygon":var bD=bH.points.length;var bl="";for(var bC=0;bC<bD;++bC){var bw=bH.points[bC];bl+=bw.x+","+bw.y+" "}bu.setAttribute("points",bl);break;case"path":var br="";var bD=bH.d.length;for(var bC=0;bC<bD;++bC){var bF=bH.d[bC];var bh=bF.type;br+=E[bh];switch(bh){case 13:case 12:br+=bF.x+" ";break;case 15:case 14:br+=bF.y+" ";break;case 3:case 5:case 19:case 2:case 4:case 18:br+=bF.x+","+bF.y+" ";break;case 7:case 6:br+=bF.x1+","+bF.y1+" "+bF.x2+","+bF.y2+" "+bF.x+","+bF.y+" ";break;case 9:case 8:br+=bF.x1+","+bF.y1+" "+bF.x+","+bF.y+" ";break;case 11:case 10:br+=bF.r1+","+bF.r2+" "+bF.angle+" "+Number(bF.largeArcFlag)+" "+Number(bF.sweepFlag)+" "+bF.x+","+bF.y+" ";break;case 17:case 16:br+=bF.x2+","+bF.y2+" "+bF.x+","+bF.y+" ";break}}bu.setAttribute("d",br);break}};var l=function(bH){if(bH==null){return null}var bP=bb.getTransformList(bH);if(bP&&bP.numberOfItems>0){var b8=bP.numberOfItems;while(b8--){var bX=bP.getItem(b8);if(bX.type==0){bP.removeItem(b8)}else{if(bX.type==1){if(a8(bX.matrix)){bP.removeItem(b8)}}else{if(bX.type==4){if(bX.angle==0){bP.removeItem(b8)}}}}}if(bP.numberOfItems==1&&bb.getRotationAngle(bH)){return null}}if(!bP||bP.numberOfItems==0){bH.removeAttribute("transform");return null}var bg=new ay("Transform");var bB={},cg=null,bp=[];switch(bH.tagName){case"line":bp=["x1","y1","x2","y2"];break;case"circle":bp=["cx","cy","r"];break;case"ellipse":bp=["cx","cy","rx","ry"];break;case"foreignObject":case"rect":case"image":bp=["width","height","x","y"];break;case"use":bp=["x","y"];break;case"text":bp=["x","y"];break;case"polygon":case"polyline":cg={};cg.points=bH.getAttribute("points");var bA=bH.points;var by=bA.numberOfItems;bB.points=new Array(by);for(var cb=0;cb<by;++cb){var bq=bA.getItem(cb);bB.points[cb]={x:bq.x,y:bq.y}}break;case"path":cg={};cg.d=bH.getAttribute("d");bB.d=bH.getAttribute("d");break}if(bp.length){bB=$(bH).attr(bp);$.each(bB,function(cl,cm){bB[cl]=a2(cl,cm)})}if(cg==null){cg=$.extend(true,{},bB);$.each(cg,function(cl,cm){cg[cl]=a2(cl,cm)})}cg.transform=ak?ak:"";if(bH.tagName=="g"||bH.tagName=="a"){var bl=bb.getBBox(bH),cj={x:bl.x+bl.width/2,y:bl.y+bl.height/2},bi=P(bl.x+bl.width/2,bl.y+bl.height/2,r(bP).matrix),b2=G.createSVGMatrix();var bF=bb.getRotationAngle(bH);if(bF){var ch=bF*Math.PI/180;if(Math.abs(ch)>(1e-10)){var bU=Math.sin(ch)/(1-Math.cos(ch))}else{var bU=2/ch}for(var cb=0;cb<bP.numberOfItems;++cb){var bX=bP.getItem(cb);if(bX.type==4){var bN=bX.matrix;cj.y=(bU*bN.e+bN.f)/2;cj.x=(bN.e-bU*bN.f)/2;bP.removeItem(cb);break}}}var b9=0,b7=0,bO=0,bn=bP.numberOfItems;if(bn){var b6=bP.getItem(0).matrix}if(bn>=3&&bP.getItem(bn-2).type==3&&bP.getItem(bn-3).type==2&&bP.getItem(bn-1).type==2){bO=3;var ck=bP.getItem(bn-3).matrix,bs=bP.getItem(bn-2).matrix,b0=bP.getItem(bn-1).matrix;var bv=bH.childNodes;var cf=bv.length;while(cf--){var bk=bv.item(cf);b9=0;b7=0;if(bk.nodeType==1){var bz=bb.getTransformList(bk);if(!bz){continue}var b2=r(bz).matrix;var bx=bb.getRotationAngle(bk);var bT=ak;var b3=[];ak=bk.getAttribute("transform");if(bx||aN(bz)){var bS=G.createSVGTransform();bS.setMatrix(ag(ck,bs,b0,b2));bz.clear();bz.appendItem(bS);b3.push(bS)}else{var bj=ag(b2.inverse(),b0,b2);var bJ=G.createSVGMatrix();bJ.e=-bj.e;bJ.f=-bj.f;var ce=ag(bJ.inverse(),b2.inverse(),ck,bs,b0,b2,bj.inverse());var ci=G.createSVGTransform(),bL=G.createSVGTransform(),br=G.createSVGTransform();ci.setTranslate(bj.e,bj.f);bL.setScale(ce.a,ce.d);br.setTranslate(bJ.e,bJ.f);bz.appendItem(br);bz.appendItem(bL);bz.appendItem(ci);b3.push(br);b3.push(bL);b3.push(ci);av(br.matrix);av(bL.matrix)}bg.addSubCommand(l(bk));ak=bT}}bP.removeItem(bn-1);bP.removeItem(bn-2);bP.removeItem(bn-3)}else{if(bn>=3&&bP.getItem(bn-1).type==1){bO=3;b2=r(bP).matrix;var bS=G.createSVGTransform();bS.setMatrix(b2);bP.clear();bP.appendItem(bS)}else{if((bn==1||(bn>1&&bP.getItem(1).type!=3))&&bP.getItem(0).type==2){bO=2;var bE=r(bP).matrix;bP.removeItem(0);var bK=r(bP).matrix.inverse();var bu=ag(bK,bE);b9=bu.e;b7=bu.f;if(b9!=0||b7!=0){var bv=bH.childNodes;var cf=bv.length;while(cf--){var bk=bv.item(cf);if(bk.nodeType==1){var bT=ak;ak=bk.getAttribute("transform");var bz=bb.getTransformList(bk);if(bz){var bI=G.createSVGTransform();bI.setTranslate(b9,b7);bz.insertItemBefore(bI,0);bg.addSubCommand(l(bk));var bG=bH.getElementsByTagNameNS(aI,"use");var bD="#"+bk.id;var bR=bG.length;while(bR--){var bQ=bG.item(bR);if(bD==bQ.getAttributeNS(aC,"href")){var cc=G.createSVGTransform();cc.setTranslate(-b9,-b7);bb.getTransformList(bQ).insertItemBefore(cc,0);bg.addSubCommand(l(bQ))}}ak=bT}}}ak=bT}}else{if(bn==1&&bP.getItem(0).type==1&&!bF){bO=1;var b2=bP.getItem(0).matrix,bv=bH.childNodes,cf=bv.length;while(cf--){var bk=bv.item(cf);if(bk.nodeType==1){var bT=ak;ak=bk.getAttribute("transform");var bz=bb.getTransformList(bk);var ca=ag(b2,r(bz).matrix);var bZ=G.createSVGTransform();bZ.setMatrix(ca);bz.clear();bz.appendItem(bZ,0);bg.addSubCommand(l(bk));ak=bT}}bP.clear()}else{if(bF){var bh=G.createSVGTransform();bh.setRotate(bF,bi.x,bi.y);bP.insertItemBefore(bh,0)}if(bP.numberOfItems==0){bH.removeAttribute("transform")}return null}}}}if(bO==2){if(bF){bi={x:cj.x+b6.e,y:cj.y+b6.f};var bh=G.createSVGTransform();bh.setRotate(bF,bi.x,bi.y);bP.insertItemBefore(bh,0)}}else{if(bO==3){var b2=r(bP).matrix;var bf=G.createSVGTransform();bf.setRotate(bF,cj.x,cj.y);var bM=bf.matrix;var b1=G.createSVGTransform();b1.setRotate(bF,bi.x,bi.y);var bC=b1.matrix.inverse(),b5=b2.inverse(),bW=ag(b5,bC,bM,b2);b9=bW.e;b7=bW.f;if(b9!=0||b7!=0){var bv=bH.childNodes;var cf=bv.length;while(cf--){var bk=bv.item(cf);if(bk.nodeType==1){var bT=ak;ak=bk.getAttribute("transform");var bz=bb.getTransformList(bk);var bI=G.createSVGTransform();bI.setTranslate(b9,b7);bz.insertItemBefore(bI,0);bg.addSubCommand(l(bk));ak=bT}}}if(bF){bP.insertItemBefore(b1,0)}}}}else{var bl=bb.getBBox(bH);if(!bl){return null}var cj={x:bl.x+bl.width/2,y:bl.y+bl.height/2},bi=P(bl.x+bl.width/2,bl.y+bl.height/2,r(bP).matrix),b2=G.createSVGMatrix(),bx=bb.getRotationAngle(bH);if(bx){var ch=bx*Math.PI/180;if(Math.abs(ch)>(1e-10)){var bU=Math.sin(ch)/(1-Math.cos(ch))}else{var bU=2/ch}for(var cb=0;cb<bP.numberOfItems;++cb){var bX=bP.getItem(cb);if(bX.type==4){var bN=bX.matrix;cj.y=(bU*bN.e+bN.f)/2;cj.x=(bN.e-bU*bN.f)/2;bP.removeItem(cb);break}}}var bO=0;var bn=bP.numberOfItems;if(!aA){var bt=bH.getAttribute("fill");if(bt&&bt.indexOf("url(")===0){var bw=b(am(bt).substr(1));if(bw.getAttribute("gradientUnits")==="userSpaceOnUse"){var bw=$(bw);b2=r(bP).matrix;var bY=bb.getTransformList(bw[0]);var b4=r(bY).matrix;b2=ag(b2,b4);var bV="matrix("+[b2.a,b2.b,b2.c,b2.d,b2.e,b2.f].join(",")+")";bw.attr("gradientTransform",bV)}}}if(bn>=3&&bP.getItem(bn-2).type==3&&bP.getItem(bn-3).type==2&&bP.getItem(bn-1).type==2&&bH.nodeName!="use"){bO=3;b2=r(bP,bn-3,bn-1).matrix;bP.removeItem(bn-1);bP.removeItem(bn-2);bP.removeItem(bn-3)}else{if(bn==4&&bP.getItem(bn-1).type==1){bO=3;b2=r(bP).matrix;var bS=G.createSVGTransform();bS.setMatrix(b2);bP.clear();bP.appendItem(bS);b2=G.createSVGMatrix()}else{if((bn==1||(bn>1&&bP.getItem(1).type!=3))&&bP.getItem(0).type==2){bO=2;var cd=bP.getItem(0).matrix,bo=r(bP,1).matrix,bm=bo.inverse();b2=ag(bm,cd,bo);bP.removeItem(0)}else{if(bn==1&&bP.getItem(0).type==1&&!bx){b2=r(bP).matrix;switch(bH.tagName){case"line":bB=$(bH).attr(["x1","y1","x2","y2"]);case"polyline":case"polygon":bB.points=bH.getAttribute("points");if(bB.points){var bA=bH.points;var by=bA.numberOfItems;bB.points=new Array(by);for(var cb=0;cb<by;++cb){var bq=bA.getItem(cb);bB.points[cb]={x:bq.x,y:bq.y}}}case"path":bB.d=bH.getAttribute("d");bO=1;bP.clear();break;default:break}}else{bO=4;if(bx){var bh=G.createSVGTransform();bh.setRotate(bx,bi.x,bi.y);bP.insertItemBefore(bh,0)}if(bP.numberOfItems==0){bH.removeAttribute("transform")}return null}}}}if(bO==1||bO==2||bO==3){B(bH,bB,b2)}if(bO==2){if(bx){bi={x:cj.x+b2.e,y:cj.y+b2.f};var bh=G.createSVGTransform();bh.setRotate(bx,bi.x,bi.y);bP.insertItemBefore(bh,0)}}else{if(bO==3){var b2=r(bP).matrix;var bf=G.createSVGTransform();bf.setRotate(bx,cj.x,cj.y);var bM=bf.matrix;var b1=G.createSVGTransform();b1.setRotate(bx,bi.x,bi.y);var bC=b1.matrix.inverse();var b5=b2.inverse();var bW=ag(b5,bC,bM,b2);B(bH,bB,bW);if(bx){bP.insertItemBefore(b1,0)}}}}if(bP.numberOfItems==0){bH.removeAttribute("transform")}bg.addSubCommand(new au(bH,cg));return bg};this.clearSelection=function(bi){if(aO[0]!=null){var bf=aO.length;for(var bg=0;bg<bf;++bg){var bh=aO[bg];if(bh==null){break}F.releaseSelector(bh);aO[bg]=null}t[0]=null}if(!bi){ah("selected",aO)}};this.addToSelection=function(bf,bj){if(bf.length==0){return}var bg=0;while(bg<aO.length){if(aO[bg]==null){break}++bg}var bh=bf.length;while(bh--){var bi=bf[bh];if(!bi||!this.getBBox(bi)){continue}if(aO.indexOf(bi)==-1){aO[bg]=bi;if(bg==0){t[bg]=this.getBBox(bi)}bg++;var bk=F.requestSelector(bi);if(aO.length>1){bk.showGrips(false)}}}if(aO[0]&&aO.length===1&&aO[0].tagName=="a"){aO[0]=aO[0].firstChild}ah("selected",aO);if(bj||aO.length==1){F.requestSelector(aO[0]).showGrips(true)}else{F.requestSelector(aO[0]).showGrips(false)}aO.sort(function(bm,bl){if(bm&&bl&&bm.compareDocumentPosition){return 3-(bl.compareDocumentPosition(bm)&6)}else{if(bm==null){return 1}}});while(aO[0]==null){aO.shift(0)}};this.removeFromSelection=function(bg){if(aO[0]==null){return}if(bg.length==0){return}var bj=new Array(aO.length),bl=new Array(t.length),bh=0,bf=aO.length;for(var bi=0;bi<bf;++bi){var bk=aO[bi];if(bk){if(bg.indexOf(bk)==-1){bj[bh]=bk;if(bh==0){bl[bh]=t[bi]}bh++}else{F.releaseSelector(bk)}}}aO=bj;t=bl};var o=null;var P=function(bg,bh,bf){return{x:bf.a*bg+bf.c*bh+bf.e,y:bf.b*bg+bf.d*bh+bf.f}};var a8=function(bf){return(bf.a==1&&bf.b==0&&bf.c==0&&bf.d==1&&bf.e==0&&bf.f==0)};this.smoothControlPoints=function(bf,bv,bu){var bh=bf.x-bu.x,bt=bf.y-bu.y,bg=bv.x-bu.x,br=bv.y-bu.y;if((bh!=0||bt!=0)&&(bg!=0||br!=0)){var bn=Math.atan2(bt,bh),bm=Math.atan2(br,bg),bj=Math.sqrt(bh*bh+bt*bt),bi=Math.sqrt(bg*bg+br*br),bl=G.createSVGPoint(),bk=G.createSVGPoint();if(bn<0){bn+=2*Math.PI}if(bm<0){bm+=2*Math.PI}var bs=Math.abs(bn-bm),bp=Math.abs(Math.PI-bs)/2;var bq,bo;if(bn-bm>0){bq=bs<Math.PI?(bn+bp):(bn-bp);bo=bs<Math.PI?(bm-bp):(bm+bp)}else{bq=bs<Math.PI?(bn-bp):(bn+bp);bo=bs<Math.PI?(bm+bp):(bm-bp)}bl.x=bj*Math.cos(bq)+bu.x;bl.y=bj*Math.sin(bq)+bu.y;bk.x=bi*Math.cos(bo)+bu.x;bk.y=bi*Math.sin(bo)+bu.y;return[bl,bk]}return undefined};var Y=this.smoothControlPoints;this.matrixMultiply=function(){var bg=1e-14,bk=function(bn,bm){var bl=G.createSVGMatrix();bl.a=bn.a*bm.a+bn.c*bm.b;bl.b=bn.b*bm.a+bn.d*bm.b,bl.c=bn.a*bm.c+bn.c*bm.d,bl.d=bn.b*bm.c+bn.d*bm.d,bl.e=bn.a*bm.e+bn.c*bm.f+bn.e,bl.f=bn.b*bm.e+bn.d*bm.f+bn.f;return bl},bi=arguments,bj=bi.length,bf=bi[bj-1];while(bj-->1){var bh=bi[bj-1];bf=bk(bh,bf)}if(Math.abs(bf.a)<bg){bf.a=0}if(Math.abs(bf.b)<bg){bf.b=0}if(Math.abs(bf.c)<bg){bf.c=0}if(Math.abs(bf.d)<bg){bf.d=0}if(Math.abs(bf.e)<bg){bf.e=0}if(Math.abs(bf.f)<bg){bf.f=0}return bf};var ag=this.matrixMultiply;var r=function(bl,bk,bg){var bk=bk==undefined?0:bk;var bg=bg==undefined?(bl.numberOfItems-1):bg;bk=parseInt(bk);bg=parseInt(bg);if(bk>bg){var bh=bg;bg=bk;bk=bh}var bf=G.createSVGMatrix();for(var bj=bk;bj<=bg;++bj){var bi=(bj>=0&&bj<bl.numberOfItems?bl.getItem(bj).matrix:G.createSVGMatrix());bf=ag(bf,bi)}return G.createSVGTransformFromMatrix(bf)};var aN=function(bh){if(!bh){return false}var bg=bh.numberOfItems;while(bg--){var bf=bh.getItem(bg);if(bf.type==1&&!a8(bf.matrix)){return true}}return false};var z=function(bf){var bg=bb.getTransformList(bf);return r(bg).matrix};var af=function(bg,bj){var bf=bg.matrix,bi={tx:0,ty:0,sx:1,sy:1,angle:0,cx:0,cy:0,text:""},bk=bj?ad:1;switch(bg.type){case 1:bi.text="matrix("+[bf.a,bf.b,bf.c,bf.d,bf.e,bf.f].join(",")+")";break;case 2:bi.tx=bf.e;bi.ty=bf.f;bi.text="translate("+bf.e*bk+","+bf.f*bk+")";break;case 3:bi.sx=bf.a;bi.sy=bf.d;if(bf.a==bf.d){bi.text="scale("+bf.a+")"}else{bi.text="scale("+bf.a+","+bf.d+")"}break;case 4:bi.angle=bg.angle;if(bg.angle!=0){var bh=1-bf.a;bi.cy=(bh*bf.f+bf.b*bf.e)/(bh*bh+bf.b*bf.b);bi.cx=(bf.e-bf.b*bi.cy)/bh}bi.text="rotate("+bg.angle+" "+bi.cx*bk+","+bi.cy*bk+")";break}return bi};var bd=function(bh,br,bo,bi,bg){var bk={x:bh,y:br},bl={x:(bh+bo),y:br},bf={x:(bh+bo),y:(br+bi)},bj={x:bh,y:(br+bi)};bk=P(bk.x,bk.y,bg);var bq=bk.x,bn=bk.x,bp=bk.y,bm=bk.y;bl=P(bl.x,bl.y,bg);bq=Math.min(bq,bl.x);bn=Math.max(bn,bl.x);bp=Math.min(bp,bl.y);bm=Math.max(bm,bl.y);bj=P(bj.x,bj.y,bg);bq=Math.min(bq,bj.x);bn=Math.max(bn,bj.x);bp=Math.min(bp,bj.y);bm=Math.max(bm,bj.y);bf=P(bf.x,bf.y,bg);bq=Math.min(bq,bf.x);bn=Math.max(bn,bf.x);bp=Math.min(bp,bf.y);bm=Math.max(bm,bf.y);return{tl:bk,tr:bl,bl:bj,br:bf,aabox:{x:bq,y:bp,width:(bn-bq),height:(bm-bp)}}};var aa=function(bf){if(bf==null){return null}var bg=bf.target;if(bg.correspondingUseElement){bg=bg.correspondingUseElement}if($.inArray(bg.namespaceURI,[f,O])!=-1&&bg.id!="svgcanvas"){while(bg.nodeName!="foreignObject"){bg=bg.parentNode}}while(bg.parentNode.parentNode.tagName=="g"){bg=bg.parentNode}if(bg.nodeName.toLowerCase()=="div"){bg=G}return bg};(function(){var bf=null,bm=null,bl=null,bk={},bg={minx:null,miny:null,maxx:null,maxy:null};var bi=function(bD){if(bD.button===1||bb.spaceKey){return}o=aj.getScreenCTM().inverse();var bE=P(bD.pageX,bD.pageY,o),by=bE.x*ad,bx=bE.y*ad;bD.preventDefault();if($.inArray(a1,["select","resize"])==-1){C()}var bC=by/ad,bA=bx/ad,bp=aa(bD);bm=bC;bl=bA;if(bp.parentNode==F.selectorParentGroup&&aO[0]!=null){var bB=bD.target.id,bw=bB.substr(0,20);if(bw=="selectorGrip_rotate_"){a1="rotate"}else{if(bw=="selectorGrip_resize_"){a1="resize";ab=bB.substr(20,bB.indexOf("_",20)-20)}}bp=aO[0]}ak=bp.getAttribute("transform");var bt=bb.getTransformList(bp);switch(a1){case"select":aE=true;ab="none";if(bp!=G){if(aO.indexOf(bp)==-1){if(!bD.shiftKey){bb.clearSelection(true)}bb.addToSelection([bp]);K=bp;w.clear()}for(var br=0;br<aO.length;++br){if(aO[br]==null){continue}var bv=bb.getTransformList(aO[br]);bv.insertItemBefore(G.createSVGTransform(),0)}}else{bb.clearSelection();a1="multiselect";if(j==null){j=F.getRubberBandBox()}bm*=ad;bl*=ad;ax(j,{x:bm,y:bl,width:0,height:0,display:"inline"},100)}break;case"zoom":aE=true;bm=bC;bl=bA;if(j==null){j=F.getRubberBandBox()}ax(j,{x:bm*ad,y:bl*ad,width:0,height:0,display:"inline"},100);break;case"resize":aE=true;bm=bC;bl=bA;bk=bb.getBBox($("#selectedBox0")[0]);$.each(bk,function(bF,bG){bk[bF]=bG/ad});var bz=bb.getRotationAngle(bp)?1:0;if(aN(bt)){bt.insertItemBefore(G.createSVGTransform(),bz);bt.insertItemBefore(G.createSVGTransform(),bz);bt.insertItemBefore(G.createSVGTransform(),bz)}else{bt.appendItem(G.createSVGTransform());bt.appendItem(G.createSVGTransform());bt.appendItem(G.createSVGTransform())}break;case"fhellipse":case"fhrect":case"fhpath":aE=true;bm=bC;bl=bA;bf=bC+","+bA+" ";var bq=aL.stroke_width==0?1:aL.stroke_width;c({element:"polyline",curStyles:true,attr:{points:bf,id:a6(),fill:"none",opacity:aL.opacity/2,"stroke-linecap":"round",style:"pointer-events:none"}});bg.minx=bC;bg.maxx=bC;bg.miny=bA;bg.maxy=bA;break;case"image":aE=true;bm=bC;bl=bA;var bu=c({element:"image",attr:{x:bC,y:bA,width:0,height:0,id:a6(),opacity:aL.opacity/2,style:"pointer-events:inherit"}});bu.setAttributeNS(aC,"xlink:href",ae);aU(bu);break;case"square":case"rect":aE=true;bm=bC;bl=bA;c({element:"rect",curStyles:true,attr:{x:bC,y:bA,width:0,height:0,id:a6(),opacity:aL.opacity/2}});break;case"line":aE=true;var bq=aL.stroke_width==0?1:aL.stroke_width;c({element:"line",curStyles:true,attr:{x1:bC,y1:bA,x2:bC,y2:bA,id:a6(),stroke:aL.stroke,"stroke-width":bq,"stroke-dasharray":aL.stroke_dasharray,"stroke-linejoin":aL.stroke_linejoin,"stroke-linecap":aL.stroke_linecap,"stroke-opacity":aL.stroke_opacity,fill:"none",opacity:aL.opacity/2,style:"pointer-events:none"}});break;case"circle":aE=true;c({element:"circle",curStyles:true,attr:{cx:bC,cy:bA,r:0,id:a6(),opacity:aL.opacity/2}});break;case"ellipse":aE=true;c({element:"ellipse",curStyles:true,attr:{cx:bC,cy:bA,rx:0,ry:0,id:a6(),opacity:aL.opacity/2}});break;case"text":aE=true;var bs=c({element:"text",curStyles:true,attr:{x:bC,y:bA,id:a6(),fill:a5.fill,"stroke-width":a5.stroke_width,"font-size":a5.font_size,"font-family":a5.font_family,"text-anchor":"middle","xml:space":"preserve"}});break;case"path":case"pathedit":bm*=ad;bl*=ad;w.mouseDown(bD,bp,bm,bl);aE=true;break;case"textedit":bm*=ad;bl*=ad;L.mouseDown(bD,bp,bm,bl);aE=true;break;case"rotate":aE=true;bb.beginUndoableChange("transform",aO);break;default:break}var bo=aG("mouseDown",{event:bD,start_x:bm,start_y:bl,selectedElements:aO},true);$.each(bo,function(bF,bG){if(bG&&bG.started){aE=true}})};var bn=function(bU){if(!aE){return}if(bU.button===1||bb.spaceKey){return}var bS=aO[0],bB=P(bU.pageX,bU.pageY,o),b1=bB.x*ad,b0=bB.y*ad,bM=b(A());x=b1/ad;y=b0/ad;bU.preventDefault();switch(a1){case"select":if(aO[0]!=null){var bt=x-bm;var bs=y-bl;if(bU.shiftKey){var bV=Utils.snapToAngle(bm,bl,x,y);x=bV.x;y=bV.y}if(bt!=0||bs!=0){var bK=aO.length;for(var b8=0;b8<bK;++b8){var bS=aO[b8];if(bS==null){break}if(b8==0){var bx=bb.getBBox(bS)}var b3=G.createSVGTransform();var bY=bb.getTransformList(bS);b3.setTranslate(bt,bs);if(bY.numberOfItems){bY.replaceItem(b3,0)}else{bY.appendItem(b3)}F.requestSelector(bS).resize()}}}break;case"multiselect":x*=ad;y*=ad;ax(j,{x:Math.min(bm,x),y:Math.min(bl,y),width:Math.abs(x-bm),height:Math.abs(y-bl)},100);var bT=[],b7=[],bu=aV(),bK=aO.length;for(var b8=0;b8<bK;++b8){var b9=bu.indexOf(aO[b8]);if(b9==-1){bT.push(aO[b8])}else{bu[b9]=null}}bK=bu.length;for(b8=0;b8<bK;++b8){if(bu[b8]){b7.push(bu[b8])}}if(bT.length>0){bb.removeFromSelection(bT)}if(b7.length>0){bb.addToSelection(b7)}break;case"resize":var bY=bb.getTransformList(bS),bC=aN(bY),bx=bC?bk:bb.getBBox(bS),bv=bx.x,bw=bx.y,bo=bx.width,bq=bx.height,bt=(x-bm),bs=(y-bl);var bJ=bb.getRotationAngle(bS);if(bJ){var b2=Math.sqrt(bt*bt+bs*bs),bL=Math.atan2(bs,bt)-bJ*Math.PI/180;bt=b2*Math.cos(bL);bs=b2*Math.sin(bL)}if(ab.indexOf("n")==-1&&ab.indexOf("s")==-1){bs=0}if(ab.indexOf("e")==-1&&ab.indexOf("w")==-1){bt=0}var cb=null,b6=0,b5=0,bz=bq?(bq+bs)/bq:1,bA=bo?(bo+bt)/bo:1;if(ab.indexOf("n")!=-1){bz=bq?(bq-bs)/bq:1;b5=bq}if(ab.indexOf("w")!=-1){bA=bo?(bo-bt)/bo:1;b6=bo}var cg=G.createSVGTransform(),bW=G.createSVGTransform(),bD=G.createSVGTransform();cg.setTranslate(-(bv+b6),-(bw+b5));if(bU.shiftKey){if(bA==1){bA=bz}else{bz=bA}}bW.setScale(bA,bz);bD.setTranslate(bv+b6,bw+b5);if(bC){var bR=bJ?1:0;bY.replaceItem(cg,2+bR);bY.replaceItem(bW,1+bR);bY.replaceItem(bD,0+bR)}else{var by=bY.numberOfItems;bY.replaceItem(bD,by-3);bY.replaceItem(bW,by-2);bY.replaceItem(cg,by-1)}var bE=t[0];bE.x=bv;bE.y=bw;if(b6){bE.x+=bt}if(b5){bE.y+=bs}F.requestSelector(bS).resize();break;case"zoom":x*=ad;y*=ad;ax(j,{x:Math.min(bm*ad,x),y:Math.min(bl*ad,y),width:Math.abs(x-bm*ad),height:Math.abs(y-bl*ad)},100);break;case"text":ax(bM,{x:x,y:y},1000);break;case"line":var bN=null;if(!window.opera){G.suspendRedraw(1000)}var bH=x;var ce=y;if(bU.shiftKey){var bV=Utils.snapToAngle(bm,bl,bH,ce);bH=bV.x;ce=bV.y}bM.setAttributeNS(null,"x2",bH);bM.setAttributeNS(null,"y2",ce);if(!window.opera){G.unsuspendRedraw(bN)}break;case"foreignObject":case"square":case"rect":case"image":var cd=(a1=="square")||bU.shiftKey,bZ=Math.abs(x-bm),ca=Math.abs(y-bl),bG,bF;if(cd){bZ=ca=Math.max(bZ,ca);bG=bm<x?bm:bm-bZ;bF=bl<y?bl:bl-ca}else{bG=Math.min(bm,x);bF=Math.min(bl,y)}ax(bM,{width:bZ,height:ca,x:bG,y:bF},1000);break;case"circle":var cc=$(bM).attr(["cx","cy"]);var bP=cc.cx,bO=cc.cy,br=Math.sqrt((x-bP)*(x-bP)+(y-bO)*(y-bO));bM.setAttributeNS(null,"r",br);break;case"ellipse":var cc=$(bM).attr(["cx","cy"]);var bP=cc.cx,bO=cc.cy;bN=null;if(!window.opera){G.suspendRedraw(1000)}bM.setAttributeNS(null,"rx",Math.abs(x-bP));var bQ=Math.abs(bU.shiftKey?(x-bP):(y-bO));bM.setAttributeNS(null,"ry",bQ);if(!window.opera){G.unsuspendRedraw(bN)}break;case"fhellipse":case"fhrect":bg.minx=Math.min(x,bg.minx);bg.maxx=Math.max(x,bg.maxx);bg.miny=Math.min(y,bg.miny);bg.maxy=Math.max(y,bg.maxy);case"fhpath":bm=x;bl=y;bf+=+x+","+y+" ";bM.setAttributeNS(null,"points",bf);break;case"path":case"pathedit":x*=ad;y*=ad;if(bU.shiftKey){var bI=path.dragging?path.dragging[0]:bm;var cf=path.dragging?path.dragging[1]:bl;var bV=Utils.snapToAngle(bI,cf,x,y);x=bV.x;y=bV.y}if(j&&j.getAttribute("display")!="none"){ax(j,{x:Math.min(bm,x),y:Math.min(bl,y),width:Math.abs(x-bm),height:Math.abs(y-bl)},100)}w.mouseMove(x,y);break;case"textedit":x*=ad;y*=ad;L.mouseMove(b1,b0);break;case"rotate":var bx=bb.getBBox(bS),bP=bx.x+bx.width/2,bO=bx.y+bx.height/2,b4=z(bS),bp=P(bP,bO,b4);bP=bp.x;bO=bp.y;var bJ=((Math.atan2(bO-y,bP-x)*(180/Math.PI))-90)%360;if(bU.shiftKey){var bX=45;bJ=Math.round(bJ/bX)*bX}bb.setRotationAngle(bJ<-180?(360+bJ):bJ,true);ah("changed",aO);break;default:break}aG("mouseMove",{event:bU,mouse_x:b1,mouse_y:b0,selected:bS})};var bj=function(by){if(by.button===1){return}var bt=K;K=null;if(!aE){return}var bB=P(by.pageX,by.pageY,o),bp=bB.x*ad,bo=bB.y*ad,bv=bp/ad,bu=bo/ad,br=b(A()),bH=false;aE=false;switch(a1){case"resize":case"multiselect":if(j!=null){j.setAttribute("display","none");aF=[]}a1="select";case"select":if(aO[0]!=null){if(aO[1]==null){var bA=aO[0];if(bA.tagName!="g"&&bA.tagName!="image"&&bA.tagName!="foreignObject"){q.fill=bA.getAttribute("fill");q.fill_opacity=bA.getAttribute("fill-opacity");q.stroke=bA.getAttribute("stroke");q.stroke_opacity=bA.getAttribute("stroke-opacity");q.stroke_width=bA.getAttribute("stroke-width");q.stroke_dasharray=bA.getAttribute("stroke-dasharray");q.stroke_linejoin=bA.getAttribute("stroke-linejoin");q.stroke_linecap=bA.getAttribute("stroke-linecap")}if(bA.tagName=="text"){a5.font_size=bA.getAttribute("font-size");a5.font_family=bA.getAttribute("font-family")}F.requestSelector(bA).showGrips(true)}aY();if(bv!=bm||bu!=bl){var bF=aO.length;for(var bE=0;bE<bF;++bE){if(aO[bE]==null){break}if(aO[bE].tagName!="g"){F.requestSelector(aO[bE]).resize()}}}else{var bx=by.target;if(aO[0].nodeName=="path"&&aO[1]==null){w.select(bx)}else{if(aO[0].nodeName=="text"&&aO[1]==null){L.select(bx,bv,bu)}else{if(by.shiftKey){if(bt!=bx){bb.removeFromSelection([bx])}}}}}}return;break;case"zoom":if(j!=null){j.setAttribute("display","none")}var bz=by.shiftKey?0.5:2;ah("zoomed",{x:Math.min(bm,bv),y:Math.min(bl,bu),width:Math.abs(bv-bm),height:Math.abs(bu-bl),factor:bz});return;case"fhpath":var bD=br.getAttribute("points");var bs=bD.indexOf(",");if(bs>=0){bH=bD.indexOf(",",bs+1)>=0}else{bH=bD.indexOf(" ",bD.indexOf(" ")+1)>=0}if(bH){br=w.smoothPolylineIntoPath(br)}break;case"line":var bC=$(br).attr(["x1","x2","y1","y2"]);bH=(bC.x1!=bC.x2||bC.y1!=bC.y2);break;case"foreignObject":case"square":case"rect":case"image":var bC=$(br).attr(["width","height"]);bH=(bC.width!=0||bC.height!=0)||a1==="image";break;case"circle":bH=(br.getAttribute("r")!=0);break;case"ellipse":var bC=$(br).attr(["rx","ry"]);bH=(bC.rx!=null||bC.ry!=null);break;case"fhellipse":if((bg.maxx-bg.minx)>0&&(bg.maxy-bg.miny)>0){br=c({element:"ellipse",curStyles:true,attr:{cx:(bg.minx+bg.maxx)/2,cy:(bg.miny+bg.maxy)/2,rx:(bg.maxx-bg.minx)/2,ry:(bg.maxy-bg.miny)/2,id:A()}});ah("changed",[br]);bH=true}break;case"fhrect":if((bg.maxx-bg.minx)>0&&(bg.maxy-bg.miny)>0){br=c({element:"rect",curStyles:true,attr:{x:bg.minx,y:bg.miny,width:(bg.maxx-bg.minx),height:(bg.maxy-bg.miny),id:A()}});ah("changed",[br]);bH=true}break;case"text":bH=true;bb.addToSelection([br]);L.start(br);break;case"path":br=null;aE=true;var bJ=w.mouseUp(by,br,bp,bo);br=bJ.element;bH=bJ.keep;break;case"pathedit":bH=true;br=null;w.mouseUp(by);break;case"textedit":bH=false;br=null;L.mouseUp(by,bp,bo);break;case"rotate":bH=true;br=null;a1="select";var bw=bb.finishUndoableChange();if(!bw.isEmpty()){aQ(bw)}aY();break;default:break}var bG=aG("mouseUp",{event:by,mouse_x:bp,mouse_y:bo},true);$.each(bG,function(bK,bL){if(bL){bH=bL.keep||bH;br=bL.element;aE=bL.started||aE}});if(!bH&&br!=null){br.parentNode.removeChild(br);br=null;var bx=by.target;while(bx.parentNode.parentNode.tagName=="g"){bx=bx.parentNode}if((a1!="path"||current_path_pts.length==0)&&bx.parentNode.id!="selectorParentGroup"&&bx.id!="svgcanvas"&&bx.id!="svgroot"){bb.addToSelection([bx],true);bb.setMode("select")}}else{if(br!=null){bb.addedNew=true;var bI=0.2,bq;if(N.beginElement&&br.getAttribute("opacity")!=aL.opacity){bq=$(N).clone().attr({to:aL.opacity,dur:bI}).appendTo(br);bq[0].beginElement()}else{bI=0}setTimeout(function(){if(bq){bq.remove()}br.setAttribute("opacity",aL.opacity);br.setAttribute("style","pointer-events:inherit");ar(br);if(a1=="path"){w.toEditMode(br)}else{if(a1=="text"||a1=="image"||a1=="foreignObject"){bb.addToSelection([br],true)}}aQ(new a(br));ah("changed",[br])},bI*1000)}}ak=null};var bh=function(bo){bo.preventDefault();return false};$(aJ).mousedown(bi).mousemove(bn).click(bh);$(window).mouseup(bj);$(aJ).bind("mousewheel DOMMouseScroll",function(bp){if(!bp.shiftKey){return}bp.preventDefault();o=aj.getScreenCTM().inverse();var bo=P(bp.pageX,bp.pageY,o);var bq={x:bo.x,y:bo.y,width:0,height:0};if(bp.wheelDelta){if(bp.wheelDelta>=120){bq.factor=2}else{if(bp.wheelDelta<=-120){bq.factor=0.5}}}else{if(bp.detail){if(bp.detail>0){bq.factor=0.5}else{if(bp.detail<0){bq.factor=2}}}}if(!bq.factor){return}ah("zoomed",bq)})}());var L=bb.textActions=function(){var bo,bs;var bu;var bk;var br;var bl;var bz=[];var bA,bt;var bv;var bh,bf;var bi;function bB(bC){var bD=(bu.value==="");if(!arguments.length){if(bD){bC=0}else{if(bu.selectionEnd!==bu.selectionStart){return}bC=bu.selectionEnd}}var bE;bE=bz[bC];if(!bD){bu.setSelectionRange(bC,bC)}bk=b("text_cursor");if(!bk){bk=document.createElementNS(aI,"line");ax(bk,{id:"text_cursor",stroke:"#333","stroke-width":1});bk=b("selectorParentGroup").appendChild(bk)}if(!bl){bl=setInterval(function(){var bH=(bk.getAttribute("display")==="none");bk.setAttribute("display",bH?"inline":"none")},600)}var bG=bp(bE.x,bA.y);var bF=bp(bE.x,(bA.y+bA.height));ax(bk,{x1:bG.x,y1:bG.y,x2:bF.x,y2:bF.y,visibility:"visible",display:"inline"});if(br){br.setAttribute("d","")}}function bm(bC,bF,bE){if(bC===bF){bB(bF);return}if(!bE){bu.setSelectionRange(bC,bF)}br=b("text_selectblock");if(!br){br=document.createElementNS(aI,"path");ax(br,{id:"text_selectblock",fill:"green",opacity:0.5,style:"pointer-events:none"});b("selectorParentGroup").appendChild(br)}var bI=bz[bC];var bJ=bz[bF];bk.setAttribute("visibility","hidden");var bL=bp(bI.x,bA.y),bH=bp(bI.x+(bJ.x-bI.x),bA.y),bD=bp(bI.x,bA.y+bA.height),bK=bp(bI.x+(bJ.x-bI.x),bA.y+bA.height);var bG="M"+bL.x+","+bL.y+" L"+bH.x+","+bH.y+" "+bK.x+","+bK.y+" "+bD.x+","+bD.y+"z";ax(br,{d:bG,display:"inline"})}function bn(bD,bC){var bF=G.createSVGPoint();bF.x=bD;bF.y=bC;if(bz.length==1){return 0}var bH=bo.getCharNumAtPosition(bF);if(bH<0){bH=bz.length-2;if(bD<=bz[0].x){bH=0}}else{if(bH>=bz.length-2){bH=bz.length-2}}var bG=bz[bH];var bE=bG.x+(bG.width/2);if(bD>bE){bH++}return bH}function bx(bD,bC){bB(bn(bD,bC))}function bw(bC,bI,bE){var bG=bu.selectionStart;var bF=bn(bC,bI);var bH=Math.min(bG,bF);var bD=Math.max(bG,bF);bm(bH,bD,!bE)}function bq(bF,bD){var bC={x:bF,y:bD};bC.x/=ad;bC.y/=ad;if(bv){var bE=P(bC.x,bC.y,bv.inverse());bC.x=bE.x;bC.y=bE.y}return bC}function bp(bF,bD){var bC={x:bF,y:bD};if(bv){var bE=P(bC.x,bC.y,bv);bC.x=bE.x;bC.y=bE.y}bC.x*=ad;bC.y*=ad;return bC}function bg(){if(bk){bk.setAttribute("visibility","hidden")}}function by(bC){bm(0,bo.textContent.length);$(this).unbind(bC)}function bj(bJ){if(!bi){return}var bK=P(bJ.pageX,bJ.pageY,o),bH=bK.x*ad,bF=bK.y*ad;var bL=bq(bH,bF);var bE=bn(bL.x,bL.y);var bG=bo.textContent;var bD=bG.substr(0,bE).replace(/[a-z0-9]+$/i,"").length;var bC=bG.substr(bE).match(/^[a-z0-9]+/i);var bI=(bC?bC[0].length:0)+bE;bm(bD,bI);$(bJ.target).click(by);setTimeout(function(){$(bJ.target).unbind("click",by)},300)}return{select:function(bD,bC,bE){if(bs==bD){bo=bD;L.toEditMode(bC,bE)}else{bs=bD}},start:function(bC){bo=bC;L.toEditMode()},mouseDown:function(bD,bF,bE,bC){var bG=bq(bE,bC);bu.focus();bx(bG.x,bG.y);bh=bE;bf=bC},mouseMove:function(bD,bC){var bE=bq(bD,bC);bw(bE.x,bE.y)},mouseUp:function(bE,bD,bC){var bF=bq(bD,bC);bw(bF.x,bF.y,true);if(bh===bD&&bf===bC&&bE.target!==bo){L.toSelectMode(true)}},setCursor:bB,toEditMode:function(bC,bE){bi=false;a1="textedit";F.requestSelector(bo).showGrips(false);L.init();$(bo).css("cursor","text");if(!arguments.length){bB()}else{var bD=bq(bC,bE);bx(bD.x,bD.y)}setTimeout(function(){bi=true},300)},toSelectMode:function(bC){a1="select";clearInterval(bl);bl=null;if(br){$(br).attr("display","none")}if(bk){$(bk).attr("visibility","hidden")}$(bo).css("cursor","move");if(bC){bb.clearSelection();$(bo).css("cursor","move");ah("selected",[bo]);bb.addToSelection([bo],true)}if(bo&&!bo.textContent.length){bb.deleteSelectedElements()}$(bu).blur();bo=false},setInputElem:function(bC){bu=bC;$(bu).blur(bg)},clear:function(){bs=null;if(a1=="textedit"){L.toSelectMode()}},init:function(bG){if(!bo){return}if(!bo.parentNode){bo=aO[0];F.requestSelector(bo).showGrips(false)}var bH=bo.textContent;var bD=bH.length;var bC=bo.getAttribute("transform");bA=bb.getBBox(bo);bv=bC?z(bo):null;bz=Array(bD);bu.focus();$(bo).unbind("dblclick",bj).dblclick(bj);if(!bD){var bE={x:bA.x+(bA.width/2),width:0}}for(var bF=0;bF<bD;bF++){var bI=bo.getStartPositionOfChar(bF);var bE=bo.getEndPositionOfChar(bF);bz[bF]={x:bI.x,y:bA.y,width:bE.x-bI.x,height:bA.height}}bz.push({x:bE.x,width:0});bm(bu.selectionStart,bu.selectionEnd,true)}}}();var w=function(){var bf=false;var by={};var bu;var bs;var bk={2:["x","y"],4:["x","y"],6:["x","y","x1","y1","x2","y2"],8:["x","y","x1","y1"],10:["x","y","r1","r2","angle","largeArcFlag","sweepFlag"],12:["x"],14:["y"]};function bD(){return bs}function bl(bF){bF.setAttribute("d",w.convertPath(bF))}function bp(bK,bM,bH){var bL=bK.pathSegList;if(aZ.pathInsertItemBefore){bL.insertItemBefore(bM,bH);return}var bG=bL.numberOfItems;var bF=[];for(var bJ=0;bJ<bG;bJ++){var bI=bL.getItem(bJ);bF.push(bI)}bL.clear();for(var bJ=0;bJ<bG;bJ++){if(bJ==bH){bL.appendItem(bM)}bL.appendItem(bF[bJ])}}function bo(bK,bH){var bG=bk[bK],bF=bG.length;var bI=Array(bF);for(var bJ=0;bJ<bF;bJ++){bI[bJ]=bH[bG[bJ]]}return bI}function bn(){var bG=b("pathpointgrip_container");if(!bG){var bF=b("selectorParentGroup");bG=bF.appendChild(document.createElementNS(aI,"g"));bG.id="pathpointgrip_container"}return bG}var bq=function(bH,bF,bK){var bJ=bn();var bI=b("pathpointgrip_"+bH);if(!bI){bI=document.createElementNS(aI,"circle");ax(bI,{id:"pathpointgrip_"+bH,display:"none",r:4,fill:"#0FF",stroke:"#00F","stroke-width":2,cursor:"move",style:"pointer-events:all","xlink:title":az.pathNodeTooltip});bI=bJ.appendChild(bI);var bG=$("#pathpointgrip_"+bH);bG.dblclick(function(){if(bs){bs.setSegType()}})}if(bF&&bK){ax(bI,{cx:bF,cy:bK,display:"inline"})}return bI};var bz=function(bF,bJ){var bG=bF.index;var bH=bq(bG);if(bJ){var bI=bj(bF);ax(bH,{cx:bI.x,cy:bI.y,display:"inline"})}return bH};var bv=function(bH,bG){var bK=bH.index;var bL=b("segline_"+bK);if(!bL){var bJ=bn();bL=document.createElementNS(aI,"path");ax(bL,{id:"segline_"+bK,display:"none",fill:"none",stroke:"#0FF","stroke-width":2,style:"pointer-events:none",d:"M0,0 0,0"});bJ.appendChild(bL)}if(bG){var bF=bH.prev;if(!bF){bL.setAttribute("display","none");return bL}var bN=bj(bF);bi(2,0,[bN.x,bN.y],bL);var bM=bo(bH.type,bH.item,true);for(var bI=0;bI<bM.length;bI+=2){var bN=bj(bH,{x:bM[bI],y:bM[bI+1]});bM[bI]=bN.x;bM[bI+1]=bN.y}bi(bH.type,1,bM,bL)}return bL};var bg=function(bJ){var bP=bJ.item;var bN=bJ.index;if(!("x1" in bP)||!("x2" in bP)){return null}var bL={};var bM=bn();var bG=bs.segs[bN-1].item;var bI=[bG,bP];for(var bK=1;bK<3;bK++){var bF=bN+"c"+bK;var bR=bL["c"+bK+"_line"]=b("ctrlLine_"+bF);if(!bR){bR=document.createElementNS(aI,"line");ax(bR,{id:"ctrlLine_"+bF,stroke:"#555","stroke-width":1,style:"pointer-events:none"});bM.appendChild(bR)}var bQ=bj(bJ,{x:bP["x"+bK],y:bP["y"+bK]});var bH=bj(bJ,{x:bI[bK-1].x,y:bI[bK-1].y});ax(bR,{x1:bQ.x,y1:bQ.y,x2:bH.x,y2:bH.y,display:"inline"});bL["c"+bK+"_line"]=bR;var bO=bL["c"+bK]=b("ctrlpointgrip_"+bF);if(!bO){bO=document.createElementNS(aI,"circle");ax(bO,{id:"ctrlpointgrip_"+bF,display:"none",r:4,fill:"#0FF",stroke:"#55F","stroke-width":1,cursor:"move",style:"pointer-events:all","xlink:title":az.pathCtrlPtTooltip});bM.appendChild(bO)}ax(bO,{cx:bQ.x,cy:bQ.y,display:"inline"});bL["c"+bK]=bO}return bL};function bj(bF,bJ){var bG={x:bJ?bJ.x:bF.item.x,y:bJ?bJ.y:bF.item.y},bI=bF.path;if(bI.matrix){var bH=P(bG.x,bG.y,bI.matrix);bG=bH}bG.x*=ad;bG.y*=ad;return bG}function bx(bH,bG){var bF={x:bH.x,y:bH.y};if(bG.matrix){var bH=P(bF.x,bF.y,bG.imatrix);bF.x=bH.x;bF.y=bH.y}bF.x/=ad;bF.y/=ad;return bF}function bt(bG,bI){var bH=this;bH.index=bG;bH.selected=false;bH.type=bI.pathSegType;var bF;bH.addGrip=function(){bF=bH.ptgrip=bz(bH,true);bH.ctrlpts=bg(bH,true);bH.segsel=bv(bH,true)};bH.item=bI;bH.show=function(bJ){if(bF){bF.setAttribute("display",bJ?"inline":"none");bH.segsel.setAttribute("display",bJ?"inline":"none");bH.showCtrlPts(bJ)}};bH.select=function(bJ){if(bF){bF.setAttribute("stroke",bJ?"#0FF":"#00F");bH.segsel.setAttribute("display",bJ?"inline":"none");if(bH.ctrlpts){bH.selectCtrls(bJ)}bH.selected=bJ}};bH.selectCtrls=function(bJ){$("#ctrlpointgrip_"+bH.index+"c1, #ctrlpointgrip_"+bH.index+"c2").attr("fill",bJ?"#0FF":"#EEE")};bH.update=function(bJ){bI=bH.item;if(bF){var bK=bj(bH);ax(bF,{cx:bK.x,cy:bK.y});bv(bH,true);if(bH.ctrlpts){if(bJ){bH.item=bs.elem.pathSegList.getItem(bH.index);bH.type=bH.item.pathSegType}bg(bH)}}};bH.move=function(bL,bK){var bN=bH.item;var bQ=bH;if(bQ.ctrlpts){var bJ=[bN.x+=bL,bN.y+=bK,bN.x1,bN.y1,bN.x2+=bL,bN.y2+=bK]}else{var bJ=[bN.x+=bL,bN.y+=bK]}bi(bQ.type,bQ.index,bJ);if(bH.next&&bH.next.ctrlpts){var bM=bH.next.item;var bO=[bM.x,bM.y,bM.x1+=bL,bM.y1+=bK,bM.x2,bM.y2];bi(bH.next.type,bH.next.index,bO)}if(bH.mate){var bN=bH.mate.item;var bP=[bN.x+=bL,bN.y+=bK];bi(bH.mate.type,bH.mate.index,bP)}bH.update(true);if(bH.next){bH.next.update(true)}};bH.setLinked=function(bK){var bJ,bO,bM;if(bK==2){bO=1;bJ=bH.next;if(!bJ){return}bM=bH.item}else{bO=2;bJ=bH.prev;if(!bJ){return}bM=bJ.item}var bL=bJ.item;bL["x"+bO]=bM.x+(bM.x-bH.item["x"+bK]);bL["y"+bO]=bM.y+(bM.y-bH.item["y"+bK]);var bN=[bL.x,bL.y,bL.x1,bL.y1,bL.x2,bL.y2];bi(bJ.type,bJ.index,bN);bJ.update(true)};bH.moveCtrl=function(bL,bK,bJ){var bM=bH.item;bM["x"+bL]+=bK;bM["y"+bL]+=bJ;var bN=[bM.x,bM.y,bM.x1,bM.y1,bM.x2,bM.y2];bi(bH.type,bH.index,bN);bH.update(true)};bH.setType=function(bK,bJ){bi(bK,bG,bJ);bH.type=bK;bH.item=bs.elem.pathSegList.getItem(bG);bH.showCtrlPts(bK===6);bH.ctrlpts=bg(bH);bH.update(true)};bH.showCtrlPts=function(bK){if(bH.ctrlpts){for(var bJ in bH.ctrlpts){bH.ctrlpts[bJ].setAttribute("display",bK?"inline":"none")}}}}function bB(bF){if(!bF||bF.tagName!=="path"){return false}var bG=bs=this;this.elem=bF;this.segs=[];this.selected_pts=[];this.init=function(){$(bn()).find("*").attr("display","none");var bK=bF.pathSegList;var bQ=bK.numberOfItems;bG.segs=[];bG.selected_pts=[];bG.first_seg=null;for(var bN=0;bN<bQ;bN++){var bR=bK.getItem(bN);var bO=new bt(bN,bR);bO.path=bG;bG.segs.push(bO)}var bI=bG.segs;var bP=null;for(var bN=0;bN<bQ;bN++){var bM=bI[bN];var bL=(bN+1)>=bQ?null:bI[bN+1];var bH=(bN-1)<0?null:bI[bN-1];if(bM.type===2){if(bH&&bH.type!==1){var bJ=bI[bP];bJ.next=bI[bP+1];bJ.next.prev=bJ;bJ.addGrip()}bP=bN}else{if(bL&&bL.type===1){bM.next=bI[bP+1];bM.next.prev=bM;bM.mate=bI[bP];bM.addGrip();if(bG.first_seg==null){bG.first_seg=bM}}else{if(!bL){if(bM.type!==1){var bJ=bI[bP];bJ.next=bI[bP+1];bJ.next.prev=bJ;bJ.addGrip();bM.addGrip();if(!bG.first_seg){bG.first_seg=bI[bP]}}}else{if(bM.type!==1){bM.addGrip();if(bL&&bL.type!==2){bM.next=bL;bM.next.prev=bM}}}}}}return bG};this.init();this.update=function(){if(bb.getRotationAngle(bG.elem)){bG.matrix=z(bs.elem);bG.imatrix=bG.matrix.inverse()}bG.eachSeg(function(bH){this.item=bF.pathSegList.getItem(bH);this.update()});return bG};this.eachSeg=function(bK){var bH=bG.segs.length;for(var bJ=0;bJ<bH;bJ++){var bI=bK.call(bG.segs[bJ],bJ);if(bI===false){break}}};this.addSeg=function(bS){var bR=bG.segs[bS];if(!bR.prev){return}var bO=bR.prev;var bN;switch(bR.item.pathSegType){case 4:var bU=(bR.item.x+bO.item.x)/2;var bT=(bR.item.y+bO.item.y)/2;bN=bF.createSVGPathSegLinetoAbs(bU,bT);break;case 6:var bW=(bO.item.x+bR.item.x1)/2;var bM=(bR.item.x1+bR.item.x2)/2;var bQ=(bR.item.x2+bR.item.x)/2;var bL=(bW+bM)/2;var bJ=(bM+bQ)/2;var bU=(bL+bJ)/2;var bV=(bO.item.y+bR.item.y1)/2;var bK=(bR.item.y1+bR.item.y2)/2;var bP=(bR.item.y2+bR.item.y)/2;var bI=(bV+bK)/2;var bH=(bK+bP)/2;var bT=(bI+bH)/2;bN=bF.createSVGPathSegCurvetoCubicAbs(bU,bT,bW,bV,bL,bI);var bX=[bR.item.x,bR.item.y,bJ,bH,bQ,bP];bi(bR.type,bS,bX);break}bp(bF,bN,bS)};this.deleteSeg=function(bI){var bH=bG.segs[bI];var bL=bF.pathSegList;bH.show(false);var bJ=bH.next;if(bH.mate){var bM=[bJ.item.x,bJ.item.y];bi(2,bJ.index,bM);bi(4,bH.index,bM);bL.removeItem(bH.mate.index)}else{if(!bH.prev){var bK=bH.item;var bM=[bJ.item.x,bJ.item.y];bi(2,bH.next.index,bM);bL.removeItem(bI)}else{bL.removeItem(bI)}}};this.endChanges=function(bI){if(aA){bl(bG.elem)}var bH=new au(bF,{d:bG.last_d},bI);aQ(bH);ah("changed",[bF])};this.subpathIsClosed=function(bI){var bH=false;bs.eachSeg(function(bJ){if(bJ<=bI){return true}if(this.type===2){return false}else{if(this.type===1){bH=true;return false}}});return bH};this.addPtsToSelection=function(bJ){if(!$.isArray(bJ)){bJ=[bJ]}for(var bK=0;bK<bJ.length;bK++){var bI=bJ[bK];var bH=bG.segs[bI];if(bH.ptgrip){if($.inArray(bI,bG.selected_pts)==-1&&bI>=0){bG.selected_pts.push(bI)}}}bG.selected_pts.sort();var bK=bG.selected_pts.length,bM=new Array(bK);while(bK--){var bL=bG.selected_pts[bK];var bH=bG.segs[bL];bH.select(true);bM[bK]=bH.ptgrip}w.canDeleteNodes=true;w.closed_subpath=bG.subpathIsClosed(bG.selected_pts[0]);ah("selected",bM)};this.removePtFromSelection=function(bH){var bI=$.inArray(bH,bG.selected_pts);if(bI==-1){return}bG.segs[bH].select(false);bG.selected_pts.splice(bI,1)};this.clearSelection=function(){bG.eachSeg(function(bH){this.select(false)});bG.selected_pts=[]};this.selectPt=function(bI,bH){bG.clearSelection();if(bI==null){bG.eachSeg(function(bJ){if(this.prev){bI=bJ}})}bG.addPtsToSelection(bI);if(bH){bG.dragctrl=bH;if(br){bG.segs[bI].setLinked(bH)}}};this.storeD=function(){this.last_d=bF.getAttribute("d")};this.show=function(bH){bG.eachSeg(function(){this.show(bH)});if(bH){bG.selectPt(bG.first_seg.index)}return bG};this.movePts=function(bK,bJ){var bI=bG.selected_pts.length;while(bI--){var bH=bG.segs[bG.selected_pts[bI]];bH.move(bK,bJ)}};this.moveCtrl=function(bJ,bI){var bH=bG.segs[bG.selected_pts[0]];bH.moveCtrl(bG.dragctrl,bJ,bI);if(br){bH.setLinked(bG.dragctrl)}};this.setSegType=function(bO){bG.storeD();var bX=bG.selected_pts.length;var bT;while(bX--){var bV=bG.selected_pts[bX];var bI=bG.segs[bV];var bU=bI.prev;if(!bU){continue}if(!bO){bT="Toggle Path Segment Type";var bS=bI.type;bO=(bS==6)?4:6}bO=bO-0;var bP=bI.item.x;var bN=bI.item.y;var bK=bU.item.x;var bJ=bU.item.y;var bW;switch(bO){case 6:if(bI.olditem){var bH=bI.olditem;bW=[bP,bN,bH.x1,bH.y1,bH.x2,bH.y2]}else{var bR=bP-bK;var bQ=bN-bJ;var bM=(bK+(bR/3));var bL=(bJ+(bQ/3));var bZ=(bP-(bR/3));var bY=(bN-(bQ/3));bW=[bP,bN,bM,bL,bZ,bY]}break;case 4:bW=[bP,bN];bI.olditem=bI.item;break}bI.setType(bO,bW)}bs.endChanges(bT);return}}function bh(bF){var bG=by[bF.id];if(!bG){bG=by[bF.id]=new bB(bF)}return bG}var bw=[],bu=null,bC=[],br=false,bA=false;var bm=function(bI){var bO=bI.points;var bM=bO.numberOfItems;if(bM>=4){var bG=bO.getItem(0),bK=null;var bN=[];bN.push(["M",bG.x,",",bG.y," C"].join(""));for(var bJ=1;bJ<=(bM-4);bJ+=3){var bF=bO.getItem(bJ);var bR=bO.getItem(bJ+1);var bH=bO.getItem(bJ+2);if(bK){var bP=Y(bK,bF,bG);if(bP&&bP.length==2){var bL=bN[bN.length-1].split(",");bL[2]=bP[0].x;bL[3]=bP[0].y;bN[bN.length-1]=bL.join(",");bF=bP[1]}}bN.push([bF.x,bF.y,bR.x,bR.y,bH.x,bH.y].join(","));bG=bH;bK=bR}bN.push("L");for(;bJ<bM;++bJ){var bQ=bO.getItem(bJ);bN.push([bQ.x,bQ.y].join(","))}bN=bN.join(" ");bI=c({element:"path",curStyles:true,attr:{id:A(),d:bN,fill:"none"}});ah("changed",[bI])}return bI};var bi=function(bO,bN,bP,bF){var bQ=bF||bD().elem;var bG="createSVGPathSeg"+bw[bO];var bJ=bQ[bG].apply(bQ,bP);if(aZ.pathReplaceItem){bQ.pathSegList.replaceItem(bJ,bN)}else{var bH=bQ.pathSegList;var bM=bH.numberOfItems;var bL=[];for(var bK=0;bK<bM;bK++){var bI=bH.getItem(bK);bL.push(bI)}bH.clear();for(var bK=0;bK<bM;bK++){if(bK==bN){bH.appendItem(bJ)}else{bH.appendItem(bL[bK])}}}};var bE=function(){var bQ=bs.elem;var bV=bb.getRotationAngle(bQ,true);if(!bV){return}t[0]=bs.oldbbox;var bL=bb.getBBox(bQ),bP=t[0],bG=bP.x+bP.width/2,bF=bP.y+bP.height/2,bZ=bL.x+bL.width/2,bX=bL.y+bL.height/2,bN=bZ-bG,bM=bX-bF,bO=Math.sqrt(bN*bN+bM*bM),bJ=Math.atan2(bM,bN)+bV;bZ=bO*Math.cos(bJ)+bG;bX=bO*Math.sin(bJ)+bF;var bT=function(b0,b1){bN=b0-bG;bM=b1-bF;bO=Math.sqrt(bN*bN+bM*bM);bJ=Math.atan2(bM,bN)+bV;bN=bO*Math.cos(bJ)+bG;bM=bO*Math.sin(bJ)+bF;bN-=bZ;bM-=bX;bO=Math.sqrt(bN*bN+bM*bM);bJ=Math.atan2(bM,bN)-bV;return{x:(bO*Math.cos(bJ)+bZ)/1,y:(bO*Math.sin(bJ)+bX)/1}};var bW=bQ.pathSegList,bS=bW.numberOfItems;while(bS){bS-=1;var bU=bW.getItem(bS),bI=bU.pathSegType;if(bI==1){continue}var bY=bT(bU.x,bU.y),bR=[bY.x,bY.y];if(bU.x1!=null&&bU.x2!=null){c_vals1=bT(bU.x1,bU.y1);c_vals2=bT(bU.x2,bU.y2);bR.splice(bR.length,0,c_vals1.x,c_vals1.y,c_vals2.x,c_vals2.y)}bi(bI,bS,bR)}bL=bb.getBBox(bQ);t[0].x=bL.x;t[0].y=bL.y;t[0].width=bL.width;t[0].height=bL.height;var bH=G.createSVGTransform(),bK=bb.getTransformList(bQ);bH.setRotate((bV*180/Math.PI),bZ,bX);bK.replaceItem(bH,0)};return{init:function(){bw=[0,"ClosePath"];var bF=["Moveto","Lineto","CurvetoCubic","CurvetoQuadratic","Arc","LinetoHorizontal","LinetoVertical","CurvetoCubicSmooth","CurvetoQuadraticSmooth"];$.each(bF,function(bG,bH){bw.push(bH+"Abs");bw.push(bH+"Rel")})},getPath:function(){return bs},mouseDown:function(bN,bH,bM,bL){if(a1=="path"){return}if(!bs){return}bs.storeD();var bF=bN.target.id;if(bF.substr(0,14)=="pathpointgrip_"){var bG=bs.cur_pt=parseInt(bF.substr(14));bs.dragging=[bM,bL];var bK=bs.segs[bG];if(!bN.shiftKey){if(bs.selected_pts.length<=1||!bK.selected){bs.clearSelection()}bs.addPtsToSelection(bG)}else{if(bK.selected){bs.removePtFromSelection(bG)}else{bs.addPtsToSelection(bG)}}}else{if(bF.indexOf("ctrlpointgrip_")==0){bs.dragging=[bM,bL];var bJ=bF.split("_")[1].split("c");var bG=bJ[0]-0;var bI=bJ[1]-0;bs.selectPt(bG,bI)}}if(!bs.dragging){if(j==null){j=F.getRubberBandBox()}ax(j,{x:bM*ad,y:bL*ad,width:0,height:0,display:"inline"},100)}},mouseMove:function(bI,bF){bA=true;if(a1=="path"){var bH=b("path_stretch_line");if(bH){bH.setAttribute("x2",bI);bH.setAttribute("y2",bF)}return}if(bs.dragging){var bL=bx({x:bs.dragging[0],y:bs.dragging[1]},bs);var bG=bx({x:bI,y:bF},bs);var bK=bG.x-bL.x;var bJ=bG.y-bL.y;bs.dragging=[bI,bF];if(bs.dragctrl){bs.moveCtrl(bK,bJ)}else{bs.movePts(bK,bJ)}}else{bs.selected_pts=[];bs.eachSeg(function(bO){var bM=this;if(!bM.next&&!bM.prev){return}var bP=bM.item;var bN=j.getBBox();var bS=bj(bM);var bR={x:bS.x,y:bS.y,width:0,height:0};var bQ=Utils.rectsIntersect(bN,bR);this.select(bQ);if(bQ){bs.selected_pts.push(bM.index)}})}},mouseUp:function(bQ,bH,bG,bF){if(a1=="path"){var bN=bG/ad,bM=bF/ad,bI=b("path_stretch_line");if(!bI){bI=document.createElementNS(aI,"line");ax(bI,{id:"path_stretch_line",stroke:"#22C","stroke-width":"0.5"});bI=b("selectorParentGroup").appendChild(bI)}bI.setAttribute("display","inline");var b0=null;if(bC.length==0){bC.push(bN);bC.push(bM);d_attr="M"+bN+","+bM+" ";c({element:"path",curStyles:true,attr:{d:d_attr,id:a6(),opacity:aL.opacity/2,}});ax(bI,{x1:bG,y1:bF,x2:bG,y2:bF});var bK=bf?bs.segs.length:0;bq(bK,bG,bF)}else{var bW=bC.length;var bJ=6/ad;var bV=false;while(bW){bW-=2;var bR=bC[bW],bP=bC[bW+1];if(bN>=(bR-bJ)&&bN<=(bR+bJ)&&bM>=(bP-bJ)&&bM<=(bP+bJ)){bV=true;break}}var bT=A();if(bT in by){delete by[bT]}var bZ=b(bT);var bY=bC.length;if(bV){if(bW==0&&bY>=6){var b2=bC[0];var b1=bC[1];d_attr+=["L",b2,",",b1,"z"].join("");bZ.setAttribute("d",d_attr)}else{if(bY<3){b0=false;return b0}}$(bI).remove();bH=bZ;bC=[];aE=false;if(bf){if(bs.matrix){B(bZ,{},bs.matrix.inverse())}var b3=bZ.getAttribute("d");var bX=$(bs.elem).attr("d");$(bs.elem).attr("d",bX+b3);$(bZ).remove();if(bs.matrix){bE()}bs.init();w.toEditMode(bs.elem);bs.selectPt();return false}}else{if(!$.contains(aJ,aa(bQ))){console.log("Clicked outside canvas");return false}var bU=bC[bY-2],bS=bC[bY-1];if(bQ.shiftKey){var bO=Utils.snapToAngle(bU,bS,bN,bM);bN=bO.x;bM=bO.y}bC.push(bN);bC.push(bM);d_attr+="L"+Q(bN)+","+Q(bM)+" ";bZ.setAttribute("d",d_attr);ax(bI,{x1:bN,y1:bM,x2:bN,y2:bM});var bK=(bC.length/2-1);if(bf){bK+=bs.segs.length}bq(bK,bN,bM)}b0=true}return{keep:b0,element:bH}}if(bs.dragging){var bL=bs.cur_pt;bs.dragging=false;bs.dragctrl=false;bs.update();if(bA){bs.endChanges("Move path point(s)")}if(!bQ.shiftKey&&!bA){bs.selectPt(bL)}}else{if(j&&j.getAttribute("display")!="none"){j.setAttribute("display","none");if(j.getAttribute("width")<=2&&j.getAttribute("height")<=2){w.toSelectMode(bQ.target)}}else{w.toSelectMode(bQ.target)}}bA=false},clearData:function(){by={}},toEditMode:function(bF){bs=bh(bF);a1="pathedit";bb.clearSelection();bs.show(true).update();bs.oldbbox=bb.getBBox(bs.elem);bf=false},toSelectMode:function(bF){var bG=(bF==bs.elem);a1="select";bs.show(false);bu=false;bb.clearSelection();if(bs.matrix){bE()}if(bG){ah("selected",[bF]);bb.addToSelection([bF],true)}},addSubPath:function(bF){if(bF){a1="path";bf=true}else{w.clear(true);w.toEditMode(bs.elem)}},select:function(bF){if(bu==bF){w.toEditMode(bF);a1="pathedit"}else{bu=bF}},reorient:function(){var bH=aO[0];if(!bH){return}var bI=bb.getRotationAngle(bH);if(bI==0){return}var bF=new ay("Reorient path");var bG={d:bH.getAttribute("d"),transform:bH.getAttribute("transform")};bF.addSubCommand(new au(bH,bG));bb.clearSelection();this.resetOrientation(bH);aQ(bF);bh(bH).show(false).matrix=null;this.clear();bb.addToSelection([bH],true);ah("changed",aO)},clear:function(bF){bu=null;if(a1=="path"&&bC.length>0){var bG=b(A());$(b("path_stretch_line")).remove();$(bG).remove();$(b("pathpointgrip_container")).find("*").attr("display","none");bC=[];aE=false}else{if(a1=="pathedit"){this.toSelectMode()}}if(bs){bs.init().show(false)}},resetOrientation:function(bP){if(bP==null||bP.nodeName!="path"){return false}var bL=bb.getTransformList(bP);var bG=r(bL).matrix;bL.clear();bP.removeAttribute("transform");var bH=bP.pathSegList;try{var bM=bH.numberOfItems}catch(bI){var bF=w.convertPath(bP);bP.setAttribute("d",bF);bH=bP.pathSegList;var bM=bH.numberOfItems}for(var bK=0;bK<bM;++bK){var bJ=bH.getItem(bK);var bN=bJ.pathSegType;if(bN==1){continue}var bO=[];$.each(["",1,2],function(bR,bU){var bQ=bJ["x"+bU],bT=bJ["y"+bU];if(bQ&&bT){var bS=P(bQ,bT,bG);bO.splice(bO.length,0,bS.x,bS.y)}});bi(bN,bK,bO,bP)}},zoomChange:function(){if(a1=="pathedit"){bs.update()}},getNodePoint:function(){var bG=bs.selected_pts.length?bs.selected_pts[0]:1;var bF=bs.segs[bG];return{x:bF.item.x,y:bF.item.y,type:bF.type}},linkControlPoints:function(bF){br=bF},clonePathNode:function(){bs.storeD();var bG=bs.selected_pts;var bF=bs.segs;var bH=bG.length;var bJ=[];while(bH--){var bI=bG[bH];bs.addSeg(bI);bJ.push(bI+bH);bJ.push(bI+bH+1)}bs.init().addPtsToSelection(bJ);bs.endChanges("Clone path node(s)")},opencloseSubPath:function(){var bF=bs.selected_pts;if(bF.length!==1){return}var bI=bs.elem;var bP=bI.pathSegList;var bO=bP.numberOfItems;var bN=bF[0];var bQ=null;var bH=null;bs.eachSeg(function(bV){if(this.type===2&&bV<=bN){bH=this.item}if(bV<=bN){return true}if(this.type===2){bQ=bV;return false}else{if(this.type===1){bQ=false;return false}}});if(bQ==null){bQ=bs.segs.length-1}if(bQ!==false){var bJ=bI.createSVGPathSegLinetoAbs(bH.x,bH.y);var bS=bI.createSVGPathSegClosePath();if(bQ==bs.segs.length-1){bP.appendItem(bJ);bP.appendItem(bS)}else{bp(bI,bS,bQ);bp(bI,bJ,bQ)}bs.init().selectPt(bQ+1);return}var bK=bs.segs[bN];if(bK.mate){bP.removeItem(bN);bP.removeItem(bN);bs.init().selectPt(bN-1);return}var bG,bU;for(var bL=0;bL<bP.numberOfItems;bL++){var bR=bP.getItem(bL);if(bR.pathSegType===2){bG=bL}else{if(bL===bN){bP.removeItem(bG)}else{if(bR.pathSegType===1&&bN<bL){bU=bL-1;bP.removeItem(bL);break}}}}var bM=(bN-bG)-1;while(bM--){bp(bI,bP.getItem(bG),bU)}var bT=bP.getItem(bG);bi(2,bG,[bT.x,bT.y]);var bL=bN;bs.init().selectPt(0)},deletePathNode:function(){if(!w.canDeleteNodes){return}bs.storeD();var bF=bs.selected_pts;var bG=bF.length;while(bG--){var bJ=bF[bG];bs.deleteSeg(bJ)}var bH=function(){var bM=bs.elem.pathSegList;var bL=bM.numberOfItems;var bK=function(bS,bR){while(bR--){bM.removeItem(bS)}};if(bL<=1){return true}while(bL--){var bP=bM.getItem(bL);if(bP.pathSegType===1){var bO=bM.getItem(bL-1);var bN=bM.getItem(bL-2);if(bO.pathSegType===2){bK(bL-1,2);bH();break}else{if(bN.pathSegType===2){bK(bL-2,3);bH();break}}}else{if(bP.pathSegType===2){if(bL>0){var bQ=bM.getItem(bL-1).pathSegType;if(bQ===2){bK(bL-1,1);bH();break}else{if(bQ===1&&bM.numberOfItems-1===bL){bK(bL,1);bH();break}}}}}}return false};bH();if(bs.elem.pathSegList.numberOfItems<=1){w.toSelectMode(bs.elem);bb.deleteSelectedElements();return}bs.init();bs.clearSelection();if(window.opera){var bI=$(bs.elem);bI.attr("d",bI.attr("d"))}bs.endChanges("Delete path node(s)")},smoothPolylineIntoPath:bm,setSegType:function(bF){bs.setSegType(bF)},moveNode:function(bF,bJ){var bH=bs.selected_pts;if(!bH.length){return}bs.storeD();var bG=bs.segs[bH[0]];var bI={x:0,y:0};bI[bF]=bJ-bG.item[bF];bG.move(bI.x,bI.y);bs.endChanges("Move path point")},fixEnd:function(bL){var bH=bL.pathSegList;var bG=bH.numberOfItems;var bF;for(var bI=0;bI<bG;++bI){var bK=bH.getItem(bI);if(bK.pathSegType===2){bF=bK}if(bK.pathSegType===1){var bJ=bH.getItem(bI-1);if(bJ.x!=bF.x||bJ.y!=bF.y){var bM=bL.createSVGPathSegLinetoAbs(bF.x,bF.y);bp(bL,bM,bI);w.fixEnd(bL);break}}}if(aA){bl(bL)}},convertPath:function(bO,bN){var bF=bO.pathSegList;var bS=bF.numberOfItems;var bQ=0,bP=0;var bW="";var bK=null;for(var bR=0;bR<bS;++bR){var bU=bF.getItem(bR);var bM=bU.x||0,bL=bU.y||0,bV=bU.x1||0,bH=bU.y1||0,bT=bU.x2||0,bG=bU.y2||0;var bI=bU.pathSegType;var bX=E[bI]["to"+(bN?"Lower":"Upper")+"Case"]();var bJ=function(bY,bZ,b0){var b1="";var bZ=bZ?" "+bZ.join(" "):"";var b0=b0?a3(b0):"";$.each(bY,function(b2,b3){bY[b2]=a3(b3)});bW+=bX+bY.join(" ")+bZ+b0};switch(bI){case 1:bW+="z";break;case 12:bM-=bQ;case 13:if(bN){bQ+=bM}else{bM+=bQ;bQ=bM}bJ([[bM]]);break;case 14:bL-=bP;case 15:if(bN){bP+=bL}else{bL+=bP;bP=bL}bJ([[bL]]);break;case 2:case 4:case 18:bM-=bQ;bL-=bP;case 5:case 3:if(bK&&bF.getItem(bR-1).pathSegType===1&&!bN){bQ=bK[0];bP=bK[1]}case 19:if(bN){bQ+=bM;bP+=bL}else{bM+=bQ;bL+=bP;bQ=bM;bP=bL}if(bI===3){bK=[bQ,bP]}bJ([[bM,bL]]);break;case 6:bM-=bQ;bV-=bQ;bT-=bQ;bL-=bP;bH-=bP;bG-=bP;case 7:if(bN){bQ+=bM;bP+=bL}else{bM+=bQ;bV+=bQ;bT+=bQ;bL+=bP;bH+=bP;bG+=bP;bQ=bM;bP=bL}bJ([[bV,bH],[bT,bG],[bM,bL]]);break;case 8:bM-=bQ;bV-=bQ;bL-=bP;bH-=bP;case 9:if(bN){bQ+=bM;bP+=bL}else{bM+=bQ;bV+=bQ;bL+=bP;bH+=bP;bQ=bM;bP=bL}bJ([[bV,bH],[bM,bL]]);break;case 10:bM-=bQ;bL-=bP;case 11:if(bN){bQ+=bM;bP+=bL}else{bM+=bQ;bL+=bP;bQ=bM;bP=bL}bJ([[bU.r1,bU.r2]],[bU.angle,(bU.largeArcFlag?1:0),(bU.sweepFlag?1:0)],[bM,bL]);break;case 16:bM-=bQ;bT-=bQ;bL-=bP;bG-=bP;case 17:if(bN){bQ+=bM;bP+=bL}else{bM+=bQ;bT+=bQ;bL+=bP;bG+=bP;bQ=bM;bP=bL}bJ([[bT,bG],[bM,bL]]);break}}return bW}}}();w.init();this.pathActions=w;var a3=function(bg){var bf=ai.round_digits;if(!isNaN(bg)){return Number(Number(bg).toFixed(bf))}else{if($.isArray(bg)){return a3(bg[0])+","+a3(bg[1])}}};this.convertToPath=function(bz,bA,bx){if(bz==null){var bF=aO;$.each(aO,function(bG,bH){if(bH){bb.convertToPath(bH)}});return}if(!bA){var br=new ay("Convert element to Path")}var bv=bA?{}:{fill:aL.fill,"fill-opacity":aL.fill_opacity,stroke:aL.stroke,"stroke-width":aL.stroke_width,"stroke-dasharray":aL.stroke_dasharray,"stroke-linejoin":aL.stroke_linejoin,"stroke-linecap":aL.stroke_linecap,"stroke-opacity":aL.stroke_opacity,opacity:aL.opacity,visibility:"hidden"};$.each(["marker-start","marker-end","marker-mid","filter","clip-path"],function(){if(bz.getAttribute(this)){bv[this]=bz.getAttribute(this)}});var bt=c({element:"path",attr:bv});var bD=bz.getAttribute("transform");if(bD){bt.setAttribute("transform",bD)}var bu=bz.id;var bo=bz.parentNode;if(bz.nextSibling){bo.insertBefore(bt,bz)}else{bo.appendChild(bt)}var bB="";var bk=function(bG){$.each(bG,function(bJ,bI){var bH=bI[0],bL=bI[1];bB+=bH;for(var bK=0;bK<bL.length;bK+=2){bB+=(bL[bK]+","+bL[bK+1])+" "}})};var bl=1.81;switch(bz.tagName){case"ellipse":case"circle":var bE=$(bz).attr(["rx","ry","cx","cy"]);var bg=bE.cx,bf=bE.cy,bi=bE.rx,bh=bE.ry;if(bz.tagName=="circle"){bi=bh=$(bz).attr("r")}bk([["M",[(bg-bi),(bf)]],["C",[(bg-bi),(bf-bh/bl),(bg-bi/bl),(bf-bh),(bg),(bf-bh)]],["C",[(bg+bi/bl),(bf-bh),(bg+bi),(bf-bh/bl),(bg+bi),(bf)]],["C",[(bg+bi),(bf+bh/bl),(bg+bi/bl),(bf+bh),(bg),(bf+bh)]],["C",[(bg-bi/bl),(bf+bh),(bg-bi),(bf+bh/bl),(bg-bi),(bf)]],["Z",[]]]);break;case"path":bB=bz.getAttribute("d");break;case"line":var bE=$(bz).attr(["x1","y1","x2","y2"]);bB="M"+bE.x1+","+bE.y1+"L"+bE.x2+","+bE.y2;break;case"polyline":case"polygon":bB="M"+bz.getAttribute("points");break;case"rect":var bs=$(bz).attr(["rx","ry"]);var bi=bs.rx,bh=bs.ry;var bC=bz.getBBox();var bp=bC.x,bn=bC.y,bq=bC.width,bw=bC.height;var bl=4-bl;if(!bi&&!bh){bk([["M",[bp,bn]],["L",[bp+bq,bn]],["L",[bp+bq,bn+bw]],["L",[bp,bn+bw]],["L",[bp,bn]],["Z",[]]])}else{bk([["M",[bp,bn+bh]],["C",[bp,bn+bh/bl,bp+bi/bl,bn,bp+bi,bn]],["L",[bp+bq-bi,bn]],["C",[bp+bq-bi/bl,bn,bp+bq,bn+bh/bl,bp+bq,bn+bh]],["L",[bp+bq,bn+bw-bh]],["C",[bp+bq,bn+bw-bh/bl,bp+bq-bi/bl,bn+bw,bp+bq-bi,bn+bw]],["L",[bp+bi,bn+bw]],["C",[bp+bi/bl,bn+bw,bp,bn+bw-bh/bl,bp,bn+bw-bh]],["L",[bp,bn+bh]],["Z",[]]])}break;default:bt.parentNode.removeChild(bt);break}if(bB){bt.setAttribute("d",bB)}if(!bA){if(bD){var bm=bb.getTransformList(bt);if(aN(bm)){w.resetOrientation(bt)}}br.addSubCommand(new R(bz,bo));br.addSubCommand(new a(bt));bb.clearSelection();bz.parentNode.removeChild(bz);bt.setAttribute("id",bu);bt.removeAttribute("visibility");bb.addToSelection([bt],true);aQ(br)}else{w.resetOrientation(bt);var bj=false;try{bj=bt.getBBox()}catch(by){}bt.parentNode.removeChild(bt);return bj}};this.open=function(){};this.save=function(bf){this.clearSelection();if(bf){$.extend(ai,bf)}ai.apply=true;var bg=i();ah("saved",bg)};this.rasterExport=function(){this.clearSelection();var bg=[];var bf={feGaussianBlur:az.exportNoBlur,image:az.exportNoImage,foreignObject:az.exportNoforeignObject,"[stroke-dasharray]":az.exportNoDashArray};var bh=$(aj);if(!("font" in $("<canvas>")[0].getContext("2d"))){bf.text=az.exportNoText}$.each(bf,function(bj,bk){if(bh.find(bj).length){bg.push(bk)}});var bi=i();ah("exported",{svg:bi,issues:bg})};var at=function(bh,bf){if(bh&&bh.nodeType==1){bf(bh);var bg=bh.childNodes.length;while(bg--){at(bh.childNodes.item(bg),bf)}}};var a7=function(bh,bf){if(bh&&bh.nodeType==1){var bg=bh.childNodes.length;while(bg--){at(bh.childNodes.item(bg),bf)}bf(bh)}};this.getSvgString=function(){ai.apply=false;return i()};this.randomizeIds=function(){if(arguments.length>0&&arguments[0]==false){p=false;if(e.Arrows){ah("unsetarrownonce")}}else{p=true;if(!aj.getAttributeNS(an,"nonce")){aj.setAttributeNS(an,"se:nonce",m);if(e.Arrows){ah("setarrownonce",m)}}}};this.setSvgString=function(bj){try{var bm=Utils.text2xml(bj);M(bm.documentElement);var bf=new ay("Change Source");var bi=G.removeChild(aj);bf.addSubCommand(new R(bi,G));aj=G.appendChild(aK.importNode(bm.documentElement,true));n=aj.getAttributeNS(an,"nonce");if(n){p=true;m=n;if(e.Arrows){ah("setarrownonce",n)}}else{if(p){aj.setAttributeNS(be,"xmlns:se",an);aj.setAttributeNS(an,"se:nonce",m);if(e.Arrows){ah("setarrownonce",m)}}}$(aj).find("image").each(function(){var bq=this;aU(bq);var br=this.getAttributeNS(aC,"href");if(br.indexOf("data:")===0){var bo=br.match(/svgedit_url=(.*?);/);if(bo){var bp=decodeURIComponent(bo[1]);$(new Image()).load(function(){bq.setAttributeNS(aC,"xlink:href",bp)}).attr("src",bp)}}bb.embedImage(br)});$(aj).find("linearGradient, radialGradient").each(function(){var br=this;if($(br).attr("gradientUnits")==="userSpaceOnUse"){var bo=$(aj).find("[fill=url(#"+br.id+")],[stroke=url(#"+br.id+")]");if(!bo.length){return}var bq=bo[0].getBBox();if(br.tagName==="linearGradient"){var bp=$(br).attr(["x1","y1","x2","y2"]);$(br).attr({x1:(bp.x1-bq.x)/bq.width,y1:(bp.y1-bq.y)/bq.height,x2:(bp.x2-bq.x)/bq.width,y2:(bp.y1-bq.y)/bq.height});br.removeAttribute("gradientUnits")}else{}}});if(!aZ.goodDecimals){bb.fixOperaXML(aj,bm.documentElement)}a7(aj,function(bp){try{l(bp)}catch(bo){console.log(bo)}});var bh=$(aj);var bn={id:"svgcontent",overflow:J.show_outside_canvas?"visible":"hidden"};if(bh.attr("viewBox")){var bk=bh.attr("viewBox").split(" ");bn.width=bk[2];bn.height=bk[3]}else{$.each(["width","height"],function(bo,bp){var bq=bh.attr(bp)||100;if((bq+"").substr(-1)==="%"){bn[bp]=parseInt(bq)}else{bn[bp]=a2(bp,bq)}})}bh.attr(bn);this.contentW=bn.width;this.contentH=bn.height;bf.addSubCommand(new a(aj));var bl=bh.attr(["width","height"]);bf.addSubCommand(new au(G,bl));ad=1;Z();U={};bb.clearSelection();w.clearData();G.appendChild(F.selectorParentGroup);aQ(bf);ah("changed",[aj])}catch(bg){console.log(bg);return false}return true};this.importSvgString=function(bo){try{var by=Utils.text2xml(bo);M(by.documentElement);var bm=new ay("Change Source");var bg=aK.importNode(by.documentElement,true);if(W){var bi=bg.getAttribute("width"),bn=bg.getAttribute("height"),bj=bg.getAttribute("viewBox"),bh=bj?bj.split(" "):[0,0,bi,bn];for(var bv=0;bv<4;++bv){bh[bv]=Number(bh[bv])}var bq=Number(aj.getAttribute("width")),bB=Number(aj.getAttribute("height"));if(bn>bi){var bf="scale("+(bB/3)/bh[3]+")"}else{var bf="scale("+(bB/3)/bh[2]+")"}bf="translate(0) "+bf+" translate(0)";var bx=aK.createElementNS(aI,"g");while(bg.hasChildNodes()){bx.appendChild(bg.firstChild)}if(bf){bx.setAttribute("transform",bf)}var bt={};at(bx,function(bE){if(bE.nodeType==1){if(bE.id){if(!(bE.id in bt)){bt[bE.id]={elem:null,attrs:[],hrefs:[]}}bt[bE.id]["elem"]=bE}$.each(["clip-path","fill","filter","marker-end","marker-mid","marker-start","mask","stroke"],function(bH,bF){var bJ=bE.getAttributeNode(bF);if(bJ){var bG=am(bJ.value),bI=bG?bG.substr(1):null;if(bI){if(!(bI in bt)){bt[bI]={elem:null,attrs:[],hrefs:[]}}bt[bI]["attrs"].push(bJ)}}});var bC=bE.getAttributeNS(aC,"href");if(bC&&$.inArray(bE.nodeName,["filter","linearGradient","pattern","radialGradient","textPath","use"])!=-1){var bD=bC.substr(1);if(!(bD in bt)){bt[bD]={elem:null,attrs:[],hrefs:[]}}bt[bD]["hrefs"].push(bE)}}});for(var bl in bt){var bA=bt[bl]["elem"];if(bA){var bk=a6();a4++;bA.id=bk;var bp=bt[bl]["attrs"];var bv=bp.length;while(bv--){var bs=bp[bv];bs.ownerElement.setAttribute(bs.name,"url(#"+bk+")")}var bw=bt[bl]["hrefs"];var bu=bw.length;while(bu--){var br=bw[bu];br.setAttributeNS(aC,"xlink:href","#"+bk)}}}bx.id=a6();a4++;W.appendChild(bx)}if(!aZ.goodDecimals){bb.fixOperaXML(aj,bg)}a7(aj,function(bD){try{l(bD)}catch(bC){console.log(bC)}});bm.addSubCommand(new a(aj));U={};bb.clearSelection();aQ(bm);ah("changed",[aj])}catch(bz){console.log(bz);return false}return true};var Z=function(){aP=[];var bn=aj.childNodes.length;var bh=[],bo=[];for(var bk=0;bk<bn;++bk){var bg=aj.childNodes.item(bk);if(bg&&bg.nodeType==1){if(bg.tagName=="g"){var bf=$("title",bg).text();if(bf){bo.push(bf);aP.push([bf,bg]);W=bg;at(bg,function(bp){bp.setAttribute("style","pointer-events:inherit")});W.setAttribute("style","pointer-events:none")}else{bh.push(bg)}}else{if(bb.getBBox(bg)&&bg.nodeName!="defs"){var bm=bb.getBBox(bg);bh.push(bg)}}}}if(bh.length>0){var bk=1;while($.inArray(("Layer "+bk),bo)!=-1){bk++}var bi="Layer "+bk;W=aK.createElementNS(aI,"g");var bl=aK.createElementNS(aI,"title");bl.textContent=bi;W.appendChild(bl);for(var bj=0;bj<bh.length;++bj){W.appendChild(bh[bj])}W=aj.appendChild(W);aP.push([bi,W])}at(W,function(bp){bp.setAttribute("style","pointer-events:inherit")});W.setAttribute("style","pointer-events:all")};this.createLayer=function(bh){var bg=new ay("Create Layer");var bf=aK.createElementNS(aI,"g");var bi=aK.createElementNS(aI,"title");bi.textContent=bh;bf.appendChild(bi);bf=aj.appendChild(bf);bg.addSubCommand(new a(bf));aQ(bg);bb.clearSelection();Z();bb.setCurrentLayer(bh);ah("changed",[bf])};this.deleteCurrentLayer=function(){if(W&&aP.length>1){var bf=new ay("Delete Layer");var bg=W.parentNode;bf.addSubCommand(new R(W,bg));bg.removeChild(W);aQ(bf);bb.clearSelection();Z();bb.setCurrentLayer(aP[aP.length-1][0]);ah("changed",[aj]);return true}return false};this.getNumLayers=function(){return aP.length};this.getLayer=function(bf){if(bf>=0&&bf<bb.getNumLayers()){return aP[bf][0]}return""};this.getCurrentLayer=function(){for(var bf=0;bf<aP.length;++bf){if(aP[bf][1]==W){return aP[bf][0]}}return""};this.setCurrentLayer=function(bf){bf=d(bf);for(var bg=0;bg<aP.length;++bg){if(bf==aP[bg][0]){if(W!=aP[bg][1]){bb.clearSelection();W.setAttribute("style","pointer-events:none");W=aP[bg][1];W.setAttribute("style","pointer-events:all")}return true}}return false};this.renameCurrentLayer=function(bj){if(W){var bg=W;if(!bb.setCurrentLayer(bj)){var bh=new ay("Rename Layer");for(var bi=0;bi<aP.length;++bi){if(aP[bi][1]==bg){break}}var bk=aP[bi][0];aP[bi][0]=d(bj);var bf=bg.childNodes.length;for(var bi=0;bi<bf;++bi){var bl=bg.childNodes.item(bi);if(bl&&bl.tagName=="title"){while(bl.firstChild){bl.removeChild(bl.firstChild)}bl.textContent=bj;bh.addSubCommand(new au(bl,{"#text":bk}));aQ(bh);ah("changed",[bg]);return true}}}W=bg}return false};this.setCurrentLayerPosition=function(bh){if(W&&bh>=0&&bh<aP.length){for(var bf=0;bf<aP.length;++bf){if(aP[bf][1]==W){break}}if(bf==aP.length){return false}if(bf!=bh){var bi=null;var bg=W.nextSibling;if(bh>bf){if(bh<aP.length-1){bi=aP[bh+1][1]}}else{bi=aP[bh][1]}aj.insertBefore(W,bi);aQ(new S(W,bg,aj));Z();bb.setCurrentLayer(aP[bh][0]);return true}}return false};this.getLayerVisibility=function(bh){var bg=null;for(var bf=0;bf<aP.length;++bf){if(aP[bf][0]==bh){bg=aP[bf][1];break}}if(!bg){return false}return(bg.getAttribute("display")!="none")};this.setLayerVisibility=function(bi,bf){var bh=null;for(var bg=0;bg<aP.length;++bg){if(aP[bg][0]==bi){bh=aP[bg][1];break}}if(!bh){return false}var bj=bh.getAttribute("display");if(!bj){bj="inline"}bh.setAttribute("display",bf?"inline":"none");aQ(new au(bh,{display:bj},"Layer Visibility"));if(bh==W){bb.clearSelection();w.clear()}return true};this.moveSelectedToLayer=function(bl){var bj=null;for(var bi=0;bi<aP.length;++bi){if(aP[bi][0]==bl){bj=aP[bi][1];break}}if(!bj){return false}var bh=new ay("Move Elements to Layer");var bg=aO;var bi=bg.length;while(bi--){var bk=bg[bi];if(!bk){continue}var bm=bk.nextSibling;var bf=bk.parentNode;bj.appendChild(bk);bh.addSubCommand(new S(bk,bm,bf))}aQ(bh);return true};this.getLayerOpacity=function(bi){for(var bg=0;bg<aP.length;++bg){if(aP[bg][0]==bi){var bh=aP[bg][1];var bf=bh.getAttribute("opacity");if(!bf){bf="1.0"}return parseFloat(bf)}}return null};this.setLayerOpacity=function(bi,bf){if(bf<0||bf>1){return}for(var bg=0;bg<aP.length;++bg){if(aP[bg][0]==bi){var bh=aP[bg][1];bh.setAttribute("opacity",bf);break}}};this.selectAllInCurrentLayer=function(){if(W){bb.clearSelection();bb.addToSelection($(W).children());a1="select";ah("selected",aO)}};this.clear=function(){w.clear();var bg=aj.childNodes;var bf=aj.childNodes.length;var bh=0;this.clearSelection();for(var bi=0;bi<bf;bi++){if(bg[bh].nodeType==1){aj.removeChild(bg[bh])}else{bh++}}aP=[];bb.createLayer("Layer 1");aH();F.initGroup();j=F.getRubberBandBox();ah("cleared")};this.linkControlPoints=function(bf){w.linkControlPoints(bf)};this.getContentElem=function(){return aj};this.getRootElem=function(){return G};this.getSelectedElems=function(){return aO};this.getResolution=function(){return{w:aj.getAttribute("width")/ad,h:aj.getAttribute("height")/ad,zoom:ad}};this.getDocumentTitle=function(){var bg=aj.childNodes;for(var bf=0;bf<bg.length;bf++){if(bg[bf].nodeName=="title"){return bg[bf].textContent}}return""};this.setDocumentTitle=function(bi){var bj=aj.childNodes,bk=false,bh="";var bf=new ay("Change Image Title");for(var bg=0;bg<bj.length;bg++){if(bj[bg].nodeName=="title"){bk=bj[bg];bh=bk.textContent;break}}if(!bk){bk=aK.createElementNS(aI,"title");aj.insertBefore(bk,aj.firstChild)}if(bi.length){bk.textContent=bi}else{bk.parentNode.removeChild(bk)}bf.addSubCommand(new au(bk,{"#text":bh}));aQ(bf)};this.getEditorNS=function(bf){if(bf){aj.setAttribute("xmlns:se",an)}return an};this.setResolution=function(bm,bl){var bk=bb.getResolution();var bn=bk.w,bh=bk.h;var bg;if(bm=="fit"){var bo=bb.getStrokedBBox();if(bo){bg=new ay("Fit Canvas to Content");var bi=bb.getVisibleElements();bb.addToSelection(bi);var bq=[],bp=[];$.each(bi,function(br,bs){bq.push(bo.x*-1);bp.push(bo.y*-1)});var bf=bb.moveSelectedElements(bq,bp,true);bg.addSubCommand(bf);bb.clearSelection();bm=Math.round(bo.width);bl=Math.round(bo.height)}else{return false}}if(bm!=bn||bl!=bh){var bj=G.suspendRedraw(1000);if(!bg){bg=new ay("Change Image Dimensions")}bm=a2("width",bm);bl=a2("height",bl);aj.setAttribute("width",bm);aj.setAttribute("height",bl);this.contentW=bm;this.contentH=bl;bg.addSubCommand(new au(aj,{width:bn,height:bh}));aj.setAttribute("viewBox",[0,0,bm/ad,bl/ad].join(" "));bg.addSubCommand(new au(aj,{viewBox:["0 0",bn,bh].join(" ")}));aQ(bg);G.unsuspendRedraw(bj);ah("changed",[aj])}return true};this.getOffset=function(){return $(aj).attr(["x","y"])};this.setBBoxZoom=function(bg,bn,bh){var bm=0.85;var bl;var bj=function(br){if(!br){return false}var bq=Math.round((bn/br.width)*100*bm)/100;var bo=Math.round((bh/br.height)*100*bm)/100;var bp=Math.min(bq,bo);bb.setZoom(bp);return{zoom:bp,bbox:br}};if(typeof bg=="object"){bl=bg;if(bl.width==0||bl.height==0){var bf=bl.zoom?bl.zoom:ad*bl.factor;bb.setZoom(bf);return{zoom:ad,bbox:bl}}return bj(bl)}switch(bg){case"selection":if(!aO[0]){return}var bi=$.map(aO,function(bo){if(bo){return bo}});bl=bb.getStrokedBBox(bi);break;case"canvas":var bk=bb.getResolution();bm=0.95;bl={width:bk.w,height:bk.h,x:0,y:0};break;case"content":bl=bb.getStrokedBBox();break;case"layer":bl=bb.getStrokedBBox(bb.getVisibleElements(W));break;default:return}return bj(bl)};this.setZoom=function(bf){var bg=bb.getResolution();aj.setAttribute("viewBox","0 0 "+bg.w/bf+" "+bg.h/bf);ad=bf;$.each(aO,function(bh,bi){if(!bi){return}F.requestSelector(bi).resize()});w.zoomChange();aG("zoomChanged",bf)};this.getMode=function(){return a1};this.setMode=function(bf){w.clear(true);L.clear();q=(aO[0]&&aO[0].nodeName=="text")?a5:aL;a1=bf};this.getStrokeColor=function(){return q.stroke};this.setStrokeColor=function(bj,bg){aL.stroke=bj;q.stroke_paint={type:"solidColor"};var bf=[];var bh=aO.length;while(bh--){var bi=aO[bh];if(bi){if(bi.tagName=="g"){at(bi,function(bk){if(bk.nodeName!="g"){bf.push(bk)}})}else{bf.push(bi)}}}if(bf.length>0){if(!bg){this.changeSelectedAttribute("stroke",bj,bf);ah("changed",bf)}else{this.changeSelectedAttributeNoUndo("stroke",bj,bf)}}};this.getFillColor=function(){return q.fill};this.setFillColor=function(bj,bg){q.fill=bj;q.fill_paint={type:"solidColor"};var bf=[];var bh=aO.length;while(bh--){var bi=aO[bh];if(bi){if(bi.tagName=="g"){at(bi,function(bk){if(bk.nodeName!="g"){bf.push(bk)}})}else{if(bi.tagName!="polyline"&&bi.tagName!="line"){bf.push(bi)}}}}if(bf.length>0){if(!bg){this.changeSelectedAttribute("fill",bj,bf);ah("changed",bf)}else{this.changeSelectedAttributeNoUndo("fill",bj,bf)}}};var aB=function(){var bf=aj.getElementsByTagNameNS(aI,"defs");if(bf.length>0){bf=bf[0]}else{bf=aj.insertBefore(aK.createElementNS(aI,"defs"),aj.firstChild.nextSibling)}return bf};var C=function(){$.each(["stroke","fill"],function(bh,bi){if(!q[bi+"_paint"]||q[bi+"_paint"].type=="solidColor"){return}var bl=bb[bi+"Grad"];var bk=s(bl);var bf=aB();if(!bk){var bj=bl;bl=bf.appendChild(aK.importNode(bl,true));bb.fixOperaXML(bl,bj);bl.id=a6()}else{bl=bk}var bg=bi=="fill"?"Fill":"Stroke";bb["set"+bg+"Color"]("url(#"+bl.id+")")})};var s=function(bn){var bj=aB();var bp=$(bj).find("linearGradient, radialGradient");var bk=bp.length;var bg=["r","cx","cy","fx","fy"];while(bk--){var br=bp[bk];if(bn.tagName=="linearGradient"){if(bn.getAttribute("x1")!=br.getAttribute("x1")||bn.getAttribute("y1")!=br.getAttribute("y1")||bn.getAttribute("x2")!=br.getAttribute("x2")||bn.getAttribute("y2")!=br.getAttribute("y2")){continue}}else{var bh=$(bn).attr(bg);var bo=$(br).attr(bg);var bm=false;$.each(bg,function(bu,bt){if(bh[bt]!=bo[bt]){bm=true}});if(bm){continue}}var bq=bn.getElementsByTagNameNS(aI,"stop");var bs=br.getElementsByTagNameNS(aI,"stop");if(bq.length!=bs.length){continue}var bi=bq.length;while(bi--){var bl=bq[bi];var bf=bs[bi];if(bl.getAttribute("offset")!=bf.getAttribute("offset")||bl.getAttribute("stop-opacity")!=bf.getAttribute("stop-opacity")||bl.getAttribute("stop-color")!=bf.getAttribute("stop-color")){break}}if(bi==-1){return br}}return null};this.setStrokePaint=function(bg,bf){var bg=new $.jGraduate.Paint(bg);this.setStrokeOpacity(bg.alpha/100);q.stroke_paint=bg;if(bg.type=="solidColor"){this.setStrokeColor(bg.solidColor!="none"?"#"+bg.solidColor:"none")}else{if(bg.type=="linearGradient"){bb.strokeGrad=bg.linearGradient;if(bf){C()}}else{if(bg.type=="radialGradient"){bb.strokeGrad=bg.radialGradient;if(bf){C()}}else{}}}};this.setFillPaint=function(bg,bf){var bg=new $.jGraduate.Paint(bg);this.setFillOpacity(bg.alpha/100,true);q.fill_paint=bg;if(bg.type=="solidColor"){this.setFillColor(bg.solidColor!="none"?"#"+bg.solidColor:"none")}else{if(bg.type=="linearGradient"){bb.fillGrad=bg.linearGradient;if(bf){C()}}else{if(bg.type=="radialGradient"){bb.fillGrad=bg.radialGradient;if(bf){C()}}else{}}}};this.getStrokeWidth=function(){return q.stroke_width};this.setStrokeWidth=function(bi){if(bi==0&&$.inArray(a1,["line","path"])!=-1){bb.setStrokeWidth(1);return}q.stroke_width=bi;var bf=[];var bg=aO.length;while(bg--){var bh=aO[bg];if(bh){if(bh.tagName=="g"){at(bh,function(bj){if(bj.nodeName!="g"){bf.push(bj)}})}else{bf.push(bh)}}}if(bf.length>0){this.changeSelectedAttribute("stroke-width",bi,bf);ah("changed",aO)}};this.setStrokeAttr=function(bf,bj){aL[bf.replace("-","_")]=bj;var bg=[];var bh=aO.length;while(bh--){var bi=aO[bh];if(bi){if(bi.tagName=="g"){at(bi,function(bk){if(bk.nodeName!="g"){bg.push(bk)}})}else{bg.push(bi)}}}if(bg.length>0){this.changeSelectedAttribute(bf,bj,bg);ah("changed",aO)}};this.getOpacity=function(){return aL.opacity};this.setOpacity=function(bf){aL.opacity=bf;this.changeSelectedAttribute("opacity",bf)};this.getBlur=function(bf){var bi=0;if(bf){var bg=bf.getAttribute("filter");if(bg){var bh=b(bf.id+"_blur");if(bh){bi=bh.firstChild.getAttribute("stdDeviation")}}}return bi};(function(){var bh=null;var bi=null;var bf=false;bb.setBlurNoUndo=function(bj){if(!bi){bb.setBlur(bj);return}if(bj===0){bb.changeSelectedAttributeNoUndo("filter","");bf=true}else{if(bf){bb.changeSelectedAttributeNoUndo("filter","url(#"+aO[0].id+"_blur)")}bb.changeSelectedAttributeNoUndo("stdDeviation",bj,[bi.firstChild]);bb.setBlurOffsets(bi,bj)}};function bg(){var bj=bb.finishUndoableChange();bh.addSubCommand(bj);aQ(bh);bh=null;bi=null}bb.setBlurOffsets=function(bj,bk){if(bk>3){ax(bj,{x:"-50%",y:"-50%",width:"200%",height:"200%",},100)}else{bj.removeAttribute("x");bj.removeAttribute("y");bj.removeAttribute("width");bj.removeAttribute("height")}};bb.setBlur=function(bo,bk){if(bh){bg();return}var bn=aO[0];var bj=bn.id;bi=b(bj+"_blur");bo-=0;var bl=new ay();if(bi){if(bo===0){bi=null}}else{var bp=c({element:"feGaussianBlur",attr:{"in":"SourceGraphic",stdDeviation:bo}});bi=c({element:"filter",attr:{id:bj+"_blur"}});bi.appendChild(bp);aB().appendChild(bi);bl.addSubCommand(new a(bi))}var bm={filter:bn.getAttribute("filter")};if(bo===0){bn.removeAttribute("filter");bl.addSubCommand(new au(bn,bm));return}else{this.changeSelectedAttribute("filter","url(#"+bj+"_blur)");bl.addSubCommand(new au(bn,bm));bb.setBlurOffsets(bi,bo)}bh=bl;bb.beginUndoableChange("stdDeviation",[bi?bi.firstChild:null]);if(bk){bb.setBlurNoUndo(bo);bg()}}}());this.getFillOpacity=function(){return aL.fill_opacity};this.setFillOpacity=function(bg,bf){aL.fill_opacity=bg;if(!bf){this.changeSelectedAttribute("fill-opacity",bg)}else{this.changeSelectedAttributeNoUndo("fill-opacity",bg)}};this.getStrokeOpacity=function(){return aL.stroke_opacity};this.setStrokeOpacity=function(bg,bf){aL.stroke_opacity=bg;if(!bf){this.changeSelectedAttribute("stroke-opacity",bg)}else{this.changeSelectedAttributeNoUndo("stroke-opacity",bg)}};this.getTransformList=function(bg){if(aA||!aZ.goodDecimals){var bh=bg.id;if(!bh){bh="temp"}var bf=U[bh];if(!bf||bh=="temp"){U[bh]=new H(bg);U[bh]._init();bf=U[bh]}return bf}else{if(bg.transform){return bg.transform.baseVal}else{if(bg.gradientTransform){return bg.gradientTransform.baseVal}}}return null};this.getBBox=function(bk){var bj=bk||aO[0];if(bk.nodeType!=1){return null}var bf=null;if(bk.nodeName=="text"&&bj.textContent==""){bj.textContent="a";bf=bj.getBBox();bj.textContent=""}else{if(bk.nodeName=="g"&&k){bf=bj.getBBox();var bi=document.createElementNS(aI,"g");while(bj.firstChild){bi.appendChild(bj.firstChild)}var bh=bj.attributes.length;while(bh--){bi.setAttributeNode(bj.attributes.item(bh).cloneNode(true))}bj.parentNode.appendChild(bi);bf=bi.getBBox();while(bi.firstChild){bj.appendChild(bi.firstChild)}bj.parentNode.removeChild(bi)}else{if(bk.nodeName=="path"&&aA){bf=ba(bj)}else{if(bk.nodeName=="use"&&!aA){bf=bj.getBBox();bf.x+=parseFloat(bj.getAttribute("x")||0);bf.y+=parseFloat(bj.getAttribute("y")||0)}else{if(bk.nodeName=="foreignObject"){bf=bj.getBBox();bf.x+=parseFloat(bj.getAttribute("x")||0);bf.y+=parseFloat(bj.getAttribute("y")||0)}else{try{bf=bj.getBBox()}catch(bl){var bg=$(bj).closest("foreignObject");if(bg.length){try{bf=bg[0].getBBox()}catch(bl){bf=null}}else{bf=null}}}}}}}return bf};this.getRotationAngle=function(bj,bg){var bi=bj||aO[0];var bl=bb.getTransformList(bi);if(!bl){return 0}var bk=bl.numberOfItems;for(var bh=0;bh<bk;++bh){var bf=bl.getItem(bh);if(bf.type==4){return bg?bf.angle*Math.PI/180:bf.angle}}return 0};this.setRotationAngle=function(bh,bp){bh=parseFloat(bh);var bi=aO[0];var bm=bi.getAttribute("transform");var bs=bb.getBBox(bi);var bl=bs.x+bs.width/2,bk=bs.y+bs.height/2;var bo=bb.getTransformList(bi);if(bo.numberOfItems>0){var br=bo.getItem(0);if(br.type==4){bo.removeItem(0)}}if(bh!=0){var bf=P(bl,bk,r(bo).matrix);var bq=G.createSVGTransform();bq.setRotate(bh,bf.x,bf.y);bo.insertItemBefore(bq,0)}else{if(bo.numberOfItems==0){bi.removeAttribute("transform")}}if(!bp){var bg=bi.getAttribute("transform");bi.setAttribute("transform",bm);this.changeSelectedAttribute("transform",bg,aO)}var bn=b("pathpointgrip_container");var bj=F.requestSelector(aO[0]);bj.resize();bj.updateGripCursors(bh)};this.each=function(bf){$(G).children().each(bf)};this.bind=function(bg,bh){var bf=D[bg];D[bg]=bh;return bf};this.setIdPrefix=function(bf){aT=bf};this.getBold=function(){var bf=aO[0];if(bf!=null&&bf.tagName=="text"&&aO[1]==null){return(bf.getAttribute("font-weight")=="bold")}return false};this.setBold=function(bf){var bg=aO[0];if(bg!=null&&bg.tagName=="text"&&aO[1]==null){this.changeSelectedAttribute("font-weight",bf?"bold":"normal")}};this.getItalic=function(){var bf=aO[0];if(bf!=null&&bf.tagName=="text"&&aO[1]==null){return(bf.getAttribute("font-style")=="italic")}return false};this.setItalic=function(bf){var bg=aO[0];if(bg!=null&&bg.tagName=="text"&&aO[1]==null){this.changeSelectedAttribute("font-style",bf?"italic":"normal")}};this.getFontFamily=function(){return a5.font_family};this.setFontFamily=function(bf){a5.font_family=bf;this.changeSelectedAttribute("font-family",bf)};this.getFontSize=function(){return a5.font_size};this.setFontSize=function(bf){a5.font_size=bf;L.toSelectMode();this.changeSelectedAttribute("font-size",bf)};this.getText=function(){var bf=aO[0];if(bf==null){return""}return bf.textContent};this.setTextContent=function(bf){this.changeSelectedAttribute("#text",bf);L.init(bf);L.setCursor()};this.setImageURL=function(bk){var bj=aO[0];if(!bj){return}var bh=$(bj).attr(["width","height"]);var bf=(!bh.width||!bh.height);var bi=bj.getAttributeNS(aC,"href");if(bi!==bk){bf=true}else{if(!bf){return}}var bg=new ay("Change Image URL");bj.setAttributeNS(aC,"xlink:href",bk);bg.addSubCommand(new au(bj,{"#href":bi}));if(bf){$(new Image()).load(function(){var bl=$(bj).attr(["width","height"]);$(bj).attr({width:this.width,height:this.height});F.requestSelector(bj).resize();bg.addSubCommand(new au(bj,bl));aQ(bg);ah("changed",bj)}).attr("src",bk)}else{aQ(bg)}};this.setRectRadius=function(bh){var bf=aO[0];if(bf!=null&&bf.tagName=="rect"){var bg=bf.getAttribute("rx");if(bg!=bh){bf.setAttribute("rx",bh);bf.setAttribute("ry",bh);aQ(new au(bf,{rx:bg,ry:bg},"Radius"));ah("changed",[bf])}}};this.setSegType=function(bf){w.setSegType(bf)};var g=function(bf){if(navigator.userAgent.indexOf("Gecko/")==-1){return bf}var bg=bf.cloneNode(true);bf.parentNode.insertBefore(bg,bf);bf.parentNode.removeChild(bf);F.releaseSelector(bf);aO[0]=bg;F.requestSelector(bg).showGrips(true);return bg};var aR=-1;var a0=[];this.beginUndoableChange=function(bi,bg){var bl=++aR;var bh=bg.length;var bf=new Array(bh),bk=new Array(bh);while(bh--){var bj=bg[bh];if(bj==null){continue}bk[bh]=bj;bf[bh]=bj.getAttribute(bi)}a0[bl]={attrName:bi,oldValues:bf,elements:bk}};this.changeSelectedAttributeNoUndo=function(bq,bo,by){var bv=G.suspendRedraw(1000);if(a1=="pathedit"){w.moveNode(bq,bo)}var by=by||aO;var bs=by.length;while(bs--){var bu=by[bs];if(bu==null){continue}if(a1==="textedit"&&bq!=="#text"){L.toSelectMode(bu)}if((bq=="x"||bq=="y")&&$.inArray(bu.tagName,["g","polyline","path"])!=-1){var bf=bb.getStrokedBBox([bu]);var bl=bq=="x"?bo-bf.x:0;var bk=bq=="y"?bo-bf.y:0;bb.moveSelectedElements(bl*ad,bk*ad,true);continue}if(bu.tagName=="g"&&$.inArray(bq,["transform","opacity","filter"])!==-1){}var bj=bq=="#text"?bu.textContent:bu.getAttribute(bq);if(bj==null){bj=""}if(bj!=String(bo)){if(bq=="#text"){var br=bb.getBBox(bu).width;bu.textContent=bo;bu=g(bu)}else{if(bq=="#href"){bu.setAttributeNS(aC,"xlink:href",bo)}else{bu.setAttribute(bq,bo)}}if(bs==0){t[bs]=this.getBBox(bu)}if(bu.nodeName=="text"){if((bo+"").indexOf("url")==0||$.inArray(bq,["font-size","font-family","x","y"])!=-1){bu=g(bu)}}if($.inArray(bu,aO)!=-1){setTimeout(function(){if(!bu.parentNode){return}F.requestSelector(bu).resize()},0)}var bt=bb.getRotationAngle(bu);if(bt!=0&&bq!="transform"){var bm=bb.getTransformList(bu);var bp=bm.numberOfItems;while(bp--){var bh=bm.getItem(bp);if(bh.type==4){bm.removeItem(bp);var bn=bb.getBBox(bu);var bx=P(bn.x+bn.width/2,bn.y+bn.height/2,r(bm).matrix);var bi=bx.x,bg=bx.y;var bw=G.createSVGTransform();bw.setRotate(bt,bi,bg);bm.insertItemBefore(bw,bp);break}}}}}G.unsuspendRedraw(bv)};this.finishUndoableChange=function(){var bk=aR--;var bl=a0[bk];var bh=bl.elements.length;var bg=bl.attrName;var bf=new ay("Change "+bg);while(bh--){var bj=bl.elements[bh];if(bj==null){continue}var bi={};bi[bg]=bl.oldValues[bh];if(bi[bg]!=bj.getAttribute(bg)){bf.addSubCommand(new au(bj,bi,bg))}}a0[bk]=null;return bf};this.changeSelectedAttribute=function(bf,bj,bh){var bh=bh||aO;bb.beginUndoableChange(bf,bh);var bi=bh.length;bb.changeSelectedAttributeNoUndo(bf,bj,bh);var bg=bb.finishUndoableChange();if(!bg.isEmpty()){aQ(bg)}};this.deleteSelectedElements=function(){var bh=new ay("Delete Elements");var bg=aO.length;var bf=[];for(var bj=0;bj<bg;++bj){var bl=aO[bj];if(bl==null){break}var bk=bl.parentNode;var bi=bl;F.releaseSelector(bi);var bm=bk.removeChild(bi);bf.push(bl);aO[bj]=null;bh.addSubCommand(new R(bm,bk))}if(!bh.isEmpty()){aQ(bh)}ah("changed",bf);bb.clearSelection()};this.groupSelectedElements=function(){var bf=new ay("Group Elements");var bj=c({element:"g",attr:{id:a6()}});bf.addSubCommand(new a(bj));var bh=aO.length;while(bh--){var bi=aO[bh];if(bi==null){continue}var bk=bi.nextSibling;var bg=bi.parentNode;bj.appendChild(bi);bf.addSubCommand(new S(bi,bk,bg))}if(!bf.isEmpty()){aQ(bf)}bb.clearSelection();bb.addToSelection([bj],true)};this.ungroupSelectedElement=function(){var bN=aO[0];if(bN.tagName=="g"){var bf=new ay("Ungroup Elements");var bn=bN.parentNode;var bi=bN.previousSibling;var bu=new Array(bN.childNodes.length);var bH=bN.getAttribute("transform");var bo=bb.getTransformList(bN);var bJ=r(bo).matrix;var bM=0;var bA=bb.getRotationAngle(bN);var bv=$(bN).attr(["filter","opacity"]);var bL,bj;while(bN.firstChild){var bI=bN.firstChild;var bB=bI.nextSibling;var bD=bI.parentNode;bu[bM++]=bI=bn.insertBefore(bI,bi);bf.addSubCommand(new S(bI,bB,bD));if(bv.opacity!==null&&bv.opacity!==1){var bQ=bI.getAttribute("opacity")||1;var bk=Math.round((bI.getAttribute("opacity")||1)*bv.opacity*100)/100;this.changeSelectedAttribute("opacity",bk,[bI])}if(bv.filter){var bp=this.getBlur(bI);var bt=bp;if(!bj){bj=this.getBlur(bN)}if(bp){bp=(bj-0)+(bp-0)}else{if(bp===0){bp=bj}}if(!bt){if(!bL){bL=b(am(bv.filter).substr(1))}else{bL=aq(bL);aB().appendChild(bL)}}else{bL=b(am(bI.getAttribute("filter")).substr(1))}var bK=(bL.firstChild.tagName==="feGaussianBlur")?"blur":"filter";bL.id=bI.id+"_"+bK;this.changeSelectedAttribute("filter","url(#"+bL.id+")",[bI]);if(bp){this.changeSelectedAttribute("stdDeviation",bp,[bL.firstChild]);bb.setBlurOffsets(bL,bp)}}var bC=bb.getTransformList(bI);if(bo.numberOfItems){if(bA&&bo.numberOfItems==1){var bg=bo.getItem(0).matrix;var bs=G.createSVGMatrix();var bz=bb.getRotationAngle(bI);if(bz){bs=bC.getItem(0).matrix}var bG=bb.getBBox(bI);var bO=r(bC).matrix;var br=P(bG.x+bG.width/2,bG.y+bG.height/2,bO);var bE=bA+bz;var bq=G.createSVGTransform();bq.setRotate(bE,br.x,br.y);var bl=ag(bg,bs,bq.matrix.inverse());if(bz){bC.removeItem(0)}if(bE){bC.insertItemBefore(bq,0)}if(bl.e||bl.f){var bP=G.createSVGTransform();bP.setTranslate(bl.e,bl.f);bC.insertItemBefore(bP,0)}}else{var bw=bI.getAttribute("transform");var bx={};bx.transform=bw?bw:"";var bh=G.createSVGTransform();var by=r(bC).matrix,bF=by.inverse();var bm=ag(bF,bJ,by);bh.setMatrix(bm);bC.appendItem(bh)}bf.addSubCommand(l(bI))}}if(bH){var bx={};bx.transform=bH;bN.setAttribute("transform","");bN.removeAttribute("transform");bf.addSubCommand(new au(bN,bx))}bb.clearSelection();bN=bn.removeChild(bN);bf.addSubCommand(new R(bN,bn));if(!bf.isEmpty()){aQ(bf)}bb.addToSelection(bu)}};this.moveToTopSelectedElement=function(){var bh=aO[0];if(bh!=null){var bg=bh;var bf=bg.parentNode;var bi=bg.nextSibling;if(bi==F.selectorParentGroup){bi=null}bg=bg.parentNode.appendChild(bg);aQ(new S(bg,bi,bf,"top"))}};this.moveToBottomSelectedElement=function(){var bh=aO[0];if(bh!=null){var bg=bh;var bf=bg.parentNode;var bj=bg.nextSibling;if(bj==F.selectorParentGroup){bj=null}var bi=bg.parentNode.firstChild;if(bi.tagName=="title"){bi=bi.nextSibling}if(bi.tagName=="defs"){bi=bi.nextSibling}bg=bg.parentNode.insertBefore(bg,bi);aQ(new S(bg,bj,bf,"bottom"))}};this.moveSelectedElements=function(bn,bm,bk){if(bn.constructor!=Array){bn/=ad;bm/=ad}var bk=bk||true;var bg=new ay("position");var bi=aO.length;while(bi--){var bh=aO[bi];if(bh!=null){if(bi==0){t[bi]=this.getBBox(bh)}var bl=G.createSVGTransform();var bj=bb.getTransformList(bh);if(bn.constructor==Array){if(bi==0){t[bi].x+=bn[bi];t[bi].y+=bm[bi]}bl.setTranslate(bn[bi],bm[bi])}else{if(bi==0){t[bi].x+=bn;t[bi].y+=bm}bl.setTranslate(bn,bm)}bj.insertItemBefore(bl,0);var bf=l(bh);if(bf){bg.addSubCommand(bf)}F.requestSelector(bh).resize()}}if(!bg.isEmpty()){if(bk){aQ(bg)}ah("changed",aO);return bg}};var ba=function(bu){var bz=bu.pathSegList;var bs=bz.numberOfItems;var bm=[[],[]];var bl=bz.getItem(0);var bk=[bl.x,bl.y];for(var bw=0;bw<bs;bw++){var by=bz.getItem(bw);if(!by.x){continue}bm[0].push(bk[0]);bm[1].push(bk[1]);if(by.x1){var bj=[by.x1,by.y1],bi=[by.x2,by.y2],bg=[by.x,by.y];for(var bv=0;bv<2;bv++){var bf=function(bD){return Math.pow(1-bD,3)*bk[bv]+3*Math.pow(1-bD,2)*bD*bj[bv]+3*(1-bD)*Math.pow(bD,2)*bi[bv]+Math.pow(bD,3)*bg[bv]};var bB=6*bk[bv]-12*bj[bv]+6*bi[bv];var bC=-3*bk[bv]+9*bj[bv]-9*bi[bv]+3*bg[bv];var bA=3*bj[bv]-3*bk[bv];if(bC==0){if(bB==0){continue}var bt=-bA/bB;if(0<bt&&bt<1){bm[bv].push(bf(bt))}continue}var bh=Math.pow(bB,2)-4*bA*bC;if(bh<0){continue}var bq=(-bB+Math.sqrt(bh))/(2*bC);if(0<bq&&bq<1){bm[bv].push(bf(bq))}var bo=(-bB-Math.sqrt(bh))/(2*bC);if(0<bo&&bo<1){bm[bv].push(bf(bo))}}bk=bg}else{bm[0].push(by.x);bm[1].push(by.y)}}var bp=Math.min.apply(null,bm[0]);var br=Math.max.apply(null,bm[0])-bp;var bn=Math.min.apply(null,bm[1]);var bx=Math.max.apply(null,bm[1])-bn;return{x:bp,y:bn,width:br,height:bx}};this.contentW=this.getResolution().w;this.contentH=this.getResolution().h;this.updateCanvas=function(bo,bi,bf,bj){G.setAttribute("width",bo);G.setAttribute("height",bi);var bh=$("#canvasBackground")[0];var bl=aj.getAttribute("x");var bk=aj.getAttribute("y");var bn=(bo/2-this.contentW*ad/2);var bm=(bi/2-this.contentH*ad/2);ax(aj,{width:this.contentW*ad,height:this.contentH*ad,x:bn,y:bm,viewBox:"0 0 "+this.contentW+" "+this.contentH});ax(bh,{width:aj.getAttribute("width"),height:aj.getAttribute("height"),x:bn,y:bm});F.selectorParentGroup.setAttribute("transform","translate("+bn+","+bm+")");return{x:bn,y:bm,old_x:bl,old_y:bk,d_x:bn-bl,d_y:bm-bk}};this.getStrokedBBox=function(bg){if(!bg){bg=bb.getVisibleElements()}if(!bg.length){return false}var bh=function(bq){try{var bv=bb.getBBox(bq);var br=bb.getRotationAngle(bq);if((br&&br%90)||aN(bb.getTransformList(bq))){var bu=false;var bx=["ellipse","path","line","polyline","polygon"];if($.inArray(bq.tagName,bx)!=-1){bv=bu=bb.convertToPath(bq,true,br)}else{if(bq.tagName=="rect"){var bp=bq.getAttribute("rx");var bo=bq.getAttribute("ry");if(bp||bo){bv=bu=bb.convertToPath(bq,true,br)}}}if(!bu){var bs=document.createElementNS(aI,"g");var bw=bq.parentNode;bw.replaceChild(bs,bq);bs.appendChild(bq);bv=bs.getBBox();bw.insertBefore(bq,bs);bw.removeChild(bs)}}return bv}catch(bt){console.log(bq,bt);return null}};var bl;$.each(bg,function(){if(bl){return}if(!this.parentNode){return}bl=bh(this)});if(bl==null){return null}var bf=bl.x+bl.width;var bn=bl.y+bl.height;var bk=bl.x;var bj=bl.y;var bm=function(bp){var bo=bp.getAttribute("stroke-width");var bq=0;if(bp.getAttribute("stroke")!="none"&&!isNaN(bo)){bq+=bo/2}return bq};var bi=[];$.each(bg,function(bp,bq){var bo=bh(bq);if(bo){var br=bm(bq);bk=Math.min(bk,bo.x-br);bj=Math.min(bj,bo.y-br);bi.push(bo)}});bl.x=bk;bl.y=bj;$.each(bg,function(bp,bq){var bo=bi[bp];if(bo&&bq.nodeType==1){var br=bm(bq);bf=Math.max(bf,bo.x+bo.width+br);bn=Math.max(bn,bo.y+bo.height+br)}});bl.width=bf-bk;bl.height=bn-bj;return bl};this.getVisibleElements=function(bf,bg){if(!bf){bf=$(aj).children()}var bh=[];$(bf).children().each(function(bi,bl){try{var bk=bl.getBBox();if(bk){var bj=bg?{elem:bl,bbox:bb.getStrokedBBox([bl])}:bl;bh.push(bj)}}catch(bm){}});return bh.reverse()};this.cycleElement=function(bh){var bk=aO[0];var bi=false;var bj=this.getVisibleElements(W);if(bk==null){var bf=bh?bj.length-1:0;bi=bj[bf]}else{var bg=bj.length;while(bg--){if(bj[bg]==bk){var bf=bh?bg-1:bg+1;if(bf>=bj.length){bf=0}else{if(bf<0){bf=bj.length-1}}bi=bj[bf];break}}}bb.clearSelection();bb.addToSelection([bi],true);ah("selected",aO)};var aH=function(){T=[];aM=0};this.getUndoStackSize=function(){return aM};this.getRedoStackSize=function(){return T.length-aM};this.getNextUndoCommandText=function(){if(aM>0){return T[aM-1].text}return""};this.getNextRedoCommandText=function(){if(aM<T.length){return T[aM].text}return""};this.undo=function(){if(aM>0){this.clearSelection();var bf=T[--aM];bf.unapply();w.clear();ah("changed",bf.elements())}};this.redo=function(){if(aM<T.length&&T.length>0){this.clearSelection();var bf=T[aM++];bf.apply();w.clear();ah("changed",bf.elements())}};var aq=function(bg){var bh=document.createElementNS(bg.namespaceURI,bg.nodeName);$.each(bg.attributes,function(bj,bi){if(bi.localName!="-moz-math-font-style"){bh.setAttributeNS(bi.namespaceURI,bi.nodeName,bi.nodeValue)}});bh.removeAttribute("id");bh.id=a6();a4++;if((aA||!aZ.goodDecimals)&&bg.nodeName=="path"){var bf=w.convertPath(bg);bh.setAttribute("d",bf)}$.each(bg.childNodes,function(bi,bj){switch(bj.nodeType){case 1:bh.appendChild(aq(bj));break;case 3:bh.textContent=bj.nodeValue;break;default:break}});if(bh.tagName=="image"){aU(bh)}return bh};var aU=function(bf){$(bf).click(function(bg){bg.preventDefault()})};this.cloneSelectedElements=function(){var bg=new ay("Clone Elements");var bf=aO.length;for(var bh=0;bh<bf;++bh){var bj=aO[bh];if(bj==null){break}}var bi=aO.slice(0,bh);this.clearSelection();var bh=bi.length;while(bh--){var bj=bi[bh]=aq(bi[bh]);W.appendChild(bj);bg.addSubCommand(new a(bj))}if(!bg.isEmpty()){this.addToSelection(bi.reverse());this.moveSelectedElements(20,20,false);aQ(bg);ah("selected",aO)}};this.setBackground=function(bf,bi){var bj=b("canvasBackground");var bh=$(bj).find("rect")[0];var bk=b("background_image");bh.setAttribute("fill",bf);if(bi){if(!bk){bk=aK.createElementNS(aI,"image");ax(bk,{id:"background_image",width:"100%",height:"100%",preserveAspectRatio:"xMinYMin",style:"pointer-events:none"})}bk.setAttributeNS(aC,"xlink:href",bi);bj.appendChild(bk)}else{if(bk){bk.parentNode.removeChild(bk)}}};this.alignSelectedElements=function(bn,bt){var bi=[],bl=[];var br=Number.MAX_VALUE,bm=Number.MIN_VALUE,bp=Number.MAX_VALUE,bk=Number.MIN_VALUE;var bo=Number.MIN_VALUE,bj=Number.MIN_VALUE;var bh=aO.length;if(!bh){return}for(var bg=0;bg<bh;++bg){if(aO[bg]==null){break}var bf=aO[bg];bi[bg]=bb.getStrokedBBox([bf]);switch(bt){case"smallest":if((bn=="l"||bn=="c"||bn=="r")&&(bo==Number.MIN_VALUE||bo>bi[bg].width)||(bn=="t"||bn=="m"||bn=="b")&&(bj==Number.MIN_VALUE||bj>bi[bg].height)){br=bi[bg].x;bp=bi[bg].y;bm=bi[bg].x+bi[bg].width;bk=bi[bg].y+bi[bg].height;bo=bi[bg].width;bj=bi[bg].height}break;case"largest":if((bn=="l"||bn=="c"||bn=="r")&&(bo==Number.MIN_VALUE||bo<bi[bg].width)||(bn=="t"||bn=="m"||bn=="b")&&(bj==Number.MIN_VALUE||bj<bi[bg].height)){br=bi[bg].x;bp=bi[bg].y;bm=bi[bg].x+bi[bg].width;bk=bi[bg].y+bi[bg].height;bo=bi[bg].width;bj=bi[bg].height}break;default:if(bi[bg].x<br){br=bi[bg].x}if(bi[bg].y<bp){bp=bi[bg].y}if(bi[bg].x+bi[bg].width>bm){bm=bi[bg].x+bi[bg].width}if(bi[bg].y+bi[bg].height>bk){bk=bi[bg].y+bi[bg].height}break}}if(bt=="page"){br=0;bp=0;bm=bb.contentW;bk=bb.contentH}var bu=new Array(bh);var bs=new Array(bh);for(var bg=0;bg<bh;++bg){if(aO[bg]==null){break}var bf=aO[bg];var bq=bi[bg];bu[bg]=0;bs[bg]=0;switch(bn){case"l":bu[bg]=br-bq.x;break;case"c":bu[bg]=(br+bm)/2-(bq.x+bq.width/2);break;case"r":bu[bg]=bm-(bq.x+bq.width);break;case"t":bs[bg]=bp-bq.y;break;case"m":bs[bg]=(bp+bk)/2-(bq.y+bq.height/2);break;case"b":bs[bg]=bk-(bq.y+bq.height);break}}this.moveSelectedElements(bu,bs)};this.getZoom=function(){return ad};this.getVersion=function(){return"svgcanvas.js ($Rev: 1600 $)"};this.setUiStrings=function(bf){$.extend(az,bf)};this.setConfig=function(bf){$.extend(J,bf)};this.clear();function b(bf){if(G.querySelector){return G.querySelector("#"+bf)}else{if(aK.evaluate){return aK.evaluate(\'svg:svg[@id="svgroot"]//svg:*[@id="\'+bf+\'"]\',aJ,function(){return"http://www.w3.org/2000/svg"},9,null).singleNodeValue}else{return $(G).find("[id="+bf+"]")[0]}}}this.getPrivateMethods=function(){return{addCommandToHistory:aQ,addGradient:C,addSvgElementFromJson:c,assignAttributes:ax,BatchCommand:ay,call:ah,ChangeElementCommand:au,cleanupElement:ar,copyElem:aq,ffClone:g,findDefs:aB,findDuplicateGradient:s,fromXml:al,getElem:b,getId:A,getIntersectionList:aV,getMouseTarget:aa,getNextId:a6,getPathBBox:ba,getUrlFromAttr:am,hasMatrixTransform:aN,identifyLayers:Z,InsertElementCommand:a,isIdentity:a8,logMatrix:av,matrixMultiply:ag,MoveElementCommand:S,preventClickDefault:aU,recalculateAllSelectedDimensions:aY,recalculateDimensions:l,remapElement:B,RemoveElementCommand:R,removeUnusedDefElems:u,resetUndoStack:aH,round:Q,runExtensions:aG,sanitizeSvg:M,Selector:aW,SelectorManager:bc,shortFloat:a3,svgCanvasToString:i,SVGEditTransformList:H,svgToString:aS,toString:toString,toXml:d,transformBox:bd,transformListToTransform:r,transformPoint:P,transformToObj:af,walkTree:at}};this.addExtension=function(bf,bh){if(!(bf in e)){var bg=bh($.extend(bb.getPrivateMethods(),{svgroot:G,svgcontent:aj,nonce:m,selectorManager:F}));e[bf]=bg;ah("extension_added",bg)}else{console.log(\'Cannot add extension "\'+bf+\'", an extension by that name already exists"\')}};(function(){var bk=document.createElementNS(aI,"path");bk.setAttribute("d","M0,0 10,10");var bg=bk.pathSegList;var bf=bk.createSVGPathSegLinetoAbs(5,5);try{bg.replaceItem(bf,0);aZ.pathReplaceItem=true}catch(bj){aZ.pathReplaceItem=false}try{bg.insertItemBefore(bf,0);aZ.pathInsertItemBefore=true}catch(bj){aZ.pathInsertItemBefore=false}aZ.editableText=k;var bi=document.createElementNS(aI,"rect");bi.setAttribute("x",0.1);var bh=bi.cloneNode(false);aZ.goodDecimals=(bh.getAttribute("x").indexOf(",")==-1);var bi=document.createElementNS(aI,"rect");bi.setAttribute("width","1em");bi.setAttribute("height","1ex");aj.appendChild(bi);var bl=bi.getBBox();I.em=bl.width;I.ex=bl.height;aj.removeChild(bi)}())};var Utils={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode64:function(d){d=Utils.convertToXMLReferences(d);if(window.btoa){return window.btoa(d)}var b=new Array(Math.floor((d.length+2)/3)*4);var l,j,g;var k,h,f,e;var c=0,a=0;do{l=d.charCodeAt(c++);j=d.charCodeAt(c++);g=d.charCodeAt(c++);k=l>>2;h=((l&3)<<4)|(j>>4);f=((j&15)<<2)|(g>>6);e=g&63;if(isNaN(j)){f=e=64}else{if(isNaN(g)){e=64}}b[a++]=this._keyStr.charAt(k);b[a++]=this._keyStr.charAt(h);b[a++]=this._keyStr.charAt(f);b[a++]=this._keyStr.charAt(e)}while(c<d.length);return b.join("")},decode64:function(c){if(window.atob){return window.atob(c)}var a="";var k,h,f="";var j,g,e,d="";var b=0;c=c.replace(/[^A-Za-z0-9\\+\\/\\=]/g,"");do{j=this._keyStr.indexOf(c.charAt(b++));g=this._keyStr.indexOf(c.charAt(b++));e=this._keyStr.indexOf(c.charAt(b++));d=this._keyStr.indexOf(c.charAt(b++));k=(j<<2)|(g>>4);h=((g&15)<<4)|(e>>2);f=((e&3)<<6)|d;a=a+String.fromCharCode(k);if(e!=64){a=a+String.fromCharCode(h)}if(d!=64){a=a+String.fromCharCode(f)}k=h=f="";j=g=e=d=""}while(b<c.length);return unescape(a)},encodeUTF8:function(b){var a="";for(var e=0;e<b.length;e++){var d=b.charCodeAt(e);if(d<128){a+=b[e]}else{if(d>127){if(d<2048){a+=String.fromCharCode((d>>6)|192)}else{a+=String.fromCharCode((d>>12)|224)+String.fromCharCode((d>>6)&63|128)}a+=String.fromCharCode((d&63)|128)}}}return a},convertToXMLReferences:function(b){var a="";for(var e=0;e<b.length;e++){var d=b.charCodeAt(e);if(d<128){a+=b[e]}else{if(d>127){a+=("&#"+d+";")}}}return a},rectsIntersect:function(b,a){return a.x<(b.x+b.width)&&(a.x+a.width)>b.x&&a.y<(b.y+b.height)&&(a.y+a.height)>b.y},snapToAngle:function(b,j,a,h){var d=Math.PI/4;var l=a-b;var k=h-j;var c=Math.atan2(k,l);var f=Math.sqrt(l*l+k*k);var e=Math.round(c/d)*d;var i=b+f*Math.cos(e);var g=j+f*Math.sin(e);return{x:i,y:g,a:e}},text2xml:function(b){var a;try{var d=($.browser.msie)?new ActiveXObject("Microsoft.XMLDOM"):new DOMParser();d.async=false}catch(c){throw new Error("XML Parser could not be instantiated")}try{if($.browser.msie){a=(d.loadXML(b))?d:false}else{a=d.parseFromString(b,"text/xml")}}catch(c){throw new Error("Error parsing XML string")}return a}};
+
+]]></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons.xml
new file mode 100644
index 0000000000..d3ad469626
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Folder" module="OFS.Folder"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>svgicons</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons/jquery.svgicons.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons/jquery.svgicons.js.xml
new file mode 100644
index 0000000000..254edef30a
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons/jquery.svgicons.js.xml
@@ -0,0 +1,501 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003877.29</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery.svgicons.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+/*\n
+ * SVG Icon Loader 2.0\n
+ *\n
+ * jQuery Plugin for loading SVG icons from a single file\n
+ *\n
+ * Copyright (c) 2009 Alexis Deveria\n
+ * http://a.deveria.com\n
+ *\n
+ * Apache 2 License\n
+\n
+How to use:\n
+\n
+1. Create the SVG master file that includes all icons:\n
+\n
+The master SVG icon-containing file is an SVG file that contains \n
+<g> elements. Each <g> element should contain the markup of an SVG\n
+icon. The <g> element has an ID that should \n
+correspond with the ID of the HTML element used on the page that should contain \n
+or optionally be replaced by the icon. Additionally, one empty element should be\n
+added at the end with id "svg_eof".\n
+\n
+2. Optionally create fallback raster images for each SVG icon.\n
+\n
+3. Include the jQuery and the SVG Icon Loader scripts on your page.\n
+\n
+4. Run $.svgIcons() when the document is ready:\n
+\n
+$.svgIcons( file [string], options [object literal]);\n
+\n
+File is the location of a local SVG or SVGz file.\n
+\n
+All options are optional and can include:\n
+\n
+- \'w (number)\': The icon widths\n
+\n
+- \'h (number)\': The icon heights\n
+\n
+- \'fallback (object literal)\': List of raster images with each\n
+\tkey being the SVG icon ID to replace, and the value the image file name.\n
+\t\n
+- \'fallback_path (string)\': The path to use for all images\n
+\tlisted under "fallback"\n
+\t\n
+- \'replace (boolean)\': If set to true, HTML elements will be replaced by,\n
+\trather than include the SVG icon.\n
+\n
+- \'placement (object literal)\': List with selectors for keys and SVG icon ids\n
+\tas values. This provides a custom method of adding icons.\n
+\n
+- \'resize (object literal)\': List with selectors for keys and numbers\n
+\tas values. This allows an easy way to resize specific icons.\n
+\t\n
+- \'callback (function)\': A function to call when all icons have been loaded. \n
+\tIncludes an object literal as its argument with as keys all icon IDs and the \n
+\ticon as a jQuery object as its value.\n
+\n
+- \'id_match (boolean)\': Automatically attempt to match SVG icon ids with\n
+\tcorresponding HTML id (default: true)\n
+\t\n
+- \'no_img (boolean)\': Prevent attempting to convert the icon into an <img>\n
+\telement (may be faster, help for browser consistency)\n
+\n
+- \'svgz (boolean)\': Indicate that the file is an SVGZ file, and thus not to\n
+\tparse as XML. SVGZ files add compression benefits, but getting data from\n
+\tthem fails in Firefox 2 and older.\n
+\n
+5. To access an icon at a later point without using the callback, use this:\n
+\t$.getSvgIcon(id (string));\n
+\n
+This will return the icon (as jQuery object) with a given ID.\n
+\t\n
+6. To resize icons at a later point without using the callback, use this:\n
+\t$.resizeSvgIcons(resizeOptions) (use the same way as the "resize" parameter)\n
+\n
+\n
+Example usage #1:\n
+\n
+$(function() {\n
+\t$.svgIcons(\'my_icon_set.svg\'); // The SVG file that contains all icons\n
+\t// No options have been set, so all icons will automatically be inserted \n
+\t// into HTML elements that match the same IDs. \n
+});\n
+\n
+Example usage #2:\n
+\n
+$(function() {\n
+\t$.svgIcons(\'my_icon_set.svg\', { // The SVG file that contains all icons\n
+\t\tcallback: function(icons) { // Custom callback function that sets click\n
+\t\t\t\t\t\t\t\t\t// events for each icon\n
+\t\t\t$.each(icons, function(id, icon) {\n
+\t\t\t\ticon.click(function() {\n
+\t\t\t\t\talert(\'You clicked on the icon with id \' + id);\n
+\t\t\t\t});\n
+\t\t\t});\n
+\t\t}\n
+\t}); //The SVG file that contains all icons\n
+});\n
+\n
+Example usage #3:\n
+\n
+$(function() {\n
+\t$.svgIcons(\'my_icon_set.svgz\', { // The SVGZ file that contains all icons\n
+\t\tw: 32,\t// All icons will be 32px wide\n
+\t\th: 32,  // All icons will be 32px high\n
+\t\tfallback_path: \'icons/\',  // All fallback files can be found here\n
+\t\tfallback: {\n
+\t\t\t\'#open_icon\': \'open.png\',  // The "open.png" will be appended to the\n
+\t\t\t\t\t\t\t\t\t   // HTML element with ID "open_icon"\n
+\t\t\t\'#close_icon\': \'close.png\',\n
+\t\t\t\'#save_icon\': \'save.png\'\n
+\t\t},\n
+\t\tplacement: {\'.open_icon\',\'open\'}, // The "open" icon will be added\n
+\t\t\t\t\t\t\t\t\t\t  // to all elements with class "open_icon"\n
+\t\tresize: function() {\n
+\t\t\t\'#save_icon .svg_icon\': 64  // The "save" icon will be resized to 64 x 64px\n
+\t\t},\n
+\t\t\n
+\t\tcallback: function(icons) { // Sets background color for "close" icon \n
+\t\t\ticons[\'close\'].css(\'background\',\'red\');\n
+\t\t},\n
+\t\t\n
+\t\tsvgz: true // Indicates that an SVGZ file is being used\n
+\t\t\n
+\t})\n
+});\n
+\n
+*/\n
+\n
+\n
+(function($) {\n
+\tvar svg_icons = {};\n
+\n
+\t$.svgIcons = function(file, opts) {\n
+\t\tvar svgns = "http://www.w3.org/2000/svg",\n
+\t\t\txlinkns = "http://www.w3.org/1999/xlink",\n
+\t\t\ticon_w = opts.w?opts.w : 24,\n
+\t\t\ticon_h = opts.h?opts.h : 24,\n
+\t\t\telems, svgdoc, testImg,\n
+\t\t\ticons_made = false, data_loaded = false, load_attempts = 0,\n
+\t\t\tua = navigator.userAgent, isOpera = !!window.opera, isSafari = (ua.indexOf(\'Safari/\') > -1 && ua.indexOf(\'Chrome/\')==-1),\n
+\t\t\tdata_pre = \'data:image/svg+xml;charset=utf-8;base64,\';\n
+\t\t\t\n
+\t\t\tif(opts.svgz) {\n
+\t\t\t\tvar data_el = $(\'<object data="\' + file + \'" type=image/svg+xml>\').appendTo(\'body\').hide();\n
+\t\t\t\ttry {\n
+\t\t\t\t\tsvgdoc = data_el[0].contentDocument;\n
+\t\t\t\t\t// TODO: IE still loads this, shouldn\'t even bother.\n
+\t\t\t\t\tdata_el.load(getIcons);\n
+\t\t\t\t\tgetIcons(0, true); // Opera will not run "load" event if file is already cached\n
+\t\t\t\t} catch(err1) {\n
+\t\t\t\t\tuseFallback();\n
+\t\t\t\t}\n
+\t\t\t} else {\n
+\t\t\t\t$.ajax({\n
+\t\t\t\t\turl: file,\n
+\t\t\t\t\tdataType: \'xml\',\n
+\t\t\t\t\tsuccess: function(data) {\n
+\t\t\t\t\t\tsvgdoc = data;\n
+\t\t\t\t\t\t$(function() {\n
+\t\t\t\t\t\t\tgetIcons(\'ajax\');\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t},\n
+\t\t\t\t\terror: function(err) {\n
+\t\t\t\t\t\t// TODO: Fix Opera widget icon bug\n
+\t\t\t\t\t\tif(window.opera) {\n
+\t\t\t\t\t\t\t$(function() {\n
+\t\t\t\t\t\t\t\tuseFallback();\n
+\t\t\t\t\t\t\t});\n
+\t\t\t\t\t\t} else {\n
+\t\t\t\t\t\t\tif(err.responseXML) {\n
+\t\t\t\t\t\t\t\tsvgdoc = err.responseXML;\n
+\t\t\t\t\t\t\t\t$(function() {\n
+\t\t\t\t\t\t\t\t\tgetIcons(\'ajax\');\n
+\t\t\t\t\t\t\t\t});\t\t\t\t\t\t\t\n
+\t\t\t\t\t\t\t} \n
+\t\t\t\t\t\t}\n
+\t\t\t\t\t}\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\t\n
+\t\tfunction getIcons(evt, no_wait) {\n
+\t\t\tif(evt !== \'ajax\') {\n
+\t\t\t\tif(data_loaded) return;\n
+\t\t\t\t// Webkit sometimes says svgdoc is undefined, other times\n
+\t\t\t\t// it fails to load all nodes. Thus we must make sure the "eof" \n
+\t\t\t\t// element is loaded.\n
+\t\t\t\tsvgdoc = data_el[0].contentDocument; // Needed again for Webkit\n
+\t\t\t\tvar isReady = (svgdoc && svgdoc.getElementById(\'svg_eof\'));\n
+\t\t\t\tif(!isReady && !(no_wait && isReady)) {\n
+\t\t\t\t\tload_attempts++;\n
+\t\t\t\t\tif(load_attempts < 50) {\n
+\t\t\t\t\t\tsetTimeout(getIcons, 20);\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tuseFallback();\n
+\t\t\t\t\t\tdata_loaded = true;\n
+\t\t\t\t\t}\n
+\t\t\t\t\treturn;\n
+\t\t\t\t}\n
+\t\t\t\tdata_loaded = true;\n
+\t\t\t}\n
+\t\t\t// Clean source SVGs (mostly for Inkscape files)\n
+\t\t\t// TODO: Find a way to do this without crashing Safari (when converting to IMG)\n
+\t\t\t$(svgdoc).find(\'metadata\').remove().end()\n
+\t\t\t\t.find(\'*\').each(function(i, el) {\n
+\t\t\t\tif(el.nodeName.indexOf(\':\') != -1) {\n
+\t\t\t\t\t$(el).remove();\n
+\t\t\t\t}\n
+\t\t\t\tvar attrs = $.extend(false, el.attributes, {});\n
+\t\t\t\tfor(i in attrs) {\n
+\t\t\t\t\tvar attr = attrs[i];\n
+\t\t\t\t\tvar fullattr = attr.prefix?attr.prefix + \':\' + attr.localName:\'\';\n
+\t\t\t\t\tif(attr.prefix) {\n
+\t\t\t\t\t\tel.removeAttribute(attr.localName); // for Opera\n
+\t\t\t\t\t\tel.removeAttribute(fullattr); // for Webkit\n
+\t\t\t\t\t} \n
+\t\t\t\t\tif(fullattr == \'xlink:href\') {\n
+\t\t\t\t\t\tel.setAttribute(\'xlink:href\', attr.nodeValue);\n
+\t\t\t\t\t}\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t\telems = $(svgdoc.firstChild).children(); //.getElementsByTagName(\'foreignContent\');\n
+\t\t\tvar testSrc = data_pre + \'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNzUiIGhlaWdodD0iMjc1Ij48L3N2Zz4%3D\';\n
+\t\t\t\n
+\t\t\ttestImg = $(new Image()).attr({\n
+\t\t\t\tsrc: testSrc,\n
+\t\t\t\twidth: 0,\n
+\t\t\t\theight: 0\n
+\t\t\t}).appendTo(\'body\')\n
+\t\t\t.load(function () {\n
+\t\t\t\t// Safari 4 crashes, Opera and Chrome don\'t\n
+\t\t\t\tmakeIcons(!isSafari);\n
+\t\t\t}).error(function () {\n
+\t\t\t\tmakeIcons();\n
+\t\t\t});\n
+\t\t}\n
+\t\t\n
+\t\tfunction makeIcons(toImage, fallback) {\n
+\t\t\tif(icons_made) return;\n
+\t\t\tif(opts.no_img) toImage = false;\n
+\t\t\tvar holder;\n
+\t\t\t\n
+\t\t\tvar setIcon = function(target, icon, id, setID) {\n
+\t\t\t\tif(isOpera) icon.css(\'visibility\',\'hidden\');\n
+\t\t\t\tif(opts.replace) {\n
+\t\t\t\t\tif(setID) icon.attr(\'id\',id);\n
+\t\t\t\t\tvar cl = target.attr(\'class\');\n
+\t\t\t\t\tif(cl) icon.attr(\'class\',\'svg_icon \'+cl);\n
+\t\t\t\t\ttarget.replaceWith(icon);\n
+\t\t\t\t} else {\n
+\t\t\t\t\t\n
+\t\t\t\t\ttarget.append(icon);\n
+\t\t\t\t}\n
+\t\t\t\tif(isOpera) {\n
+\t\t\t\t\tsetTimeout(function() {\n
+\t\t\t\t\t\ticon.attr(\'style\',\'visibility:visible;\');\n
+\t\t\t\t\t},1);\n
+\t\t\t\t}\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tvar addIcon = function(icon, id) {\n
+\t\t\t\tif(opts.id_match === undefined || opts.id_match !== false) {\n
+\t\t\t\t\tsetIcon(holder, icon, id, true);\n
+\t\t\t\t}\n
+\t\t\t\tsvg_icons[id] = icon;\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tif(toImage) {\n
+\t\t\t\tvar temp_holder = $(document.createElement(\'div\'));\n
+\t\t\t\ttemp_holder.hide().appendTo(\'body\');\n
+\t\t\t} \n
+\t\t\tif(fallback) {\n
+\t\t\t\tvar path = opts.fallback_path?opts.fallback_path:\'\';\n
+\t\t\t\t$.each(fallback, function(id, imgsrc) {\n
+\t\t\t\t\tholder = $(\'#\' + id);\n
+\t\t\t\t\tvar icon = $(new Image())\n
+\t\t\t\t\t\t.attr({\n
+\t\t\t\t\t\t\t\'class\':\'svg_icon\',\n
+\t\t\t\t\t\t\tsrc: path + imgsrc,\n
+\t\t\t\t\t\t\t\'width\': icon_w,\n
+\t\t\t\t\t\t\t\'height\': icon_h,\n
+\t\t\t\t\t\t\t\'alt\': \'icon\'\n
+\t\t\t\t\t\t});\n
+\t\t\t\t\t\n
+\t\t\t\t\taddIcon(icon, id);\n
+\t\t\t\t});\n
+\t\t\t} else {\n
+\t\t\t\t$.each(elems, function(i, elem) {\n
+\t\t\t\t\tvar id = elem.getAttribute(\'id\');\n
+\t\t\t\t\tif(id == \'svg_eof\') return;\n
+\t\t\t\t\tholder = $(\'#\' + id);\n
+\t\t\t\n
+\t\t\t\t\tvar svg = elem.getElementsByTagNameNS(svgns, \'svg\')[0];\n
+\t\t\t\t\tvar svgroot = svgdoc.createElementNS(svgns, "svg");\n
+\t\t\t\t\tsvgroot.setAttributeNS(svgns, \'viewBox\', [0,0,icon_w,icon_h].join(\' \'));\n
+\t\t\t\t\t\n
+\t\t\t\t\t// Make flexible by converting width/height to viewBox\n
+\t\t\t\t\tvar w = svg.getAttribute(\'width\');\n
+\t\t\t\t\tvar h = svg.getAttribute(\'height\');\n
+\t\t\t\t\tsvg.removeAttribute(\'width\');\n
+\t\t\t\t\tsvg.removeAttribute(\'height\');\n
+\t\t\t\t\t\n
+\t\t\t\t\tvar vb = svg.getAttribute(\'viewBox\');\n
+\t\t\t\t\tif(!vb) {\n
+\t\t\t\t\t\tsvg.setAttribute(\'viewBox\', [0,0,w,h].join(\' \'));\n
+\t\t\t\t\t}\n
+\t\t\t\t\t\n
+\t\t\t\t\t$(svgroot).attr({\n
+\t\t\t\t\t\t"xmlns": svgns,\n
+\t\t\t\t\t\t"width": icon_w,\n
+\t\t\t\t\t\t"height": icon_h,\n
+\t\t\t\t\t\t"xmlns:xlink": xlinkns,\n
+\t\t\t\t\t\t"class": \'svg_icon\'\n
+\t\t\t\t\t});\n
+\n
+\t\t\t\t\t// Without cloning, Firefox will make another GET request.\n
+\t\t\t\t\t// With cloning, causes issue in Opera/Win/Non-EN\n
+\t\t\t\t\tif(!isOpera) svg = svg.cloneNode(true);\n
+\t\t\t\t\t\n
+\t\t\t\t\tsvgroot.appendChild(svg);\n
+\t\t\t\n
+\t\t\t\t\tif(toImage) {\n
+\t\t\t\t\t\t// Without cloning, Safari will crash\n
+\t\t\t\t\t\t// With cloning, causes issue in Opera/Win/Non-EN\n
+\t\t\t\t\t\tvar svgcontent = isOpera?svgroot:svgroot.cloneNode(true);\n
+\t\t\t\t\t\ttemp_holder.empty().append(svgroot);\n
+\t\t\t\t\t\tvar str = data_pre + encode64(temp_holder.html());\n
+\t\t\t\t\t\tvar icon = $(new Image())\n
+\t\t\t\t\t\t\t.attr({\'class\':\'svg_icon\', src:str});\n
+\t\t\t\t\t} else {\n
+\t\t\t\t\t\tvar icon = fixIDs($(svgroot), i);\n
+\t\t\t\t\t}\n
+\t\t\t\t\taddIcon(icon, id);\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\t\n
+\t\t\tif(opts.placement) {\n
+\t\t\t\t$.each(opts.placement, function(sel, id) {\n
+\t\t\t\t\tif(!svg_icons[id]) return;\n
+\t\t\t\t\t$(sel).each(function(i) {\n
+\t\t\t\t\t\tvar copy = svg_icons[id].clone();\n
+\t\t\t\t\t\tif(i > 0 && !toImage) copy = fixIDs(copy, i, true);\n
+\t\t\t\t\t\tsetIcon($(this), copy, id);\n
+\t\t\t\t\t})\n
+\t\t\t\t});\n
+\t\t\t}\n
+\t\t\tif(!fallback) {\n
+\t\t\t\tif(toImage) temp_holder.remove();\n
+\t\t\t\tif(data_el) data_el.remove();\n
+\t\t\t\ttestImg.remove();\n
+\t\t\t}\n
+\n
+\t\t\tif(opts.resize) $.resizeSvgIcons(opts.resize);\n
+\n
+\t\t\ticons_made = true;\n
+\t\t\t\n
+\t\t\tif(opts.callback) opts.callback(svg_icons);\n
+\t\t\t\n
+\t\t}\n
+\t\t\n
+\t\tfunction fixIDs(svg_el, svg_num, force) {\n
+\t\t\tvar defs = svg_el.find(\'defs\');\n
+\t\t\tif(!defs.length) return svg_el;\n
+\t\t\t\n
+\t\t\tdefs.find(\'[id]\').each(function(i) {\n
+\t\t\t\tvar id = this.id;\n
+\t\t\t\tvar no_dupes = ($(svgdoc).find(\'#\' + id).length <= 1);\n
+\t\t\t\tif(isOpera) no_dupes = false; // Opera didn\'t clone svg_el, so not reliable\n
+\t\t\t\t// if(!force && no_dupes) return;\n
+\t\t\t\tvar new_id = \'x\' + id + svg_num + i;\n
+\t\t\t\t$(this).attr(\'id\', new_id);\t\t\t\n
+\t\n
+\t\t\t\tsvg_el.find(\'[fill="url(#\' + id + \')"]\').each(function() {\n
+\t\t\t\t\t$(this).attr(\'fill\', \'url(#\' + new_id + \')\');\n
+\t\t\t\t}).end().find(\'[stroke="url(#\' + id + \')"]\').each(function() {\n
+\t\t\t\t\t$(this).attr(\'stroke\', \'url(#\' + new_id + \')\');\n
+\t\t\t\t}).end().find(\'use\').each(function() {\n
+\t\t\t\t\tif(this.getAttribute(\'xlink:href\') == \'#\' + id) {\n
+\t\t\t\t\t\tthis.setAttributeNS(xlinkns,\'href\',\'#\' + new_id);\n
+\t\t\t\t\t}\n
+\t\t\t\t}).end().find(\'[filter="url(#\' + id + \')"]\').each(function() {\n
+\t\t\t\t\t$(this).attr(\'filter\', \'url(#\' + new_id + \')\');\n
+\t\t\t\t});\n
+\t\t\t});\n
+\t\t\treturn svg_el;\n
+\t\t}\n
+\t\t\n
+\t\tfunction useFallback() {\n
+\t\t\tif(file.indexOf(\'.svgz\') != -1) {\n
+\t\t\t\tvar reg_file = file.replace(\'.svgz\',\'.svg\');\n
+\t\t\t\tif(window.console) {\n
+\t\t\t\t\tconsole.log(\'.svgz failed, trying with .svg\');\n
+\t\t\t\t}\n
+\t\t\t\t$.svgIcons(reg_file, opts);\n
+\t\t\t} else if(opts.fallback) {\n
+\t\t\t\tmakeIcons(false, opts.fallback);\n
+\t\t\t}\n
+\t\t}\n
+\t\t\t\t\n
+\t\tfunction encode64(input) {\n
+\t\t\t// base64 strings are 4/3 larger than the original string\n
+\t\t\tif(window.btoa) return window.btoa(input);\n
+\t\t\tvar _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";\n
+\t\t\tvar output = new Array( Math.floor( (input.length + 2) / 3 ) * 4 );\n
+\t\t\tvar chr1, chr2, chr3;\n
+\t\t\tvar enc1, enc2, enc3, enc4;\n
+\t\t\tvar i = 0, p = 0;\n
+\t\t\n
+\t\t\tdo {\n
+\t\t\t\tchr1 = input.charCodeAt(i++);\n
+\t\t\t\tchr2 = input.charCodeAt(i++);\n
+\t\t\t\tchr3 = input.charCodeAt(i++);\n
+\t\t\n
+\t\t\t\tenc1 = chr1 >> 2;\n
+\t\t\t\tenc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\n
+\t\t\t\tenc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\n
+\t\t\t\tenc4 = chr3 & 63;\n
+\t\t\n
+\t\t\t\tif (isNaN(chr2)) {\n
+\t\t\t\t\tenc3 = enc4 = 64;\n
+\t\t\t\t} else if (isNaN(chr3)) {\n
+\t\t\t\t\tenc4 = 64;\n
+\t\t\t\t}\n
+\t\t\n
+\t\t\t\toutput[p++] = _keyStr.charAt(enc1);\n
+\t\t\t\toutput[p++] = _keyStr.charAt(enc2);\n
+\t\t\t\toutput[p++] = _keyStr.charAt(enc3);\n
+\t\t\t\toutput[p++] = _keyStr.charAt(enc4);\n
+\t\t\t} while (i < input.length);\n
+\t\t\n
+\t\t\treturn output.join(\'\');\n
+\t\t}\n
+\t}\n
+\t\n
+\t$.getSvgIcon = function(id) { return svg_icons[id]; }\n
+\t\n
+\t$.resizeSvgIcons = function(obj) {\n
+\t\t// FF2 and older don\'t detect .svg_icon, so we change it detect svg elems instead\n
+\t\tvar change_sel = !$(\'.svg_icon:first\').length;\n
+\t\t$.each(obj, function(sel, size) {\n
+\t\t\tvar arr = $.isArray(size);\n
+\t\t\tvar w = arr?size[0]:size,\n
+\t\t\t\th = arr?size[1]:size;\n
+\t\t\tif(change_sel) {\n
+\t\t\t\tsel = sel.replace(/\\.svg_icon/g,\'svg\');\n
+\t\t\t}\n
+\t\t\t$(sel).each(function() {\n
+\t\t\t\tthis.setAttribute(\'width\', w);\n
+\t\t\t\tthis.setAttribute(\'height\', h);\n
+\t\t\t\tif(window.opera && window.widget) {\n
+\t\t\t\t\tthis.parentNode.style.width = w + \'px\';\n
+\t\t\t\t\tthis.parentNode.style.height = h + \'px\';\n
+\t\t\t\t}\n
+\t\t\t});\n
+\t\t});\n
+\t}\n
+\t\n
+})(jQuery);\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>13548</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons/jquery.svgicons.min.js.xml b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons/jquery.svgicons.min.js.xml
new file mode 100644
index 0000000000..a5d33d7cc9
--- /dev/null
+++ b/bt5/erp5_jquery/SkinTemplateItem/portal_skins/erp5_jquery/jquery_plugin/svgicons/jquery.svgicons.min.js.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="File" module="OFS.Image"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_EtagSupport__etag</string> </key>
+            <value> <string>ts80003876.08</string> </value>
+        </item>
+        <item>
+            <key> <string>__name__</string> </key>
+            <value> <string>jquery.svgicons.min.js</string> </value>
+        </item>
+        <item>
+            <key> <string>content_type</string> </key>
+            <value> <string>application/x-javascript</string> </value>
+        </item>
+        <item>
+            <key> <string>data</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+(function(b){var a={};b.svgIcons=function(t,m){var l="http://www.w3.org/2000/svg",q="http://www.w3.org/1999/xlink",d=m.w?m.w:24,k=m.h?m.h:24,w,f,j,u=false,g=false,h=0,o=navigator.userAgent,v=!!window.opera,s=(o.indexOf("Safari/")>-1&&o.indexOf("Chrome/")==-1),c="data:image/svg+xml;charset=utf-8;base64,";if(m.svgz){var n=b(\'<object data="\'+t+\'" type=image/svg+xml>\').appendTo("body").hide();try{f=n[0].contentDocument;n.load(i);i(0,true)}catch(r){p()}}else{b.ajax({url:t,dataType:"xml",success:function(z){f=z;b(function(){i("ajax")})},error:function(z){if(window.opera){b(function(){p()})}else{if(z.responseXML){f=z.responseXML;b(function(){i("ajax")})}}}})}function i(z,C){if(z!=="ajax"){if(g){return}f=n[0].contentDocument;var B=(f&&f.getElementById("svg_eof"));if(!B&&!(C&&B)){h++;if(h<50){setTimeout(i,20)}else{p();g=true}return}g=true}b(f).find("metadata").remove().end().find("*").each(function(F,G){if(G.nodeName.indexOf(":")!=-1){b(G).remove()}var E=b.extend(false,G.attributes,{});for(F in E){var D=E[F];var H=D.prefix?D.prefix+":"+D.localName:"";if(D.prefix){G.removeAttribute(D.localName);G.removeAttribute(H)}if(H=="xlink:href"){G.setAttribute("xlink:href",D.nodeValue)}}});w=b(f.firstChild).children();var A=c+"PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNzUiIGhlaWdodD0iMjc1Ij48L3N2Zz4%3D";j=b(new Image()).attr({src:A,width:0,height:0}).appendTo("body").load(function(){y(!s)}).error(function(){y()})}function y(z,F){if(u){return}if(m.no_img){z=false}var A;var E=function(J,I,K,G){if(v){I.css("visibility","hidden")}if(m.replace){if(G){I.attr("id",K)}var H=J.attr("class");if(H){I.attr("class","svg_icon "+H)}J.replaceWith(I)}else{J.append(I)}if(v){setTimeout(function(){I.attr("style","visibility:visible;")},1)}};var D=function(G,H){if(m.id_match===undefined||m.id_match!==false){E(A,G,H,true)}a[H]=G};if(z){var C=b(document.createElement("div"));C.hide().appendTo("body")}if(F){var B=m.fallback_path?m.fallback_path:"";b.each(F,function(I,H){A=b("#"+I);var G=b(new Image()).attr({"class":"svg_icon",src:B+H,width:d,height:k,alt:"icon"});D(G,I)})}else{b.each(w,function(I,H){var G=H.getAttribute("id");if(G=="svg_eof"){return}A=b("#"+G);var M=H.getElementsByTagNameNS(l,"svg")[0];var L=f.createElementNS(l,"svg");L.setAttributeNS(l,"viewBox",[0,0,d,k].join(" "));var Q=M.getAttribute("width");var K=M.getAttribute("height");M.removeAttribute("width");M.removeAttribute("height");var O=M.getAttribute("viewBox");if(!O){M.setAttribute("viewBox",[0,0,Q,K].join(" "))}b(L).attr({xmlns:l,width:d,height:k,"xmlns:xlink":q,"class":"svg_icon"});if(!v){M=M.cloneNode(true)}L.appendChild(M);if(z){var J=v?L:L.cloneNode(true);C.empty().append(L);var N=c+x(C.html());var P=b(new Image()).attr({"class":"svg_icon",src:N})}else{var P=e(b(L),I)}D(P,G)})}if(m.placement){b.each(m.placement,function(G,H){if(!a[H]){return}b(G).each(function(I){var J=a[H].clone();if(I>0&&!z){J=e(J,I,true)}E(b(this),J,H)})})}if(!F){if(z){C.remove()}if(n){n.remove()}j.remove()}if(m.resize){b.resizeSvgIcons(m.resize)}u=true;if(m.callback){m.callback(a)}}function e(C,B,A){var z=C.find("defs");if(!z.length){return C}z.find("[id]").each(function(F){var G=this.id;var D=(b(f).find("#"+G).length<=1);if(v){D=false}var E="x"+G+B+F;b(this).attr("id",E);C.find(\'[fill="url(#\'+G+\')"]\').each(function(){b(this).attr("fill","url(#"+E+")")}).end().find(\'[stroke="url(#\'+G+\')"]\').each(function(){b(this).attr("stroke","url(#"+E+")")}).end().find("use").each(function(){if(this.getAttribute("xlink:href")=="#"+G){this.setAttributeNS(q,"href","#"+E)}}).end().find(\'[filter="url(#\'+G+\')"]\').each(function(){b(this).attr("filter","url(#"+E+")")})});return C}function p(){if(t.indexOf(".svgz")!=-1){var z=t.replace(".svgz",".svg");if(window.console){console.log(".svgz failed, trying with .svg")}b.svgIcons(z,m)}else{if(m.fallback){y(false,m.fallback)}}}function x(D){if(window.btoa){return window.btoa(D)}var C="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var A=new Array(Math.floor((D.length+2)/3)*4);var K,I,G;var J,H,F,E;var B=0,z=0;do{K=D.charCodeAt(B++);I=D.charCodeAt(B++);G=D.charCodeAt(B++);J=K>>2;H=((K&3)<<4)|(I>>4);F=((I&15)<<2)|(G>>6);E=G&63;if(isNaN(I)){F=E=64}else{if(isNaN(G)){E=64}}A[z++]=C.charAt(J);A[z++]=C.charAt(H);A[z++]=C.charAt(F);A[z++]=C.charAt(E)}while(B<D.length);return A.join("")}};b.getSvgIcon=function(c){return a[c]};b.resizeSvgIcons=function(d){var c=!b(".svg_icon:first").length;b.each(d,function(j,g){var e=b.isArray(g);var f=e?g[0]:g,i=e?g[1]:g;if(c){j=j.replace(/\\.svg_icon/g,"svg")}b(j).each(function(){this.setAttribute("width",f);this.setAttribute("height",i);if(window.opera&&window.widget){this.parentNode.style.width=f+"px";this.parentNode.style.height=i+"px"}})})}})(jQuery);
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>precondition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>size</string> </key>
+            <value> <int>4736</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_jquery/bt/change_log b/bt5/erp5_jquery/bt/change_log
index 1c89bf0359..947e51d3b3 100644
--- a/bt5/erp5_jquery/bt/change_log
+++ b/bt5/erp5_jquery/bt/change_log
@@ -1,3 +1,6 @@
+2010-10-13 gabriel
+* Add jquery_plugin folder. This folder is used by erp5_web_ung_core.
+
 2010-06-30 yo
 * Add jquery-ui-1.8.2.
 
diff --git a/bt5/erp5_jquery/bt/revision b/bt5/erp5_jquery/bt/revision
index 3f10ffe7a4..8e2afd3427 100644
--- a/bt5/erp5_jquery/bt/revision
+++ b/bt5/erp5_jquery/bt/revision
@@ -1 +1 @@
-15
\ No newline at end of file
+17
\ No newline at end of file
-- 
2.30.9


From 6ba051e8e9d8a924825a9177bfb63f380a936f07 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Fri, 15 Oct 2010 18:32:52 +0000
Subject: [PATCH 133/163] Added Tcp Port Number portal type.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39259 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_types/Computer/tcp_port_number.xml |  79 +++++++
 .../portal_types/Tcp%20Port%20Number/view.xml |  79 +++++++
 .../portal_types/Tcp%20Port%20Number.xml      |  58 +++++
 .../workflow_chain_type.xml                   |   4 +
 .../Computer_viewTcpPortNumberList.xml        | 153 +++++++++++++
 .../listbox.xml                               | 210 ++++++++++++++++++
 .../my_last_tcp_port_number.xml               | 106 +++++++++
 .../my_max_tcp_port_number.xml                | 101 +++++++++
 .../my_min_tcp_port_number.xml                | 101 +++++++++
 .../TcpPortNumber_view.xml                    | 151 +++++++++++++
 .../TcpPortNumber_view/my_description.xml     | 101 +++++++++
 .../TcpPortNumber_view/my_title.xml           | 106 +++++++++
 .../my_translated_validation_state_title.xml  |  90 ++++++++
 bt5/erp5_computer_immobilisation/bt/revision  |   2 +-
 .../bt/template_action_path_list              |   4 +-
 ...late_portal_type_allowed_content_type_list |   3 +-
 .../bt/template_portal_type_id_list           |   3 +-
 .../template_portal_type_workflow_chain_list  |   3 +-
 18 files changed, 1349 insertions(+), 5 deletions(-)
 create mode 100644 bt5/erp5_computer_immobilisation/ActionTemplateItem/portal_types/Computer/tcp_port_number.xml
 create mode 100644 bt5/erp5_computer_immobilisation/ActionTemplateItem/portal_types/Tcp%20Port%20Number/view.xml
 create mode 100644 bt5/erp5_computer_immobilisation/PortalTypeTemplateItem/portal_types/Tcp%20Port%20Number.xml
 create mode 100644 bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList.xml
 create mode 100644 bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/listbox.xml
 create mode 100644 bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_last_tcp_port_number.xml
 create mode 100644 bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_max_tcp_port_number.xml
 create mode 100644 bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_min_tcp_port_number.xml
 create mode 100644 bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view.xml
 create mode 100644 bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_description.xml
 create mode 100644 bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_title.xml
 create mode 100644 bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_translated_validation_state_title.xml

diff --git a/bt5/erp5_computer_immobilisation/ActionTemplateItem/portal_types/Computer/tcp_port_number.xml b/bt5/erp5_computer_immobilisation/ActionTemplateItem/portal_types/Computer/tcp_port_number.xml
new file mode 100644
index 0000000000..42e828e4b8
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/ActionTemplateItem/portal_types/Computer/tcp_port_number.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>tcp_port_number</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>10.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Tcp Port Numbers</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Computer_viewTcpPortNumberList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/ActionTemplateItem/portal_types/Tcp%20Port%20Number/view.xml b/bt5/erp5_computer_immobilisation/ActionTemplateItem/portal_types/Tcp%20Port%20Number/view.xml
new file mode 100644
index 0000000000..646d64365c
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/ActionTemplateItem/portal_types/Tcp%20Port%20Number/view.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/TcpPortNumber_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/PortalTypeTemplateItem/portal_types/Tcp%20Port%20Number.xml b/bt5/erp5_computer_immobilisation/PortalTypeTemplateItem/portal_types/Tcp%20Port%20Number.xml
new file mode 100644
index 0000000000..38b69f30c2
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/PortalTypeTemplateItem/portal_types/Tcp%20Port%20Number.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>acquire_local_roles</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>content_meta_type</string> </key>
+            <value> <string>ERP5 XML Object</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>It represents tcp port number of a computer.</string> </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addXMLObject</string> </value>
+        </item>
+        <item>
+            <key> <string>filter_content_types</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Tcp Port Number</string> </value>
+        </item>
+        <item>
+            <key> <string>init_script</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>permission</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_computer_immobilisation/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
index fb2b2cec66..cc793cc742 100644
--- a/bt5/erp5_computer_immobilisation/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
+++ b/bt5/erp5_computer_immobilisation/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -11,4 +11,8 @@
   <type>Internet Protocol Address</type>
   <workflow>edit_workflow</workflow>
  </chain>
+ <chain>
+  <type>Tcp Port Number</type>
+  <workflow>edit_workflow</workflow>
+ </chain>
 </workflow_chain>
\ No newline at end of file
diff --git a/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList.xml b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList.xml
new file mode 100644
index 0000000000..fa11b32714
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_min_tcp_port_number</string>
+                        <string>my_max_tcp_port_number</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list>
+                        <string>my_last_tcp_port_number</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Computer_viewTcpPortNumberList</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>Computer_viewTcpPortNumberList</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Tcp Port Numbers</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/listbox.xml b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/listbox.xml
new file mode 100644
index 0000000000..081a842f96
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/listbox.xml
@@ -0,0 +1,210 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>columns</string>
+                <string>search_columns</string>
+                <string>sort_columns</string>
+                <string>sort</string>
+                <string>list_method</string>
+                <string>selection_name</string>
+                <string>portal_types</string>
+                <string>default_params</string>
+                <string>search</string>
+                <string>anchor</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>anchor</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Port Number</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>default_params</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_types</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Tcp Port Number</string>
+                          <string>Tcp Port Number</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>search</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Port Number</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string>computer_tcp_port_number_list_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>title</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Port Number</string>
+                        </tuple>
+                        <tuple>
+                          <string>translated_validation_state_title</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Tcp Port Numbers</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Method" module="Products.Formulator.MethodField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>method_name</string> </key>
+            <value> <string>searchFolder</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_last_tcp_port_number.xml b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_last_tcp_port_number.xml
new file mode 100644
index 0000000000..87baad15b2
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_last_tcp_port_number.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>display_width</string>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_last_tcp_port_number</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>10</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_integer_value</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Last Port Number Used</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_max_tcp_port_number.xml b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_max_tcp_port_number.xml
new file mode 100644
index 0000000000..12f02d22df
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_max_tcp_port_number.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>display_width</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_max_tcp_port_number</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_integer_value</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Maximum Tcp Port Number</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_min_tcp_port_number.xml b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_min_tcp_port_number.xml
new file mode 100644
index 0000000000..8da1f0899b
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/Computer_viewTcpPortNumberList/my_min_tcp_port_number.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>display_width</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_min_tcp_port_number</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_integer_value</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Minimum Tcp Port Number</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view.xml b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view.xml
new file mode 100644
index 0000000000..87626d7051
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view.xml
@@ -0,0 +1,151 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                        <string>my_description</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list>
+                        <string>my_translated_validation_state_title</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>TcpPortNumber_view</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>TcpPortNumber_view</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_description.xml b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_description.xml
new file mode 100644
index 0000000000..4658de23ab
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_description.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>whitespace_preserve</string>
+                <string>width</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_description</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_description</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <int>40</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_title.xml b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_title.xml
new file mode 100644
index 0000000000..d6bc91ceeb
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_title.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>editable</string>
+                <string>display_width</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_string_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Port Number</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_translated_validation_state_title.xml b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_translated_validation_state_title.xml
new file mode 100644
index 0000000000..38145b50e8
--- /dev/null
+++ b/bt5/erp5_computer_immobilisation/SkinTemplateItem/portal_skins/erp5_computer_immobilisation/TcpPortNumber_view/my_translated_validation_state_title.xml
@@ -0,0 +1,90 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_translated_validation_state_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_translated_workflow_state_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_computer_immobilisation/bt/revision b/bt5/erp5_computer_immobilisation/bt/revision
index 1758dddcce..dc7b54ad01 100644
--- a/bt5/erp5_computer_immobilisation/bt/revision
+++ b/bt5/erp5_computer_immobilisation/bt/revision
@@ -1 +1 @@
-32
\ No newline at end of file
+33
\ No newline at end of file
diff --git a/bt5/erp5_computer_immobilisation/bt/template_action_path_list b/bt5/erp5_computer_immobilisation/bt/template_action_path_list
index b8cbae72f9..edbf1a634e 100644
--- a/bt5/erp5_computer_immobilisation/bt/template_action_path_list
+++ b/bt5/erp5_computer_immobilisation/bt/template_action_path_list
@@ -1,5 +1,7 @@
 Computer Module | view
 Computer Partition | view
 Computer | computer_partition
+Computer | tcp_port_number
 Computer | view
-Internet Protocol Address | view
\ No newline at end of file
+Internet Protocol Address | view
+Tcp Port Number | view
\ No newline at end of file
diff --git a/bt5/erp5_computer_immobilisation/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_computer_immobilisation/bt/template_portal_type_allowed_content_type_list
index 96ad6f51e8..493f5ff6d3 100644
--- a/bt5/erp5_computer_immobilisation/bt/template_portal_type_allowed_content_type_list
+++ b/bt5/erp5_computer_immobilisation/bt/template_portal_type_allowed_content_type_list
@@ -1,4 +1,5 @@
 Computer Module | Computer
 Computer Partition | Internet Protocol Address
 Computer | Computer Partition
-Computer | Internet Protocol Address
\ No newline at end of file
+Computer | Internet Protocol Address
+Computer | Tcp Port Number
\ No newline at end of file
diff --git a/bt5/erp5_computer_immobilisation/bt/template_portal_type_id_list b/bt5/erp5_computer_immobilisation/bt/template_portal_type_id_list
index 5dce936774..71c628d13f 100644
--- a/bt5/erp5_computer_immobilisation/bt/template_portal_type_id_list
+++ b/bt5/erp5_computer_immobilisation/bt/template_portal_type_id_list
@@ -1,4 +1,5 @@
 Computer
 Computer Module
 Computer Partition
-Internet Protocol Address
\ No newline at end of file
+Internet Protocol Address
+Tcp Port Number
\ No newline at end of file
diff --git a/bt5/erp5_computer_immobilisation/bt/template_portal_type_workflow_chain_list b/bt5/erp5_computer_immobilisation/bt/template_portal_type_workflow_chain_list
index f1ee0da716..b6b40a0b82 100644
--- a/bt5/erp5_computer_immobilisation/bt/template_portal_type_workflow_chain_list
+++ b/bt5/erp5_computer_immobilisation/bt/template_portal_type_workflow_chain_list
@@ -2,4 +2,5 @@ Computer Partition | edit_workflow
 Computer Partition | validation_workflow
 Computer | edit_workflow
 Computer | validation_workflow
-Internet Protocol Address | edit_workflow
\ No newline at end of file
+Internet Protocol Address | edit_workflow
+Tcp Port Number | edit_workflow
\ No newline at end of file
-- 
2.30.9


From 81784db4d2fc23a1633ac2749aebcaf89311a715 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Fri, 15 Oct 2010 19:23:56 +0000
Subject: [PATCH 134/163] Initial Import of ERP5Workflow porduct.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39260 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Workflow/Constraint/__init__.py   |   0
 product/ERP5Workflow/Core/__init__.py         |   0
 product/ERP5Workflow/Document/State.py        | 122 +++++++
 product/ERP5Workflow/Document/Transition.py   | 140 ++++++++
 product/ERP5Workflow/Document/Variable.py     |  55 +++
 product/ERP5Workflow/Document/Workflow.py     | 215 +++++++++++
 product/ERP5Workflow/Document/Worklist.py     |  55 +++
 product/ERP5Workflow/Document/__init__.py     |   0
 product/ERP5Workflow/GPL.txt                  | 340 ++++++++++++++++++
 product/ERP5Workflow/Interface/__init__.py    |   0
 product/ERP5Workflow/MAINTAINERS.txt          |   1 +
 product/ERP5Workflow/Permissions.py           |   0
 product/ERP5Workflow/PropertySheet/State.py   |  45 +++
 .../ERP5Workflow/PropertySheet/Transition.py  |  53 +++
 .../ERP5Workflow/PropertySheet/Variable.py    |  43 +++
 .../ERP5Workflow/PropertySheet/Workflow.py    |  44 +++
 .../ERP5Workflow/PropertySheet/__init__.py    |   0
 product/ERP5Workflow/VERSION.txt              |   1 +
 product/ERP5Workflow/__init__.py              |  56 +++
 product/ERP5Workflow/tests/__init__.py        |   0
 .../ERP5Workflow/tests/testERP5Workflow.py    | 192 ++++++++++
 21 files changed, 1362 insertions(+)
 create mode 100644 product/ERP5Workflow/Constraint/__init__.py
 create mode 100644 product/ERP5Workflow/Core/__init__.py
 create mode 100644 product/ERP5Workflow/Document/State.py
 create mode 100644 product/ERP5Workflow/Document/Transition.py
 create mode 100644 product/ERP5Workflow/Document/Variable.py
 create mode 100644 product/ERP5Workflow/Document/Workflow.py
 create mode 100644 product/ERP5Workflow/Document/Worklist.py
 create mode 100644 product/ERP5Workflow/Document/__init__.py
 create mode 100644 product/ERP5Workflow/GPL.txt
 create mode 100644 product/ERP5Workflow/Interface/__init__.py
 create mode 100644 product/ERP5Workflow/MAINTAINERS.txt
 create mode 100644 product/ERP5Workflow/Permissions.py
 create mode 100644 product/ERP5Workflow/PropertySheet/State.py
 create mode 100644 product/ERP5Workflow/PropertySheet/Transition.py
 create mode 100644 product/ERP5Workflow/PropertySheet/Variable.py
 create mode 100644 product/ERP5Workflow/PropertySheet/Workflow.py
 create mode 100644 product/ERP5Workflow/PropertySheet/__init__.py
 create mode 100644 product/ERP5Workflow/VERSION.txt
 create mode 100644 product/ERP5Workflow/__init__.py
 create mode 100644 product/ERP5Workflow/tests/__init__.py
 create mode 100644 product/ERP5Workflow/tests/testERP5Workflow.py

diff --git a/product/ERP5Workflow/Constraint/__init__.py b/product/ERP5Workflow/Constraint/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/product/ERP5Workflow/Core/__init__.py b/product/ERP5Workflow/Core/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/product/ERP5Workflow/Document/State.py b/product/ERP5Workflow/Document/State.py
new file mode 100644
index 0000000000..ff615c3a6b
--- /dev/null
+++ b/product/ERP5Workflow/Document/State.py
@@ -0,0 +1,122 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Romain Courteaud <romain@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+from AccessControl import ClassSecurityInfo
+
+from Products.ERP5Type import Permissions, PropertySheet
+from Products.ERP5Type.XMLObject import XMLObject
+from zLOG import LOG, ERROR, DEBUG, WARNING
+
+class StateError(Exception): 
+  """
+  Must call only an available transition
+  """
+  pass
+
+class State(XMLObject):
+  """
+  A ERP5 State.
+  """
+  meta_type = 'ERP5 State'
+  portal_type = 'State'
+  add_permission = Permissions.AddPortalContent
+  isPortalContent = 1
+  isRADContent = 1
+
+  # Declarative security
+  security = ClassSecurityInfo()
+  security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+  # Declarative properties
+  property_sheets = (
+             PropertySheet.Base,
+             PropertySheet.XMLObject,
+             PropertySheet.CategoryCore,
+             PropertySheet.DublinCore,
+             PropertySheet.State,)
+
+  def getAvailableTransitionList(self, document):
+    """
+    Return available transitions only if they are accessible for document.
+    """
+    transition_list = self.getDestinationValueList(portal_type = 'Transition')
+    result_list = []
+    for transition in transition_list:
+      value = transition._checkPermission(document)
+      if value:
+        result_list.append(transition)
+    return result_list
+
+  def executeTransition(self, transition, document, form_kw=None):
+    """
+    Execute transition on the object.
+    """
+    if transition not in self.getAvailableTransitionList(document):
+      raise StateError
+    else:
+      transition.execute(document, form_kw=form_kw)
+
+  def undoTransition(self, document):
+    """
+    Reverse previous transition
+    """
+    wh = self.getWorkflowHistory(document, remove_undo=1)
+    status_dict = wh[-2]
+    # Update workflow state
+    state_bc_id = self.getParentValue().getStateBaseCategory()
+    document.setCategoryMembership(state_bc_id, status_dict[state_bc_id])
+    # Update workflow history
+    status_dict['undo'] = 1
+    self.getParentValue()._updateWorkflowHistory(document, status_dict)
+    # XXX
+    LOG("State, undo", ERROR, "Variable (like DateTime) need to be updated!")
+
+  def getWorkflowHistory(self, document, remove_undo=0, remove_not_displayed=0):
+    """
+    Return history tuple
+    """
+    wh = document.workflow_history[self.getParentValue()._generateHistoryKey()]
+    result = []
+    # Remove undo
+    if not remove_undo:
+      result = [x.copy() for x in wh]
+    else:
+      result = []
+      for x in wh:
+        if x.has_key('undo') and x['undo'] == 1:
+          result.pop()
+        else:
+          result.append(x.copy())
+    return result
+
+  def getVariableValue(self, document, variable_name):
+    """
+    Get current value of the variable from the object
+    """
+    status_dict = self.getParentValue().getCurrentStatusDict(document)
+    return status_dict[variable_name]
diff --git a/product/ERP5Workflow/Document/Transition.py b/product/ERP5Workflow/Document/Transition.py
new file mode 100644
index 0000000000..8920c2872d
--- /dev/null
+++ b/product/ERP5Workflow/Document/Transition.py
@@ -0,0 +1,140 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Romain Courteaud <romain@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+from AccessControl import ClassSecurityInfo
+
+from Products.ERP5Type import Permissions, PropertySheet
+from Products.ERP5Type.XMLObject import XMLObject
+from zLOG import LOG, ERROR, DEBUG, WARNING
+from Products.PageTemplates.Expressions import getEngine
+from Products.ERP5Type.Accessor.Base import _evaluateTales
+
+class Transition(XMLObject):
+  """
+  A ERP5 Transition.
+  """
+
+  meta_type = 'ERP5 Transition'
+  portal_type = 'Transition'
+  add_permission = Permissions.AddPortalContent
+  isPortalContent = 1
+  isRADContent = 1
+
+  # Declarative security
+  security = ClassSecurityInfo()
+  security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+  # Declarative properties
+  property_sheets = (
+             PropertySheet.Base,
+             PropertySheet.XMLObject,
+             PropertySheet.CategoryCore,
+             PropertySheet.DublinCore,
+             PropertySheet.Transition,
+  )
+
+  def execute(self, document, form_kw=None):
+    """
+    Execute transition.
+    """
+    # Call the before script
+    #self._executeBeforeScript(document)
+
+    # Modify the state
+    self._changeState(document)
+
+    # Get variable values
+    status_dict = self.getParentValue().getCurrentStatusDict(document)
+    status_dict['undo'] = 0
+
+    # Modify workflow history
+    state_bc_id = self.getParentValue().getStateBaseCategory()
+    status_dict[state_bc_id] = document.getCategoryMembershipList(state_bc_id)[0]
+
+    state_object = document.unrestrictedTraverse(status_dict[state_bc_id])
+    object = self.getParentValue().getStateChangeInformation(document, state_object, transition=self)
+
+    # Update all variables
+    variable_list = self.getParentValue().contentValues(portal_type='Variable')
+    for variable in variable_list:
+      if variable.getAutomaticUpdate():
+        # if we have it in form get it from there 
+        # otherwise use default
+        variable_title = variable.getTitle()
+        if form_kw.has_key(variable_title):
+           status_dict[variable_title] = form_kw[variable_title] 
+        else:
+          status_dict[variable_title] = variable.getInitialValue(object=object)
+
+    # Update all transition variables
+    if form_kw is not None:
+      object.REQUEST.other.update(form_kw)
+    variable_list = self.contentValues(portal_type='Transition Variable')
+    for variable in variable_list:
+      status_dict[variable.getCausalityTitle()] = variable.getInitialValue(object=object)
+        
+    self.getParentValue()._updateWorkflowHistory(document, status_dict)
+
+    # Call the after script
+    self._executeAfterScript(document, form_kw=form_kw)
+
+
+  def _changeState(self, document):
+    """
+    Change the state of the object.
+    """
+    state = self.getDestination()
+    if state is not None:
+      # Some transitions don't update the state
+      state_bc_id = self.getParentValue().getStateBaseCategory()
+      document.setCategoryMembership(state_bc_id, state)
+
+  def _executeAfterScript(self, document, form_kw=None):
+    """
+    Execute post transition script.
+    """
+    if form_kw is None:
+      form_kw = {}
+    script_id = self.getAfterScriptId()
+    if script_id is not None:
+      script = getattr(document, script_id)
+      script(**form_kw)
+
+  def _checkPermission(self, document):
+    """
+    Check if transition is allowed.
+    """
+    expr_value = self.getGuardExpression(evaluate=0)
+    if expr_value is not None:
+      # do not use 'getGuardExpression' to calculate tales because
+      # it caches value which is bad. Instead do it manually
+      value = _evaluateTales(document, expr_value)
+    else:
+      value = True
+    #print "CALC", expr_value, '-->', value 
+    return value
diff --git a/product/ERP5Workflow/Document/Variable.py b/product/ERP5Workflow/Document/Variable.py
new file mode 100644
index 0000000000..5156793340
--- /dev/null
+++ b/product/ERP5Workflow/Document/Variable.py
@@ -0,0 +1,55 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Romain Courteaud <romain@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+from AccessControl import ClassSecurityInfo
+from Products.ERP5Type import Permissions, PropertySheet
+from Products.ERP5Type.XMLObject import XMLObject
+
+class Variable(XMLObject):
+    """
+    A ERP5 Variable.
+    """
+
+    meta_type = 'ERP5 Variable'
+    portal_type = 'Variable'
+    add_permission = Permissions.AddPortalContent
+    isPortalContent = 1
+    isRADContent = 1
+
+    # Declarative security
+    security = ClassSecurityInfo()
+    security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+    # Declarative properties
+    property_sheets = (
+               PropertySheet.Base,
+               PropertySheet.XMLObject,
+               PropertySheet.CategoryCore,
+               PropertySheet.DublinCore,
+               PropertySheet.Variable,
+    )
diff --git a/product/ERP5Workflow/Document/Workflow.py b/product/ERP5Workflow/Document/Workflow.py
new file mode 100644
index 0000000000..1f32019c6e
--- /dev/null
+++ b/product/ERP5Workflow/Document/Workflow.py
@@ -0,0 +1,215 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Romain Courteaud <romain@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+from AccessControl import ClassSecurityInfo
+
+from Products.ERP5Type import Permissions, PropertySheet
+from Products.ERP5Type.XMLObject import XMLObject
+from zLOG import LOG, ERROR, DEBUG, WARNING
+
+from tempfile import mktemp
+import os
+import sys
+from os.path import basename, splitext, join
+from Products.DCWorkflowGraph.config import bin_search_path, DOT_EXE
+from Products.DCWorkflowGraph.DCWorkflowGraph import bin_search
+
+from Globals import PersistentMapping
+from Acquisition import aq_base
+
+from DateTime import DateTime
+
+class Workflow(XMLObject):
+  """
+  A ERP5 Workflow.
+  """
+
+  meta_type = 'ERP5 Workflow'
+  portal_type = 'Workflow'
+  add_permission = Permissions.AddPortalContent
+  isPortalContent = 1
+  isRADContent = 1
+
+  # Declarative security
+  security = ClassSecurityInfo()
+  security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+  # Declarative properties
+  property_sheets = (
+    PropertySheet.Base,
+    PropertySheet.XMLObject,
+    PropertySheet.CategoryCore,
+    PropertySheet.DublinCore,
+    PropertySheet.Workflow,
+  )
+
+  def initializeDocument(self, document):
+    """
+    Set initial state on the Document
+    """
+    state_bc_id = self.getStateBaseCategory()
+    document.setCategoryMembership(state_bc_id, self.getSource())
+
+    object = self.getStateChangeInformation(document, self.getSourceValue())
+   
+    # Initialize workflow history
+    status_dict = {state_bc_id: self.getSource()}
+    variable_list = self.contentValues(portal_type='Variable')
+    for variable in variable_list:
+      status_dict[variable.getTitle()] = variable.getInitialValue(object=object)
+    self._updateWorkflowHistory(document, status_dict)
+
+  def _generateHistoryKey(self):
+    """
+    Generate a key used in the workflow history.
+    """
+    return self.getRelativeUrl()
+
+  def _updateWorkflowHistory(self, document, status_dict):
+    """
+    Change the state of the object.
+    """
+    # Create history attributes if needed
+    if getattr(aq_base(document), 'workflow_history', None) is None:
+      document.workflow_history = PersistentMapping()
+      # XXX this _p_changed is apparently not necessary
+      document._p_changed = 1
+      
+    # Add an entry for the workflow in the history
+    workflow_key = self._generateHistoryKey()
+    if not document.workflow_history.has_key(workflow_key):
+      document.workflow_history[workflow_key] = ()
+      
+    # Update history
+    document.workflow_history[workflow_key] += (status_dict, )
+    # XXX this _p_changed marks the document modified, but the
+    # only the PersistentMapping is modified
+    document._p_changed = 1
+    # XXX this _p_changed is apparently not necessary
+    document.workflow_history._p_changed = 1
+    
+  def getCurrentStatusDict(self, document):
+    """
+    Get the current status dict.
+    """
+    workflow_key = self._generateHistoryKey()
+    
+    # Copy is requested
+    result = document.workflow_history[workflow_key][-1].copy()
+    return result
+
+  def getDateTime(self):
+    """
+    Return current date time.
+    """
+    return DateTime()
+
+  def getStateChangeInformation(self, document, state, transition=None):
+    """
+    Return an object used for variable tales expression.
+    """
+    if transition is None:
+      transition_url = None
+    else:
+      transition_url = transition.getRelativeUrl()
+    return self.asContext(document=document,
+                          transition=transition,
+                          transition_url=transition_url,
+                          state=state)
+
+  ###########
+  ## Graph ##
+  ############
+
+  def getGraph(self, format="gif", REQUEST=None, *args, **kw):
+      """
+      show a workflow as a graph, copy from:
+      "OpenFlowEditor":http://www.openflow.it/wwwopenflow/Download/OpenFlowEditor_0_4.tgz
+      """
+      pot = self.getPOT()
+      infile = mktemp('.dot')
+      f = open(infile, 'w')
+      f.write(pot)
+      f.close()
+      outfile = mktemp('.%s' % format)
+      os.system('%s -T%s -o %s %s' % (bin_search(DOT_EXE), format, outfile, infile))
+      out = open(outfile, 'rb')
+      result = out.read()
+      out.close()
+      os.remove(infile)
+      os.remove(outfile)
+      return result
+
+  def getPOT(self):
+      """ 
+      get the pot, copy from:
+      "dcworkfow2dot.py":http://awkly.org/Members/sidnei/weblog_storage/blog_27014
+      and Sidnei da Silva owns the copyright of the this function
+      """
+      out = []
+      transition_dict = {}
+      out.append('digraph "%s" {' % self.getTitle())
+      transition_with_init_state_list = []
+      for state in self.contentValues(portal_type='State'):
+        out.append('%s [shape=box,label="%s",' \
+                     'style="filled",fillcolor="#ffcc99"];' % \
+                     (state.getId(), state.getTitle()))
+        # XXX Use API instead of getDestinationValueList
+        for available_transition in state.getDestinationValueList():
+          transition_with_init_state_list.append(available_transition.getId())
+          destination_state = available_transition.getDestinationValue()
+          if destination_state is None:
+            # take care of 'remain in state' transitions
+            destination_state = state
+          # 
+          key = (state.getId(), destination_state.getId())
+          value = transition_dict.get(key, [])
+          value.append(available_transition.getTitle())
+          transition_dict[key] = value
+
+      # iterate also on transitions, and add transitions with no initial state
+      for transition in self.contentValues(portal_type='Transition'):
+        trans_id = transition.getId()
+        if trans_id not in transition_with_init_state_list:
+          destination_state = transition.getDestinationValue()
+          if destination_state is None:
+            dest_state_id = None
+          else:
+            dest_state_id = destination_state.getId()
+
+          key = (None, dest_state_id)
+          value = transition_dict.get(key, [])
+          value.append(transition.getTitle())
+          transition_dict[key] = value
+
+      for k, v in transition_dict.items():
+          out.append('%s -> %s [label="%s"];' % (k[0], k[1],
+                                                 ',\\n'.join(v)))
+
+      out.append('}')
+      return '\n'.join(out)
diff --git a/product/ERP5Workflow/Document/Worklist.py b/product/ERP5Workflow/Document/Worklist.py
new file mode 100644
index 0000000000..a0b3820f82
--- /dev/null
+++ b/product/ERP5Workflow/Document/Worklist.py
@@ -0,0 +1,55 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Romain Courteaud <romain@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+from AccessControl import ClassSecurityInfo
+
+from Products.ERP5Type import Permissions, PropertySheet
+from Products.ERP5Type.XMLObject import XMLObject
+
+class Worklist(XMLObject):
+    """
+    A ERP5 Worklist.
+    """
+
+    meta_type = 'ERP5 Worklist'
+    portal_type = 'Worklist'
+    add_permission = Permissions.AddPortalContent
+    isPortalContent = 1
+    isRADContent = 1
+
+    # Declarative security
+    security = ClassSecurityInfo()
+    security.declareObjectProtected(Permissions.AccessContentsInformation)
+
+    # Declarative properties
+    property_sheets = (
+               PropertySheet.Base,
+               PropertySheet.XMLObject,
+               PropertySheet.CategoryCore,
+               PropertySheet.DublinCore,
+    )
diff --git a/product/ERP5Workflow/Document/__init__.py b/product/ERP5Workflow/Document/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/product/ERP5Workflow/GPL.txt b/product/ERP5Workflow/GPL.txt
new file mode 100644
index 0000000000..dcfa4c235e
--- /dev/null
+++ b/product/ERP5Workflow/GPL.txt
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/product/ERP5Workflow/Interface/__init__.py b/product/ERP5Workflow/Interface/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/product/ERP5Workflow/MAINTAINERS.txt b/product/ERP5Workflow/MAINTAINERS.txt
new file mode 100644
index 0000000000..ac358bd45a
--- /dev/null
+++ b/product/ERP5Workflow/MAINTAINERS.txt
@@ -0,0 +1 @@
+romain
diff --git a/product/ERP5Workflow/Permissions.py b/product/ERP5Workflow/Permissions.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/product/ERP5Workflow/PropertySheet/State.py b/product/ERP5Workflow/PropertySheet/State.py
new file mode 100644
index 0000000000..f003e81622
--- /dev/null
+++ b/product/ERP5Workflow/PropertySheet/State.py
@@ -0,0 +1,45 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#          Romain Courteaud <romain@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+class State:
+  """
+  State properties and categories
+  """
+
+  _properties = (
+    { 
+      'id': 'is_initial_state',
+      'description': 'Define the initial state of the workflow',
+      'type': 'boolean',
+      'mode': 'w',
+      'default': 0 
+    },
+  )
+
+  # XXX Can not use because getDestinationTitleList acquire on Node
+  _categories = ('destination',)
diff --git a/product/ERP5Workflow/PropertySheet/Transition.py b/product/ERP5Workflow/PropertySheet/Transition.py
new file mode 100644
index 0000000000..d1f5a998f6
--- /dev/null
+++ b/product/ERP5Workflow/PropertySheet/Transition.py
@@ -0,0 +1,53 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#          Romain Courteaud <romain@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+class Transition:
+  """
+  Transition properties and categories
+  """
+
+  _properties = (
+    { 'id'          : 'transition_form_id',
+      'description' : 'Defines the form use to display question to the user.',
+      'type'        : 'string',
+      'mode'        : 'w' },
+    { 'id'          : 'before_script_id',
+      'description' : 'Defines the script called before a transition.',
+      'type'        : 'string',
+      'mode'        : 'w' },
+    { 'id'          : 'after_script_id',
+      'description' : 'Defines the script called after a transition.',
+      'type'        : 'string',
+      'mode'        : 'w' },
+    { 'id'          : 'guard_expression',
+      'description' : 'Tales expression use to disable transition',
+      'type'        : 'tales',
+      'mode'        : 'w' },
+  )
+  # XXX Can not use because getDestinationTitleList acquires on Node
+  _categories = ('destination',)
diff --git a/product/ERP5Workflow/PropertySheet/Variable.py b/product/ERP5Workflow/PropertySheet/Variable.py
new file mode 100644
index 0000000000..46f26a95df
--- /dev/null
+++ b/product/ERP5Workflow/PropertySheet/Variable.py
@@ -0,0 +1,43 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#          Romain Courteaud <romain@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+class Variable:
+  """
+  Variable properties and categories
+  """
+
+  _properties = (
+    { 'id'          : 'initial_value',
+      'description' : 'Defines the default value.',
+      'type'        : 'tales',
+      'mode'        : 'w' },
+    { 'id'          : 'automatic_update',
+      'description' : 'Do we update the value in each transition ?',
+      'type'        : 'boolean',
+      'mode'        : 'w' },
+  )
diff --git a/product/ERP5Workflow/PropertySheet/Workflow.py b/product/ERP5Workflow/PropertySheet/Workflow.py
new file mode 100644
index 0000000000..b85f08e533
--- /dev/null
+++ b/product/ERP5Workflow/PropertySheet/Workflow.py
@@ -0,0 +1,44 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#          Romain Courteaud <romain@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+class Workflow:
+  """
+  Workflow properties and categories
+  """
+  _properties = (
+    {
+      'id'          : 'state_base_category',
+      'description' : 'Defines the base category used to save the current' \
+                      'state',
+      'type'        : 'string',
+      'mode'        : 'w'
+    },
+  )
+
+  # XXX Can not use because getDestinationTitleList acquire on Node
+  _categories = ('source',)
diff --git a/product/ERP5Workflow/PropertySheet/__init__.py b/product/ERP5Workflow/PropertySheet/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/product/ERP5Workflow/VERSION.txt b/product/ERP5Workflow/VERSION.txt
new file mode 100644
index 0000000000..89cbe15eec
--- /dev/null
+++ b/product/ERP5Workflow/VERSION.txt
@@ -0,0 +1 @@
+ERP5Workflow 5.4.6
diff --git a/product/ERP5Workflow/__init__.py b/product/ERP5Workflow/__init__.py
new file mode 100644
index 0000000000..3a46788ede
--- /dev/null
+++ b/product/ERP5Workflow/__init__.py
@@ -0,0 +1,56 @@
+##############################################################################
+#
+# Copyright (c) 2006 Nexedi SARL and Contributors. All Rights Reserved.
+#                    Romain Courteaud <romain@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+"""
+    ERP5Workflow is a product containing Document to create 
+    workflow in the ERP5 way.
+"""
+
+# Update ERP5 Globals
+from Products.ERP5Type.Utils import initializeProduct, updateGlobals
+import sys, Permissions
+this_module = sys.modules[ __name__ ]
+document_classes = updateGlobals(this_module, globals(), 
+                                 permissions_module=Permissions)
+
+# Define object classes and tools
+object_classes = ()
+portal_tools = ()
+content_classes = ()
+content_constructors = ()
+
+# Finish installation
+def initialize(context):
+  import Document
+  from zLOG import LOG, INFO
+  initializeProduct(context, this_module, globals(),
+                    document_module=Document,
+                    document_classes=document_classes,
+                    object_classes=object_classes,
+                    portal_tools=portal_tools,
+                    content_constructors=content_constructors,
+                    content_classes=content_classes)
diff --git a/product/ERP5Workflow/tests/__init__.py b/product/ERP5Workflow/tests/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/product/ERP5Workflow/tests/testERP5Workflow.py b/product/ERP5Workflow/tests/testERP5Workflow.py
new file mode 100644
index 0000000000..b2b14bda93
--- /dev/null
+++ b/product/ERP5Workflow/tests/testERP5Workflow.py
@@ -0,0 +1,192 @@
+##############################################################################
+#
+# Copyright (c) 2007 Nexedi SA and Contributors. All Rights Reserved.
+#                     Jerome Perrin <jerome@nexedi.com>
+#
+# WARNING: This program as such is intended to be used by professional
+# programmers who take the whole responsability of assessing all potential
+# consequences resulting from its eventual inadequacies and bugs
+# End users who are looking for a ready-to-use solution with commercial
+# garantees and support are strongly adviced to contract a Free Software
+# Service Company
+#
+# This program is Free Software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+##############################################################################
+
+import unittest
+from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase
+from AccessControl.SecurityManagement import newSecurityManager
+from AccessControl import Unauthorized
+from AccessControl import SpecialUsers
+
+try:
+  from transaction import get as get_transaction
+except ImportError:
+  pass
+
+
+class TestERP5Workflow(ERP5TypeTestCase):
+  """
+    Tests ERP5 Workflow.
+  """
+
+  def getBusinessTemplateList(self):
+    """Returns list of BT to be installed."""
+    return ('erp5_workflow',)
+
+  def changeToAnonymous(self):
+    """
+    Change the current user to Anonymous
+    """
+    newSecurityManager(None, SpecialUsers.nobody)
+
+  def afterSetUp(self):
+    self.portal = self.getPortal()
+    self.workflow_module = self.portal.workflow_module
+    self.login() # as Manager
+
+
+  def test_SimpleWorkflow(self):
+    workflow = self.workflow_module.newContent(
+                                portal_type='Workflow')
+    s1 = workflow.newContent(portal_type='State',
+                             title='State 1')
+    s2 = workflow.newContent(portal_type='State',
+                             title='State 2')
+    t1 = workflow.newContent(portal_type='Transition',
+                             title='Transition 1')
+    s1.setDestinationValue(t1)
+    t1.setDestinationValue(s2)
+    # set initial state
+    workflow.setSourceValue(s1)
+    # state variable
+    workflow.setStateBaseCategory('current_state')
+    
+    # create a document and associate it to this workflow
+    doc = self.portal.newContent(portal_type='Folder', id='test_doc')
+    workflow.initializeDocument(doc)
+    self.assertEquals(s1.getRelativeUrl(),
+              doc._getDefaultAcquiredCategoryMembership('current_state'))
+    
+    # pass a transition
+    t1.execute(doc)
+    self.assertEquals(s2.getRelativeUrl(),
+              doc._getDefaultAcquiredCategoryMembership('current_state'))
+    
+
+  def test_getAvailableTransitionList(self):
+    workflow = self.workflow_module.newContent(
+                                portal_type='Workflow',
+                                state_base_category='current_state')
+    s1 = workflow.newContent(portal_type='State',
+                             title='State 1')
+    workflow.setSourceValue(s1)
+    t1 = workflow.newContent(portal_type='Transition',
+                             title='Transition 1')
+    t2 = workflow.newContent(portal_type='Transition',
+                             title='Transition 2',
+                             guard_expression='python: False')
+    s1.setDestinationValueList([t1, t2])
+
+    doc = self.portal.newContent(portal_type='Folder', id='test_doc')
+    workflow.initializeDocument(doc)
+    self.assertEquals([t1], s1.getAvailableTransitionList(doc))
+    
+
+  def test_WorkflowVariables(self):
+    workflow = self.workflow_module.newContent(
+                                portal_type='Workflow',
+                                state_base_category='current_state')
+    s1 = workflow.newContent(portal_type='State',
+                             title='State 1')
+    workflow.setSourceValue(s1)
+    t1 = workflow.newContent(portal_type='Transition',
+                             title='Transition 1',
+                             destination_value=s1)
+    s1.setDestinationValue(t1)
+    
+    v1 = workflow.newContent(portal_type='Variable',
+                             title='actor',
+                             initial_value='member/getUserName')
+
+    doc = self.portal.newContent(portal_type='Folder', id='test_doc')
+    workflow.initializeDocument(doc)
+    t1.execute(doc)
+    
+    current_state = workflow.getCurrentStatusDict(doc)
+    self.failUnless(isinstance(current_state, dict))
+    self.assertEquals(s1.getRelativeUrl(), current_state.get('current_state'))
+    self.assertEquals('ERP5TypeTestCase', current_state.get('actor'))
+    self.assertEquals(0, current_state.get('undo'))
+    
+    # XXX workflow history is a method on State ?
+    history = s1.getWorkflowHistory(doc)
+    self.assertEquals(len(history), 2)
+
+
+  def test_afterScript(self):
+    workflow = self.workflow_module.newContent(
+                                portal_type='Workflow',
+                                state_base_category='current_state')
+    s1 = workflow.newContent(portal_type='State',
+                             title='State 1')
+    s2 = workflow.newContent(portal_type='State',
+                             title='State 2')
+    t1 = workflow.newContent(portal_type='Transition',
+                             title='Transition 1',
+                             after_script_id='Document_testAfterScript'
+                             )
+    s1.setDestinationValue(t1)
+    t1.setDestinationValue(s2)
+    workflow.setSourceValue(s1)
+
+    doc = self.portal.newContent(portal_type='Folder', id='test_doc')
+    
+    called = []
+    def Document_testAfterScript(**kw):
+      called.append('called %s' % kw)
+    doc.Document_testAfterScript = Document_testAfterScript
+    
+    workflow.initializeDocument(doc)
+    t1.execute(doc)
+    self.assertEquals(['called {}'], called)
+    # FIXME: not passing parameter to an after script is probably too
+    # restrictive
+
+  def test_WorkflowSecurity(self):
+    """
+     Test workflow security.
+    """
+    workflow_module = self.portal.workflow_module
+
+    def createWorkflowInstance():
+      return workflow_module.newContent(portal_type='Workflow')
+ 
+    workflow_instance = createWorkflowInstance()
+
+    # Anonymous User must not be able to access workflow module
+    # or workflow instances
+    self.changeToAnonymous()
+    self.assertRaises(Unauthorized, workflow_module.view)
+    self.assertRaises(Unauthorized, createWorkflowInstance)
+    self.assertRaises(Unauthorized, lambda: workflow_instance.view())
+
+
+def test_suite():
+  suite = unittest.TestSuite()
+  suite.addTest(unittest.makeSuite(TestERP5Workflow))
+  return suite
+
-- 
2.30.9


From 35164e44ac55afb1bd5baae5f3ab59cde608403e Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Fri, 15 Oct 2010 19:29:53 +0000
Subject: [PATCH 135/163] Initial import of business template.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39261 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_types/State/view.xml               |  89 +++
 .../Transition%20Variable/view.xml            |  89 +++
 .../portal_types/Transition/view.xml          |  89 +++
 .../portal_types/Variable/view.xml            |  89 +++
 .../portal_types/Workflow%20Module/view.xml   |  89 +++
 .../portal_types/Workflow/state_view.xml      |  89 +++
 .../portal_types/Workflow/transition_view.xml |  89 +++
 .../portal_types/Workflow/variable_view.xml   |  89 +++
 .../portal_types/Workflow/view.xml            |  89 +++
 .../portal_types/Workflow/view_graph.xml      |  89 +++
 .../portal_types/Workflow/worklist_view.xml   |  89 +++
 .../portal_types/Worklist/view.xml            |  89 +++
 .../ModuleTemplateItem/workflow_module.xml    | 732 ++++++++++++++++++
 .../allowed_content_types.xml                 |  14 +
 .../base_category_list.xml                    |   5 +
 .../portal_types/State.xml                    | 142 ++++
 .../portal_types/Transition%20Variable.xml    | 159 ++++
 .../portal_types/Transition.xml               | 159 ++++
 .../portal_types/Variable.xml                 | 142 ++++
 .../portal_types/Workflow%20Module.xml        | 161 ++++
 .../portal_types/Workflow.xml                 | 158 ++++
 .../portal_types/Worklist.xml                 |  92 +++
 .../portal_skins/erp5_workflow.xml            |  38 +
 .../BaseWorkflow_FieldLibrary.xml             | 156 ++++
 .../BaseWorkflow_FieldLibrary/my_comment.xml  |  99 +++
 .../my_description.xml                        |  99 +++
 .../BaseWorkflow_FieldLibrary/my_id.xml       | 110 +++
 .../BaseWorkflow_FieldLibrary/my_title.xml    |  99 +++
 .../portal_skins/erp5_workflow/State_view.xml | 158 ++++
 .../erp5_workflow/State_view/my_comment.xml   | 101 +++
 .../State_view/my_description.xml             | 101 +++
 .../State_view/my_destination_title_list.xml  | 583 ++++++++++++++
 .../erp5_workflow/State_view/my_title.xml     | 101 +++
 .../erp5_workflow/TransitionVariable_view.xml | 154 ++++
 .../TransitionVariable_view/my_causality.xml  | 289 +++++++
 .../TransitionVariable_view/my_comment.xml    |  98 +++
 .../my_description.xml                        |  98 +++
 .../my_initial_value.xml                      | 287 +++++++
 .../erp5_workflow/Transition_view.xml         | 163 ++++
 .../erp5_workflow/Transition_view/listbox.xml | 142 ++++
 .../Transition_view/my_after_script_id.xml    | 269 +++++++
 .../Transition_view/my_before_script_id.xml   | 269 +++++++
 .../Transition_view/my_description.xml        |  99 +++
 .../Transition_view/my_destination_title.xml  | 555 +++++++++++++
 .../Transition_view/my_guard_expression.xml   | 290 +++++++
 .../Transition_view/my_title.xml              | 101 +++
 .../Transition_view/my_transition_form_id.xml | 269 +++++++
 .../Variable_getNonEvaluatedInitialValue.xml  | 143 ++++
 .../erp5_workflow/Variable_view.xml           | 155 ++++
 .../Variable_view/my_automatic_update.xml     | 195 +++++
 .../Variable_view/my_comment.xml              |  98 +++
 .../Variable_view/my_description.xml          |  98 +++
 .../Variable_view/my_initial_value.xml        | 287 +++++++
 .../erp5_workflow/Variable_view/my_title.xml  |  98 +++
 .../WorkflowModule_viewWorkflowList.xml       | 122 +++
 .../listbox.xml                               | 528 +++++++++++++
 .../erp5_workflow/Workflow_view.xml           | 157 ++++
 .../Workflow_view/my_comment.xml              | 101 +++
 .../Workflow_view/my_description.xml          | 101 +++
 .../erp5_workflow/Workflow_view/my_title.xml  | 101 +++
 .../erp5_workflow/Workflow_viewGraph.xml      | 154 ++++
 .../Workflow_viewGraph/my_title.xml           | 107 +++
 .../your_workflow_graph.xml                   | 326 ++++++++
 .../erp5_workflow/Workflow_viewStateList.xml  | 158 ++++
 .../Workflow_viewStateList/listbox.xml        | 161 ++++
 .../Workflow_viewStateList/listbox_title.xml  |  99 +++
 .../my_source_title.xml                       | 156 ++++
 .../Workflow_viewStateList/my_title.xml       | 107 +++
 .../Workflow_viewTransitionList.xml           | 157 ++++
 .../Workflow_viewTransitionList/listbox.xml   | 154 ++++
 .../listbox_title.xml                         |  99 +++
 .../Workflow_viewTransitionList/my_title.xml  | 107 +++
 .../Workflow_viewVariableList.xml             | 158 ++++
 .../Workflow_viewVariableList/listbox.xml     | 165 ++++
 .../listbox_title.xml                         | 105 +++
 .../my_state_base_category.xml                | 128 +++
 .../Workflow_viewVariableList/my_title.xml    | 107 +++
 .../Workflow_viewWorklistList.xml             | 157 ++++
 .../Workflow_viewWorklistList/listbox.xml     | 150 ++++
 .../listbox_title.xml                         |  99 +++
 .../Workflow_viewWorklistList/my_title.xml    | 107 +++
 .../erp5_workflow/Worklist_view.xml           | 153 ++++
 .../Worklist_view/my_comment.xml              | 101 +++
 .../Worklist_view/my_description.xml          | 101 +++
 .../erp5_workflow/Worklist_view/my_title.xml  | 101 +++
 bt5/erp5_workflow/bt/categories_list          |   0
 bt5/erp5_workflow/bt/change_log               |  14 +
 bt5/erp5_workflow/bt/comment                  |   0
 bt5/erp5_workflow/bt/copyright_list           |   0
 bt5/erp5_workflow/bt/dependency_list          |   1 +
 bt5/erp5_workflow/bt/description              |   1 +
 bt5/erp5_workflow/bt/license                  |   0
 bt5/erp5_workflow/bt/maintainer_list          |   0
 bt5/erp5_workflow/bt/provision_list           |   0
 bt5/erp5_workflow/bt/publication_url          |   1 +
 bt5/erp5_workflow/bt/revision                 |   1 +
 .../bt/template_action_path_list              |  12 +
 .../bt/template_base_category_list            |   0
 .../bt/template_catalog_datetime_key_list     |   0
 .../bt/template_catalog_full_text_key_list    |   0
 .../bt/template_catalog_keyword_key_list      |   0
 .../bt/template_catalog_local_role_key_list   |   0
 .../bt/template_catalog_method_id_list        |   0
 .../bt/template_catalog_multivalue_key_list   |   0
 .../bt/template_catalog_related_key_list      |   0
 .../bt/template_catalog_request_key_list      |   0
 .../bt/template_catalog_result_key_list       |   0
 .../bt/template_catalog_result_table_list     |   0
 .../bt/template_catalog_role_key_list         |   0
 .../bt/template_catalog_scriptable_key_list   |   0
 .../bt/template_catalog_topic_key_list        |   0
 .../bt/template_constraint_id_list            |   0
 .../bt/template_document_id_list              |   0
 .../bt/template_extension_id_list             |   0
 bt5/erp5_workflow/bt/template_format_version  |   1 +
 .../bt/template_local_roles_list              |   0
 .../bt/template_message_translation_list      |   0
 bt5/erp5_workflow/bt/template_module_id_list  |   1 +
 bt5/erp5_workflow/bt/template_path_list       |   0
 ...late_portal_type_allowed_content_type_list |   6 +
 .../template_portal_type_base_category_list   |   1 +
 ...plate_portal_type_hidden_content_type_list |   0
 .../bt/template_portal_type_id_list           |   7 +
 .../template_portal_type_property_sheet_list  |   0
 .../bt/template_portal_type_roles_list        |   0
 .../template_portal_type_workflow_chain_list  |   0
 bt5/erp5_workflow/bt/template_preference_list |   0
 bt5/erp5_workflow/bt/template_product_id_list |   0
 .../bt/template_property_sheet_id_list        |   0
 bt5/erp5_workflow/bt/template_role_list       |   0
 .../bt/template_site_property_id_list         |   0
 bt5/erp5_workflow/bt/template_skin_id_list    |   1 +
 bt5/erp5_workflow/bt/template_test_id_list    |   0
 bt5/erp5_workflow/bt/template_tool_id_list    |   0
 ...template_update_business_template_workflow |   1 +
 bt5/erp5_workflow/bt/template_update_tool     |   1 +
 .../bt/template_workflow_id_list              |   0
 bt5/erp5_workflow/bt/title                    |   1 +
 bt5/erp5_workflow/bt/version                  |   1 +
 139 files changed, 13212 insertions(+)
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/State/view.xml
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/Transition%20Variable/view.xml
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/Transition/view.xml
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/Variable/view.xml
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow%20Module/view.xml
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/state_view.xml
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/transition_view.xml
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/variable_view.xml
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/view.xml
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/view_graph.xml
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/worklist_view.xml
 create mode 100644 bt5/erp5_workflow/ActionTemplateItem/portal_types/Worklist/view.xml
 create mode 100644 bt5/erp5_workflow/ModuleTemplateItem/workflow_module.xml
 create mode 100644 bt5/erp5_workflow/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
 create mode 100644 bt5/erp5_workflow/PortalTypeBaseCategoryTemplateItem/base_category_list.xml
 create mode 100644 bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/State.xml
 create mode 100644 bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Transition%20Variable.xml
 create mode 100644 bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Transition.xml
 create mode 100644 bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Variable.xml
 create mode 100644 bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Workflow%20Module.xml
 create mode 100644 bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Workflow.xml
 create mode 100644 bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Worklist.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_comment.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_description.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_id.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_comment.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_description.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_destination_title_list.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_causality.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_comment.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_description.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_initial_value.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/listbox.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_after_script_id.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_before_script_id.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_description.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_destination_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_guard_expression.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_transition_form_id.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_getNonEvaluatedInitialValue.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_automatic_update.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_comment.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_description.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_initial_value.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/WorkflowModule_viewWorkflowList.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/WorkflowModule_viewWorkflowList/listbox.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_comment.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_description.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph/my_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph/your_workflow_graph.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/listbox.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/listbox_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/my_source_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/my_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/listbox.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/listbox_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/my_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/listbox.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/listbox_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/my_state_base_category.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/my_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/listbox.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/listbox_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/my_title.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_comment.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_description.xml
 create mode 100644 bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_title.xml
 create mode 100644 bt5/erp5_workflow/bt/categories_list
 create mode 100644 bt5/erp5_workflow/bt/change_log
 create mode 100644 bt5/erp5_workflow/bt/comment
 create mode 100644 bt5/erp5_workflow/bt/copyright_list
 create mode 100644 bt5/erp5_workflow/bt/dependency_list
 create mode 100644 bt5/erp5_workflow/bt/description
 create mode 100644 bt5/erp5_workflow/bt/license
 create mode 100644 bt5/erp5_workflow/bt/maintainer_list
 create mode 100644 bt5/erp5_workflow/bt/provision_list
 create mode 100644 bt5/erp5_workflow/bt/publication_url
 create mode 100644 bt5/erp5_workflow/bt/revision
 create mode 100644 bt5/erp5_workflow/bt/template_action_path_list
 create mode 100644 bt5/erp5_workflow/bt/template_base_category_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_datetime_key_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_full_text_key_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_keyword_key_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_local_role_key_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_method_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_multivalue_key_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_related_key_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_request_key_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_result_key_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_result_table_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_role_key_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_scriptable_key_list
 create mode 100644 bt5/erp5_workflow/bt/template_catalog_topic_key_list
 create mode 100644 bt5/erp5_workflow/bt/template_constraint_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_document_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_extension_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_format_version
 create mode 100644 bt5/erp5_workflow/bt/template_local_roles_list
 create mode 100644 bt5/erp5_workflow/bt/template_message_translation_list
 create mode 100644 bt5/erp5_workflow/bt/template_module_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_path_list
 create mode 100644 bt5/erp5_workflow/bt/template_portal_type_allowed_content_type_list
 create mode 100644 bt5/erp5_workflow/bt/template_portal_type_base_category_list
 create mode 100644 bt5/erp5_workflow/bt/template_portal_type_hidden_content_type_list
 create mode 100644 bt5/erp5_workflow/bt/template_portal_type_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_portal_type_property_sheet_list
 create mode 100644 bt5/erp5_workflow/bt/template_portal_type_roles_list
 create mode 100644 bt5/erp5_workflow/bt/template_portal_type_workflow_chain_list
 create mode 100644 bt5/erp5_workflow/bt/template_preference_list
 create mode 100644 bt5/erp5_workflow/bt/template_product_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_property_sheet_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_role_list
 create mode 100644 bt5/erp5_workflow/bt/template_site_property_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_skin_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_test_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_tool_id_list
 create mode 100644 bt5/erp5_workflow/bt/template_update_business_template_workflow
 create mode 100644 bt5/erp5_workflow/bt/template_update_tool
 create mode 100644 bt5/erp5_workflow/bt/template_workflow_id_list
 create mode 100644 bt5/erp5_workflow/bt/title
 create mode 100644 bt5/erp5_workflow/bt/version

diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/State/view.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/State/view.xml
new file mode 100644
index 0000000000..8e173f5579
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/State/view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/State_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/Transition%20Variable/view.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Transition%20Variable/view.xml
new file mode 100644
index 0000000000..0075ab3f37
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Transition%20Variable/view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/TransitionVariable_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/Transition/view.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Transition/view.xml
new file mode 100644
index 0000000000..2a563296bd
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Transition/view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Transition_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/Variable/view.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Variable/view.xml
new file mode 100644
index 0000000000..e731718cbf
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Variable/view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Variable_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow%20Module/view.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow%20Module/view.xml
new file mode 100644
index 0000000000..0a6ba4dd72
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow%20Module/view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/WorkflowModule_viewWorkflowList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/state_view.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/state_view.xml
new file mode 100644
index 0000000000..a52336ee0c
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/state_view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>state_view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>2.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>States</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Workflow_viewStateList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/transition_view.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/transition_view.xml
new file mode 100644
index 0000000000..8a64022aa0
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/transition_view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>transition_view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>3.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Transitions</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Workflow_viewTransitionList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/variable_view.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/variable_view.xml
new file mode 100644
index 0000000000..77d7313fe0
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/variable_view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>variable_view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>4.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Variables</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Workflow_viewVariableList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/view.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/view.xml
new file mode 100644
index 0000000000..92c94d5281
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Workflow_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/view_graph.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/view_graph.xml
new file mode 100644
index 0000000000..d7da0c4dc8
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/view_graph.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view_graph</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>6.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Graph</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Workflow_viewGraph</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/worklist_view.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/worklist_view.xml
new file mode 100644
index 0000000000..b3746a1531
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Workflow/worklist_view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>worklist_view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>5.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Worklists</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Workflow_viewWorklistList</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ActionTemplateItem/portal_types/Worklist/view.xml b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Worklist/view.xml
new file mode 100644
index 0000000000..d5a9d39199
--- /dev/null
+++ b/bt5/erp5_workflow/ActionTemplateItem/portal_types/Worklist/view.xml
@@ -0,0 +1,89 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.ActionInformation</string>
+          <string>ActionInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_view</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>view</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>View</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>View</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.CMFCore.Expression</string>
+          <string>Expression</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Worklist_view</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/ModuleTemplateItem/workflow_module.xml b/bt5/erp5_workflow/ModuleTemplateItem/workflow_module.xml
new file mode 100644
index 0000000000..1f815c7364
--- /dev/null
+++ b/bt5/erp5_workflow/ModuleTemplateItem/workflow_module.xml
@@ -0,0 +1,732 @@
+<module>
+ <id>workflow_module</id>
+ <permission_list>
+  <permission type='tuple'>
+   <name>Access Transient Objects</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Access arbitrary user session data</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Access contents information</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Access future portal content</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Access inactive portal content</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Access session data</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Accelerated HTTP Cache Managers</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add BTreeFolder2s</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Browser Id Manager</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMF Action Icons Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMF Active Processs</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMF Caching Policy Managers</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMF Calendar Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMF Core Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMF Default Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMF Report Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMF Setup Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMF Sites</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMF Unique Id Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMFActivity Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMFCategory Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add CMFMailIn Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Configured CMF Sites</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Content Type Registrys</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Cookie Crumblers</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Database Methods</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Documents, Images, and Files</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5 Filesystem Formulator Forms</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5 Form Printouts</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5 Forms</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5 OOo Templates</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5 PDF Forms</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5 PDF Templates</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5 Publications</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5 Reports</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5 Sites</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5 Subscriptions</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5 Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5Catalog Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5Configurator Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5Form Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5Subversion Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5SyncML Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5Type Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ERP5Wizard Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ExtFiles</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ExtImages</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add External Methods</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Filesystem Directory Views</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Folders</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Formulator Forms</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add HBTreeFolder2s</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add LocalContents</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add LocalFolders</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Localizers</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add MailHost objects</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add MessageCatalogs</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add MimetypesRegistry Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Page Templates</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Pluggable Index</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Plugin Registrys</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add PortalTransforms Tools</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Python Scripts</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add RAM Cache Managers</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ReStructuredText Documents</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Session Data Manager</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Site Roots</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Temporary Folder</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Transient Object Container</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add User Folders</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Virtual Host Monsters</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Vocabularies</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Z Gadfly Database Connections</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Z MySQL Database Connections</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Z MySQL Deferred Database Connections</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ZCatalogs</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ZMailIn Clients</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ZMailMessages</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add ZODB Mount Points</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add Zope Tutorials</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add portal content</name>
+   <role>Assignor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add portal events</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add portal folders</name>
+   <role>Assignor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add portal member</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Add portal topics</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change Browser Id Manager</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change DTML Documents</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change DTML Methods</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change Database Connections</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change Database Methods</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change ExtFile/ExtImage</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change External Methods</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change Formulator Fields</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change Formulator Forms</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change Images and Files</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change Lock Information</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change Page Templates</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change Python Scripts</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change Session Data Manager</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change Versions</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change ZMailIn</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change ZMailMessages</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change bindings</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change cache managers</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change cache settings</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change configuration</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change local roles</name>
+   <role>Assignor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change permissions</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change portal events</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change portal topics</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Change proxy roles</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Copy or Move</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Create Transient Objects</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Create class instances</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Define permissions</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Delete objects</name>
+   <role>Assignor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Download ExtFile/ExtImage</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Edit Factories</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Edit ReStructuredText</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Edit target</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>FTP access</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Import/Export objects</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Join/leave Versions</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>List folder contents</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>List portal members</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>List undoable changes</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Log Site Errors</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Log to the Event Log</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Mail forgotten password</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage Access Rules</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage Groups</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage Selenium test cases</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage Transient Object Container</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage Vocabulary</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage WebDAV Locks</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage Z Classes</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage ZCatalog Entries</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage ZCatalogIndex Entries</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage languages</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage messages</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage portal</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage properties</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Manage users</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Modify Cookie Crumblers</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Modify portal content</name>
+   <role>Assignor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Open/Close Database Connection</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Open/Close Database Connections</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Post mail to ZMailIn</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Query Vocabulary</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Reply to item</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Request review</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Review portal content</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Save/discard Version changes</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Search ZCatalog</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Search for principals</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Set own password</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Set own properties</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Take ownership</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Test Database Connections</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Translate Content</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Undo changes</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Use Database Methods</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Use Factories</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>Use mailhost services</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>View</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>View History</name>
+   <role>Assignee</role>
+   <role>Assignor</role>
+   <role>Associate</role>
+   <role>Auditor</role>
+   <role>Author</role>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>View ZMailMessage</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>View management screens</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>WebDAV Lock items</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>WebDAV Unlock items</name>
+   <role>Manager</role>
+  </permission>
+  <permission type='tuple'>
+   <name>WebDAV access</name>
+   <role>Manager</role>
+  </permission>
+ </permission_list>
+ <portal_type>Workflow Module</portal_type>
+ <title>Workflows</title>
+</module>
\ No newline at end of file
diff --git a/bt5/erp5_workflow/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml b/bt5/erp5_workflow/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
new file mode 100644
index 0000000000..53262f2a9b
--- /dev/null
+++ b/bt5/erp5_workflow/PortalTypeAllowedContentTypeTemplateItem/allowed_content_types.xml
@@ -0,0 +1,14 @@
+<allowed_content_type_list>
+ <portal_type id="Transition">
+  <item>Transition Variable</item>
+ </portal_type>
+ <portal_type id="Workflow">
+  <item>Transition</item>
+  <item>Variable</item>
+  <item>State</item>
+  <item>Worklist</item>
+ </portal_type>
+ <portal_type id="Workflow Module">
+  <item>Workflow</item>
+ </portal_type>
+</allowed_content_type_list>
\ No newline at end of file
diff --git a/bt5/erp5_workflow/PortalTypeBaseCategoryTemplateItem/base_category_list.xml b/bt5/erp5_workflow/PortalTypeBaseCategoryTemplateItem/base_category_list.xml
new file mode 100644
index 0000000000..1720f54e4e
--- /dev/null
+++ b/bt5/erp5_workflow/PortalTypeBaseCategoryTemplateItem/base_category_list.xml
@@ -0,0 +1,5 @@
+<base_category_list>
+ <portal_type id="Transition Variable">
+  <item>causality</item>
+ </portal_type>
+</base_category_list>
\ No newline at end of file
diff --git a/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/State.xml b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/State.xml
new file mode 100644
index 0000000000..3145a5b808
--- /dev/null
+++ b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/State.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_actions</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_aliases</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_roles</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>allowed_content_types</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>base_category_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value> <string>document.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_meta_type</string> </key>
+            <value> <string>ERP5 State</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>\n
+    A ERP5 State.\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addState</string> </value>
+        </item>
+        <item>
+            <key> <string>hidden_content_type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>State</string> </value>
+        </item>
+        <item>
+            <key> <string>property_sheet_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Transition%20Variable.xml b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Transition%20Variable.xml
new file mode 100644
index 0000000000..d0a5ac70ab
--- /dev/null
+++ b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Transition%20Variable.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_actions</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_aliases</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_roles</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>acquire_local_roles</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>allowed_content_types</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>base_category_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value> <string>document.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_meta_type</string> </key>
+            <value> <string>ERP5 Variable</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>A ERP5 Transition Variable.\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addVariable</string> </value>
+        </item>
+        <item>
+            <key> <string>filter_content_types</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>hidden_content_type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Transition Variable</string> </value>
+        </item>
+        <item>
+            <key> <string>init_script</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>property_sheet_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Transition.xml b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Transition.xml
new file mode 100644
index 0000000000..c523e6724d
--- /dev/null
+++ b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Transition.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_actions</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_aliases</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_roles</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>acquire_local_roles</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>allowed_content_types</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>base_category_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value> <string>document.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_meta_type</string> </key>
+            <value> <string>ERP5 Transition</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>    A ERP5 Transition.\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addTransition</string> </value>
+        </item>
+        <item>
+            <key> <string>filter_content_types</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>hidden_content_type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Transition</string> </value>
+        </item>
+        <item>
+            <key> <string>init_script</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>property_sheet_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Variable.xml b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Variable.xml
new file mode 100644
index 0000000000..8b772334e4
--- /dev/null
+++ b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Variable.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_actions</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_aliases</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_roles</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>allowed_content_types</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>base_category_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value> <string>document.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_meta_type</string> </key>
+            <value> <string>ERP5 Variable</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>\n
+    A ERP5 Variable.\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addVariable</string> </value>
+        </item>
+        <item>
+            <key> <string>hidden_content_type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Variable</string> </value>
+        </item>
+        <item>
+            <key> <string>property_sheet_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Workflow%20Module.xml b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Workflow%20Module.xml
new file mode 100644
index 0000000000..f4ecada1ba
--- /dev/null
+++ b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Workflow%20Module.xml
@@ -0,0 +1,161 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_actions</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_aliases</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_roles</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>acquire_local_roles</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>allowed_content_types</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>base_category_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value> <string>folder_icon.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_meta_type</string> </key>
+            <value> <string>ERP5 Folder</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>Folders allow to store a large number of documents (1,000,000 should not\n
+be a problem).</string> </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addFolder</string> </value>
+        </item>
+        <item>
+            <key> <string>filter_content_types</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <tuple>
+                <string>module</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>hidden_content_type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow Module</string> </value>
+        </item>
+        <item>
+            <key> <string>init_script</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>property_sheet_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_ui</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_ui</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Workflow.xml b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Workflow.xml
new file mode 100644
index 0000000000..191f3e42d8
--- /dev/null
+++ b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Workflow.xml
@@ -0,0 +1,158 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5TypeInformation" module="Products.ERP5Type.ERP5Type"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_actions</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_aliases</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_property_domain_dict</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>short_title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>_roles</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>acquire_local_roles</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>allowed_content_types</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>base_category_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value> <string>document.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_meta_type</string> </key>
+            <value> <string>ERP5 Workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>An ERP5 Workflow.</string> </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addWorkflow</string> </value>
+        </item>
+        <item>
+            <key> <string>filter_content_types</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>hidden_content_type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>init_script</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>property_sheet_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>short_title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <tuple>
+        <global name="TranslationInformation" module="Products.ERP5Type.TranslationProviderBase"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>domain_name</string> </key>
+            <value> <string>erp5_content</string> </value>
+        </item>
+        <item>
+            <key> <string>property_name</string> </key>
+            <value> <string>title</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Worklist.xml b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Worklist.xml
new file mode 100644
index 0000000000..ae31683a48
--- /dev/null
+++ b/bt5/erp5_workflow/PortalTypeTemplateItem/portal_types/Worklist.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ERP5Type.ERP5Type</string>
+          <string>ERP5TypeInformation</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_actions</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_aliases</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_roles</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>allowed_content_types</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>base_category_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>content_icon</string> </key>
+            <value> <string>document.gif</string> </value>
+        </item>
+        <item>
+            <key> <string>content_meta_type</string> </key>
+            <value> <string>ERP5 Worklist</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string>\n
+    A ERP5 Worklist.\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>factory</string> </key>
+            <value> <string>addWorklist</string> </value>
+        </item>
+        <item>
+            <key> <string>hidden_content_type_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Worklist</string> </value>
+        </item>
+        <item>
+            <key> <string>property_sheet_list</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow.xml
new file mode 100644
index 0000000000..ff2c2dcaaa
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>OFS.Folder</string>
+          <string>Folder</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>erp5_workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary.xml
new file mode 100644
index 0000000000..12a811375c
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_comment</string>
+                        <string>my_description</string>
+                        <string>my_title</string>
+                        <string>my_id</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Field Library For Workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_comment.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_comment.xml
new file mode 100644
index 0000000000..844f5170df
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_comment.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_comment</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_comment</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_description.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_description.xml
new file mode 100644
index 0000000000..b825158112
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_description.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_description</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_description</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_id.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_id.xml
new file mode 100644
index 0000000000..553e6fd7db
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_id.xml
@@ -0,0 +1,110 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_id</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_string_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>title</string> </key>
+                    <value> <string>ID</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_title.xml
new file mode 100644
index 0000000000..2949396ca4
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/BaseWorkflow_FieldLibrary/my_title.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view.xml
new file mode 100644
index 0000000000..2bca536989
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view.xml
@@ -0,0 +1,158 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list>
+                        <string>my_description</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                        <string>my_destination_title_list</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list>
+                        <string>my_comment</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>State_view</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>State_view</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>State</string> </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_comment.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_comment.xml
new file mode 100644
index 0000000000..68e51ac48d
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_comment.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_comment</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_comment</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_description.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_description.xml
new file mode 100644
index 0000000000..4c8445b181
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_description.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_description</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_description</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_destination_title_list.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_destination_title_list.xml
new file mode 100644
index 0000000000..779e6aaef9
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_destination_title_list.xml
@@ -0,0 +1,583 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="MultiRelationStringField" module="Products.ERP5Form.MultiRelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_title_list</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>view_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>view_separator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>destination</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>title</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>height</string> </key>
+                    <value> <int>5</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Transition</string>
+                          <string>Transition</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Possible Transitions</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>view_separator</string> </key>
+                    <value> <string encoding="cdata"><![CDATA[
+
+<br />
+
+]]></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>width</string> </key>
+                    <value> <int>40</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(\'parent_uid\', here.getParentUid())]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_title.xml
new file mode 100644
index 0000000000..9e24fab605
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/State_view/my_title.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view.xml
new file mode 100644
index 0000000000..2b94a104f4
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ERP5Form.Form</string>
+          <string>ERP5Form</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list>
+                        <string>my_comment</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_causality</string>
+                        <string>my_description</string>
+                        <string>my_initial_value</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>TransitionVariable_view</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>TransitionVariable_view</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Transition Variable</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_causality.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_causality.xml
new file mode 100644
index 0000000000..1972b2ae9d
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_causality.xml
@@ -0,0 +1,289 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>ListField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_causality</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>unknown_selection</string> </key>
+                    <value> <string>You selected an item that was not in the list.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Causality</string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(x.getTitle(), x.getRelativeUrl()) for x in here.getParentValue().getParentValue().contentValues(portal_type="Variable")]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_comment.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_comment.xml
new file mode 100644
index 0000000000..df30b17cf5
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_comment.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ERP5Form.ProxyField</string>
+          <string>ProxyField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_comment</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_comment</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_description.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_description.xml
new file mode 100644
index 0000000000..ffa76244f8
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_description.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ERP5Form.ProxyField</string>
+          <string>ProxyField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_description</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_description</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_initial_value.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_initial_value.xml
new file mode 100644
index 0000000000..56576879a0
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/TransitionVariable_view/my_initial_value.xml
@@ -0,0 +1,287 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>StringField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_initial_value</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>50</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Default Value</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [\'python: None\',here.getInitialValue(evaluate=0)][str(here.getInitialValue(evaluate=0)).startswith(\'python\')]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view.xml
new file mode 100644
index 0000000000..164d3e48e0
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view.xml
@@ -0,0 +1,163 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list>
+                        <string>my_description</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                        <string>my_destination_title</string>
+                        <string>my_guard_expression</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list>
+                        <string>my_transition_form_id</string>
+                        <string>my_before_script_id</string>
+                        <string>my_after_script_id</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Transition_view</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>Transition_view</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Transition</string> </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/listbox.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/listbox.xml
new file mode 100644
index 0000000000..8cc7f90259
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/listbox.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>columns</string>
+                <string>selection_name</string>
+                <string>portal_types</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>id</string>
+                          <string>ID</string>
+                        </tuple>
+                        <tuple>
+                          <string>causality_title</string>
+                          <string>Causality</string>
+                        </tuple>
+                        <tuple>
+                          <string>Variable_getNonEvaluatedInitialValue</string>
+                          <string>Value</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>portal_types</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Transition Variable</string>
+                          <string>Transition Variable</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>selection_name</string> </key>
+                    <value> <string>transition_variable_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>title</string> </key>
+                    <value> <string>Transition Variables</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_after_script_id.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_after_script_id.xml
new file mode 100644
index 0000000000..a4a38d7bb5
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_after_script_id.xml
@@ -0,0 +1,269 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StringField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_after_script_id</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>30</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>After Script</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_before_script_id.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_before_script_id.xml
new file mode 100644
index 0000000000..936f831c26
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_before_script_id.xml
@@ -0,0 +1,269 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StringField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_before_script_id</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>30</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Before Script</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_description.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_description.xml
new file mode 100644
index 0000000000..b825158112
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_description.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_description</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_description</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_destination_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_destination_title.xml
new file mode 100644
index 0000000000..dc05045087
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_destination_title.xml
@@ -0,0 +1,555 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="RelationStringField" module="Products.ERP5Form.RelationField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_destination_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>line_too_long</string> </key>
+                    <value> <string>A line was too long.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_ambiguous</string> </key>
+                    <value> <string>Select appropriate document in the list.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_empty</string> </key>
+                    <value> <string>No such document was found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_result_too_long</string> </key>
+                    <value> <string>Too many documents were found.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>You entered too many characters.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_many_lines</string> </key>
+                    <value> <string>You entered too many lines.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>allow_creation</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>allow_jump</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>base_category</string> </key>
+                    <value> <string>destination</string> </value>
+                </item>
+                <item>
+                    <key> <string>catalog_index</string> </key>
+                    <value> <string>title</string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>container_getter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra_item</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>first_item</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>items</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>jump_method</string> </key>
+                    <value> <string>Base_jumpToRelatedDocument</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_linelength</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>State</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>relation_setter_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>size</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Destination State</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>update_method</string> </key>
+                    <value> <string>Base_validateRelation</string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(\'parent_uid\', here.getParentUid())]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_guard_expression.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_guard_expression.xml
new file mode 100644
index 0000000000..30776cb419
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_guard_expression.xml
@@ -0,0 +1,290 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StringField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_guard_expression</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>60</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Permission</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [\'python: True\', here.getGuardExpression(evaluate=0)][str(here.getGuardExpression(evaluate=0)).startswith(\'python\')]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_title.xml
new file mode 100644
index 0000000000..9e24fab605
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_title.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_transition_form_id.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_transition_form_id.xml
new file mode 100644
index 0000000000..bcb7f05ff3
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Transition_view/my_transition_form_id.xml
@@ -0,0 +1,269 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="StringField" module="Products.Formulator.StandardFields"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_transition_form_id</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>30</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Form</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_getNonEvaluatedInitialValue.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_getNonEvaluatedInitialValue.xml
new file mode 100644
index 0000000000..39e28dac0b
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_getNonEvaluatedInitialValue.xml
@@ -0,0 +1,143 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.PythonScripts.PythonScript</string>
+          <string>PythonScript</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Python_magic</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>return context.getInitialValue(evaluate=0)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_filepath</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>0</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Variable_getNonEvaluatedInitialValue</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view.xml
new file mode 100644
index 0000000000..0c889b1e17
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ERP5Form.Form</string>
+          <string>ERP5Form</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list>
+                        <string>my_comment</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                        <string>my_description</string>
+                        <string>my_automatic_update</string>
+                        <string>my_initial_value</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Variable_view</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>Variable_view</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Variable</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_automatic_update.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_automatic_update.xml
new file mode 100644
index 0000000000..7eb5feabe2
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_automatic_update.xml
@@ -0,0 +1,195 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>CheckBoxField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_automatic_update</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Update On Every Transition</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: here.getAutomaticUpdate()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_comment.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_comment.xml
new file mode 100644
index 0000000000..df30b17cf5
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_comment.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ERP5Form.ProxyField</string>
+          <string>ProxyField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_comment</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_comment</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_description.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_description.xml
new file mode 100644
index 0000000000..ffa76244f8
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_description.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ERP5Form.ProxyField</string>
+          <string>ProxyField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_description</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_description</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_initial_value.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_initial_value.xml
new file mode 100644
index 0000000000..b278658c06
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_initial_value.xml
@@ -0,0 +1,287 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.StandardFields</string>
+          <string>StringField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_initial_value</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Default Value</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [\'python: None\',here.getInitialValue(evaluate=0)][str(here.getInitialValue(evaluate=0)).startswith(\'python\')]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_title.xml
new file mode 100644
index 0000000000..fbb0eb8150
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Variable_view/my_title.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ERP5Form.ProxyField</string>
+          <string>ProxyField</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/WorkflowModule_viewWorkflowList.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/WorkflowModule_viewWorkflowList.xml
new file mode 100644
index 0000000000..e508794c00
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/WorkflowModule_viewWorkflowList.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ERP5Form.Form</string>
+          <string>ERP5Form</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_doSelect</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>bottom</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>WorkflowModule_viewWorkflowList</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>WorkflowModule_viewWorkflowList</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_list</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Workflows</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/WorkflowModule_viewWorkflowList/listbox.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/WorkflowModule_viewWorkflowList/listbox.xml
new file mode 100644
index 0000000000..9665665bff
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/WorkflowModule_viewWorkflowList/listbox.xml
@@ -0,0 +1,528 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ERP5Form.ListBox</string>
+          <string>ListBox</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>all_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>all_editable_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_params</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>domain_root_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>domain_tree</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>global_attributes</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_action</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>meta_types</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_types</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>report_root_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>report_tree</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>search</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>select</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>stat_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>stat_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>url_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>all_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>all_editable_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_params</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>domain_root_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>domain_tree</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>global_attributes</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>lines</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_action</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>meta_types</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>portal_types</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>report_root_list</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>report_tree</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>search</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>select</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>stat_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>stat_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>url_columns</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>all_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>all_editable_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>id</string>
+                          <string>ID</string>
+                        </tuple>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>description</string>
+                          <string>Description</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>count_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default_params</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>domain_root_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>domain_tree</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>global_attributes</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>lines</string> </key>
+                    <value> <int>30</int> </value>
+                </item>
+                <item>
+                    <key> <string>list_action</string> </key>
+                    <value> <string>list</string> </value>
+                </item>
+                <item>
+                    <key> <string>list_method</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>meta_types</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>portal_types</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Workflow</string>
+                          <string>Workflow</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>report_root_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>report_tree</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>search</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>search_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>select</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>selection_name</string> </key>
+                    <value> <string>workflow_module_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>sort</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>title</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>sort_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>stat_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>stat_method</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Workflows</string> </value>
+                </item>
+                <item>
+                    <key> <string>url_columns</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.MethodField</string>
+          <string>Method</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>method_name</string> </key>
+            <value> <string>searchFolder</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view.xml
new file mode 100644
index 0000000000..ebf8f35e1c
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list>
+                        <string>my_description</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list>
+                        <string>my_comment</string>
+                      </list>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow_view</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>Workflow_view</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_comment.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_comment.xml
new file mode 100644
index 0000000000..68e51ac48d
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_comment.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_comment</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_comment</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_description.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_description.xml
new file mode 100644
index 0000000000..4c8445b181
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_description.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_description</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_description</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_title.xml
new file mode 100644
index 0000000000..9e24fab605
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_view/my_title.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph.xml
new file mode 100644
index 0000000000..cdc0cfdab8
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                        <string>your_workflow_graph</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow_viewGraph</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>Workflow_viewGraph</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Graph</string> </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph/my_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph/my_title.xml
new file mode 100644
index 0000000000..b4fcac9e96
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph/my_title.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph/your_workflow_graph.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph/your_workflow_graph.xml
new file mode 100644
index 0000000000..432589d9ed
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewGraph/your_workflow_graph.xml
@@ -0,0 +1,326 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ImageField" module="Products.ERP5Form.ImageField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_workflow_graph</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+                <item>
+                    <key> <string>required_not_found</string> </key>
+                    <value> <string>Input is required but no input given.</string> </value>
+                </item>
+                <item>
+                    <key> <string>too_long</string> </key>
+                    <value> <string>Too much input was given.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_display</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_format</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_resolution</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_display</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_format</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>image_resolution</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>alternate_name</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>css_class</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>default</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>description</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_maxwidth</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>display_width</string> </key>
+                    <value> <int>20</int> </value>
+                </item>
+                <item>
+                    <key> <string>editable</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>enabled</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>external_validator</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>extra</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>image_display</string> </key>
+                    <value> <string>thumbnail</string> </value>
+                </item>
+                <item>
+                    <key> <string>image_format</string> </key>
+                    <value> <string>gif</string> </value>
+                </item>
+                <item>
+                    <key> <string>image_resolution</string> </key>
+                    <value> <int>75</int> </value>
+                </item>
+                <item>
+                    <key> <string>max_length</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Image</string> </value>
+                </item>
+                <item>
+                    <key> <string>truncate</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>unicode</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>whitespace_preserve</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.Formulator.TALESField</string>
+          <string>TALESMethod</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: "%s/getGraph" % here.absolute_url()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList.xml
new file mode 100644
index 0000000000..43ead24e10
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList.xml
@@ -0,0 +1,158 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                        <string>my_source_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow_viewStateList</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>Workflow_viewStateList</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>States</string> </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/listbox.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/listbox.xml
new file mode 100644
index 0000000000..d0aaf74a9a
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/listbox.xml
@@ -0,0 +1,161 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>columns</string>
+                <string>selection_name</string>
+                <string>portal_types</string>
+                <string>default_params</string>
+                <string>editable_columns</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>id</string>
+                          <string>ID</string>
+                        </tuple>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>destination_title_list</string>
+                          <string>Possibles Transition</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>default_params</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>editable_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>portal_types</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>State</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>selection_name</string> </key>
+                    <value> <string>workflow_state_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>title</string> </key>
+                    <value> <string>States</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/listbox_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/listbox_title.xml
new file mode 100644
index 0000000000..2ca11f03cf
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/listbox_title.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/my_source_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/my_source_title.xml
new file mode 100644
index 0000000000..ab00a3b9d3
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/my_source_title.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>base_category</string>
+                <string>portal_type</string>
+                <string>catalog_index</string>
+                <string>parameter_list</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_source_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>parameter_list</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>base_category</string> </key>
+                    <value> <string>source</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>catalog_index</string> </key>
+                    <value> <string>title</string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_relation_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>parameter_list</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>portal_type</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>State</string>
+                          <string>State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>title</string> </key>
+                    <value> <string>Initial State</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(\'parent_uid\', here.getUid())]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/my_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/my_title.xml
new file mode 100644
index 0000000000..b4fcac9e96
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewStateList/my_title.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList.xml
new file mode 100644
index 0000000000..738cc31378
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow_viewTransitionList</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>Workflow_viewTransitionList</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Transitions</string> </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/listbox.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/listbox.xml
new file mode 100644
index 0000000000..5f92732e00
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/listbox.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>columns</string>
+                <string>selection_name</string>
+                <string>portal_types</string>
+                <string>editable_columns</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>id</string>
+                          <string>ID</string>
+                        </tuple>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>destination_title</string>
+                          <string>Destination State</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>editable_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>portal_types</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Transition</string>
+                          <string>Transition</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>selection_name</string> </key>
+                    <value> <string>workflow_transition_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>title</string> </key>
+                    <value> <string>Transitions</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/listbox_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/listbox_title.xml
new file mode 100644
index 0000000000..2ca11f03cf
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/listbox_title.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/my_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/my_title.xml
new file mode 100644
index 0000000000..b4fcac9e96
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewTransitionList/my_title.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList.xml
new file mode 100644
index 0000000000..2ce77021ca
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList.xml
@@ -0,0 +1,158 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                        <string>my_state_base_category</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow_viewVariableList</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>Workflow_viewVariableList</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Variables</string> </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/listbox.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/listbox.xml
new file mode 100644
index 0000000000..0c7b4143bd
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/listbox.xml
@@ -0,0 +1,165 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>columns</string>
+                <string>selection_name</string>
+                <string>portal_types</string>
+                <string>default_params</string>
+                <string>editable_columns</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>id</string>
+                          <string>ID</string>
+                        </tuple>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                        <tuple>
+                          <string>Variable_getNonEvaluatedInitialValue</string>
+                          <string>Initial Value</string>
+                        </tuple>
+                        <tuple>
+                          <string>automatic_update</string>
+                          <string>Update On Every Transition</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>default_params</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>editable_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>portal_types</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Variable</string>
+                          <string>Variable</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>selection_name</string> </key>
+                    <value> <string>workflow_variable_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>title</string> </key>
+                    <value> <string>Variables</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/listbox_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/listbox_title.xml
new file mode 100644
index 0000000000..00e7483a7c
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/listbox_title.xml
@@ -0,0 +1,105 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>title</string> </key>
+                    <value> <string>Listbox Title</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/my_state_base_category.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/my_state_base_category.xml
new file mode 100644
index 0000000000..f19dff4d72
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/my_state_base_category.xml
@@ -0,0 +1,128 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>items</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_state_base_category</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key>                 <string>items</string> </key>
+                    <value>
+                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_category</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>title</string> </key>
+                    <value> <string>State Variable Name</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <tuple>
+        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_text</string> </key>
+            <value> <string>python: [(x.getTitleOrId(), x.getId()) for x in here.portal_categories.contentValues()]</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/my_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/my_title.xml
new file mode 100644
index 0000000000..b4fcac9e96
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewVariableList/my_title.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList.xml
new file mode 100644
index 0000000000..e3a4c79909
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list>
+                        <string>listbox_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Workflow_viewWorklistList</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>Workflow_viewWorklistList</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Worklists</string> </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/listbox.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/listbox.xml
new file mode 100644
index 0000000000..b0d7708367
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/listbox.xml
@@ -0,0 +1,150 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>title</string>
+                <string>columns</string>
+                <string>selection_name</string>
+                <string>portal_types</string>
+                <string>editable_columns</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>id</string>
+                          <string>ID</string>
+                        </tuple>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>editable_columns</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>title</string>
+                          <string>Title</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_view_mode_listbox</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>portal_types</string> </key>
+                    <value>
+                      <list>
+                        <tuple>
+                          <string>Worklist</string>
+                          <string>Worklist</string>
+                        </tuple>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key>                 <string>selection_name</string> </key>
+                    <value> <string>workflow_worklist_selection</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key>                 <string>title</string> </key>
+                    <value> <string>Worklists</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/listbox_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/listbox_title.xml
new file mode 100644
index 0000000000..2ca11f03cf
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/listbox_title.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_owner</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>listbox_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/my_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/my_title.xml
new file mode 100644
index 0000000000..b4fcac9e96
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Workflow_viewWorklistList/my_title.xml
@@ -0,0 +1,107 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>editable</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key>                 <string>editable</string> </key>
+                    <value> <int>0</int> </value>
+                </item>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view.xml
new file mode 100644
index 0000000000..e76b1c28aa
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view.xml
@@ -0,0 +1,153 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <tuple>
+          <string>Products.ERP5Form.Form</string>
+          <string>ERP5Form</string>
+        </tuple>
+        <none/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>__ac_local_roles__</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Base_edit</string> </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list>
+                        <string>my_comment</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>my_title</string>
+                        <string>my_description</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Worklist_view</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>Worklist_view</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_view</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Worklist</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_comment.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_comment.xml
new file mode 100644
index 0000000000..68e51ac48d
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_comment.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_comment</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_comment</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_description.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_description.xml
new file mode 100644
index 0000000000..4c8445b181
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_description.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_description</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_description</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_title.xml b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_title.xml
new file mode 100644
index 0000000000..9e24fab605
--- /dev/null
+++ b/bt5/erp5_workflow/SkinTemplateItem/portal_skins/erp5_workflow/Worklist_view/my_title.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>my_title</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>uid</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>extra_context</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>my_title</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>BaseWorkflow_FieldLibrary</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_workflow/bt/categories_list b/bt5/erp5_workflow/bt/categories_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/change_log b/bt5/erp5_workflow/bt/change_log
new file mode 100644
index 0000000000..3946d8ec43
--- /dev/null
+++ b/bt5/erp5_workflow/bt/change_log
@@ -0,0 +1,14 @@
+2009-05-26 ivan
+* Set default module security
+
+2007-09-25 yo
+* Set module group on portal types.
+
+2007/01/25 Ivan
+* Update
+
+2006/07/11 Romain
+* Update
+
+2006/06/08 Romain
+* Creation
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/comment b/bt5/erp5_workflow/bt/comment
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/copyright_list b/bt5/erp5_workflow/bt/copyright_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/dependency_list b/bt5/erp5_workflow/bt/dependency_list
new file mode 100644
index 0000000000..1037d15c20
--- /dev/null
+++ b/bt5/erp5_workflow/bt/dependency_list
@@ -0,0 +1 @@
+erp5_base
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/description b/bt5/erp5_workflow/bt/description
new file mode 100644
index 0000000000..d72f834785
--- /dev/null
+++ b/bt5/erp5_workflow/bt/description
@@ -0,0 +1 @@
+Using this template you can create a workflow in ERP5.
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/license b/bt5/erp5_workflow/bt/license
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/maintainer_list b/bt5/erp5_workflow/bt/maintainer_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/provision_list b/bt5/erp5_workflow/bt/provision_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/publication_url b/bt5/erp5_workflow/bt/publication_url
new file mode 100644
index 0000000000..4af18322e3
--- /dev/null
+++ b/bt5/erp5_workflow/bt/publication_url
@@ -0,0 +1 @@
+None
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/revision b/bt5/erp5_workflow/bt/revision
new file mode 100644
index 0000000000..d99e90eb96
--- /dev/null
+++ b/bt5/erp5_workflow/bt/revision
@@ -0,0 +1 @@
+29
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/template_action_path_list b/bt5/erp5_workflow/bt/template_action_path_list
new file mode 100644
index 0000000000..70abc89d39
--- /dev/null
+++ b/bt5/erp5_workflow/bt/template_action_path_list
@@ -0,0 +1,12 @@
+State | view
+Transition Variable | view
+Transition | view
+Variable | view
+Workflow Module | view
+Workflow | state_view
+Workflow | transition_view
+Workflow | variable_view
+Workflow | view
+Workflow | view_graph
+Workflow | worklist_view
+Worklist | view
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/template_base_category_list b/bt5/erp5_workflow/bt/template_base_category_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_datetime_key_list b/bt5/erp5_workflow/bt/template_catalog_datetime_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_full_text_key_list b/bt5/erp5_workflow/bt/template_catalog_full_text_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_keyword_key_list b/bt5/erp5_workflow/bt/template_catalog_keyword_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_local_role_key_list b/bt5/erp5_workflow/bt/template_catalog_local_role_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_method_id_list b/bt5/erp5_workflow/bt/template_catalog_method_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_multivalue_key_list b/bt5/erp5_workflow/bt/template_catalog_multivalue_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_related_key_list b/bt5/erp5_workflow/bt/template_catalog_related_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_request_key_list b/bt5/erp5_workflow/bt/template_catalog_request_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_result_key_list b/bt5/erp5_workflow/bt/template_catalog_result_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_result_table_list b/bt5/erp5_workflow/bt/template_catalog_result_table_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_role_key_list b/bt5/erp5_workflow/bt/template_catalog_role_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_scriptable_key_list b/bt5/erp5_workflow/bt/template_catalog_scriptable_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_catalog_topic_key_list b/bt5/erp5_workflow/bt/template_catalog_topic_key_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_constraint_id_list b/bt5/erp5_workflow/bt/template_constraint_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_document_id_list b/bt5/erp5_workflow/bt/template_document_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_extension_id_list b/bt5/erp5_workflow/bt/template_extension_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_format_version b/bt5/erp5_workflow/bt/template_format_version
new file mode 100644
index 0000000000..56a6051ca2
--- /dev/null
+++ b/bt5/erp5_workflow/bt/template_format_version
@@ -0,0 +1 @@
+1
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/template_local_roles_list b/bt5/erp5_workflow/bt/template_local_roles_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_message_translation_list b/bt5/erp5_workflow/bt/template_message_translation_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_module_id_list b/bt5/erp5_workflow/bt/template_module_id_list
new file mode 100644
index 0000000000..a0005718d6
--- /dev/null
+++ b/bt5/erp5_workflow/bt/template_module_id_list
@@ -0,0 +1 @@
+workflow_module
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/template_path_list b/bt5/erp5_workflow/bt/template_path_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_portal_type_allowed_content_type_list b/bt5/erp5_workflow/bt/template_portal_type_allowed_content_type_list
new file mode 100644
index 0000000000..7ce0de933b
--- /dev/null
+++ b/bt5/erp5_workflow/bt/template_portal_type_allowed_content_type_list
@@ -0,0 +1,6 @@
+Transition | Transition Variable
+Workflow Module | Workflow
+Workflow | State
+Workflow | Transition
+Workflow | Variable
+Workflow | Worklist
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/template_portal_type_base_category_list b/bt5/erp5_workflow/bt/template_portal_type_base_category_list
new file mode 100644
index 0000000000..442fd83e95
--- /dev/null
+++ b/bt5/erp5_workflow/bt/template_portal_type_base_category_list
@@ -0,0 +1 @@
+Transition Variable | causality
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/template_portal_type_hidden_content_type_list b/bt5/erp5_workflow/bt/template_portal_type_hidden_content_type_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_portal_type_id_list b/bt5/erp5_workflow/bt/template_portal_type_id_list
new file mode 100644
index 0000000000..d77d0e8eba
--- /dev/null
+++ b/bt5/erp5_workflow/bt/template_portal_type_id_list
@@ -0,0 +1,7 @@
+State
+Transition
+Transition Variable
+Variable
+Workflow
+Workflow Module
+Worklist
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/template_portal_type_property_sheet_list b/bt5/erp5_workflow/bt/template_portal_type_property_sheet_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_portal_type_roles_list b/bt5/erp5_workflow/bt/template_portal_type_roles_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_portal_type_workflow_chain_list b/bt5/erp5_workflow/bt/template_portal_type_workflow_chain_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_preference_list b/bt5/erp5_workflow/bt/template_preference_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_product_id_list b/bt5/erp5_workflow/bt/template_product_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_property_sheet_id_list b/bt5/erp5_workflow/bt/template_property_sheet_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_role_list b/bt5/erp5_workflow/bt/template_role_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_site_property_id_list b/bt5/erp5_workflow/bt/template_site_property_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_skin_id_list b/bt5/erp5_workflow/bt/template_skin_id_list
new file mode 100644
index 0000000000..b08a72aaf9
--- /dev/null
+++ b/bt5/erp5_workflow/bt/template_skin_id_list
@@ -0,0 +1 @@
+erp5_workflow
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/template_test_id_list b/bt5/erp5_workflow/bt/template_test_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_tool_id_list b/bt5/erp5_workflow/bt/template_tool_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/template_update_business_template_workflow b/bt5/erp5_workflow/bt/template_update_business_template_workflow
new file mode 100644
index 0000000000..c227083464
--- /dev/null
+++ b/bt5/erp5_workflow/bt/template_update_business_template_workflow
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/template_update_tool b/bt5/erp5_workflow/bt/template_update_tool
new file mode 100644
index 0000000000..c227083464
--- /dev/null
+++ b/bt5/erp5_workflow/bt/template_update_tool
@@ -0,0 +1 @@
+0
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/template_workflow_id_list b/bt5/erp5_workflow/bt/template_workflow_id_list
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/bt5/erp5_workflow/bt/title b/bt5/erp5_workflow/bt/title
new file mode 100644
index 0000000000..b08a72aaf9
--- /dev/null
+++ b/bt5/erp5_workflow/bt/title
@@ -0,0 +1 @@
+erp5_workflow
\ No newline at end of file
diff --git a/bt5/erp5_workflow/bt/version b/bt5/erp5_workflow/bt/version
new file mode 100644
index 0000000000..48360de846
--- /dev/null
+++ b/bt5/erp5_workflow/bt/version
@@ -0,0 +1 @@
+5.4.7
\ No newline at end of file
-- 
2.30.9


From 12ac78d00c22b3993c23666455964afa8c3cc4c5 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Fri, 15 Oct 2010 19:49:22 +0000
Subject: [PATCH 136/163] Include tests to enable download the business
 templates.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39262 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/development.cfg | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/buildout/profiles/development.cfg b/buildout/profiles/development.cfg
index 437453f634..547d1ca572 100644
--- a/buildout/profiles/development.cfg
+++ b/buildout/profiles/development.cfg
@@ -2,7 +2,8 @@
 # You should build a software home before use this recipe.
 
 [buildout]
-extends = ../profiles/deployment.cfg
+extends = ../profiles/test.cfg
+          ../profiles/deployment.cfg
 
 parts +=
   development-site
-- 
2.30.9


From ab67cbf258380903aef8e6841d3c6665046ee22e Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Fri, 15 Oct 2010 19:52:40 +0000
Subject: [PATCH 137/163] Included erp5_workflow

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39263 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/test.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/buildout/profiles/test.cfg b/buildout/profiles/test.cfg
index 4c2c7c4f4c..d67c676a5a 100644
--- a/buildout/profiles/test.cfg
+++ b/buildout/profiles/test.cfg
@@ -141,6 +141,7 @@ urls =
   erp5_web_multiflex5_theme
   erp5_wizard
   erp5_worklist_sql
+  erp5_workflow
 
 [bt5-erp5-tiolive]
 <= bt5-erp5-template
-- 
2.30.9


From 48b0737d6b9eac19b4fe790498e879444a7eb4c8 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Fri, 15 Oct 2010 19:56:29 +0000
Subject: [PATCH 138/163] Revert, modified by mistake.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39264 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/development.cfg | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/buildout/profiles/development.cfg b/buildout/profiles/development.cfg
index 547d1ca572..437453f634 100644
--- a/buildout/profiles/development.cfg
+++ b/buildout/profiles/development.cfg
@@ -2,8 +2,7 @@
 # You should build a software home before use this recipe.
 
 [buildout]
-extends = ../profiles/test.cfg
-          ../profiles/deployment.cfg
+extends = ../profiles/deployment.cfg
 
 parts +=
   development-site
-- 
2.30.9


From 83ec16578099da5806d0110fed5daa62761a5e54 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Fri, 15 Oct 2010 20:09:35 +0000
Subject: [PATCH 139/163] Included ERP5Workflow.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39265 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/common.cfg | 1 +
 1 file changed, 1 insertion(+)

diff --git a/buildout/profiles/common.cfg b/buildout/profiles/common.cfg
index 8789c6b03e..b53c8ebb91 100644
--- a/buildout/profiles/common.cfg
+++ b/buildout/profiles/common.cfg
@@ -46,6 +46,7 @@ urls =
     ${:base}/ERP5SyncML/${:revision} ERP5SyncML
     ${:base}/ERP5Type/${:revision} ERP5Type
     ${:base}/ERP5Wizard/${:revision} ERP5Wizard
+    ${:base}/ERP5Workflow/${:revision} ERP5Workflow
     ${:base}/HBTreeFolder2/${:revision} HBTreeFolder2
     ${:base}/Formulator/${:revision} Formulator
     ${:base}/MailTemplates/${:revision} MailTemplates
-- 
2.30.9


From 608a75db530a5f3bbc566c908c0f3cb9d9450753 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Fri, 15 Oct 2010 21:34:45 +0000
Subject: [PATCH 140/163] Added scripts to manage remote Authentification
 person and assigments.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39266 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Person_createNewGlobalUserAccount.xml     | 158 +++++++++++++++++
 .../erp5_wizard/Person_getDataDict.xml        | 142 ++++++++++++++++
 .../Person_invalidateGlobalUserAccount.xml    | 155 +++++++++++++++++
 .../Person_reuseExistingUserAction.xml        | 139 +++++++++++++++
 .../Person_reuseExistingUserDialog.xml        | 152 +++++++++++++++++
 .../your_reference.xml                        | 101 +++++++++++
 ...synchroniseExistingAccountWithInstance.xml | 154 +++++++++++++++++
 .../Person_validateGlobalUserAccount.xml      | 160 ++++++++++++++++++
 bt5/erp5_wizard/bt/revision                   |   2 +-
 9 files changed, 1162 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_createNewGlobalUserAccount.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_getDataDict.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_invalidateGlobalUserAccount.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserAction.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserDialog.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserDialog/your_reference.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_synchroniseExistingAccountWithInstance.xml
 create mode 100644 bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_validateGlobalUserAccount.xml

diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_createNewGlobalUserAccount.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_createNewGlobalUserAccount.xml
new file mode 100644
index 0000000000..be041aee94
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_createNewGlobalUserAccount.xml
@@ -0,0 +1,158 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>portal = context.getPortalObject()\n
+\n
+if person is None:\n
+  person = context\n
+kw = person.Person_getDataDict()\n
+kw[\'password\'] = password\n
+\n
+# explicitly check if username is unique\n
+if portal.Base_validatePersonReference(kw[\'reference\'], context.REQUEST):\n
+  # create user in Authentification Server\n
+  portal.portal_wizard.callRemoteProxyMethod(\n
+                         \'WitchTool_createNewGlobalUserAccountFromExpressInstance\', \\\n
+                         use_cache = 0, \\\n
+                         ignore_exceptions = 0, \\\n
+                         **kw)\n
+else:\n
+  # user reference is NOT unique (valid) in Nexedi ERP5\n
+  raise ValueError, "User reference not unique"\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>password=None, person=None, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>2</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>password</string>
+                            <string>person</string>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>None</string>
+                            <string>_write_</string>
+                            <string>_getitem_</string>
+                            <string>_apply_</string>
+                            <string>ValueError</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+                <none/>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Person_createNewGlobalUserAccount</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_getDataDict.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_getDataDict.xml
new file mode 100644
index 0000000000..d27378ab87
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_getDataDict.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>if person is None:\n
+  person = context\n
+\n
+kw = {\'reference\': person.getReference(),\n
+      \'validation_state\': person.getValidationState(),\n
+      \'erp5_uid\': context.ERP5Site_getExpressInstanceUid()}\n
+return kw\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>person=None</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>person</string>
+                            <string>None</string>
+                            <string>context</string>
+                            <string>_getattr_</string>
+                            <string>kw</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Person_getDataDict</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Get Person data</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_invalidateGlobalUserAccount.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_invalidateGlobalUserAccount.xml
new file mode 100644
index 0000000000..f15920b93f
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_invalidateGlobalUserAccount.xml
@@ -0,0 +1,155 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>"""\n
+ Invalidate global user account. \n
+\n
+ Only invalidate if the local user has no Valid Assigments and \n
+ reference.\n
+"""\n
+if person is None:\n
+  person = context\n
+\n
+reference = person.getReference()\n
+if reference is not None and \\\n
+  len(person.Person_getAvailableAssignmentValueList()) == 0:\n
+  # invalidate user in Authentification Server only if its a loggable user in current instance\n
+  kw = person.Person_getDataDict()\n
+  context.portal_wizard.callRemoteProxyMethod(\n
+                     \'WitchTool_invalidateGlobalUserAccountFromExpressInstance\', \\\n
+                     use_cache = 0, \\\n
+                     ignore_exceptions = 0, \\\n
+                     **kw)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>person=None, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>person</string>
+                            <string>kw</string>
+                            <string>None</string>
+                            <string>context</string>
+                            <string>_getattr_</string>
+                            <string>reference</string>
+                            <string>len</string>
+                            <string>_apply_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Person_invalidateGlobalUserAccount</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Invalidate global Person object from Instance to Authentification Server</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserAction.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserAction.xml
new file mode 100644
index 0000000000..ff8901183a
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserAction.xml
@@ -0,0 +1,139 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>translateString = context.Base_translateString\n
+if context.getReference():\n
+  portal_status_message = translateString(\'User has login already.\')\n
+elif not context.WizardTool_isPersonReferencePresent(reference):\n
+  portal_status_message = translateString(\'User does not exist yet.\')\n
+else:\n
+  # create a local copy\n
+  context.edit(reference = reference)\n
+  # create a global account\n
+  context.Person_synchroniseExistingAccountWithInstance()\n
+  portal_status_message = translateString(\'Status changed.\')\n
+\n
+# redirect appropriately\n
+context.Base_redirect(form_id=form_id,\n
+                      keep_items={\'portal_status_message\':portal_status_message})\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>reference, form_id = \'view\'</string> </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>2</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>reference</string>
+                            <string>form_id</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>translateString</string>
+                            <string>portal_status_message</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <string>view</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Person_reuseExistingUserAction</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserDialog.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserDialog.xml
new file mode 100644
index 0000000000..1180c179cf
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserDialog.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary/>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>action</string> </key>
+            <value> <string>Person_reuseExistingUserAction</string> </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>edit_order</string> </key>
+            <value>
+              <list/>
+            </value>
+        </item>
+        <item>
+            <key> <string>encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>enctype</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>group_list</string> </key>
+            <value>
+              <list>
+                <string>left</string>
+                <string>right</string>
+                <string>center</string>
+                <string>bottom</string>
+                <string>hidden</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>bottom</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>center</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>hidden</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>left</string> </key>
+                    <value>
+                      <list>
+                        <string>your_reference</string>
+                      </list>
+                    </value>
+                </item>
+                <item>
+                    <key> <string>right</string> </key>
+                    <value>
+                      <list/>
+                    </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Person_reuseExistingUserDialog</string> </value>
+        </item>
+        <item>
+            <key> <string>method</string> </key>
+            <value> <string>POST</string> </value>
+        </item>
+        <item>
+            <key> <string>name</string> </key>
+            <value> <string>Person_reuseExistingUserDialog</string> </value>
+        </item>
+        <item>
+            <key> <string>pt</string> </key>
+            <value> <string>form_dialog</string> </value>
+        </item>
+        <item>
+            <key> <string>row_length</string> </key>
+            <value> <int>4</int> </value>
+        </item>
+        <item>
+            <key> <string>stored_encoding</string> </key>
+            <value> <string>UTF-8</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Reuse Existing User</string> </value>
+        </item>
+        <item>
+            <key> <string>unicode_mode</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>update_action</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>update_action_title</string> </key>
+            <value> <string></string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserDialog/your_reference.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserDialog/your_reference.xml
new file mode 100644
index 0000000000..0dea53c7a1
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_reuseExistingUserDialog/your_reference.xml
@@ -0,0 +1,101 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>delegated_list</string> </key>
+            <value>
+              <list>
+                <string>required</string>
+                <string>title</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>your_reference</string> </value>
+        </item>
+        <item>
+            <key> <string>message_values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>external_validator_failed</string> </key>
+                    <value> <string>The input failed the external validator.</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>overrides</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>tales</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string></string> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string></string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+        <item>
+            <key> <string>values</string> </key>
+            <value>
+              <dictionary>
+                <item>
+                    <key> <string>field_id</string> </key>
+                    <value> <string>your_string_field</string> </value>
+                </item>
+                <item>
+                    <key> <string>form_id</string> </key>
+                    <value> <string>Base_viewFieldLibrary</string> </value>
+                </item>
+                <item>
+                    <key> <string>required</string> </key>
+                    <value> <int>1</int> </value>
+                </item>
+                <item>
+                    <key> <string>target</string> </key>
+                    <value> <string>Click to edit the target</string> </value>
+                </item>
+                <item>
+                    <key> <string>title</string> </key>
+                    <value> <string>Existing User Login</string> </value>
+                </item>
+              </dictionary>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_synchroniseExistingAccountWithInstance.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_synchroniseExistingAccountWithInstance.xml
new file mode 100644
index 0000000000..89658c3b91
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_synchroniseExistingAccountWithInstance.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>portal = context.getPortalObject()\n
+\n
+if person is None:\n
+  person = context\n
+\n
+kw = person.Person_getDataDict()\n
+\n
+# explicitly check if username is unique\n
+if portal.WizardTool_isPersonReferencePresent(kw[\'reference\']):\n
+  # create assignment for user in Authentification Server\n
+  portal.portal_wizard.callRemoteProxyMethod(\n
+                         \'WitchTool_createNewAssignmentForExistingPerson\',\n
+                         use_cache = 0,\n
+                         ignore_exceptions = 0,\n
+                         **kw)\n
+else:\n
+  raise ValueError, "User does not exist yet"\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>person=None, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>person</string>
+                            <string>kw</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                            <string>portal</string>
+                            <string>None</string>
+                            <string>_getitem_</string>
+                            <string>_apply_</string>
+                            <string>ValueError</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Person_synchroniseExistingAccountWithInstance</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_validateGlobalUserAccount.xml b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_validateGlobalUserAccount.xml
new file mode 100644
index 0000000000..c48b3b52e4
--- /dev/null
+++ b/bt5/erp5_wizard/SkinTemplateItem/portal_skins/erp5_wizard/Person_validateGlobalUserAccount.xml
@@ -0,0 +1,160 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string encoding="cdata"><![CDATA[
+
+"""\n
+ Validate persons on remote master server. \n
+\n
+ Only validate remote person/assigments if person \n
+ has reference and valid assigments. \n
+"""\n
+\n
+if person is None:\n
+  person = context\n
+\n
+reference = person.getReference()\n
+if reference is not None and \\\n
+  len(person.Person_getAvailableAssignmentValueList()) > 0:\n
+  # validate user in Nexedi ERP5 only if its a loggable user in current instance\n
+  kw = person.Person_getDataDict()\n
+  context.portal_wizard.callRemoteProxyMethod(\n
+                       \'WitchTool_validateGlobalUserAccountFromExpressInstance\', \\\n
+                       use_cache = 0, \\\n
+                       ignore_exceptions = 0, \\\n
+                       **kw)\n
+
+
+]]></string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>person=None, **kw</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>person</string>
+                            <string>kw</string>
+                            <string>None</string>
+                            <string>context</string>
+                            <string>_getattr_</string>
+                            <string>reference</string>
+                            <string>len</string>
+                            <string>_apply_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <tuple>
+                <none/>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Person_validateGlobalUserAccount</string> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Validate global Person object from Instance to Authentification Server</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/bt/revision b/bt5/erp5_wizard/bt/revision
index dc9414b21f..b912dc118c 100644
--- a/bt5/erp5_wizard/bt/revision
+++ b/bt5/erp5_wizard/bt/revision
@@ -1 +1 @@
-154
\ No newline at end of file
+155
\ No newline at end of file
-- 
2.30.9


From 986c7e2605ac6ffd86f22a40e16a68b066abf5bb Mon Sep 17 00:00:00 2001
From: Yusei Tahara <yusei@nexedi.com>
Date: Mon, 18 Oct 2010 03:19:44 +0000
Subject: [PATCH 141/163] Add a test for RoundingModel.roundValue method.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39267 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testRoundingTool.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/product/ERP5/tests/testRoundingTool.py b/product/ERP5/tests/testRoundingTool.py
index 420d5a5758..df917daab7 100644
--- a/product/ERP5/tests/testRoundingTool.py
+++ b/product/ERP5/tests/testRoundingTool.py
@@ -56,6 +56,30 @@ class TestRoundingTool(ERP5TypeTestCase):
     transaction.commit()
     self.tic()
 
+  def testRoundValueMethod(self):
+    """
+    Test rounding method
+    """
+    rounding_tool = self.portal.portal_roundings
+    rounding_model = rounding_tool.newContent(portal_type='Rounding Model')
+    rounding_model.edit(decimal_rounding_option='ROUND_HALF_UP')
+
+    rounding_model.edit(precision=0.01)
+    self.assertEqual(rounding_model.roundValue(12.344), 12.34)
+    self.assertEqual(rounding_model.roundValue(12.355), 12.36)
+    rounding_model.edit(precision=0.1)
+    self.assertEqual(rounding_model.roundValue(12.34), 12.3)
+    self.assertEqual(rounding_model.roundValue(12.35), 12.4)
+    rounding_model.edit(precision=1.0)
+    self.assertEqual(rounding_model.roundValue(1.1), 1)
+    self.assertEqual(rounding_model.roundValue(1.5), 2)
+    rounding_model.edit(precision=10.0)
+    self.assertEqual(rounding_model.roundValue(1.1), 0)
+    self.assertEqual(rounding_model.roundValue(5.0), 10)
+    rounding_model.edit(precision=100.0)
+    self.assertEqual(rounding_model.roundValue(132), 100)
+    self.assertEqual(rounding_model.roundValue(150), 200)
+
   def testBasicRounding(self):
     """
     Test basic features of rounding tool
-- 
2.30.9


From 6dcd2497f9bb6627e70cb88305f3a19e46c46511 Mon Sep 17 00:00:00 2001
From: Yusei Tahara <yusei@nexedi.com>
Date: Mon, 18 Oct 2010 03:22:55 +0000
Subject: [PATCH 142/163] Fix a bug. If precision was 1, rounding did not work
 correctly.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39268 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/RoundingModel.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/Document/RoundingModel.py b/product/ERP5/Document/RoundingModel.py
index be71346f90..a7153cad36 100644
--- a/product/ERP5/Document/RoundingModel.py
+++ b/product/ERP5/Document/RoundingModel.py
@@ -76,7 +76,7 @@ class RoundingModel(Predicate):
           precision = 1
 
         scale = int(log(precision, 10))
-        if scale > 0:
+        if scale > 0 or (scale==0 and precision>=1):
           value = Decimal(str(value))
           scale = Decimal(str(int(precision))).quantize(value)
           precision = Decimal('1')
-- 
2.30.9


From 99925d22dcb74576f674b3ec8bf5dc0bccef12b9 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Mon, 18 Oct 2010 07:42:49 +0000
Subject: [PATCH 143/163] Fix tests.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39269 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_zuite/testDefaultPadAnonymousMode.xml    | 12 ++++++++----
 bt5/erp5_km_ui_test/bt/revision                      |  2 +-
 2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testDefaultPadAnonymousMode.xml b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testDefaultPadAnonymousMode.xml
index f77e019b60..d020da07cc 100644
--- a/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testDefaultPadAnonymousMode.xml
+++ b/bt5/erp5_km_ui_test/PathTemplateItem/portal_tests/erp5_km_zuite/testDefaultPadAnonymousMode.xml
@@ -34,7 +34,7 @@
         </item>
         <item>
             <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
+            <value> <unicode encoding="cdata"><![CDATA[
 
 <html xmlns:tal="http://xml.zope.org/namespaces/tal"\n
       xmlns:metal="http://xml.zope.org/namespaces/metal">\n
@@ -111,7 +111,7 @@
 </tr>\n
 <tr>\n
 \t<td>verifyTextPresent</td>\n
-\t<td>Logout</td>\n
+\t<td>ERP5TypeTestCase</td>\n
 \t<td></td>\n
 </tr>\n
 \n
@@ -123,7 +123,7 @@
 \n
 
 
-]]></string> </value>
+]]></unicode> </value>
         </item>
         <item>
             <key> <string>content_type</string> </key>
@@ -137,9 +137,13 @@
             <key> <string>id</string> </key>
             <value> <string>testDefaultPadAnonymousMode</string> </value>
         </item>
+        <item>
+            <key> <string>output_encoding</string> </key>
+            <value> <string>utf-8</string> </value>
+        </item>
         <item>
             <key> <string>title</string> </key>
-            <value> <string></string> </value>
+            <value> <unicode></unicode> </value>
         </item>
       </dictionary>
     </pickle>
diff --git a/bt5/erp5_km_ui_test/bt/revision b/bt5/erp5_km_ui_test/bt/revision
index 8d9f781b52..176fdebf1b 100644
--- a/bt5/erp5_km_ui_test/bt/revision
+++ b/bt5/erp5_km_ui_test/bt/revision
@@ -1 +1 @@
-118
\ No newline at end of file
+119
\ No newline at end of file
-- 
2.30.9


From d6ef24d34b918cb5c0b2f0c9b60e23a5acaf1214 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Mon, 18 Oct 2010 08:07:40 +0000
Subject: [PATCH 144/163] Make the API of addAction consistent with CMF.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39270 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/patches/ActionProviderBase.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/product/ERP5Type/patches/ActionProviderBase.py b/product/ERP5Type/patches/ActionProviderBase.py
index aed025e63c..957ca5793e 100644
--- a/product/ERP5Type/patches/ActionProviderBase.py
+++ b/product/ERP5Type/patches/ActionProviderBase.py
@@ -60,7 +60,7 @@ def ActionProviderBase_manage_editActionsForm( self, REQUEST, manage_tabs_messag
 
 def ActionProviderBase_addAction( self
               , id
-              , title
+              , name
               , action
               , condition
               , permission
@@ -73,8 +73,8 @@ def ActionProviderBase_addAction( self
               ):
     """ Add an action to our list.
     """
-    if not title:
-        raise ValueError('A title is required.')
+    if not name:
+        raise ValueError('A name is required.')
 
     a_expr = action and Expression(text=str(action)) or ''
     i_expr = icon and Expression(text=str(icon)) or ''
@@ -86,7 +86,7 @@ def ActionProviderBase_addAction( self
     new_actions = self._cloneActions()
 
     new_action = ActionInformation( id=str(id)
-                                  , title=str(title)
+                                  , title=str(name)
                                   , description=str(description)
                                   , action=a_expr
                                   , icon=i_expr
-- 
2.30.9


From 4a88dbe082b3c292ba26aecc3e3137caa2a2027f Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Mon, 18 Oct 2010 08:08:07 +0000
Subject: [PATCH 145/163] Fix an API usage.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39271 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/Document/BusinessTemplate.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ERP5/Document/BusinessTemplate.py b/product/ERP5/Document/BusinessTemplate.py
index 123e06cec3..5d5c95a4f4 100644
--- a/product/ERP5/Document/BusinessTemplate.py
+++ b/product/ERP5/Document/BusinessTemplate.py
@@ -2792,7 +2792,7 @@ class ActionTemplateItem(ObjectTemplateItem):
             action_text = action_text.text
           obj.addAction(
                         id = action.id
-                      , title = action.title
+                      , name = action.title
                       , action = action_text
                       , condition = action.getCondition()
                       , permission = action.permissions
-- 
2.30.9


From 20a1e607aabfe96d3a4362ba691c8d42fcea6869 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Mon, 18 Oct 2010 08:34:57 +0000
Subject: [PATCH 146/163] Improve right  columg gadget edit form CSS.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39272 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../erp5_km_theme/km_css/gadget.css.xml       | 19 +++++++++++++++---
 .../erp5_km_theme/km_css/layout.css.xml       | 20 ++-----------------
 bt5/erp5_km/bt/revision                       |  2 +-
 3 files changed, 19 insertions(+), 22 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/gadget.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/gadget.css.xml
index a6e27d5f8e..74d43ace17 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/gadget.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/gadget.css.xml
@@ -12,7 +12,7 @@
         </item>
         <item>
             <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts86979540.15</string> </value>
+            <value> <string>ts87390711.89</string> </value>
         </item>
         <item>
             <key> <string>__name__</string> </key>
@@ -55,6 +55,12 @@ div.gadget-management{\n
   margin-bottom:5px;\n
 }\n
 \n
+/* hide labels for columns */\n
+div.gadget-management > label,\n
+div.right-gadget > label{\n
+  display:none;\n
+}\n
+\n
 div.draggable_wrapper{\n
   background-color:transparent;\n
 }\n
@@ -217,11 +223,18 @@ div.edit-form label{\n
 \n
 div.edit-form button{\n
   margin-top: 0.5em;\n
+  margin-left: 0.5em;\n
 }\n
+\n
+div.edit-form div.field{\n
+  padding-left: 0.5em;\n
+}\n
+div.edit-form label,\n
 div.edit-form input{\n
-  width:100%;\n
+  width:auto;\n
 }\n
 \n
+\n
 /* listbox buttons in gadget mode */\n
 div.block table.listbox button.sort_button,\n
 div.block table.listbox thead tr th{\n
@@ -469,7 +482,7 @@ div.block div.box_inner_content div.worklist_list ul {\n
         </item>
         <item>
             <key> <string>size</string> </key>
-            <value> <int>8653</int> </value>
+            <value> <int>8854</int> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
index 3f6891b51f..8deb1969db 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
@@ -786,20 +786,6 @@ div#mainwrapper div#wrapper_right fieldset.widget table.gadget td div {\n
 \tmargin: 0 !important;\n
 \tborder: 0 !important;\n
 }\n
-/*\n
-div#mainwrapper div#wrapper_right fieldset.widget div.field ul{\n
-  list-style-position:inside;\n
-  list-style-type:square;\n
-}\n
-*/\n
-\n
-div#mainwrapper div#wrapper_right fieldset.widget div.field label{\n
-  display:block;\n
-  float:left;\n
-  min-width:5em;\n
-  margin:0pt;\n
-  color:black;\n
-}\n
 \n
 div#mainwrapper div#wrapper_right fieldset.widget div.field label:after {content: ":"}\n
 div#mainwrapper div#wrapper_bottom div.gadget fieldset.widget,\n
@@ -811,9 +797,7 @@ div#mainwrapper div#wrapper_right div.gadget fieldset.widget{\n
 div#mainwrapper div.wrapper div.gadget fieldset.widget legend{\n
   display:none;\n
 }\n
-div#mainwrapper div.wrapper div.gadget fieldset.widget div.field label{\n
-  display:none;\n
-}\n
+\n
 \n
 .document > .content ul li {\n
 \n
@@ -1472,7 +1456,7 @@ div.web-toolbar div.menu div.field input, div.web-toolbar div.menu div.field sel
 \n
 .hiddenLabel label,\n
 .hidden_label label { \n
-  display: none !important\n
+  display: none;\n
 }\n
 \n
 fieldset.hidden_fieldset {\n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index ae8c80fb1f..0eb5c3a217 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1611
\ No newline at end of file
+1613
\ No newline at end of file
-- 
2.30.9


From 1b1a0c84b32f34897a9d57c079743f561c85c8e7 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Mon, 18 Oct 2010 08:35:20 +0000
Subject: [PATCH 147/163] Do not cache the result of
 getGlobalTranslationService, otherwise a dummy one may be stored forever at
 the initialization phase.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39273 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/Message.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/product/ERP5Type/Message.py b/product/ERP5Type/Message.py
index 1f6fdb4b61..93819859eb 100644
--- a/product/ERP5Type/Message.py
+++ b/product/ERP5Type/Message.py
@@ -84,8 +84,6 @@ except ImportError:
 
   getGlobalTranslationService = GlobalTranslationService
 
-translation_service_translate = getGlobalTranslationService().translate
-
 from Products.ERP5Type import Globals
 from cPickle import dumps, loads
 
@@ -147,7 +145,8 @@ class Message(Persistent):
     else:
       from Products.ERP5.ERP5Site import getSite
       request = Globals.get_request()
-      translated_message = translation_service_translate(
+      translation_service = getGlobalTranslationService()
+      translated_message = translation_service.translate(
                                              self.domain,
                                              message,
                                              mapping=self.mapping,
-- 
2.30.9


From b2747c2284b8a9b52537affd8d418efd3ee05a58 Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Mon, 18 Oct 2010 10:51:07 +0000
Subject: [PATCH 148/163] Set bt5's version.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39274 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 bt5/erp5_knowledge_pad_ui_test/bt/revision | 2 +-
 bt5/erp5_knowledge_pad_ui_test/bt/version  | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_knowledge_pad_ui_test/bt/version

diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/revision b/bt5/erp5_knowledge_pad_ui_test/bt/revision
index f11c82a4cb..f599e28b8a 100644
--- a/bt5/erp5_knowledge_pad_ui_test/bt/revision
+++ b/bt5/erp5_knowledge_pad_ui_test/bt/revision
@@ -1 +1 @@
-9
\ No newline at end of file
+10
diff --git a/bt5/erp5_knowledge_pad_ui_test/bt/version b/bt5/erp5_knowledge_pad_ui_test/bt/version
new file mode 100644
index 0000000000..48360de846
--- /dev/null
+++ b/bt5/erp5_knowledge_pad_ui_test/bt/version
@@ -0,0 +1 @@
+5.4.7
\ No newline at end of file
-- 
2.30.9


From 739c38407fd5cc34ca4be419d22bf06fba4e7f7a Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Mon, 18 Oct 2010 10:55:33 +0000
Subject: [PATCH 149/163] There is no reason that a response is set without
 publishing. It is rather mysterious that it was working before.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39275 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testERP5WebWithDms.py | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/tests/testERP5WebWithDms.py b/product/ERP5/tests/testERP5WebWithDms.py
index cb3f84c017..22b0861930 100644
--- a/product/ERP5/tests/testERP5WebWithDms.py
+++ b/product/ERP5/tests/testERP5WebWithDms.py
@@ -265,7 +265,9 @@ class TestERP5WebWithDms(ERP5TypeTestCase, ZopeTestCase.Functional):
     # viewing non available document in Web Section (with no authorization_forced)
     self.logout()
     self.assertEqual(None,  websection._getExtensibleContent(request,  document_reference))
-    self.assertEqual('404 Not Found',  request.RESPONSE.getHeader('status'))
+    path = websection.absolute_url_path() + '/' + document_reference
+    response = self.publish(path)
+    self.assertEqual(404, response.getStatus())
 
     # set authorization_forced flag
     self.login()
-- 
2.30.9


From bd25a35dbb94c9dc93e47ed2048b4e58abb57f7d Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Mon, 18 Oct 2010 11:20:45 +0000
Subject: [PATCH 150/163] Fix property names.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39276 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testERP5eGov.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/product/ERP5/tests/testERP5eGov.py b/product/ERP5/tests/testERP5eGov.py
index 17518e85ae..ce9ff4a0a4 100644
--- a/product/ERP5/tests/testERP5eGov.py
+++ b/product/ERP5/tests/testERP5eGov.py
@@ -251,8 +251,8 @@ class TestEgov(ERP5TypeTestCase):
     pdf_file_name = 'Certificat_Residence.pdf'
     pdf_file_data = makeFileUpload(pdf_file_name)
     scribus_file_data = makeFileUpload(scribus_file_name)
-    procedure.edit(default_scribus_form=scribus_file_data,
-            default_pdf_form=pdf_file_data)
+    procedure.edit(scribus_form_file=scribus_file_data,
+            pdf_form_file=pdf_file_data)
     self.tic()
     transaction.commit()
     self.tic()
-- 
2.30.9


From 6e869e1bda7336883a9ffa7a5719745343224db3 Mon Sep 17 00:00:00 2001
From: Yoshinori Okuji <yo@nexedi.com>
Date: Mon, 18 Oct 2010 11:32:21 +0000
Subject: [PATCH 151/163] If calculation_base_date is passed explicitly, use
 that instead of calculating internally.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39277 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Legacy/Document/OpenOrderRule.py | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/product/ERP5Legacy/Document/OpenOrderRule.py b/product/ERP5Legacy/Document/OpenOrderRule.py
index 6443376eb3..25f58626e3 100644
--- a/product/ERP5Legacy/Document/OpenOrderRule.py
+++ b/product/ERP5Legacy/Document/OpenOrderRule.py
@@ -49,7 +49,7 @@ class OpenOrderRule(DeliveryRule):
 
   # Simulation workflow
   security.declareProtected(Permissions.ModifyPortalContent, 'expand')
-  def expand(self, applied_rule, force=0, **kw):
+  def expand(self, applied_rule, force=0, calculation_base_date=None, **kw):
     """
       Expands the Order to a new simulation tree.
       expand is only allowed to modify a simulation movement if it doesn't
@@ -71,12 +71,16 @@ class OpenOrderRule(DeliveryRule):
         portal_type=order.getPortalOrderMovementTypeList())
 
       now = DateTime()
+      passed_calculation_base_date = calculation_base_date
       for order_movement in order_movement_list:
-        end_date = order_movement.getStopDate() - order.getForecastingTermDayCount()
-        if end_date > now:
-          calculation_base_date = now
+        if passed_calculation_base_date is None:
+          end_date = order_movement.getStopDate() - order.getForecastingTermDayCount()
+          if end_date > now:
+            calculation_base_date = now
+          else:
+            calculation_base_date = end_date
         else:
-          calculation_base_date = end_date
+          calculation_base_date = passed_calculation_base_date
         last_simulation_movement = self._getLastSimulationMovementValue(applied_rule, order_movement)
         if last_simulation_movement is not None:
           schedule_start_date = last_simulation_movement.getStartDate()
-- 
2.30.9


From 5f63201ff8e4c744930c02b6c42999534a872d1e Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Mon, 18 Oct 2010 12:29:51 +0000
Subject: [PATCH 152/163] better info about unicode encoding errors

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39278 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ERP5Type/patches/unicodeconflictresolver.py    | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/product/ERP5Type/patches/unicodeconflictresolver.py b/product/ERP5Type/patches/unicodeconflictresolver.py
index 04a9e047dd..871b615cb7 100644
--- a/product/ERP5Type/patches/unicodeconflictresolver.py
+++ b/product/ERP5Type/patches/unicodeconflictresolver.py
@@ -19,8 +19,10 @@
 # FOR A PARTICULAR PURPOSE
 ##############################################################################
 
-from zLOG import LOG
-import sys
+from logging import getLogger
+import traceback
+logger = getLogger(__name__)
+
 try:
   from Products.PageTemplates.unicodeconflictresolver \
        import PreferredCharsetResolver
@@ -34,9 +36,11 @@ else:
     # requests that do not contain Accept-Charset header.
     try:
       result = unicode(text, 'utf-8')
-    except UnicodeDecodeError:
-      LOG('unicodeconflictresolver, Unicode Error', 0, text, 
-          error=sys.exc_info())
+    except UnicodeDecodeError, e:
+      tb_info = ''.join(traceback.format_stack())
+      logger.warn('UnicodeDecodeError: %s\ntext: %r\nat:\n%s' %
+                  (e, text, tb_info))
       result = unicode(text, 'utf-8', 'replace')
     return result
   PreferredCharsetResolver.resolve = PreferredCharsetResolver_resolve
+
-- 
2.30.9


From da161e03cd6cedf7ae69f4955aece7fbba83d6e3 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Mon, 18 Oct 2010 13:22:32 +0000
Subject: [PATCH 153/163] nexedi's SOAPpy-0.12.1 was wrongly archived with
 garbages. now it is rearchived as 0.12.0nxd001.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39279 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 buildout/profiles/links.cfg           | 1 -
 buildout/profiles/versions-2.12.cfg   | 5 -----
 buildout/profiles/versions-common.cfg | 2 ++
 3 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/buildout/profiles/links.cfg b/buildout/profiles/links.cfg
index 93729f0cb2..b75e14ff86 100644
--- a/buildout/profiles/links.cfg
+++ b/buildout/profiles/links.cfg
@@ -5,4 +5,3 @@ find-links =
     http://download.hforge.org/itools/
     http://dist.repoze.org
     http://www.nexedi.org/static/packages/source/
-    http://ibid.omnia.za.net/eggs/
diff --git a/buildout/profiles/versions-2.12.cfg b/buildout/profiles/versions-2.12.cfg
index 0fa18df0e0..264ff9c2ad 100644
--- a/buildout/profiles/versions-2.12.cfg
+++ b/buildout/profiles/versions-2.12.cfg
@@ -6,11 +6,6 @@ extends =
   ../profiles/versions-common.cfg
 
 [versions]
-# Use SOAPpy from http://ibid.omnia.za.net/eggs/ instead of
-# http://www.nexedi.org/static/packages/source/ due to SyntaxError on
-# Python 2.6
-SOAPpy = 0.12.0
-
 # pin Acquisition and Products.DCWorkflow to Nexedi flavour of eggs
 Acquisition = 2.13.4nxd001
 Products.DCWorkflow = 2.2.1nxd001
diff --git a/buildout/profiles/versions-common.cfg b/buildout/profiles/versions-common.cfg
index 40176827e4..f976cc5159 100644
--- a/buildout/profiles/versions-common.cfg
+++ b/buildout/profiles/versions-common.cfg
@@ -6,6 +6,8 @@ erp5_bt5_revision = ${:erp5_products_revision}
 erp5_products_revision =
 numpy = 1.3.0
 plone.recipe.zope2instance = 3.6
+# modified version that works fine for buildout installation
+SOAPpy = 0.12.0nxd001
 # official pysvn egg does not work with zc.recipe.egg, so we use our
 # modified version
 pysvn = 1.7.2
-- 
2.30.9


From e94ef25f1c2fa3ce5716179dd47281eb3c871d7d Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Mon, 18 Oct 2010 14:48:40 +0000
Subject: [PATCH 154/163] Unit tests: fix regression in r31163 causing some
 tests not to be run entirely

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39284 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5Type/tests/Sequence.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/product/ERP5Type/tests/Sequence.py b/product/ERP5Type/tests/Sequence.py
index f7ae0b11df..392e00d922 100644
--- a/product/ERP5Type/tests/Sequence.py
+++ b/product/ERP5Type/tests/Sequence.py
@@ -191,6 +191,7 @@ class SequenceList:
   def play(self, context, quiet=0):
     i = 1
     for sequence in self._sequence_list:
+      sequence._played_index = 0
       sequence.play(context, sequence_number=i, quiet=quiet)
       i+=1
 
-- 
2.30.9


From f05f3ba10eac02e84b8929877831d7793fed13f3 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <vincent@nexedi.com>
Date: Mon, 18 Oct 2010 14:57:06 +0000
Subject: [PATCH 155/163] Remove conditions on current transition id.

This makes it easier to understand this workflow.


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39285 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../scripts/validateConsistency.xml           |  37 +---
 .../scripts/validatePlanActionConsistency.xml | 169 ++++++++++++++++++
 .../scripts/validateWaitActionConsistency.xml | 134 ++++++++++++++
 .../transitions/plan_action.xml               |   2 +-
 .../transitions/wait_action.xml               |   2 +-
 bt5/erp5_banking_check/bt/revision            |   2 +-
 6 files changed, 307 insertions(+), 39 deletions(-)
 create mode 100644 bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validatePlanActionConsistency.xml
 create mode 100644 bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validateWaitActionConsistency.xml

diff --git a/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validateConsistency.xml b/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validateConsistency.xml
index 51d4311f42..1ed21d1c3c 100644
--- a/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validateConsistency.xml
+++ b/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validateConsistency.xml
@@ -98,12 +98,6 @@ if transaction.getTotalPrice(fast=0, portal_type = \'Check Operation Line\') !=
   msg = Message(domain=\'ui\', message="Total price doesn\'t match.")\n
   raise ValidationFailed, (msg,)\n
 \n
-# if manual validation, check overdreaft facility\n
-if state_change[\'transition\'].getId() == "wait_action":\n
-  context.checkAccountIsOverdraftFacility(state_change)\n
-    \n
-\n
-bank_account_dict = {}\n
 seen_check_dict = {}\n
 \n
 is_check_less = transaction.isCheckLess()\n
@@ -161,31 +155,7 @@ for check_operation_line in transaction.contentValues(filter = {\'portal_type\'
     check = transaction.Base_checkCheck(bank_account=source_bank_account, reference=check_number,\n
                                 resource=check_type)\n
     if check_operation_line.getAggregate() != check.getRelativeUrl():\n
-      check_operation_line.edit(aggregate=check.getRelativeUrl())    \n
-  \n
-  # Test if the account balance is sufficient.\n
-  if state_change[\'transition\'].getId() == "plan_action":\n
-    account_path = source_bank_account.getRelativeUrl()\n
-    if bank_account_dict.has_key(account_path):\n
-      check_price = bank_account_dict[account_path] + check_operation_line.getPrice()      \n
-    else:\n
-      check_price = check_operation_line.getPrice()\n
-    bank_account_dict[account_path] = check_price\n
-    error = context.BankAccount_checkBalance(account_path, check_price)\n
-    if error[\'error_code\'] == 1:\n
-      msg = Message(domain=\'ui\', message="Bank account $account is not sufficient on line $line.",\n
-                    mapping={"account": source_bank_account.getInternalBankAccountNumber(), "line" : check_operation_line.getId()})\n
-      raise ValidationFailed, (msg,)\n
-    elif error[\'error_code\'] == 2:\n
-      msg = Message(domain=\'ui\', message="Bank account $account is not valid on $line.",\n
-                    mapping={"account": source_bank_account.getInternalBankAccountNumber(), "line" : check_operation_line.getId()})\n
-      raise ValidationFailed, (msg,)\n
-    elif error[\'error_code\'] != 0:\n
-      msg = Message(domain=\'ui\', message="Unknown error code.")\n
-      raise ValidationFailed, (msg,)\n
-\n
-if transaction.getSimulationState() == "draft" and state_change[\'transition\'].getId() == "plan_action":\n
-  context.createCheckDepositLine(state_change)\n
+      check_operation_line.edit(aggregate=check.getRelativeUrl())\n
 
 
 ]]></string> </value>
@@ -248,8 +218,6 @@ if transaction.getSimulationState() == "draft" and state_change[\'transition\'].
                             <string>msg</string>
                             <string>price</string>
                             <string>destination_bank_account</string>
-                            <string>context</string>
-                            <string>bank_account_dict</string>
                             <string>seen_check_dict</string>
                             <string>is_check_less</string>
                             <string>_getiter_</string>
@@ -261,9 +229,6 @@ if transaction.getSimulationState() == "draft" and state_change[\'transition\'].
                             <string>seen_check</string>
                             <string>_write_</string>
                             <string>check</string>
-                            <string>account_path</string>
-                            <string>check_price</string>
-                            <string>error</string>
                           </tuple>
                         </value>
                     </item>
diff --git a/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validatePlanActionConsistency.xml b/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validatePlanActionConsistency.xml
new file mode 100644
index 0000000000..5a9590385b
--- /dev/null
+++ b/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validatePlanActionConsistency.xml
@@ -0,0 +1,169 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>from Products.DCWorkflow.DCWorkflow import ValidationFailed\n
+from Products.ERP5Type.Message import Message\n
+\n
+transaction = state_change[\'object\']\n
+\n
+# Test if the account balance is sufficient.\n
+bank_account_dict = {}\n
+for check_operation_line in transaction.objectValues(portal_type=\'Check Operation Line\'):\n
+  account_path = check_operation_line.getSourcePaymentValue().getRelativeUrl()\n
+  bank_account_dict[account_path] = bank_account_dict.get(account_path, 0) + check_operation_line.getPrice()\n
+for account_path, amount in bank_account_dict.items():\n
+  error = context.BankAccount_checkBalance(account_path, amount)[\'error_code\']\n
+  if error == 1:\n
+    raise ValidationFailed, (Message(domain=\'ui\', message="Bank account $account is not sufficient.",\n
+      mapping={"account": source_bank_account.getInternalBankAccountNumber()}), )\n
+  elif error == 2:\n
+    raise ValidationFailed, (Message(domain=\'ui\', message="Bank account $account is not valid.",\n
+      mapping={"account": source_bank_account.getInternalBankAccountNumber()}), )\n
+  elif error != 0:\n
+    raise ValidationFailed, (Message(domain=\'ui\', message="Unknown error code."),)\n
+\n
+context.validateConsistency(state_change)\n
+\n
+if transaction.getSimulationState() == "draft":\n
+  context.createCheckDepositLine(state_change)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>Products.DCWorkflow.DCWorkflow</string>
+                            <string>ValidationFailed</string>
+                            <string>Products.ERP5Type.Message</string>
+                            <string>Message</string>
+                            <string>_getitem_</string>
+                            <string>transaction</string>
+                            <string>bank_account_dict</string>
+                            <string>_getiter_</string>
+                            <string>_getattr_</string>
+                            <string>check_operation_line</string>
+                            <string>account_path</string>
+                            <string>_write_</string>
+                            <string>amount</string>
+                            <string>context</string>
+                            <string>error</string>
+                            <string>source_bank_account</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>validatePlanActionConsistency</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validateWaitActionConsistency.xml b/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validateWaitActionConsistency.xml
new file mode 100644
index 0000000000..c6badb449f
--- /dev/null
+++ b/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/scripts/validateWaitActionConsistency.xml
@@ -0,0 +1,134 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <tuple>
+        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+        <tuple/>
+      </tuple>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string># if manual validation, check overdreaft facility\n
+context.checkAccountIsOverdraftFacility(state_change)\n
+\n
+context.validateConsistency(state_change)\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>_getattr_</string>
+                            <string>context</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>validateWaitActionConsistency</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/transitions/plan_action.xml b/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/transitions/plan_action.xml
index ab90c358e2..6fd1ab4a74 100644
--- a/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/transitions/plan_action.xml
+++ b/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/transitions/plan_action.xml
@@ -45,7 +45,7 @@
         </item>
         <item>
             <key> <string>script_name</string> </key>
-            <value> <string>validateConsistency</string> </value>
+            <value> <string>validatePlanActionConsistency</string> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/transitions/wait_action.xml b/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/transitions/wait_action.xml
index 6f48d819ff..4355a1e496 100644
--- a/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/transitions/wait_action.xml
+++ b/bt5/erp5_banking_check/WorkflowTemplateItem/portal_workflow/check_deposit_workflow/transitions/wait_action.xml
@@ -45,7 +45,7 @@
         </item>
         <item>
             <key> <string>script_name</string> </key>
-            <value> <string>validateConsistency</string> </value>
+            <value> <string>validateWaitActionConsistency</string> </value>
         </item>
         <item>
             <key> <string>title</string> </key>
diff --git a/bt5/erp5_banking_check/bt/revision b/bt5/erp5_banking_check/bt/revision
index 8b120bce8f..073c57b52b 100644
--- a/bt5/erp5_banking_check/bt/revision
+++ b/bt5/erp5_banking_check/bt/revision
@@ -1 +1 @@
-447
\ No newline at end of file
+465
-- 
2.30.9


From 2db53d5ec49983ec6cfcbcee58c80f990c7caf3c Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Mon, 18 Oct 2010 15:09:55 +0000
Subject: [PATCH 156/163] CSS fixes for Chrome & Arora web browsers.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39286 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_km_theme/km_css/layout.css.xml           | 3 ++-
 bt5/erp5_km/bt/revision                                        | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
index 8deb1969db..836bf785f8 100644
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
+++ b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km_theme/km_css/layout.css.xml
@@ -419,6 +419,7 @@ button, select, input {\n
 \tclear: both;\n
 \twidth:100%;\n
 \tpadding: 5px 0;\n
+        height: 20px;\n
 \n
 }\n
 \n
@@ -1528,7 +1529,7 @@ div.download-document-format-list-container span{\n
   cursor: pointer; \n
   display:block;\n
   float:right;\n
-  background:transparent url(km_img/collapse-down-arrow.gif) no-repeat scroll right 6px;\n
+  background:transparent url(km_img/collapse-down-arrow.gif) no-repeat scroll right 5px;\n
   padding: 3px;\n
   padding-right: 10px;\n
   font-weight: bold;\n
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 0eb5c3a217..655c142ccc 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1613
\ No newline at end of file
+1615
\ No newline at end of file
-- 
2.30.9


From 633bcba8ebef0241c33231a61572df0972812665 Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Mon, 18 Oct 2010 15:17:57 +0000
Subject: [PATCH 157/163] typo

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39287 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/Query/EntireQuery.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ZSQLCatalog/Query/EntireQuery.py b/product/ZSQLCatalog/Query/EntireQuery.py
index 6811b61580..4848fcc247 100644
--- a/product/ZSQLCatalog/Query/EntireQuery.py
+++ b/product/ZSQLCatalog/Query/EntireQuery.py
@@ -46,7 +46,7 @@ class EntireQuery(object):
   """
     This is not a Query subclass, since it does not define a
     registerColumnMap method, and instead does the ColumnMap handling
-    internaly.
+    internally.
   """
 
   implements(IEntireQuery)
-- 
2.30.9


From b36021eb963780a6a1469c25d1958c53ca7ba5ed Mon Sep 17 00:00:00 2001
From: Ivan Tyagov <ivan@nexedi.com>
Date: Mon, 18 Oct 2010 15:21:09 +0000
Subject: [PATCH 158/163] Clean up trash.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39289 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../portal_skins/erp5_km/old.xml              |   29 -
 .../erp5_km/old/Base_isWebViewMode.xml        |  125 -
 .../old/Base_viewKnowledgePadMacroLibrary.xml |  314 ---
 .../erp5_km/old/Base_viewToolboxGadget.xml    |  120 -
 .../Base_viewToolboxGadget/admin_toolbox.xml  |   96 -
 .../old/Category_getCodificationPath.xml      |  128 --
 .../old/Document_viewDownloadWidget.xml       |  187 --
 .../old/Document_viewHistoryGadget.xml        |  120 -
 .../document_history.xml                      |   96 -
 .../ERP5Site_getQuickSearchableTypeList.xml   |  122 -
 ...ERP5Site_getSearchableDocumentTypeList.xml |  150 --
 .../old/ERP5Type_cloneRoleInformation.xml     |  142 --
 .../erp5_km/old/EventAnnouncement_view.xml    |  133 --
 .../old/EventAnnouncement_view/my_title.xml   |  263 ---
 .../erp5_km/old/NewsRelease_view.xml          |  133 --
 .../erp5_km/old/NewsRelease_view/my_title.xml |  263 ---
 .../old/PersonModule_createNewPerson.xml      |  132 --
 .../erp5_km/old/Person_getParentUrl.xml       |  128 --
 .../Person_redirectToLatestContentList.xml    |  126 --
 .../old/ProjectModule_createNewProject.xml    |  132 --
 .../erp5_km/old/TaskModule_createNewTask.xml  |  132 --
 ...WebSection_getMatchedDocumentValueList.xml |  151 --
 ...bSection_hasPersonModuleViewPermission.xml |  135 --
 .../old/WebSection_viewSubsectionGadget.xml   |  124 -
 .../subsection_list.xml                       |  101 -
 .../WebSection_viewSubsectionListRenderer.xml |   83 -
 .../old/WebSite_getLatestContentValueList.xml |  142 --
 .../erp5_km/old/WebSite_loginForm.xml         |  155 --
 .../old/WebSite_loginForm/ac_login.xml        |  291 ---
 .../old/WebSite_loginForm/ac_password.xml     |  295 ---
 .../old/WebSite_loginForm/came_from.xml       |  281 ---
 .../erp5_km/old/WebSite_loginForm/login.xml   |  291 ---
 .../old/WebSite_loginForm/login_message.xml   |  281 ---
 .../erp5_km/old/WebSite_postQueryWithType.xml |  153 --
 .../old/WebSite_redirectToLogInOrSCALE.xml    |  124 -
 .../erp5_km/old/WebSite_searchResultList.xml  |  127 --
 .../old/WebSite_searchResultList/listbox.xml  |  522 -----
 .../WebSite_viewAdvertisingBoxRenderer.xml    |   61 -
 .../old/WebSite_viewLatestContentList.xml     |  130 --
 .../WebSite_viewLatestContentList/listbox.xml |  553 -----
 .../listbox_creation_date.xml                 | 2010 -----------------
 .../listbox_modification_date.xml             | 2010 -----------------
 .../WebSite_viewListBoxSearchButtonWidget.xml |   89 -
 .../old/WebSite_viewQuickSearchResultList.xml |  138 --
 .../erp5_km/old/WebSite_viewSearchTips.xml    |   84 -
 .../old/WebSite_viewSubscribeRenderer.xml     |  108 -
 .../erp5_km/old/admin_toolbox.xml             |  248 --
 .../erp5_km/old/cloneRoleInformation.xml      |   31 -
 .../erp5_km/old/erp5_km_common.css.xml        |  139 --
 .../erp5_km/old/erp5_knowledge_box.css.xml    |  584 -----
 .../old/erp5_knowledge_box_web.css.xml        |  182 --
 .../erp5_km/old/feed-dummy.jpg.xml            |  247 --
 .../portal_skins/erp5_km/old/home.gif.xml     |   77 -
 .../portal_skins/erp5_km/old/listbox.css.xml  |  448 ----
 .../portal_skins/erp5_km/old/web_page.png.xml |   66 -
 .../portal_skins/erp5_km/old/web_site.png.xml |   69 -
 bt5/erp5_km/bt/revision                       |    2 +-
 57 files changed, 1 insertion(+), 13602 deletions(-)
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_isWebViewMode.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewKnowledgePadMacroLibrary.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewToolboxGadget.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewToolboxGadget/admin_toolbox.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Category_getCodificationPath.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewDownloadWidget.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewHistoryGadget.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewHistoryGadget/document_history.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Site_getQuickSearchableTypeList.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Site_getSearchableDocumentTypeList.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Type_cloneRoleInformation.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/EventAnnouncement_view.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/EventAnnouncement_view/my_title.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/NewsRelease_view.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/NewsRelease_view/my_title.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/PersonModule_createNewPerson.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Person_getParentUrl.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Person_redirectToLatestContentList.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ProjectModule_createNewProject.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/TaskModule_createNewTask.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_getMatchedDocumentValueList.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_hasPersonModuleViewPermission.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionGadget.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionGadget/subsection_list.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionListRenderer.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_getLatestContentValueList.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/ac_login.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/ac_password.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/came_from.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/login.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/login_message.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_postQueryWithType.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_redirectToLogInOrSCALE.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_searchResultList.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_searchResultList/listbox.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewAdvertisingBoxRenderer.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox_creation_date.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox_modification_date.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewListBoxSearchButtonWidget.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewQuickSearchResultList.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewSearchTips.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewSubscribeRenderer.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/admin_toolbox.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/cloneRoleInformation.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_km_common.css.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_knowledge_box.css.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_knowledge_box_web.css.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/feed-dummy.jpg.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/home.gif.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/listbox.css.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/web_page.png.xml
 delete mode 100644 bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/web_site.png.xml

diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old.xml
deleted file mode 100644
index 863e0c4596..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Folder" module="OFS.Folder"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>old</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_isWebViewMode.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_isWebViewMode.xml
deleted file mode 100644
index 5f97195def..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_isWebViewMode.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>request = context.REQUEST\n
-return not(request.get(\'list_mode\', None) or request.get(\'dialog_mode\', None) or request.form.get(\'editable_mode\', None))\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>request</string>
-                            <string>None</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Base_isWebViewMode</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewKnowledgePadMacroLibrary.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewKnowledgePadMacroLibrary.xml
deleted file mode 100644
index 1b7953f868..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewKnowledgePadMacroLibrary.xml
+++ /dev/null
@@ -1,314 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-<tal:block metal:define-macro="disable_server_integration">\n
-\n
-  <tal:block tal:condition="isKnowledgePadTemplateUsed">\n
-    <script type="text/javascript" \n
-            tal:content="structure python: here.Base_generateOverrideJavaScript(\n
-                            mode = mode,\n
-                            default_pad_group = default_pad_group,\n
-                            cancel_url = cancel_url)">\n
-    </script>\n
-  </tal:block>\n
-\n
-</tal:block>\n
-\n
-<tal:block metal:define-macro="knowledge_pad_security_check">\n
-\n
-  <div tal:condition="python: not isUserAllowedToCreateKnowledgePads and not isAnon">\n
-    <div class="wait_block">\n
-      <p i18n:translate="" i18n:domain="ui"> \n
-        You are not allowed to use knowledge pad system due to security restrictions.\n
-      </p>\n
-    </div>\n
-  </div>\n
-\n
-</tal:block> \n
-\n
-<tal:block metal:define-macro="add_new_gadget">\n
-   <a href="Base_viewGadgetListDialog"\n
-   tal:condition="not: isKnowledgePadTemplateUsed"\n
-   tal:define="current_web_site python:request.get(\'current_web_site\', here);\n
-               portal_path python:request.get(\'current_web_site_url\', current_web_site.absolute_url())"\n
-   tal:attributes="href python:\n
-   \'Base_viewGadgetListDialog?reset=1&cancel_url=%s&active_pad_relative_url=%s&mode=%s&editable_mode:int=%d\'\n
-    %(cancel_url, active_knowledge_pad.getRelativeUrl(), mode, editable_mode);"\n
-   title="Add gadgets"\n
-   id="add-gadgets"\n
-   class="bt-small"> \n
-    <span i18n:translate="" i18n:domain="ui">\n
-      <img alt="+" src="km_img/icon-add.png"\n
-        tal:attributes="src string:${portal_path}/km_img/icon-add.png"/>\n
-        <tal:block i18n:translate="" i18n:domain="ui">Add gadgets</tal:block>\n
-    </span>\n
-  </a>\n
-</tal:block>\n
-\n
-<tal:block metal:define-macro="stick">\n
-  <tal:block\n
-    tal:condition="not: isKnowledgePadTemplateUsed"\n
-    tal:define="is_customized_pad python:\n
-          active_knowledge_pad.getPublicationSectionValue()==context and\n
-          active_knowledge_pad.getGroup()==default_pad_group;\n
-          current_web_site python:request.get(\'current_web_site\', here);\n
-          portal_path python:request.get(\'current_web_site_url\', current_web_site.absolute_url())">\n
-\n
-    <a tal:condition="not: is_customized_pad"\n
-       tal:attributes="href python:\n
-       \'WebSection_stickKnowledgePad?knowledge_pad_url=%s&cancel_url=%s&editable_mode:int=%d\'\n
-       %(active_knowledge_pad.getRelativeUrl(), cancel_url, editable_mode)"\n
-       class="bt-small">\n
-      <span i18n:translate="" i18n:domain="ui">\n
-        <img alt="" src="km_img/icon-stick.png"\n
-           tal:attributes="src string:${portal_path}/km_img/icon-stick.png"/>\n
-          <tal:block i18n:translate="" i18n:domain="ui">Stick it</tal:block>\n
-      </span>\n
-    </a>\n
-\n
-    <a tal:condition="is_customized_pad"\n
-       tal:attributes="href python:\n
-       \'WebSection_unStickKnowledgePad?knowledge_pad_url=%s&cancel_url=%s&editable_mode:int=%d\'\n
-       %(active_knowledge_pad.getRelativeUrl(), cancel_url, editable_mode)"\n
-       class="bt-small">\n
-      <span i18n:translate="" i18n:domain="ui">\n
-        <img alt="" src="km_img/icon-stick.png"/>\n
-          tal:attributes="src string:${portal_path}/km_img/icon-stick.png"/>\n
-          <tal:block i18n:translate="" i18n:domain="ui">Unstick it</tal:block>\n
-      </span>\n
-    </a>\n
-  </tal:block>\n
-</tal:block>\n
-\n
-\n
-\n
-<tal:block metal:define-macro="hidden_dialogs">\n
-\n
-  <div id="add_new_tab_dialog"\n
-      class="toggable_dialog">\n
-    <h3 i18n:translate="" i18n:domain="ui"> Add new tab </h3>\n
-      <span i18n:translate="" i18n:domain="ui">Tab name</span>: \n
-      <input type="text" value="" name="pad_title" id="new_pad_title"/><br/><br/>\n
-      <button type="button"\n
-              onclick="toggleElement(\'add_new_tab_dialog\');"\n
-              i18n:translate="" \n
-              i18n:domain="ui">Cancel</button>\n
-      <button type="button"\n
-              tal:condition="python: mode==\'erp5_front\'"\n
-              tal:attributes="onclick python: \n
-              \'\'\'addPadOnServer(\'ERP5Site_addNewKnowledgePad\', \n
-                                \'/%s\', \'%s\',\n
-                                \'view\')\'\'\'\n
-                %(context.getPortalObject().getId(),\n
-                  mode)" \n
-              i18n:translate="" \n
-              i18n:domain="ui">Add</button>\n
-      <button type="button"\n
-              tal:condition="python: mode==\'web_front\'"\n
-              tal:attributes="onclick python: \n
-              \'\'\'addPadOnServer(\'ERP5Site_addNewKnowledgePad\', \n
-                                 \'/%s/%s\', \'%s\', \n
-                                 \'view\')\'\'\'\n
-                 %(context.getPortalObject().getId(), \n
-                   context.getRelativeUrl(),\n
-                   mode)" \n
-              i18n:translate="" \n
-              i18n:domain="ui">Add</button>\n
-  </div>\n
-\n
-  <div id="rename_tab_dialog" \n
-      tal:condition="active_knowledge_pad"\n
-      class="toggable_dialog">\n
-    <h3 i18n:translate="" i18n:domain="ui"> Rename tab </h3>\n
-    <form action="">\n
-      <div>\n
-        <span i18n:translate="" i18n:domain="ui">Tab name</span>:\n
-        <input type="text"\n
-              id="new_knowledge_pad_title"\n
-              name="knowledge_pad_title"\n
-              tal:attributes="value active_knowledge_pad/getTitle"/><br/><br/>\n
-        <button type="button"\n
-                i18n:translate="" \n
-                i18n:domain="ui"\n
-                onclick="toggleElement(\'rename_tab_dialog\');">Cancel</button>\n
-        <button type="button"\n
-                i18n:translate="" \n
-                i18n:domain="ui"\n
-                tal:attributes="onclick python: \'renameKnowledgePadToServer(\n
-                \\\'rename_tab_dialog\\\',\n
-                \\\'active_knowledge_pad_title\\\',\n
-                \\\'new_knowledge_pad_title\\\',\n
-                \\\'%s\\\')\' %active_knowledge_pad.getRelativeUrl()">\n
-          Rename \n
-        </button>\n
-      </div>\n
-    </form>\n
-  </div>\n
-</tal:block>\n
-\n
-\n
-<tal:block metal:define-macro="navigation"\n
-           tal:define="is_tabs_visible \n
-           python: int(here.REQUEST.get(\'is_tabs_visible\', 1));\n
-           editable_mode python: context.REQUEST.get(\'editable_mode\', False);">\n
-\n
-   <table id="navigation_table">\n
-      <tr>\n
-        <td tal:attributes="class python: test(is_tabs_visible,\n
-                                              \'border_bottom1px\',\n
-                                              \'border_bottom0px\');">\n
-          <div class="border_bottom0px" id="tabs_switcher">\n
-            <span i18n:translate="" i18n:domain="ui"\n
-                  tal:condition="not: is_tabs_visible">Show tabs</span>\n
-            <span i18n:translate="" i18n:domain="ui" \n
-                  tal:condition="is_tabs_visible">Hide tabs</span>\n
-          </div>\n
-        </td>\n
-        <td tal:attributes="class python: test(is_tabs_visible,\n
-                                                    \'tab_visible\',\n
-                                                    \'tab_hidden\');">\n
-          <div id="tabs"\n
-              tal:attributes="style python:\n
-                                    \'display: %s\' %test(is_tabs_visible, \'block\', \'none\')">\n
-              <ul>\n
-                <tal:block tal:repeat="knowledge_pad knowledge_pads">\n
-\n
-                  <tal:block\n
-                    tal:define="is_active python:\n
-                    knowledge_pad.getRelativeUrl()==active_knowledge_pad.getRelativeUrl()">\n
-\n
-                    <li tal:condition="is_active"\n
-                        tal:define="global active_knowledge_pad knowledge_pad"\n
-                        class="tab active">\n
-                      <span>\n
-                        <a class="active" id="active_knowledge_pad_title" href="#" tal:content="knowledge_pad/getTitle">Tab title</a>\n
-                        <a class="icon edit" title="Settings" i18n:attributes="title" i18n:domain="ui"\n
-                          href="#" onclick="toggleElement(\'rename_tab_dialog\');">Rename</a>\n
-                        <a class="icon close" title="Remove" i18n:attributes="title" i18n:domain="ui"\n
-                          tal:condition="python: mode==\'erp5_front\'" href="#"\n
-                          tal:attributes="onclick python: \'removeKnowledgePadFromServer(\n
-                          \\\'%s\\\', \\\'%s\\\',\\\'/%s\\\')\'\n
-                           %(active_knowledge_pad.getRelativeUrl(),\n
-                             mode,\n
-                             context.getId())">Remove</a>\n
-                        <a class="icon close" title="Remove" i18n:attributes="title" i18n:domain="ui"\n
-                          tal:condition="python: mode!=\'erp5_front\'" href="#"\n
-                          tal:attributes="onclick python: \'removeKnowledgePadFromServer(\n
-                          \\\'%s\\\', \\\'%s\\\',\\\'/%s/%s\\\')\'\n
-                          %(active_knowledge_pad.getRelativeUrl(),\n
-                            mode,\n
-                            context.getPortalObject().getId(),\n
-                            context.getRelativeUrl())">Remove</a>\n
-                      </span>\n
-                    </li>\n
-\n
-                    <li tal:condition="not: is_active"\n
-                        class="tab">\n
-                      <span>\n
-                        <a href="#" tal:content="knowledge_pad/getTitle" tal:attributes="href python:\n
-                                          \'ERP5Site_toggleActiveKnowledgePad?knowledge_pad_url=%s&mode=%s\'\n
-                                          %(knowledge_pad.getRelativeUrl(), mode)">Tab tile</a>\n
-                        <a class="icon edit" tal:attributes="href python:\n
-                                          \'ERP5Site_toggleActiveKnowledgePad?knowledge_pad_url=%s&mode=%s\'\n
-                                          %(knowledge_pad.getRelativeUrl(), mode)">Tab tile</a>\n
-                        <a class="icon close" tal:attributes="href python:\n
-                                          \'ERP5Site_toggleActiveKnowledgePad?knowledge_pad_url=%s&mode=%s\'\n
-                                          %(knowledge_pad.getRelativeUrl(), mode)">Tab tile</a>\n
-                      </span>\n
-                    </li>\n
-                  </tal:block>\n
-                </tal:block>\n
-                <li class="last">\n
-                  <a class="tabs-add"\n
-                      tal:condition="not: isKnowledgePadTemplateUsed"\n
-                      onclick="toggleElement(\'add_new_tab_dialog\');"\n
-                      i18n:translate="" i18n:domain="ui"\n
-                      id="add_new_tab_dialog_link">Add tab</a>\n
-                  <a class="tabs-add"\n
-                      tal:condition="isKnowledgePadTemplateUsed"\n
-                      onclick="showCreateDefaultKnowledgePadWarningMessage();"\n
-                      i18n:translate="" i18n:domain="ui"\n
-                      id="add_new_tab_dialog_link">\n
-                      <img src="images/configure.png" \n
-                           style="width:15px;"\n
-                           alt="images/configure.png"/>\n
-                  </a>\n
-                </li>\n
-              </ul>\n
-            </div>\n
-          </td>\n
-          <td>\n
-            <div id="add_new_gadget_link"\n
-                 tal:attributes="class python: test(is_tabs_visible,\n
-                                                    \'border_bottom1px\',\n
-                                                    \'border_bottom0px\');">\n
-              <span    metal:use-macro="container/Base_viewKnowledgePadMacroLibrary/macros/add_new_gadget"> Add Gadgets</span>\n
-            </div>\n
-          </td>\n
-\n
-        </tr>\n
-      </table>\n
-\n
-</tal:block>\n
-
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Base_viewKnowledgePadMacroLibrary</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewToolboxGadget.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewToolboxGadget.xml
deleted file mode 100644
index 8ef30c1d3a..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewToolboxGadget.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>edit_order</string> </key>
-            <value>
-              <list/>
-            </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>gadget</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>gadget</string> </key>
-                    <value>
-                      <list>
-                        <string>admin_toolbox</string>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Base_viewToolboxGadget</string> </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string>Document_viewProfileRenderer</string> </value>
-        </item>
-        <item>
-            <key> <string>pt</string> </key>
-            <value> <string>gadget_view</string> </value>
-        </item>
-        <item>
-            <key> <string>row_length</string> </key>
-            <value> <int>4</int> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Admin Toolbox</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>update_action</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewToolboxGadget/admin_toolbox.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewToolboxGadget/admin_toolbox.xml
deleted file mode 100644
index 368bc1cde1..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Base_viewToolboxGadget/admin_toolbox.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>delegated_list</string> </key>
-            <value>
-              <list>
-                <string>css_class</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>admin_toolbox</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>field_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>target</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>field_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>target</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>adminToolbox hidden_label</string> </value>
-                </item>
-                <item>
-                    <key> <string>field_id</string> </key>
-                    <value> <string>admin_toolbox</string> </value>
-                </item>
-                <item>
-                    <key> <string>form_id</string> </key>
-                    <value> <string>WebSection_viewKMWidgetFieldLibrary</string> </value>
-                </item>
-                <item>
-                    <key> <string>target</string> </key>
-                    <value> <string>Click to edit the target</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Category_getCodificationPath.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Category_getCodificationPath.xml
deleted file mode 100644
index 8d1cc2c422..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Category_getCodificationPath.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>path = []\n
-while context.getPortalType() != \'Base Category\':\n
-  path.append(context.getReference() or context.getId())\n
-  context = context.getParentValue()\n
-path.reverse()\n
-return \'-\'.join(path)\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>path</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Category_getCodificationPath</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewDownloadWidget.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewDownloadWidget.xml
deleted file mode 100644
index 0d561bc071..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewDownloadWidget.xml
+++ /dev/null
@@ -1,187 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-"""\n
-  This script creates a button with links to PDF or printable\n
-  formats of the current page.\n
-\n
-  TODO:\n
-    - support more portal types\n
-    - produce PDF from HTML\n
-    - add a button to make a page printage (this is another widget)\n
-    - make sure everything is well translated (ex. Format word)\n
-"""\n
-\n
-request = context.REQUEST\n
-portal_path = request.get(\'current_web_site_url\', context.getPortalObject().absolute_url())\n
-object_url = context.absolute_url()\n
-title = context.getShortTitle()\n
-if not title:\n
-  title = context.getReference()\n
-\n
-# Select the download format\n
-portal_type = context.getPortalType()\n
-if portal_type == \'Web Page\':\n
-  format = \'text\'\n
-elif portal_type == \'Presentation\':\n
-  format = \'pdf\'\n
-elif portal_type in (\'Text\', \'Presentation\', \'Spreadsheet\', \'Drawing\', \'PDF Document\'):\n
-  format = \'pdf\'\n
-else:\n
-  format = None\n
-\n
-if not format or not context.hasConversion(format=format):\n
-  converted_size_html = \'\'\n
-else:\n
-  converted_size = context.getConversionSize(format=format)\n
-  if converted_size < 1024:\n
-    converted_size_html = \'%sB - \' % converted_size\n
-  elif converted_size < 1048576:\n
-    converted_size_html = \'%.1fKB - \' % (converted_size / 1024.0)\n
-  else:\n
-    converted_size_html = \'%.1fMB - \' % (converted_size / 1048576.0)\n
-\n
-if format is None:\n
-  return \'\'\n
-\n
-# Produce the HTML snippet\n
-download_html = """<a href="%s?format=%s"><img src="%s/km_img/download_%s.png" alt="%s icon"/></a>\n
-                      <p>\n
-                        <a href="%s?format=%s">%s</a><br/>%s%s Format\n
-                      </p>\n
-                 """ % (object_url, format, portal_path, format, format, object_url, format, title, \n
-                                 converted_size_html, format.upper())\n
-\n
-return download_html\n
-
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>request</string>
-                            <string>portal_path</string>
-                            <string>object_url</string>
-                            <string>title</string>
-                            <string>portal_type</string>
-                            <string>format</string>
-                            <string>None</string>
-                            <string>converted_size_html</string>
-                            <string>converted_size</string>
-                            <string>download_html</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Document_viewDownloadWidget</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewHistoryGadget.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewHistoryGadget.xml
deleted file mode 100644
index 7374998ad4..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewHistoryGadget.xml
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>edit_order</string> </key>
-            <value>
-              <list/>
-            </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>gadget</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>gadget</string> </key>
-                    <value>
-                      <list>
-                        <string>document_history</string>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Document_viewHistoryGadget</string> </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string>Document_viewHistoryGadget</string> </value>
-        </item>
-        <item>
-            <key> <string>pt</string> </key>
-            <value> <string>gadget_view</string> </value>
-        </item>
-        <item>
-            <key> <string>row_length</string> </key>
-            <value> <int>4</int> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Document History</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>update_action</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewHistoryGadget/document_history.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewHistoryGadget/document_history.xml
deleted file mode 100644
index ee2af2bcde..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Document_viewHistoryGadget/document_history.xml
+++ /dev/null
@@ -1,96 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>delegated_list</string> </key>
-            <value>
-              <list>
-                <string>css_class</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>document_history</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>field_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>target</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>field_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>target</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hidden_label history-gadget</string> </value>
-                </item>
-                <item>
-                    <key> <string>field_id</string> </key>
-                    <value> <string>document_history</string> </value>
-                </item>
-                <item>
-                    <key> <string>form_id</string> </key>
-                    <value> <string>WebSection_viewKMWidgetFieldLibrary</string> </value>
-                </item>
-                <item>
-                    <key> <string>target</string> </key>
-                    <value> <string>Click to edit the target</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Site_getQuickSearchableTypeList.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Site_getQuickSearchableTypeList.xml
deleted file mode 100644
index 0d1f5f7329..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Site_getQuickSearchableTypeList.xml
+++ /dev/null
@@ -1,122 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>type_list = (\'Government\',)\n
-return type_list\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>type_list</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ERP5Site_getQuickSearchableTypeList</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Site_getSearchableDocumentTypeList.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Site_getSearchableDocumentTypeList.xml
deleted file mode 100644
index 974a138803..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Site_getSearchableDocumentTypeList.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>"""\n
-  This method returns the list of searchable types\n
-  from a document management point of view.\n
-\n
-  The result is translated and cached.\n
-\n
-  NOTE: some hardcoded values need to be moved\n
-  to preferences\n
-"""\n
-def getSearchableTypeList(language):\n
-  type_list = list(context.getPortalDocumentTypeList())\n
-  # We add here hardcoded types\n
-  types_tools = context.portal_types\n
-  type_ids = types_tools.objectIds()\n
-  if \'Query\' in type_ids:\n
-    type_list.append(\'Query\')\n
-  if \'Project\' in type_ids:\n
-    type_list.append(\'Project\')\n
-  if \'Conference\' in type_ids:\n
-    type_list.append(\'Conference\')\n
-  type_list.sort()\n
-  return type_list\n
-\n
-from Products.ERP5Type.Cache import CachingMethod\n
-language = context.Localizer.get_selected_language()\n
-method = CachingMethod(getSearchableTypeList, (\'WebSite_getSearchableTypeList\'))\n
-\n
-return method(language)\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>getSearchableTypeList</string>
-                            <string>Products.ERP5Type.Cache</string>
-                            <string>CachingMethod</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>language</string>
-                            <string>method</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ERP5Site_getSearchableDocumentTypeList</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Type_cloneRoleInformation.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Type_cloneRoleInformation.xml
deleted file mode 100644
index 0a00fb8666..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ERP5Type_cloneRoleInformation.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>"""\n
-  A quite generic script to clone security settings amont portal types.\n
-  from_type - a portal type id\n
-  to_type_list - a list of target types\n
-  Uses external method\n
-"""\n
-\n
-print \'cloning role information from\'\n
-print from_type\n
-if to_type_list == ():\n
-  to_type_list = (to_type,)\n
-print context.cloneRoleInformation(context.portal_types, from_type, to_type_list)\n
-return printed\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>from_type, to_type_list=(), to_type=None</string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>3</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>from_type</string>
-                            <string>to_type_list</string>
-                            <string>to_type</string>
-                            <string>_print_</string>
-                            <string>_print</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <tuple>
-                <tuple/>
-                <none/>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ERP5Type_cloneRoleInformation</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/EventAnnouncement_view.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/EventAnnouncement_view.xml
deleted file mode 100644
index 7bc2c21817..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/EventAnnouncement_view.xml
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>left</string>
-                <string>right</string>
-                <string>center</string>
-                <string>bottom</string>
-                <string>hidden</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>bottom</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>center</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>left</string> </key>
-                    <value>
-                      <list>
-                        <string>my_title</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>right</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>EventAnnouncement_view</string> </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string>EventAnnouncement_view</string> </value>
-        </item>
-        <item>
-            <key> <string>row_length</string> </key>
-            <value> <int>4</int> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Event Announcement</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/EventAnnouncement_view/my_title.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/EventAnnouncement_view/my_title.xml
deleted file mode 100644
index 6b82ce9ff2..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/EventAnnouncement_view/my_title.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>my_title</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Title</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/NewsRelease_view.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/NewsRelease_view.xml
deleted file mode 100644
index b00746f9fd..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/NewsRelease_view.xml
+++ /dev/null
@@ -1,133 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>left</string>
-                <string>right</string>
-                <string>center</string>
-                <string>bottom</string>
-                <string>hidden</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>bottom</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>center</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>left</string> </key>
-                    <value>
-                      <list>
-                        <string>my_title</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>right</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>NewsRelease_view</string> </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string>NewsRelease_view</string> </value>
-        </item>
-        <item>
-            <key> <string>row_length</string> </key>
-            <value> <int>4</int> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>News Release</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/NewsRelease_view/my_title.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/NewsRelease_view/my_title.xml
deleted file mode 100644
index 6b82ce9ff2..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/NewsRelease_view/my_title.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>my_title</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Title</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/PersonModule_createNewPerson.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/PersonModule_createNewPerson.xml
deleted file mode 100644
index 3dda7079fa..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/PersonModule_createNewPerson.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>"""\n
-  Create new Person object and redirect to it.\n
-"""\n
-\n
-person = context.person_module.newContent(portal_type = \'Person\')\n
-keep_items = dict(editable_mode=1,\n
-                  portal_status_message=context.Base_translateString("New Person Created"))\n
-return person.Base_redirect(\'view\', keep_items)\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>person</string>
-                            <string>dict</string>
-                            <string>keep_items</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>PersonModule_createNewPerson</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Person_getParentUrl.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Person_getParentUrl.xml
deleted file mode 100644
index 214edbea08..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Person_getParentUrl.xml
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>return brain.getParentValue().absolute_url()\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>brain=None, selection=None,selection_name=None</string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>3</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>brain</string>
-                            <string>selection</string>
-                            <string>selection_name</string>
-                            <string>_getattr_</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <tuple>
-                <none/>
-                <none/>
-                <none/>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Person_getParentUrl</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Person_redirectToLatestContentList.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Person_redirectToLatestContentList.xml
deleted file mode 100644
index 06bdc0b5e4..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/Person_redirectToLatestContentList.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>context.getWebSiteValue().search_area.Base_redirect(form_id=\'ERP5Site_viewSearchResult\', \n
-                keep_items=dict(reset=1, portal_type=list(context.getPortalDocumentTypeList()),\n
-                                owner=context.getReference()))\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>dict</string>
-                            <string>list</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Person_redirectToLatestContentList</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ProjectModule_createNewProject.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ProjectModule_createNewProject.xml
deleted file mode 100644
index 7b7be9eaaa..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/ProjectModule_createNewProject.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>"""\n
-  Create new Project object and redirect to it.\n
-"""\n
-\n
-project = context.project_module.newContent(portal_type = \'Project\')\n
-keep_items = dict(editable_mode=1,\n
-                  portal_status_message=context.Base_translateString("New Project Created"))\n
-return project.Base_redirect(\'view\', keep_items)\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>project</string>
-                            <string>dict</string>
-                            <string>keep_items</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ProjectModule_createNewProject</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/TaskModule_createNewTask.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/TaskModule_createNewTask.xml
deleted file mode 100644
index 7c6d5b9608..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/TaskModule_createNewTask.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>"""\n
-  Create new Task object and redirect to it.\n
-"""\n
-\n
-task = context.task_module.newContent(portal_type = \'Task\')\n
-keep_items = dict(editable_mode=1,\n
-                  portal_status_message=context.Base_translateString("New Task Created"))\n
-return task.Base_redirect(\'view\', keep_items)\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>task</string>
-                            <string>dict</string>
-                            <string>keep_items</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>TaskModule_createNewTask</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_getMatchedDocumentValueList.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_getMatchedDocumentValueList.xml
deleted file mode 100644
index 0c1d5a5bae..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_getMatchedDocumentValueList.xml
+++ /dev/null
@@ -1,151 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>"""\n
- This script returns a list of document values (ie. objects or brains)\n
- which are considered as part of this section. It can be\n
- a list of web pages (usual case), a list of products\n
- (online catalog), a list of tenders (e-government), etc.\n
-\n
- The difference between the default one(WebSection_getDocumentValueList)\n
- and this script is to allow to list up multiple documents of the same\n
- reference in the result. This is useful for the situations like km.\n
-"""\n
-portal_catalog = container.portal_catalog\n
-\n
-# First find the Web Section or Web Site we belong to\n
-current_section = context.getWebSectionValue()\n
-\n
-# Build the list of parameters\n
-if not kw.has_key(\'validation_state\'):\n
-  kw[\'validation_state\'] = [\'draft\', \'submitted\', \'shared\',\n
-                            \'released\', \'published\', \'restricted\']\n
-if not kw.has_key(\'sort_on\'):\n
-  kw[\'sort_on\'] = [(\'int_index\', \'descending\')]\n
-\n
-# Return the list of matching documents for the given states\n
-return current_section.searchResults(**kw)\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>**kw</string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>kw</string>
-                            <string>_getattr_</string>
-                            <string>container</string>
-                            <string>portal_catalog</string>
-                            <string>context</string>
-                            <string>current_section</string>
-                            <string>_write_</string>
-                            <string>_apply_</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSection_getMatchedDocumentValueList</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_hasPersonModuleViewPermission.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_hasPersonModuleViewPermission.xml
deleted file mode 100644
index 70f1288972..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_hasPersonModuleViewPermission.xml
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>"""\n
-  This script is used by widgets which require access to \n
-  the person module. Anonymous users are usually not\n
-  allowed to list persons. To prevent raising \n
-  exceptions, we use this script as a precondition.\n
-"""\n
-return context.getPortalObject().restrictedTraverse(\'person_module\', None) is not None\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>_proxy_roles</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>None</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSection_hasPersonModuleViewPermission</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionGadget.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionGadget.xml
deleted file mode 100644
index bb39d19123..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionGadget.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>edit_order</string> </key>
-            <value>
-              <list/>
-            </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>gadget</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>gadget</string> </key>
-                    <value>
-                      <list>
-                        <string>subsection_list</string>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSection_viewSubsectionGadget</string> </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string>Document_viewHistoryGadget</string> </value>
-        </item>
-        <item>
-            <key> <string>pt</string> </key>
-            <value> <string>gadget_view</string> </value>
-        </item>
-        <item>
-            <key> <string>row_length</string> </key>
-            <value> <int>4</int> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>deprecated</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>update_action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>update_action_title</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionGadget/subsection_list.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionGadget/subsection_list.xml
deleted file mode 100644
index 5bc4535d9c..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionGadget/subsection_list.xml
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ProxyField" module="Products.ERP5Form.ProxyField"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>delegated_list</string> </key>
-            <value>
-              <list>
-                <string>css_class</string>
-                <string>enabled</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>subsection_list</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>field_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>target</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>field_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>form_id</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>target</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hidden_label gadget-subsection</string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>field_id</string> </key>
-                    <value> <string>subsection_list</string> </value>
-                </item>
-                <item>
-                    <key> <string>form_id</string> </key>
-                    <value> <string>WebSection_viewKMWidgetFieldLibrary</string> </value>
-                </item>
-                <item>
-                    <key> <string>target</string> </key>
-                    <value> <string>Click to edit the target</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionListRenderer.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionListRenderer.xml
deleted file mode 100644
index 415903b12f..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSection_viewSubsectionListRenderer.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-<tal:block replace="nothing">\n
-  <!--\n
-  This widget displays the list of Sections contained in the current context.\n
-  -->\n
-</tal:block>\n
-\n
-<tal:block tal:define="section_list python:here.contentValues(portal_type=\'Web Section\',\n
-                                                          checked_permission=\'View\')">\n
-  <ul>\n
-    <li tal:repeat="section section_list">\n
-      <a tal:attributes="href python: section.absolute_url()"\n
-         tal:content="python: section.getProperty(\'translated_short_title\', None)\n
-                              or section.getTranslatedTitleOrId()"/>\n
-    </li>\n
-  </ul>\n
-\n
-  <div tal:condition="python: len(section_list)==0">\n
-    <p i18n:domain="erp5_ui" i18n:translate=""> No subsections found. </p>\n
-  </div>\n
-\n
-</tal:block>\n
-
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSection_viewSubsectionListRenderer</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>deprecated</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_getLatestContentValueList.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_getLatestContentValueList.xml
deleted file mode 100644
index bc0570d8a8..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_getLatestContentValueList.xml
+++ /dev/null
@@ -1,142 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>"""\n
-  Returns the list of recently added content, up to a certain limit.\n
-\n
-  Parameters:\n
-    limit -- same behaviour as in portal_catalog\n
-\n
-  NOTE: the implementation could be much fancier, e.g.\n
-  show docs that were recently added based on a given\n
-  sorting order (ex. effective_date rather than \n
-  modification_date or creation_date).\n
-"""\n
-kw.setdefault(\'portal_type\', context.getPortalRecentDocumentTypeList())\n
-kw.setdefault(\'sort_on\', [(\'creation_date\', \'descending\')])\n
-kw.setdefault(\'validation_state\', \'!=cancelled\')\n
-return context.portal_catalog(**kw)\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>**kw</string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>kw</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>_apply_</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSite_getLatestContentValueList</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm.xml
deleted file mode 100644
index 730eb3249c..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm.xml
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>description</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>edit_order</string> </key>
-            <value>
-              <list/>
-            </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>left</string>
-                <string>right</string>
-                <string>center</string>
-                <string>bottom</string>
-                <string>hidden</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>bottom</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>center</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>left</string> </key>
-                    <value>
-                      <list>
-                        <string>ac_login</string>
-                        <string>ac_password</string>
-                        <string>came_from</string>
-                        <string>login_message</string>
-                        <string>login</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>right</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSite_loginForm</string> </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string>WebSite_loginForm</string> </value>
-        </item>
-        <item>
-            <key> <string>pt</string> </key>
-            <value> <string>gadget_view</string> </value>
-        </item>
-        <item>
-            <key> <string>row_length</string> </key>
-            <value> <int>4</int> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Login</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>update_action</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/ac_login.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/ac_login.xml
deleted file mode 100644
index 4c1e27040b..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/ac_login.xml
+++ /dev/null
@@ -1,291 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="EditorField" module="Products.ERP5Form.EditorField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ac_login</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>line_too_long</string> </key>
-                    <value> <string>A line was too long.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>You entered too many characters.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_many_lines</string> </key>
-                    <value> <string>You entered too many lines.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string encoding="cdata"><![CDATA[
-
-<input name="__ac_name" id="__ac_name" value="" type="text" size="20" />
-
-]]></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <int>5</int> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>text_editor</string> </key>
-                    <value> <string>text_area</string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Email</string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <int>40</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/ac_password.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/ac_password.xml
deleted file mode 100644
index e666863271..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/ac_password.xml
+++ /dev/null
@@ -1,295 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="EditorField" module="Products.ERP5Form.EditorField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ac_password</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>line_too_long</string> </key>
-                    <value> <string>A line was too long.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>You entered too many characters.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_many_lines</string> </key>
-                    <value> <string>You entered too many lines.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string encoding="cdata"><![CDATA[
-
-<input name="__ac_password" id="password"   value="" type="password" size="20"\n
-onkeypress="submitFormOnEnter(event,\n
-\'main_form\',\n
-\'WebSite_login\');"\n
-/>
-
-]]></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <int>5</int> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>text_editor</string> </key>
-                    <value> <string>text_area</string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Password</string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <int>40</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/came_from.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/came_from.xml
deleted file mode 100644
index 7865a2def7..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/came_from.xml
+++ /dev/null
@@ -1,281 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>came_from</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hidden_label</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Hidden Came From</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>request/came_from | nothing</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/login.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/login.xml
deleted file mode 100644
index 77638ea4ff..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/login.xml
+++ /dev/null
@@ -1,291 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="EditorField" module="Products.ERP5Form.EditorField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>login</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>line_too_long</string> </key>
-                    <value> <string>A line was too long.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>You entered too many characters.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_many_lines</string> </key>
-                    <value> <string>You entered too many lines.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hidden_label</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string encoding="cdata"><![CDATA[
-
-<input type="submit" value="Login" name="WebSite_login:method" src="" class="hiddenLabel"/>
-
-]]></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>height</string> </key>
-                    <value> <int>5</int> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_linelength</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>text_editor</string> </key>
-                    <value> <string>text_area</string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Login</string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>width</string> </key>
-                    <value> <int>40</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/login_message.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/login_message.xml
deleted file mode 100644
index 8f1d880679..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_loginForm/login_message.xml
+++ /dev/null
@@ -1,281 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="StringField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>login_message</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string>hiddenLabel</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>20</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Login Message</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <global name="TALESMethod" module="Products.Formulator.TALESField"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string>python: here.Base_translateString("Existing users please log in by entering your username and password in the two fields above.")</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_postQueryWithType.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_postQueryWithType.xml
deleted file mode 100644
index 47560a2a4b..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_postQueryWithType.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>"""\n
-  Intermediate script for Base_postQuery, for handling queries submitted\n
-  from KM SearchRenderer form (Query tab).\n
-  Associates query to appropriate module of the given portal type.\n
-"""\n
-translateString = context.Base_translateString\n
-if query_portal_type == \'all\':\n
-  query_portal_type = \'Web Site\'\n
-module = context.getPortalObject().getDefaultModule(query_portal_type)\n
-\n
-query = module.Base_newQuery(description=query_description)\n
-query_id = query.getId()\n
-\n
-return context.Base_redirect(form_id,\n
-              keep_items = dict(portal_status_message = translateString("A Query about the current ${portal_type} was posted with ID ${query_id}.", mapping = dict(query_id=query_id, portal_type=query_portal_type)),\n
-                                cancel_url = cancel_url))\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>dialog_id=None,form_id=None,query_description=None,cancel_url=\'\', query_portal_type=\'\'</string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>5</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>dialog_id</string>
-                            <string>form_id</string>
-                            <string>query_description</string>
-                            <string>cancel_url</string>
-                            <string>query_portal_type</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>translateString</string>
-                            <string>module</string>
-                            <string>query</string>
-                            <string>query_id</string>
-                            <string>dict</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <tuple>
-                <none/>
-                <none/>
-                <none/>
-                <string></string>
-                <string></string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSite_postQueryWithType</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_redirectToLogInOrSCALE.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_redirectToLogInOrSCALE.xml
deleted file mode 100644
index 2d5c360693..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_redirectToLogInOrSCALE.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>if context.portal_membership.isAnonymousUser():\n
-  return context.login_form()\n
-return context.WebSite_viewAsSCALE()\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>0</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSite_redirectToLogInOrSCALE</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_searchResultList.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_searchResultList.xml
deleted file mode 100644
index 59523db90b..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_searchResultList.xml
+++ /dev/null
@@ -1,127 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string>Base_edit</string> </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>section_top</string>
-                <string>section_bottom</string>
-                <string>hidden</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>section_bottom</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>section_top</string> </key>
-                    <value>
-                      <list>
-                        <string>listbox</string>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSite_searchResultList</string> </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string>WebSection_view</string> </value>
-        </item>
-        <item>
-            <key> <string>pt</string> </key>
-            <value> <string>form_view</string> </value>
-        </item>
-        <item>
-            <key> <string>row_length</string> </key>
-            <value> <int>4</int> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Web Section</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>update_action</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_searchResultList/listbox.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_searchResultList/listbox.xml
deleted file mode 100644
index 0cc1263cbd..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_searchResultList/listbox.xml
+++ /dev/null
@@ -1,522 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>listbox</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>all_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>count_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_params</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>global_attributes</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_action</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>meta_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>page_template</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>portal_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>select</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>selection_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>url_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>all_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>count_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_params</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>global_attributes</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_action</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>meta_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>page_template</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>portal_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>select</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>selection_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>url_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>all_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value>
-                      <list>
-                        <tuple>
-                          <string>title_or_id</string>
-                          <string>Title</string>
-                        </tuple>
-                        <tuple>
-                          <string>description</string>
-                          <string>Description</string>
-                        </tuple>
-                        <tuple>
-                          <string>portal_type</string>
-                          <string>Type</string>
-                        </tuple>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>count_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_params</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string>Search results</string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_root_list</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>domain_tree</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>global_attributes</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>lines</string> </key>
-                    <value> <int>30</int> </value>
-                </item>
-                <item>
-                    <key> <string>list_action</string> </key>
-                    <value> <string>Base_viewSearchResultList</string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>meta_types</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>page_template</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>portal_types</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>report_root_list</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>report_tree</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>search</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>search_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>select</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>selection_name</string> </key>
-                    <value> <string>search_selection</string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>sort_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>stat_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>stat_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Search Results</string> </value>
-                </item>
-                <item>
-                    <key> <string>url_columns</string> </key>
-                    <value>
-                      <list>
-                        <tuple>
-                          <string>title_or_id</string>
-                          <string>WebSite_getDocumentUrl</string>
-                        </tuple>
-                        <tuple>
-                          <string>description</string>
-                          <string>WebSite_getDocumentUrl</string>
-                        </tuple>
-                        <tuple>
-                          <string>portal_type</string>
-                          <string>WebSite_getDocumentUrl</string>
-                        </tuple>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.MethodField</string>
-          <string>Method</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>method_name</string> </key>
-            <value> <string>portal_catalog</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewAdvertisingBoxRenderer.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewAdvertisingBoxRenderer.xml
deleted file mode 100644
index 10e6e2b6ad..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewAdvertisingBoxRenderer.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string encoding="base64">Cg==</string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSite_viewAdvertisingBoxRenderer</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>WebSite Advertising Box</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList.xml
deleted file mode 100644
index afa260f794..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ERP5Form" module="Products.ERP5Form.Form"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary/>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_objects</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string>Base_edit</string> </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>left</string>
-                <string>bottom</string>
-                <string>hidden</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>bottom</string> </key>
-                    <value>
-                      <list>
-                        <string>listbox</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value>
-                      <list>
-                        <string>listbox_creation_date</string>
-                        <string>listbox_modification_date</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>left</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSite_viewLatestContentList</string> </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string>WebSection_viewContentList</string> </value>
-        </item>
-        <item>
-            <key> <string>pt</string> </key>
-            <value> <string>form_list</string> </value>
-        </item>
-        <item>
-            <key> <string>row_length</string> </key>
-            <value> <int>4</int> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Web Section</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>update_action</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox.xml
deleted file mode 100644
index 23219484ed..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox.xml
+++ /dev/null
@@ -1,553 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ListBox" module="Products.ERP5Form.ListBox"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>listbox</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>all_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>all_editable_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>count_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_params</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>global_attributes</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_action</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>meta_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>portal_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>select</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>selection_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>url_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>all_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>all_editable_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>count_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_params</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>global_attributes</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>lines</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_action</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>meta_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>portal_types</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_root_list</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>report_tree</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>search_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>select</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>selection_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>sort_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>stat_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>url_columns</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>all_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>all_editable_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>columns</string> </key>
-                    <value>
-                      <list>
-                        <tuple>
-                          <string>reference</string>
-                          <string>Reference</string>
-                        </tuple>
-                        <tuple>
-                          <string>short_title</string>
-                          <string>Short Title</string>
-                        </tuple>
-                        <tuple>
-                          <string>translated_validation_state_title</string>
-                          <string>Validation State</string>
-                        </tuple>
-                        <tuple>
-                          <string>translated_portal_type</string>
-                          <string>Type</string>
-                        </tuple>
-                        <tuple>
-                          <string>creation_date</string>
-                          <string>Creation Date</string>
-                        </tuple>
-                        <tuple>
-                          <string>modification_date</string>
-                          <string>Modification Date</string>
-                        </tuple>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>count_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_params</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>domain_root_list</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>domain_tree</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable_columns</string> </key>
-                    <value>
-                      <list>
-                        <tuple>
-                          <string>creation_date</string>
-                          <string>Creation Date</string>
-                        </tuple>
-                        <tuple>
-                          <string>modification_date</string>
-                          <string>Modification Date</string>
-                        </tuple>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>global_attributes</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>lines</string> </key>
-                    <value> <int>15</int> </value>
-                </item>
-                <item>
-                    <key> <string>list_action</string> </key>
-                    <value> <string>list</string> </value>
-                </item>
-                <item>
-                    <key> <string>list_method</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>meta_types</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>page_template</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>portal_types</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>report_root_list</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>report_tree</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>search</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>search_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>select</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>selection_name</string> </key>
-                    <value> <string>web_view_latest_content_selection</string> </value>
-                </item>
-                <item>
-                    <key> <string>sort</string> </key>
-                    <value>
-                      <list>
-                        <tuple>
-                          <string>creation_date</string>
-                          <string>descending</string>
-                        </tuple>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>sort_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>stat_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>stat_method</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Recently added documents</string> </value>
-                </item>
-                <item>
-                    <key> <string>url_columns</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.MethodField</string>
-          <string>Method</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>method_name</string> </key>
-            <value> <string>WebSite_getLatestContentValueList</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox_creation_date.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox_creation_date.xml
deleted file mode 100644
index 7b6c1ef38f..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox_creation_date.xml
+++ /dev/null
@@ -1,2010 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="DateTimeField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>listbox_creation_date</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>datetime_out_of_range</string> </key>
-                    <value> <string>The date and time you entered were out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_datetime</string> </key>
-                    <value> <string>You did not enter a valid date and time.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>sub_form</string> </key>
-            <value>
-              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string>/</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string>ymd</string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string>text</string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string>:</string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Creation Date</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.Form</string>
-          <string>BasicForm</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>fields</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>ampm</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>day</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hour</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>minute</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>month</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>year</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>Default</string>
-                <string>date</string>
-                <string>time</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>Default</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>date</string> </key>
-                    <value>
-                      <list>
-                        <string>year</string>
-                        <string>month</string>
-                        <string>day</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time</string> </key>
-                    <value>
-                      <list>
-                        <string>hour</string>
-                        <string>minute</string>
-                        <string>ampm</string>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>ISO-8859-1</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Basic Form</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>StringField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ampm</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>am/pm</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>day</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Day</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="5" aka="AAAAAAAAAAU=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>hour</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Hour</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="6" aka="AAAAAAAAAAY=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>minute</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Minute</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="7" aka="AAAAAAAAAAc=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>month</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Month</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="8" aka="AAAAAAAAAAg=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>year</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Year</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox_modification_date.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox_modification_date.xml
deleted file mode 100644
index 55d696b766..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewLatestContentList/listbox_modification_date.xml
+++ /dev/null
@@ -1,2010 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="DateTimeField" module="Products.Formulator.StandardFields"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>listbox_modification_date</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>datetime_out_of_range</string> </key>
-                    <value> <string>The date and time you entered were out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_datetime</string> </key>
-                    <value> <string>You did not enter a valid date and time.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>sub_form</string> </key>
-            <value>
-              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>allow_empty_time</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>ampm_time_style</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>date_only</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>date_separator</string> </key>
-                    <value> <string>/</string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>default_now</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>hidden_day_is_last_day</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>hide_day</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>input_order</string> </key>
-                    <value> <string>ymd</string> </value>
-                </item>
-                <item>
-                    <key> <string>input_style</string> </key>
-                    <value> <string>text</string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start_datetime</string> </key>
-                    <value>
-                      <none/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time_separator</string> </key>
-                    <value> <string>:</string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Creation Date</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="2" aka="AAAAAAAAAAI=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.Form</string>
-          <string>BasicForm</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>action</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>encoding</string> </key>
-            <value> <string>UTF-8</string> </value>
-        </item>
-        <item>
-            <key> <string>enctype</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>fields</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>ampm</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>day</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAQ=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>hour</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAU=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>minute</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAY=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>month</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAc=</string> </persistent>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>year</string> </key>
-                    <value>
-                      <persistent> <string encoding="base64">AAAAAAAAAAg=</string> </persistent>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>group_list</string> </key>
-            <value>
-              <list>
-                <string>Default</string>
-                <string>date</string>
-                <string>time</string>
-              </list>
-            </value>
-        </item>
-        <item>
-            <key> <string>groups</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>Default</string> </key>
-                    <value>
-                      <list/>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>date</string> </key>
-                    <value>
-                      <list>
-                        <string>year</string>
-                        <string>month</string>
-                        <string>day</string>
-                      </list>
-                    </value>
-                </item>
-                <item>
-                    <key> <string>time</string> </key>
-                    <value>
-                      <list>
-                        <string>hour</string>
-                        <string>minute</string>
-                        <string>ampm</string>
-                      </list>
-                    </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>method</string> </key>
-            <value> <string>POST</string> </value>
-        </item>
-        <item>
-            <key> <string>name</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>stored_encoding</string> </key>
-            <value> <string>ISO-8859-1</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Basic Form</string> </value>
-        </item>
-        <item>
-            <key> <string>unicode_mode</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="3" aka="AAAAAAAAAAM=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>StringField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>ampm</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-                <item>
-                    <key> <string>too_long</string> </key>
-                    <value> <string>Too much input was given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>max_length</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>am/pm</string> </value>
-                </item>
-                <item>
-                    <key> <string>truncate</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>unicode</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="4" aka="AAAAAAAAAAQ=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>day</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Day</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="5" aka="AAAAAAAAAAU=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>hour</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Hour</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="6" aka="AAAAAAAAAAY=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>minute</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Minute</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="7" aka="AAAAAAAAAAc=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>month</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>2</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Month</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-  <record id="8" aka="AAAAAAAAAAg=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.Formulator.StandardFields</string>
-          <string>IntegerField</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>year</string> </value>
-        </item>
-        <item>
-            <key> <string>message_values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>external_validator_failed</string> </key>
-                    <value> <string>The input failed the external validator.</string> </value>
-                </item>
-                <item>
-                    <key> <string>integer_out_of_range</string> </key>
-                    <value> <string>The integer you entered was out of range.</string> </value>
-                </item>
-                <item>
-                    <key> <string>not_integer</string> </key>
-                    <value> <string>You did not enter an integer.</string> </value>
-                </item>
-                <item>
-                    <key> <string>required_not_found</string> </key>
-                    <value> <string>Input is required but no input given.</string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>overrides</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>tales</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <string></string> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-        <item>
-            <key> <string>values</string> </key>
-            <value>
-              <dictionary>
-                <item>
-                    <key> <string>alternate_name</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>css_class</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>default</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>description</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>display_maxwidth</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>display_width</string> </key>
-                    <value> <int>4</int> </value>
-                </item>
-                <item>
-                    <key> <string>editable</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>enabled</string> </key>
-                    <value> <int>1</int> </value>
-                </item>
-                <item>
-                    <key> <string>end</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>external_validator</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>extra</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>hidden</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>required</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-                <item>
-                    <key> <string>start</string> </key>
-                    <value> <string></string> </value>
-                </item>
-                <item>
-                    <key> <string>title</string> </key>
-                    <value> <string>Year</string> </value>
-                </item>
-                <item>
-                    <key> <string>whitespace_preserve</string> </key>
-                    <value> <int>0</int> </value>
-                </item>
-              </dictionary>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewListBoxSearchButtonWidget.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewListBoxSearchButtonWidget.xml
deleted file mode 100644
index 7be4201d3b..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewListBoxSearchButtonWidget.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Cacheable__manager_id</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-<tal:block replace="nothing">\n
-  <!--\n
-  This widget displays buttons for listbox in search mode.\n
- \n
-  -->\n
-</tal:block>\n
-\n
-<tal:block tal:define="search_text here/Base_getSearchText">\n
-  <input type="text"\n
-         name="field_your_search_text_listbox"\n
-         onkeypress="submitFormOnEnter(event, \'main_form\', \'WebSite_viewQuickSearchResultList\', false, this)"\n
-         tal:attributes="value search_text"/>\n
- \n
-  <input type="submit" \n
-         value="Search" \n
-         name="WebSite_viewQuickSearchResultList:method" \n
-         class=""/>\n
-</tal:block>\n
-
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSite_viewListBoxSearchButtonWidget</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewQuickSearchResultList.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewQuickSearchResultList.xml
deleted file mode 100644
index 4956873b19..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewQuickSearchResultList.xml
+++ /dev/null
@@ -1,138 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string>"""\n
-  This script is used in litsbox for additional filtering of show found listbox results.\n
-"""\n
-\n
-return context.ERP5Site_viewQuickSearchResultList(field_your_search_text=field_your_search_text_listbox,\n
-                                                  field_your_search_portal_type=field_your_search_portal_type,\n
-                                                  all_languages=all_languages,\n
-                                                  list_style=list_style,\n
-                                                  field_your_search_form_id=field_your_search_form_id)\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>field_your_search_text_listbox=\'\',field_your_search_portal_type=\'\', all_languages=None, list_style=None, field_your_search_form_id=\'ERP5Site_viewSearchResult\'</string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>5</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>field_your_search_text_listbox</string>
-                            <string>field_your_search_portal_type</string>
-                            <string>all_languages</string>
-                            <string>list_style</string>
-                            <string>field_your_search_form_id</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <tuple>
-                <string></string>
-                <string></string>
-                <none/>
-                <none/>
-                <string>ERP5Site_viewSearchResult</string>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSite_viewQuickSearchResultList</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewSearchTips.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewSearchTips.xml
deleted file mode 100644
index b2faf3608c..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewSearchTips.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-<html>\n
-  <head>\n
-    <title tal:content="template/title">Search Tips</title>\n
-  </head>\n
-  <body>\n
-    <p style="font-size:14px;"> Please enter the term you want to search for in the <b>search-box</b>. You can then select a so called <b>filter</b> from the drop-down box to limit \n
-        the search to specific kinds of documents. Click the <b>search button</b> to actually start the search.\n
-    </p>\n
-    <p style="font-size:14px;"> Example: You want to search for all books that contain the term "demain".</p>\n
-      <ul style="font-size:12px; list-style-type: decimal;">\n
-        <li>Enter "demain" in the search box</li> \n
-        <li>select "Book" from the filter drop-down box</li>\n
-        <li>click on the search button</li>\n
-      </ul>\n
-    <img src="search_tips.png" alt="Search Tips" />\n
-    <p style="font-size:14px;"> You can go to "Home" for searching or you can use the search bar on the top-right of each page. \n
-      There is also the possibility to use "advance search" for more complex searches.\n
-    </p>\n
-  </body>\n
-</html>
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSite_viewSearchTips</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Search Tips</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewSubscribeRenderer.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewSubscribeRenderer.xml
deleted file mode 100644
index 58280470fb..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/WebSite_viewSubscribeRenderer.xml
+++ /dev/null
@@ -1,108 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-<p class="articlelink">Learn about new ERP5 releases,technical articles, events and more.</p>\n
-<p class="articlelink">Subscribe to the monthly ERP5 Newsletter!</p>\n
-\n
-<table border="0" \n
-       cellspacing="0" \n
-       cellpadding="0"\n
-       width="88%" \n
-       bgcolor="#DAE6EA"\n
-       align="center"        \n
-       tal:define="website here/getWebSiteValue;\n
-                   website_url website/absolute_url;">\n
-  <tr>\n
-    <td><img src="km_img/blank.gif" height="5" width="1"\n
-              tal:attributes="src python:\'%s/km_img/blank.gif\' % website_url"/></td>\n
-  </tr>\n
-  <tr>\n
-    <td align="center">\n
-      <input type="text" \n
-             size="25"\n
-             name="email" \n
-             class="input_field"/>\n
-      <input name="mailman_language" type="HIDDEN" value="en"/>\n
-      <input name="digest" type="HIDDEN" value="0"/>\n
-    </td>\n
-  </tr>\n
-  <tr>\n
-    <td><img src="km_img/blank.gif" height="5" width="1"\n
-              tal:attributes="src python:\'%s/km_img/blank.gif\' % website_url"/></td>\n
-  </tr>\n
-  <tr>\n
-    <td align="center">\n
-      <input name="WebSite_subscribeToInfoMailingList:method" \n
-             value="Subscribe"\n
-             type="image" \n
-             src="km_img/subscribe.gif"\n
-             border="0"\n
-              tal:attributes="src python:\'%s/km_img/subscribe.gif\' % website_url"/>\n
-    </td>\n
-  </tr>\n
-  <tr>\n
-    <td><img src="km_img/blank.gif" height="5" width="1"\n
-              tal:attributes="src python:\'%s/km_img/blank.gif\' % website_url"/></td>\n
-  </tr>\n
-</table>
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>WebSite_viewSubscribeRenderer</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>WebSite Subscribe</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/admin_toolbox.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/admin_toolbox.xml
deleted file mode 100644
index 59bcb9179c..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/admin_toolbox.xml
+++ /dev/null
@@ -1,248 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-<!-- Floating Panel -->\n
-\n
-<!-- header_definitions must be re-called and is_web_mode redefined because calling\n
-     the current page template through editor_field in the form layout seems to reset\n
-     the context needed by action drop-down list.\n
-\n
-     TODO: Is this case should be handle by automatically by erp5_xhtml_style ?\n
-           More translation is required.\n
--->\n
-\n
-<tal:block\n
-  tal:define="is_web_mode  python: True;\n
-              actions      request/actions | python:\n
-                           here.Base_filterDuplicateActions(\n
-                             here.portal_actions.listFilteredActionsFor(here));\n
-              dummy        python:request.set(\'actions\', actions);\n
-              portal_type  here/getPortalType">\n
-\n
-  <!-- XXX is this really useful - called how many times ?? - tried to removed but failed -->\n
-  <!-- <tal:block metal:use-macro="here/global_definitions/macros/header_definitions"/> -->\n
-\n
-\n
-  <!-- Edit button menu -->\n
-  <div class="inner section">\n
-    <h3 i18n:translate="" i18n:domain="ui">Edit</h3>\n
-    <tal:block tal:define="edit_link_list python: here.Base_getAdminToolboxEditShortcutList()">\n
-      <tal:block tal:repeat="link edit_link_list">\n
-        <a tal:attributes="href python: link[\'url\']" class=\'bt-edit\'>\n
-<strong>\n
-          <img tal:attributes="src   python: link[\'icon\'];\n
-                               title python: link[\'label\'];\n
-                               alt   python: \'%s Icon\' % link[\'label\'];"/>\n
-          <tal:block tal:replace="python: link[\'title\']"/>\n
-</strong>\n
-\n
-\n
-        </a>\n
-      </tal:block>\n
-    </tal:block>\n
-  </div>\n
-\n
-  <!-- A pop-up menu with all actions which can be applied to\n
-       the current object and which have no button equivalent\n
-\n
-       We need to setup the actions variable from the request because\n
-       this template is called from outside the main rendering process\n
-\n
-       XXX - the location of context_box_render is hardcoded.\n
-  -->\n
-  <div class="inner section">\n
-    <h3><tal:block tal:content="portal_type"/> Actions</h3>\n
-    <tal:block metal:use-macro="here/portal_skins/erp5_xhtml_style/context_box_render/macros/action"/>\n
-  </div>\n
-\n
-  <!-- Document creation panel.\n
-  \n
-       This part is displayed for any document apart Web Site and Web Section.\n
-       But if Web Site and Web Section have a default page, then it will be displayed anyway\n
-       in order to let the user clone the default page.\n
-\n
-       XXX - This is not so good to create new content in a section\n
-             Behaviour should be to create content in section / site\n
-  -->\n
-  <div class="inner section"\n
-       tal:condition="python: here.isDocument">\n
-      <h3>\n
-        <span id="create_new_document_title"></span>\n
-        <span id="clone_document_title">\n
-          <tal:block \n
-            tal:replace="python: \'Clone %s\' % portal_type"/>\n
-        </span>\n
-      </h3>\n
-\n
-      <fieldset>\n
-\n
-        <div class="field">\n
-          <label i18n:translate="" i18n:domain="ui">Title</label>\n
-          <div class="input">\n
-            <input class="input" size="12" \n
-                    type="text" name="clone_title"\n
-                    tal:attributes="value here/getTitle | nothing"/>\n
-          </div>\n
-        </div>\n
-\n
-        <div class="field">\n
-          <label i18n:translate="" i18n:domain="ui">Reference</label>\n
-          <div class="input">\n
-            <input class="input" size="12" \n
-                    type="text" name="clone_reference"\n
-                    tal:attributes="value here/getReference | nothing"/>\n
-          </div>\n
-        </div>\n
-\n
-        <div class="field">\n
-          <label i18n:translate="" i18n:domain="ui">Version</label>\n
-          <div class="input">\n
-            <input class="input" size="5" \n
-                    type="text" name="clone_version"\n
-                    tal:attributes="value here/getVersion | nothing"/>\n
-          </div>\n
-        </div>\n
-\n
-        <div class="field">\n
-          <label i18n:translate="" i18n:domain="ui">Language</label>\n
-          <div class="input">\n
-            <input class="input" size="5"  \n
-                    type="text" name="clone_language"\n
-                    tal:attributes="value here/getLanguage | nothing"/>\n
-          </div>\n
-        </div>\n
-\n
-        <div class="field">\n
-          <label i18n:translate="" i18n:domain="ui">Portal type</label>\n
-          <div class="input">\n
-            <select class="input" name="clone_portal_type" \n
-                    size="1" onchange="setCreationMode(this)">\n
-              <option value="None" selected="selected">&mdash; Same as Current &mdash;</option>\n
-              <option tal:repeat="portal_type python: here.getPortalWebDocumentTypeList()"\n
-                      tal:content="portal_type"\n
-                      tal:attributes="value portal_type"\n
-                      i18n:translate="" i18n:domain="ui">portal_type</option>\n
-            </select>\n
-          </div>\n
-        </div>\n
-\n
-        <br />\n
-        <div class="clone-button">\n
-          <div class="input">\n
-            <button id="bt-clone" class="bt-med"\n
-                    title=\'Clone &amp; Edit\'\n
-                    name="Base_cloneContent:method">\n
-              <span id="duplicate_document_action">Clone &amp; Edit</span>\n
-            </button>\n
-          </div>\n
-        </div>\n
-\n
-      </fieldset>\n
-\n
-      <script type="text/javascript">\n
-      <!--\n
-        // preload action icons\n
-        if (document.images) {\n
-          clone_icon = new Image();\n
-          new_icon   = new Image();\n
-          clone_icon.src = "admin_toolbox_clone_document.png";\n
-          new_icon.src   = "admin_toolbox_new_document.png";\n
-        }\n
-\n
-        function setCreationMode (sel) {\n
-          // default is cloning\n
-          var action      = \'clone\';\n
-          var action_name = \'Clone &amp; Edit\';\n
-          var icon        = \'admin_toolbox_clone_document.png\';\n
-          var name        = \'Base_cloneContent:method\';\n
-          var clone_display = \'inline\';\n
-          var new_title   = \'\';\n
-\n
-          // a portal type is given, so create a new document\n
-          var portal_type = sel.options[sel.selectedIndex].value;\n
-          if (portal_type != \'None\') {\n
-            action      = \'new\'\n
-            action_name = \'Create New &amp; Edit\';\n
-            icon        = \'admin_toolbox_new_document.png\';\n
-            name        = \'Base_newContent:method\';\n
-            clone_display = \'none\';\n
-            new_title   = \'Create New Document\';\n
-          }\n
-\n
-          // update action dependent values\n
-          document.getElementById(\'create_new_document_title\').innerHTML = new_title;\n
-          document.getElementById(\'clone_document_title\'     ).style.display = clone_display;\n
-          document.getElementById(\'duplicate_document_action\').innerHTML = action_name;\n
-\n
-          // replace the action icon\n
-          document.getElementById(\'clone_action_icon\').src = eval(action + "_icon.src");\n
-\n
-          // update action button alt & title\n
-          var button   = document.getElementById(\'clone_action_button\');\n
-          button.alt   = action_name;\n
-          button.title = action_name;\n
-          button.name  = name;\n
-        }\n
-      -->\n
-      </script>\n
-  </div>\n
-</tal:block>\n
-
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>admin_toolbox</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Deprecated</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/cloneRoleInformation.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/cloneRoleInformation.xml
deleted file mode 100644
index e15f67414c..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/cloneRoleInformation.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ExternalMethod" module="Products.ExternalMethod.ExternalMethod"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_function</string> </key>
-            <value> <string>cloneSecurity</string> </value>
-        </item>
-        <item>
-            <key> <string>_module</string> </key>
-            <value> <string>SecurityCloner</string> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>cloneRoleInformation</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Ext. method to clone role information among portal types</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_km_common.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_km_common.css.xml
deleted file mode 100644
index a0f13491e1..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_km_common.css.xml
+++ /dev/null
@@ -1,139 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>http_cache</string> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-/****************************************************************/\n
-/*   TODO: XXX-JPS                                              */\n
-/*     - missing docstring                                      */\n
-/*     - add dynamic properties                                 */\n
-/****************************************************************/\n
-\n
-<tal:block define="dummy python: request.RESPONSE.setHeader(\'Content-Type\', \'text/css;; charset=utf-8\')"/>\n
-\n
-\n
-/* Generic styles used in all ERP5 KM Styles */\n
-\n
-.doNotDisplay, /* for compatibility only */\n
-.do_not_display  {\n
-  display: none\n
-}\n
-\n
-.hiddenLabel label, /* for compatibility only */\n
-.hidden_label label { \n
-  display: none !important\n
-}\n
-\n
-fieldset.hidden_fieldset {\n
-  display: none;\n
-}\n
-\n
-input#hidden_button {\n
-  width: 0;\n
-  height: 0;\n
-  display: inline;\n
-  border-width: 0;\n
-  float: left;\n
-}\n
-\n
-/* Save button styling */\n
-div.actions button {\n
-  float: right;\n
-  z-index: 300;\n
-  top: -.5em;\n
-  right: 0;\n
-}\n
-\n
-/* Search Popup window */\n
-div.search_popup {\n
-  background-color: #FFFFFF;\n
-  border: 1px solid black;\n
-  display: none;\n
-  left: 500px;\n
-  padding: 10px;\n
-  position: fixed;\n
-  top: 130px;\n
-  width: 150px;\n
-  z-index: 100;\n
-}\n
-\n
-/* Search Bar */\n
-div.searchBar{\n
-  margin-bottom: 2em;\n
-  text-align: center;\n
-}\n
-\n
-div.extendedSearchBar{\n
-  margin-top: 1em;\n
-  padding: 0.2em;\n
-  text-align: center;\n
-}\n
-\n
-div.searchBar input, div.extendedSearchBar input {\n
-  width: auto;\n
-}\n
-\n
-
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>erp5_km_common.css</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string>Common CSS Declarations - to refactor or merge</string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_knowledge_box.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_knowledge_box.css.xml
deleted file mode 100644
index 2c0a779418..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_knowledge_box.css.xml
+++ /dev/null
@@ -1,584 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="File" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>http_cache</string> </value>
-        </item>
-        <item>
-            <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts73067255.88</string> </value>
-        </item>
-        <item>
-            <key> <string>__name__</string> </key>
-            <value> <string>erp5_knowledge_box.css</string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/css</string> </value>
-        </item>
-        <item>
-            <key> <string>data</string> </key>
-            <value> <string>/****************************************************************/\n
-/*   TODO: XXX-JPS                                              */\n
-/*     - missing docstring                                      */\n
-/*     - add dynamic properties                                 */\n
-/****************************************************************/\n
-\n
-#page_wrapper {\n
-  text-align: left;\n
-  margin: 0em;\n
-  padding: 0em;\n
-  padding-top: 0em;\n
-  background-color: inherit; \n
-  min-height: 500px;\n
-  width: 100%;\n
-  float:left;\n
-  margin-top: 0.5em;\n
-\n
-}\n
-\n
-/* Columns */\n
-.portal-column {\n
-  float: left;\n
-  width: 100%; \n
-  min-height: 200px;\n
-}\n
-\n
-#table_column_layout{\n
-  width: 100%;\n
-  table-layout: fixed;\n
-}\n
-\n
-#table_column_layout td{\n
-  width: 33%;\n
-  vertical-align: top;\n
-}\n
-\n
-/* Boxes */\n
-.block {\n
-  padding: 0px;\n
-  width: 100%;\n
-}\n
-\n
-h3.handle {\n
-  margin: 0;\n
-  padding: 0 0 0 10px;\n
-  font-size: 14px;\n
-  color: #fff;\n
-  background: transparent url(images/tab_left_selected.png) no-repeat scroll left top;\n
-}\n
-\n
-h3.handle span.handle {\n
-  display: block;\n
-  min-height:20px;\n
-  padding: 5px 5px 0 0;\n
-  background: transparent url(images/tab_right_selected.png) no-repeat scroll right top;\n
-}\n
-\n
-.block h3 span.gadget_title{\n
-  min-width: 100px;\n
-}\n
-\n
-\n
-/* Minimize, Edit, Remove images */\n
-.clickable_image{\n
-  cursor: pointer; \n
-  margin-top: 5px!important;\n
-  display: block;\n
-  float: left;\n
-}\n
-\n
-.clickable-block{\n
-  display: block;\n
-  float: right;\n
-  width: 11px;\n
-  height: 11px;\n
-  cursor: pointer;\n
-  padding: 0em;\n
-  margin: 0;\n
-}\n
-\n
-a.block-refresh,\n
-a.block-minimize,\n
-a.block-remove,\n
-a.block-edit-form{\n
-\n
-\tbackground: url(../km_img/window.png) no-repeat transparent;\n
-\n
-}\n
-\n
-.block-hover {\n
-  border: 2px dashed #f00;\n
-}\n
-\n
-.handle {\n
-  cursor: move;\n
-}\n
-\n
-/* In edit form disable border */\n
-div.edit-form fieldset{\n
-  border: 0px solid black;\n
-}\n
-\n
-div.edit-form button{\n
-  margin-top: 0.5em;\n
-}\n
-\n
-.edit-form {\n
-  padding-top: 0.5em; \n
-  padding-left: 1em;\n
-  padding-bottom: 0.5em;\n
-  border: solid black;\n
-  border-width: 0 1px 1px 1px;\n
-  background-color: #BDD0F0;\n
-  overflow: auto;\n
-}\n
-\n
-/* Tabs for Knowledge Pads */ \n
-#navigation_table {\n
-  width: 100%;\n
-  border-collapse:collapse;\n
-  margin:0em;\n
-  border:medium none;\n
-}\n
-\n
-#navigation_table tr{\n
-  border:medium none!important;\n
-}\n
-\n
-#navigation_table td{\n
-  margin: 0em!important;\n
-  padding: 0em!important;\n
-  border:medium none!important;\n
-}\n
-\n
-/* without this declaration IE will hide draggable elements!*/\n
-.content .field{\n
-  position: static;\n
-  clear:both;\n
-}\n
-\n
-/* Dialogs */\n
-.toggable_dialog{\n
-  display: none;\n
-  left: 400px;\n
-  position: absolute;\n
-  top: 75px;\n
-  z-index: 10000;\n
-  border: 5px solid #BDD0F0;\n
-  background-color: #97B0D1;\n
-  padding: 0em 1em 0.5em 1em;\n
-}\n
-\n
-#add_new_tab_dialog_link{\n
-  cursor: pointer; \n
-  font-weight: bold;\n
-  background: transparent;\n
-  display: block;\n
-  float: left;\n
-  font-weight: bold;\n
-  line-height: 22px;\n
-  padding-left: 10px;\n
-  margin-left: 5px;\n
-  border-style: none;\n
-}\n
-\n
-#add_new_gadget_link{\n
-  font-weight: bold;\n
-  height: 20px;\n
-  padding-top:15px;\n
-  border-bottom:1px solid #3D6474;\n
-  float:right;\n
-  width:auto;\n
-}\n
-\n
-\n
-/* Draggable Area */\n
-.wait_block {\n
-  text-align: center;\n
-  padding: 2em;\n
-}\n
-\n
-.box_inner_content {\n
-  background-color:#FFFFFF;\n
-  padding: 0.1em;\n
-  clear:left;\n
-  overflow: visible;\n
-}\n
-\n
-.box_inner_content ol{\n
-  margin-top: 0em;\n
-}\n
-\n
-/* seperate gadget tables from rest of ERP5*/\n
-div.block div.content{\n
-  padding: 0px;\n
-}\n
-\n
-div.block table {\n
-  margin: 0em!important;\n
-  border:none!important;\n
-}\n
-\n
-div.block table tr, div.block table tr td{\n
-  border: none!important;\n
-}\n
-\n
-/* lisbox style should be square for gadgets */\n
-div.block ul{\n
-  list-style-type: square;\n
-}\n
-\n
-\n
-/* When we show listbox in gagets we need to override some CSS*/\n
-div.block table.listbox{\n
-  width:100%!important;\n
-  border:medium none!important;\n
-  margin:0em!important;\n
-}\n
-.box_inner_content .input,\n
-.box_inner_content .search.result .resultList{\n
-  width:100%!important;\n
-  margin:0em!important;\n
-  padding:0em!important;\n
-}\n
-\n
-.box_inner_content .search.result .extendedSearchBar{\n
-  display:none;\n
-}\n
-\n
-div.block table.listbox .right{\n
-  float:right;\n
-}\n
-\n
-div.block table.listbox .left{\n
-  float:left;\n
-}\n
-\n
-div.block table.listbox tr, div.block table.listbox td{\n
-  border:medium none!important;\n
-}\n
-\n
-div.block table.listbox span.left{\n
-  /* display: none; */ /* do not hide listbox elements in gadgets */\n
-}\n
-\n
-div.block table.listbox caption{\n
-  width:100%;\n
-  text-align:left;\n
-  font-weight: bold;\n
-}\n
-\n
-div.block table.listbox thead{\n
-  /* display: none; */ /* do not hide listbox elements in gadgets */\n
-}\n
-\n
-div.block table.listbox thead tr th{\n
-  background-color:#eee;\n
-  color:blue;\n
-  font-weight: normal;\n
-  font-variant:normal;\n
-}\n
-\n
-div.block div.input{\n
-  margin-left:0em!important;\n
-}\n
-\n
-div.rss-link div.input{\n
-  text-align:right;\n
-}\n
-\n
-div#add-stick-gadget-tool-section{\n
-  margin-bottom: 1.4em;\n
-}\n
-\n
-div.block table.listbox span.left button{\n
-  background-color:inherit;\n
-  border:None;\n
-  float:left;\n
-}\n
-\n
-div.block div.searchResultHeader span.left button{\n
-  background-color:inherit;\n
-  border:None;\n
-  float:left;\n
-}\n
-\n
-/* labels in forms inserted into a gadget should be visible\n
-  indedepndantly from fact that master form may use hiddenLabel */\n
-div.block div.hidden_label label, div.block div.hiddenLabel label{\n
-  display: none!important;\n
-}\n
-\n
-/* ListBoxes in Gadgets */\n
-div.block  div.ListSummary{\n
-  background: none;\n
-  padding-left: 0px;\n
-}\n
-\n
-div.block  div.ListSummary table{\n
-  padding-left: 0px;\n
-  padding-right: 0px;\n
-}\n
-\n
-div.block  div.ListSummary td{\n
-  vertical-align: top!important;\n
-  width: auto!important;\n
-}\n
-\n
-/* some css for the list style listbox */\n
-\n
-div.block div.list_style a{\n
-  cursor:pointer;\n
-}\n
-\n
-div.block div.list_style .title{\n
-  font-weight: bold;\n
-  text-decoration:underline;\n
-  color:black;\n
-  vertical-align:bottom;\n
-}\n
-\n
-\n
-div.block div.list_style div.content{\n
-  background-color:white;\n
-  border:none;\n
-  margin-bottom:5px;\n
-  padding-bottom:1px;\n
-  overflow:auto;\n
-}\n
-\n
-div.block div.list_style div.content div#others_links{\n
-  margin-top:7px;\n
-  margin-bottom:7px;\n
-}\n
-\n
-div.block div.list_style div.read span{\n
-  color:#969696;\n
-}\n
-div.block div.list_style div span.transparent{\n
-  color:#C0C0C0;\n
-}\n
-\n
-div.block div.list_style .left{\n
-  float:left;\n
-  margin-right: 2%;\n
-}\n
-\n
-div.block div.list_style .right{\n
-  float:right;\n
-  margin-left:5px;\n
-}\n
-\n
-div.block div.list_style p.clear{\n
-  clear:both;\n
-  height:0pt;\n
-  margin:0pt;\n
-  padding:0pt;\n
-}\n
-\n
-div.block div.content div.list_style ul{\n
-  margin-top:5px;\n
-  margin-left:7px;\n
-  margin-bottom:13px;\n
-  padding:0px;\n
-}\n
-\n
-div.block div.content div.list_style ul li{\n
-  list-style-image:url(bullet.png);\n
-  margin-bottom:5px;\n
-}\n
-\n
-div.block div.list_style ul li#with_img{\n
-  list-style-type:None;\n
-  list-style-image:None;\n
-  margin-bottom:5px;\n
-}\n
-\n
-div.block div.list_style ul li div#title_img{\n
-  margin-left:90px;\n
-  cursor:pointer;\n
-  width: auto;\n
-}\n
-\n
-div.block div.list_style ul li div#title{\n
-  cursor:pointer;\n
-}\n
-\n
-.pageNavigation button{\n
-  display: inline;\n
-  border:0 none;\n
-  background-color:inherit;\n
-  vertical-align:middle;\n
-  cursor:pointer;\n
-}\n
-\n
-.pageNavigation button.listbox_first_page .image,\n
-.pageNavigation button.listbox_previous_page .image,\n
-.pageNavigation button.listbox_next_page .image,\n
-.pageNavigation button.listbox_last_page .image{\n
-  width:22px;\n
-  height:22px;\n
-  display:block;\n
-  background-color:transparent;\n
-}\n
-\n
-.pageNavigation button.listbox_first_page .image{\n
-  background-image: url(\'images/2leftarrowv.png\');\n
-}\n
-\n
-.pageNavigation button.listbox_previous_page .image{\n
-  background-image: url(\'images/1leftarrowv.png\');\n
-}\n
-\n
-.pageNavigation button.listbox_next_page .image{\n
-  background-image: url(\'images/1rightarrowv.png\');\n
-}\n
-\n
-.pageNavigation button.listbox_last_page .image{\n
-  background-image: url(\'images/2rightarrowv.png\');\n
-}\n
-\n
-div.block div.list_style input {\n
-  margin-left:15px;\n
-  margin-top:5px;\n
-}\n
-\n
-/* some css for the worklist gadget */\n
-\n
-div.block .right{\n
-  float:right;\n
-  margin-left:5px;\n
-}\n
-\n
-div.block div.box_inner_content div.worklist_list ul {\n
-  list-style-image:url(bullet.png);\n
-  margin:0;\n
-  padding-bottom:0.5em;\n
-  padding-left: 0.5em;\n
-  padding-top:0.5em;\n
-\n
-}\n
-\n
-div.block div.worklist_list ul li{\n
-  overflow: visible;\n
-  margin-bottom:5px;\n
-  background-color:white;\n
-}\n
-\n
-div.block div.worklist_list a{\n
-  color:black;\n
-  text-decoration:none;\n
-  cursor:pointer;\n
-}\n
-\n
-div.block div.worklist_list ul li table.listbox caption{\n
-  display:none;\n
-}\n
-\n
-div.block div.worklist_list ul li table.listbox thead td,div.block div.worklist_list ul li table.listbox thead tr th{\n
-  background-color:white;\n
-  border:none;\n
-}\n
-\n
-div.block div.worklist_list ul li a:hover{\n
-  text-decoration:none;\n
-}\n
-\n
-/* Gadget Browser */\n
-div.gadget-website-browser {\n
-  margin-top: 0.5em;\n
-}\n
-div.gadget-website-browser ul {\n
-  margin: 0em;\n
-  padding: 0em;\n
-}\n
-\n
-div.gadget-website-browser li {\n
-  padding-left: 0em;\n
-}\n
-\n
-div.gadget-website-browser ul.first_level, ul.second_level{\n
-  list-style-type: none!important;\n
-}\n
-\n
-div.gadget-website-browser ul.first_level {\n
-  padding-bottom: 0.5em;\n
-}\n
-div.gadget-website-browser .section-link{\n
-  font-size: 115%;\n
-}\n
-\n
-div.gadget-website-browser ul.second_level{\n
-  padding-left: 0.7em;\n
-}\n
-\n
-div.gadget-website-browser ul.third_level{\n
-  padding-left: 1.4em;\n
-}\n
-\n
-div.gadget-website-browser a, a:link, a:active, a:visited {\n
-  font-weight: normal;\n
-  color: inherit;\n
-}\n
-div.gadget-website-browser .empty-list-node{\n
-   list-style-type: square;\n
-   margin-left: 1.4em;\n
-}\n
-\n
-/* Gadget SubSection */\n
-div.gadget-subsection {\n
-  margin-top: 0.5em;\n
-}\n
-div.gadget-subsection ul{\n
-  list-style-position:  outside!important;\n
-  list-style-type:square!important;\n
-  margin: 0.5em;\n
-  margin-top: 0em;\n
-  padding: 0.5em;\n
-}\n
-\n
-/* Hide title in gadget list mode as it usually duplicates gadget title */\n
-fieldset.gadget div.list_style a.title{\n
-  display: none;\n
-}\n
-\n
-/* Decrease padding for gadgets\' text */\n
-fieldset.gadget div.text{\n
-  padding: 3px!important;\n
-}\n
-\n
-/* Gadget My Documents */\n
-div.gadget-my-documents{\n
-}\n
-\n
-/* Gadget Latest Documents */\n
-div.gadget-latest-documents{\n
-}\n
-</string> </value>
-        </item>
-        <item>
-            <key> <string>precondition</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>size</string> </key>
-            <value> <int>9788</int> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_knowledge_box_web.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_knowledge_box_web.css.xml
deleted file mode 100644
index 3eb3c6b108..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/erp5_knowledge_box_web.css.xml
+++ /dev/null
@@ -1,182 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="File" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>http_cache</string> </value>
-        </item>
-        <item>
-            <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts61823247.07</string> </value>
-        </item>
-        <item>
-            <key> <string>__name__</string> </key>
-            <value> <string>erp5_knowledge_box_web.css</string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/css</string> </value>
-        </item>
-        <item>
-            <key> <string>data</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-/****************************************************************/\n
-/*   TODO: XXX-JPS                                              */\n
-/*     - missing docstring                                      */\n
-/*     - add dynamic properties                                 */\n
-/****************************************************************/\n
-\n
-/* CSS Web layout (one column) for Gadgets */\n
-\n
-#page_wrapper {\n
-  background: transparent;\n
-  padding: 0em;\n
-  min-height: 200px;\n
-}\n
-\n
-.portal-column {\n
-  width: 100%;\n
-  min-height: 100px;\n
-  margin-right: 1%;\n
-}\n
-\n
-#portal-column-2{\n
- margin-right: 0px;\n
-}\n
-\n
-.block {\n
-  margin-bottom: 10px;\n
-}\n
-\n
-.block li {\n
-  margin-left: 0.5em;\n
-  /*list-style-type:none;*/\n
-}\n
-\n
-.block h3 span.gadget_title{\n
-  background: none;\n
-  border-top: none;\n
-}\n
-\n
-\n
-.box_inner_content {\n
- border:1px solid #c0bfb3;\n
- border-top: none;\n
- overflow: auto;\n
-}\n
-\n
-.edit-form {\n
-  border: none;\n
-  background-color: #ECECEC;\n
-  border-left: 1px solid #C0BFB3;\n
-  border-right: 1px solid #C0BFB3;\n
-  width: auto;\n
-}\n
-\n
-\n
-h3.handle {\n
-  margin: 0;\n
-  padding: 0 0 0 10px;\n
-  color: #776D61;\n
-  font-size: 10pt;\n
-  background: none;\n
-  background-color: #ECECEC;\n
-}\n
-\n
-h3.handle span.handle {\n
-  display: block;\n
-  min-height:20px;\n
-  padding: 5px 5px 0 0;\n
-  background: none;\n
-}\n
-\n
-\n
-#add_new_gadget_link {\n
-  border-bottom: none;\n
-}\n
-\n
-#page_wrapper .content{\n
-  border: none;\n
-}\n
-\n
-.toggable_dialog {\n
-  left:200px;\n
-  top: 100px;\n
-  width: 200px;\n
-}\n
-\n
-.toggable_dialog button{\n
-  padding: 0em;\n
-  float:left;\n
-}\n
-\n
-.toggable_dialog h3{\n
-  margin-bottom: 1em;\n
-}\n
-\n
-.wait_block p{\n
-  text-align: center!important;\n
-}\n
-\n
-#add_new_tab_diloag_link{\n
-  margin-left: 0.5em !important;\n
-}\n
-\n
-/* disable cursor for anonymous users */\n
-.portal-column-undraggable .handle{\n
-  cursor: default!important;\n
-}\n
-\n
-/* admin toolbox gadget fix */\n
-div.block div.adminToolbox li{\n
-  list-style-type:none;\n
-}\n
-\n
-/* h3 tags containing spans get affected by gadget box title */\n
-div.block div.adminToolbox h3 span{\n
-  display:inline !important;\n
-  float:none !important;\n
-}\n
-\n
-/* add space between fieldsets for gadgtes */\n
-div.block fieldset label{\n
-  text-align: left!important;\n
-  display: block!important;\n
-}\n
-\n
-.gadget .adminToolbox > label{\n
-  display:none !important;\n
-}\n
-\n
-.gadget .adminToolbox .inner label{\n
-  color: #9D968D !important;\n
-}\n
-
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>precondition</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>size</string> </key>
-            <value> <int>2225</int> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/feed-dummy.jpg.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/feed-dummy.jpg.xml
deleted file mode 100644
index 99b58026cf..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/feed-dummy.jpg.xml
+++ /dev/null
@@ -1,247 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>http_cache</string> </value>
-        </item>
-        <item>
-            <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts48773119.57</string> </value>
-        </item>
-        <item>
-            <key> <string>__name__</string> </key>
-            <value> <string>feed-dummy.jpg</string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>image/jpeg</string> </value>
-        </item>
-        <item>
-            <key> <string>data</string> </key>
-            <value> <string encoding="base64">/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAZAAA/+4AJkFkb2JlAGTAAAAAAQMA
-FQQDBgoNAAAIaAAAFVIAAB2pAAAqyv/bAIQAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB
-AQEBAQEBAQEBAQEBAQICAgICAgICAgICAwMDAwMDAwMDAwEBAQEBAQECAQECAgIBAgIDAwMDAwMD
-AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMD/8IAEQgATwBpAwERAAIR
-AQMRAf/EAQAAAAICAwEBAQEAAAAAAAAAAAcIBgkCBAUKAAEDAQACAwEBAQAAAAAAAAAAAAAFBgID
-BAABBxAAAQMDAwMCBgIDAAAAAAAAAwECBAAFBhESByETCBAUIDEiIxUWMiQwFxgRAAEDAgQEAwMG
-CQgLAAAAAAECAwQRBQAhEgYxIhMUQVEyYRUHcYGhQiMkIJHRUjM01JUWEPDB4XKTlDZigpLS40Q1
-RdWWNxIAAQMCBAQDBwMFAQAAAAAAAAERAiExEBIiA0FRYTIgEyMw8HGBoUJikdEzscHhQwQ0EwEA
-AgIBAwMFAQEBAAAAAAABESEAMUFRYXHwgZEQobHB0fHhIP/aAAwDAQACEQMRAAABpvDl2hXSxqEk
-WRJjKYXZaEOjzDvPo9+y7HzsZeYx7Ho/d4xaN9BPAAn24yYEgMY44GoVZV11Kd1sttFWdlddU6uT
-ZHHzzHo/d4fUd5YMAbksfC7bneH64Pr7WF30YeXSeeWtZbelLOqFIzGD4fsZBKuPV2nFRb2RXjMu
-yW9Suu1X7opA9B3nYGZFAjWAGGmzSYbeZlyBax5ZNAUll1DyD9EZNcOEIdb16+f36sMC+PCsnzl1
-J9+JJnAS6y4TNFFMqalayRuUA/vweURUc3MSGcxjbpBntekngHJsZV2wQvfWi/P0U0dt65MaZMEL
-12A7MLcX1+LPREugyUwCFm/+enZBswAP68o2vDSLfCyaljjqUsgc6M6GyGe7FcYnlps8UzYvdmjS
-dVkuXxO61aMXFI1RiN1TcyVQjIF4e4HYBGm4KXLJj21OBHm2+9X2a9PexFtsOcX7Np5/vLedEKsV
-GcMgFOlEztKEmIhI/k22QKB3z/nte5l2S8aY7489ISgMPa4fm0Jlj386WTfhLT73dvnsWU/zE7P/
-2gAIAQEAAQUCxbE2ZFVuwvjG2rHu+K21tls9v5qxbNMHyPAbzWlba0+KwL2Vb9Kt1RcIYaWoLzae
-TrVkdmJj1/4n4HufIBG+JGInicleMud4IsuJIhG+C1kTcLV1IiqmFS2wspZaRRbzm3Ho8i8h8dsl
-ixqJPyK324V48obbZ8h5lwmxcqWSfb59sk/NZ9nu1qrRKgKm2EncCxlA3DLcJDZUnLXew5FbyLJM
-KfkpbiBvDeL3EHHYcGdXMPF2P8m4la8YwLHGZlaLFlNf8ycZVAXdVn+5EGPoNux9qY6XjHK0k4MF
-g55bJiWK0ZlmSXCychYbK4+5EtoVmZ9NgBLewXOY3vT8a/LSax9/9vHmr2RBRaDb5L645yG24zae
-Z8845k8d8RcYizOVPvdpwzFbyLIsjgyfHXmVkyN4884hbbMIyq/QrRhGQ/sH6Jdqhy3QpIs7uoWW
-nKMjuT7HNQIcnx/9ys8zxo5cgg40wBcHdBTFsVDc+aMNseQ3nyGWxXzG/IS3ySTuXYNsZiHJ0XMZ
-n7DHpbLd0qDZ73rAiZK2ocPNnLxFYspstZLdYxEvBIWOpzPmRMHsRbpJkOKZ5V4Qy/j6zliROFuT
-7LlnH2VYVa/z+WUTnzDWOZ5AYm1zfIKIUtw8gz2wQebcgjR8S5WtoW2XLr7kV2yOfc8pu47RaNlm
-wzjW4xbTjnG2Ow75xxxtndqdnnI2O2r/AGLitNCSkjEWo4JLXXFbgWRf5xpeGx47CMtUKZDu77eA
-C+21d7FaJGMiQWXEUm4ju5ZeybX/2gAIAQIAAQUCkzQxafd306bMJUWYdiDI16f4ZTtV+VdNYaby
-nGaE8T0ezvN3fcpFdSL8MhKX51HXaY0fuiG/YAbWMok1rKdcDqWLNQy9F9NFrrR0pfRF0WARHgkN
-2GIXSmuQis0VgGiUjSbWsOi0x3TcKiJRK1rWrMncjzhf2pATI+LGe9xY7Ro1HCeNXqRNNRqiJsqU
-3Vha6Uq6VEmdlWGLJkHLtV5SI0TzI7bupYw6aNd0hHI3Q1EYhGrAFUwIRNfUCQwJ0kjVJElr3oRj
-KWc9HQTGcqFRacNlGVUfvrelF0chILFVbcNaFGYFSkHqVURARmmc2KNlMY1lOZ106divax6SSOvd
-spZlLPM9R9/uoLtkOLtBjvQAvcupZb0VJO6mrqhz7G6vrXoqpRNKY1mokXur0U6teNX72o5dNaSv
-rpyvRNw6/9oACAEDAAEFAhRTGptsWmQANqVHa2lRW+vT44+jG+knXao9zXN2qgHIzeKl2LSpp8I1
-9S/w9wwgnD3HMr30yI51BsPcBJhuCnWta3NWtKbSL0p3Vph9Aaa9htadulmHZR3E2vZucaOrUK1E
-f92mv6Nd03VrRJLBqwrUQbxkSSYYmilsM4qatIjEaXqhU3M3pQF6tWtU9DD3U5u0YmqiMChXvYLb
-3Vavuyauejmx0aq/Ypr1arZL6C9760ozPoVrtBBeiKMpFba3vHPgtGx4dKa4mgk+js1sWh6sVh0p
-JKakf3aAElBY56kloGnXQpFKchqa5K12q2Qmvu2UkdabFWmwUodoa6ixo7UMJFaJ/dLMid83451f
-j69kRtFZsdGjMI7s+jfm3TX61aRqMr+aAQgyKNGK5E12po1KegVobQoulf/aAAgBAgIGPwJpOqnp
-bblVSB6snM8PZPh0E217VM0V0iS5oZLzw1ewqR+I90YZborGb7sKR0jWHTx5hF+xhdvmpQ1FP5Mc
-p0LJ4e6riQ4mXgPKxmso6pQd9LlxOuD2NNhio0FIqvAyrEy90V4ciMJ/+eVnKWKJUVFEV2RzuMo6
-qaXfDMzjsx+IsofMlHbhm2+YrxZCg6ueW+jq53YM7D51L/1/YzKwizlXlzG+7l78jJFfTjf4lDSU
-GNXaxdP1LKURSxl2o6DVWa/oOry3ZKIn+1S2p6ljgMXFgncx3FMOo7oUsxFu7MPuI3xNUWKIakKF
-HNR/g//aAAgBAwIGPwJ4I0SskOamig0/ZMmLlRjPIsppd/E6W8C5kaWGXhh5qTRytWGX2H5D9MKH
-lx7TVYoZylzuUTwZVQzpZzNxwys1Dmh1w6vgxXCuCoaZUM1YbyfUWe1/Ol2HVZOOtUHJUc7SgzGp
-MLsKl8GnfgJOUljMrKvMuMiIZrT6N/c7ZfTCqFsGRxV2o/NeAsrw4r+3xE3pRr9qdBHVkHktCpmi
-fk52qdxcuPOx5S0ToJtbWn/mRKnl7cfRT69TRL00LnF/foWMqoZuJxxqNqyCqquripOm01RoV2/e
-4+ZFXC5RTWx6Kp8i5//aAAgBAQEGPwJ92VfbbYokdSEKdmJkyZLylgn7nDitqW9oAzqpIGAq5SN2
-bqdCf0UdMPbdvUrzUpXfzlIr5FBxHTtz4abNta2BUTbmw9umetXg4XL2p9pCwPJOL9tnd6rXCudm
-dgyto36Ba4FukWldyLzKo5RDbjolW2RIbSlxlWRFKEKShSXrHuSAqJJQVmNITVUK4xwqglQJFKPt
-KFMslIrRQB/l8fw22Rygoz9qvHAGda4B4g43BZYr6osm77cnpguhVOlcbS7Hu8Jwf6QVGP48fwH8
-TbaDdW0K91XNI0vdZtBpIiSaBTT+kfIoZGoxebG8vqKtVylQg6ci62yshl0jwLrNDhh+e+q3299t
-T7QRQvuNigQpdUkNtOH56YQxLcYZdbj9JEqE08h3XT9K6C8lLqknzwZtvZO6bCVqrPtTDzsuEmpK
-TcbehDj6GvNxvWgeNMLjymlMvNmikKFD8o/BYX7E/SKYCq5gCpxn9GLDIcSOmbnHjvV4dGb9ydrQ
-j6kjDDq0BaoE4thasltBtwtEfJTEexLq3br+LbeZq0ctYTUfpTAnyU+5D0V8NWGY1sisRWmWUsI0
-AA9NHBNeNMsKdfcSkJ9uLjbZFhfftsF5LAmRZLfWUqgLilsuaUhI1eeIe8/hbtSQ7uMyupemIDaW
-npsB5lRLj8Tqhp2W06ElOjnIrxyw5BucKXbprOTsSdHeiSWuPrYfQ24nhigzJyAGZJPlSueGfelq
-uNs7hHUj+8IMmF3DdPWz3DTfVQfZXH8/97CdPAH/AGc60/FhGdSQMEGoP5PPAcb9bZDrZHgtFFoP
-zKGG5gIS1cI0S4NimZ7yKzJNCDnRbmNh7ka01l2a7Wl5fjqZMeawnV/eYXyqC2ypHiPSaVxK7x/k
-QCtNV6U140KjwFcS9/703/BtNlkSESHrbG6aEg8jaI65rrqluLeApRDeok4RI2jc3xHktIbZaBU2
-lxMdFAsNOISSAPHD8a4dFi+Wz7zaL4yhvvIy0qT1o7h4uxZbQKVNk01UUM0jG3WI+3bOw7b2mkMy
-HIUZTqXQE1eLy2y4p1RHqJrXCYN7gMXG3SmtKW5sZC26fnsrI5Sk8KZjH6jJ/eM/9owoZ09WZTXP
-+zlhI9n9NMfR41/rwk8f6MWCa26QtEV23ZkZO22Q430z46u1WinsxA3DF/Wds32HJVp9RYccMOQ2
-fIKRIwXkzVNpk6StCzm2s0Ck+xNTiYztuxzLmHmJTUV14dhaOo0NL5eu0vRDKmS4kaEqU5U8OOJN
-g3TYrtBgiR20hq6R3nLI8/pU6kQbinq26RrQkltTTigQK+GGY0GZHsSojRbo69TijSekpfHEVCr2
-t22z7glgrDuvqaqqPNUq51DEUTZjsdjW3FSsnmUXeZtSR55YiqY53YSQGFPt0EptIpnw0lafHH6l
-J/FhbXgton50H8mFexz6DjlSVeFE5/JwrjlYUPPUoCv48+GJcHcjtu7N2Z3UZDxbedZUtlLbw0KH
-L1dKcwa43HZ7RNtnez2dLUeOEh1cgLStBDac66kjDlwunvf3DZYzl2vEazt1ulxhR0qUqNa6mheJ
-RzfXKfRzUxEhUbufwulW+1Q4KLQ7cmNz7XbmsFbKnVRay3WFOEUdC0SWXFUXqxO+H94Q2NubnsQk
-7E3Vd0vXJbFwjw++gsX2S4yj77Efi6iVczzCvrHUMStGy5MhtuZJaRLgTrV7vkBpZpKhKlXCO72D
-6edpS0pqkjxyxEcmbeLMJh5MhxlW4bFJejIpqLphxbm9IJp9VIUvPhifHjxp4ucGSgQXJDS47Rft
-zqCFIW+lr7Iry15ppi03bc267muQptm1Wq3WSWqLarU50us6uWNLkae8rSRqV6sgBj/Ot1/d1n/Z
-MNyUp16K1bJIC0kUKSRnjowYkKOPzul1XMj+c6SPowru7jIQxX0sDpVJ/sBOEAyHFKNNanFFZ9vq
-wLdbg4LoHA9BLQXqcd4dNSUcQsYhypG30OMzHmWldnMZmy4YeUEh2RDSQ9pz8NRHjTji2RhcXICY
-Qnv3GDYREd95PhsNPm+7leMhsNMjN5EJKkx0gJW6lZQ2u9zLFbkRoUl5677nfZEouxX5ZDzkx2Z3
-CrkW2m16kxGUANNgnk4YnN+7INxtsyO2qJPfLykvgR9alR4KpD0FIf6h1KQltThNXCcJuO0IfaWi
-Yy9HvG11SVO7e71D/Vi3y0RFJX7pmmMSiQiPpZeIB9VcdnObXaWW36SVpc7m2WnrHQzclqUHHjtm
-XIeSmQhNVwVKSpsFBKRPiOGdDulrDYmW1yfPKY3VQp2FKiNw5bkadaJzelUZ+M50HUKAolVUiQmZ
-Ggxl2t5lVvud9iTxbpBe19QRLpCSFw5UVaUakSqk6+Uiihj/ADDtj/EOftmP+mzf9WOtXHh6QcKc
-bsNwkhI1fqUkpFDSuTefHDIa2Vd5BWkKT2sWStJoBqBowSlbZNFDinCFN/DzdC0VCQRAk6arCtH2
-hjgUOk8fLDl7vlihWLpDJd+kdFxGqraNDTi2kgEj1YtX8RXwRISzJcO3rUzJ7rcnXZ6MOLJc1dRm
-3qeNaEJD6qJ1aagswLPa4rO4Li0z/De31hLLE9UEBhp+6zmFqRHsm2m1dRURCGmWOKUKUcW/aNiv
-yrnc7w7cblum8xnVt9zdpD6e+6LWrqQ47Kkhhls+hpvPmrjW86tavNxRcPyVV4YGpRNP5+zE+Bv5
-0Wlrp64F1RZpN5alodP3q2XZlgvv9uoIb6YQyUKFQ4ck1jWKz3jbt7et7a0WRqE6iz3y1tuq1vRo
-9quyLdKl2V1SiXIZSY6lUySujgv02xWD3siHEeHWtO6HIU6MywxVFwibclW1Vye7VJUXmVyJVWxU
-KVxH/dv3V/wsJCNuziTqWErTaWxqTwTk4sqCgc/y4IbsVxGVdHUto1kg666Wz0kI1ZZkqw23Etjt
-FHpjq3BMepUFJRRuPD0rVppXnFBisG3QlSVMqDipMhx0pd10WWFSH9aENoGdKZnzxI3RKYRPW2+9
-FhuXFpybGtjtGXyzb+9fUtC3FOZK5ykjLxxft27iTMuu7G1KkW6TJltrhw0SI4LUpiC6dapbC3FN
-pWdQbA5ACcr3vu6bqjx5tmaDFptz89TcySqd1FupgRUujTFZYaKXFEEFbgAzzD10ukwvyXxUr6Xg
-OY+nQT8pqo+JxV67TUOfWSzam3kDmIyUq5snKnlgO3D4i3eyyedJjSNlvSkhWoaFiRGu5bKFhXDj
-iSuPvrY+53XmgoQt1fD/AHQ25K0HUYbNxi3Um3Ou15XW9Cq5KUBhN/8AhdMTt++pZaW5tWTNcciu
-zEirsVoznTcbTMC/QouPMOUFNIOs23aW6nHmbnBuEVyPOmSevJFu0O9sHp8d54OtRHySVgqUW6pz
-x/8ATrd/63dP/FY1dRip4BTychT8ziMfp2KctR16A19tBSmGQXWFDW30vtVa9XUSR01aa+unz4Wt
-9tlt3Ll6gHL9WgUBljb0Vu3MQ4FvlSI0l1oKSJtxCda5j0lxxXXckLXU0NEHlokADEru3kspENKG
-dT6Qghaj9oS2HvsWqeWdcR40SVFkIkDoKlQn2ZCERpFUKeVxcjlmtQVAFJw32VwEt9S39aCWEJZa
-GTZLvcfaOFPqATTyOOdbHj/zMUAZ/X1PcMfZPMKqQOaZDQgGvqKu506Dg9RTP+Ki8DWuQePz4SuB
-VUnpqoIrjbr5ZoAqrbalL6eY+jHVu5fEmg0tz3UsuJGVKIeUhZNBjx/v8f/aAAgBAQMBPyGBh5Li
-hDZywvJY1K3Sw4pSZD4WsPx6Rz2y8AIL45wyLIwTOqKxbNm6JJjE49/bHs4+/nNoiQonInERvKcP
-rxxiY5GevOR4++AVJFe9PrM5NN3AR6jMcDPxjFEpGY6dgoxKTBJS8ZD52wRSqrARQC0NsZDFaFLD
-uCpjid85T0Wgkc8D2I24sUzrugjWZDPPTCT8JXAIhpWOCZPkFF0k4R7PXH04/XzJzCyHwqFLxpeM
-TZwRLFGSxBPI6HalvFNbrDRZ6DO/OGICw1EYznfJm/O9aahEigeXOPENQp8qWAC1MRlnWVGVshgr
-IEPLgw+0WdWGXTRbxl5SKsLtGBBYjogASMmPOatVcQE7cDE9c9V4K4CNUALBCgMIwkfIaJJvEiyI
-CNO0OMhgjYJLo8MYOSDrGYN3WEvcQjSIudAcA0qog0EMbTDWgAYkjjNbmhGL5hUwAQBkCEnNlmAR
-GP1ULOEKPzRpMh9QoXLaYVitOKDjlQFS1qyEhH6FFANhwAzU0ImAslItOhSHziQEleCh3lqUZaab
-ryJEuq8Y6gRKkMGzXyx5AACpTy/xgK8oLkJiXdFYFybjj+fIBrij1deqORkyjaFuhIpinLCq3ffJ
-FUxgTGaOoi8hPkpNU+0xHLDOxTjvMLTTnoX8yJWu9gNeU4kgHiUKu/F5EspNla6Fr4xvW9HiWNZ/
-DBmV9WJjJbAZwm23ErAnvcYozD7Ek5GVYEszWv2+S0Od4dY7YnEifOC+4XAIDYKrXmVN1AIBglBJ
-j2ePGHKAOtPlSZNIyLaYlVdcMF0POE/RVJe5eFLig40RLghslmMViigDpEekMtEOY1MrIzvJB7hd
-u5KsPTeF9dT6pzIyHoaQnlpC/UBmYYN6EU1jSL82cDZmzCMiiXGfSGK6dArbMIviliuHPfxAwmMn
-Iimqzi+I8iKePSYB5zX55GQrvoMylpp0Z1AXgJVxJwGiALHAFMCWQaf47BnKccrzyYOt2LWENFzR
-oNHYqLRKOTNYOlDJRwnjSYUcvtfaovJxDsLN42XOxBcIefm8JSuDEoLqVojIZmHOu8EJzWjxr2uc
-1kQYI9FVHGSwo6ytC9eW5P6YMcTHv/BgQjSHXj4sqCdODzzELnhElCvJgcHLEzbokEbQNVW8WpIA
-iMPgRAS2MiU7WH0DMZpSKk1NRfoXBMmcuKazBgBj8aETjC44iRQAkJaMCxvIIVRP3ZbRLrOmUug4
-YDBe6lHrQGJLqUGShLVC4qtFu4b8snBOChradYh5sfbyZcrTxwOwq4Tdg1q8jlEsECFfII1xgQuk
-ZFDjIBOoOuaSDam7YEHnfjHl1BtDk0BRxwJ3Kt6E5kJLBRemopGzKJVwvA0Yzn+93CGyD3i3kSgi
-kRpSRLBncZrJ4eg4GkGSCKu8QGtxLEEscJ8MgWFD/wCLXzECLYYRYNEEkVQ4V3nrL+5//9oACAEC
-AwE/IUcglhKeMvpLiZyBI56RTkrIeTJzt9JqPo6P/DXN5tDMzicBbBtPVx1Q++PHfxenGss5zoYw
-vBwImK+v5+kLDnKZzhTcgnDVEksd/wCoWfv3xm+PL5FA9zLkzYGTRm2MTJhj6Jpec3vpj+M97ZMi
-0H4wjtSz2B/uNMWQZZqxCtXHbJebwoJO2WjTmi5/wsckemdXEYreaZJTTpkzGGV5hj77xFc8PRhT
-nx08zOQy8dc+3XufONHDKn+5OqlhQTpluYj2zZaYIoHdijuw+1iI6d4JyqPzlR5NVv8AWTLG9K+c
-z6ffEYeRaI4mN94wAK/xlhMwuI3WVyAKzvclasmSzwf2cOTXVP8AMZ1YzQO8R87w2FpxH7woRJLT
-+5HAhvs99+2V0QSDH8vFB45jjprjrx8a3Dzj7L8TWeQjwdE/fRyf+s7+L7LY2Mnv+jL4m4bmDlzx
-RD8PbAsYUQO9S38KzumXr0ePjwThIEjtkoaOIloc5dLINR/BnoH9yBJm9BYCsRDc5GZwnDF2Hn/j
-nB4EnZ1Xqhy5JYl/WQ4tsqXJLMxZPT3wVS/P/P3l9hgtqPHqc7bEaMNxkomsDUpXt/ckWBp9ePt2
-ziD8k/3HgkaKX265t7X161nUDJtYQmftwl1sjhVjpnax/9oACAEDAwE/IRIDZw4dJy2ZyXEP9Y1B
-L1xIc85H/k/QcCKz4jOJ5yQc5wlyrtnp7k5qRjBFmdHYXlX1fpZyMIjJ6YOOy8ABD9/GQEcE+vtg
-MdcszWPGENOMJSW+uT0SYgFajDURe2T6Y4x/osmMEZtxhQPl+MFR4cog7yMlhmvWcWQMfRwASPow
-SGUHHjjS8vynIFfSCoybL/mcQEu/r74O+zDZAQyUHbFkdceTGVwrKoWCFZNdGQRgrCnfOXNEC3Uu
-sU7FbEE/zt2zfis03yE+9c1OEfib85JMfZyFio984tC89M/8yZYFSXvnEJjI4ySipl9xnAbISFPn
-pXtq8OOrI7+0RHvhCjUD+alwHd2r8L+Jv9qdp/OHkvteK1yMJc+ejxk88ujJrDQVM+uT8YWLWQLx
-29VkuQ66IdOridkXv8UPyuudYAsadDqe/Xu87yqAWscEQ1kDsweBAR4Ouf5LnRoyVCcgkhxEXr9R
-+MqRNM7PmPGQKWDqnHjt+t6Wcwe7074wMR0fnIG/uxEESXcxwQnia+efRiowftl+MCcj/oypi8ne
-5yrbfbFB7yKxOa6ePUZzfxBPvFxhB+8bDfJrvm2AZuX4NYizWGhTtP8AMgtH5wuH3zWRj7lkf8/8
-z//aAAwDAQACEQMRAAAQ/wDWIzCILZA0q59CJKo52NZF++yVrjo4i7a3eRIcD2IBhkAv7A+TWbhF
-RzZim5jMx0pMlk6v/9oACAEBAwE/ECh7s2FKFqRCyHUsZ3V1hOrrgoy9V5b1LsUiAI+WSIAeHBXg
-oDTIhucEqqogKCQkYHVUcPZyZ8wUlpTSw5i4w0LhFESooG4bfOK2oeSZ0SchP63jGwGYEZHei01l
-jVwxOijd4odTJfSYZhDWVERwdmD/ANyfT5f1jclCCR0ERpTMgEaxQIY4yMAVJEOPDGRjgBeUQybV
-W5Or6YzVmkLU4nGI12k6msTzIyEoNO5DgodC4eU2vgSyNXa2IC4Fsc4HQCo5NsLhgSkDVeGEuVnK
-UJAoQAVTGIBEAiAZ0xYLlInjicFBKWQm9c6xCJ6SuyCG0NGX0Pl/mEJp6aVGwgsRPOKpL63kMhCU
-zk+sigTAXCTs84OutjiHgImRBATF1kBMOwIiEjZBnhyz2lGgK5wwFzuJJfCYsSw3LgWyySsIHMzU
-HOC0ypGYIZIlJQIcsfahtKiUT8OCeUU5IqwEExjeN0Pe9BuAABLQlwJTQQlnxCjCDWO6fGSc9uAt
-At8Cahi8ZQglWlBgERy6wBM0wFRJbM71GFGGJwFaCfXIPBjLoUpeoBBSIkxbhUzrFoUTcAYe0FHS
-N0uCQt+cjYA4Uo4LDoZAf0d6ONQQa9Gma5c5UAAKWdcJMd/HtrRSDUGyUBcsLIllSZyWb+kMV1qX
-wJBMiu0M1+2R0ZZ01GKuCkwgw8Iw+MBEtYHpJA/UZxpTVUghsCSZMSXAOHB0WY2gp+hTSaqEhjDI
-uAXNRCtQQKCosWA8NyYa8iYFUYAETDecvFRCg9zwcR3b/GnVZ5hUAYNCRFWvlAMhQpqsVDqEvHhu
-ckdTghQgY/QIAFpQbz/M4anAbKiQUWRukeyTIDEAFSeQUhATfGEM6Yotwh4MBAM7wqzgYDYBDSGE
-8MQdi4LbJOTkQQjhKAQ7vni0wAK8uQzpKsxgQjD7IJ4s4D3PPgLFoLnBiDjp2JuE9Q9epGOBzXMo
-K3g7NKFI2KZg5MtgH00Cp0wNwDwEUoTQCK1ww4LInRlEtmQpDxkQtmrEceDxExRHlNC7oDzmgJLL
-ITOr3UdnBRlJCrz8iNBYZAJ3zRoWyZhQ/SP1WLvq8waG8G53ZinkgTLuKD59q5mHQ9yjCRTtD+9S
-w+6+jWUJyF0yS/YM2KFA0d643fV32OSo/jqPPKsSlNToilFkCxOAguMLXHSQclNOTVKMei4CFKCC
-cZlxWDIKQsiasCZwXZZ8CIRathgSSXpxnWRlgSZArVaWF9vhSgqAdIbZvN+Fs5ZWSNjmgAw8icYh
-BASopRE8BRrARiNdC3GIT/f6EkyUE9WG9mJ/6nPzQd9q1fTkgEyFioxfUo4Apwzn62IK7aCCpMey
-z7LcwjxOdwt7RxJ1LRqaUZu2/wByik/bIJB9APujceisCAJXQkgtJCsrC4xnvDhEt3Y5ChhrNgNH
-i/EzYJOV45kQpaaIt5jmW6lAWvUJmQMxMTmY1afok0nCFX0KYILIoRdxqHCIAkW5AhVGCT1Uz0BJ
-cgjkwAtbG9TpEGQGr7p2IExawRc1kzODHc+nJaBFz2jIx4AjuSj1Bg4ORFzmGEU0eRDt+XYIQIGq
-lfO3Wi+kvTUzbG1nOHSs1wJzNJJRHGGWLBs3sCCFBi1q1kVMq1MomC6Z0piaMQq+ztztYP8A/9oA
-CAECAwE/EIHwZqzacTddE1eXiciRHuvtxjwUHMm5KorVdOuRjOY0aEI4juxwkuRpJXo4eHnsyEUA
-16f3iydRkx7YfIyR1r/yGkm3xx+iOdYrJxKprZx3wBWchYmIGx7x01iBsABSi2Q8R+MGVIXELp7f
-rzhMwRkkFpYlqFTxvCrpgNRxWvf8TBKmDXQ+zkDpRqpv7Vfe9ZaGQq8Z5hOPpUfQTbBZ++WS3BvZ
-/wB6mMnUZ1MSkS9rcf2sXWgk+fjvjtJ07vvjPQmrKUQsQCjuElZK8pU9OfxWFQw/biF8ggdwggHo
-XbPaYDxdjxXHea/zAEzXnfjfvgMGu/q/jJYmwDFS6JYvtutZHp/mKUsL3fOEPE89uOmGXuuvT/uI
-GklfZ3hxcyXq0bxJljO5A/TpCc4HQEs4zVI+vbH02iJsnquCKJ5IckAEeKPX6yxQGk33qbysEpn1
-6jEYIwvucydE+c/yH8wsml+O/j8YRYuk+JxA4QDoc5pS4G7isjwQpppGmmFOJu8hNOm11uwYdxjD
-WhlrEA2SCiUJl0W4VOVJRQUEaUTsGLEGIQZLSO0kWtTPMQ5VMgTNLMB98PIWJx4JQC87f2/3BMCy
-e4n5yIqT5WsWRxlZ2qMLBfZ/vfEHgQiNv5xzAS7YCs9DcrQLjMoTJkgJgNu8j+sAbEFE8pT5vSpY
-iUItjMunRqENShpTYRyceQR/BrkrkpxKnbkkFERgoe5u7yAeFlVZ8/8Acpk4kQq0vPPWOpqP8k/u
-OazHtD5JmzenFzCugCY3tvlnCKU2Lc8Q96j3x6gs2Zm+sfzAThw5EeUGGpEsQ4kY+wIkdPApeWiY
-Y6YwE1xJ4g1M7iaWbwpbOvjsTpMwrnC4zwQT0ht8nh3jsEBJh2KVOxSeFGWyBRQc9onHlJcggHrG
-ueLyn6prhKNGJupRshie1wswfY/zBrS7JfdCvft1x0NljIjmkt8/nDKRw+WjeA5q8rvbaEQ6JifB
-gHHSeXKNUGW3ghXAaKjSMpMgo3RRJtxiK1BUZEkQg0kSDZQ4d0wDWnz3lXIAp2kr185AhYw5mPz+
-d7xBNVKiZn7S9IyYiq5G5Dudd51+MjW4kJmH+VP+YMZ45h3fKce+FjXlSuhMTxzXmsd7SmXLJrfw
-V84aJHboRt5eotoCmCHZEmSaQGJhRLYFrLm80l4CaNBKxHSFtXLu1SI6CwQ9Kg++TYUPc99H+6xE
-QKxtrbZ0DNHDHWZEX1L8RA4mUTcmPzyVqr+PmZ4ecuqBSeDck9B73Up/mZsAN1D7eujgEDa3Bv1v
-IMhBJQgIZntEy8cax+SAhCGAiDojfF451EiIpoqfOCOonELnNI4OD5SbavnFEGQYNAZRadUiFLea
-QQUIk8gKbTjhV8EvSDr0q+MqCHvXxP5npPE1qOYs9jqf9wBcvoMD15JjUnjBJrZVKBvWvEGd/wDL
-+5//2gAIAQMDAT8QKaNRzDbfG+TmKyFM5uz8YjD0xAFb6t+dxPGTtAaWQFEXXtA8zmx76qrx/OvT
-KAvIJpOWUff/AJifWHN/oA7A6dfv0wR0SdvX/cnQoOlfODZj579F5BFlOT3/AJ3mxHBcQQhuQh3i
-fntiJSDc68d3r3rKOmkye8E1PtlEKtyydt95OYreHyj2byHfH/giEn5Lv/MQKjZgESjGGvYoTqrv
-NgyZAl+U4jYsL6VUNWkzGoUnWA5+Lzz71m8Dkxxz6rJWinlrUEX7fN5CtCwI2J9ol3xHLlgPcevX
-XEgANuvnX6OcC8LQodWOO81nfevfI4DdQHQ/nrWQEayYlOmJ5xEPXrrincKCnvGBwM+SSfT2yJJF
-Q7HbXTv1xAAik4JCgkkNKvQS+ikFm8Q1mRYz7r3wuEy+h42ZEFxadcWeHMk08WafeTJ/wZ1JscPs
-x1/OSMjtHg64DA/GO7oD16cDpg6eu+Vt3PYkV8hNYXCQIUdkVfmfRgxDrCyq0gFJeYj2xXGlDwuK
-SnfUUJBl5a0mPv0e2Qk9tNsR8xjQCVUdPVYzBJzHAfMZ6A5whK+6fs+DAAqImAyOO59e+DEKV7by
-oAGV+HwvvG/G8nkRwjRDFloCMzrjCwzglTALLJAGECRJLKvP5AiENh4KUIlOOZxSOtGrvqPjy7t0
-hvDO+fRkCobQvZOBaQ67UAuBr3685HVy7Wo9e5OXCj1/4Picio2WL3G9/bxjkQK4T9byYRGHjvHN
-3skk04uZjAyr8IMcsa1kDZAJ6GW4uw2sVeA7gxvvChCJsSxF4qwJC680AKhwBRkEY2KTI0IkIVCi
-SreJkCbA1K/NfOHmrSsh7/5nIwJAdREVqbK6TXqf6x6Y8n9yzapBYI9p7ezrDM7BsIO8qMdvDI92
-0sxInE3OyOnVJZgTShquY/KPvgChA67M8GCSoB2kRjwJglIAq8rsFTIC4QAU5oDspASyQAEEk1nk
-Of8AfzjEjSH8vE98hqrQGdX5JNXFR0xHBL4U+Fj3hxjyQGBLaws/H6z0f+sUxtbuPuQe+JEPO/x7
-4hFF0H7n2O+PdAgSfJPKfYxqMu7Ami2BW9ClJINQYlMQAh5hKIE0JoaYnmjCxKbINEAWXCgVOggP
-snaZ5rtVRkgBHWB9oXLYKmmP8PnpkhtIOyFI9SuYiQtUEYLuLT9o7EdE4wUwcg6jAWEycdfjOx6H
-fA6Qf0m6/uEENHQf3fbBJUjlSY5Jtieu61QzTHZnlMR698hB0ytEECcQgJ5i1ctBNqSkNKgLu0WR
-twrSWoBAgJwhJGUHjBM4gBndiFO7fUKxCw94/at+J/GH6GxYx26v34yz2BDeI4yKArtPuYj2ce7K
-5HyRe+9cc522H//Z</string> </value>
-        </item>
-        <item>
-            <key> <string>height</string> </key>
-            <value> <int>79</int> </value>
-        </item>
-        <item>
-            <key> <string>precondition</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>size</string> </key>
-            <value> <long>10956</long> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>width</string> </key>
-            <value> <int>105</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/home.gif.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/home.gif.xml
deleted file mode 100644
index 6486eb8911..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/home.gif.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>http_cache</string> </value>
-        </item>
-        <item>
-            <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts48773120.09</string> </value>
-        </item>
-        <item>
-            <key> <string>__name__</string> </key>
-            <value> <string>home.gif</string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>image/gif</string> </value>
-        </item>
-        <item>
-            <key> <string>data</string> </key>
-            <value> <string encoding="base64">R0lGODlhEgAiAPfAACYmJv///2liOjU1NbW1tTcwCImCWtHKfH94UFBJIci9bW9oQNjNglRNJcC3
-ZT43D1hRKdjPhDw1DcnGgeXeouXbm6qhUuDfn9nOjLKmU+7qvfnut9bMhO/ru8/EeDozC7mqVcrC
-fv/51+rhq/j0xL61Y/TsvffuvrisXcS6eNzVjrquXePan7CnVerkqdjOgdvOfvHpus7KfufipNrR
-iufgpOnkrNjKfLeyauXcod3VktPMffHpvPDqvv/4z9PDg//9zNrPgvLqtfLtu/LuxPbvwOLZlbWp
-V9LIfOLXlNLFeNXPg9XQh9fPg0U+Fv/2zuPgo+TcpdvUi9bSjO7nq/v60NPMfsDGecrAgcC1adLL
-fdrGhruxaJqTa9bNg9TMdvb0tdrVk/nuvb+1Yt/WkNjNg9LLfPHtu+Tfot/gm72zYcvCePjvvaig
-UOPam8S8cLaqXreoXP/51L2yYK6eT+Tbn83DfKufW8zFd/TwyfPrv+HbnNnOgcG9ZdfNfefhp8nB
-b+3hvdTSbqmdVdDJffr52NfMhvPvwejdqN/WkeHWj6mgTd/WlMa8e7uvXvPsvrqwZtrPhe/kucW5
-bdfMgtPNfLitZc7Fe8K4a7y2Xs/BavvzxKidVOLanba3brOrVM/Gc9zVkK+mU97TiP/2uMW4Z7Ck
-Uubeou/rruXfndzRiNnRiLiuY9jOhOnjsNnPiu7kqPv20dnSivrwyLGtbdzSkNnSi9fMgcjAfNjS
-ja6iUL6zYcW7ceviqPjtwNbMgUtLSwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMAALAAAAAASACIA
-AAj/AIEBGwCgYMEBAhMqHAhggowfWwQBQLhQIMEJYgqJAHLoisGPCAHg0eCjSiw5T05gQQLKg51L
-ISYCWFMkxpkOenwhavSmj6ZSCnjhKgjIlZBAklCl8QRm0ywieUgMSVEQEy0cmUpksUQKVq8RLmzM
-oKKg4CQ2G3o84mFCAAQoF3JEqUOBS0EHf1KhqXHKAAIBCfZUYOGmE6S7YVSE0mGgi4EFDR4kYWQk
-EauCKHIpqiUAgV/AEgpIITMKTkEQU1bJoiFggVsnBTDYeqXqU0FTTF40iZCgQasIHwoYWsIhkqiC
-dLzAuMVAwgMGZQoUoFTpV5BFBTkR8nPggJnuO7RY1LnxhY8SCzLb6MpwZIWaMbvmOIrTYtCdiQw/
-6geZkECA//8RUJFC/jkEkSABCDhggRlt1BGAEAoYwEglnZTSSi29FEKCAdBkE0468eQTUEL9V9RR
-SS3V1FNRTfWfVVhpxZVXYIlF1n9npbVWW2/FNVdd/+GlF1+fBTZYYZAEmdhijT0W2WSVsfJfZpt1
-VmRoo5X2H2qqseYaBLDJRtsn/+GmG2++ASccccb9l9xyzT0X3XTVXfefdtx5B5545JlnAYfqsece
-fPLRZ1+CwPgH4aIRAhMQADs=</string> </value>
-        </item>
-        <item>
-            <key> <string>height</string> </key>
-            <value> <int>34</int> </value>
-        </item>
-        <item>
-            <key> <string>precondition</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>size</string> </key>
-            <value> <long>1271</long> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>width</string> </key>
-            <value> <int>18</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/listbox.css.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/listbox.css.xml
deleted file mode 100644
index 5307c75f84..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/listbox.css.xml
+++ /dev/null
@@ -1,448 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <global name="ZopePageTemplate" module="Products.PageTemplates.ZopePageTemplate"/>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>http_cache</string> </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_text</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-<tal:block define="dummy python: request.RESPONSE.setHeader(\'Content-Type\', \'text/css;; charset=utf-8\')"/>\n
-\n
-/* Search popup fix*/\n
-div.search_popup{\n
-  left:200px;\n
-  position:absolute;\n
-  top:-120px;\n
-  width:250px;\n
-}\n
-\n
-\n
-/******************/ \n
-/* Listbox action */\n
-/******************/\n
-.listbox-action-widget {\n
-  float:none;\n
-}\n
-.listbox-action-widget div.bottom_actions{\n
-  float:left;\n
-  background-color:#E0DFD1;\n
-  padding-left:0.5em;\n
-  padding-bottom:0.2em;\n
-}\n
-\n
-/* Title of the bar */\n
-.listbox_actions_title{\n
-  color:#FFFFFF;\n
-  display:block;\n
-  font-size:15px;\n
-  text-align:left;\n
-  width:100%;\n
-  float:left;\n
-\n
-}\n
-\n
-/* Sub container for the buttons*/\n
-.buttons_group {\n
-  margin-right:30px;\n
-  padding-top:3px;\n
-  width:auto;\n
-  overflow: auto;\n
-}\n
-\n
-/* Buttons */\n
-.listbox-action-widget button, .listbox-action-widget a.button {\n
-  background-image: url(\'./km_img/button_background.png\') ;\n
-  background-position: 100% 0;\n
-  background-color: inherit;\n
-  border:0 none;\n
-  color:#5F5A55;\n
-  cursor:pointer;\n
-  height:27px;\n
-  float:left;\n
-  margin-right:3px;\n
-  margin-bottom:3px;\n
-  width: auto;\n
-}\n
-.listbox-action-widget button:hover,.listbox-action-widget a:hover {\n
- background-position:100% 100%;\n
-}\n
-\n
-/* a as button */\n
-.listbox-action-widget a.button{\n
-  display:block;\n
-  margin-left: 9px;\n
-}\n
-\n
-/* Image in button */\n
-.listbox-action-widget span.image{\n
-  background-repeat:no-repeat;\n
-  background-position:center center;\n
-  display:block;\n
-  position:relative;\n
-  float:left;\n
-  height:20px;\n
-  width:20px;\n
-  margin-top:3px;\n
-  z-index:2;\n
-  left:-5px;\n
-}\n
-\n
-/* Description of botton */\n
-.listbox-action-widget span.description{\n
-  font-size:10px;\n
-}\n
-\n
-/* Global button span */\n
-.listbox-action-widget button > span, .listbox-action-widget a > span{\n
-  display:block;\n
-  background-color:inherit;\n
-  background-image:url(\'./km_img/button_background.png\');\n
-  background-position:0 0;\n
-  display:block;\n
-  height:27px;\n
-  left:-8px;\n
-  line-height:27px;\n
-  margin:0;\n
-  padding:0 0 0 5px;\n
-  position:relative;\n
-  white-space:nowrap;\n
-  width:100%;\n
-}\n
-.listbox-action-widget button:hover > span, .listbox-action-widget a:hover > span{\n
-  background-position:0 100%;\n
-}\n
-.listbox-action-widget span.description span {\n
-  left:4px;\n
-  position:relative;\n
-}\n
-\n
-/*Define all button image*/\n
-<tal:block tal:define="buttons python: [\'cut\',\'copy\',\'paste\',\'delete\',\'print\',\'new\',\'reset\',\'filter\',\'find\',\'sort\',\'config\']">\n
-<tal:block tal:repeat ="button buttons">\n
-<tal:block tal:content="python: \'\'\'\n
-.%(button)s_button span.image{\n
-  background-image:url(\'./km_img/%(button)s.png\');\n
-}\'\'\' % {\'button\':button}"\n
-/>\n
-</tal:block>\n
-</tal:block>\n
-\n
-\n
-/*********************/\n
-/*   Listbox style (XXX: move to erp5.css)   */\n
-/*********************/\n
-div.listbox-container{\n
-  width: 100%;\n
-}\n
-\n
-div.listbox-tree {\n
-  margin-right: 4px;\n
-  width: auto;\n
-  float: left;\n
-}\n
-\n
-div.listbox-content{\n
-  float: left; \n
-}\n
-\n
-div.listbox-head{\n
-  color:#9D968D;\n
-  font-weight:bold;\n
-  margin-bottom: 10px;\n
-  min-height:20px;\n
-}\n
-div.listbox-head div.listbox-head-title{\n
-  float:left;\n
-  width:auto;\n
-}\n
-div.listbox-head a, div.listbox-head span{\n
-  font-weight: bold;\n
-}\n
-\n
-div.listbox-head div.listbox-head-results{\n
-  float: right; \n
-  width: auto; \n
-  clear: right;\n
-  text-align:right;\n
-}\n
-\n
-div.listbox-body{\n
-  width:auto;\n
-}\n
-\n
-div.listbox-tree-mode-selection{\n
-  height: 22px;\n
-  width: auto;\n
-  float: left;\n
-}\n
-\n
-div.listbox-tree-mode-selection input{\n
-  width: auto;\n
-}\n
-\n
-th.listbox-table-report-tree-selection-cell{\n
-  width: 50px; \n
-}\n
-\n
-div.listbox-footer{\n
- background-color:#F0EFE9;\n
- float:left;\n
- margin-bottom:0.3em;\n
- margin-top:0.3em;\n
- padding-left:0.2em;\n
-}\n
-\n
-/* Listbox Footer in gadget mode */\n
-.block .listbox-footer{\n
-   background-color: transparent;\n
-}\n
-\n
-div.listbox-footer-box {\n
-  width: auto;\n
-  float:left;\n
-  min-height:28px;\n
-}\n
-\n
-/* List style selection */\n
-div.listbox-list-style-selection {\n
-  width:auto;\n
-  float:left;\n
-}\n
-div.listbox-list-style-selection span{\n
-  font-weight:bold;\n
-  padding-left:10px;\n
-  vertical-align:-4px;\n
-}\n
-\n
-div.block div.listbox-list-style-selection span{\n
-  padding-left: 0px;\n
-}\n
-div.listbox-list-style-selection ul{\n
-  display:inline;\n
-  padding-left:0;\n
-  margin: 0;\n
-  vertical-align: -4px;\n
-}\n
-div.listbox-list-style-selection li{\n
-  display: inline;\n
-  margin-left: 0.1em;\n
-}\n
-  \n
-div.listbox-list-style-selection li a{\n
-  cursor: pointer;\n
-}\n
-div.listbox-list-style-selection li a.selected,\n
-.listbox-table-report-tree-selection-cell a.selected,\n
-.listbox-table-domain-tree-cell a.selected,\n
-.listbox-page-navigation-text a.selected{\n
-  font-weight: bold;\n
-}\n
-\n
-/* Listbox full text search bar */\n
-div.listbox-full-text-search {\n
-  float:left;\n
-  margin-top:0;\n
-  padding:0em 0.5em;\n
-  width: auto;\n
-}\n
-div.listbox-full-text-search input{\n
-  width: 130px;\n
-}\n
-div.listbox-full-text-search input.button{\n
- background-image: url(\'./km_img/search_background.png\');\n
- background-color: inherit;\n
- border: 0 none;\n
- color:#FFFFFF;\n
- width: auto;\n
-}\n
-\n
-/* Listbox Navigation */\n
-div.listbox-page-navigation input.listbox_set_page, \n
-div.listbox-page-navigation button.listbox_next_page, \n
-div.listbox-page-navigation button.listbox_last_page, \n
-div.listbox-page-navigation button.listbox_first_page, \n
-div.listbox-page-navigation button.listbox_previous_page{\n
-  margin: 0em;\n
-  padding: 0em;\n
-}\n
-\n
-div.listbox-page-navigation button{\n
-  background-color:transparent;\n
-  border: none;\n
-  cursor: pointer;\n
-}\n
-div.listbox-page-navigation button span.image{\n
-  display:block;\n
-  height:8px;\n
-  width:5px;\n
-  background-repeat:no-repeat;\n
-}\n
-\n
-div.listbox-page-navigation button.listbox_first_page span.image {\n
-  background-image:url("km_img/2leftarrowv.png");\n
-}\n
-div.listbox-page-navigation button.listbox_previous_page span.image {\n
-  background-image:url("km_img/1leftarrowv.png");\n
-}\n
-\n
-div.listbox-page-navigation button.listbox_next_page span.image {\n
-  background-image:url("km_img/1rightarrowv.png");\n
-}\n
-\n
-div.listbox-page-navigation button.listbox_last_page span.image {\n
-  background-image:url("km_img/2rightarrowv.png");\n
-}\n
-\n
-\n
-\n
-div.listbox-page-navigation-slider{\n
-  width:auto;\n
-  margin:auto;\n
-  padding-right: 0.5em;\n
-  float:right;\n
-}\n
-\n
-div.listbox-page-navigation-slider input{\n
-  max-width: 30px;\n
-}\n
-\n
-div.listbox-page-navigation-text{\n
-  width:100%;\n
-  float:left;\n
-  text-align:center;\n
-}\n
-\n
-div.listbox-page-navigation-text a{\n
-  padding-right: 1px;\n
-  color: #9D968D;\n
-  cursor: pointer;\n
-}\n
-\n
-\n
-/* Report tree */\n
-a.tree-closed {\n
-  background:transparent url(\'./images/tree_closed.png\') no-repeat scroll left center;\n
-  padding-left:15px;\n
-}\n
-\n
-a.tree-open {\n
-  background:transparent url(\'./images/tree_open.png\') no-repeat scroll left center;\n
-  padding-left:15px;\n
-}\n
-\n
-div.listbox-tree select{\n
-  max-width:120px;\n
-}\n
-\n
-/*Table Listbox elements */\n
-table.listbox{\n
-  border-collapse:collapse;\n
-  width:100%;\n
-}\n
-\n
-table.listbox th,\n
-table.listbox td {\n
-  text-align:left;\n
-  vertical-align: top;\n
-}\n
-\n
-table.listbox th button{\n
-  border-width:0;\n
-  cursor:pointer;\n
-  float:left;\n
-  font-weight:bold;\n
-  padding:0 6px 0 0;\n
-}\n
-\n
-/* KM specific */\n
-table.listbox th button.sort-button {\n
-  background:transparent url("../km_img/switch.png") no-repeat scroll 100% 50%;\n
-}\n
-table.listbox th button.sort-button:hover{\n
-  color: #FFF;\n
-}\n
-table.listbox th button.sort-button-desc{\n
-  background-image: url(\'./km_img/switch_desc.png\');\n
-}\n
-table.listbox th button.sort-button-asc{\n
-  background-image: url(\'./km_img/switch_asc.png\');\n
-}\n
-\n
-/* KM specific */\n
-.listbox-search-line, .listbox-label-line{\n
-  background-color: #F0EFE9;\n
-}\n
-\n
-.listbox-search-line th{\n
-  background-color: inherit;\n
-}\n
-\n
-/* in search mode listbox may contain top/ bottom quick search inputs */\n
-div.search-text-listbox{\n
-  text-align: center;\n
-  float:left;\n
-  height:auto; \n
-  margin-bottom:0.5em;\n
-  margin-top:0.5em;\n
-}\n
-\n
-div.search-text-listbox input{\n
-  width: auto;\n
-}
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>text/html</string> </value>
-        </item>
-        <item>
-            <key> <string>expand</string> </key>
-            <value> <int>0</int> </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>listbox.css</string> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/web_page.png.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/web_page.png.xml
deleted file mode 100644
index a5d0009f57..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/web_page.png.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>http_cache</string> </value>
-        </item>
-        <item>
-            <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts48773120.27</string> </value>
-        </item>
-        <item>
-            <key> <string>__name__</string> </key>
-            <value> <string>web_page.png</string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>image/png</string> </value>
-        </item>
-        <item>
-            <key> <string>data</string> </key>
-            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAMAAAAVBLyFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
-bWFnZVJlYWR5ccllPAAAAV9QTFRF////8/Pz9fX15eXl8PDw9PT09vb27+/v8vLy/Pz8+Pj4u7v/
-M5kz/f39KY8px8fHsLCw5+fn+vr6+fn5lZW50NDQ+/v7r6+vb9VvVbtVcsVyveG9Xl6no6P0MzOZ
-e3vZR2GTed957u7u2traQkKoiO6Ira2t8fHxF30XH4Ufzs7OPaM92dnZkqzP9/f3d5HBrKzPa2uf
-R0etJ40nOqA6ZmbMycnJb2+3oLnTgJK3hrqG0tLSb7dvPHBvOJ44/v7+cIm8Npw2kavOk5PswMDA
-2NjYm5vsSWOVUrhSTk607OzsZMpk5OTkqampVVW7e3vhYmLIPz+lq6urYXurlLeUoNSguNu4LEZ4
-UZpR39/f7e3tw8PDR61HxMTEv7+/jIyMYGDGv+K/s7Oz19fXz8/PbKBs3t7eqKioUFC2SUmvPXBw
-6urqT7VP4+Pjm5ubVrxWEXcRvLy8bNJs6enpUWqd31JJ+QAAAOJJREFUeNpEymdbQWEAxvH7Ueh0
-9jn23puSIqW096BJmxAaRr7/1eOF/F7d1/+60aiefT6Q+uwUvjGWeCH/kADPgzn/edVM4B0Mw9Nf
-zG6zHtjs47QOVVEUBmvBr1V25+iWphhS81TN8pRk2aS1d6dFFhodlY8v7Dqd8eCwQPAMoqXaW9y1
-2815vVwYewjPUZ1LYbPr8Qingh4D+PRU7i1qWY6WDzMVHx5hUlOqaXFpYztyf1yK3JxAJDqgSOR0
-oD9auQg0W7/4CJklSTJfhQwOl8th2JdlzEz4jaJo9NPxJ8AAhPUgGPW8+2YAAAAASUVORK5CYII=</string> </value>
-        </item>
-        <item>
-            <key> <string>height</string> </key>
-            <value> <int>14</int> </value>
-        </item>
-        <item>
-            <key> <string>precondition</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>size</string> </key>
-            <value> <long>683</long> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>width</string> </key>
-            <value> <int>18</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/web_site.png.xml b/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/web_site.png.xml
deleted file mode 100644
index d155db31d8..0000000000
--- a/bt5/erp5_km/SkinTemplateItem/portal_skins/erp5_km/old/web_site.png.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <global name="Image" module="OFS.Image"/>
-        <tuple/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>_Cacheable__manager_id</string> </key>
-            <value> <string>http_cache</string> </value>
-        </item>
-        <item>
-            <key> <string>_EtagSupport__etag</string> </key>
-            <value> <string>ts48773120.43</string> </value>
-        </item>
-        <item>
-            <key> <string>__name__</string> </key>
-            <value> <string>web_site.png</string> </value>
-        </item>
-        <item>
-            <key> <string>content_type</string> </key>
-            <value> <string>image/png</string> </value>
-        </item>
-        <item>
-            <key> <string>data</string> </key>
-            <value> <string encoding="base64">iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAMAAAAVBLyFAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
-bWFnZVJlYWR5ccllPAAAAelQTFRFgoKC8/Pz5+fn6enp9PT09fX1KY8pM5kzu7v/2dnZF30XiO6I
-ycnJR2GTPaM93t7e3NzckqzPb9VvXl6nlpa6QkKoed95o6P00tLSe3vZH4UfMzOZ2NGJVbtVu9yX
-PXBw4ODg4diT2c6EtbW12NGE39/frK2XUFC2VrxW39WW2s1/sbGxEXcRy8OMYGDGjYt+T7VP///u
-///ntalbk5PsR61HR0etb8Jl+/jHZWKY2NGF6enbxcaAx8fH2NGGsa5w3NGQl5GIUZpR29KQ186D
-cIm8YXur3NagbNJsd5HB9u+7//i88eq0+vPF1dSPVFSIveC9oNSg9fLH8PDTj4x62NGH8ufA3d3d
-SWOV+vPM29CO3teVm5vs2dOJ2dCOjox7OqA60suE8Oe82s6D/PXGnc+CqqeR4+CgoLnT2dKFi4l7
-pqGGSUmvvr6+y8vL396f8Oe4b7dv7Oa45deVZMpk3tSEeIeae3vh39mOlLeU//bVt9u38Oe2xMTE
-qsx939SOjo154eHhPHBv2tGJ8+fBurJf2tKFUrhSvrNgfHx8Pz+l29ePJ40n4tqVLEZ42M6E2NOJ
-2s+EcsVy+/TK29GOVVW7UWqdTk609/O25+fMZmbM///TNpw249qWbaFt3tuVYmLIOJ44kavOsHcM
-0QAAAPJJREFUeNpiYKxlYGDQZkQCDLZp1oZGarmN/PzhCixgwMAw0yKoKjg7qyEkXl+ZFQQYGFJa
-wmbY+HkVFMmZy8ZMCgCpsm/tME709qlJ5TbI4FjUHggUmu0bOTnJPb9OyFSQg0NQVqOagSG9O1qx
-eK5mGZ+nibg4H7dHIQNDb31U3BRnB3VXdjdJSXYxMXYGhvkTmmVkQmNzytkWyvPyspWwMTBUaCX3
-T1RysdSTEkqQ6orocWJg0C3NbFOxs3I0a5rD1Td9AVclQx4DBHT6i+pMmzVVdJ4qAzMMcIoIS0sL
-i3AyMzDBgYAED4+EABMTQIABAAU8Nb6JCg6VAAAAAElFTkSuQmCC</string> </value>
-        </item>
-        <item>
-            <key> <string>height</string> </key>
-            <value> <int>14</int> </value>
-        </item>
-        <item>
-            <key> <string>precondition</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>size</string> </key>
-            <value> <long>837</long> </value>
-        </item>
-        <item>
-            <key> <string>title</string> </key>
-            <value> <string></string> </value>
-        </item>
-        <item>
-            <key> <string>width</string> </key>
-            <value> <int>18</int> </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/bt5/erp5_km/bt/revision b/bt5/erp5_km/bt/revision
index 655c142ccc..d35875b606 100644
--- a/bt5/erp5_km/bt/revision
+++ b/bt5/erp5_km/bt/revision
@@ -1 +1 @@
-1615
\ No newline at end of file
+1616
\ No newline at end of file
-- 
2.30.9


From aff6c680ba6061f59be5db2b7337f199b3dd6d28 Mon Sep 17 00:00:00 2001
From: Leonardo Rochael Almeida <leonardo@nexedi.com>
Date: Mon, 18 Oct 2010 15:25:57 +0000
Subject: [PATCH 159/163] typo

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39290 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ZSQLCatalog/Query/Query.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/product/ZSQLCatalog/Query/Query.py b/product/ZSQLCatalog/Query/Query.py
index 7f12b4321c..a63f5df79e 100644
--- a/product/ZSQLCatalog/Query/Query.py
+++ b/product/ZSQLCatalog/Query/Query.py
@@ -60,7 +60,7 @@ class Query(object):
     """
       This method must always be overloaded by subclasses.
     """
-    raise NotImplementedError, '%s is incompeltely implemented.' % (self.__class__.__name__, )
+    raise NotImplementedError, '%s is incompletely implemented.' % (self.__class__.__name__, )
 
 verifyClass(IQuery, Query)
 
-- 
2.30.9


From bedf22c058b2c404fae831c5063bf7ce60cabb51 Mon Sep 17 00:00:00 2001
From: Kazuhiko Shiozaki <kazuhiko@nexedi.com>
Date: Mon, 18 Oct 2010 15:50:01 +0000
Subject: [PATCH 160/163] simple implementation of SOAPConnection, that does
 not work with restricted environment for now.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39291 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../ConnectionPlugin/SOAPConnection.py         | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/product/ERP5Type/ConnectionPlugin/SOAPConnection.py b/product/ERP5Type/ConnectionPlugin/SOAPConnection.py
index 1eddaa423f..e9c902a3e4 100644
--- a/product/ERP5Type/ConnectionPlugin/SOAPConnection.py
+++ b/product/ERP5Type/ConnectionPlugin/SOAPConnection.py
@@ -26,9 +26,25 @@
 #
 ##############################################################################
 
+import SOAPpy
 
 class SOAPConnection:
   """
     Holds a SOAP connection
   """
-  pass
+  __allow_access_to_unprotected_subobjects__ = 1
+
+  def __init__(self, url, user_name=None, password=None):
+    self.url = url
+    self._user_name = user_name
+    self._password = password
+
+  def connect(self):
+    """Get a handle to a remote connection."""
+    # TODO:
+    # * transport (http) level authentication using self._user_name and
+    #   self._password.
+    # * support calling from restricted environment.
+    url = self.url
+    proxy = SOAPpy.SOAPProxy(url)
+    return proxy
-- 
2.30.9


From f51e6a481b9e2dbf8cc156e68869ca5969889940 Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Mon, 18 Oct 2010 16:24:40 +0000
Subject: [PATCH 161/163] Include workflow to manage remote assigments and
 users.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39292 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../workflow_chain_type.xml                   |  10 ++
 .../express_person_interaction_workflow.xml   |  46 ++++++
 .../interactions.xml                          |  28 ++++
 ...ignment_invalidate_global_user_account.xml | 122 ++++++++++++++++
 ...ssignment_validate_global_user_account.xml | 120 ++++++++++++++++
 ...n_invalidate_global_user_account%20%20.xml |  92 ++++++++++++
 .../person_validate_global_user_account.xml   | 120 ++++++++++++++++
 .../scripts.xml                               |  28 ++++
 .../Assigment_closeGlobalUserAssignment.xml   | 132 ++++++++++++++++++
 .../Assigment_openGlobalUserAssignment.xml    | 132 ++++++++++++++++++
 .../Person_invalidateGlobalUserAccount.xml    | 131 +++++++++++++++++
 .../Person_validateGlobalUserAccount.xml      | 131 +++++++++++++++++
 .../variables.xml                             |  22 +++
 .../worklists.xml                             |  22 +++
 bt5/erp5_wizard/bt/revision                   |   2 +-
 .../template_portal_type_workflow_chain_list  |   2 +
 bt5/erp5_wizard/bt/template_workflow_id_list  |   1 +
 17 files changed, 1140 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_wizard/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/assignment_invalidate_global_user_account.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/assignment_validate_global_user_account.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/person_invalidate_global_user_account%20%20.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/person_validate_global_user_account.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Assigment_closeGlobalUserAssignment.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Assigment_openGlobalUserAssignment.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Person_invalidateGlobalUserAccount.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Person_validateGlobalUserAccount.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/variables.xml
 create mode 100644 bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/worklists.xml
 create mode 100644 bt5/erp5_wizard/bt/template_portal_type_workflow_chain_list
 create mode 100644 bt5/erp5_wizard/bt/template_workflow_id_list

diff --git a/bt5/erp5_wizard/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml b/bt5/erp5_wizard/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
new file mode 100644
index 0000000000..2485abda33
--- /dev/null
+++ b/bt5/erp5_wizard/PortalTypeWorkflowChainTemplateItem/workflow_chain_type.xml
@@ -0,0 +1,10 @@
+<workflow_chain>
+ <chain>
+  <type>Assignment</type>
+  <workflow>express_person_interaction_workflow</workflow>
+ </chain>
+ <chain>
+  <type>Person</type>
+  <workflow>express_person_interaction_workflow</workflow>
+ </chain>
+</workflow_chain>
\ No newline at end of file
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow.xml
new file mode 100644
index 0000000000..ce3277a13f
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="InteractionWorkflowDefinition" module="Products.ERP5.InteractionWorkflow"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>creation_guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>groups</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>express_person_interaction_workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>manager_bypass</string> </key>
+            <value> <int>0</int> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Interaction Workflow used for Express Customizations</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions.xml
new file mode 100644
index 0000000000..e18bf8cbf7
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Interaction" module="Products.ERP5.Interaction"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>interactions</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/assignment_invalidate_global_user_account.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/assignment_invalidate_global_user_account.xml
new file mode 100644
index 0000000000..1e6b547cc1
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/assignment_invalidate_global_user_account.xml
@@ -0,0 +1,122 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="InteractionDefinition" module="Products.ERP5.Interaction"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>activate_script_name</string> </key>
+            <value>
+              <list>
+                <string>Assigment_closeGlobalUserAssignment</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>before_commit_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>assignment_invalidate_global_user_account</string> </value>
+        </item>
+        <item>
+            <key> <string>method_id</string> </key>
+            <value>
+              <list>
+                <string>cancel</string>
+                <string>close</string>
+                <string>update</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>once_per_transaction</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type_filter</string> </key>
+            <value>
+              <list>
+                <string>Assignment</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Invalidate globally user</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python: here.WizardTool_isUserSynchronizationAllowed()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/assignment_validate_global_user_account.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/assignment_validate_global_user_account.xml
new file mode 100644
index 0000000000..b7ec52213c
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/assignment_validate_global_user_account.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="InteractionDefinition" module="Products.ERP5.Interaction"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>activate_script_name</string> </key>
+            <value>
+              <list>
+                <string>Assigment_openGlobalUserAssignment</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>before_commit_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>assignment_validate_global_user_account</string> </value>
+        </item>
+        <item>
+            <key> <string>method_id</string> </key>
+            <value>
+              <list>
+                <string>open</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>once_per_transaction</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type_filter</string> </key>
+            <value>
+              <list>
+                <string>Assignment</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Open Global Assignment</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python: here.WizardTool_isUserSynchronizationAllowed()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/person_invalidate_global_user_account%20%20.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/person_invalidate_global_user_account%20%20.xml
new file mode 100644
index 0000000000..d5fbb9709a
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/person_invalidate_global_user_account%20%20.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="InteractionDefinition" module="Products.ERP5.Interaction"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>activate_script_name</string> </key>
+            <value>
+              <list>
+                <string>Person_invalidateGlobalUserAccount</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>before_commit_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>person_invalidate_global_user_account  </string> </value>
+        </item>
+        <item>
+            <key> <string>method_id</string> </key>
+            <value>
+              <list>
+                <string>invalidate</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>once_per_transaction</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type_filter</string> </key>
+            <value>
+              <list>
+                <string>Person</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/person_validate_global_user_account.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/person_validate_global_user_account.xml
new file mode 100644
index 0000000000..3fc2e5a30c
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/interactions/person_validate_global_user_account.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="InteractionDefinition" module="Products.ERP5.Interaction"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>actbox_category</string> </key>
+            <value> <string>workflow</string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_name</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>actbox_url</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>activate_script_name</string> </key>
+            <value>
+              <list>
+                <string>Person_validateGlobalUserAccount</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>after_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>before_commit_script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>guard</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>person_validate_global_user_account</string> </value>
+        </item>
+        <item>
+            <key> <string>method_id</string> </key>
+            <value>
+              <list>
+                <string>validate</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>once_per_transaction</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+        <item>
+            <key> <string>portal_type_filter</string> </key>
+            <value>
+              <list>
+                <string>Person</string>
+              </list>
+            </value>
+        </item>
+        <item>
+            <key> <string>script_name</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Validate Global Person Account</string> </value>
+        </item>
+        <item>
+            <key> <string>trigger_type</string> </key>
+            <value> <int>2</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Guard" module="Products.DCWorkflow.Guard"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>expr</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python: here.WizardTool_isUserSynchronizationAllowed()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts.xml
new file mode 100644
index 0000000000..072c8f6540
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Scripts" module="Products.DCWorkflow.Scripts"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_objects</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>scripts</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Assigment_closeGlobalUserAssignment.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Assigment_closeGlobalUserAssignment.xml
new file mode 100644
index 0000000000..dea891ea8b
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Assigment_closeGlobalUserAssignment.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>assignment = state_change[\'object\']\n
+person = assignment.getParentValue()\n
+person.Person_invalidateGlobalUserAccount()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>_getitem_</string>
+                            <string>assignment</string>
+                            <string>_getattr_</string>
+                            <string>person</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Assigment_closeGlobalUserAssignment</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Assigment_openGlobalUserAssignment.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Assigment_openGlobalUserAssignment.xml
new file mode 100644
index 0000000000..cab891627e
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Assigment_openGlobalUserAssignment.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>assignment = state_change[\'object\']\n
+person = assignment.getParentValue()\n
+person.Person_validateGlobalUserAccount()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>_getitem_</string>
+                            <string>assignment</string>
+                            <string>_getattr_</string>
+                            <string>person</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Assigment_openGlobalUserAssignment</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Person_invalidateGlobalUserAccount.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Person_invalidateGlobalUserAccount.xml
new file mode 100644
index 0000000000..2dda546723
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Person_invalidateGlobalUserAccount.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>person = state_change[\'object\']\n
+# copy it to Nexedi ERP\n
+person.Person_invalidateGlobalUserAccount()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>_getitem_</string>
+                            <string>person</string>
+                            <string>_getattr_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Person_invalidateGlobalUserAccount</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Person_validateGlobalUserAccount.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Person_validateGlobalUserAccount.xml
new file mode 100644
index 0000000000..fbd2078993
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/scripts/Person_validateGlobalUserAccount.xml
@@ -0,0 +1,131 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="PythonScript" module="Products.PythonScripts.PythonScript"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>Script_magic</string> </key>
+            <value> <int>3</int> </value>
+        </item>
+        <item>
+            <key> <string>_bind_names</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>_asgns</string> </key>
+                        <value>
+                          <dictionary>
+                            <item>
+                                <key> <string>name_container</string> </key>
+                                <value> <string>container</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_context</string> </key>
+                                <value> <string>context</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_m_self</string> </key>
+                                <value> <string>script</string> </value>
+                            </item>
+                            <item>
+                                <key> <string>name_subpath</string> </key>
+                                <value> <string>traverse_subpath</string> </value>
+                            </item>
+                          </dictionary>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>_body</string> </key>
+            <value> <string>person = state_change[\'object\']\n
+# copy it to Nexedi ERP\n
+person.Person_validateGlobalUserAccount()\n
+</string> </value>
+        </item>
+        <item>
+            <key> <string>_code</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>_params</string> </key>
+            <value> <string>state_change</string> </value>
+        </item>
+        <item>
+            <key> <string>_proxy_roles</string> </key>
+            <value>
+              <tuple>
+                <string>Manager</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>errors</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_code</string> </key>
+            <value>
+              <object>
+                <klass>
+                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
+                </klass>
+                <tuple/>
+                <state>
+                  <dictionary>
+                    <item>
+                        <key> <string>co_argcount</string> </key>
+                        <value> <int>1</int> </value>
+                    </item>
+                    <item>
+                        <key> <string>co_varnames</string> </key>
+                        <value>
+                          <tuple>
+                            <string>state_change</string>
+                            <string>_getitem_</string>
+                            <string>person</string>
+                            <string>_getattr_</string>
+                          </tuple>
+                        </value>
+                    </item>
+                  </dictionary>
+                </state>
+              </object>
+            </value>
+        </item>
+        <item>
+            <key> <string>func_defaults</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>Person_validateGlobalUserAccount</string> </value>
+        </item>
+        <item>
+            <key> <string>warnings</string> </key>
+            <value>
+              <tuple/>
+            </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/variables.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/variables.xml
new file mode 100644
index 0000000000..6ae03699d1
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/variables.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Variables" module="Products.DCWorkflow.Variables"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>variables</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/worklists.xml b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/worklists.xml
new file mode 100644
index 0000000000..c3432aa051
--- /dev/null
+++ b/bt5/erp5_wizard/WorkflowTemplateItem/portal_workflow/express_person_interaction_workflow/worklists.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="Worklists" module="Products.DCWorkflow.Worklists"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>_mapping</string> </key>
+            <value>
+              <dictionary/>
+            </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>worklists</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/bt/revision b/bt5/erp5_wizard/bt/revision
index b912dc118c..2bab4226fc 100644
--- a/bt5/erp5_wizard/bt/revision
+++ b/bt5/erp5_wizard/bt/revision
@@ -1 +1 @@
-155
\ No newline at end of file
+157
\ No newline at end of file
diff --git a/bt5/erp5_wizard/bt/template_portal_type_workflow_chain_list b/bt5/erp5_wizard/bt/template_portal_type_workflow_chain_list
new file mode 100644
index 0000000000..d763bd0e85
--- /dev/null
+++ b/bt5/erp5_wizard/bt/template_portal_type_workflow_chain_list
@@ -0,0 +1,2 @@
+Assignment | express_person_interaction_workflow
+Person | express_person_interaction_workflow
\ No newline at end of file
diff --git a/bt5/erp5_wizard/bt/template_workflow_id_list b/bt5/erp5_wizard/bt/template_workflow_id_list
new file mode 100644
index 0000000000..27bb3bdeec
--- /dev/null
+++ b/bt5/erp5_wizard/bt/template_workflow_id_list
@@ -0,0 +1 @@
+express_person_interaction_workflow
\ No newline at end of file
-- 
2.30.9


From 87b5c381e6c5cf0f589bff0e0d36908ebb66a96c Mon Sep 17 00:00:00 2001
From: Rafael Monnerat <rafael@nexedi.com>
Date: Mon, 18 Oct 2010 16:25:47 +0000
Subject: [PATCH 162/163] Include action to reuse existing user.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39293 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 .../Person/person_reuse_existing_login.xml    | 100 ++++++++++++++++++
 bt5/erp5_wizard/bt/revision                   |   2 +-
 bt5/erp5_wizard/bt/template_action_path_list  |   1 +
 3 files changed, 102 insertions(+), 1 deletion(-)
 create mode 100644 bt5/erp5_wizard/ActionTemplateItem/portal_types/Person/person_reuse_existing_login.xml

diff --git a/bt5/erp5_wizard/ActionTemplateItem/portal_types/Person/person_reuse_existing_login.xml b/bt5/erp5_wizard/ActionTemplateItem/portal_types/Person/person_reuse_existing_login.xml
new file mode 100644
index 0000000000..0e9ff89459
--- /dev/null
+++ b/bt5/erp5_wizard/ActionTemplateItem/portal_types/Person/person_reuse_existing_login.xml
@@ -0,0 +1,100 @@
+<?xml version="1.0"?>
+<ZopeData>
+  <record id="1" aka="AAAAAAAAAAE=">
+    <pickle>
+      <global name="ActionInformation" module="Products.CMFCore.ActionInformation"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>action</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAI=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>categories</string> </key>
+            <value>
+              <tuple>
+                <string>action_type/object_action</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>category</string> </key>
+            <value> <string>object_action</string> </value>
+        </item>
+        <item>
+            <key> <string>condition</string> </key>
+            <value>
+              <persistent> <string encoding="base64">AAAAAAAAAAM=</string> </persistent>
+            </value>
+        </item>
+        <item>
+            <key> <string>description</string> </key>
+            <value>
+              <none/>
+            </value>
+        </item>
+        <item>
+            <key> <string>icon</string> </key>
+            <value> <string></string> </value>
+        </item>
+        <item>
+            <key> <string>id</string> </key>
+            <value> <string>person_reuse_existing_login</string> </value>
+        </item>
+        <item>
+            <key> <string>permissions</string> </key>
+            <value>
+              <tuple>
+                <string>Modify portal content</string>
+              </tuple>
+            </value>
+        </item>
+        <item>
+            <key> <string>portal_type</string> </key>
+            <value> <string>Action Information</string> </value>
+        </item>
+        <item>
+            <key> <string>priority</string> </key>
+            <value> <float>1.0</float> </value>
+        </item>
+        <item>
+            <key> <string>title</string> </key>
+            <value> <string>Reuse Existing User</string> </value>
+        </item>
+        <item>
+            <key> <string>visible</string> </key>
+            <value> <int>1</int> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="2" aka="AAAAAAAAAAI=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>string:${object_url}/Person_reuseExistingUserDialog</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+  <record id="3" aka="AAAAAAAAAAM=">
+    <pickle>
+      <global name="Expression" module="Products.CMFCore.Expression"/>
+    </pickle>
+    <pickle>
+      <dictionary>
+        <item>
+            <key> <string>text</string> </key>
+            <value> <string>python: not here.getReference()</string> </value>
+        </item>
+      </dictionary>
+    </pickle>
+  </record>
+</ZopeData>
diff --git a/bt5/erp5_wizard/bt/revision b/bt5/erp5_wizard/bt/revision
index 2bab4226fc..147ea53ba1 100644
--- a/bt5/erp5_wizard/bt/revision
+++ b/bt5/erp5_wizard/bt/revision
@@ -1 +1 @@
-157
\ No newline at end of file
+158
\ No newline at end of file
diff --git a/bt5/erp5_wizard/bt/template_action_path_list b/bt5/erp5_wizard/bt/template_action_path_list
index eb142f66db..779d250864 100644
--- a/bt5/erp5_wizard/bt/template_action_path_list
+++ b/bt5/erp5_wizard/bt/template_action_path_list
@@ -1,2 +1,3 @@
+Person | person_reuse_existing_login
 System Preference | express_preference
 Wizard Tool | view
\ No newline at end of file
-- 
2.30.9


From 78fca6cae5f35c6a5a3b881fd552208f15c28db0 Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Mon, 18 Oct 2010 16:46:38 +0000
Subject: [PATCH 163/163] Update tradeModelLineWithRounding wrt r39089

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39296 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testTradeModelLine.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/product/ERP5/tests/testTradeModelLine.py b/product/ERP5/tests/testTradeModelLine.py
index ff386fcec1..ae081c4920 100644
--- a/product/ERP5/tests/testTradeModelLine.py
+++ b/product/ERP5/tests/testTradeModelLine.py
@@ -2600,7 +2600,7 @@ return current_movement
     # create a rounding model for tax
     rounding_model = self.portal.portal_roundings.newContent(portal_type='Rounding Model')
     rounding_model.setDecimalRoundingOption('ROUND_DOWN')
-    rounding_model.setDecimalExponent('1')
+    rounding_model.setPrecision(1)
     rounding_model.setRoundedPropertyId('total_price')
     rounding_model._setMembershipCriterionCategoryList(['base_contribution/base_amount/total_tax'])
     rounding_model._setMembershipCriterionBaseCategoryList(['base_contribution'])
@@ -2677,7 +2677,7 @@ return current_movement
 
     # change rounding model definition
     rounding_model.setDecimalRoundingOption('ROUND_UP')
-    rounding_model.setDecimalExponent('1')
+    rounding_model.setPrecision(1)
     rounding_model.setRoundedPropertyIdList(['total_price', 'quantity'])
 
     # change quantity
@@ -2701,7 +2701,7 @@ return current_movement
     # create a rounding model to round quantity property of order line
     rounding_model_for_quantity = self.portal.portal_roundings.newContent(portal_type='Rounding Model')
     rounding_model_for_quantity.setDecimalRoundingOption('ROUND_DOWN')
-    rounding_model_for_quantity.setDecimalExponent('1')
+    rounding_model_for_quantity.setPrecision(1)
     rounding_model_for_quantity.setRoundedPropertyId('quantity')
     rounding_model_for_quantity._setMembershipCriterionCategoryList(['base_contribution/base_amount/tax'])
     rounding_model_for_quantity._setMembershipCriterionBaseCategoryList(['base_contribution'])
@@ -2719,7 +2719,7 @@ return current_movement
     # create a rounding model to round price property of order line
     rounding_model_for_price = self.portal.portal_roundings.newContent(portal_type='Rounding Model')
     rounding_model_for_price.setDecimalRoundingOption('ROUND_UP')
-    rounding_model_for_price.setDecimalExponent('0.1')
+    rounding_model_for_price.setPrecision(0.1)
     rounding_model_for_price.setRoundedPropertyId('price')
     rounding_model_for_price._setMembershipCriterionCategoryList(['base_contribution/base_amount/tax'])
     rounding_model_for_price._setMembershipCriterionBaseCategoryList(['base_contribution'])
-- 
2.30.9