rst2pdf

View on PyPIReverse Dependencies (16)

0.103.1 rst2pdf-0.103.1-py3-none-any.whl

Wheel Details

Project: rst2pdf
Version: 0.103.1
Filename: rst2pdf-0.103.1-py3-none-any.whl
Download: [link]
Size: 177225
MD5: 638b62c5196bb77b4f281bb48199e1d6
SHA256: 10baf9ca1638a228500635369ecf9850270c62b8608f49788556636aeb5c65b8
Uploaded: 2024-12-24 17:57:29 +0000

dist-info

METADATA

Metadata-Version: 2.1
Name: rst2pdf
Version: 0.103.1
Summary: Convert reStructured Text to PDF via ReportLab.
Author-Email: rst2pdf maintainers <maintainers[at]rstpdf.org>
Project-Url: Homepage, https://rst2pdf.org
Project-Url: Changelog, https://github.com/rst2pdf/rst2pdf/blob/master/CHANGES.rst
Project-Url: Releases, https://github.com/rst2pdf/rst2pdf/releases
Project-Url: Source, https://github.com/rst2pdf/rst2pdf
Project-Url: Bug Reports, https://github.com/rst2pdf/rst2pdf/issues
License: Copyright (c) 2007-2020 Roberto Alsina and the contributors to the rst2pdf project Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Keywords: convert,docutils,pdf,pygments,reportlab',restructured,rst
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Documentation
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Text Processing
Classifier: Topic :: Utilities
Requires-Python: >=3.9
Requires-Dist: docutils (~=0.21.2)
Requires-Dist: importlib-metadata (~=8.0)
Requires-Dist: jinja2 (~=3.0)
Requires-Dist: packaging (~=24.0)
Requires-Dist: pygments (~=2.0)
Requires-Dist: pyyaml (~=6.0)
Requires-Dist: reportlab (~=4.0)
Requires-Dist: smartypants (~=2.0)
Requires-Dist: aafigure; extra == "aafiguresupport"
Requires-Dist: matplotlib; extra == "mathsupport"
Requires-Dist: plantuml; extra == "plantumlsupport"
Requires-Dist: xhtml2pdf; extra == "rawhtmlsupport"
Requires-Dist: sphinx (>7.3); extra == "sphinx"
Requires-Dist: svglib; extra == "svgsupport"
Provides-Extra: aafiguresupport
Provides-Extra: mathsupport
Provides-Extra: plantumlsupport
Provides-Extra: rawhtmlsupport
Provides-Extra: sphinx
Provides-Extra: svgsupport
Description-Content-Type: text/x-rst
[Description omitted; length: 4330 characters]

WHEEL

Wheel-Version: 1.0
Generator: setuptools (75.6.0)
Root-Is-Purelib: true
Tag: py3-none-any

RECORD

Path Digest Size
rst2pdf/__init__.py sha256=JhRrZizR6M46t7wNJggLTqfhwwlfZK7GEaLj8kyXjfg 281
rst2pdf/basenodehandler.py sha256=cbXxsQLGmaijRat0GIb2siIII-goLe6PgCNRk-oMnLA 12110
rst2pdf/config.py sha256=D-B_pq557tgbYfL6nDQWJQNxUlmwFuSPM8aN0yFFz28 836
rst2pdf/createpdf.py sha256=oELUBroBspPZkPWM5aelxYptKjTBqr_auXqv9Jy0Tn0 66783
rst2pdf/dumpstyle.py sha256=k5dMyuMsIRpdsieJ7xbPI-8pSbxt_DyVz-l179fspVY 4948
rst2pdf/findfonts.py sha256=YFMpU9gA_1f7iXlQDw-XdNIaLiH5BvGU4JCcDl63XYU 13361
rst2pdf/flowables.py sha256=O2MbTxnN63cEk6TEKJGHGQ8twLeyHlqJ34KP_R92EFI 42344
rst2pdf/genelements.py sha256=hv7JULbp1mu1HJ02w_JHmUj--nf37OMtUDZaglp_jlY 40561
rst2pdf/genpdftext.py sha256=GOXBC8NOV2ujTDuar8saG8w6kNWJQJQS9A3M6tctfb8 8882
rst2pdf/image.py sha256=kt8H4_8bg6REp_iA-CfdHyCY6kCdWjNYn-FxIeP4ktM 15554
rst2pdf/languages.py sha256=bMtgaCqEsPnzsh91YGnCGz7E4l7YQtEKKfN10_5lxz0 1532
rst2pdf/log.py sha256=JsGzw1NRQ6dbcXT9Mbp4_m51DnudWzrKcM6lbXsg5Dk 716
rst2pdf/math_flowable.py sha256=wVyxxY9UbX3lqp7jU7iBWZj2S_efNEd6D96yHhP9B_4 6597
rst2pdf/nodehandlers.py sha256=v1e_3yzKtwpb6wDIxxFcVEp1m0QPcQZArSRUsdKjR1w 367
rst2pdf/pdfbuilder.py sha256=70IQLh5jU596UpGAbXlKPiAmfN8sN7bXnW7MWRey1AA 39394
rst2pdf/pygments2style.py sha256=z-CmE0uafr8fZJeESyvECCi7mxwhHHaRcF9c6rTlY80 2603
rst2pdf/rson.py sha256=Ph5MN1zBC_pfsjrBK5HCoMWYvNKMU_VZgHBESqcQ-lY 33550
rst2pdf/sectnumlinks.py sha256=dh4yMWQt-AdAJzBqjmc2l5PCSj7p2cUMrvSaTlP9uSE 877
rst2pdf/sinker.py sha256=u4eAPLS8eAqXLUDmkV44gRdDeWqXrSNrNsyVjE4t9MY 963
rst2pdf/sphinxnodes.py sha256=kUxSLAopkGLz3NCbYCOUr375HNmIQNM6I0BnSnTMKfY 7641
rst2pdf/style2yaml.py sha256=3TRIp_Q2qP6dFxqA7sq-nRPxcXPk16lAAttrdt0clFk 1912
rst2pdf/styles.py sha256=Tt4rf5wvjPDSifMKzWygA9M2xNlZLzIhoA_lK4cZjHg 35888
rst2pdf/svgimage.py sha256=40uJsAAeTuXG8-AK57YinypE9bHOUjyHjeu85CWruGk 2461
rst2pdf/utils.py sha256=se5jTV52f2qsPCOTu8o_oVLvP4efYcTf9bnB09Y8RBc 9163
rst2pdf/writer.py sha256=YuGBdhwXIKgMMz7Kr26Umb1UMjXr4KuArLsFeYIevoE 854
rst2pdf/directives/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
rst2pdf/directives/aafigure.py sha256=5CNWNfhtnVm8yI4zjGj1l5wBlEaKRtDyizRyB4P-nP4 3537
rst2pdf/directives/code_block.py sha256=E8v7klzaE6JGwMfGHdQ1pjvDg8kKQIUl_sFF12vXsHc 15317
rst2pdf/directives/contents.py sha256=4EKEGZ_uKv_-ryqW5yMTboXoqvQz-PN5tEAZUtTQVlk 2297
rst2pdf/directives/noop.py sha256=XMV-NbG57P0WZ0MQtIxr54Ya8oUdBg9N1Za1TbZ2x7I 289
rst2pdf/directives/oddeven.py sha256=dcL-jVp0wk1wIXrDZ32oFfYLe-DhJqQZOyKY7xYBh68 914
rst2pdf/extensions/__init__.py sha256=1UExJxc1iF79C2u53awqvXZl9q-mDWkPeJsE1jZ-njo 256
rst2pdf/extensions/dotted_toc.py sha256=Hiuvc2Sx0bTX3KYNrdAu3jALVOXdOKtjCdn8VR813kg 5967
rst2pdf/extensions/fancytitles.py sha256=X9QbaczBosM9WyYNCPP10OUOaHnj_Xs1GOUM3jmqULc 5572
rst2pdf/extensions/plantuml_r2p.py sha256=XnEvIScKmTFXzfZMcsbKjH_pHJ_kCpoG0-2u4ggioOA 3148
rst2pdf/extensions/preprocess_r2p.py sha256=_TIeITXJw0ZCU7q222rAOOhPXDs5LB5h2VVfbJSRyuQ 13241
rst2pdf/extensions/sample.py sha256=cqmKci9VtTYByuj0AHOQ3tsk5MKNgpWmrhKUoEyz0SI 681
rst2pdf/images/image-missing.jpg sha256=OucKiWTo2woyYrWXtE7lvIwW5i5obvjuE3inJrLr23Q 5101
rst2pdf/images/image-missing.png sha256=zem7Qkj64pZpL_iNM-W57738BT8zL7aNh-HSH0LfO8k 11228
rst2pdf/roles/__init__.py sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU 0
rst2pdf/roles/counter.py sha256=kihsn7pK2iKodXlvNKlzSrt7w4HWzGNJVCG61GU2fR0 797
rst2pdf/roles/counter_off.py sha256=OxYxgzQkFmo2sFz1nZdcRwxN4hoLcmbLER_PigQ2TpM 245
rst2pdf/roles/package.py sha256=5CyfbAKeTYGGv1MsEIF9NH_IRr18ZaMzQHcp9zrjgpA 1309
rst2pdf/styles/11x17.yaml sha256=NUPuLKto24Wp_de45nuhJmgoYhISlWtaYqilUIztsCU 35
rst2pdf/styles/a0.yaml sha256=SZzfGP5_NozkT1PQTbDfG4XAkHwiedsUzx4LG03_Rhs 22
rst2pdf/styles/a1-landscape.yaml sha256=oRoV_LI3GRW6a6hKWNrRp3aVI0ItFjruNsSERnmXkAw 32
rst2pdf/styles/a1.yaml sha256=ZMo-JB80_7bTGHT7s2ZqsRpgJeMYKo9gEdDmj2qHJfo 22
rst2pdf/styles/a2-landscape.yaml sha256=tI2_Ug2yNqv8YH8fuuQ3wxujv-7uzrPyofZM_7wDbAo 32
rst2pdf/styles/a2.yaml sha256=QMtXQZCpsuemFA5fJZ9zl92YiSrvF8X0h_YJez6Nkfg 22
rst2pdf/styles/a3-landscape.yaml sha256=5CdYG8t3lEohzbH73g8m65PxnPrX4VGUKJLNuwz757w 32
rst2pdf/styles/a3.yaml sha256=n2a4H3pDV4s9G4s3vOQal4vapw37BAP-Ha35kHgCWfM 22
rst2pdf/styles/a4-landscape.yaml sha256=ooWX6efwgVYXlGpE7qlc2rhk6tb2Zs8YqAqP-SjSZdQ 32
rst2pdf/styles/a4.yaml sha256=esgB6BV_VNIb6XVjSLTMwrop-a4Mn5mNIsMa_X6k_Q4 22
rst2pdf/styles/a5-landscape.yaml sha256=tIF265PIP4NgEfOEe-d6omXGElKyvLiyVILVmvB2tuI 32
rst2pdf/styles/a5.yaml sha256=ahYK2aRHHW_tsPCYJZSnU65FTd7vZI1YGdpBn8nhu3I 22
rst2pdf/styles/a6-landscape.yaml sha256=q-U1Y5A8v3CuV43ztbMWyA0JixrACsZ0HEwkPVpahT4 32
rst2pdf/styles/a6.yaml sha256=AyP949rR6PktuLrcMD9StOAf7oczwY1o5f6hOWrlzcI 22
rst2pdf/styles/abap.yaml sha256=16u6Yx3ERrcvCtImg177Qwa7Xx2fnSxCQTyqtrMaBbk 4542
rst2pdf/styles/algol.yaml sha256=u4juPJAXb-iNn_P2Z1IUllH8hHCF_qNXv4vKEiojRL8 5402
rst2pdf/styles/algol_nu.yaml sha256=u4juPJAXb-iNn_P2Z1IUllH8hHCF_qNXv4vKEiojRL8 5402
rst2pdf/styles/arduino.yaml sha256=ob0NOfHHhIool7iBZJDh60gf0K9Ufo4JXFl5HI2v0MI 4343
rst2pdf/styles/autumn.yaml sha256=qgjji-nypWrA1wzMxARWjvaJzIqz8nrQov8aFvBeZDo 4718
rst2pdf/styles/b0.yaml sha256=-EmGTuR4fR9YL4_FrIljYwQWCdI1ODJwFhS_BeU2Dus 22
rst2pdf/styles/b1-landscape.yaml sha256=sDysLKKJa0L90B5Xz_jptY7Th530eCYrEq8rKte7YXQ 32
rst2pdf/styles/b1.yaml sha256=4cZl6MMe6HzRltfO5IcmouY41zj4ywxZvF4SObqPSe8 22
rst2pdf/styles/b2-landscape.yaml sha256=HauV2kwlEe2Er71z7ObgWvESayp1WGxhqeGID-MgvTE 32
rst2pdf/styles/b2.yaml sha256=7uofJo0r2j3On0qS55f_dnebkioWlVnC8WXHNgLVySM 22
rst2pdf/styles/b3-landscape.yaml sha256=VLsPdR0PF8x6Cj-45InR1_WY1B3TZ64G2MYuvBMr4fw 32
rst2pdf/styles/b3.yaml sha256=HYhwO9lYSU4Vri6TJqkqTK2S8Pu6hukTus2hVhsEWuE 22
rst2pdf/styles/b4-landscape.yaml sha256=ZK6p8h-Q_v6wL2sm0MC9iX6iF1u8o1qj1tIMC0RSoT8 32
rst2pdf/styles/b4.yaml sha256=IYHJpccXHWs6gnMc3D4kpUq65NRRwGEH9kvKEG_FW_I 22
rst2pdf/styles/b5-landscape.yaml sha256=LtSO1TSnFyOc8NG8tRDms7hm0dbBuoBSQ1d_xuxt89E 32
rst2pdf/styles/b5.yaml sha256=AGztEZVXXqIqs9yuZTstw4xnU15-UdkqCqoXTzva6F4 22
rst2pdf/styles/b6-landscape.yaml sha256=NzL5ZZyVv8hf0Wn1Eq9lAcBz34ciiBa3KEirIroD0Z8 32
rst2pdf/styles/b6.yaml sha256=YOCJke4_rItZxtSqTm_tJGjYSM8NOuzK5lkpk4vZZK0 22
rst2pdf/styles/borland.yaml sha256=DiBDNygx2_9PolCVl7LB87oier2uF-rdb4ExASB-BzI 4841
rst2pdf/styles/bw.yaml sha256=n72oBy85iBAKDdlNjYqwFiGY9eGPKy39kOQjPeQzLFc 5121
rst2pdf/styles/colorful.yaml sha256=GgK-erWYTdJFF4wOZnBoLZKW4sdM7WigiNcGhITNXlk 5501
rst2pdf/styles/debugtables.yaml sha256=6yzzDP_xbfVHRWoSXvgZcDuhGsbrj_m8oaRz3731IHs 1497
rst2pdf/styles/default.yaml sha256=zoLeRstbVv4hJQtdOPNka-d1w2NfuWwdGLfGKaJayj8 5054
rst2pdf/styles/dejavu.yaml sha256=693fRw687WeZKp1ETaUojiAJ8ASq_r9YR7TLOP8OWfA 91
rst2pdf/styles/double-sided.yaml sha256=7dPJ_N_qThRqho5z2H4u7Hr8oWhfG7K2s7nBW_uSjbs 32
rst2pdf/styles/eightpoint.yaml sha256=-A4D0G7KhyogfweIv8zdfb0sx192i48PKclrFVzQKsg 32
rst2pdf/styles/emacs.yaml sha256=Mn-lVklCAxsPVsrbDEJof2VfKAjDiJnEx6VZ18Hgqns 5052
rst2pdf/styles/freetype-sans.yaml sha256=UUnfirYvG6RmJqmdbcNyGQ9W0y3XpFJy8i8P83O-MtI 76
rst2pdf/styles/freetype-serif.yaml sha256=fYs2Kga9FJ5S29gGa1GJbyfnq0DOLPO0IaVthEVaPYs 52
rst2pdf/styles/friendly.yaml sha256=sTxaBWpmhDQBQ-IzKT9srHLMIhMsiRvVS87hVeUzfII 5079
rst2pdf/styles/fruity.yaml sha256=W9qe0qi5wRz4FT2PFSJ87xxIagEVUOAroNUtLaUudoA 5327
rst2pdf/styles/igor.yaml sha256=Ow-LForWB9vwNclDoj3Z3H9tEB94vaaWllRpB-BKGA0 4438
rst2pdf/styles/legal.yaml sha256=5MSG_jgHRpAqeHv6_6Uyo_l5G1vXKce0bxZdYaWEILQ 25
rst2pdf/styles/letter-landscape.yaml sha256=rKG6XvvADBlUMZmcnqwgzrA-NG815EKHtUEc5gIv28U 36
rst2pdf/styles/letter.yaml sha256=d_ryaqywganReLDMGacM417UtqnigdgZUuaFtRWbtiQ 26
rst2pdf/styles/lovelace.yaml sha256=M6ivTTYCpQalJbeINfArTx5qZR49Xsq0_b0UODCImQE 4767
rst2pdf/styles/manni.yaml sha256=1P8wksLCqihlJCdTGF1R1n2WOZT-rMfo_xNpYiw1Q8I 5125
rst2pdf/styles/monokai.yaml sha256=ZinJlyv60GORhKO5zUj7qvffshYhjOlj8F_zGoYWa6I 4452
rst2pdf/styles/murphy.yaml sha256=0Wa0VLB7M0a4kGVQN_j3ZLRLqQzEcgO962rKeWJrFgw 5594
rst2pdf/styles/native.yaml sha256=duJ6lof04dbk-RGSvlAAXKPgIAai_qhnFICof5PGxAA 4959
rst2pdf/styles/no-compact-lists.yaml sha256=oz21NB0Ta0Gdfl9m-k3ZgOC-DfRsu1DJ25wAU2s-Vrw 122
rst2pdf/styles/paraiso-dark.yaml sha256=Vc9zjbI5qLUNjlhFfCw49MNWKoTVEQev8fTxCjEFq94 4516
rst2pdf/styles/paraiso-light.yaml sha256=xmOj3Cx4NkNshciUwU6jMmvABhIJ0HUslFyO3Ti0eLg 4516
rst2pdf/styles/pastie.yaml sha256=dqBMQY_zBshO9HR4Bfsa7gezg2FYcGfhk047Jhb4nrU 5519
rst2pdf/styles/perldoc.yaml sha256=hS1ZRRgAvbfeeHv3SrZoURy3t4r7sCpNN0mkpZ8F1oQ 4816
rst2pdf/styles/rainbow_dash.yaml sha256=uWU7UlSsrln7SaMqDW4MLAHj7riXX1mecWUz9CQU_2E 5419
rst2pdf/styles/rrt.yaml sha256=b4LuTGzCIa5v0iIyJYwsKSID-yq-3WbeycqWgeNFIzc 4251
rst2pdf/styles/rst2pdf-0-9.yaml sha256=ofSmEFRy-riZJtS6eA0bFmqCNTn22QpYnb0aeNm2BA8 13088
rst2pdf/styles/sas.yaml sha256=O7O_tOC2wdTuhqrcIDXQkYTEfhgnsBtVyjZyj2CUUNc 5016
rst2pdf/styles/serif.yaml sha256=M3oFh2TBqkgNQTGpSwmgShdUrXPcHYSKPNLmk2ZcaMA 36
rst2pdf/styles/solarized-dark.yaml sha256=GBVMAu8IbvAAUgjE-Lsx69W2X7guevIoYY4wFFDad2o 4664
rst2pdf/styles/solarized-light.yaml sha256=f-LdVh2T2ZnCCpHoM83VPsAnn4Bm16qmHztQglnJ-qU 4664
rst2pdf/styles/sphinx.yaml sha256=mEtPzp5Ql9i2B0iNfc0VbcBp63t-0z-mMgHNjHs8oqM 7685
rst2pdf/styles/stata-dark.yaml sha256=nBcROAcGbmTIAIteofFADWP_yqHxTHokHUHDZedWQbQ 4843
rst2pdf/styles/stata-light.yaml sha256=8yrlfXfpPprXe-caGbyaV1NfZ-X2dTKxYj2xNonrDAM 4839
rst2pdf/styles/stata.yaml sha256=8yrlfXfpPprXe-caGbyaV1NfZ-X2dTKxYj2xNonrDAM 4839
rst2pdf/styles/styles.yaml sha256=b5CXFqg3P92t2HrEcDUFIuWnrTqlfyOYwFuFguk97fQ 12910
rst2pdf/styles/tango.yaml sha256=Zxr0mUCzKBovC02w7MBRumaSjqsuszgQZ_7DW-xqCe0 5345
rst2pdf/styles/tenpoint.yaml sha256=VpcX9NHIENcNADwYiUkd5AmGJUjXrkMRQ0VXc2JoTXc 33
rst2pdf/styles/trac.yaml sha256=s7HPJNvf3N7lSX55EvmwFTk2pL_kRE5Yvo_oUwEK3kU 5010
rst2pdf/styles/twelvepoint.yaml sha256=IGmTvilcnrasgK5vjkkQo9O-TcGKJo5mQA3Od6Ildv0 33
rst2pdf/styles/twocolumn.yaml sha256=KTOatAfTWi_mcMC72ApjqJ788J29dnpLtPn0KbxB_Z4 77
rst2pdf/styles/vim.yaml sha256=cKVATHmGXQ1VU4xknVqq9ZE472vOhcsfs7Zk5B00oRg 4602
rst2pdf/styles/vs.yaml sha256=4SUGu8H_yxnoPiKeQ17ZdpVrDvPDTSnsC8oU4lYXENc 4364
rst2pdf/styles/xcode.yaml sha256=88B3Mc9NeFTe_s_aSuck-FcbfQgwtrX3BkXvMWG2Q4I 4351
rst2pdf/templates/cover.tmpl sha256=RKq29IfPt4BnQ4j9ibLFRq0PeI7NsVz1ODn-TIqGW6c 126
rst2pdf/templates/sphinxcover.tmpl sha256=3JCKPEsObJouwQJJhl6kkUGXw9g9hoV5t6yGOt1koBg 362
rst2pdf-0.103.1.dist-info/METADATA sha256=QaFNYRmC7L4L0y6b3lAJcUQExRTt9KaGiZUNj1XYvCg 7584
rst2pdf-0.103.1.dist-info/WHEEL sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U 91
rst2pdf-0.103.1.dist-info/entry_points.txt sha256=jOnENl0PgpQi_JOC9P8yYnR6d5u4Vn3UJ2IgLRzmP0c 51
rst2pdf-0.103.1.dist-info/top_level.txt sha256=C5tp7jLMjUdh_ZHBI0jtFRxx3npXqsQ2oCjf3we0oTw 8
rst2pdf-0.103.1.dist-info/RECORD

top_level.txt

rst2pdf

entry_points.txt

rst2pdf = rst2pdf.createpdf:main