diff --git a/build-spring-framework/build.iml b/build-spring-framework/build.iml index b5887115b1..49b4a51471 100644 --- a/build-spring-framework/build.iml +++ b/build-spring-framework/build.iml @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/org.springframework.aop/.classpath b/org.springframework.aop/.classpath index 39d224ce8d..9c4b7b80bd 100644 --- a/org.springframework.aop/.classpath +++ b/org.springframework.aop/.classpath @@ -11,9 +11,9 @@ - + - + diff --git a/org.springframework.aop/aop.iml b/org.springframework.aop/aop.iml index c4e766846b..b650a349da 100644 --- a/org.springframework.aop/aop.iml +++ b/org.springframework.aop/aop.iml @@ -1,122 +1,32 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.aop/ivy.xml b/org.springframework.aop/ivy.xml index adcf481435..71ba5635ec 100644 --- a/org.springframework.aop/ivy.xml +++ b/org.springframework.aop/ivy.xml @@ -28,13 +28,13 @@ - + - + diff --git a/org.springframework.beans/.classpath b/org.springframework.beans/.classpath index 46d24dab23..212215bd10 100644 --- a/org.springframework.beans/.classpath +++ b/org.springframework.beans/.classpath @@ -10,7 +10,7 @@ - + diff --git a/org.springframework.beans/beans.iml b/org.springframework.beans/beans.iml index 88f7c20d75..6529a8e08a 100644 --- a/org.springframework.beans/beans.iml +++ b/org.springframework.beans/beans.iml @@ -1,99 +1,28 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.beans/ivy.xml b/org.springframework.beans/ivy.xml index 3205b8568a..78dbe911b1 100644 --- a/org.springframework.beans/ivy.xml +++ b/org.springframework.beans/ivy.xml @@ -26,7 +26,7 @@ - + diff --git a/org.springframework.context.support/.classpath b/org.springframework.context.support/.classpath index 0306cb0eb9..63dea0f5d6 100644 --- a/org.springframework.context.support/.classpath +++ b/org.springframework.context.support/.classpath @@ -5,6 +5,8 @@ + + @@ -16,16 +18,14 @@ - + - - + - diff --git a/org.springframework.context.support/context-support.iml b/org.springframework.context.support/context-support.iml index 5aafbba9de..b64f0e851e 100644 --- a/org.springframework.context.support/context-support.iml +++ b/org.springframework.context.support/context-support.iml @@ -11,63 +11,25 @@ + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -85,55 +47,33 @@ - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - + @@ -151,11 +91,22 @@ - + - + + + + + + + + + + + + diff --git a/org.springframework.context.support/ivy.xml b/org.springframework.context.support/ivy.xml index cb8dfb61f7..5099f78e9a 100644 --- a/org.springframework.context.support/ivy.xml +++ b/org.springframework.context.support/ivy.xml @@ -29,15 +29,15 @@ - + - + - + @@ -45,9 +45,9 @@ - + diff --git a/org.springframework.context/.classpath b/org.springframework.context/.classpath index 1d18e3f406..37dcac5703 100644 --- a/org.springframework.context/.classpath +++ b/org.springframework.context/.classpath @@ -23,11 +23,11 @@ - + - + diff --git a/org.springframework.context/context.iml b/org.springframework.context/context.iml index 16f094b9ae..906b293e0e 100644 --- a/org.springframework.context/context.iml +++ b/org.springframework.context/context.iml @@ -1,232 +1,168 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.context/ivy.xml b/org.springframework.context/ivy.xml index bb4f7b35f4..3ba1f046f5 100644 --- a/org.springframework.context/ivy.xml +++ b/org.springframework.context/ivy.xml @@ -41,10 +41,12 @@ - + - + + + @@ -57,7 +59,7 @@ - + diff --git a/org.springframework.core/.classpath b/org.springframework.core/.classpath index 5eafe54e28..92e2e1b17e 100644 --- a/org.springframework.core/.classpath +++ b/org.springframework.core/.classpath @@ -7,8 +7,8 @@ - - + + diff --git a/org.springframework.core/core.iml b/org.springframework.core/core.iml index 62343b6a1c..552e3ec093 100644 --- a/org.springframework.core/core.iml +++ b/org.springframework.core/core.iml @@ -11,92 +11,18 @@ + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -119,15 +45,6 @@ - - - - - - - - - diff --git a/org.springframework.core/ivy.xml b/org.springframework.core/ivy.xml index a27ee7461e..ebe3803be4 100644 --- a/org.springframework.core/ivy.xml +++ b/org.springframework.core/ivy.xml @@ -26,13 +26,13 @@ conf="compile->compile"/> - - + diff --git a/org.springframework.expression/.classpath b/org.springframework.expression/.classpath index 176e4ebd76..dabad1d213 100644 --- a/org.springframework.expression/.classpath +++ b/org.springframework.expression/.classpath @@ -6,7 +6,7 @@ - + diff --git a/org.springframework.expression/expression.iml b/org.springframework.expression/expression.iml index 39c21fa774..4fb7b72337 100644 --- a/org.springframework.expression/expression.iml +++ b/org.springframework.expression/expression.iml @@ -1,49 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.expression/ivy.xml b/org.springframework.expression/ivy.xml index ed2fc4a88d..0438b4d453 100644 --- a/org.springframework.expression/ivy.xml +++ b/org.springframework.expression/ivy.xml @@ -24,7 +24,7 @@ - + diff --git a/org.springframework.instrument/instrument.iml b/org.springframework.instrument/instrument.iml index 550885dbc3..ef0c9607f1 100644 --- a/org.springframework.instrument/instrument.iml +++ b/org.springframework.instrument/instrument.iml @@ -1,21 +1,21 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.integration-tests/.classpath b/org.springframework.integration-tests/.classpath index fb4c5b6670..61c15d85be 100644 --- a/org.springframework.integration-tests/.classpath +++ b/org.springframework.integration-tests/.classpath @@ -19,7 +19,7 @@ - + @@ -36,7 +36,7 @@ - + @@ -48,7 +48,7 @@ - + diff --git a/org.springframework.integration-tests/integration-tests.iml b/org.springframework.integration-tests/integration-tests.iml index 929dba9a2a..b1984456a9 100644 --- a/org.springframework.integration-tests/integration-tests.iml +++ b/org.springframework.integration-tests/integration-tests.iml @@ -21,39 +21,14 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + @@ -184,28 +159,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -248,28 +201,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -337,22 +268,11 @@ - + - - - - - - - - - - - - + @@ -411,17 +331,6 @@ - - - - - - - - - - - @@ -431,28 +340,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -519,17 +406,6 @@ - - - - - - - - - - - @@ -557,6 +433,17 @@ + + + + + + + + + + + diff --git a/org.springframework.integration-tests/ivy.xml b/org.springframework.integration-tests/ivy.xml index a0a27a4257..6734a6d8aa 100644 --- a/org.springframework.integration-tests/ivy.xml +++ b/org.springframework.integration-tests/ivy.xml @@ -41,7 +41,7 @@ - + @@ -62,8 +62,8 @@ - - + + @@ -93,7 +93,7 @@ - + diff --git a/org.springframework.jdbc/.classpath b/org.springframework.jdbc/.classpath index fd85218782..23405bfafa 100644 --- a/org.springframework.jdbc/.classpath +++ b/org.springframework.jdbc/.classpath @@ -13,7 +13,7 @@ - + diff --git a/org.springframework.jdbc/ivy.xml b/org.springframework.jdbc/ivy.xml index f43d516931..12f678464e 100644 --- a/org.springframework.jdbc/ivy.xml +++ b/org.springframework.jdbc/ivy.xml @@ -34,7 +34,7 @@ - + diff --git a/org.springframework.jdbc/jdbc.iml b/org.springframework.jdbc/jdbc.iml index fffe32d682..f47cc6c5d5 100644 --- a/org.springframework.jdbc/jdbc.iml +++ b/org.springframework.jdbc/jdbc.iml @@ -11,22 +11,14 @@ - - - - - - - - - - - + + + @@ -74,22 +66,11 @@ - + - - - - - - - - - - - - + diff --git a/org.springframework.jms/.classpath b/org.springframework.jms/.classpath index 61ba52f582..bd0bee7a52 100644 --- a/org.springframework.jms/.classpath +++ b/org.springframework.jms/.classpath @@ -10,7 +10,7 @@ - + diff --git a/org.springframework.jms/ivy.xml b/org.springframework.jms/ivy.xml index 31181b8788..8416a751bf 100644 --- a/org.springframework.jms/ivy.xml +++ b/org.springframework.jms/ivy.xml @@ -31,7 +31,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.orm/.classpath b/org.springframework.orm/.classpath index 0dda8f0472..bfadeab398 100644 --- a/org.springframework.orm/.classpath +++ b/org.springframework.orm/.classpath @@ -18,12 +18,12 @@ - + - + diff --git a/org.springframework.orm/ivy.xml b/org.springframework.orm/ivy.xml index 92c09f0143..46a1df89db 100644 --- a/org.springframework.orm/ivy.xml +++ b/org.springframework.orm/ivy.xml @@ -53,11 +53,11 @@ - + - + diff --git a/org.springframework.orm/orm.iml b/org.springframework.orm/orm.iml index 60330185f3..76342e45bf 100644 --- a/org.springframework.orm/orm.iml +++ b/org.springframework.orm/orm.iml @@ -1,242 +1,205 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.oxm/.classpath b/org.springframework.oxm/.classpath index 97942cdf54..c6f04682f0 100644 --- a/org.springframework.oxm/.classpath +++ b/org.springframework.oxm/.classpath @@ -16,7 +16,7 @@ - + diff --git a/org.springframework.oxm/ivy.xml b/org.springframework.oxm/ivy.xml index 16d2cd3bb1..5d5ccca891 100644 --- a/org.springframework.oxm/ivy.xml +++ b/org.springframework.oxm/ivy.xml @@ -47,7 +47,7 @@ - + diff --git a/org.springframework.oxm/oxm.iml b/org.springframework.oxm/oxm.iml index 3200737785..2b8d45cb4b 100644 --- a/org.springframework.oxm/oxm.iml +++ b/org.springframework.oxm/oxm.iml @@ -1,190 +1,160 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.test/.classpath b/org.springframework.test/.classpath index 1c7f22ca97..d35f01db07 100644 --- a/org.springframework.test/.classpath +++ b/org.springframework.test/.classpath @@ -24,7 +24,7 @@ - + diff --git a/org.springframework.test/ivy.xml b/org.springframework.test/ivy.xml index ff70c28e6e..35f5ec94ea 100644 --- a/org.springframework.test/ivy.xml +++ b/org.springframework.test/ivy.xml @@ -28,7 +28,7 @@ - + diff --git a/org.springframework.test/test.iml b/org.springframework.test/test.iml index 0e479b08d1..a5a65c18b9 100644 --- a/org.springframework.test/test.iml +++ b/org.springframework.test/test.iml @@ -1,160 +1,134 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.transaction/.classpath b/org.springframework.transaction/.classpath index 5855f6bdd7..5c9e325bd6 100644 --- a/org.springframework.transaction/.classpath +++ b/org.springframework.transaction/.classpath @@ -15,9 +15,9 @@ - + - + diff --git a/org.springframework.transaction/ivy.xml b/org.springframework.transaction/ivy.xml index 4633763786..bcde85c3fe 100644 --- a/org.springframework.transaction/ivy.xml +++ b/org.springframework.transaction/ivy.xml @@ -33,8 +33,8 @@ - - + + diff --git a/org.springframework.transaction/transaction.iml b/org.springframework.transaction/transaction.iml index bcc285d4e9..ddab1b97b9 100644 --- a/org.springframework.transaction/transaction.iml +++ b/org.springframework.transaction/transaction.iml @@ -1,144 +1,83 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.web.portlet/.classpath b/org.springframework.web.portlet/.classpath index 04db23494e..53d54ce3e5 100644 --- a/org.springframework.web.portlet/.classpath +++ b/org.springframework.web.portlet/.classpath @@ -14,7 +14,7 @@ - + diff --git a/org.springframework.web.portlet/ivy.xml b/org.springframework.web.portlet/ivy.xml index 86f1a14ba2..b76d78661e 100644 --- a/org.springframework.web.portlet/ivy.xml +++ b/org.springframework.web.portlet/ivy.xml @@ -34,7 +34,7 @@ - + diff --git a/org.springframework.web.portlet/web-portlet.iml b/org.springframework.web.portlet/web-portlet.iml index 063f5ea8f5..e7abff0a9e 100644 --- a/org.springframework.web.portlet/web-portlet.iml +++ b/org.springframework.web.portlet/web-portlet.iml @@ -1,92 +1,62 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.springframework.web.servlet/.classpath b/org.springframework.web.servlet/.classpath index d3f8b65331..24e4a47bfc 100644 --- a/org.springframework.web.servlet/.classpath +++ b/org.springframework.web.servlet/.classpath @@ -40,7 +40,7 @@ - + diff --git a/org.springframework.web.servlet/ivy.xml b/org.springframework.web.servlet/ivy.xml index fa131592ba..c404a1ac15 100644 --- a/org.springframework.web.servlet/ivy.xml +++ b/org.springframework.web.servlet/ivy.xml @@ -77,7 +77,7 @@ - + diff --git a/org.springframework.web.servlet/web-servlet.iml b/org.springframework.web.servlet/web-servlet.iml index c0f853b6fe..a4c8157d07 100644 --- a/org.springframework.web.servlet/web-servlet.iml +++ b/org.springframework.web.servlet/web-servlet.iml @@ -18,14 +18,17 @@ + + + - + - + @@ -117,17 +120,6 @@ - - - - - - - - - - - @@ -139,28 +131,6 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/org.springframework.web/.classpath b/org.springframework.web/.classpath index f069407ef7..711d6ee4d3 100644 --- a/org.springframework.web/.classpath +++ b/org.springframework.web/.classpath @@ -30,7 +30,7 @@ - + diff --git a/org.springframework.web/ivy.xml b/org.springframework.web/ivy.xml index 22b23da871..005b2e1181 100644 --- a/org.springframework.web/ivy.xml +++ b/org.springframework.web/ivy.xml @@ -71,7 +71,7 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/spring-framework.ipr b/spring-framework.ipr index 7281b892da..2df8b789d5 100644 --- a/spring-framework.ipr +++ b/spring-framework.ipr @@ -1,961 +1,979 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +