diff --git a/JATS-journalpublishing1-3.dtd b/JATS-journalpublishing1-3-mathml3.dtd similarity index 92% rename from JATS-journalpublishing1-3.dtd rename to JATS-journalpublishing1-3-mathml3.dtd index f67e622..2c793ed 100755 --- a/JATS-journalpublishing1-3.dtd +++ b/JATS-journalpublishing1-3-mathml3.dtd @@ -9,8 +9,8 @@ @@ -118,10 +118,11 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) The file names and formal public identifiers have been changed in the modules and the catalogs. - 43. JATS 'v1.3d2 20201130' becomes 'v1.3 20210610' + 44. JATS 'v1.3d2 20201130' becomes 'v1.3 20210610' (final ANSI vote date) 'ANSI/NISO Z39.96-2019' becomes 'ANSI/NISO Z39.96-2021' - ============================================================== + + ============================================================== JATS Version 1.3d2 (ANSI/NISO Z39.96-2021) (DAL/BTU) v1.3d2 (2020-11-30) @@ -137,10 +138,10 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) testing. The formal public identifiers have been changed in the modules and the catalogs. - 42. ISSUE TITLE GROUP - Added to + 43. ISSUE TITLE GROUP - Added to optional and repeatable - 41. PROCESSING METADATA - A new container element was added as + 42. PROCESSING METADATA - A new container element was added as a child of
, , and to describe processing information to help determine the exact tagset flavor used by this document instance. @@ -158,10 +159,9 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) - @base-tagset (Archiving | Publishing | Authoring) - @table-model (XHTML |OASIS-CALS | both | none) - @mathml (MathML 2.0 | MathML 3.0) - - @dtd-version was also revised to be an optional - value list (still on
) + - @dtd-version was also revised (see below) - 40. DTD VERSION - The
attribute @dtd-version has been + 41. DTD VERSION - The
attribute @dtd-version has been a #FIXED attribute for all of JATS history. This is very convenient when creating documents, but problematic for archives who receive many versions over time. If a document @@ -170,7 +170,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) attribute, but will be optional, with a list of values, and with no default. - 39. JATS "v1.3d2 20201130" becomes 'v1.3 20210610' (second + 40. JATS "v1.3d2 20201130" becomes 'v1.3 20210610' (second committee draft following the final ANSI/NISO 1.2 vote) ============================================================== @@ -187,11 +187,11 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) Committee. This draft has not yet been given public review or voting. The formal public identifiers were changed in the modules and the catalogs. - - 38. QUESTION AND ANSWER MODULES - Added call to BITS question + + 39. QUESTION AND ANSWER MODULES - Added call to BITS question and answer module names question-answer ent - - 37. JATS "1.2" becomes "v1.3d1 20190831" (first committee + + 38. JATS "1.2" becomes "v1.3d1 20190831" (first committee draft following the final ANSI/NISO vote) ============================================================== @@ -206,7 +206,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) submitted for vote), becoming NISO JATS v1.2 20190208 (ANSI/NISO Z39.96-2021). - 36. JATS "1.2" becomes "v1.2 20190208" (final ANSI vote date) + 37. JATS "1.2" becomes "v1.2 20190208" (final ANSI vote date) "ANSI/NISO Z39.96-2015" becomes "ANSI/NISO Z39.96-2019" ============================================================== @@ -220,9 +220,9 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) by ANSI and NISO vote, so it supersedes all Committee Drafts and becoming NISO JATS 1.2 (ANSI/NISO Z39.96-2018). - 35. @dtd-version becomes "1.2" from "1.2d2" + 36. @dtd-version becomes "1.2" from "1.2d2" - 34. + 35. JATS "1.2d2" and "v1.2d2 20180401" became JATS "1.2" and "v1.2 20181130" @@ -242,26 +242,25 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) or voting. The formal public identifiers were changed in the modules and the catalogs. - 33. NON-MONETARY SUPPORT - Inside added new + 34. NON-MONETARY SUPPORT - Inside added new to hold both funding and non-monetary support descriptions. is both a peer to (backward compatibility) and contains . - - 32. DATE-NOT-AVAILABLE - Inside and , + + 33. DATE-NOT-AVAILABLE - Inside and , a new element was added as an alternatives to . The meaning is that a publication date was (for whatever reason) not available. Presence of the element says nothing about publication status. - - 31. INLINE (EMBEDDED) INDEX TERMS - Added invocation to BITS - inline (embedded) index term model. Terms in the narrative - text used to generate one or more indexes. - - 30. @dtd-version becomes "1.2d2" from "1.2d1" + + 32. INLINE INDEX TERMS - Added invocation to BITS inline + (embedded) index term model + + 31. @dtd-version becomes "1.2d2" from "1.2d1" - 29. BITS "2.0" and "v2.0 20151225" remain unchanged + 30. BITS "2.0" and "v2.0 20151225" remain unchanged JATS "1.2d1" and "v1.2d1 20171231" became @@ -283,7 +282,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) or voting. The formal public identifiers were changed in the modules and the catalogs. - 28. JATS "1.2d1" and "v1.2d1 20170631" became + 29. JATS "1.2d1" and "v1.2d1 20170631" became JATS "1.2d1" and "v1.2d1 20171231". ============================================================= @@ -299,13 +298,13 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) or voting. The formal public identifiers were changed in the modules and the catalogs. - 27. xsi:noNamespaceSchemaLocation added to attribute list of + 28. xsi:noNamespaceSchemaLocation added to attribute list of
. Most modern processors do not need this, but a user with an older processor requested it, so the JATS Standing Committee acquiesced. This pseudo-attribute cannot be used with a DOCTYPE declaration. - 26. FRONT STUB MODEL + 27. FRONT STUB MODEL - ARTICLE VERSION - Added new element inside to hold one version number for the article. element may repeat inside @@ -315,14 +314,14 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) - NO DATE - (optional repeatable) is now followed by the optional new element . - + - PUB-HISTORY - (optional) added to hold s. + + 26. @dtd-version becomes "1.2d1" from 1.1 - 25. @dtd-version becomes "1.2d1" from 1.1 + 25. JATS became version "1.2d1" and "v1.2d1 20170631" - 24. JATS became version "1.2d1" and "v1.2d1 20170631" - ============================================================= JATS Version 1.1 (DAL/BTU) v1.1 (2015-12-15) @@ -332,7 +331,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) identifiers were changed in the modules and the catalogs. No model or attribute changes were made at this time. - 23. JATS became version "1.1" and "v1.1 20151215" + 24. JATS became version "1.1" and "v1.1 20151215" BITS remained version "2.0" but becomes "v2.0 20151225" ============================================================= @@ -351,10 +350,10 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) the decisions that have been made by the JATS Standing Committee. - 22. ALI - Added ALI namespace for NISO Access and Indicator + 23. ALI - Added ALI namespace for NISO Access and Indicator license reference and free to read elements. - 21. JATS became version "1.1d3" and "v1.1d3 20150301" + 22. JATS became version "1.1d3" and "v1.1d3 20150301" ============================================================= JATS Version 1.1d2 (DAL/BTU) v1.1d2 (2014-09-30) @@ -369,7 +368,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) the decisions that have been made by the JATS Standing Committee. - 20. INSIDE and + 21. INSIDE and - Allowed to repeat inside , the types to be distinguished using @content-type - Added new optional element inside @@ -380,7 +379,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) - Made repeatable, for those who choose not to use the new wrapper element. - 19. JATS became version "1.1d2" and "v1.1d2 20140930//EN" + 20. JATS became version "1.1d2" and "v1.1d2 20140930//EN" ============================================================= NISO JATS Version 1.1d1 (DAL/BTU) v1.1 (2013-11-15) @@ -394,6 +393,12 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) XSDs, RNGs and supporting documentation are available at http://jats.nlm.nih.gov/1.3d2/ + 19. MATHML 3.0 - Created a new version of the Publishing DTD to + take MathML 3.0 instead of MathML 2.0. + Nothing else changed from regular Publishing DTD. + Call to MathML setup module changed and added call to the + specific MathML 3.0 modules. + 18. DTD Version - Updated the DTD-version attribute to "1.1d1" and the formal public identifier to the date: "v1.1d1 20130915//EN". @@ -414,6 +419,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) - back - front - front-stub + - sub-article 15. ABSTRACTS AND KEYWORDS Changed "abstract*" to "(%abstract.class;)*" @@ -430,7 +436,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) Details concerning ANSI/NISO Z39.96-2012 JATS-based DTDs, XSDs, RNGs and supporting documentation are available at http://jats.nlm.nih.gov/1.3d2/ - + 11. RELATED OBJECT - Added everywhere was used, including inside using front-stub-model. @@ -571,6 +577,15 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) %journalpubcustom-modules.ent; + + + +%mathml3-modules.ent; + + %journalpubcustom-models.ent; + + @@ -777,7 +794,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) -%mathmlsetup.ent; +%mathml3-mathmlsetup.ent; @@ -834,7 +851,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) %XLINK.xmlns.attrib; %MATHML.xmlns.attrib; %ali.xmlns.attrib; - %Schema.xmlns.attrib; + %Schema.xmlns.attrib; %Schema.prefix;:noNamespaceSchemaLocation CDATA #IMPLIED" > @@ -1010,7 +1027,6 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) body?, back?, floats-group?, (sub-article* | response*) )" > - +"-//NLM//DTD JATS (Z39.96) JATS DTD Suite MathML 3.0 Setup Module v1.3 20210610//EN" + Delivered as file "JATS-mathml3-mathmlsetup1-3.ent" --> - - - - + + + + - + @@ -71,7 +71,7 @@ - + @@ -120,7 +120,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) The file names and formal public identifiers have been changed in the modules and the catalogs. - 1776. JATS 'v1.3d2 20201130' becomes 'v1.3 20210610' + 7186. JATS 'v1.3d2 20201130' becomes 'v1.3 20210610' (final ANSI vote date) 'ANSI/NISO Z39.96-2019' becomes 'ANSI/NISO Z39.96-2021' @@ -140,7 +140,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) testing. The formal public identifiers have been changed in the modules and the catalogs. - 16. JATS "v1.3d2 20201130" becomes 'v1.3 20210610' (second + 17. JATS "v1.3d2 20201130" becomes 'v1.3 20210610' (second committee draft following the final ANSI/NISO 1.2 vote) ============================================================== @@ -158,7 +158,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) or voting. The formal public identifiers were changed in the modules and the catalogs. - 15. JATS "1.2" becomes "v1.3d1 20190831" (first committee + 16. JATS "1.2" becomes "v1.3d1 20190831" (first committee draft following the final ANSI/NISO vote) ============================================================== @@ -173,7 +173,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) submitted for vote), becoming NISO JATS v1.2 20190208 (ANSI/NISO Z39.96-2021). - 14. JATS "1.2" becomes "v1.2 20190208" (final ANSI vote date) + 15. JATS "1.2" becomes "v1.2 20190208" (final ANSI vote date) "ANSI/NISO Z39.96-2015" becomes "ANSI/NISO Z39.96-2019" ============================================================== @@ -187,7 +187,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) by ANSI and NISO vote, so it supersedes all Committee Drafts and becoming NISO JATS 1.2 (ANSI/NISO Z39.96-2018). - 13. + 14. JATS "1.2d2" and "v1.2d2 20180401" became JATS "1.2" and "v1.2 20181130" @@ -207,7 +207,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) or voting. The formal public identifiers were changed in the modules and the catalogs. - 12. BITS "2.0" and "v2.0 20151225" remain unchanged + 13. BITS "2.0" and "v2.0 20151225" remain unchanged JATS "1.2d1" and "v1.2d1 20171231" became @@ -229,7 +229,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) or voting. The formal public identifiers were changed in the modules and the catalogs. - 11. JATS "1.2d1" and "v1.2d1 20170631" became + 12. JATS "1.2d1" and "v1.2d1 20170631" became JATS "1.2d1" and "v1.2d1 20171231". ============================================================= @@ -244,8 +244,8 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) Committee. This draft has not yet been given public review or voting. The formal public identifiers were changed in the modules and the catalogs. - - 10. JATS became version "1.2d1" and "v1.2d1 20170631" + + 11. JATS became version "1.2d1" and "v1.2d1 20170631" ============================================================= JATS Version 1.1 (DAL/BTU) v1.1 (2015-12-15) @@ -256,7 +256,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) identifiers were changed in the modules and the catalogs. No model or attribute changes were made at this time. - 9. JATS became version "1.1" and "v1.1 20151215" + 10. JATS became version "1.1" and "v1.1 20151215" BITS remained version "2.0" but becomes "v2.0 20151225" ============================================================= @@ -275,23 +275,21 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) the decisions that have been made by the JATS Standing Committee. - 8. JATS became version "1.1d3" and "v1.1d3 20150301" - + 9. JATS became version "1.1d3" and "v1.1d3 20150301" + ============================================================= - JATS Version 1.1d2 (DAL/BTU) v1.1d2 (2014-09-30) + NISO JATS Version 1.0 (DAL/BTU) v1.0 (2012-xx-xx) - NISO JATS is a continuing maintenance NISO Standard, which - requires voting by the NISO membership to be changed. This - Committee Draft 1.1d2 will be sent to the NISO voting - membership, to become (if approved) NISO JATS 1.1. - - This catalog represents an interim version of the - non-normative JATS DTD Suite, as an indication to JATS users - the decisions that have been made by the JATS Standing - Committee. + ANSI/NISO Z39.96-2012 (Version 1.0) - 7. JATS became version "1.1d2" and "v1.1d2 20140930//EN" - + Details concerning ANSI/NISO Z39.96-2012 JATS-based DTDs, + XSDs, RNGs and supporting documentation are available at + http://jats.nlm.nih.gov/1.3d2/ + + 8. OASIS TABLE NAMESPACE MODIFICATIONS - Added a new module + that sets up the namespace URI and namespace prefix for + the OASIS tables models. + ============================================================= NISO JATS Version 1.1d1 (DAL/BTU) v1.1 (2013-11-15) @@ -303,15 +301,26 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) Details concerning ANSI/NISO Z39.96-2012 JATS-based DTDs, XSDs, RNGs and supporting documentation are available at http://jats.nlm.nih.gov/1.3d2/ - - 6. OASIS TABLE NAMESPACE MODIFICATIONS - Added a new module - that sets up the namespace URI and namespace prefix for - the OASIS tables models. - - 5. Updated the DTD-version attribute to "1.1d1" and the formal - public identifier to the date: "v1.1d1 20130915//EN". - ============================================================= + 7. PARAMETER ENTITY NAME CHANGE IN THE MATHML DTD + When MathML 2.0 became MathML 3.0, the parameter entity + %product.class; was defined both in the MathML 3.0 DTD and also + in JATS-default-classes.ent. Renamed class in the MathML DTD + until JATS names can be changed. Renamed the MathML parameter + entity to "mml-product.class". + + The name of the parameter entity that establishes the model of + the element was changed. + "Annotation-xml.content" became "annotation-xml.model". + + 6. PARAMETER ENTITY NAME CHANGE - When MathML 2.0 became MathML 3.0, + the name of the parameter entity that establishes the model of + the element was changed. + "Annotation-xml.content" became "annotation-xml.model". + + 5. MAJOR CHANGE: MathML 2.0 replaced with MathML 3.0 + + ============================================================= NISO JATS Version 1.0 (DAL/BTU) v1.0 (2012-xx-xx) ANSI/NISO Z39.96-2012 (Version 1.0) @@ -370,19 +379,11 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) - + PUBLIC "-//W3C//DTD MathML 3.0//EN" + SYSTEM "mathml3.dtd" --> @@ -439,7 +440,7 @@ Version Reason/Occasion (who) vx.x (yyyy-mm-dd) - - - + %mathml.dtd; diff --git a/JATS-mathml3-modules1-3.ent b/JATS-mathml3-modules1-3.ent new file mode 100755 index 0000000..9bfcf1f --- /dev/null +++ b/JATS-mathml3-modules1-3.ent @@ -0,0 +1,333 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mathml2-qname-1.mod b/mathml2-qname-1.mod deleted file mode 100755 index 821ef3d..0000000 --- a/mathml2-qname-1.mod +++ /dev/null @@ -1,286 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]]> - - - - -]]> - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/mathml2.dtd b/mathml2.dtd deleted file mode 100755 index 437ecd8..0000000 --- a/mathml2.dtd +++ /dev/null @@ -1,2206 +0,0 @@ - - - - - - - - - - -%mathml-qname.mod;]]> - - - -]]> - - - - - - - - - - - - - - - - - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]]> - - - - - - -]]> - - - - - -]]> - - - - - - - - - - - - -]]> - - - - - - - - - - - - - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -]]> - - - - - - - - - - - - - - - - - - - - - - - - - - - -%ent-isoamsa; - - -%ent-isoamsb; - - -%ent-isoamsc; - - -%ent-isoamsn; - - -%ent-isoamso; - - -%ent-isoamsr; - - -%ent-isogrk3; - - -%ent-isomfrk; - - -%ent-isomopf; - - -%ent-isomscr; - - -%ent-isotech; - - - - -%ent-isobox; - - -%ent-isocyr1; - - -%ent-isocyr2; - - -%ent-isodia; - - -%ent-isolat1; - - -%ent-isolat2; - - -%ent-isonum; - - -%ent-isopub; - - - - -%ent-mmlextra; - - - - -%ent-mmlalias; - -]]> - - - - - - diff --git a/mathml3-qname1.mod b/mathml3-qname1.mod new file mode 100755 index 0000000..254bdb2 --- /dev/null +++ b/mathml3-qname1.mod @@ -0,0 +1,294 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]]> + + + + +]]> + + + + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mathml3.dtd b/mathml3.dtd new file mode 100755 index 0000000..9f8a953 --- /dev/null +++ b/mathml3.dtd @@ -0,0 +1,1682 @@ + + + + + + + + + + + + + + +%mathml-qname.mod;]]> + + + +]]> + + + + + + +%isobox; + +%isocyr1; + +%isocyr2; + +%isodia; + +%isolat1; + +%isolat2; + +%isonum; + +%isopub; + +%isoamsa; + +%isoamsb; + +%isoamsc; + +%isoamsn; + +%isoamso; + +%isoamsr; + +%isogrk3; + +%isomfrk; + +%isomopf; + +%isomscr; + +%isotech; + +%mmlextra; + +%mmlalias; + +]]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +