From ed28d433301a3acc090aa1ba72ee8321317a68b6 Mon Sep 17 00:00:00 2001 From: vagra Date: Mon, 2 Nov 2020 22:09:59 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A8=E9=9D=A2=E8=B7=9F=E8=BF=9B=20docsify?= =?UTF-8?q?=20=E5=92=8C=20marked=20=E5=88=B0=E6=9C=80=E6=96=B0=E7=89=88?= =?UTF-8?q?=E6=9C=AC=EF=BC=8C=E5=90=8C=E6=97=B6=E6=94=B9=E5=8F=98=E4=BA=86?= =?UTF-8?q?=E4=BE=A7=E8=BE=B9=E6=A0=8F=E7=9A=84=E5=B1=95=E5=BC=80=E6=8A=98?= =?UTF-8?q?=E5=8F=A0=E6=A8=A1=E5=BC=8F=E4=BB=8E=E8=87=AA=E5=8A=A8=E5=88=B0?= =?UTF-8?q?=E6=89=8B=E5=8A=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 8 + _sidebar.md | 9 + css/.nojekyll | 0 css/buble.css | 1590 ++-- css/dark.css | 1590 ++-- css/dolphin.css | 1590 ++-- css/pure.css | 1588 ++-- css/themes/.nojekyll | 0 css/themes/buble.css | 2 +- css/themes/dark.css | 2 +- css/themes/dolphin.css | 2 +- css/themes/pure.css | 2 +- css/themes/vue.css | 2 +- css/vue.css | 1593 ++-- ...51\346\274\224\347\247\221\346\263\250.md" | 6193 +++++++++++++++ ...30\357\274\211\347\247\221\346\263\250.md" | 5284 +++++++++++++ ...33\351\240\214\347\247\221\345\210\244.md" | 941 +++ ...21\345\210\232\350\210\254\350\213\245.md" | 1064 +++ ...60\350\265\236\347\247\221\345\210\244.md" | 1092 +++ ...60\350\247\202\345\257\271\347\205\247.md" | 5382 +++++++++++++ ...43\345\210\206\350\277\260\350\256\232.md" | 5571 +++++++++++++ ...54\345\260\215\347\205\247\357\274\211.md" | 4162 ++++++++++ down/README.md | 21 +- index.htm | 72 +- js/.nojekyll | 0 js/docsify.js | 7043 ++++++++++++----- js/docsify.min.js | 2 +- js/plugins/.nojekyll | 0 js/plugins/emoji.js | 3322 ++++---- js/plugins/emoji.min.js | 2 +- js/plugins/external-script.min.js | 2 +- js/plugins/front-matter.min.js | 2 +- js/plugins/ga.min.js | 2 +- js/plugins/matomo.min.js | 2 +- js/plugins/search.js | 68 +- js/plugins/search.min.js | 2 +- js/plugins/zoom-image.js | 6 +- js/plugins/zoom-image.min.js | 2 +- js/prism/.nojekyll | 0 js/prism/prism-bash.min.js | 1 + js/prism/prism-c.js | 41 - js/prism/prism-c.min.js | 1 - js/prism/prism-markdown.js | 344 - js/prism/prism-markdown.min.js | 2 +- js/prism/prism-nginx.min.js | 1 + js/prism/prism-php.min.js | 1 + 46 files changed, 41571 insertions(+), 7035 deletions(-) delete mode 100644 css/.nojekyll delete mode 100644 css/themes/.nojekyll create mode 100644 "docs/\343\200\212\350\247\243\346\267\261\345\257\206\347\266\223\343\200\213\347\221\234\344\274\275\345\270\253\345\234\260\350\253\226\347\276\251\346\274\224\347\247\221\346\263\250.md" create mode 100644 "docs/\343\200\212\350\247\243\346\267\261\345\257\206\347\266\223\343\200\213\347\221\234\344\274\275\345\270\253\345\234\260\350\253\226\350\250\230\357\274\210\345\200\253\350\250\230\357\274\211\347\247\221\346\263\250.md" create mode 100644 "docs/\344\270\200\347\231\276\344\272\224\345\215\201\350\256\232\344\275\233\351\240\214\347\247\221\345\210\244.md" create mode 100644 "docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\344\271\235\346\234\203\351\207\221\345\210\232\350\210\254\350\213\245.md" create mode 100644 "docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\345\215\201\346\234\203\350\210\254\350\213\245\347\220\206\350\266\243\345\210\206\350\277\260\350\265\236\347\247\221\345\210\244.md" create mode 100644 "docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\345\233\233\346\234\203\345\260\217\345\223\201\350\210\254\350\213\245\347\216\260\350\247\202\345\257\271\347\205\247.md" create mode 100644 "docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\345\244\232\347\266\223\350\210\254\350\213\245\347\220\206\350\266\243\345\210\206\350\277\260\350\256\232.md" create mode 100644 "docs/\351\207\221\345\211\233\350\210\254\350\213\245\346\263\242\347\276\205\345\257\206\347\266\223\357\274\210\346\242\265\346\226\207\343\200\201\344\270\203\350\255\257\346\234\254\345\260\215\347\205\247\357\274\211.md" delete mode 100644 js/.nojekyll delete mode 100644 js/plugins/.nojekyll delete mode 100644 js/prism/.nojekyll create mode 100644 js/prism/prism-bash.min.js delete mode 100644 js/prism/prism-c.js delete mode 100644 js/prism/prism-c.min.js delete mode 100644 js/prism/prism-markdown.js create mode 100644 js/prism/prism-nginx.min.js create mode 100644 js/prism/prism-php.min.js diff --git a/README.md b/README.md index 93b1a3c..c84ce24 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,14 @@ * [楞严经_依圆瑛大师《大佛顶首楞严经讲义》科判](/docs/楞严经_依圆瑛大师《大佛顶首楞严经讲义》科判) * [妙法莲华经_依蕅益大师《妙法莲华经台宗会义》科判](/docs/妙法莲华经_依蕅益大师《妙法莲华经台宗会义》科判) * [唯识三十颂](/docs/唯识三十颂) +* [大般若波罗蜜多經 第四會 小品般若 现观对照](/docs/大般若波罗蜜多經第四會小品般若现观对照) +* [大般若波罗蜜多經 第九會 金刚般若](/docs/大般若波罗蜜多經第九會金刚般若) +* [大般若波罗蜜多經 第十會 般若理趣分述赞 科判](/docs/大般若波罗蜜多經第十會般若理趣分述赞科判) +* [《解深密經》瑜伽師地論記(倫記)科注](/docs/《解深密經》瑜伽師地論記(倫記)科注) +* [《解深密經》瑜伽師地論義演科注](/docs/《解深密經》瑜伽師地論義演科注) +* [大般若波羅蜜多經般若理趣分述讚 ](/docs/大般若波羅蜜多經般若理趣分述讚 ) +* [金剛般若波羅密經(梵文、七譯本對照)](/docs/金剛般若波羅密經(梵文、七譯本對照)) +* [一百五十讚佛頌科判](/docs/一百五十讚佛頌科判) * [观世音菩萨普门品义疏记会本科判](/docs/观世音菩萨普门品义疏记会本科判) * [十住毘婆沙論調伏心品](/docs/十住毘婆沙論調伏心品) * [占察善惡業報經疏示善巧說](/docs/占察善惡業報經疏示善巧說) diff --git a/_sidebar.md b/_sidebar.md index c968ae3..2e4dff3 100644 --- a/_sidebar.md +++ b/_sidebar.md @@ -3,10 +3,19 @@ * [楞严经_依圆瑛大师《大佛顶首楞严经讲义》科判](/docs/楞严经_依圆瑛大师《大佛顶首楞严经讲义》科判) * [妙法莲华经_依蕅益大师《妙法莲华经台宗会义》科判](/docs/妙法莲华经_依蕅益大师《妙法莲华经台宗会义》科判) * [唯识三十颂](/docs/唯识三十颂) + * [大般若波罗蜜多經 第四會 小品般若 现观对照](/docs/大般若波罗蜜多經第四會小品般若现观对照) + * [大般若波罗蜜多經 第九會 金刚般若](/docs/大般若波罗蜜多經第九會金刚般若) + * [大般若波罗蜜多經 第十會 般若理趣分述赞 科判](/docs/大般若波罗蜜多經第十會般若理趣分述赞科判) + * [《解深密經》瑜伽師地論記(倫記)科注](/docs/《解深密經》瑜伽師地論記(倫記)科注) + * [《解深密經》瑜伽師地論義演科注](/docs/《解深密經》瑜伽師地論義演科注) + * [大般若波羅蜜多經般若理趣分述讚 ](/docs/大般若波羅蜜多經般若理趣分述讚 ) + * [金剛般若波羅密經(梵文、七譯本對照)](/docs/金剛般若波羅密經(梵文、七譯本對照)) + * [一百五十讚佛頌科判](/docs/一百五十讚佛頌科判) * [观世音菩萨普门品义疏记会本科判](/docs/观世音菩萨普门品义疏记会本科判) * [十住毘婆沙論調伏心品](/docs/十住毘婆沙論調伏心品) * [占察善惡業報經疏示善巧說](/docs/占察善惡業報經疏示善巧說) + * Kepan Docsify * [简介](/help/) * [下载](/down/) diff --git a/css/.nojekyll b/css/.nojekyll deleted file mode 100644 index e69de29..0000000 diff --git a/css/buble.css b/css/buble.css index ca3fd32..32a0b94 100644 --- a/css/buble.css +++ b/css/buble.css @@ -108,6 +108,7 @@ li input[type='checkbox'] { } .app-nav a { color: inherit; + font-size: 16px; text-decoration: none; transition: color 0.3s; } @@ -194,6 +195,9 @@ main.hidden { text-decoration: none; transition: all 0.3s; } +.anchor span { + color: #34495e; +} .anchor:hover { text-decoration: underline; } @@ -229,9 +233,12 @@ main.hidden { padding-bottom: 40px; display: grid; } -.sidebar li.collapse .app-sub-sidebar { +.sidebar li.collapse > ul { display: none; } +.sidebar li:not(.collapse) > ul { + display: block; +} .sidebar ul { margin: 0 0 0 15px; padding: 0; @@ -305,1407 +312,1839 @@ body.sticky .sidebar-toggle { } .markdown-section h1 { display: block; + line-height: 2; } .markdown-section h1::before { - content: "H1"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "1"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h2 { display: block; + line-height: 2; } .markdown-section h2::before { - content: "H2"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "2"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h3 { display: block; + line-height: 2; } .markdown-section h3::before { - content: "H3"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "3"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h4 { display: block; + line-height: 2; } .markdown-section h4::before { - content: "H4"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "4"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h5 { display: block; + line-height: 2; } .markdown-section h5::before { - content: "H5"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "5"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h6 { display: block; + line-height: 2; } .markdown-section h6::before { - content: "H6"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "6"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h7 { display: block; + line-height: 2; } .markdown-section h7::before { - content: "H7"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "7"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h8 { display: block; + line-height: 2; } .markdown-section h8::before { - content: "H8"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "8"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h9 { display: block; + line-height: 2; } .markdown-section h9::before { - content: "H9"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "9"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h10 { display: block; + line-height: 2; } .markdown-section h10::before { - content: "H10"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "10"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h11 { display: block; + line-height: 2; } .markdown-section h11::before { - content: "H11"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "11"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h12 { display: block; + line-height: 2; } .markdown-section h12::before { - content: "H12"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "12"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h13 { display: block; + line-height: 2; } .markdown-section h13::before { - content: "H13"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "13"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h14 { display: block; + line-height: 2; } .markdown-section h14::before { - content: "H14"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "14"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h15 { display: block; + line-height: 2; } .markdown-section h15::before { - content: "H15"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "15"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h16 { display: block; + line-height: 2; } .markdown-section h16::before { - content: "H16"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "16"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h17 { display: block; + line-height: 2; } .markdown-section h17::before { - content: "H17"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "17"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h18 { display: block; + line-height: 2; } .markdown-section h18::before { - content: "H18"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "18"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h19 { display: block; + line-height: 2; } .markdown-section h19::before { - content: "H19"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "19"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h20 { display: block; + line-height: 2; } .markdown-section h20::before { - content: "H20"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "20"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h21 { display: block; + line-height: 2; } .markdown-section h21::before { - content: "H21"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "21"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h22 { display: block; + line-height: 2; } .markdown-section h22::before { - content: "H22"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "22"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h23 { display: block; + line-height: 2; } .markdown-section h23::before { - content: "H23"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "23"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h24 { display: block; + line-height: 2; } .markdown-section h24::before { - content: "H24"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "24"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h25 { display: block; + line-height: 2; } .markdown-section h25::before { - content: "H25"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "25"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h26 { display: block; + line-height: 2; } .markdown-section h26::before { - content: "H26"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "26"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h27 { display: block; + line-height: 2; } .markdown-section h27::before { - content: "H27"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "27"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h28 { display: block; + line-height: 2; } .markdown-section h28::before { - content: "H28"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "28"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h29 { display: block; + line-height: 2; } .markdown-section h29::before { - content: "H29"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "29"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h30 { display: block; + line-height: 2; } .markdown-section h30::before { - content: "H30"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "30"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h31 { display: block; + line-height: 2; } .markdown-section h31::before { - content: "H31"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "31"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h32 { display: block; + line-height: 2; } .markdown-section h32::before { - content: "H32"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "32"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h33 { display: block; + line-height: 2; } .markdown-section h33::before { - content: "H33"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "33"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h34 { display: block; + line-height: 2; } .markdown-section h34::before { - content: "H34"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "34"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h35 { display: block; + line-height: 2; } .markdown-section h35::before { - content: "H35"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "35"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h36 { display: block; + line-height: 2; } .markdown-section h36::before { - content: "H36"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "36"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h37 { display: block; + line-height: 2; } .markdown-section h37::before { - content: "H37"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "37"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h38 { display: block; + line-height: 2; } .markdown-section h38::before { - content: "H38"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "38"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h39 { display: block; + line-height: 2; } .markdown-section h39::before { - content: "H39"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "39"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h40 { display: block; + line-height: 2; } .markdown-section h40::before { - content: "H40"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "40"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h41 { display: block; + line-height: 2; } .markdown-section h41::before { - content: "H41"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "41"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h42 { display: block; + line-height: 2; } .markdown-section h42::before { - content: "H42"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "42"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h43 { display: block; + line-height: 2; } .markdown-section h43::before { - content: "H43"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "43"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h44 { display: block; + line-height: 2; } .markdown-section h44::before { - content: "H44"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "44"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h45 { display: block; + line-height: 2; } .markdown-section h45::before { - content: "H45"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "45"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h46 { display: block; + line-height: 2; } .markdown-section h46::before { - content: "H46"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "46"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h47 { display: block; + line-height: 2; } .markdown-section h47::before { - content: "H47"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "47"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h48 { display: block; + line-height: 2; } .markdown-section h48::before { - content: "H48"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "48"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h49 { display: block; + line-height: 2; } .markdown-section h49::before { - content: "H49"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "49"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h50 { display: block; + line-height: 2; } .markdown-section h50::before { - content: "H50"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "50"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h51 { display: block; + line-height: 2; } .markdown-section h51::before { - content: "H51"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "51"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h52 { display: block; + line-height: 2; } .markdown-section h52::before { - content: "H52"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "52"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h53 { display: block; + line-height: 2; } .markdown-section h53::before { - content: "H53"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "53"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h54 { display: block; + line-height: 2; } .markdown-section h54::before { - content: "H54"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "54"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h55 { display: block; + line-height: 2; } .markdown-section h55::before { - content: "H55"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "55"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h56 { display: block; + line-height: 2; } .markdown-section h56::before { - content: "H56"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "56"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h57 { display: block; + line-height: 2; } .markdown-section h57::before { - content: "H57"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "57"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h58 { display: block; + line-height: 2; } .markdown-section h58::before { - content: "H58"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "58"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h59 { display: block; + line-height: 2; } .markdown-section h59::before { - content: "H59"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "59"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h60 { display: block; + line-height: 2; } .markdown-section h60::before { - content: "H60"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "60"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h61 { display: block; + line-height: 2; } .markdown-section h61::before { - content: "H61"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "61"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h62 { display: block; + line-height: 2; } .markdown-section h62::before { - content: "H62"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "62"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h63 { display: block; + line-height: 2; } .markdown-section h63::before { - content: "H63"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "63"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h64 { display: block; + line-height: 2; } .markdown-section h64::before { - content: "H64"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "64"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h65 { display: block; + line-height: 2; } .markdown-section h65::before { - content: "H65"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "65"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h66 { display: block; + line-height: 2; } .markdown-section h66::before { - content: "H66"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "66"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h67 { display: block; + line-height: 2; } .markdown-section h67::before { - content: "H67"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "67"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h68 { display: block; + line-height: 2; } .markdown-section h68::before { - content: "H68"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "68"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h69 { display: block; + line-height: 2; } .markdown-section h69::before { - content: "H69"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "69"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h70 { display: block; + line-height: 2; } .markdown-section h70::before { - content: "H70"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "70"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h71 { display: block; + line-height: 2; } .markdown-section h71::before { - content: "H71"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "71"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h72 { display: block; + line-height: 2; } .markdown-section h72::before { - content: "H72"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "72"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h73 { display: block; + line-height: 2; } .markdown-section h73::before { - content: "H73"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "73"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h74 { display: block; + line-height: 2; } .markdown-section h74::before { - content: "H74"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "74"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h75 { display: block; + line-height: 2; } .markdown-section h75::before { - content: "H75"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "75"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h76 { display: block; + line-height: 2; } .markdown-section h76::before { - content: "H76"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "76"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h77 { display: block; + line-height: 2; } .markdown-section h77::before { - content: "H77"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "77"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h78 { display: block; + line-height: 2; } .markdown-section h78::before { - content: "H78"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "78"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h79 { display: block; + line-height: 2; } .markdown-section h79::before { - content: "H79"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "79"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h80 { display: block; + line-height: 2; } .markdown-section h80::before { - content: "H80"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "80"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h81 { display: block; + line-height: 2; } .markdown-section h81::before { - content: "H81"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "81"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h82 { display: block; + line-height: 2; } .markdown-section h82::before { - content: "H82"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "82"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h83 { display: block; + line-height: 2; } .markdown-section h83::before { - content: "H83"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "83"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h84 { display: block; + line-height: 2; } .markdown-section h84::before { - content: "H84"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "84"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h85 { display: block; + line-height: 2; } .markdown-section h85::before { - content: "H85"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "85"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h86 { display: block; + line-height: 2; } .markdown-section h86::before { - content: "H86"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "86"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h87 { display: block; + line-height: 2; } .markdown-section h87::before { - content: "H87"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "87"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h88 { display: block; + line-height: 2; } .markdown-section h88::before { - content: "H88"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "88"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h89 { display: block; + line-height: 2; } .markdown-section h89::before { - content: "H89"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "89"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h90 { display: block; + line-height: 2; } .markdown-section h90::before { - content: "H90"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "90"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h91 { display: block; + line-height: 2; } .markdown-section h91::before { - content: "H91"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "91"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h92 { display: block; + line-height: 2; } .markdown-section h92::before { - content: "H92"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "92"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h93 { display: block; + line-height: 2; } .markdown-section h93::before { - content: "H93"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "93"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h94 { display: block; + line-height: 2; } .markdown-section h94::before { - content: "H94"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "94"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h95 { display: block; + line-height: 2; } .markdown-section h95::before { - content: "H95"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "95"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h96 { display: block; + line-height: 2; } .markdown-section h96::before { - content: "H96"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "96"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h97 { display: block; + line-height: 2; } .markdown-section h97::before { - content: "H97"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "97"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h98 { display: block; + line-height: 2; } .markdown-section h98::before { - content: "H98"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "98"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h99 { display: block; + line-height: 2; } .markdown-section h99::before { - content: "H99"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "99"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h100 { display: block; + line-height: 2; } .markdown-section h100::before { - content: "H100"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "100"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h101 { display: block; + line-height: 2; } .markdown-section h101::before { - content: "H101"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "101"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h102 { display: block; + line-height: 2; } .markdown-section h102::before { - content: "H102"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "102"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h103 { display: block; + line-height: 2; } .markdown-section h103::before { - content: "H103"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "103"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h104 { display: block; + line-height: 2; } .markdown-section h104::before { - content: "H104"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "104"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h105 { display: block; + line-height: 2; } .markdown-section h105::before { - content: "H105"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "105"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h106 { display: block; + line-height: 2; } .markdown-section h106::before { - content: "H106"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "106"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h107 { display: block; + line-height: 2; } .markdown-section h107::before { - content: "H107"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "107"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h108 { display: block; + line-height: 2; } .markdown-section h108::before { - content: "H108"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "108"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .lv1::before { - content: "H1"; - font-size: 0.5rem; + content: "1"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv2::before { - content: "H2"; - font-size: 0.5rem; + content: "2"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv3::before { - content: "H3"; - font-size: 0.5rem; + content: "3"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv4::before { - content: "H4"; - font-size: 0.5rem; + content: "4"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv5::before { - content: "H5"; - font-size: 0.5rem; + content: "5"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv6::before { - content: "H6"; - font-size: 0.5rem; + content: "6"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv7::before { - content: "H7"; - font-size: 0.5rem; + content: "7"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv8::before { - content: "H8"; - font-size: 0.5rem; + content: "8"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv9::before { - content: "H9"; - font-size: 0.5rem; + content: "9"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv10::before { - content: "H10"; - font-size: 0.5rem; + content: "10"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv11::before { - content: "H11"; - font-size: 0.5rem; + content: "11"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv12::before { - content: "H12"; - font-size: 0.5rem; + content: "12"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv13::before { - content: "H13"; - font-size: 0.5rem; + content: "13"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv14::before { - content: "H14"; - font-size: 0.5rem; + content: "14"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv15::before { - content: "H15"; - font-size: 0.5rem; + content: "15"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv16::before { - content: "H16"; - font-size: 0.5rem; + content: "16"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv17::before { - content: "H17"; - font-size: 0.5rem; + content: "17"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv18::before { - content: "H18"; - font-size: 0.5rem; + content: "18"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv19::before { - content: "H19"; - font-size: 0.5rem; + content: "19"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv20::before { - content: "H20"; - font-size: 0.5rem; + content: "20"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv21::before { - content: "H21"; - font-size: 0.5rem; + content: "21"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv22::before { - content: "H22"; - font-size: 0.5rem; + content: "22"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv23::before { - content: "H23"; - font-size: 0.5rem; + content: "23"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv24::before { - content: "H24"; - font-size: 0.5rem; + content: "24"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv25::before { - content: "H25"; - font-size: 0.5rem; + content: "25"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv26::before { - content: "H26"; - font-size: 0.5rem; + content: "26"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv27::before { - content: "H27"; - font-size: 0.5rem; + content: "27"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv28::before { - content: "H28"; - font-size: 0.5rem; + content: "28"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv29::before { - content: "H29"; - font-size: 0.5rem; + content: "29"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv30::before { - content: "H30"; - font-size: 0.5rem; + content: "30"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv31::before { - content: "H31"; - font-size: 0.5rem; + content: "31"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv32::before { - content: "H32"; - font-size: 0.5rem; + content: "32"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv33::before { - content: "H33"; - font-size: 0.5rem; + content: "33"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv34::before { - content: "H34"; - font-size: 0.5rem; + content: "34"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv35::before { - content: "H35"; - font-size: 0.5rem; + content: "35"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv36::before { - content: "H36"; - font-size: 0.5rem; + content: "36"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv37::before { - content: "H37"; - font-size: 0.5rem; + content: "37"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv38::before { - content: "H38"; - font-size: 0.5rem; + content: "38"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv39::before { - content: "H39"; - font-size: 0.5rem; + content: "39"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv40::before { - content: "H40"; - font-size: 0.5rem; + content: "40"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv41::before { - content: "H41"; - font-size: 0.5rem; + content: "41"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv42::before { - content: "H42"; - font-size: 0.5rem; + content: "42"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv43::before { - content: "H43"; - font-size: 0.5rem; + content: "43"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv44::before { - content: "H44"; - font-size: 0.5rem; + content: "44"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv45::before { - content: "H45"; - font-size: 0.5rem; + content: "45"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv46::before { - content: "H46"; - font-size: 0.5rem; + content: "46"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv47::before { - content: "H47"; - font-size: 0.5rem; + content: "47"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv48::before { - content: "H48"; - font-size: 0.5rem; + content: "48"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv49::before { - content: "H49"; - font-size: 0.5rem; + content: "49"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv50::before { - content: "H50"; - font-size: 0.5rem; + content: "50"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv51::before { - content: "H51"; - font-size: 0.5rem; + content: "51"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv52::before { - content: "H52"; - font-size: 0.5rem; + content: "52"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv53::before { - content: "H53"; - font-size: 0.5rem; + content: "53"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv54::before { - content: "H54"; - font-size: 0.5rem; + content: "54"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv55::before { - content: "H55"; - font-size: 0.5rem; + content: "55"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv56::before { - content: "H56"; - font-size: 0.5rem; + content: "56"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv57::before { - content: "H57"; - font-size: 0.5rem; + content: "57"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv58::before { - content: "H58"; - font-size: 0.5rem; + content: "58"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv59::before { - content: "H59"; - font-size: 0.5rem; + content: "59"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv60::before { - content: "H60"; - font-size: 0.5rem; + content: "60"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv61::before { - content: "H61"; - font-size: 0.5rem; + content: "61"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv62::before { - content: "H62"; - font-size: 0.5rem; + content: "62"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv63::before { - content: "H63"; - font-size: 0.5rem; + content: "63"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv64::before { - content: "H64"; - font-size: 0.5rem; + content: "64"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv65::before { - content: "H65"; - font-size: 0.5rem; + content: "65"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv66::before { - content: "H66"; - font-size: 0.5rem; + content: "66"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv67::before { - content: "H67"; - font-size: 0.5rem; + content: "67"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv68::before { - content: "H68"; - font-size: 0.5rem; + content: "68"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv69::before { - content: "H69"; - font-size: 0.5rem; + content: "69"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv70::before { - content: "H70"; - font-size: 0.5rem; + content: "70"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv71::before { - content: "H71"; - font-size: 0.5rem; + content: "71"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv72::before { - content: "H72"; - font-size: 0.5rem; + content: "72"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv73::before { - content: "H73"; - font-size: 0.5rem; + content: "73"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv74::before { - content: "H74"; - font-size: 0.5rem; + content: "74"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv75::before { - content: "H75"; - font-size: 0.5rem; + content: "75"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv76::before { - content: "H76"; - font-size: 0.5rem; + content: "76"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv77::before { - content: "H77"; - font-size: 0.5rem; + content: "77"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv78::before { - content: "H78"; - font-size: 0.5rem; + content: "78"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv79::before { - content: "H79"; - font-size: 0.5rem; + content: "79"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv80::before { - content: "H80"; - font-size: 0.5rem; + content: "80"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv81::before { - content: "H81"; - font-size: 0.5rem; + content: "81"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv82::before { - content: "H82"; - font-size: 0.5rem; + content: "82"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv83::before { - content: "H83"; - font-size: 0.5rem; + content: "83"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv84::before { - content: "H84"; - font-size: 0.5rem; + content: "84"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv85::before { - content: "H85"; - font-size: 0.5rem; + content: "85"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv86::before { - content: "H86"; - font-size: 0.5rem; + content: "86"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv87::before { - content: "H87"; - font-size: 0.5rem; + content: "87"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv88::before { - content: "H88"; - font-size: 0.5rem; + content: "88"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv89::before { - content: "H89"; - font-size: 0.5rem; + content: "89"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv90::before { - content: "H90"; - font-size: 0.5rem; + content: "90"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv91::before { - content: "H91"; - font-size: 0.5rem; + content: "91"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv92::before { - content: "H92"; - font-size: 0.5rem; + content: "92"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv93::before { - content: "H93"; - font-size: 0.5rem; + content: "93"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv94::before { - content: "H94"; - font-size: 0.5rem; + content: "94"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv95::before { - content: "H95"; - font-size: 0.5rem; + content: "95"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv96::before { - content: "H96"; - font-size: 0.5rem; + content: "96"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv97::before { - content: "H97"; - font-size: 0.5rem; + content: "97"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv98::before { - content: "H98"; - font-size: 0.5rem; + content: "98"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv99::before { - content: "H99"; - font-size: 0.5rem; + content: "99"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv100::before { - content: "H100"; - font-size: 0.5rem; + content: "100"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv101::before { - content: "H101"; - font-size: 0.5rem; + content: "101"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv102::before { - content: "H102"; - font-size: 0.5rem; + content: "102"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv103::before { - content: "H103"; - font-size: 0.5rem; + content: "103"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv104::before { - content: "H104"; - font-size: 0.5rem; + content: "104"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv105::before { - content: "H105"; - font-size: 0.5rem; + content: "105"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv106::before { - content: "H106"; - font-size: 0.5rem; + content: "106"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv107::before { - content: "H107"; - font-size: 0.5rem; + content: "107"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv108::before { - content: "H108"; - font-size: 0.5rem; + content: "108"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .markdown-section { margin: 0 auto; @@ -1835,6 +2274,7 @@ body.close .content { left: 0; max-width: 100vw; position: static; + padding-top: 20px; transition: transform 250ms ease; } .app-nav, @@ -1846,12 +2286,6 @@ body.close .content { width: auto; padding: 30px 30px 10px 10px; } - .markdown-section { - max-width: 99%; - } - .markdown-section p { - font-size: 20px; - } body.close .sidebar { transform: translateX(100vw); } @@ -1877,42 +2311,33 @@ body.close .content { animation: octocat-wave 560ms ease-in-out; } } -.app-sub-sidebar ul { - display: none; -} -.app-sub-sidebar ul.parent, -.app-sub-sidebar ul.wife, -.app-sub-sidebar ul.expand { - display: block; -} -.app-sub-sidebar ul.parent.expand, -.app-sub-sidebar ul.wife.expand { - display: none; -} -.app-sub-sidebar li span { - position: absolute; - font-family: Consolas, "Courier New", "Lucida Console", Monaco, Courier, monospace; - font-size: 24px; -} -.app-sub-sidebar li span:after { - content: '\00A0'; -} -.app-sub-sidebar li span.change:after { +.app-sub-sidebar li > span:after { content: '\00A0'; + font-size: 12px; + line-height: 1em; + padding: 0 6px 0 0; + float: left; } .app-sub-sidebar li.has-children > span:after { - content: '+'; -} -.app-sub-sidebar li.has-children > span.change:after { - content: '-'; -} -.app-sub-sidebar li.parent > span:after, -.app-sub-sidebar li.has-children.active > span:after { - content: '-'; -} -.app-sub-sidebar li.parent > span.change:after, -.app-sub-sidebar li.has-children.active > span.change:after { - content: '+'; + -ms-writing-mode: tb-lr; + writing-mode: vertical-lr; + content: '\276F'; + font-size: 12px; + line-height: 1em; + padding: 12px 0 0 0; + float: left; +} +.app-sub-sidebar li.has-children.collapse > span:after { + -ms-writing-mode: lr-tb; + writing-mode: horizontal-tb; + content: '\276F'; + font-size: 12px; + line-height: 1em; + padding: 9px 4px 0 2px; + float: left; +} +.app-sub-sidebar li.front:not(.active) > a { + border: 2px solid var(--theme-color, #0074d9); } .current span { color: #c94922; @@ -1966,7 +2391,7 @@ section.cover .cover-main { flex: 1; margin: -20px 16px 0; text-align: center; - z-index: 1; + position: relative; } section.cover a { color: inherit; @@ -2066,13 +2491,12 @@ section.cover blockquote > p > a:hover { .sidebar li.active a { color: #333; } -/* markdown content found on pages */ .markdown-section strong { color: #333; font-weight: 600; } .markdown-section a { - color: #505d6b; + color: var(--theme-color, #0074d9); } .markdown-section p, .markdown-section ul, diff --git a/css/dark.css b/css/dark.css index de49b74..2af63d8 100644 --- a/css/dark.css +++ b/css/dark.css @@ -108,6 +108,7 @@ li input[type='checkbox'] { } .app-nav a { color: inherit; + font-size: 16px; text-decoration: none; transition: color 0.3s; } @@ -194,6 +195,9 @@ main.hidden { text-decoration: none; transition: all 0.3s; } +.anchor span { + color: #c8c8c8; +} .anchor:hover { text-decoration: underline; } @@ -229,9 +233,12 @@ main.hidden { padding-bottom: 40px; display: grid; } -.sidebar li.collapse .app-sub-sidebar { +.sidebar li.collapse > ul { display: none; } +.sidebar li:not(.collapse) > ul { + display: block; +} .sidebar ul { margin: 0 0 0 15px; padding: 0; @@ -305,1407 +312,1839 @@ body.sticky .sidebar-toggle { } .markdown-section h1 { display: block; + line-height: 2; } .markdown-section h1::before { - content: "H1"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "1"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h2 { display: block; + line-height: 2; } .markdown-section h2::before { - content: "H2"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "2"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h3 { display: block; + line-height: 2; } .markdown-section h3::before { - content: "H3"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "3"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h4 { display: block; + line-height: 2; } .markdown-section h4::before { - content: "H4"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "4"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h5 { display: block; + line-height: 2; } .markdown-section h5::before { - content: "H5"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "5"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h6 { display: block; + line-height: 2; } .markdown-section h6::before { - content: "H6"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "6"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h7 { display: block; + line-height: 2; } .markdown-section h7::before { - content: "H7"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "7"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h8 { display: block; + line-height: 2; } .markdown-section h8::before { - content: "H8"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "8"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h9 { display: block; + line-height: 2; } .markdown-section h9::before { - content: "H9"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "9"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h10 { display: block; + line-height: 2; } .markdown-section h10::before { - content: "H10"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "10"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h11 { display: block; + line-height: 2; } .markdown-section h11::before { - content: "H11"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "11"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h12 { display: block; + line-height: 2; } .markdown-section h12::before { - content: "H12"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "12"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h13 { display: block; + line-height: 2; } .markdown-section h13::before { - content: "H13"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "13"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h14 { display: block; + line-height: 2; } .markdown-section h14::before { - content: "H14"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "14"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h15 { display: block; + line-height: 2; } .markdown-section h15::before { - content: "H15"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "15"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h16 { display: block; + line-height: 2; } .markdown-section h16::before { - content: "H16"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "16"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h17 { display: block; + line-height: 2; } .markdown-section h17::before { - content: "H17"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "17"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h18 { display: block; + line-height: 2; } .markdown-section h18::before { - content: "H18"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "18"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h19 { display: block; + line-height: 2; } .markdown-section h19::before { - content: "H19"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "19"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h20 { display: block; + line-height: 2; } .markdown-section h20::before { - content: "H20"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "20"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h21 { display: block; + line-height: 2; } .markdown-section h21::before { - content: "H21"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "21"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h22 { display: block; + line-height: 2; } .markdown-section h22::before { - content: "H22"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "22"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h23 { display: block; + line-height: 2; } .markdown-section h23::before { - content: "H23"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "23"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h24 { display: block; + line-height: 2; } .markdown-section h24::before { - content: "H24"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "24"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h25 { display: block; + line-height: 2; } .markdown-section h25::before { - content: "H25"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "25"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h26 { display: block; + line-height: 2; } .markdown-section h26::before { - content: "H26"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "26"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h27 { display: block; + line-height: 2; } .markdown-section h27::before { - content: "H27"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "27"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h28 { display: block; + line-height: 2; } .markdown-section h28::before { - content: "H28"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "28"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h29 { display: block; + line-height: 2; } .markdown-section h29::before { - content: "H29"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "29"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h30 { display: block; + line-height: 2; } .markdown-section h30::before { - content: "H30"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "30"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h31 { display: block; + line-height: 2; } .markdown-section h31::before { - content: "H31"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "31"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h32 { display: block; + line-height: 2; } .markdown-section h32::before { - content: "H32"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "32"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h33 { display: block; + line-height: 2; } .markdown-section h33::before { - content: "H33"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "33"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h34 { display: block; + line-height: 2; } .markdown-section h34::before { - content: "H34"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "34"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h35 { display: block; + line-height: 2; } .markdown-section h35::before { - content: "H35"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "35"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h36 { display: block; + line-height: 2; } .markdown-section h36::before { - content: "H36"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "36"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h37 { display: block; + line-height: 2; } .markdown-section h37::before { - content: "H37"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "37"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h38 { display: block; + line-height: 2; } .markdown-section h38::before { - content: "H38"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "38"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h39 { display: block; + line-height: 2; } .markdown-section h39::before { - content: "H39"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "39"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h40 { display: block; + line-height: 2; } .markdown-section h40::before { - content: "H40"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "40"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h41 { display: block; + line-height: 2; } .markdown-section h41::before { - content: "H41"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "41"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h42 { display: block; + line-height: 2; } .markdown-section h42::before { - content: "H42"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "42"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h43 { display: block; + line-height: 2; } .markdown-section h43::before { - content: "H43"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "43"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h44 { display: block; + line-height: 2; } .markdown-section h44::before { - content: "H44"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "44"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h45 { display: block; + line-height: 2; } .markdown-section h45::before { - content: "H45"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "45"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h46 { display: block; + line-height: 2; } .markdown-section h46::before { - content: "H46"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "46"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h47 { display: block; + line-height: 2; } .markdown-section h47::before { - content: "H47"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "47"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h48 { display: block; + line-height: 2; } .markdown-section h48::before { - content: "H48"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "48"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h49 { display: block; + line-height: 2; } .markdown-section h49::before { - content: "H49"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "49"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h50 { display: block; + line-height: 2; } .markdown-section h50::before { - content: "H50"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "50"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h51 { display: block; + line-height: 2; } .markdown-section h51::before { - content: "H51"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "51"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h52 { display: block; + line-height: 2; } .markdown-section h52::before { - content: "H52"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "52"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h53 { display: block; + line-height: 2; } .markdown-section h53::before { - content: "H53"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "53"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h54 { display: block; + line-height: 2; } .markdown-section h54::before { - content: "H54"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "54"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h55 { display: block; + line-height: 2; } .markdown-section h55::before { - content: "H55"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "55"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h56 { display: block; + line-height: 2; } .markdown-section h56::before { - content: "H56"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "56"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h57 { display: block; + line-height: 2; } .markdown-section h57::before { - content: "H57"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "57"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h58 { display: block; + line-height: 2; } .markdown-section h58::before { - content: "H58"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "58"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h59 { display: block; + line-height: 2; } .markdown-section h59::before { - content: "H59"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "59"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h60 { display: block; + line-height: 2; } .markdown-section h60::before { - content: "H60"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "60"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h61 { display: block; + line-height: 2; } .markdown-section h61::before { - content: "H61"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "61"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h62 { display: block; + line-height: 2; } .markdown-section h62::before { - content: "H62"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "62"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h63 { display: block; + line-height: 2; } .markdown-section h63::before { - content: "H63"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "63"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h64 { display: block; + line-height: 2; } .markdown-section h64::before { - content: "H64"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "64"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h65 { display: block; + line-height: 2; } .markdown-section h65::before { - content: "H65"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "65"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h66 { display: block; + line-height: 2; } .markdown-section h66::before { - content: "H66"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "66"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h67 { display: block; + line-height: 2; } .markdown-section h67::before { - content: "H67"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "67"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h68 { display: block; + line-height: 2; } .markdown-section h68::before { - content: "H68"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "68"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h69 { display: block; + line-height: 2; } .markdown-section h69::before { - content: "H69"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "69"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h70 { display: block; + line-height: 2; } .markdown-section h70::before { - content: "H70"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "70"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h71 { display: block; + line-height: 2; } .markdown-section h71::before { - content: "H71"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "71"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h72 { display: block; + line-height: 2; } .markdown-section h72::before { - content: "H72"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "72"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h73 { display: block; + line-height: 2; } .markdown-section h73::before { - content: "H73"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "73"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h74 { display: block; + line-height: 2; } .markdown-section h74::before { - content: "H74"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "74"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h75 { display: block; + line-height: 2; } .markdown-section h75::before { - content: "H75"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "75"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h76 { display: block; + line-height: 2; } .markdown-section h76::before { - content: "H76"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "76"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h77 { display: block; + line-height: 2; } .markdown-section h77::before { - content: "H77"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "77"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h78 { display: block; + line-height: 2; } .markdown-section h78::before { - content: "H78"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "78"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h79 { display: block; + line-height: 2; } .markdown-section h79::before { - content: "H79"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "79"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h80 { display: block; + line-height: 2; } .markdown-section h80::before { - content: "H80"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "80"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h81 { display: block; + line-height: 2; } .markdown-section h81::before { - content: "H81"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "81"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h82 { display: block; + line-height: 2; } .markdown-section h82::before { - content: "H82"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "82"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h83 { display: block; + line-height: 2; } .markdown-section h83::before { - content: "H83"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "83"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h84 { display: block; + line-height: 2; } .markdown-section h84::before { - content: "H84"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "84"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h85 { display: block; + line-height: 2; } .markdown-section h85::before { - content: "H85"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "85"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h86 { display: block; + line-height: 2; } .markdown-section h86::before { - content: "H86"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "86"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h87 { display: block; + line-height: 2; } .markdown-section h87::before { - content: "H87"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "87"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h88 { display: block; + line-height: 2; } .markdown-section h88::before { - content: "H88"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "88"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h89 { display: block; + line-height: 2; } .markdown-section h89::before { - content: "H89"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "89"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h90 { display: block; + line-height: 2; } .markdown-section h90::before { - content: "H90"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "90"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h91 { display: block; + line-height: 2; } .markdown-section h91::before { - content: "H91"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "91"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h92 { display: block; + line-height: 2; } .markdown-section h92::before { - content: "H92"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "92"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h93 { display: block; + line-height: 2; } .markdown-section h93::before { - content: "H93"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "93"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h94 { display: block; + line-height: 2; } .markdown-section h94::before { - content: "H94"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "94"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h95 { display: block; + line-height: 2; } .markdown-section h95::before { - content: "H95"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "95"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h96 { display: block; + line-height: 2; } .markdown-section h96::before { - content: "H96"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "96"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h97 { display: block; + line-height: 2; } .markdown-section h97::before { - content: "H97"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "97"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h98 { display: block; + line-height: 2; } .markdown-section h98::before { - content: "H98"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "98"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h99 { display: block; + line-height: 2; } .markdown-section h99::before { - content: "H99"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "99"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h100 { display: block; + line-height: 2; } .markdown-section h100::before { - content: "H100"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "100"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h101 { display: block; + line-height: 2; } .markdown-section h101::before { - content: "H101"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "101"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h102 { display: block; + line-height: 2; } .markdown-section h102::before { - content: "H102"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "102"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h103 { display: block; + line-height: 2; } .markdown-section h103::before { - content: "H103"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "103"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h104 { display: block; + line-height: 2; } .markdown-section h104::before { - content: "H104"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "104"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h105 { display: block; + line-height: 2; } .markdown-section h105::before { - content: "H105"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "105"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h106 { display: block; + line-height: 2; } .markdown-section h106::before { - content: "H106"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "106"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h107 { display: block; + line-height: 2; } .markdown-section h107::before { - content: "H107"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "107"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h108 { display: block; + line-height: 2; } .markdown-section h108::before { - content: "H108"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "108"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .lv1::before { - content: "H1"; - font-size: 0.5rem; + content: "1"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv2::before { - content: "H2"; - font-size: 0.5rem; + content: "2"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv3::before { - content: "H3"; - font-size: 0.5rem; + content: "3"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv4::before { - content: "H4"; - font-size: 0.5rem; + content: "4"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv5::before { - content: "H5"; - font-size: 0.5rem; + content: "5"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv6::before { - content: "H6"; - font-size: 0.5rem; + content: "6"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv7::before { - content: "H7"; - font-size: 0.5rem; + content: "7"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv8::before { - content: "H8"; - font-size: 0.5rem; + content: "8"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv9::before { - content: "H9"; - font-size: 0.5rem; + content: "9"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv10::before { - content: "H10"; - font-size: 0.5rem; + content: "10"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv11::before { - content: "H11"; - font-size: 0.5rem; + content: "11"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv12::before { - content: "H12"; - font-size: 0.5rem; + content: "12"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv13::before { - content: "H13"; - font-size: 0.5rem; + content: "13"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv14::before { - content: "H14"; - font-size: 0.5rem; + content: "14"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv15::before { - content: "H15"; - font-size: 0.5rem; + content: "15"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv16::before { - content: "H16"; - font-size: 0.5rem; + content: "16"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv17::before { - content: "H17"; - font-size: 0.5rem; + content: "17"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv18::before { - content: "H18"; - font-size: 0.5rem; + content: "18"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv19::before { - content: "H19"; - font-size: 0.5rem; + content: "19"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv20::before { - content: "H20"; - font-size: 0.5rem; + content: "20"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv21::before { - content: "H21"; - font-size: 0.5rem; + content: "21"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv22::before { - content: "H22"; - font-size: 0.5rem; + content: "22"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv23::before { - content: "H23"; - font-size: 0.5rem; + content: "23"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv24::before { - content: "H24"; - font-size: 0.5rem; + content: "24"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv25::before { - content: "H25"; - font-size: 0.5rem; + content: "25"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv26::before { - content: "H26"; - font-size: 0.5rem; + content: "26"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv27::before { - content: "H27"; - font-size: 0.5rem; + content: "27"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv28::before { - content: "H28"; - font-size: 0.5rem; + content: "28"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv29::before { - content: "H29"; - font-size: 0.5rem; + content: "29"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv30::before { - content: "H30"; - font-size: 0.5rem; + content: "30"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv31::before { - content: "H31"; - font-size: 0.5rem; + content: "31"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv32::before { - content: "H32"; - font-size: 0.5rem; + content: "32"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv33::before { - content: "H33"; - font-size: 0.5rem; + content: "33"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv34::before { - content: "H34"; - font-size: 0.5rem; + content: "34"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv35::before { - content: "H35"; - font-size: 0.5rem; + content: "35"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv36::before { - content: "H36"; - font-size: 0.5rem; + content: "36"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv37::before { - content: "H37"; - font-size: 0.5rem; + content: "37"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv38::before { - content: "H38"; - font-size: 0.5rem; + content: "38"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv39::before { - content: "H39"; - font-size: 0.5rem; + content: "39"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv40::before { - content: "H40"; - font-size: 0.5rem; + content: "40"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv41::before { - content: "H41"; - font-size: 0.5rem; + content: "41"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv42::before { - content: "H42"; - font-size: 0.5rem; + content: "42"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv43::before { - content: "H43"; - font-size: 0.5rem; + content: "43"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv44::before { - content: "H44"; - font-size: 0.5rem; + content: "44"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv45::before { - content: "H45"; - font-size: 0.5rem; + content: "45"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv46::before { - content: "H46"; - font-size: 0.5rem; + content: "46"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv47::before { - content: "H47"; - font-size: 0.5rem; + content: "47"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv48::before { - content: "H48"; - font-size: 0.5rem; + content: "48"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv49::before { - content: "H49"; - font-size: 0.5rem; + content: "49"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv50::before { - content: "H50"; - font-size: 0.5rem; + content: "50"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv51::before { - content: "H51"; - font-size: 0.5rem; + content: "51"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv52::before { - content: "H52"; - font-size: 0.5rem; + content: "52"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv53::before { - content: "H53"; - font-size: 0.5rem; + content: "53"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv54::before { - content: "H54"; - font-size: 0.5rem; + content: "54"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv55::before { - content: "H55"; - font-size: 0.5rem; + content: "55"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv56::before { - content: "H56"; - font-size: 0.5rem; + content: "56"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv57::before { - content: "H57"; - font-size: 0.5rem; + content: "57"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv58::before { - content: "H58"; - font-size: 0.5rem; + content: "58"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv59::before { - content: "H59"; - font-size: 0.5rem; + content: "59"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv60::before { - content: "H60"; - font-size: 0.5rem; + content: "60"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv61::before { - content: "H61"; - font-size: 0.5rem; + content: "61"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv62::before { - content: "H62"; - font-size: 0.5rem; + content: "62"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv63::before { - content: "H63"; - font-size: 0.5rem; + content: "63"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv64::before { - content: "H64"; - font-size: 0.5rem; + content: "64"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv65::before { - content: "H65"; - font-size: 0.5rem; + content: "65"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv66::before { - content: "H66"; - font-size: 0.5rem; + content: "66"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv67::before { - content: "H67"; - font-size: 0.5rem; + content: "67"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv68::before { - content: "H68"; - font-size: 0.5rem; + content: "68"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv69::before { - content: "H69"; - font-size: 0.5rem; + content: "69"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv70::before { - content: "H70"; - font-size: 0.5rem; + content: "70"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv71::before { - content: "H71"; - font-size: 0.5rem; + content: "71"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv72::before { - content: "H72"; - font-size: 0.5rem; + content: "72"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv73::before { - content: "H73"; - font-size: 0.5rem; + content: "73"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv74::before { - content: "H74"; - font-size: 0.5rem; + content: "74"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv75::before { - content: "H75"; - font-size: 0.5rem; + content: "75"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv76::before { - content: "H76"; - font-size: 0.5rem; + content: "76"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv77::before { - content: "H77"; - font-size: 0.5rem; + content: "77"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv78::before { - content: "H78"; - font-size: 0.5rem; + content: "78"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv79::before { - content: "H79"; - font-size: 0.5rem; + content: "79"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv80::before { - content: "H80"; - font-size: 0.5rem; + content: "80"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv81::before { - content: "H81"; - font-size: 0.5rem; + content: "81"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv82::before { - content: "H82"; - font-size: 0.5rem; + content: "82"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv83::before { - content: "H83"; - font-size: 0.5rem; + content: "83"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv84::before { - content: "H84"; - font-size: 0.5rem; + content: "84"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv85::before { - content: "H85"; - font-size: 0.5rem; + content: "85"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv86::before { - content: "H86"; - font-size: 0.5rem; + content: "86"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv87::before { - content: "H87"; - font-size: 0.5rem; + content: "87"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv88::before { - content: "H88"; - font-size: 0.5rem; + content: "88"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv89::before { - content: "H89"; - font-size: 0.5rem; + content: "89"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv90::before { - content: "H90"; - font-size: 0.5rem; + content: "90"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv91::before { - content: "H91"; - font-size: 0.5rem; + content: "91"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv92::before { - content: "H92"; - font-size: 0.5rem; + content: "92"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv93::before { - content: "H93"; - font-size: 0.5rem; + content: "93"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv94::before { - content: "H94"; - font-size: 0.5rem; + content: "94"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv95::before { - content: "H95"; - font-size: 0.5rem; + content: "95"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv96::before { - content: "H96"; - font-size: 0.5rem; + content: "96"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv97::before { - content: "H97"; - font-size: 0.5rem; + content: "97"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv98::before { - content: "H98"; - font-size: 0.5rem; + content: "98"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv99::before { - content: "H99"; - font-size: 0.5rem; + content: "99"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv100::before { - content: "H100"; - font-size: 0.5rem; + content: "100"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv101::before { - content: "H101"; - font-size: 0.5rem; + content: "101"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv102::before { - content: "H102"; - font-size: 0.5rem; + content: "102"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv103::before { - content: "H103"; - font-size: 0.5rem; + content: "103"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv104::before { - content: "H104"; - font-size: 0.5rem; + content: "104"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv105::before { - content: "H105"; - font-size: 0.5rem; + content: "105"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv106::before { - content: "H106"; - font-size: 0.5rem; + content: "106"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv107::before { - content: "H107"; - font-size: 0.5rem; + content: "107"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv108::before { - content: "H108"; - font-size: 0.5rem; + content: "108"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .markdown-section { margin: 0 auto; @@ -1835,6 +2274,7 @@ body.close .content { left: 0; max-width: 100vw; position: static; + padding-top: 20px; transition: transform 250ms ease; } .app-nav, @@ -1846,12 +2286,6 @@ body.close .content { width: auto; padding: 30px 30px 10px 10px; } - .markdown-section { - max-width: 99%; - } - .markdown-section p { - font-size: 20px; - } body.close .sidebar { transform: translateX(100vw); } @@ -1877,42 +2311,33 @@ body.close .content { animation: octocat-wave 560ms ease-in-out; } } -.app-sub-sidebar ul { - display: none; -} -.app-sub-sidebar ul.parent, -.app-sub-sidebar ul.wife, -.app-sub-sidebar ul.expand { - display: block; -} -.app-sub-sidebar ul.parent.expand, -.app-sub-sidebar ul.wife.expand { - display: none; -} -.app-sub-sidebar li span { - position: absolute; - font-family: Consolas, "Courier New", "Lucida Console", Monaco, Courier, monospace; - font-size: 24px; -} -.app-sub-sidebar li span:after { - content: '\00A0'; -} -.app-sub-sidebar li span.change:after { +.app-sub-sidebar li > span:after { content: '\00A0'; + font-size: 12px; + line-height: 1em; + padding: 0 6px 0 0; + float: left; } .app-sub-sidebar li.has-children > span:after { - content: '+'; -} -.app-sub-sidebar li.has-children > span.change:after { - content: '-'; -} -.app-sub-sidebar li.parent > span:after, -.app-sub-sidebar li.has-children.active > span:after { - content: '-'; -} -.app-sub-sidebar li.parent > span.change:after, -.app-sub-sidebar li.has-children.active > span.change:after { - content: '+'; + -ms-writing-mode: tb-lr; + writing-mode: vertical-lr; + content: '\276F'; + font-size: 12px; + line-height: 1em; + padding: 12px 0 0 0; + float: left; +} +.app-sub-sidebar li.has-children.collapse > span:after { + -ms-writing-mode: lr-tb; + writing-mode: horizontal-tb; + content: '\276F'; + font-size: 12px; + line-height: 1em; + padding: 9px 4px 0 2px; + float: left; +} +.app-sub-sidebar li.front:not(.active) > a { + border: 2px solid var(--theme-color, #ea6f5a); } .current span { color: #c94922; @@ -1966,7 +2391,7 @@ section.cover .cover-main { flex: 1; margin: -20px 16px 0; text-align: center; - z-index: 1; + position: relative; } section.cover a { color: inherit; @@ -2071,7 +2496,8 @@ body { font-weight: 600; } .markdown-section a { - color: #505d6b; + color: var(--theme-color, #ea6f5a); + font-weight: 600; } .markdown-section h1 { font-size: 2rem; diff --git a/css/dolphin.css b/css/dolphin.css index e9b6895..fbfabdb 100644 --- a/css/dolphin.css +++ b/css/dolphin.css @@ -108,6 +108,7 @@ li input[type='checkbox'] { } .app-nav a { color: inherit; + font-size: 16px; text-decoration: none; transition: color 0.3s; } @@ -194,6 +195,9 @@ main.hidden { text-decoration: none; transition: all 0.3s; } +.anchor span { + color: #34495e; +} .anchor:hover { text-decoration: underline; } @@ -229,9 +233,12 @@ main.hidden { padding-bottom: 40px; display: grid; } -.sidebar li.collapse .app-sub-sidebar { +.sidebar li.collapse > ul { display: none; } +.sidebar li:not(.collapse) > ul { + display: block; +} .sidebar ul { margin: 0 0 0 15px; padding: 0; @@ -305,1407 +312,1839 @@ body.sticky .sidebar-toggle { } .markdown-section h1 { display: block; + line-height: 2; } .markdown-section h1::before { - content: "H1"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "1"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h2 { display: block; + line-height: 2; } .markdown-section h2::before { - content: "H2"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "2"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h3 { display: block; + line-height: 2; } .markdown-section h3::before { - content: "H3"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "3"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h4 { display: block; + line-height: 2; } .markdown-section h4::before { - content: "H4"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "4"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h5 { display: block; + line-height: 2; } .markdown-section h5::before { - content: "H5"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "5"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h6 { display: block; + line-height: 2; } .markdown-section h6::before { - content: "H6"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "6"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h7 { display: block; + line-height: 2; } .markdown-section h7::before { - content: "H7"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "7"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h8 { display: block; + line-height: 2; } .markdown-section h8::before { - content: "H8"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "8"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h9 { display: block; + line-height: 2; } .markdown-section h9::before { - content: "H9"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "9"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h10 { display: block; + line-height: 2; } .markdown-section h10::before { - content: "H10"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "10"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h11 { display: block; + line-height: 2; } .markdown-section h11::before { - content: "H11"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "11"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h12 { display: block; + line-height: 2; } .markdown-section h12::before { - content: "H12"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "12"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h13 { display: block; + line-height: 2; } .markdown-section h13::before { - content: "H13"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "13"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h14 { display: block; + line-height: 2; } .markdown-section h14::before { - content: "H14"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "14"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h15 { display: block; + line-height: 2; } .markdown-section h15::before { - content: "H15"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "15"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h16 { display: block; + line-height: 2; } .markdown-section h16::before { - content: "H16"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "16"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h17 { display: block; + line-height: 2; } .markdown-section h17::before { - content: "H17"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "17"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h18 { display: block; + line-height: 2; } .markdown-section h18::before { - content: "H18"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "18"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h19 { display: block; + line-height: 2; } .markdown-section h19::before { - content: "H19"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "19"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h20 { display: block; + line-height: 2; } .markdown-section h20::before { - content: "H20"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "20"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h21 { display: block; + line-height: 2; } .markdown-section h21::before { - content: "H21"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "21"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h22 { display: block; + line-height: 2; } .markdown-section h22::before { - content: "H22"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "22"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h23 { display: block; + line-height: 2; } .markdown-section h23::before { - content: "H23"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "23"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h24 { display: block; + line-height: 2; } .markdown-section h24::before { - content: "H24"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "24"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h25 { display: block; + line-height: 2; } .markdown-section h25::before { - content: "H25"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "25"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h26 { display: block; + line-height: 2; } .markdown-section h26::before { - content: "H26"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "26"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h27 { display: block; + line-height: 2; } .markdown-section h27::before { - content: "H27"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "27"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h28 { display: block; + line-height: 2; } .markdown-section h28::before { - content: "H28"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "28"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h29 { display: block; + line-height: 2; } .markdown-section h29::before { - content: "H29"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "29"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h30 { display: block; + line-height: 2; } .markdown-section h30::before { - content: "H30"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "30"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h31 { display: block; + line-height: 2; } .markdown-section h31::before { - content: "H31"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "31"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h32 { display: block; + line-height: 2; } .markdown-section h32::before { - content: "H32"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "32"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h33 { display: block; + line-height: 2; } .markdown-section h33::before { - content: "H33"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "33"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h34 { display: block; + line-height: 2; } .markdown-section h34::before { - content: "H34"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "34"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h35 { display: block; + line-height: 2; } .markdown-section h35::before { - content: "H35"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "35"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h36 { display: block; + line-height: 2; } .markdown-section h36::before { - content: "H36"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "36"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h37 { display: block; + line-height: 2; } .markdown-section h37::before { - content: "H37"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "37"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h38 { display: block; + line-height: 2; } .markdown-section h38::before { - content: "H38"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "38"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h39 { display: block; + line-height: 2; } .markdown-section h39::before { - content: "H39"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "39"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h40 { display: block; + line-height: 2; } .markdown-section h40::before { - content: "H40"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "40"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h41 { display: block; + line-height: 2; } .markdown-section h41::before { - content: "H41"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "41"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h42 { display: block; + line-height: 2; } .markdown-section h42::before { - content: "H42"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "42"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h43 { display: block; + line-height: 2; } .markdown-section h43::before { - content: "H43"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "43"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h44 { display: block; + line-height: 2; } .markdown-section h44::before { - content: "H44"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "44"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h45 { display: block; + line-height: 2; } .markdown-section h45::before { - content: "H45"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "45"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h46 { display: block; + line-height: 2; } .markdown-section h46::before { - content: "H46"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "46"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h47 { display: block; + line-height: 2; } .markdown-section h47::before { - content: "H47"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "47"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h48 { display: block; + line-height: 2; } .markdown-section h48::before { - content: "H48"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "48"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h49 { display: block; + line-height: 2; } .markdown-section h49::before { - content: "H49"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "49"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h50 { display: block; + line-height: 2; } .markdown-section h50::before { - content: "H50"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "50"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h51 { display: block; + line-height: 2; } .markdown-section h51::before { - content: "H51"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "51"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h52 { display: block; + line-height: 2; } .markdown-section h52::before { - content: "H52"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "52"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h53 { display: block; + line-height: 2; } .markdown-section h53::before { - content: "H53"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "53"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h54 { display: block; + line-height: 2; } .markdown-section h54::before { - content: "H54"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "54"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h55 { display: block; + line-height: 2; } .markdown-section h55::before { - content: "H55"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "55"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h56 { display: block; + line-height: 2; } .markdown-section h56::before { - content: "H56"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "56"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h57 { display: block; + line-height: 2; } .markdown-section h57::before { - content: "H57"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "57"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h58 { display: block; + line-height: 2; } .markdown-section h58::before { - content: "H58"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "58"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h59 { display: block; + line-height: 2; } .markdown-section h59::before { - content: "H59"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "59"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h60 { display: block; + line-height: 2; } .markdown-section h60::before { - content: "H60"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "60"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h61 { display: block; + line-height: 2; } .markdown-section h61::before { - content: "H61"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "61"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h62 { display: block; + line-height: 2; } .markdown-section h62::before { - content: "H62"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "62"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h63 { display: block; + line-height: 2; } .markdown-section h63::before { - content: "H63"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "63"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h64 { display: block; + line-height: 2; } .markdown-section h64::before { - content: "H64"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "64"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h65 { display: block; + line-height: 2; } .markdown-section h65::before { - content: "H65"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "65"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h66 { display: block; + line-height: 2; } .markdown-section h66::before { - content: "H66"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "66"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h67 { display: block; + line-height: 2; } .markdown-section h67::before { - content: "H67"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "67"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h68 { display: block; + line-height: 2; } .markdown-section h68::before { - content: "H68"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "68"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h69 { display: block; + line-height: 2; } .markdown-section h69::before { - content: "H69"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "69"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h70 { display: block; + line-height: 2; } .markdown-section h70::before { - content: "H70"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "70"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h71 { display: block; + line-height: 2; } .markdown-section h71::before { - content: "H71"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "71"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h72 { display: block; + line-height: 2; } .markdown-section h72::before { - content: "H72"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "72"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h73 { display: block; + line-height: 2; } .markdown-section h73::before { - content: "H73"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "73"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h74 { display: block; + line-height: 2; } .markdown-section h74::before { - content: "H74"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "74"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h75 { display: block; + line-height: 2; } .markdown-section h75::before { - content: "H75"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "75"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h76 { display: block; + line-height: 2; } .markdown-section h76::before { - content: "H76"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "76"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h77 { display: block; + line-height: 2; } .markdown-section h77::before { - content: "H77"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "77"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h78 { display: block; + line-height: 2; } .markdown-section h78::before { - content: "H78"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "78"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h79 { display: block; + line-height: 2; } .markdown-section h79::before { - content: "H79"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "79"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h80 { display: block; + line-height: 2; } .markdown-section h80::before { - content: "H80"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "80"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h81 { display: block; + line-height: 2; } .markdown-section h81::before { - content: "H81"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "81"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h82 { display: block; + line-height: 2; } .markdown-section h82::before { - content: "H82"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "82"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h83 { display: block; + line-height: 2; } .markdown-section h83::before { - content: "H83"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "83"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h84 { display: block; + line-height: 2; } .markdown-section h84::before { - content: "H84"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "84"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h85 { display: block; + line-height: 2; } .markdown-section h85::before { - content: "H85"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "85"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h86 { display: block; + line-height: 2; } .markdown-section h86::before { - content: "H86"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "86"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h87 { display: block; + line-height: 2; } .markdown-section h87::before { - content: "H87"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "87"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h88 { display: block; + line-height: 2; } .markdown-section h88::before { - content: "H88"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "88"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h89 { display: block; + line-height: 2; } .markdown-section h89::before { - content: "H89"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "89"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h90 { display: block; + line-height: 2; } .markdown-section h90::before { - content: "H90"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "90"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h91 { display: block; + line-height: 2; } .markdown-section h91::before { - content: "H91"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "91"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h92 { display: block; + line-height: 2; } .markdown-section h92::before { - content: "H92"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "92"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h93 { display: block; + line-height: 2; } .markdown-section h93::before { - content: "H93"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "93"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h94 { display: block; + line-height: 2; } .markdown-section h94::before { - content: "H94"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "94"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h95 { display: block; + line-height: 2; } .markdown-section h95::before { - content: "H95"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "95"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h96 { display: block; + line-height: 2; } .markdown-section h96::before { - content: "H96"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "96"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h97 { display: block; + line-height: 2; } .markdown-section h97::before { - content: "H97"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "97"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h98 { display: block; + line-height: 2; } .markdown-section h98::before { - content: "H98"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "98"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h99 { display: block; + line-height: 2; } .markdown-section h99::before { - content: "H99"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "99"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h100 { display: block; + line-height: 2; } .markdown-section h100::before { - content: "H100"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "100"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h101 { display: block; + line-height: 2; } .markdown-section h101::before { - content: "H101"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "101"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h102 { display: block; + line-height: 2; } .markdown-section h102::before { - content: "H102"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "102"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h103 { display: block; + line-height: 2; } .markdown-section h103::before { - content: "H103"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "103"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h104 { display: block; + line-height: 2; } .markdown-section h104::before { - content: "H104"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "104"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h105 { display: block; + line-height: 2; } .markdown-section h105::before { - content: "H105"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "105"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h106 { display: block; + line-height: 2; } .markdown-section h106::before { - content: "H106"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "106"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h107 { display: block; + line-height: 2; } .markdown-section h107::before { - content: "H107"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "107"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h108 { display: block; + line-height: 2; } .markdown-section h108::before { - content: "H108"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "108"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .lv1::before { - content: "H1"; - font-size: 0.5rem; + content: "1"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv2::before { - content: "H2"; - font-size: 0.5rem; + content: "2"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv3::before { - content: "H3"; - font-size: 0.5rem; + content: "3"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv4::before { - content: "H4"; - font-size: 0.5rem; + content: "4"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv5::before { - content: "H5"; - font-size: 0.5rem; + content: "5"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv6::before { - content: "H6"; - font-size: 0.5rem; + content: "6"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv7::before { - content: "H7"; - font-size: 0.5rem; + content: "7"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv8::before { - content: "H8"; - font-size: 0.5rem; + content: "8"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv9::before { - content: "H9"; - font-size: 0.5rem; + content: "9"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv10::before { - content: "H10"; - font-size: 0.5rem; + content: "10"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv11::before { - content: "H11"; - font-size: 0.5rem; + content: "11"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv12::before { - content: "H12"; - font-size: 0.5rem; + content: "12"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv13::before { - content: "H13"; - font-size: 0.5rem; + content: "13"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv14::before { - content: "H14"; - font-size: 0.5rem; + content: "14"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv15::before { - content: "H15"; - font-size: 0.5rem; + content: "15"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv16::before { - content: "H16"; - font-size: 0.5rem; + content: "16"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv17::before { - content: "H17"; - font-size: 0.5rem; + content: "17"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv18::before { - content: "H18"; - font-size: 0.5rem; + content: "18"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv19::before { - content: "H19"; - font-size: 0.5rem; + content: "19"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv20::before { - content: "H20"; - font-size: 0.5rem; + content: "20"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv21::before { - content: "H21"; - font-size: 0.5rem; + content: "21"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv22::before { - content: "H22"; - font-size: 0.5rem; + content: "22"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv23::before { - content: "H23"; - font-size: 0.5rem; + content: "23"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv24::before { - content: "H24"; - font-size: 0.5rem; + content: "24"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv25::before { - content: "H25"; - font-size: 0.5rem; + content: "25"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv26::before { - content: "H26"; - font-size: 0.5rem; + content: "26"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv27::before { - content: "H27"; - font-size: 0.5rem; + content: "27"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv28::before { - content: "H28"; - font-size: 0.5rem; + content: "28"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv29::before { - content: "H29"; - font-size: 0.5rem; + content: "29"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv30::before { - content: "H30"; - font-size: 0.5rem; + content: "30"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv31::before { - content: "H31"; - font-size: 0.5rem; + content: "31"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv32::before { - content: "H32"; - font-size: 0.5rem; + content: "32"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv33::before { - content: "H33"; - font-size: 0.5rem; + content: "33"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv34::before { - content: "H34"; - font-size: 0.5rem; + content: "34"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv35::before { - content: "H35"; - font-size: 0.5rem; + content: "35"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv36::before { - content: "H36"; - font-size: 0.5rem; + content: "36"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv37::before { - content: "H37"; - font-size: 0.5rem; + content: "37"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv38::before { - content: "H38"; - font-size: 0.5rem; + content: "38"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv39::before { - content: "H39"; - font-size: 0.5rem; + content: "39"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv40::before { - content: "H40"; - font-size: 0.5rem; + content: "40"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv41::before { - content: "H41"; - font-size: 0.5rem; + content: "41"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv42::before { - content: "H42"; - font-size: 0.5rem; + content: "42"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv43::before { - content: "H43"; - font-size: 0.5rem; + content: "43"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv44::before { - content: "H44"; - font-size: 0.5rem; + content: "44"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv45::before { - content: "H45"; - font-size: 0.5rem; + content: "45"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv46::before { - content: "H46"; - font-size: 0.5rem; + content: "46"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv47::before { - content: "H47"; - font-size: 0.5rem; + content: "47"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv48::before { - content: "H48"; - font-size: 0.5rem; + content: "48"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv49::before { - content: "H49"; - font-size: 0.5rem; + content: "49"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv50::before { - content: "H50"; - font-size: 0.5rem; + content: "50"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv51::before { - content: "H51"; - font-size: 0.5rem; + content: "51"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv52::before { - content: "H52"; - font-size: 0.5rem; + content: "52"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv53::before { - content: "H53"; - font-size: 0.5rem; + content: "53"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv54::before { - content: "H54"; - font-size: 0.5rem; + content: "54"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv55::before { - content: "H55"; - font-size: 0.5rem; + content: "55"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv56::before { - content: "H56"; - font-size: 0.5rem; + content: "56"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv57::before { - content: "H57"; - font-size: 0.5rem; + content: "57"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv58::before { - content: "H58"; - font-size: 0.5rem; + content: "58"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv59::before { - content: "H59"; - font-size: 0.5rem; + content: "59"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv60::before { - content: "H60"; - font-size: 0.5rem; + content: "60"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv61::before { - content: "H61"; - font-size: 0.5rem; + content: "61"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv62::before { - content: "H62"; - font-size: 0.5rem; + content: "62"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv63::before { - content: "H63"; - font-size: 0.5rem; + content: "63"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv64::before { - content: "H64"; - font-size: 0.5rem; + content: "64"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv65::before { - content: "H65"; - font-size: 0.5rem; + content: "65"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv66::before { - content: "H66"; - font-size: 0.5rem; + content: "66"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv67::before { - content: "H67"; - font-size: 0.5rem; + content: "67"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv68::before { - content: "H68"; - font-size: 0.5rem; + content: "68"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv69::before { - content: "H69"; - font-size: 0.5rem; + content: "69"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv70::before { - content: "H70"; - font-size: 0.5rem; + content: "70"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv71::before { - content: "H71"; - font-size: 0.5rem; + content: "71"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv72::before { - content: "H72"; - font-size: 0.5rem; + content: "72"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv73::before { - content: "H73"; - font-size: 0.5rem; + content: "73"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv74::before { - content: "H74"; - font-size: 0.5rem; + content: "74"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv75::before { - content: "H75"; - font-size: 0.5rem; + content: "75"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv76::before { - content: "H76"; - font-size: 0.5rem; + content: "76"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv77::before { - content: "H77"; - font-size: 0.5rem; + content: "77"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv78::before { - content: "H78"; - font-size: 0.5rem; + content: "78"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv79::before { - content: "H79"; - font-size: 0.5rem; + content: "79"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv80::before { - content: "H80"; - font-size: 0.5rem; + content: "80"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv81::before { - content: "H81"; - font-size: 0.5rem; + content: "81"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv82::before { - content: "H82"; - font-size: 0.5rem; + content: "82"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv83::before { - content: "H83"; - font-size: 0.5rem; + content: "83"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv84::before { - content: "H84"; - font-size: 0.5rem; + content: "84"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv85::before { - content: "H85"; - font-size: 0.5rem; + content: "85"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv86::before { - content: "H86"; - font-size: 0.5rem; + content: "86"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv87::before { - content: "H87"; - font-size: 0.5rem; + content: "87"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv88::before { - content: "H88"; - font-size: 0.5rem; + content: "88"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv89::before { - content: "H89"; - font-size: 0.5rem; + content: "89"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv90::before { - content: "H90"; - font-size: 0.5rem; + content: "90"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv91::before { - content: "H91"; - font-size: 0.5rem; + content: "91"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv92::before { - content: "H92"; - font-size: 0.5rem; + content: "92"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv93::before { - content: "H93"; - font-size: 0.5rem; + content: "93"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv94::before { - content: "H94"; - font-size: 0.5rem; + content: "94"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv95::before { - content: "H95"; - font-size: 0.5rem; + content: "95"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv96::before { - content: "H96"; - font-size: 0.5rem; + content: "96"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv97::before { - content: "H97"; - font-size: 0.5rem; + content: "97"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv98::before { - content: "H98"; - font-size: 0.5rem; + content: "98"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv99::before { - content: "H99"; - font-size: 0.5rem; + content: "99"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv100::before { - content: "H100"; - font-size: 0.5rem; + content: "100"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv101::before { - content: "H101"; - font-size: 0.5rem; + content: "101"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv102::before { - content: "H102"; - font-size: 0.5rem; + content: "102"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv103::before { - content: "H103"; - font-size: 0.5rem; + content: "103"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv104::before { - content: "H104"; - font-size: 0.5rem; + content: "104"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv105::before { - content: "H105"; - font-size: 0.5rem; + content: "105"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv106::before { - content: "H106"; - font-size: 0.5rem; + content: "106"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv107::before { - content: "H107"; - font-size: 0.5rem; + content: "107"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv108::before { - content: "H108"; - font-size: 0.5rem; + content: "108"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .markdown-section { margin: 0 auto; @@ -1835,6 +2274,7 @@ body.close .content { left: 0; max-width: 100vw; position: static; + padding-top: 20px; transition: transform 250ms ease; } .app-nav, @@ -1846,12 +2286,6 @@ body.close .content { width: auto; padding: 30px 30px 10px 10px; } - .markdown-section { - max-width: 99%; - } - .markdown-section p { - font-size: 20px; - } body.close .sidebar { transform: translateX(100vw); } @@ -1877,42 +2311,33 @@ body.close .content { animation: octocat-wave 560ms ease-in-out; } } -.app-sub-sidebar ul { - display: none; -} -.app-sub-sidebar ul.parent, -.app-sub-sidebar ul.wife, -.app-sub-sidebar ul.expand { - display: block; -} -.app-sub-sidebar ul.parent.expand, -.app-sub-sidebar ul.wife.expand { - display: none; -} -.app-sub-sidebar li span { - position: absolute; - font-family: Consolas, "Courier New", "Lucida Console", Monaco, Courier, monospace; - font-size: 24px; -} -.app-sub-sidebar li span:after { - content: '\00A0'; -} -.app-sub-sidebar li span.change:after { +.app-sub-sidebar li > span:after { content: '\00A0'; + font-size: 12px; + line-height: 1em; + padding: 0 6px 0 0; + float: left; } .app-sub-sidebar li.has-children > span:after { - content: '+'; -} -.app-sub-sidebar li.has-children > span.change:after { - content: '-'; -} -.app-sub-sidebar li.parent > span:after, -.app-sub-sidebar li.has-children.active > span:after { - content: '-'; -} -.app-sub-sidebar li.parent > span.change:after, -.app-sub-sidebar li.has-children.active > span.change:after { - content: '+'; + -ms-writing-mode: tb-lr; + writing-mode: vertical-lr; + content: '\276F'; + font-size: 12px; + line-height: 1em; + padding: 12px 0 0 0; + float: left; +} +.app-sub-sidebar li.has-children.collapse > span:after { + -ms-writing-mode: lr-tb; + writing-mode: horizontal-tb; + content: '\276F'; + font-size: 12px; + line-height: 1em; + padding: 9px 4px 0 2px; + float: left; +} +.app-sub-sidebar li.front:not(.active) > a { + border: 2px solid var(--theme-color, #0ff); } .current span { color: #c94922; @@ -1966,7 +2391,7 @@ section.cover .cover-main { flex: 1; margin: -20px 16px 0; text-align: center; - z-index: 1; + position: relative; } section.cover a { color: inherit; @@ -2073,7 +2498,8 @@ body { font-weight: 600; } .markdown-section a { - color: #505d6b; + color: var(--theme-color, #0ff); + font-weight: 600; } .markdown-section a:hover { text-decoration: underline; diff --git a/css/pure.css b/css/pure.css index bab9926..53d4e5e 100644 --- a/css/pure.css +++ b/css/pure.css @@ -108,6 +108,7 @@ li input[type='checkbox'] { } .app-nav a { color: inherit; + font-size: 16px; text-decoration: none; transition: color 0.3s; } @@ -194,6 +195,9 @@ main.hidden { text-decoration: none; transition: all 0.3s; } +.anchor span { + color: #000; +} .anchor:hover { text-decoration: underline; } @@ -229,9 +233,12 @@ main.hidden { padding-bottom: 40px; display: grid; } -.sidebar li.collapse .app-sub-sidebar { +.sidebar li.collapse > ul { display: none; } +.sidebar li:not(.collapse) > ul { + display: block; +} .sidebar ul { margin: 0 0 0 15px; padding: 0; @@ -305,1407 +312,1839 @@ body.sticky .sidebar-toggle { } .markdown-section h1 { display: block; + line-height: 2; } .markdown-section h1::before { - content: "H1"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "1"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h2 { display: block; + line-height: 2; } .markdown-section h2::before { - content: "H2"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "2"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h3 { display: block; + line-height: 2; } .markdown-section h3::before { - content: "H3"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "3"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h4 { display: block; + line-height: 2; } .markdown-section h4::before { - content: "H4"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "4"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h5 { display: block; + line-height: 2; } .markdown-section h5::before { - content: "H5"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "5"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h6 { display: block; + line-height: 2; } .markdown-section h6::before { - content: "H6"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "6"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h7 { display: block; + line-height: 2; } .markdown-section h7::before { - content: "H7"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "7"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h8 { display: block; + line-height: 2; } .markdown-section h8::before { - content: "H8"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "8"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h9 { display: block; + line-height: 2; } .markdown-section h9::before { - content: "H9"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "9"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h10 { display: block; + line-height: 2; } .markdown-section h10::before { - content: "H10"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "10"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h11 { display: block; + line-height: 2; } .markdown-section h11::before { - content: "H11"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "11"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h12 { display: block; + line-height: 2; } .markdown-section h12::before { - content: "H12"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "12"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h13 { display: block; + line-height: 2; } .markdown-section h13::before { - content: "H13"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "13"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h14 { display: block; + line-height: 2; } .markdown-section h14::before { - content: "H14"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "14"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h15 { display: block; + line-height: 2; } .markdown-section h15::before { - content: "H15"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "15"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h16 { display: block; + line-height: 2; } .markdown-section h16::before { - content: "H16"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "16"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h17 { display: block; + line-height: 2; } .markdown-section h17::before { - content: "H17"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "17"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h18 { display: block; + line-height: 2; } .markdown-section h18::before { - content: "H18"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "18"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h19 { display: block; + line-height: 2; } .markdown-section h19::before { - content: "H19"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "19"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h20 { display: block; + line-height: 2; } .markdown-section h20::before { - content: "H20"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "20"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h21 { display: block; + line-height: 2; } .markdown-section h21::before { - content: "H21"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "21"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h22 { display: block; + line-height: 2; } .markdown-section h22::before { - content: "H22"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "22"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h23 { display: block; + line-height: 2; } .markdown-section h23::before { - content: "H23"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "23"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h24 { display: block; + line-height: 2; } .markdown-section h24::before { - content: "H24"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "24"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h25 { display: block; + line-height: 2; } .markdown-section h25::before { - content: "H25"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "25"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h26 { display: block; + line-height: 2; } .markdown-section h26::before { - content: "H26"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "26"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h27 { display: block; + line-height: 2; } .markdown-section h27::before { - content: "H27"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "27"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h28 { display: block; + line-height: 2; } .markdown-section h28::before { - content: "H28"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "28"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h29 { display: block; + line-height: 2; } .markdown-section h29::before { - content: "H29"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "29"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h30 { display: block; + line-height: 2; } .markdown-section h30::before { - content: "H30"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "30"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h31 { display: block; + line-height: 2; } .markdown-section h31::before { - content: "H31"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "31"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h32 { display: block; + line-height: 2; } .markdown-section h32::before { - content: "H32"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "32"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h33 { display: block; + line-height: 2; } .markdown-section h33::before { - content: "H33"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "33"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h34 { display: block; + line-height: 2; } .markdown-section h34::before { - content: "H34"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "34"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h35 { display: block; + line-height: 2; } .markdown-section h35::before { - content: "H35"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "35"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h36 { display: block; + line-height: 2; } .markdown-section h36::before { - content: "H36"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "36"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h37 { display: block; + line-height: 2; } .markdown-section h37::before { - content: "H37"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "37"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h38 { display: block; + line-height: 2; } .markdown-section h38::before { - content: "H38"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "38"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h39 { display: block; + line-height: 2; } .markdown-section h39::before { - content: "H39"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "39"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h40 { display: block; + line-height: 2; } .markdown-section h40::before { - content: "H40"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "40"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h41 { display: block; + line-height: 2; } .markdown-section h41::before { - content: "H41"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "41"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h42 { display: block; + line-height: 2; } .markdown-section h42::before { - content: "H42"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "42"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h43 { display: block; + line-height: 2; } .markdown-section h43::before { - content: "H43"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "43"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h44 { display: block; + line-height: 2; } .markdown-section h44::before { - content: "H44"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "44"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h45 { display: block; + line-height: 2; } .markdown-section h45::before { - content: "H45"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "45"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h46 { display: block; + line-height: 2; } .markdown-section h46::before { - content: "H46"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "46"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h47 { display: block; + line-height: 2; } .markdown-section h47::before { - content: "H47"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "47"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h48 { display: block; + line-height: 2; } .markdown-section h48::before { - content: "H48"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "48"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h49 { display: block; + line-height: 2; } .markdown-section h49::before { - content: "H49"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "49"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h50 { display: block; + line-height: 2; } .markdown-section h50::before { - content: "H50"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "50"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h51 { display: block; + line-height: 2; } .markdown-section h51::before { - content: "H51"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "51"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h52 { display: block; + line-height: 2; } .markdown-section h52::before { - content: "H52"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "52"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h53 { display: block; + line-height: 2; } .markdown-section h53::before { - content: "H53"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "53"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h54 { display: block; + line-height: 2; } .markdown-section h54::before { - content: "H54"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "54"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h55 { display: block; + line-height: 2; } .markdown-section h55::before { - content: "H55"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "55"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h56 { display: block; + line-height: 2; } .markdown-section h56::before { - content: "H56"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "56"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h57 { display: block; + line-height: 2; } .markdown-section h57::before { - content: "H57"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "57"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h58 { display: block; + line-height: 2; } .markdown-section h58::before { - content: "H58"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "58"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h59 { display: block; + line-height: 2; } .markdown-section h59::before { - content: "H59"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "59"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h60 { display: block; + line-height: 2; } .markdown-section h60::before { - content: "H60"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "60"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h61 { display: block; + line-height: 2; } .markdown-section h61::before { - content: "H61"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "61"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h62 { display: block; + line-height: 2; } .markdown-section h62::before { - content: "H62"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "62"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h63 { display: block; + line-height: 2; } .markdown-section h63::before { - content: "H63"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "63"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h64 { display: block; + line-height: 2; } .markdown-section h64::before { - content: "H64"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "64"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h65 { display: block; + line-height: 2; } .markdown-section h65::before { - content: "H65"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "65"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h66 { display: block; + line-height: 2; } .markdown-section h66::before { - content: "H66"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "66"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h67 { display: block; + line-height: 2; } .markdown-section h67::before { - content: "H67"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "67"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h68 { display: block; + line-height: 2; } .markdown-section h68::before { - content: "H68"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "68"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h69 { display: block; + line-height: 2; } .markdown-section h69::before { - content: "H69"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "69"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h70 { display: block; + line-height: 2; } .markdown-section h70::before { - content: "H70"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "70"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h71 { display: block; + line-height: 2; } .markdown-section h71::before { - content: "H71"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "71"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h72 { display: block; + line-height: 2; } .markdown-section h72::before { - content: "H72"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "72"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h73 { display: block; + line-height: 2; } .markdown-section h73::before { - content: "H73"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "73"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h74 { display: block; + line-height: 2; } .markdown-section h74::before { - content: "H74"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "74"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h75 { display: block; + line-height: 2; } .markdown-section h75::before { - content: "H75"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "75"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h76 { display: block; + line-height: 2; } .markdown-section h76::before { - content: "H76"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "76"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h77 { display: block; + line-height: 2; } .markdown-section h77::before { - content: "H77"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "77"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h78 { display: block; + line-height: 2; } .markdown-section h78::before { - content: "H78"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "78"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h79 { display: block; + line-height: 2; } .markdown-section h79::before { - content: "H79"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "79"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h80 { display: block; + line-height: 2; } .markdown-section h80::before { - content: "H80"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "80"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h81 { display: block; + line-height: 2; } .markdown-section h81::before { - content: "H81"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "81"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h82 { display: block; + line-height: 2; } .markdown-section h82::before { - content: "H82"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "82"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h83 { display: block; + line-height: 2; } .markdown-section h83::before { - content: "H83"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "83"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h84 { display: block; + line-height: 2; } .markdown-section h84::before { - content: "H84"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "84"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h85 { display: block; + line-height: 2; } .markdown-section h85::before { - content: "H85"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "85"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h86 { display: block; + line-height: 2; } .markdown-section h86::before { - content: "H86"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "86"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h87 { display: block; + line-height: 2; } .markdown-section h87::before { - content: "H87"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "87"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h88 { display: block; + line-height: 2; } .markdown-section h88::before { - content: "H88"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "88"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h89 { display: block; + line-height: 2; } .markdown-section h89::before { - content: "H89"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "89"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h90 { display: block; + line-height: 2; } .markdown-section h90::before { - content: "H90"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "90"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h91 { display: block; + line-height: 2; } .markdown-section h91::before { - content: "H91"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "91"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h92 { display: block; + line-height: 2; } .markdown-section h92::before { - content: "H92"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "92"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h93 { display: block; + line-height: 2; } .markdown-section h93::before { - content: "H93"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "93"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h94 { display: block; + line-height: 2; } .markdown-section h94::before { - content: "H94"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "94"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h95 { display: block; + line-height: 2; } .markdown-section h95::before { - content: "H95"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "95"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h96 { display: block; + line-height: 2; } .markdown-section h96::before { - content: "H96"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "96"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h97 { display: block; + line-height: 2; } .markdown-section h97::before { - content: "H97"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "97"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h98 { display: block; + line-height: 2; } .markdown-section h98::before { - content: "H98"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "98"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h99 { display: block; + line-height: 2; } .markdown-section h99::before { - content: "H99"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "99"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h100 { display: block; + line-height: 2; } .markdown-section h100::before { - content: "H100"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "100"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h101 { display: block; + line-height: 2; } .markdown-section h101::before { - content: "H101"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "101"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h102 { display: block; + line-height: 2; } .markdown-section h102::before { - content: "H102"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "102"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h103 { display: block; + line-height: 2; } .markdown-section h103::before { - content: "H103"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "103"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h104 { display: block; + line-height: 2; } .markdown-section h104::before { - content: "H104"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "104"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h105 { display: block; + line-height: 2; } .markdown-section h105::before { - content: "H105"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "105"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h106 { display: block; + line-height: 2; } .markdown-section h106::before { - content: "H106"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "106"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h107 { display: block; + line-height: 2; } .markdown-section h107::before { - content: "H107"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "107"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h108 { display: block; + line-height: 2; } .markdown-section h108::before { - content: "H108"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "108"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .lv1::before { - content: "H1"; - font-size: 0.5rem; + content: "1"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv2::before { - content: "H2"; - font-size: 0.5rem; + content: "2"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv3::before { - content: "H3"; - font-size: 0.5rem; + content: "3"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv4::before { - content: "H4"; - font-size: 0.5rem; + content: "4"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv5::before { - content: "H5"; - font-size: 0.5rem; + content: "5"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv6::before { - content: "H6"; - font-size: 0.5rem; + content: "6"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv7::before { - content: "H7"; - font-size: 0.5rem; + content: "7"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv8::before { - content: "H8"; - font-size: 0.5rem; + content: "8"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv9::before { - content: "H9"; - font-size: 0.5rem; + content: "9"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv10::before { - content: "H10"; - font-size: 0.5rem; + content: "10"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv11::before { - content: "H11"; - font-size: 0.5rem; + content: "11"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv12::before { - content: "H12"; - font-size: 0.5rem; + content: "12"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv13::before { - content: "H13"; - font-size: 0.5rem; + content: "13"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv14::before { - content: "H14"; - font-size: 0.5rem; + content: "14"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv15::before { - content: "H15"; - font-size: 0.5rem; + content: "15"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv16::before { - content: "H16"; - font-size: 0.5rem; + content: "16"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv17::before { - content: "H17"; - font-size: 0.5rem; + content: "17"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv18::before { - content: "H18"; - font-size: 0.5rem; + content: "18"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv19::before { - content: "H19"; - font-size: 0.5rem; + content: "19"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv20::before { - content: "H20"; - font-size: 0.5rem; + content: "20"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv21::before { - content: "H21"; - font-size: 0.5rem; + content: "21"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv22::before { - content: "H22"; - font-size: 0.5rem; + content: "22"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv23::before { - content: "H23"; - font-size: 0.5rem; + content: "23"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv24::before { - content: "H24"; - font-size: 0.5rem; + content: "24"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv25::before { - content: "H25"; - font-size: 0.5rem; + content: "25"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv26::before { - content: "H26"; - font-size: 0.5rem; + content: "26"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv27::before { - content: "H27"; - font-size: 0.5rem; + content: "27"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv28::before { - content: "H28"; - font-size: 0.5rem; + content: "28"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv29::before { - content: "H29"; - font-size: 0.5rem; + content: "29"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv30::before { - content: "H30"; - font-size: 0.5rem; + content: "30"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv31::before { - content: "H31"; - font-size: 0.5rem; + content: "31"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv32::before { - content: "H32"; - font-size: 0.5rem; + content: "32"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv33::before { - content: "H33"; - font-size: 0.5rem; + content: "33"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv34::before { - content: "H34"; - font-size: 0.5rem; + content: "34"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv35::before { - content: "H35"; - font-size: 0.5rem; + content: "35"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv36::before { - content: "H36"; - font-size: 0.5rem; + content: "36"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv37::before { - content: "H37"; - font-size: 0.5rem; + content: "37"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv38::before { - content: "H38"; - font-size: 0.5rem; + content: "38"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv39::before { - content: "H39"; - font-size: 0.5rem; + content: "39"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv40::before { - content: "H40"; - font-size: 0.5rem; + content: "40"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv41::before { - content: "H41"; - font-size: 0.5rem; + content: "41"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv42::before { - content: "H42"; - font-size: 0.5rem; + content: "42"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv43::before { - content: "H43"; - font-size: 0.5rem; + content: "43"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv44::before { - content: "H44"; - font-size: 0.5rem; + content: "44"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv45::before { - content: "H45"; - font-size: 0.5rem; + content: "45"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv46::before { - content: "H46"; - font-size: 0.5rem; + content: "46"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv47::before { - content: "H47"; - font-size: 0.5rem; + content: "47"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv48::before { - content: "H48"; - font-size: 0.5rem; + content: "48"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv49::before { - content: "H49"; - font-size: 0.5rem; + content: "49"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv50::before { - content: "H50"; - font-size: 0.5rem; + content: "50"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv51::before { - content: "H51"; - font-size: 0.5rem; + content: "51"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv52::before { - content: "H52"; - font-size: 0.5rem; + content: "52"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv53::before { - content: "H53"; - font-size: 0.5rem; + content: "53"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv54::before { - content: "H54"; - font-size: 0.5rem; + content: "54"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv55::before { - content: "H55"; - font-size: 0.5rem; + content: "55"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv56::before { - content: "H56"; - font-size: 0.5rem; + content: "56"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv57::before { - content: "H57"; - font-size: 0.5rem; + content: "57"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv58::before { - content: "H58"; - font-size: 0.5rem; + content: "58"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv59::before { - content: "H59"; - font-size: 0.5rem; + content: "59"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv60::before { - content: "H60"; - font-size: 0.5rem; + content: "60"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv61::before { - content: "H61"; - font-size: 0.5rem; + content: "61"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv62::before { - content: "H62"; - font-size: 0.5rem; + content: "62"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv63::before { - content: "H63"; - font-size: 0.5rem; + content: "63"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv64::before { - content: "H64"; - font-size: 0.5rem; + content: "64"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv65::before { - content: "H65"; - font-size: 0.5rem; + content: "65"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv66::before { - content: "H66"; - font-size: 0.5rem; + content: "66"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv67::before { - content: "H67"; - font-size: 0.5rem; + content: "67"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv68::before { - content: "H68"; - font-size: 0.5rem; + content: "68"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv69::before { - content: "H69"; - font-size: 0.5rem; + content: "69"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv70::before { - content: "H70"; - font-size: 0.5rem; + content: "70"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv71::before { - content: "H71"; - font-size: 0.5rem; + content: "71"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv72::before { - content: "H72"; - font-size: 0.5rem; + content: "72"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv73::before { - content: "H73"; - font-size: 0.5rem; + content: "73"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv74::before { - content: "H74"; - font-size: 0.5rem; + content: "74"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv75::before { - content: "H75"; - font-size: 0.5rem; + content: "75"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv76::before { - content: "H76"; - font-size: 0.5rem; + content: "76"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv77::before { - content: "H77"; - font-size: 0.5rem; + content: "77"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv78::before { - content: "H78"; - font-size: 0.5rem; + content: "78"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv79::before { - content: "H79"; - font-size: 0.5rem; + content: "79"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv80::before { - content: "H80"; - font-size: 0.5rem; + content: "80"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv81::before { - content: "H81"; - font-size: 0.5rem; + content: "81"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv82::before { - content: "H82"; - font-size: 0.5rem; + content: "82"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv83::before { - content: "H83"; - font-size: 0.5rem; + content: "83"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv84::before { - content: "H84"; - font-size: 0.5rem; + content: "84"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv85::before { - content: "H85"; - font-size: 0.5rem; + content: "85"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv86::before { - content: "H86"; - font-size: 0.5rem; + content: "86"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv87::before { - content: "H87"; - font-size: 0.5rem; + content: "87"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv88::before { - content: "H88"; - font-size: 0.5rem; + content: "88"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv89::before { - content: "H89"; - font-size: 0.5rem; + content: "89"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv90::before { - content: "H90"; - font-size: 0.5rem; + content: "90"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv91::before { - content: "H91"; - font-size: 0.5rem; + content: "91"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv92::before { - content: "H92"; - font-size: 0.5rem; + content: "92"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv93::before { - content: "H93"; - font-size: 0.5rem; + content: "93"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv94::before { - content: "H94"; - font-size: 0.5rem; + content: "94"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv95::before { - content: "H95"; - font-size: 0.5rem; + content: "95"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv96::before { - content: "H96"; - font-size: 0.5rem; + content: "96"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv97::before { - content: "H97"; - font-size: 0.5rem; + content: "97"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv98::before { - content: "H98"; - font-size: 0.5rem; + content: "98"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv99::before { - content: "H99"; - font-size: 0.5rem; + content: "99"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv100::before { - content: "H100"; - font-size: 0.5rem; + content: "100"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv101::before { - content: "H101"; - font-size: 0.5rem; + content: "101"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv102::before { - content: "H102"; - font-size: 0.5rem; + content: "102"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv103::before { - content: "H103"; - font-size: 0.5rem; + content: "103"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv104::before { - content: "H104"; - font-size: 0.5rem; + content: "104"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv105::before { - content: "H105"; - font-size: 0.5rem; + content: "105"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv106::before { - content: "H106"; - font-size: 0.5rem; + content: "106"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv107::before { - content: "H107"; - font-size: 0.5rem; + content: "107"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv108::before { - content: "H108"; - font-size: 0.5rem; + content: "108"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .markdown-section { margin: 0 auto; @@ -1835,6 +2274,7 @@ body.close .content { left: 0; max-width: 100vw; position: static; + padding-top: 20px; transition: transform 250ms ease; } .app-nav, @@ -1846,12 +2286,6 @@ body.close .content { width: auto; padding: 30px 30px 10px 10px; } - .markdown-section { - max-width: 99%; - } - .markdown-section p { - font-size: 20px; - } body.close .sidebar { transform: translateX(100vw); } @@ -1877,42 +2311,33 @@ body.close .content { animation: octocat-wave 560ms ease-in-out; } } -.app-sub-sidebar ul { - display: none; -} -.app-sub-sidebar ul.parent, -.app-sub-sidebar ul.wife, -.app-sub-sidebar ul.expand { - display: block; -} -.app-sub-sidebar ul.parent.expand, -.app-sub-sidebar ul.wife.expand { - display: none; -} -.app-sub-sidebar li span { - position: absolute; - font-family: Consolas, "Courier New", "Lucida Console", Monaco, Courier, monospace; - font-size: 24px; -} -.app-sub-sidebar li span:after { - content: '\00A0'; -} -.app-sub-sidebar li span.change:after { +.app-sub-sidebar li > span:after { content: '\00A0'; + font-size: 12px; + line-height: 1em; + padding: 0 6px 0 0; + float: left; } .app-sub-sidebar li.has-children > span:after { - content: '+'; -} -.app-sub-sidebar li.has-children > span.change:after { - content: '-'; -} -.app-sub-sidebar li.parent > span:after, -.app-sub-sidebar li.has-children.active > span:after { - content: '-'; -} -.app-sub-sidebar li.parent > span.change:after, -.app-sub-sidebar li.has-children.active > span.change:after { - content: '+'; + -ms-writing-mode: tb-lr; + writing-mode: vertical-lr; + content: '\276F'; + font-size: 12px; + line-height: 1em; + padding: 12px 0 0 0; + float: left; +} +.app-sub-sidebar li.has-children.collapse > span:after { + -ms-writing-mode: lr-tb; + writing-mode: horizontal-tb; + content: '\276F'; + font-size: 12px; + line-height: 1em; + padding: 9px 4px 0 2px; + float: left; +} +.app-sub-sidebar li.front:not(.active) > a { + border: 2px solid var(--theme-color, #000); } .current span { color: #c94922; @@ -1966,7 +2391,7 @@ section.cover .cover-main { flex: 1; margin: -20px 16px 0; text-align: center; - z-index: 1; + position: relative; } section.cover a { color: inherit; @@ -2039,7 +2464,6 @@ section.cover blockquote > p > a { section.cover blockquote > p > a:hover { color: var(--theme-color, #000); } -/* sidebar */ .sidebar ul li a { text-decoration: none; white-space: nowrap; diff --git a/css/themes/.nojekyll b/css/themes/.nojekyll deleted file mode 100644 index e69de29..0000000 diff --git a/css/themes/buble.css b/css/themes/buble.css index 877bbe5..f615c77 100644 --- a/css/themes/buble.css +++ b/css/themes/buble.css @@ -1 +1 @@ -*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#0074d9);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#0074d9)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Verdana,-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;font-size:15px;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#0074d9)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#0074d9)}.app-nav li{display:inline-block;margin:0 .5rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#0074d9);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-x:auto;overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:32rem;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px;display:grid}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block;margin-left:20px}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:20px;left:0;text-align:center;transition:opacity .3s;width:32px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#0074d9);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:32rem;transition:left .25s ease}.markdown-section h1{display:block}.markdown-section h1:before{content:"H1";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h2{display:block}.markdown-section h2:before{content:"H2";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h3{display:block}.markdown-section h3:before{content:"H3";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h4{display:block}.markdown-section h4:before{content:"H4";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h5{display:block}.markdown-section h5:before{content:"H5";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h6{display:block}.markdown-section h6:before{content:"H6";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h7{display:block}.markdown-section h7:before{content:"H7";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h8{display:block}.markdown-section h8:before{content:"H8";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h9{display:block}.markdown-section h9:before{content:"H9";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h10{display:block}.markdown-section h10:before{content:"H10";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h11{display:block}.markdown-section h11:before{content:"H11";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h12{display:block}.markdown-section h12:before{content:"H12";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h13{display:block}.markdown-section h13:before{content:"H13";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h14{display:block}.markdown-section h14:before{content:"H14";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h15{display:block}.markdown-section h15:before{content:"H15";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h16{display:block}.markdown-section h16:before{content:"H16";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h17{display:block}.markdown-section h17:before{content:"H17";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h18{display:block}.markdown-section h18:before{content:"H18";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h19{display:block}.markdown-section h19:before{content:"H19";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h20{display:block}.markdown-section h20:before{content:"H20";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h21{display:block}.markdown-section h21:before{content:"H21";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h22{display:block}.markdown-section h22:before{content:"H22";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h23{display:block}.markdown-section h23:before{content:"H23";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h24{display:block}.markdown-section h24:before{content:"H24";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h25{display:block}.markdown-section h25:before{content:"H25";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h26{display:block}.markdown-section h26:before{content:"H26";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h27{display:block}.markdown-section h27:before{content:"H27";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h28{display:block}.markdown-section h28:before{content:"H28";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h29{display:block}.markdown-section h29:before{content:"H29";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h30{display:block}.markdown-section h30:before{content:"H30";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h31{display:block}.markdown-section h31:before{content:"H31";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h32{display:block}.markdown-section h32:before{content:"H32";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h33{display:block}.markdown-section h33:before{content:"H33";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h34{display:block}.markdown-section h34:before{content:"H34";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h35{display:block}.markdown-section h35:before{content:"H35";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h36{display:block}.markdown-section h36:before{content:"H36";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h37{display:block}.markdown-section h37:before{content:"H37";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h38{display:block}.markdown-section h38:before{content:"H38";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h39{display:block}.markdown-section h39:before{content:"H39";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h40{display:block}.markdown-section h40:before{content:"H40";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h41{display:block}.markdown-section h41:before{content:"H41";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h42{display:block}.markdown-section h42:before{content:"H42";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h43{display:block}.markdown-section h43:before{content:"H43";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h44{display:block}.markdown-section h44:before{content:"H44";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h45{display:block}.markdown-section h45:before{content:"H45";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h46{display:block}.markdown-section h46:before{content:"H46";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h47{display:block}.markdown-section h47:before{content:"H47";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h48{display:block}.markdown-section h48:before{content:"H48";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h49{display:block}.markdown-section h49:before{content:"H49";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h50{display:block}.markdown-section h50:before{content:"H50";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h51{display:block}.markdown-section h51:before{content:"H51";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h52{display:block}.markdown-section h52:before{content:"H52";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h53{display:block}.markdown-section h53:before{content:"H53";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h54{display:block}.markdown-section h54:before{content:"H54";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h55{display:block}.markdown-section h55:before{content:"H55";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h56{display:block}.markdown-section h56:before{content:"H56";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h57{display:block}.markdown-section h57:before{content:"H57";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h58{display:block}.markdown-section h58:before{content:"H58";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h59{display:block}.markdown-section h59:before{content:"H59";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h60{display:block}.markdown-section h60:before{content:"H60";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h61{display:block}.markdown-section h61:before{content:"H61";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h62{display:block}.markdown-section h62:before{content:"H62";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h63{display:block}.markdown-section h63:before{content:"H63";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h64{display:block}.markdown-section h64:before{content:"H64";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h65{display:block}.markdown-section h65:before{content:"H65";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h66{display:block}.markdown-section h66:before{content:"H66";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h67{display:block}.markdown-section h67:before{content:"H67";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h68{display:block}.markdown-section h68:before{content:"H68";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h69{display:block}.markdown-section h69:before{content:"H69";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h70{display:block}.markdown-section h70:before{content:"H70";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h71{display:block}.markdown-section h71:before{content:"H71";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h72{display:block}.markdown-section h72:before{content:"H72";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h73{display:block}.markdown-section h73:before{content:"H73";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h74{display:block}.markdown-section h74:before{content:"H74";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h75{display:block}.markdown-section h75:before{content:"H75";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h76{display:block}.markdown-section h76:before{content:"H76";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h77{display:block}.markdown-section h77:before{content:"H77";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h78{display:block}.markdown-section h78:before{content:"H78";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h79{display:block}.markdown-section h79:before{content:"H79";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h80{display:block}.markdown-section h80:before{content:"H80";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h81{display:block}.markdown-section h81:before{content:"H81";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h82{display:block}.markdown-section h82:before{content:"H82";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h83{display:block}.markdown-section h83:before{content:"H83";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h84{display:block}.markdown-section h84:before{content:"H84";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h85{display:block}.markdown-section h85:before{content:"H85";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h86{display:block}.markdown-section h86:before{content:"H86";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h87{display:block}.markdown-section h87:before{content:"H87";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h88{display:block}.markdown-section h88:before{content:"H88";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h89{display:block}.markdown-section h89:before{content:"H89";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h90{display:block}.markdown-section h90:before{content:"H90";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h91{display:block}.markdown-section h91:before{content:"H91";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h92{display:block}.markdown-section h92:before{content:"H92";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h93{display:block}.markdown-section h93:before{content:"H93";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h94{display:block}.markdown-section h94:before{content:"H94";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h95{display:block}.markdown-section h95:before{content:"H95";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h96{display:block}.markdown-section h96:before{content:"H96";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h97{display:block}.markdown-section h97:before{content:"H97";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h98{display:block}.markdown-section h98:before{content:"H98";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h99{display:block}.markdown-section h99:before{content:"H99";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h100{display:block}.markdown-section h100:before{content:"H100";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h101{display:block}.markdown-section h101:before{content:"H101";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h102{display:block}.markdown-section h102:before{content:"H102";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h103{display:block}.markdown-section h103:before{content:"H103";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h104{display:block}.markdown-section h104:before{content:"H104";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h105{display:block}.markdown-section h105:before{content:"H105";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h106{display:block}.markdown-section h106:before{content:"H106";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h107{display:block}.markdown-section h107:before{content:"H107";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h108{display:block}.markdown-section h108:before{content:"H108";font-size:.6rem;margin:0 .8em 0 -1.2em}.lv1:before{content:"H1"}.lv1:before,.lv2:before{font-size:.5rem;padding:0 .2rem}.lv2:before{content:"H2"}.lv3:before{content:"H3"}.lv3:before,.lv4:before{font-size:.5rem;padding:0 .2rem}.lv4:before{content:"H4"}.lv5:before{content:"H5"}.lv5:before,.lv6:before{font-size:.5rem;padding:0 .2rem}.lv6:before{content:"H6"}.lv7:before{content:"H7"}.lv7:before,.lv8:before{font-size:.5rem;padding:0 .2rem}.lv8:before{content:"H8"}.lv9:before{content:"H9"}.lv9:before,.lv10:before{font-size:.5rem;padding:0 .2rem}.lv10:before{content:"H10"}.lv11:before{content:"H11"}.lv11:before,.lv12:before{font-size:.5rem;padding:0 .2rem}.lv12:before{content:"H12"}.lv13:before{content:"H13"}.lv13:before,.lv14:before{font-size:.5rem;padding:0 .2rem}.lv14:before{content:"H14"}.lv15:before{content:"H15"}.lv15:before,.lv16:before{font-size:.5rem;padding:0 .2rem}.lv16:before{content:"H16"}.lv17:before{content:"H17"}.lv17:before,.lv18:before{font-size:.5rem;padding:0 .2rem}.lv18:before{content:"H18"}.lv19:before{content:"H19"}.lv19:before,.lv20:before{font-size:.5rem;padding:0 .2rem}.lv20:before{content:"H20"}.lv21:before{content:"H21"}.lv21:before,.lv22:before{font-size:.5rem;padding:0 .2rem}.lv22:before{content:"H22"}.lv23:before{content:"H23"}.lv23:before,.lv24:before{font-size:.5rem;padding:0 .2rem}.lv24:before{content:"H24"}.lv25:before{content:"H25"}.lv25:before,.lv26:before{font-size:.5rem;padding:0 .2rem}.lv26:before{content:"H26"}.lv27:before{content:"H27"}.lv27:before,.lv28:before{font-size:.5rem;padding:0 .2rem}.lv28:before{content:"H28"}.lv29:before{content:"H29"}.lv29:before,.lv30:before{font-size:.5rem;padding:0 .2rem}.lv30:before{content:"H30"}.lv31:before{content:"H31"}.lv31:before,.lv32:before{font-size:.5rem;padding:0 .2rem}.lv32:before{content:"H32"}.lv33:before{content:"H33"}.lv33:before,.lv34:before{font-size:.5rem;padding:0 .2rem}.lv34:before{content:"H34"}.lv35:before{content:"H35"}.lv35:before,.lv36:before{font-size:.5rem;padding:0 .2rem}.lv36:before{content:"H36"}.lv37:before{content:"H37"}.lv37:before,.lv38:before{font-size:.5rem;padding:0 .2rem}.lv38:before{content:"H38"}.lv39:before{content:"H39"}.lv39:before,.lv40:before{font-size:.5rem;padding:0 .2rem}.lv40:before{content:"H40"}.lv41:before{content:"H41"}.lv41:before,.lv42:before{font-size:.5rem;padding:0 .2rem}.lv42:before{content:"H42"}.lv43:before{content:"H43"}.lv43:before,.lv44:before{font-size:.5rem;padding:0 .2rem}.lv44:before{content:"H44"}.lv45:before{content:"H45"}.lv45:before,.lv46:before{font-size:.5rem;padding:0 .2rem}.lv46:before{content:"H46"}.lv47:before{content:"H47"}.lv47:before,.lv48:before{font-size:.5rem;padding:0 .2rem}.lv48:before{content:"H48"}.lv49:before{content:"H49"}.lv49:before,.lv50:before{font-size:.5rem;padding:0 .2rem}.lv50:before{content:"H50"}.lv51:before{content:"H51"}.lv51:before,.lv52:before{font-size:.5rem;padding:0 .2rem}.lv52:before{content:"H52"}.lv53:before{content:"H53"}.lv53:before,.lv54:before{font-size:.5rem;padding:0 .2rem}.lv54:before{content:"H54"}.lv55:before{content:"H55"}.lv55:before,.lv56:before{font-size:.5rem;padding:0 .2rem}.lv56:before{content:"H56"}.lv57:before{content:"H57"}.lv57:before,.lv58:before{font-size:.5rem;padding:0 .2rem}.lv58:before{content:"H58"}.lv59:before{content:"H59"}.lv59:before,.lv60:before{font-size:.5rem;padding:0 .2rem}.lv60:before{content:"H60"}.lv61:before{content:"H61"}.lv61:before,.lv62:before{font-size:.5rem;padding:0 .2rem}.lv62:before{content:"H62"}.lv63:before{content:"H63"}.lv63:before,.lv64:before{font-size:.5rem;padding:0 .2rem}.lv64:before{content:"H64"}.lv65:before{content:"H65"}.lv65:before,.lv66:before{font-size:.5rem;padding:0 .2rem}.lv66:before{content:"H66"}.lv67:before{content:"H67"}.lv67:before,.lv68:before{font-size:.5rem;padding:0 .2rem}.lv68:before{content:"H68"}.lv69:before{content:"H69"}.lv69:before,.lv70:before{font-size:.5rem;padding:0 .2rem}.lv70:before{content:"H70"}.lv71:before{content:"H71"}.lv71:before,.lv72:before{font-size:.5rem;padding:0 .2rem}.lv72:before{content:"H72"}.lv73:before{content:"H73"}.lv73:before,.lv74:before{font-size:.5rem;padding:0 .2rem}.lv74:before{content:"H74"}.lv75:before{content:"H75"}.lv75:before,.lv76:before{font-size:.5rem;padding:0 .2rem}.lv76:before{content:"H76"}.lv77:before{content:"H77"}.lv77:before,.lv78:before{font-size:.5rem;padding:0 .2rem}.lv78:before{content:"H78"}.lv79:before{content:"H79"}.lv79:before,.lv80:before{font-size:.5rem;padding:0 .2rem}.lv80:before{content:"H80"}.lv81:before{content:"H81"}.lv81:before,.lv82:before{font-size:.5rem;padding:0 .2rem}.lv82:before{content:"H82"}.lv83:before{content:"H83"}.lv83:before,.lv84:before{font-size:.5rem;padding:0 .2rem}.lv84:before{content:"H84"}.lv85:before{content:"H85"}.lv85:before,.lv86:before{font-size:.5rem;padding:0 .2rem}.lv86:before{content:"H86"}.lv87:before{content:"H87"}.lv87:before,.lv88:before{font-size:.5rem;padding:0 .2rem}.lv88:before{content:"H88"}.lv89:before{content:"H89"}.lv89:before,.lv90:before{font-size:.5rem;padding:0 .2rem}.lv90:before{content:"H90"}.lv91:before{content:"H91"}.lv91:before,.lv92:before{font-size:.5rem;padding:0 .2rem}.lv92:before{content:"H92"}.lv93:before{content:"H93"}.lv93:before,.lv94:before{font-size:.5rem;padding:0 .2rem}.lv94:before{content:"H94"}.lv95:before{content:"H95"}.lv95:before,.lv96:before{font-size:.5rem;padding:0 .2rem}.lv96:before{content:"H96"}.lv97:before{content:"H97"}.lv97:before,.lv98:before{font-size:.5rem;padding:0 .2rem}.lv98:before{content:"H98"}.lv99:before{content:"H99"}.lv99:before,.lv100:before{font-size:.5rem;padding:0 .2rem}.lv100:before{content:"H100"}.lv101:before{content:"H101"}.lv101:before,.lv102:before{font-size:.5rem;padding:0 .2rem}.lv102:before{content:"H102"}.lv103:before{content:"H103"}.lv103:before,.lv104:before{font-size:.5rem;padding:0 .2rem}.lv104:before{content:"H104"}.lv105:before{content:"H105"}.lv105:before,.lv106:before{font-size:.5rem;padding:0 .2rem}.lv106:before{content:"H106"}.lv107:before{content:"H107"}.lv107:before,.lv108:before{font-size:.5rem;padding:0 .2rem}.lv108:before{content:"H108"}.markdown-section{margin:0 auto;max-width:93%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(0,116,217,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-32rem)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-100vw;width:100vw;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}.markdown-section{max-width:99%}.markdown-section p{font-size:20px}body.close .sidebar{transform:translateX(100vw)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:32px;padding:10px}body.close .content{transform:translateX(100vw)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}.app-sub-sidebar ul{display:none}.app-sub-sidebar ul.expand,.app-sub-sidebar ul.parent,.app-sub-sidebar ul.wife{display:block}.app-sub-sidebar ul.parent.expand,.app-sub-sidebar ul.wife.expand{display:none}.app-sub-sidebar li span{position:absolute;font-family:Consolas,Courier New,Lucida Console,Monaco,Courier,monospace;font-size:24px}.app-sub-sidebar li span.change:after,.app-sub-sidebar li span:after{content:"\00A0"}.app-sub-sidebar li.has-children>span:after{content:"+"}.app-sub-sidebar li.has-children.active>span:after,.app-sub-sidebar li.has-children>span.change:after,.app-sub-sidebar li.parent>span:after{content:"-"}.app-sub-sidebar li.has-children.active>span.change:after,.app-sub-sidebar li.parent>span.change:after{content:"+"}.current span{color:#c94922}.app-name-link img{max-height:3em}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#0074d9);box-sizing:border-box;color:var(--theme-color,#0074d9);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#0074d9);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#0074d9);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#0074d9)}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;margin:0}.sidebar ul li ul{padding:0}.sidebar ul li a{color:#505d6b;text-decoration:none;white-space:nowrap}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section strong{color:#333;font-weight:600}.markdown-section a{color:#505d6b}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;margin:0 0 1em;word-spacing:.05rem}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.8rem;margin:0 0 1rem;padding:1rem 0 0}.markdown-section h3{font-size:1.5rem;margin:52px 0 1.2rem}.markdown-section h1,.markdown-section h2,.markdown-section h3{font-weight:500}.markdown-section h4,.markdown-section h5,.markdown-section h6{font-weight:500;margin:0;padding:0}.markdown-section p{font-family:Georgia,Courier New,Times New Roman,Nimbus Roman No9 L,Songti SC,"Noto Serif CJK SC","Source Han Serif SC","Source Han Serif CN",STSong,AR PL New Sung,AR PL SungtiL GB,NSimSun,SimSun,TW\\-Sung,WenQuanYi Bitmap Song,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR PL UMing TW MBE,PMingLiU,MingLiU,serif;font-size:18px}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section li{line-height:1.5;margin:0}.markdown-section blockquote{border-left:4px solid var(--theme-color,#0074d9);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:3px;padding:.2em .4rem;white-space:nowrap}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;font-size:16px;margin:0 0 1em;padding:0 10px 12px 0;overflow:auto;word-wrap:normal;position:relative}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{background-color:#f8f8f8;border-radius:2px;display:block;font-family:Inconsolata;line-height:1.1rem;max-width:inherit;overflow:inherit;padding:20px .8em;position:relative;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto} \ No newline at end of file +*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#0074d9);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#0074d9)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Verdana,-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;font-size:15px;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#0074d9)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#0074d9)}.app-nav li{display:inline-block;margin:0 .5rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#0074d9);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-x:auto;overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:32rem;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px;display:grid}.sidebar li.collapse>ul{display:none}.sidebar li:not(.collapse)>ul{display:block}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block;margin-left:20px}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:20px;left:0;text-align:center;transition:opacity .3s;width:32px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#0074d9);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:32rem;transition:left .25s ease}.markdown-section h1{display:block;line-height:2}.markdown-section h1:before{content:"1";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h2{display:block;line-height:2}.markdown-section h2:before{content:"2";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h3{display:block;line-height:2}.markdown-section h3:before{content:"3";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h4{display:block;line-height:2}.markdown-section h4:before{content:"4";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h5{display:block;line-height:2}.markdown-section h5:before{content:"5";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h6{display:block;line-height:2}.markdown-section h6:before{content:"6";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h7{display:block;line-height:2}.markdown-section h7:before{content:"7";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h8{display:block;line-height:2}.markdown-section h8:before{content:"8";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h9{display:block;line-height:2}.markdown-section h9:before{content:"9";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h10{display:block;line-height:2}.markdown-section h10:before{content:"10";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h11{display:block;line-height:2}.markdown-section h11:before{content:"11";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h12{display:block;line-height:2}.markdown-section h12:before{content:"12";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h13{display:block;line-height:2}.markdown-section h13:before{content:"13";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h14{display:block;line-height:2}.markdown-section h14:before{content:"14";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h15{display:block;line-height:2}.markdown-section h15:before{content:"15";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h16{display:block;line-height:2}.markdown-section h16:before{content:"16";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h17{display:block;line-height:2}.markdown-section h17:before{content:"17";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h18{display:block;line-height:2}.markdown-section h18:before{content:"18";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h19{display:block;line-height:2}.markdown-section h19:before{content:"19";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h20{display:block;line-height:2}.markdown-section h20:before{content:"20";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h21{display:block;line-height:2}.markdown-section h21:before{content:"21";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h22{display:block;line-height:2}.markdown-section h22:before{content:"22";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h23{display:block;line-height:2}.markdown-section h23:before{content:"23";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h24{display:block;line-height:2}.markdown-section h24:before{content:"24";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h25{display:block;line-height:2}.markdown-section h25:before{content:"25";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h26{display:block;line-height:2}.markdown-section h26:before{content:"26";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h27{display:block;line-height:2}.markdown-section h27:before{content:"27";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h28{display:block;line-height:2}.markdown-section h28:before{content:"28";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h29{display:block;line-height:2}.markdown-section h29:before{content:"29";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h30{display:block;line-height:2}.markdown-section h30:before{content:"30";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h31{display:block;line-height:2}.markdown-section h31:before{content:"31";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h32{display:block;line-height:2}.markdown-section h32:before{content:"32";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h33{display:block;line-height:2}.markdown-section h33:before{content:"33";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h34{display:block;line-height:2}.markdown-section h34:before{content:"34";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h35{display:block;line-height:2}.markdown-section h35:before{content:"35";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h36{display:block;line-height:2}.markdown-section h36:before{content:"36";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h37{display:block;line-height:2}.markdown-section h37:before{content:"37";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h38{display:block;line-height:2}.markdown-section h38:before{content:"38";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h39{display:block;line-height:2}.markdown-section h39:before{content:"39";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h40{display:block;line-height:2}.markdown-section h40:before{content:"40";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h41{display:block;line-height:2}.markdown-section h41:before{content:"41";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h42{display:block;line-height:2}.markdown-section h42:before{content:"42";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h43{display:block;line-height:2}.markdown-section h43:before{content:"43";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h44{display:block;line-height:2}.markdown-section h44:before{content:"44";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h45{display:block;line-height:2}.markdown-section h45:before{content:"45";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h46{display:block;line-height:2}.markdown-section h46:before{content:"46";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h47{display:block;line-height:2}.markdown-section h47:before{content:"47";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h48{display:block;line-height:2}.markdown-section h48:before{content:"48";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h49{display:block;line-height:2}.markdown-section h49:before{content:"49";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h50{display:block;line-height:2}.markdown-section h50:before{content:"50";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h51{display:block;line-height:2}.markdown-section h51:before{content:"51";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h52{display:block;line-height:2}.markdown-section h52:before{content:"52";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h53{display:block;line-height:2}.markdown-section h53:before{content:"53";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h54{display:block;line-height:2}.markdown-section h54:before{content:"54";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h55{display:block;line-height:2}.markdown-section h55:before{content:"55";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h56{display:block;line-height:2}.markdown-section h56:before{content:"56";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h57{display:block;line-height:2}.markdown-section h57:before{content:"57";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h58{display:block;line-height:2}.markdown-section h58:before{content:"58";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h59{display:block;line-height:2}.markdown-section h59:before{content:"59";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h60{display:block;line-height:2}.markdown-section h60:before{content:"60";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h61{display:block;line-height:2}.markdown-section h61:before{content:"61";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h62{display:block;line-height:2}.markdown-section h62:before{content:"62";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h63{display:block;line-height:2}.markdown-section h63:before{content:"63";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h64{display:block;line-height:2}.markdown-section h64:before{content:"64";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h65{display:block;line-height:2}.markdown-section h65:before{content:"65";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h66{display:block;line-height:2}.markdown-section h66:before{content:"66";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h67{display:block;line-height:2}.markdown-section h67:before{content:"67";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h68{display:block;line-height:2}.markdown-section h68:before{content:"68";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h69{display:block;line-height:2}.markdown-section h69:before{content:"69";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h70{display:block;line-height:2}.markdown-section h70:before{content:"70";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h71{display:block;line-height:2}.markdown-section h71:before{content:"71";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h72{display:block;line-height:2}.markdown-section h72:before{content:"72";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h73{display:block;line-height:2}.markdown-section h73:before{content:"73";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h74{display:block;line-height:2}.markdown-section h74:before{content:"74";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h75{display:block;line-height:2}.markdown-section h75:before{content:"75";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h76{display:block;line-height:2}.markdown-section h76:before{content:"76";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h77{display:block;line-height:2}.markdown-section h77:before{content:"77";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h78{display:block;line-height:2}.markdown-section h78:before{content:"78";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h79{display:block;line-height:2}.markdown-section h79:before{content:"79";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h80{display:block;line-height:2}.markdown-section h80:before{content:"80";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h81{display:block;line-height:2}.markdown-section h81:before{content:"81";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h82{display:block;line-height:2}.markdown-section h82:before{content:"82";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h83{display:block;line-height:2}.markdown-section h83:before{content:"83";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h84{display:block;line-height:2}.markdown-section h84:before{content:"84";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h85{display:block;line-height:2}.markdown-section h85:before{content:"85";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h86{display:block;line-height:2}.markdown-section h86:before{content:"86";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h87{display:block;line-height:2}.markdown-section h87:before{content:"87";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h88{display:block;line-height:2}.markdown-section h88:before{content:"88";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h89{display:block;line-height:2}.markdown-section h89:before{content:"89";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h90{display:block;line-height:2}.markdown-section h90:before{content:"90";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h91{display:block;line-height:2}.markdown-section h91:before{content:"91";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h92{display:block;line-height:2}.markdown-section h92:before{content:"92";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h93{display:block;line-height:2}.markdown-section h93:before{content:"93";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h94{display:block;line-height:2}.markdown-section h94:before{content:"94";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h95{display:block;line-height:2}.markdown-section h95:before{content:"95";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h96{display:block;line-height:2}.markdown-section h96:before{content:"96";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h97{display:block;line-height:2}.markdown-section h97:before{content:"97";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h98{display:block;line-height:2}.markdown-section h98:before{content:"98";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h99{display:block;line-height:2}.markdown-section h99:before{content:"99";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h100{display:block;line-height:2}.markdown-section h100:before{content:"100";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h101{display:block;line-height:2}.markdown-section h101:before{content:"101";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h102{display:block;line-height:2}.markdown-section h102:before{content:"102";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h103{display:block;line-height:2}.markdown-section h103:before{content:"103";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h104{display:block;line-height:2}.markdown-section h104:before{content:"104";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h105{display:block;line-height:2}.markdown-section h105:before{content:"105";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h106{display:block;line-height:2}.markdown-section h106:before{content:"106";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h107{display:block;line-height:2}.markdown-section h107:before{content:"107";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h108{display:block;line-height:2}.markdown-section h108:before{content:"108";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.lv1:before{content:"1"}.lv1:before,.lv2:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv2:before{content:"2"}.lv3:before{content:"3"}.lv3:before,.lv4:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv4:before{content:"4"}.lv5:before{content:"5"}.lv5:before,.lv6:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv6:before{content:"6"}.lv7:before{content:"7"}.lv7:before,.lv8:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv8:before{content:"8"}.lv9:before{content:"9"}.lv9:before,.lv10:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv10:before{content:"10"}.lv11:before{content:"11"}.lv11:before,.lv12:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv12:before{content:"12"}.lv13:before{content:"13"}.lv13:before,.lv14:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv14:before{content:"14"}.lv15:before{content:"15"}.lv15:before,.lv16:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv16:before{content:"16"}.lv17:before{content:"17"}.lv17:before,.lv18:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv18:before{content:"18"}.lv19:before{content:"19"}.lv19:before,.lv20:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv20:before{content:"20"}.lv21:before{content:"21"}.lv21:before,.lv22:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv22:before{content:"22"}.lv23:before{content:"23"}.lv23:before,.lv24:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv24:before{content:"24"}.lv25:before{content:"25"}.lv25:before,.lv26:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv26:before{content:"26"}.lv27:before{content:"27"}.lv27:before,.lv28:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv28:before{content:"28"}.lv29:before{content:"29"}.lv29:before,.lv30:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv30:before{content:"30"}.lv31:before{content:"31"}.lv31:before,.lv32:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv32:before{content:"32"}.lv33:before{content:"33"}.lv33:before,.lv34:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv34:before{content:"34"}.lv35:before{content:"35"}.lv35:before,.lv36:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv36:before{content:"36"}.lv37:before{content:"37"}.lv37:before,.lv38:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv38:before{content:"38"}.lv39:before{content:"39"}.lv39:before,.lv40:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv40:before{content:"40"}.lv41:before{content:"41"}.lv41:before,.lv42:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv42:before{content:"42"}.lv43:before{content:"43"}.lv43:before,.lv44:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv44:before{content:"44"}.lv45:before{content:"45"}.lv45:before,.lv46:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv46:before{content:"46"}.lv47:before{content:"47"}.lv47:before,.lv48:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv48:before{content:"48"}.lv49:before{content:"49"}.lv49:before,.lv50:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv50:before{content:"50"}.lv51:before{content:"51"}.lv51:before,.lv52:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv52:before{content:"52"}.lv53:before{content:"53"}.lv53:before,.lv54:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv54:before{content:"54"}.lv55:before{content:"55"}.lv55:before,.lv56:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv56:before{content:"56"}.lv57:before{content:"57"}.lv57:before,.lv58:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv58:before{content:"58"}.lv59:before{content:"59"}.lv59:before,.lv60:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv60:before{content:"60"}.lv61:before{content:"61"}.lv61:before,.lv62:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv62:before{content:"62"}.lv63:before{content:"63"}.lv63:before,.lv64:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv64:before{content:"64"}.lv65:before{content:"65"}.lv65:before,.lv66:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv66:before{content:"66"}.lv67:before{content:"67"}.lv67:before,.lv68:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv68:before{content:"68"}.lv69:before{content:"69"}.lv69:before,.lv70:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv70:before{content:"70"}.lv71:before{content:"71"}.lv71:before,.lv72:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv72:before{content:"72"}.lv73:before{content:"73"}.lv73:before,.lv74:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv74:before{content:"74"}.lv75:before{content:"75"}.lv75:before,.lv76:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv76:before{content:"76"}.lv77:before{content:"77"}.lv77:before,.lv78:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv78:before{content:"78"}.lv79:before{content:"79"}.lv79:before,.lv80:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv80:before{content:"80"}.lv81:before{content:"81"}.lv81:before,.lv82:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv82:before{content:"82"}.lv83:before{content:"83"}.lv83:before,.lv84:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv84:before{content:"84"}.lv85:before{content:"85"}.lv85:before,.lv86:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv86:before{content:"86"}.lv87:before{content:"87"}.lv87:before,.lv88:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv88:before{content:"88"}.lv89:before{content:"89"}.lv89:before,.lv90:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv90:before{content:"90"}.lv91:before{content:"91"}.lv91:before,.lv92:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv92:before{content:"92"}.lv93:before{content:"93"}.lv93:before,.lv94:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv94:before{content:"94"}.lv95:before{content:"95"}.lv95:before,.lv96:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv96:before{content:"96"}.lv97:before{content:"97"}.lv97:before,.lv98:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv98:before{content:"98"}.lv99:before{content:"99"}.lv99:before,.lv100:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv100:before{content:"100"}.lv101:before{content:"101"}.lv101:before,.lv102:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv102:before{content:"102"}.lv103:before{content:"103"}.lv103:before,.lv104:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv104:before{content:"104"}.lv105:before{content:"105"}.lv105:before,.lv106:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv106:before{content:"106"}.lv107:before{content:"107"}.lv107:before,.lv108:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv108:before{content:"108"}.markdown-section{margin:0 auto;max-width:93%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(0,116,217,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-32rem)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-100vw;width:100vw;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(100vw)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:32px;padding:10px}body.close .content{transform:translateX(100vw)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}.app-sub-sidebar li>span:after{content:"\00A0";font-size:12px;line-height:1em;padding:0 6px 0 0;float:left}.app-sub-sidebar li.has-children .front{border:2px solid var(--theme-color,#0074d9)}.app-sub-sidebar li.has-children>span:after{-ms-writing-mode:tb-lr;writing-mode:vertical-lr;content:"\276F";font-size:12px;line-height:1em;padding:12px 0 0;float:left}.app-sub-sidebar li.has-children.collapse>span:after{-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;content:"\276F";font-size:12px;line-height:1em;padding:9px 4px 0 2px;float:left}.current span{color:#c94922}.app-name-link img{max-height:3em}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#0074d9);box-sizing:border-box;color:var(--theme-color,#0074d9);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#0074d9);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#0074d9);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#0074d9)}.sidebar{color:#364149;background-color:#fff}.sidebar a{color:#666;text-decoration:none}.sidebar li{list-style:none;margin:0}.sidebar ul li ul{padding:0}.sidebar ul li a{color:#505d6b;text-decoration:none;white-space:nowrap}.sidebar li.active{background-color:#eee}.sidebar li.active a{color:#333}.markdown-section strong{color:#333;font-weight:600}.markdown-section a{color:var(--theme-color,#0074d9)}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;margin:0 0 1em;word-spacing:.05rem}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.8rem;margin:0 0 1rem;padding:1rem 0 0}.markdown-section h3{font-size:1.5rem;margin:52px 0 1.2rem}.markdown-section h1,.markdown-section h2,.markdown-section h3{font-weight:500}.markdown-section h4,.markdown-section h5,.markdown-section h6{font-weight:500;margin:0;padding:0}.markdown-section p{font-family:Georgia,Courier New,Times New Roman,Nimbus Roman No9 L,Songti SC,"Noto Serif CJK SC","Source Han Serif SC","Source Han Serif CN",STSong,AR PL New Sung,AR PL SungtiL GB,NSimSun,SimSun,TW\\-Sung,WenQuanYi Bitmap Song,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR PL UMing TW MBE,PMingLiU,MingLiU,serif;font-size:18px}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section li{line-height:1.5;margin:0}.markdown-section blockquote{border-left:4px solid var(--theme-color,#0074d9);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:3px;padding:.2em .4rem;white-space:nowrap}.markdown-section code,.markdown-section pre{background-color:#f9f9f9;font-family:Inconsolata}.markdown-section pre{border-left:2px solid #eee;font-size:16px;margin:0 0 1em;padding:0 10px 12px 0;overflow:auto;word-wrap:normal;position:relative}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#93a1a1}.token.punctuation{color:#586e75}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#268bd2}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string,.token.url{color:#2aa198}.token.entity{color:#657b83;background:#eee8d5}.token.atrule,.token.attr-value,.token.keyword{color:#a11}.token.function{color:#b58900}.token.important,.token.regex,.token.variable{color:#cb4b16}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.markdown-section pre>code{background-color:#f8f8f8;border-radius:2px;display:block;font-family:Inconsolata;line-height:1.1rem;max-width:inherit;overflow:inherit;padding:20px .8em;position:relative;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-webkit-font-smoothing:initial;-moz-osx-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto} \ No newline at end of file diff --git a/css/themes/dark.css b/css/themes/dark.css index e36a9a4..cb1cdac 100644 --- a/css/themes/dark.css +++ b/css/themes/dark.css @@ -1 +1 @@ -*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#ea6f5a);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#ea6f5a)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#c8c8c8;font-family:Verdana,-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;font-size:15px;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#ea6f5a)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#ea6f5a)}.app-nav li{display:inline-block;margin:0 .5rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#3f3f3f;fill:var(--theme-color,#ea6f5a);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-x:auto;overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:480px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px;display:grid}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block;margin-left:20px}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:rgba(63,63,63,.8);border:0;outline:none;padding:10px;position:absolute;bottom:20px;left:0;text-align:center;transition:opacity .3s;width:32px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#ea6f5a);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:480px;transition:left .25s ease}.markdown-section h1{display:block}.markdown-section h1:before{content:"H1";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h2{display:block}.markdown-section h2:before{content:"H2";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h3{display:block}.markdown-section h3:before{content:"H3";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h4{display:block}.markdown-section h4:before{content:"H4";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h5{display:block}.markdown-section h5:before{content:"H5";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h6{display:block}.markdown-section h6:before{content:"H6";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h7{display:block}.markdown-section h7:before{content:"H7";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h8{display:block}.markdown-section h8:before{content:"H8";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h9{display:block}.markdown-section h9:before{content:"H9";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h10{display:block}.markdown-section h10:before{content:"H10";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h11{display:block}.markdown-section h11:before{content:"H11";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h12{display:block}.markdown-section h12:before{content:"H12";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h13{display:block}.markdown-section h13:before{content:"H13";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h14{display:block}.markdown-section h14:before{content:"H14";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h15{display:block}.markdown-section h15:before{content:"H15";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h16{display:block}.markdown-section h16:before{content:"H16";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h17{display:block}.markdown-section h17:before{content:"H17";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h18{display:block}.markdown-section h18:before{content:"H18";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h19{display:block}.markdown-section h19:before{content:"H19";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h20{display:block}.markdown-section h20:before{content:"H20";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h21{display:block}.markdown-section h21:before{content:"H21";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h22{display:block}.markdown-section h22:before{content:"H22";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h23{display:block}.markdown-section h23:before{content:"H23";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h24{display:block}.markdown-section h24:before{content:"H24";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h25{display:block}.markdown-section h25:before{content:"H25";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h26{display:block}.markdown-section h26:before{content:"H26";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h27{display:block}.markdown-section h27:before{content:"H27";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h28{display:block}.markdown-section h28:before{content:"H28";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h29{display:block}.markdown-section h29:before{content:"H29";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h30{display:block}.markdown-section h30:before{content:"H30";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h31{display:block}.markdown-section h31:before{content:"H31";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h32{display:block}.markdown-section h32:before{content:"H32";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h33{display:block}.markdown-section h33:before{content:"H33";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h34{display:block}.markdown-section h34:before{content:"H34";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h35{display:block}.markdown-section h35:before{content:"H35";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h36{display:block}.markdown-section h36:before{content:"H36";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h37{display:block}.markdown-section h37:before{content:"H37";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h38{display:block}.markdown-section h38:before{content:"H38";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h39{display:block}.markdown-section h39:before{content:"H39";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h40{display:block}.markdown-section h40:before{content:"H40";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h41{display:block}.markdown-section h41:before{content:"H41";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h42{display:block}.markdown-section h42:before{content:"H42";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h43{display:block}.markdown-section h43:before{content:"H43";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h44{display:block}.markdown-section h44:before{content:"H44";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h45{display:block}.markdown-section h45:before{content:"H45";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h46{display:block}.markdown-section h46:before{content:"H46";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h47{display:block}.markdown-section h47:before{content:"H47";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h48{display:block}.markdown-section h48:before{content:"H48";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h49{display:block}.markdown-section h49:before{content:"H49";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h50{display:block}.markdown-section h50:before{content:"H50";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h51{display:block}.markdown-section h51:before{content:"H51";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h52{display:block}.markdown-section h52:before{content:"H52";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h53{display:block}.markdown-section h53:before{content:"H53";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h54{display:block}.markdown-section h54:before{content:"H54";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h55{display:block}.markdown-section h55:before{content:"H55";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h56{display:block}.markdown-section h56:before{content:"H56";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h57{display:block}.markdown-section h57:before{content:"H57";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h58{display:block}.markdown-section h58:before{content:"H58";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h59{display:block}.markdown-section h59:before{content:"H59";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h60{display:block}.markdown-section h60:before{content:"H60";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h61{display:block}.markdown-section h61:before{content:"H61";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h62{display:block}.markdown-section h62:before{content:"H62";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h63{display:block}.markdown-section h63:before{content:"H63";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h64{display:block}.markdown-section h64:before{content:"H64";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h65{display:block}.markdown-section h65:before{content:"H65";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h66{display:block}.markdown-section h66:before{content:"H66";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h67{display:block}.markdown-section h67:before{content:"H67";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h68{display:block}.markdown-section h68:before{content:"H68";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h69{display:block}.markdown-section h69:before{content:"H69";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h70{display:block}.markdown-section h70:before{content:"H70";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h71{display:block}.markdown-section h71:before{content:"H71";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h72{display:block}.markdown-section h72:before{content:"H72";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h73{display:block}.markdown-section h73:before{content:"H73";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h74{display:block}.markdown-section h74:before{content:"H74";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h75{display:block}.markdown-section h75:before{content:"H75";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h76{display:block}.markdown-section h76:before{content:"H76";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h77{display:block}.markdown-section h77:before{content:"H77";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h78{display:block}.markdown-section h78:before{content:"H78";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h79{display:block}.markdown-section h79:before{content:"H79";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h80{display:block}.markdown-section h80:before{content:"H80";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h81{display:block}.markdown-section h81:before{content:"H81";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h82{display:block}.markdown-section h82:before{content:"H82";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h83{display:block}.markdown-section h83:before{content:"H83";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h84{display:block}.markdown-section h84:before{content:"H84";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h85{display:block}.markdown-section h85:before{content:"H85";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h86{display:block}.markdown-section h86:before{content:"H86";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h87{display:block}.markdown-section h87:before{content:"H87";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h88{display:block}.markdown-section h88:before{content:"H88";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h89{display:block}.markdown-section h89:before{content:"H89";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h90{display:block}.markdown-section h90:before{content:"H90";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h91{display:block}.markdown-section h91:before{content:"H91";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h92{display:block}.markdown-section h92:before{content:"H92";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h93{display:block}.markdown-section h93:before{content:"H93";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h94{display:block}.markdown-section h94:before{content:"H94";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h95{display:block}.markdown-section h95:before{content:"H95";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h96{display:block}.markdown-section h96:before{content:"H96";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h97{display:block}.markdown-section h97:before{content:"H97";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h98{display:block}.markdown-section h98:before{content:"H98";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h99{display:block}.markdown-section h99:before{content:"H99";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h100{display:block}.markdown-section h100:before{content:"H100";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h101{display:block}.markdown-section h101:before{content:"H101";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h102{display:block}.markdown-section h102:before{content:"H102";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h103{display:block}.markdown-section h103:before{content:"H103";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h104{display:block}.markdown-section h104:before{content:"H104";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h105{display:block}.markdown-section h105:before{content:"H105";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h106{display:block}.markdown-section h106:before{content:"H106";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h107{display:block}.markdown-section h107:before{content:"H107";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h108{display:block}.markdown-section h108:before{content:"H108";font-size:.6rem;margin:0 .8em 0 -1.2em}.lv1:before{content:"H1"}.lv1:before,.lv2:before{font-size:.5rem;padding:0 .2rem}.lv2:before{content:"H2"}.lv3:before{content:"H3"}.lv3:before,.lv4:before{font-size:.5rem;padding:0 .2rem}.lv4:before{content:"H4"}.lv5:before{content:"H5"}.lv5:before,.lv6:before{font-size:.5rem;padding:0 .2rem}.lv6:before{content:"H6"}.lv7:before{content:"H7"}.lv7:before,.lv8:before{font-size:.5rem;padding:0 .2rem}.lv8:before{content:"H8"}.lv9:before{content:"H9"}.lv9:before,.lv10:before{font-size:.5rem;padding:0 .2rem}.lv10:before{content:"H10"}.lv11:before{content:"H11"}.lv11:before,.lv12:before{font-size:.5rem;padding:0 .2rem}.lv12:before{content:"H12"}.lv13:before{content:"H13"}.lv13:before,.lv14:before{font-size:.5rem;padding:0 .2rem}.lv14:before{content:"H14"}.lv15:before{content:"H15"}.lv15:before,.lv16:before{font-size:.5rem;padding:0 .2rem}.lv16:before{content:"H16"}.lv17:before{content:"H17"}.lv17:before,.lv18:before{font-size:.5rem;padding:0 .2rem}.lv18:before{content:"H18"}.lv19:before{content:"H19"}.lv19:before,.lv20:before{font-size:.5rem;padding:0 .2rem}.lv20:before{content:"H20"}.lv21:before{content:"H21"}.lv21:before,.lv22:before{font-size:.5rem;padding:0 .2rem}.lv22:before{content:"H22"}.lv23:before{content:"H23"}.lv23:before,.lv24:before{font-size:.5rem;padding:0 .2rem}.lv24:before{content:"H24"}.lv25:before{content:"H25"}.lv25:before,.lv26:before{font-size:.5rem;padding:0 .2rem}.lv26:before{content:"H26"}.lv27:before{content:"H27"}.lv27:before,.lv28:before{font-size:.5rem;padding:0 .2rem}.lv28:before{content:"H28"}.lv29:before{content:"H29"}.lv29:before,.lv30:before{font-size:.5rem;padding:0 .2rem}.lv30:before{content:"H30"}.lv31:before{content:"H31"}.lv31:before,.lv32:before{font-size:.5rem;padding:0 .2rem}.lv32:before{content:"H32"}.lv33:before{content:"H33"}.lv33:before,.lv34:before{font-size:.5rem;padding:0 .2rem}.lv34:before{content:"H34"}.lv35:before{content:"H35"}.lv35:before,.lv36:before{font-size:.5rem;padding:0 .2rem}.lv36:before{content:"H36"}.lv37:before{content:"H37"}.lv37:before,.lv38:before{font-size:.5rem;padding:0 .2rem}.lv38:before{content:"H38"}.lv39:before{content:"H39"}.lv39:before,.lv40:before{font-size:.5rem;padding:0 .2rem}.lv40:before{content:"H40"}.lv41:before{content:"H41"}.lv41:before,.lv42:before{font-size:.5rem;padding:0 .2rem}.lv42:before{content:"H42"}.lv43:before{content:"H43"}.lv43:before,.lv44:before{font-size:.5rem;padding:0 .2rem}.lv44:before{content:"H44"}.lv45:before{content:"H45"}.lv45:before,.lv46:before{font-size:.5rem;padding:0 .2rem}.lv46:before{content:"H46"}.lv47:before{content:"H47"}.lv47:before,.lv48:before{font-size:.5rem;padding:0 .2rem}.lv48:before{content:"H48"}.lv49:before{content:"H49"}.lv49:before,.lv50:before{font-size:.5rem;padding:0 .2rem}.lv50:before{content:"H50"}.lv51:before{content:"H51"}.lv51:before,.lv52:before{font-size:.5rem;padding:0 .2rem}.lv52:before{content:"H52"}.lv53:before{content:"H53"}.lv53:before,.lv54:before{font-size:.5rem;padding:0 .2rem}.lv54:before{content:"H54"}.lv55:before{content:"H55"}.lv55:before,.lv56:before{font-size:.5rem;padding:0 .2rem}.lv56:before{content:"H56"}.lv57:before{content:"H57"}.lv57:before,.lv58:before{font-size:.5rem;padding:0 .2rem}.lv58:before{content:"H58"}.lv59:before{content:"H59"}.lv59:before,.lv60:before{font-size:.5rem;padding:0 .2rem}.lv60:before{content:"H60"}.lv61:before{content:"H61"}.lv61:before,.lv62:before{font-size:.5rem;padding:0 .2rem}.lv62:before{content:"H62"}.lv63:before{content:"H63"}.lv63:before,.lv64:before{font-size:.5rem;padding:0 .2rem}.lv64:before{content:"H64"}.lv65:before{content:"H65"}.lv65:before,.lv66:before{font-size:.5rem;padding:0 .2rem}.lv66:before{content:"H66"}.lv67:before{content:"H67"}.lv67:before,.lv68:before{font-size:.5rem;padding:0 .2rem}.lv68:before{content:"H68"}.lv69:before{content:"H69"}.lv69:before,.lv70:before{font-size:.5rem;padding:0 .2rem}.lv70:before{content:"H70"}.lv71:before{content:"H71"}.lv71:before,.lv72:before{font-size:.5rem;padding:0 .2rem}.lv72:before{content:"H72"}.lv73:before{content:"H73"}.lv73:before,.lv74:before{font-size:.5rem;padding:0 .2rem}.lv74:before{content:"H74"}.lv75:before{content:"H75"}.lv75:before,.lv76:before{font-size:.5rem;padding:0 .2rem}.lv76:before{content:"H76"}.lv77:before{content:"H77"}.lv77:before,.lv78:before{font-size:.5rem;padding:0 .2rem}.lv78:before{content:"H78"}.lv79:before{content:"H79"}.lv79:before,.lv80:before{font-size:.5rem;padding:0 .2rem}.lv80:before{content:"H80"}.lv81:before{content:"H81"}.lv81:before,.lv82:before{font-size:.5rem;padding:0 .2rem}.lv82:before{content:"H82"}.lv83:before{content:"H83"}.lv83:before,.lv84:before{font-size:.5rem;padding:0 .2rem}.lv84:before{content:"H84"}.lv85:before{content:"H85"}.lv85:before,.lv86:before{font-size:.5rem;padding:0 .2rem}.lv86:before{content:"H86"}.lv87:before{content:"H87"}.lv87:before,.lv88:before{font-size:.5rem;padding:0 .2rem}.lv88:before{content:"H88"}.lv89:before{content:"H89"}.lv89:before,.lv90:before{font-size:.5rem;padding:0 .2rem}.lv90:before{content:"H90"}.lv91:before{content:"H91"}.lv91:before,.lv92:before{font-size:.5rem;padding:0 .2rem}.lv92:before{content:"H92"}.lv93:before{content:"H93"}.lv93:before,.lv94:before{font-size:.5rem;padding:0 .2rem}.lv94:before{content:"H94"}.lv95:before{content:"H95"}.lv95:before,.lv96:before{font-size:.5rem;padding:0 .2rem}.lv96:before{content:"H96"}.lv97:before{content:"H97"}.lv97:before,.lv98:before{font-size:.5rem;padding:0 .2rem}.lv98:before{content:"H98"}.lv99:before{content:"H99"}.lv99:before,.lv100:before{font-size:.5rem;padding:0 .2rem}.lv100:before{content:"H100"}.lv101:before{content:"H101"}.lv101:before,.lv102:before{font-size:.5rem;padding:0 .2rem}.lv102:before{content:"H102"}.lv103:before{content:"H103"}.lv103:before,.lv104:before{font-size:.5rem;padding:0 .2rem}.lv104:before{content:"H104"}.lv105:before{content:"H105"}.lv105:before,.lv106:before{font-size:.5rem;padding:0 .2rem}.lv106:before{content:"H106"}.lv107:before{content:"H107"}.lv107:before,.lv108:before{font-size:.5rem;padding:0 .2rem}.lv108:before{content:"H108"}.markdown-section{margin:0 auto;max-width:93%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#3f3f3f;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#c8c8c8}.markdown-section p.warn{background:rgba(234,111,90,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-480px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-100vw;width:100vw;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}.markdown-section{max-width:99%}.markdown-section p{font-size:20px}body.close .sidebar{transform:translateX(100vw)}body.close .sidebar-toggle{background-color:rgba(63,63,63,.8);transition:background-color 1s;width:32px;padding:10px}body.close .content{transform:translateX(100vw)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}.app-sub-sidebar ul{display:none}.app-sub-sidebar ul.expand,.app-sub-sidebar ul.parent,.app-sub-sidebar ul.wife{display:block}.app-sub-sidebar ul.parent.expand,.app-sub-sidebar ul.wife.expand{display:none}.app-sub-sidebar li span{position:absolute;font-family:Consolas,Courier New,Lucida Console,Monaco,Courier,monospace;font-size:24px}.app-sub-sidebar li span.change:after,.app-sub-sidebar li span:after{content:"\00A0"}.app-sub-sidebar li.has-children>span:after{content:"+"}.app-sub-sidebar li.has-children.active>span:after,.app-sub-sidebar li.has-children>span.change:after,.app-sub-sidebar li.parent>span:after{content:"-"}.app-sub-sidebar li.has-children.active>span.change:after,.app-sub-sidebar li.parent>span.change:after{content:"+"}.current span{color:#c94922}.app-name-link img{max-height:3em}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#3f3f3f;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#ea6f5a);box-sizing:border-box;color:var(--theme-color,#ea6f5a);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#ea6f5a);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#ea6f5a);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#ea6f5a)}.sidebar,body{background-color:#3f3f3f}.sidebar{color:#c8c8c8}.sidebar li{margin:6px 15px 6px 0}.sidebar ul li a{color:#c8c8c8;text-decoration:none;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:var(--theme-color,#ea6f5a);font-weight:600}.markdown-section strong{color:#657b83;font-weight:600}.markdown-section a{color:#505d6b}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h1,.markdown-section h2,.markdown-section h3{font-weight:500}.markdown-section h4,.markdown-section h5,.markdown-section h6{font-weight:500;margin:0;padding:0}.markdown-section p{font-family:Georgia,Courier New,Times New Roman,Nimbus Roman No9 L,Songti SC,"Noto Serif CJK SC","Source Han Serif SC","Source Han Serif CN",STSong,AR PL New Sung,AR PL SungtiL GB,NSimSun,SimSun,TW\\-Sung,WenQuanYi Bitmap Song,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR PL UMing TW MBE,PMingLiU,MingLiU,serif;font-size:18px}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#ea6f5a);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#657b83;font-size:.9rem;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section code,.markdown-section pre{background-color:#282828;font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 1.4rem;position:relative;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#ea6f5a)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#ea6f5a)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#282828;border-radius:2px;color:#657b83;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.9rem;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:2.2em 5px;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto}pre:after{color:#ccc;content:attr(data-lang);font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0}.markdown-section p.tip{background-color:#282828;color:#657b83}input[type=search]{background:#4f4f4f;border-color:#4f4f4f;color:#c8c8c8} \ No newline at end of file +*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#ea6f5a);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#ea6f5a)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#c8c8c8;font-family:Verdana,-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;font-size:15px;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#ea6f5a)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#ea6f5a)}.app-nav li{display:inline-block;margin:0 .5rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#3f3f3f;fill:var(--theme-color,#ea6f5a);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#c8c8c8}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-x:auto;overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:480px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px;display:grid}.sidebar li.collapse>ul{display:none}.sidebar li:not(.collapse)>ul{display:block}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block;margin-left:20px}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:rgba(63,63,63,.8);border:0;outline:none;padding:10px;position:absolute;bottom:20px;left:0;text-align:center;transition:opacity .3s;width:32px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#ea6f5a);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:480px;transition:left .25s ease}.markdown-section h1{display:block;line-height:2}.markdown-section h1:before{content:"1";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h2{display:block;line-height:2}.markdown-section h2:before{content:"2";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h3{display:block;line-height:2}.markdown-section h3:before{content:"3";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h4{display:block;line-height:2}.markdown-section h4:before{content:"4";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h5{display:block;line-height:2}.markdown-section h5:before{content:"5";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h6{display:block;line-height:2}.markdown-section h6:before{content:"6";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h7{display:block;line-height:2}.markdown-section h7:before{content:"7";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h8{display:block;line-height:2}.markdown-section h8:before{content:"8";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h9{display:block;line-height:2}.markdown-section h9:before{content:"9";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h10{display:block;line-height:2}.markdown-section h10:before{content:"10";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h11{display:block;line-height:2}.markdown-section h11:before{content:"11";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h12{display:block;line-height:2}.markdown-section h12:before{content:"12";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h13{display:block;line-height:2}.markdown-section h13:before{content:"13";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h14{display:block;line-height:2}.markdown-section h14:before{content:"14";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h15{display:block;line-height:2}.markdown-section h15:before{content:"15";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h16{display:block;line-height:2}.markdown-section h16:before{content:"16";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h17{display:block;line-height:2}.markdown-section h17:before{content:"17";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h18{display:block;line-height:2}.markdown-section h18:before{content:"18";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h19{display:block;line-height:2}.markdown-section h19:before{content:"19";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h20{display:block;line-height:2}.markdown-section h20:before{content:"20";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h21{display:block;line-height:2}.markdown-section h21:before{content:"21";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h22{display:block;line-height:2}.markdown-section h22:before{content:"22";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h23{display:block;line-height:2}.markdown-section h23:before{content:"23";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h24{display:block;line-height:2}.markdown-section h24:before{content:"24";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h25{display:block;line-height:2}.markdown-section h25:before{content:"25";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h26{display:block;line-height:2}.markdown-section h26:before{content:"26";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h27{display:block;line-height:2}.markdown-section h27:before{content:"27";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h28{display:block;line-height:2}.markdown-section h28:before{content:"28";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h29{display:block;line-height:2}.markdown-section h29:before{content:"29";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h30{display:block;line-height:2}.markdown-section h30:before{content:"30";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h31{display:block;line-height:2}.markdown-section h31:before{content:"31";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h32{display:block;line-height:2}.markdown-section h32:before{content:"32";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h33{display:block;line-height:2}.markdown-section h33:before{content:"33";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h34{display:block;line-height:2}.markdown-section h34:before{content:"34";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h35{display:block;line-height:2}.markdown-section h35:before{content:"35";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h36{display:block;line-height:2}.markdown-section h36:before{content:"36";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h37{display:block;line-height:2}.markdown-section h37:before{content:"37";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h38{display:block;line-height:2}.markdown-section h38:before{content:"38";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h39{display:block;line-height:2}.markdown-section h39:before{content:"39";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h40{display:block;line-height:2}.markdown-section h40:before{content:"40";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h41{display:block;line-height:2}.markdown-section h41:before{content:"41";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h42{display:block;line-height:2}.markdown-section h42:before{content:"42";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h43{display:block;line-height:2}.markdown-section h43:before{content:"43";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h44{display:block;line-height:2}.markdown-section h44:before{content:"44";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h45{display:block;line-height:2}.markdown-section h45:before{content:"45";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h46{display:block;line-height:2}.markdown-section h46:before{content:"46";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h47{display:block;line-height:2}.markdown-section h47:before{content:"47";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h48{display:block;line-height:2}.markdown-section h48:before{content:"48";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h49{display:block;line-height:2}.markdown-section h49:before{content:"49";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h50{display:block;line-height:2}.markdown-section h50:before{content:"50";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h51{display:block;line-height:2}.markdown-section h51:before{content:"51";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h52{display:block;line-height:2}.markdown-section h52:before{content:"52";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h53{display:block;line-height:2}.markdown-section h53:before{content:"53";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h54{display:block;line-height:2}.markdown-section h54:before{content:"54";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h55{display:block;line-height:2}.markdown-section h55:before{content:"55";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h56{display:block;line-height:2}.markdown-section h56:before{content:"56";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h57{display:block;line-height:2}.markdown-section h57:before{content:"57";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h58{display:block;line-height:2}.markdown-section h58:before{content:"58";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h59{display:block;line-height:2}.markdown-section h59:before{content:"59";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h60{display:block;line-height:2}.markdown-section h60:before{content:"60";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h61{display:block;line-height:2}.markdown-section h61:before{content:"61";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h62{display:block;line-height:2}.markdown-section h62:before{content:"62";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h63{display:block;line-height:2}.markdown-section h63:before{content:"63";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h64{display:block;line-height:2}.markdown-section h64:before{content:"64";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h65{display:block;line-height:2}.markdown-section h65:before{content:"65";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h66{display:block;line-height:2}.markdown-section h66:before{content:"66";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h67{display:block;line-height:2}.markdown-section h67:before{content:"67";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h68{display:block;line-height:2}.markdown-section h68:before{content:"68";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h69{display:block;line-height:2}.markdown-section h69:before{content:"69";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h70{display:block;line-height:2}.markdown-section h70:before{content:"70";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h71{display:block;line-height:2}.markdown-section h71:before{content:"71";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h72{display:block;line-height:2}.markdown-section h72:before{content:"72";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h73{display:block;line-height:2}.markdown-section h73:before{content:"73";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h74{display:block;line-height:2}.markdown-section h74:before{content:"74";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h75{display:block;line-height:2}.markdown-section h75:before{content:"75";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h76{display:block;line-height:2}.markdown-section h76:before{content:"76";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h77{display:block;line-height:2}.markdown-section h77:before{content:"77";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h78{display:block;line-height:2}.markdown-section h78:before{content:"78";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h79{display:block;line-height:2}.markdown-section h79:before{content:"79";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h80{display:block;line-height:2}.markdown-section h80:before{content:"80";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h81{display:block;line-height:2}.markdown-section h81:before{content:"81";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h82{display:block;line-height:2}.markdown-section h82:before{content:"82";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h83{display:block;line-height:2}.markdown-section h83:before{content:"83";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h84{display:block;line-height:2}.markdown-section h84:before{content:"84";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h85{display:block;line-height:2}.markdown-section h85:before{content:"85";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h86{display:block;line-height:2}.markdown-section h86:before{content:"86";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h87{display:block;line-height:2}.markdown-section h87:before{content:"87";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h88{display:block;line-height:2}.markdown-section h88:before{content:"88";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h89{display:block;line-height:2}.markdown-section h89:before{content:"89";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h90{display:block;line-height:2}.markdown-section h90:before{content:"90";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h91{display:block;line-height:2}.markdown-section h91:before{content:"91";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h92{display:block;line-height:2}.markdown-section h92:before{content:"92";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h93{display:block;line-height:2}.markdown-section h93:before{content:"93";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h94{display:block;line-height:2}.markdown-section h94:before{content:"94";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h95{display:block;line-height:2}.markdown-section h95:before{content:"95";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h96{display:block;line-height:2}.markdown-section h96:before{content:"96";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h97{display:block;line-height:2}.markdown-section h97:before{content:"97";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h98{display:block;line-height:2}.markdown-section h98:before{content:"98";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h99{display:block;line-height:2}.markdown-section h99:before{content:"99";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h100{display:block;line-height:2}.markdown-section h100:before{content:"100";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h101{display:block;line-height:2}.markdown-section h101:before{content:"101";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h102{display:block;line-height:2}.markdown-section h102:before{content:"102";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h103{display:block;line-height:2}.markdown-section h103:before{content:"103";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h104{display:block;line-height:2}.markdown-section h104:before{content:"104";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h105{display:block;line-height:2}.markdown-section h105:before{content:"105";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h106{display:block;line-height:2}.markdown-section h106:before{content:"106";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h107{display:block;line-height:2}.markdown-section h107:before{content:"107";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h108{display:block;line-height:2}.markdown-section h108:before{content:"108";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.lv1:before{content:"1"}.lv1:before,.lv2:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv2:before{content:"2"}.lv3:before{content:"3"}.lv3:before,.lv4:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv4:before{content:"4"}.lv5:before{content:"5"}.lv5:before,.lv6:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv6:before{content:"6"}.lv7:before{content:"7"}.lv7:before,.lv8:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv8:before{content:"8"}.lv9:before{content:"9"}.lv9:before,.lv10:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv10:before{content:"10"}.lv11:before{content:"11"}.lv11:before,.lv12:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv12:before{content:"12"}.lv13:before{content:"13"}.lv13:before,.lv14:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv14:before{content:"14"}.lv15:before{content:"15"}.lv15:before,.lv16:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv16:before{content:"16"}.lv17:before{content:"17"}.lv17:before,.lv18:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv18:before{content:"18"}.lv19:before{content:"19"}.lv19:before,.lv20:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv20:before{content:"20"}.lv21:before{content:"21"}.lv21:before,.lv22:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv22:before{content:"22"}.lv23:before{content:"23"}.lv23:before,.lv24:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv24:before{content:"24"}.lv25:before{content:"25"}.lv25:before,.lv26:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv26:before{content:"26"}.lv27:before{content:"27"}.lv27:before,.lv28:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv28:before{content:"28"}.lv29:before{content:"29"}.lv29:before,.lv30:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv30:before{content:"30"}.lv31:before{content:"31"}.lv31:before,.lv32:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv32:before{content:"32"}.lv33:before{content:"33"}.lv33:before,.lv34:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv34:before{content:"34"}.lv35:before{content:"35"}.lv35:before,.lv36:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv36:before{content:"36"}.lv37:before{content:"37"}.lv37:before,.lv38:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv38:before{content:"38"}.lv39:before{content:"39"}.lv39:before,.lv40:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv40:before{content:"40"}.lv41:before{content:"41"}.lv41:before,.lv42:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv42:before{content:"42"}.lv43:before{content:"43"}.lv43:before,.lv44:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv44:before{content:"44"}.lv45:before{content:"45"}.lv45:before,.lv46:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv46:before{content:"46"}.lv47:before{content:"47"}.lv47:before,.lv48:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv48:before{content:"48"}.lv49:before{content:"49"}.lv49:before,.lv50:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv50:before{content:"50"}.lv51:before{content:"51"}.lv51:before,.lv52:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv52:before{content:"52"}.lv53:before{content:"53"}.lv53:before,.lv54:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv54:before{content:"54"}.lv55:before{content:"55"}.lv55:before,.lv56:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv56:before{content:"56"}.lv57:before{content:"57"}.lv57:before,.lv58:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv58:before{content:"58"}.lv59:before{content:"59"}.lv59:before,.lv60:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv60:before{content:"60"}.lv61:before{content:"61"}.lv61:before,.lv62:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv62:before{content:"62"}.lv63:before{content:"63"}.lv63:before,.lv64:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv64:before{content:"64"}.lv65:before{content:"65"}.lv65:before,.lv66:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv66:before{content:"66"}.lv67:before{content:"67"}.lv67:before,.lv68:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv68:before{content:"68"}.lv69:before{content:"69"}.lv69:before,.lv70:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv70:before{content:"70"}.lv71:before{content:"71"}.lv71:before,.lv72:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv72:before{content:"72"}.lv73:before{content:"73"}.lv73:before,.lv74:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv74:before{content:"74"}.lv75:before{content:"75"}.lv75:before,.lv76:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv76:before{content:"76"}.lv77:before{content:"77"}.lv77:before,.lv78:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv78:before{content:"78"}.lv79:before{content:"79"}.lv79:before,.lv80:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv80:before{content:"80"}.lv81:before{content:"81"}.lv81:before,.lv82:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv82:before{content:"82"}.lv83:before{content:"83"}.lv83:before,.lv84:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv84:before{content:"84"}.lv85:before{content:"85"}.lv85:before,.lv86:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv86:before{content:"86"}.lv87:before{content:"87"}.lv87:before,.lv88:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv88:before{content:"88"}.lv89:before{content:"89"}.lv89:before,.lv90:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv90:before{content:"90"}.lv91:before{content:"91"}.lv91:before,.lv92:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv92:before{content:"92"}.lv93:before{content:"93"}.lv93:before,.lv94:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv94:before{content:"94"}.lv95:before{content:"95"}.lv95:before,.lv96:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv96:before{content:"96"}.lv97:before{content:"97"}.lv97:before,.lv98:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv98:before{content:"98"}.lv99:before{content:"99"}.lv99:before,.lv100:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv100:before{content:"100"}.lv101:before{content:"101"}.lv101:before,.lv102:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv102:before{content:"102"}.lv103:before{content:"103"}.lv103:before,.lv104:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv104:before{content:"104"}.lv105:before{content:"105"}.lv105:before,.lv106:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv106:before{content:"106"}.lv107:before{content:"107"}.lv107:before,.lv108:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv108:before{content:"108"}.markdown-section{margin:0 auto;max-width:93%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#3f3f3f;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#c8c8c8}.markdown-section p.warn{background:rgba(234,111,90,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-480px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-100vw;width:100vw;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(100vw)}body.close .sidebar-toggle{background-color:rgba(63,63,63,.8);transition:background-color 1s;width:32px;padding:10px}body.close .content{transform:translateX(100vw)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}.app-sub-sidebar li>span:after{content:"\00A0";font-size:12px;line-height:1em;padding:0 6px 0 0;float:left}.app-sub-sidebar li.has-children .front{border:2px solid var(--theme-color,#ea6f5a)}.app-sub-sidebar li.has-children>span:after{-ms-writing-mode:tb-lr;writing-mode:vertical-lr;content:"\276F";font-size:12px;line-height:1em;padding:12px 0 0;float:left}.app-sub-sidebar li.has-children.collapse>span:after{-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;content:"\276F";font-size:12px;line-height:1em;padding:9px 4px 0 2px;float:left}.current span{color:#c94922}.app-name-link img{max-height:3em}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#3f3f3f;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#ea6f5a);box-sizing:border-box;color:var(--theme-color,#ea6f5a);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#ea6f5a);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#ea6f5a);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#ea6f5a)}.sidebar,body{background-color:#3f3f3f}.sidebar{color:#c8c8c8}.sidebar li{margin:6px 15px 6px 0}.sidebar ul li a{color:#c8c8c8;text-decoration:none;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{color:var(--theme-color,#ea6f5a);font-weight:600}.markdown-section strong{color:#657b83;font-weight:600}.markdown-section a{color:var(--theme-color,#ea6f5a);font-weight:600}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h1,.markdown-section h2,.markdown-section h3{font-weight:500}.markdown-section h4,.markdown-section h5,.markdown-section h6{font-weight:500;margin:0;padding:0}.markdown-section p{font-family:Georgia,Courier New,Times New Roman,Nimbus Roman No9 L,Songti SC,"Noto Serif CJK SC","Source Han Serif SC","Source Han Serif CN",STSong,AR PL New Sung,AR PL SungtiL GB,NSimSun,SimSun,TW\\-Sung,WenQuanYi Bitmap Song,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR PL UMing TW MBE,PMingLiU,MingLiU,serif;font-size:18px}.markdown-section figure,.markdown-section ol,.markdown-section p,.markdown-section ul{margin:1.2em 0}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#ea6f5a);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#657b83;font-size:.9rem;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section code,.markdown-section pre{background-color:#282828;font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 1.4rem;position:relative;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#ea6f5a)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#ea6f5a)}.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#282828;border-radius:2px;color:#657b83;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.9rem;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:2.2em 5px;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto}pre:after{color:#ccc;content:attr(data-lang);font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0}.markdown-section p.tip{background-color:#282828;color:#657b83}input[type=search]{background:#4f4f4f;border-color:#4f4f4f;color:#c8c8c8} \ No newline at end of file diff --git a/css/themes/dolphin.css b/css/themes/dolphin.css index 9a16061..870d9ac 100644 --- a/css/themes/dolphin.css +++ b/css/themes/dolphin.css @@ -1 +1 @@ -*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#0ff);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#0ff)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Verdana,-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;font-size:15px;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#0ff)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#0ff)}.app-nav li{display:inline-block;margin:0 .5rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:azure;fill:var(--theme-color,#0ff);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-x:auto;overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:480px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px;display:grid}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block;margin-left:20px}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:rgba(240,255,255,.8);border:0;outline:none;padding:10px;position:absolute;bottom:20px;left:0;text-align:center;transition:opacity .3s;width:32px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#0ff);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:480px;transition:left .25s ease}.markdown-section h1{display:block}.markdown-section h1:before{content:"H1";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h2{display:block}.markdown-section h2:before{content:"H2";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h3{display:block}.markdown-section h3:before{content:"H3";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h4{display:block}.markdown-section h4:before{content:"H4";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h5{display:block}.markdown-section h5:before{content:"H5";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h6{display:block}.markdown-section h6:before{content:"H6";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h7{display:block}.markdown-section h7:before{content:"H7";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h8{display:block}.markdown-section h8:before{content:"H8";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h9{display:block}.markdown-section h9:before{content:"H9";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h10{display:block}.markdown-section h10:before{content:"H10";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h11{display:block}.markdown-section h11:before{content:"H11";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h12{display:block}.markdown-section h12:before{content:"H12";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h13{display:block}.markdown-section h13:before{content:"H13";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h14{display:block}.markdown-section h14:before{content:"H14";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h15{display:block}.markdown-section h15:before{content:"H15";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h16{display:block}.markdown-section h16:before{content:"H16";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h17{display:block}.markdown-section h17:before{content:"H17";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h18{display:block}.markdown-section h18:before{content:"H18";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h19{display:block}.markdown-section h19:before{content:"H19";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h20{display:block}.markdown-section h20:before{content:"H20";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h21{display:block}.markdown-section h21:before{content:"H21";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h22{display:block}.markdown-section h22:before{content:"H22";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h23{display:block}.markdown-section h23:before{content:"H23";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h24{display:block}.markdown-section h24:before{content:"H24";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h25{display:block}.markdown-section h25:before{content:"H25";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h26{display:block}.markdown-section h26:before{content:"H26";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h27{display:block}.markdown-section h27:before{content:"H27";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h28{display:block}.markdown-section h28:before{content:"H28";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h29{display:block}.markdown-section h29:before{content:"H29";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h30{display:block}.markdown-section h30:before{content:"H30";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h31{display:block}.markdown-section h31:before{content:"H31";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h32{display:block}.markdown-section h32:before{content:"H32";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h33{display:block}.markdown-section h33:before{content:"H33";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h34{display:block}.markdown-section h34:before{content:"H34";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h35{display:block}.markdown-section h35:before{content:"H35";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h36{display:block}.markdown-section h36:before{content:"H36";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h37{display:block}.markdown-section h37:before{content:"H37";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h38{display:block}.markdown-section h38:before{content:"H38";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h39{display:block}.markdown-section h39:before{content:"H39";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h40{display:block}.markdown-section h40:before{content:"H40";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h41{display:block}.markdown-section h41:before{content:"H41";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h42{display:block}.markdown-section h42:before{content:"H42";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h43{display:block}.markdown-section h43:before{content:"H43";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h44{display:block}.markdown-section h44:before{content:"H44";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h45{display:block}.markdown-section h45:before{content:"H45";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h46{display:block}.markdown-section h46:before{content:"H46";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h47{display:block}.markdown-section h47:before{content:"H47";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h48{display:block}.markdown-section h48:before{content:"H48";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h49{display:block}.markdown-section h49:before{content:"H49";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h50{display:block}.markdown-section h50:before{content:"H50";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h51{display:block}.markdown-section h51:before{content:"H51";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h52{display:block}.markdown-section h52:before{content:"H52";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h53{display:block}.markdown-section h53:before{content:"H53";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h54{display:block}.markdown-section h54:before{content:"H54";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h55{display:block}.markdown-section h55:before{content:"H55";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h56{display:block}.markdown-section h56:before{content:"H56";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h57{display:block}.markdown-section h57:before{content:"H57";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h58{display:block}.markdown-section h58:before{content:"H58";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h59{display:block}.markdown-section h59:before{content:"H59";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h60{display:block}.markdown-section h60:before{content:"H60";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h61{display:block}.markdown-section h61:before{content:"H61";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h62{display:block}.markdown-section h62:before{content:"H62";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h63{display:block}.markdown-section h63:before{content:"H63";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h64{display:block}.markdown-section h64:before{content:"H64";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h65{display:block}.markdown-section h65:before{content:"H65";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h66{display:block}.markdown-section h66:before{content:"H66";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h67{display:block}.markdown-section h67:before{content:"H67";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h68{display:block}.markdown-section h68:before{content:"H68";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h69{display:block}.markdown-section h69:before{content:"H69";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h70{display:block}.markdown-section h70:before{content:"H70";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h71{display:block}.markdown-section h71:before{content:"H71";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h72{display:block}.markdown-section h72:before{content:"H72";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h73{display:block}.markdown-section h73:before{content:"H73";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h74{display:block}.markdown-section h74:before{content:"H74";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h75{display:block}.markdown-section h75:before{content:"H75";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h76{display:block}.markdown-section h76:before{content:"H76";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h77{display:block}.markdown-section h77:before{content:"H77";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h78{display:block}.markdown-section h78:before{content:"H78";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h79{display:block}.markdown-section h79:before{content:"H79";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h80{display:block}.markdown-section h80:before{content:"H80";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h81{display:block}.markdown-section h81:before{content:"H81";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h82{display:block}.markdown-section h82:before{content:"H82";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h83{display:block}.markdown-section h83:before{content:"H83";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h84{display:block}.markdown-section h84:before{content:"H84";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h85{display:block}.markdown-section h85:before{content:"H85";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h86{display:block}.markdown-section h86:before{content:"H86";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h87{display:block}.markdown-section h87:before{content:"H87";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h88{display:block}.markdown-section h88:before{content:"H88";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h89{display:block}.markdown-section h89:before{content:"H89";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h90{display:block}.markdown-section h90:before{content:"H90";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h91{display:block}.markdown-section h91:before{content:"H91";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h92{display:block}.markdown-section h92:before{content:"H92";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h93{display:block}.markdown-section h93:before{content:"H93";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h94{display:block}.markdown-section h94:before{content:"H94";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h95{display:block}.markdown-section h95:before{content:"H95";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h96{display:block}.markdown-section h96:before{content:"H96";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h97{display:block}.markdown-section h97:before{content:"H97";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h98{display:block}.markdown-section h98:before{content:"H98";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h99{display:block}.markdown-section h99:before{content:"H99";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h100{display:block}.markdown-section h100:before{content:"H100";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h101{display:block}.markdown-section h101:before{content:"H101";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h102{display:block}.markdown-section h102:before{content:"H102";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h103{display:block}.markdown-section h103:before{content:"H103";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h104{display:block}.markdown-section h104:before{content:"H104";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h105{display:block}.markdown-section h105:before{content:"H105";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h106{display:block}.markdown-section h106:before{content:"H106";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h107{display:block}.markdown-section h107:before{content:"H107";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h108{display:block}.markdown-section h108:before{content:"H108";font-size:.6rem;margin:0 .8em 0 -1.2em}.lv1:before{content:"H1"}.lv1:before,.lv2:before{font-size:.5rem;padding:0 .2rem}.lv2:before{content:"H2"}.lv3:before{content:"H3"}.lv3:before,.lv4:before{font-size:.5rem;padding:0 .2rem}.lv4:before{content:"H4"}.lv5:before{content:"H5"}.lv5:before,.lv6:before{font-size:.5rem;padding:0 .2rem}.lv6:before{content:"H6"}.lv7:before{content:"H7"}.lv7:before,.lv8:before{font-size:.5rem;padding:0 .2rem}.lv8:before{content:"H8"}.lv9:before{content:"H9"}.lv9:before,.lv10:before{font-size:.5rem;padding:0 .2rem}.lv10:before{content:"H10"}.lv11:before{content:"H11"}.lv11:before,.lv12:before{font-size:.5rem;padding:0 .2rem}.lv12:before{content:"H12"}.lv13:before{content:"H13"}.lv13:before,.lv14:before{font-size:.5rem;padding:0 .2rem}.lv14:before{content:"H14"}.lv15:before{content:"H15"}.lv15:before,.lv16:before{font-size:.5rem;padding:0 .2rem}.lv16:before{content:"H16"}.lv17:before{content:"H17"}.lv17:before,.lv18:before{font-size:.5rem;padding:0 .2rem}.lv18:before{content:"H18"}.lv19:before{content:"H19"}.lv19:before,.lv20:before{font-size:.5rem;padding:0 .2rem}.lv20:before{content:"H20"}.lv21:before{content:"H21"}.lv21:before,.lv22:before{font-size:.5rem;padding:0 .2rem}.lv22:before{content:"H22"}.lv23:before{content:"H23"}.lv23:before,.lv24:before{font-size:.5rem;padding:0 .2rem}.lv24:before{content:"H24"}.lv25:before{content:"H25"}.lv25:before,.lv26:before{font-size:.5rem;padding:0 .2rem}.lv26:before{content:"H26"}.lv27:before{content:"H27"}.lv27:before,.lv28:before{font-size:.5rem;padding:0 .2rem}.lv28:before{content:"H28"}.lv29:before{content:"H29"}.lv29:before,.lv30:before{font-size:.5rem;padding:0 .2rem}.lv30:before{content:"H30"}.lv31:before{content:"H31"}.lv31:before,.lv32:before{font-size:.5rem;padding:0 .2rem}.lv32:before{content:"H32"}.lv33:before{content:"H33"}.lv33:before,.lv34:before{font-size:.5rem;padding:0 .2rem}.lv34:before{content:"H34"}.lv35:before{content:"H35"}.lv35:before,.lv36:before{font-size:.5rem;padding:0 .2rem}.lv36:before{content:"H36"}.lv37:before{content:"H37"}.lv37:before,.lv38:before{font-size:.5rem;padding:0 .2rem}.lv38:before{content:"H38"}.lv39:before{content:"H39"}.lv39:before,.lv40:before{font-size:.5rem;padding:0 .2rem}.lv40:before{content:"H40"}.lv41:before{content:"H41"}.lv41:before,.lv42:before{font-size:.5rem;padding:0 .2rem}.lv42:before{content:"H42"}.lv43:before{content:"H43"}.lv43:before,.lv44:before{font-size:.5rem;padding:0 .2rem}.lv44:before{content:"H44"}.lv45:before{content:"H45"}.lv45:before,.lv46:before{font-size:.5rem;padding:0 .2rem}.lv46:before{content:"H46"}.lv47:before{content:"H47"}.lv47:before,.lv48:before{font-size:.5rem;padding:0 .2rem}.lv48:before{content:"H48"}.lv49:before{content:"H49"}.lv49:before,.lv50:before{font-size:.5rem;padding:0 .2rem}.lv50:before{content:"H50"}.lv51:before{content:"H51"}.lv51:before,.lv52:before{font-size:.5rem;padding:0 .2rem}.lv52:before{content:"H52"}.lv53:before{content:"H53"}.lv53:before,.lv54:before{font-size:.5rem;padding:0 .2rem}.lv54:before{content:"H54"}.lv55:before{content:"H55"}.lv55:before,.lv56:before{font-size:.5rem;padding:0 .2rem}.lv56:before{content:"H56"}.lv57:before{content:"H57"}.lv57:before,.lv58:before{font-size:.5rem;padding:0 .2rem}.lv58:before{content:"H58"}.lv59:before{content:"H59"}.lv59:before,.lv60:before{font-size:.5rem;padding:0 .2rem}.lv60:before{content:"H60"}.lv61:before{content:"H61"}.lv61:before,.lv62:before{font-size:.5rem;padding:0 .2rem}.lv62:before{content:"H62"}.lv63:before{content:"H63"}.lv63:before,.lv64:before{font-size:.5rem;padding:0 .2rem}.lv64:before{content:"H64"}.lv65:before{content:"H65"}.lv65:before,.lv66:before{font-size:.5rem;padding:0 .2rem}.lv66:before{content:"H66"}.lv67:before{content:"H67"}.lv67:before,.lv68:before{font-size:.5rem;padding:0 .2rem}.lv68:before{content:"H68"}.lv69:before{content:"H69"}.lv69:before,.lv70:before{font-size:.5rem;padding:0 .2rem}.lv70:before{content:"H70"}.lv71:before{content:"H71"}.lv71:before,.lv72:before{font-size:.5rem;padding:0 .2rem}.lv72:before{content:"H72"}.lv73:before{content:"H73"}.lv73:before,.lv74:before{font-size:.5rem;padding:0 .2rem}.lv74:before{content:"H74"}.lv75:before{content:"H75"}.lv75:before,.lv76:before{font-size:.5rem;padding:0 .2rem}.lv76:before{content:"H76"}.lv77:before{content:"H77"}.lv77:before,.lv78:before{font-size:.5rem;padding:0 .2rem}.lv78:before{content:"H78"}.lv79:before{content:"H79"}.lv79:before,.lv80:before{font-size:.5rem;padding:0 .2rem}.lv80:before{content:"H80"}.lv81:before{content:"H81"}.lv81:before,.lv82:before{font-size:.5rem;padding:0 .2rem}.lv82:before{content:"H82"}.lv83:before{content:"H83"}.lv83:before,.lv84:before{font-size:.5rem;padding:0 .2rem}.lv84:before{content:"H84"}.lv85:before{content:"H85"}.lv85:before,.lv86:before{font-size:.5rem;padding:0 .2rem}.lv86:before{content:"H86"}.lv87:before{content:"H87"}.lv87:before,.lv88:before{font-size:.5rem;padding:0 .2rem}.lv88:before{content:"H88"}.lv89:before{content:"H89"}.lv89:before,.lv90:before{font-size:.5rem;padding:0 .2rem}.lv90:before{content:"H90"}.lv91:before{content:"H91"}.lv91:before,.lv92:before{font-size:.5rem;padding:0 .2rem}.lv92:before{content:"H92"}.lv93:before{content:"H93"}.lv93:before,.lv94:before{font-size:.5rem;padding:0 .2rem}.lv94:before{content:"H94"}.lv95:before{content:"H95"}.lv95:before,.lv96:before{font-size:.5rem;padding:0 .2rem}.lv96:before{content:"H96"}.lv97:before{content:"H97"}.lv97:before,.lv98:before{font-size:.5rem;padding:0 .2rem}.lv98:before{content:"H98"}.lv99:before{content:"H99"}.lv99:before,.lv100:before{font-size:.5rem;padding:0 .2rem}.lv100:before{content:"H100"}.lv101:before{content:"H101"}.lv101:before,.lv102:before{font-size:.5rem;padding:0 .2rem}.lv102:before{content:"H102"}.lv103:before{content:"H103"}.lv103:before,.lv104:before{font-size:.5rem;padding:0 .2rem}.lv104:before{content:"H104"}.lv105:before{content:"H105"}.lv105:before,.lv106:before{font-size:.5rem;padding:0 .2rem}.lv106:before{content:"H106"}.lv107:before{content:"H107"}.lv107:before,.lv108:before{font-size:.5rem;padding:0 .2rem}.lv108:before{content:"H108"}.markdown-section{margin:0 auto;max-width:93%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:azure;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(0,255,255,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-480px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-100vw;width:100vw;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}.markdown-section{max-width:99%}.markdown-section p{font-size:20px}body.close .sidebar{transform:translateX(100vw)}body.close .sidebar-toggle{background-color:rgba(240,255,255,.8);transition:background-color 1s;width:32px;padding:10px}body.close .content{transform:translateX(100vw)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}.app-sub-sidebar ul{display:none}.app-sub-sidebar ul.expand,.app-sub-sidebar ul.parent,.app-sub-sidebar ul.wife{display:block}.app-sub-sidebar ul.parent.expand,.app-sub-sidebar ul.wife.expand{display:none}.app-sub-sidebar li span{position:absolute;font-family:Consolas,Courier New,Lucida Console,Monaco,Courier,monospace;font-size:24px}.app-sub-sidebar li span.change:after,.app-sub-sidebar li span:after{content:"\00A0"}.app-sub-sidebar li.has-children>span:after{content:"+"}.app-sub-sidebar li.has-children.active>span:after,.app-sub-sidebar li.has-children>span.change:after,.app-sub-sidebar li.parent>span:after{content:"-"}.app-sub-sidebar li.has-children.active>span.change:after,.app-sub-sidebar li.parent>span.change:after{content:"+"}.current span{color:#c94922}.app-name-link img{max-height:3em}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:azure;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#0ff);box-sizing:border-box;color:var(--theme-color,#0ff);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#0ff);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#0ff);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#0ff)}.sidebar,body{background-color:azure}.sidebar{color:#364149}.sidebar li{margin:6px 0}.sidebar ul li a{color:#505d6b;font-weight:400;text-decoration:none;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{border-right:2px solid;color:var(--theme-color,#0ff);font-weight:600}.markdown-section strong{color:#2c3e50;font-weight:600}.markdown-section a{color:#505d6b}.markdown-section a:hover{text-decoration:underline}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h1,.markdown-section h2,.markdown-section h3{font-weight:500}.markdown-section h4,.markdown-section h5,.markdown-section h6{font-weight:500;margin:0;padding:0}.markdown-section p{font-family:Georgia,Courier New,Times New Roman,Nimbus Roman No9 L,Songti SC,"Noto Serif CJK SC","Source Han Serif SC","Source Han Serif CN",STSong,AR PL New Sung,AR PL SungtiL GB,NSimSun,SimSun,TW\\-Sung,WenQuanYi Bitmap Song,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR PL UMing TW MBE,PMingLiU,MingLiU,serif;font-size:18px}.markdown-section figure,.markdown-section p{margin:.4em 0 1em}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#0ff);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;font-size:.9rem;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section code,.markdown-section pre{background-color:#f8f8f8;font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 1.4rem;position:relative;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#0ff)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#0ff)}.token.function,.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.9rem;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:2.2em 5px;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto}pre:after{color:#ccc;content:attr(data-lang);font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file +*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#0ff);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#0ff)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Verdana,-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;font-size:15px;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#0ff)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#0ff)}.app-nav li{display:inline-block;margin:0 .5rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:azure;fill:var(--theme-color,#0ff);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-x:auto;overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:480px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px;display:grid}.sidebar li.collapse>ul{display:none}.sidebar li:not(.collapse)>ul{display:block}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block;margin-left:20px}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:rgba(240,255,255,.8);border:0;outline:none;padding:10px;position:absolute;bottom:20px;left:0;text-align:center;transition:opacity .3s;width:32px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#0ff);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:480px;transition:left .25s ease}.markdown-section h1{display:block;line-height:2}.markdown-section h1:before{content:"1";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h2{display:block;line-height:2}.markdown-section h2:before{content:"2";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h3{display:block;line-height:2}.markdown-section h3:before{content:"3";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h4{display:block;line-height:2}.markdown-section h4:before{content:"4";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h5{display:block;line-height:2}.markdown-section h5:before{content:"5";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h6{display:block;line-height:2}.markdown-section h6:before{content:"6";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h7{display:block;line-height:2}.markdown-section h7:before{content:"7";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h8{display:block;line-height:2}.markdown-section h8:before{content:"8";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h9{display:block;line-height:2}.markdown-section h9:before{content:"9";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h10{display:block;line-height:2}.markdown-section h10:before{content:"10";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h11{display:block;line-height:2}.markdown-section h11:before{content:"11";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h12{display:block;line-height:2}.markdown-section h12:before{content:"12";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h13{display:block;line-height:2}.markdown-section h13:before{content:"13";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h14{display:block;line-height:2}.markdown-section h14:before{content:"14";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h15{display:block;line-height:2}.markdown-section h15:before{content:"15";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h16{display:block;line-height:2}.markdown-section h16:before{content:"16";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h17{display:block;line-height:2}.markdown-section h17:before{content:"17";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h18{display:block;line-height:2}.markdown-section h18:before{content:"18";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h19{display:block;line-height:2}.markdown-section h19:before{content:"19";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h20{display:block;line-height:2}.markdown-section h20:before{content:"20";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h21{display:block;line-height:2}.markdown-section h21:before{content:"21";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h22{display:block;line-height:2}.markdown-section h22:before{content:"22";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h23{display:block;line-height:2}.markdown-section h23:before{content:"23";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h24{display:block;line-height:2}.markdown-section h24:before{content:"24";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h25{display:block;line-height:2}.markdown-section h25:before{content:"25";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h26{display:block;line-height:2}.markdown-section h26:before{content:"26";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h27{display:block;line-height:2}.markdown-section h27:before{content:"27";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h28{display:block;line-height:2}.markdown-section h28:before{content:"28";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h29{display:block;line-height:2}.markdown-section h29:before{content:"29";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h30{display:block;line-height:2}.markdown-section h30:before{content:"30";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h31{display:block;line-height:2}.markdown-section h31:before{content:"31";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h32{display:block;line-height:2}.markdown-section h32:before{content:"32";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h33{display:block;line-height:2}.markdown-section h33:before{content:"33";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h34{display:block;line-height:2}.markdown-section h34:before{content:"34";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h35{display:block;line-height:2}.markdown-section h35:before{content:"35";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h36{display:block;line-height:2}.markdown-section h36:before{content:"36";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h37{display:block;line-height:2}.markdown-section h37:before{content:"37";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h38{display:block;line-height:2}.markdown-section h38:before{content:"38";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h39{display:block;line-height:2}.markdown-section h39:before{content:"39";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h40{display:block;line-height:2}.markdown-section h40:before{content:"40";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h41{display:block;line-height:2}.markdown-section h41:before{content:"41";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h42{display:block;line-height:2}.markdown-section h42:before{content:"42";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h43{display:block;line-height:2}.markdown-section h43:before{content:"43";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h44{display:block;line-height:2}.markdown-section h44:before{content:"44";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h45{display:block;line-height:2}.markdown-section h45:before{content:"45";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h46{display:block;line-height:2}.markdown-section h46:before{content:"46";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h47{display:block;line-height:2}.markdown-section h47:before{content:"47";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h48{display:block;line-height:2}.markdown-section h48:before{content:"48";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h49{display:block;line-height:2}.markdown-section h49:before{content:"49";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h50{display:block;line-height:2}.markdown-section h50:before{content:"50";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h51{display:block;line-height:2}.markdown-section h51:before{content:"51";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h52{display:block;line-height:2}.markdown-section h52:before{content:"52";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h53{display:block;line-height:2}.markdown-section h53:before{content:"53";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h54{display:block;line-height:2}.markdown-section h54:before{content:"54";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h55{display:block;line-height:2}.markdown-section h55:before{content:"55";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h56{display:block;line-height:2}.markdown-section h56:before{content:"56";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h57{display:block;line-height:2}.markdown-section h57:before{content:"57";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h58{display:block;line-height:2}.markdown-section h58:before{content:"58";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h59{display:block;line-height:2}.markdown-section h59:before{content:"59";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h60{display:block;line-height:2}.markdown-section h60:before{content:"60";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h61{display:block;line-height:2}.markdown-section h61:before{content:"61";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h62{display:block;line-height:2}.markdown-section h62:before{content:"62";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h63{display:block;line-height:2}.markdown-section h63:before{content:"63";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h64{display:block;line-height:2}.markdown-section h64:before{content:"64";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h65{display:block;line-height:2}.markdown-section h65:before{content:"65";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h66{display:block;line-height:2}.markdown-section h66:before{content:"66";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h67{display:block;line-height:2}.markdown-section h67:before{content:"67";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h68{display:block;line-height:2}.markdown-section h68:before{content:"68";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h69{display:block;line-height:2}.markdown-section h69:before{content:"69";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h70{display:block;line-height:2}.markdown-section h70:before{content:"70";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h71{display:block;line-height:2}.markdown-section h71:before{content:"71";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h72{display:block;line-height:2}.markdown-section h72:before{content:"72";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h73{display:block;line-height:2}.markdown-section h73:before{content:"73";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h74{display:block;line-height:2}.markdown-section h74:before{content:"74";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h75{display:block;line-height:2}.markdown-section h75:before{content:"75";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h76{display:block;line-height:2}.markdown-section h76:before{content:"76";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h77{display:block;line-height:2}.markdown-section h77:before{content:"77";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h78{display:block;line-height:2}.markdown-section h78:before{content:"78";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h79{display:block;line-height:2}.markdown-section h79:before{content:"79";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h80{display:block;line-height:2}.markdown-section h80:before{content:"80";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h81{display:block;line-height:2}.markdown-section h81:before{content:"81";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h82{display:block;line-height:2}.markdown-section h82:before{content:"82";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h83{display:block;line-height:2}.markdown-section h83:before{content:"83";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h84{display:block;line-height:2}.markdown-section h84:before{content:"84";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h85{display:block;line-height:2}.markdown-section h85:before{content:"85";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h86{display:block;line-height:2}.markdown-section h86:before{content:"86";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h87{display:block;line-height:2}.markdown-section h87:before{content:"87";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h88{display:block;line-height:2}.markdown-section h88:before{content:"88";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h89{display:block;line-height:2}.markdown-section h89:before{content:"89";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h90{display:block;line-height:2}.markdown-section h90:before{content:"90";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h91{display:block;line-height:2}.markdown-section h91:before{content:"91";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h92{display:block;line-height:2}.markdown-section h92:before{content:"92";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h93{display:block;line-height:2}.markdown-section h93:before{content:"93";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h94{display:block;line-height:2}.markdown-section h94:before{content:"94";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h95{display:block;line-height:2}.markdown-section h95:before{content:"95";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h96{display:block;line-height:2}.markdown-section h96:before{content:"96";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h97{display:block;line-height:2}.markdown-section h97:before{content:"97";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h98{display:block;line-height:2}.markdown-section h98:before{content:"98";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h99{display:block;line-height:2}.markdown-section h99:before{content:"99";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h100{display:block;line-height:2}.markdown-section h100:before{content:"100";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h101{display:block;line-height:2}.markdown-section h101:before{content:"101";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h102{display:block;line-height:2}.markdown-section h102:before{content:"102";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h103{display:block;line-height:2}.markdown-section h103:before{content:"103";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h104{display:block;line-height:2}.markdown-section h104:before{content:"104";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h105{display:block;line-height:2}.markdown-section h105:before{content:"105";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h106{display:block;line-height:2}.markdown-section h106:before{content:"106";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h107{display:block;line-height:2}.markdown-section h107:before{content:"107";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h108{display:block;line-height:2}.markdown-section h108:before{content:"108";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.lv1:before{content:"1"}.lv1:before,.lv2:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv2:before{content:"2"}.lv3:before{content:"3"}.lv3:before,.lv4:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv4:before{content:"4"}.lv5:before{content:"5"}.lv5:before,.lv6:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv6:before{content:"6"}.lv7:before{content:"7"}.lv7:before,.lv8:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv8:before{content:"8"}.lv9:before{content:"9"}.lv9:before,.lv10:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv10:before{content:"10"}.lv11:before{content:"11"}.lv11:before,.lv12:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv12:before{content:"12"}.lv13:before{content:"13"}.lv13:before,.lv14:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv14:before{content:"14"}.lv15:before{content:"15"}.lv15:before,.lv16:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv16:before{content:"16"}.lv17:before{content:"17"}.lv17:before,.lv18:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv18:before{content:"18"}.lv19:before{content:"19"}.lv19:before,.lv20:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv20:before{content:"20"}.lv21:before{content:"21"}.lv21:before,.lv22:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv22:before{content:"22"}.lv23:before{content:"23"}.lv23:before,.lv24:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv24:before{content:"24"}.lv25:before{content:"25"}.lv25:before,.lv26:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv26:before{content:"26"}.lv27:before{content:"27"}.lv27:before,.lv28:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv28:before{content:"28"}.lv29:before{content:"29"}.lv29:before,.lv30:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv30:before{content:"30"}.lv31:before{content:"31"}.lv31:before,.lv32:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv32:before{content:"32"}.lv33:before{content:"33"}.lv33:before,.lv34:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv34:before{content:"34"}.lv35:before{content:"35"}.lv35:before,.lv36:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv36:before{content:"36"}.lv37:before{content:"37"}.lv37:before,.lv38:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv38:before{content:"38"}.lv39:before{content:"39"}.lv39:before,.lv40:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv40:before{content:"40"}.lv41:before{content:"41"}.lv41:before,.lv42:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv42:before{content:"42"}.lv43:before{content:"43"}.lv43:before,.lv44:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv44:before{content:"44"}.lv45:before{content:"45"}.lv45:before,.lv46:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv46:before{content:"46"}.lv47:before{content:"47"}.lv47:before,.lv48:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv48:before{content:"48"}.lv49:before{content:"49"}.lv49:before,.lv50:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv50:before{content:"50"}.lv51:before{content:"51"}.lv51:before,.lv52:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv52:before{content:"52"}.lv53:before{content:"53"}.lv53:before,.lv54:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv54:before{content:"54"}.lv55:before{content:"55"}.lv55:before,.lv56:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv56:before{content:"56"}.lv57:before{content:"57"}.lv57:before,.lv58:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv58:before{content:"58"}.lv59:before{content:"59"}.lv59:before,.lv60:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv60:before{content:"60"}.lv61:before{content:"61"}.lv61:before,.lv62:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv62:before{content:"62"}.lv63:before{content:"63"}.lv63:before,.lv64:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv64:before{content:"64"}.lv65:before{content:"65"}.lv65:before,.lv66:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv66:before{content:"66"}.lv67:before{content:"67"}.lv67:before,.lv68:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv68:before{content:"68"}.lv69:before{content:"69"}.lv69:before,.lv70:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv70:before{content:"70"}.lv71:before{content:"71"}.lv71:before,.lv72:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv72:before{content:"72"}.lv73:before{content:"73"}.lv73:before,.lv74:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv74:before{content:"74"}.lv75:before{content:"75"}.lv75:before,.lv76:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv76:before{content:"76"}.lv77:before{content:"77"}.lv77:before,.lv78:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv78:before{content:"78"}.lv79:before{content:"79"}.lv79:before,.lv80:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv80:before{content:"80"}.lv81:before{content:"81"}.lv81:before,.lv82:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv82:before{content:"82"}.lv83:before{content:"83"}.lv83:before,.lv84:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv84:before{content:"84"}.lv85:before{content:"85"}.lv85:before,.lv86:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv86:before{content:"86"}.lv87:before{content:"87"}.lv87:before,.lv88:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv88:before{content:"88"}.lv89:before{content:"89"}.lv89:before,.lv90:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv90:before{content:"90"}.lv91:before{content:"91"}.lv91:before,.lv92:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv92:before{content:"92"}.lv93:before{content:"93"}.lv93:before,.lv94:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv94:before{content:"94"}.lv95:before{content:"95"}.lv95:before,.lv96:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv96:before{content:"96"}.lv97:before{content:"97"}.lv97:before,.lv98:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv98:before{content:"98"}.lv99:before{content:"99"}.lv99:before,.lv100:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv100:before{content:"100"}.lv101:before{content:"101"}.lv101:before,.lv102:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv102:before{content:"102"}.lv103:before{content:"103"}.lv103:before,.lv104:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv104:before{content:"104"}.lv105:before{content:"105"}.lv105:before,.lv106:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv106:before{content:"106"}.lv107:before{content:"107"}.lv107:before,.lv108:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv108:before{content:"108"}.markdown-section{margin:0 auto;max-width:93%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:azure;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(0,255,255,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-480px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-100vw;width:100vw;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(100vw)}body.close .sidebar-toggle{background-color:rgba(240,255,255,.8);transition:background-color 1s;width:32px;padding:10px}body.close .content{transform:translateX(100vw)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}.app-sub-sidebar li>span:after{content:"\00A0";font-size:12px;line-height:1em;padding:0 6px 0 0;float:left}.app-sub-sidebar li.has-children .front{border:2px solid var(--theme-color,#0ff)}.app-sub-sidebar li.has-children>span:after{-ms-writing-mode:tb-lr;writing-mode:vertical-lr;content:"\276F";font-size:12px;line-height:1em;padding:12px 0 0;float:left}.app-sub-sidebar li.has-children.collapse>span:after{-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;content:"\276F";font-size:12px;line-height:1em;padding:9px 4px 0 2px;float:left}.current span{color:#c94922}.app-name-link img{max-height:3em}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:azure;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#0ff);box-sizing:border-box;color:var(--theme-color,#0ff);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#0ff);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#0ff);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#0ff)}.sidebar,body{background-color:azure}.sidebar{color:#364149}.sidebar li{margin:6px 0}.sidebar ul li a{color:#505d6b;font-weight:400;text-decoration:none;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{border-right:2px solid;color:var(--theme-color,#0ff);font-weight:600}.markdown-section strong{color:#2c3e50;font-weight:600}.markdown-section a{color:var(--theme-color,#0ff);font-weight:600}.markdown-section a:hover{text-decoration:underline}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h1,.markdown-section h2,.markdown-section h3{font-weight:500}.markdown-section h4,.markdown-section h5,.markdown-section h6{font-weight:500;margin:0;padding:0}.markdown-section p{font-family:Georgia,Courier New,Times New Roman,Nimbus Roman No9 L,Songti SC,"Noto Serif CJK SC","Source Han Serif SC","Source Han Serif CN",STSong,AR PL New Sung,AR PL SungtiL GB,NSimSun,SimSun,TW\\-Sung,WenQuanYi Bitmap Song,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR PL UMing TW MBE,PMingLiU,MingLiU,serif;font-size:18px}.markdown-section figure,.markdown-section p{margin:.4em 0 1em}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#0ff);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;font-size:.9rem;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section code,.markdown-section pre{background-color:#f8f8f8;font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 1.4rem;position:relative;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#0ff)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#0ff)}.token.function,.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.9rem;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:2.2em 5px;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto}pre:after{color:#ccc;content:attr(data-lang);font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file diff --git a/css/themes/pure.css b/css/themes/pure.css index 3fd7694..3126be6 100644 --- a/css/themes/pure.css +++ b/css/themes/pure.css @@ -1 +1 @@ -*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#000);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#000)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#000;font-family:Verdana,-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;font-size:15px;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#000)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#000)}.app-nav li{display:inline-block;margin:0 .5rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#000);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-x:auto;overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:480px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px;display:grid}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block;margin-left:20px}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:20px;left:0;text-align:center;transition:opacity .3s;width:32px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#000);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:480px;transition:left .25s ease}.markdown-section h1{display:block}.markdown-section h1:before{content:"H1";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h2{display:block}.markdown-section h2:before{content:"H2";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h3{display:block}.markdown-section h3:before{content:"H3";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h4{display:block}.markdown-section h4:before{content:"H4";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h5{display:block}.markdown-section h5:before{content:"H5";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h6{display:block}.markdown-section h6:before{content:"H6";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h7{display:block}.markdown-section h7:before{content:"H7";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h8{display:block}.markdown-section h8:before{content:"H8";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h9{display:block}.markdown-section h9:before{content:"H9";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h10{display:block}.markdown-section h10:before{content:"H10";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h11{display:block}.markdown-section h11:before{content:"H11";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h12{display:block}.markdown-section h12:before{content:"H12";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h13{display:block}.markdown-section h13:before{content:"H13";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h14{display:block}.markdown-section h14:before{content:"H14";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h15{display:block}.markdown-section h15:before{content:"H15";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h16{display:block}.markdown-section h16:before{content:"H16";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h17{display:block}.markdown-section h17:before{content:"H17";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h18{display:block}.markdown-section h18:before{content:"H18";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h19{display:block}.markdown-section h19:before{content:"H19";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h20{display:block}.markdown-section h20:before{content:"H20";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h21{display:block}.markdown-section h21:before{content:"H21";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h22{display:block}.markdown-section h22:before{content:"H22";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h23{display:block}.markdown-section h23:before{content:"H23";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h24{display:block}.markdown-section h24:before{content:"H24";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h25{display:block}.markdown-section h25:before{content:"H25";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h26{display:block}.markdown-section h26:before{content:"H26";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h27{display:block}.markdown-section h27:before{content:"H27";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h28{display:block}.markdown-section h28:before{content:"H28";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h29{display:block}.markdown-section h29:before{content:"H29";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h30{display:block}.markdown-section h30:before{content:"H30";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h31{display:block}.markdown-section h31:before{content:"H31";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h32{display:block}.markdown-section h32:before{content:"H32";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h33{display:block}.markdown-section h33:before{content:"H33";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h34{display:block}.markdown-section h34:before{content:"H34";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h35{display:block}.markdown-section h35:before{content:"H35";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h36{display:block}.markdown-section h36:before{content:"H36";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h37{display:block}.markdown-section h37:before{content:"H37";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h38{display:block}.markdown-section h38:before{content:"H38";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h39{display:block}.markdown-section h39:before{content:"H39";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h40{display:block}.markdown-section h40:before{content:"H40";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h41{display:block}.markdown-section h41:before{content:"H41";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h42{display:block}.markdown-section h42:before{content:"H42";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h43{display:block}.markdown-section h43:before{content:"H43";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h44{display:block}.markdown-section h44:before{content:"H44";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h45{display:block}.markdown-section h45:before{content:"H45";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h46{display:block}.markdown-section h46:before{content:"H46";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h47{display:block}.markdown-section h47:before{content:"H47";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h48{display:block}.markdown-section h48:before{content:"H48";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h49{display:block}.markdown-section h49:before{content:"H49";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h50{display:block}.markdown-section h50:before{content:"H50";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h51{display:block}.markdown-section h51:before{content:"H51";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h52{display:block}.markdown-section h52:before{content:"H52";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h53{display:block}.markdown-section h53:before{content:"H53";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h54{display:block}.markdown-section h54:before{content:"H54";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h55{display:block}.markdown-section h55:before{content:"H55";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h56{display:block}.markdown-section h56:before{content:"H56";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h57{display:block}.markdown-section h57:before{content:"H57";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h58{display:block}.markdown-section h58:before{content:"H58";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h59{display:block}.markdown-section h59:before{content:"H59";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h60{display:block}.markdown-section h60:before{content:"H60";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h61{display:block}.markdown-section h61:before{content:"H61";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h62{display:block}.markdown-section h62:before{content:"H62";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h63{display:block}.markdown-section h63:before{content:"H63";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h64{display:block}.markdown-section h64:before{content:"H64";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h65{display:block}.markdown-section h65:before{content:"H65";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h66{display:block}.markdown-section h66:before{content:"H66";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h67{display:block}.markdown-section h67:before{content:"H67";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h68{display:block}.markdown-section h68:before{content:"H68";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h69{display:block}.markdown-section h69:before{content:"H69";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h70{display:block}.markdown-section h70:before{content:"H70";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h71{display:block}.markdown-section h71:before{content:"H71";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h72{display:block}.markdown-section h72:before{content:"H72";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h73{display:block}.markdown-section h73:before{content:"H73";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h74{display:block}.markdown-section h74:before{content:"H74";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h75{display:block}.markdown-section h75:before{content:"H75";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h76{display:block}.markdown-section h76:before{content:"H76";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h77{display:block}.markdown-section h77:before{content:"H77";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h78{display:block}.markdown-section h78:before{content:"H78";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h79{display:block}.markdown-section h79:before{content:"H79";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h80{display:block}.markdown-section h80:before{content:"H80";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h81{display:block}.markdown-section h81:before{content:"H81";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h82{display:block}.markdown-section h82:before{content:"H82";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h83{display:block}.markdown-section h83:before{content:"H83";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h84{display:block}.markdown-section h84:before{content:"H84";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h85{display:block}.markdown-section h85:before{content:"H85";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h86{display:block}.markdown-section h86:before{content:"H86";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h87{display:block}.markdown-section h87:before{content:"H87";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h88{display:block}.markdown-section h88:before{content:"H88";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h89{display:block}.markdown-section h89:before{content:"H89";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h90{display:block}.markdown-section h90:before{content:"H90";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h91{display:block}.markdown-section h91:before{content:"H91";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h92{display:block}.markdown-section h92:before{content:"H92";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h93{display:block}.markdown-section h93:before{content:"H93";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h94{display:block}.markdown-section h94:before{content:"H94";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h95{display:block}.markdown-section h95:before{content:"H95";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h96{display:block}.markdown-section h96:before{content:"H96";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h97{display:block}.markdown-section h97:before{content:"H97";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h98{display:block}.markdown-section h98:before{content:"H98";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h99{display:block}.markdown-section h99:before{content:"H99";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h100{display:block}.markdown-section h100:before{content:"H100";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h101{display:block}.markdown-section h101:before{content:"H101";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h102{display:block}.markdown-section h102:before{content:"H102";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h103{display:block}.markdown-section h103:before{content:"H103";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h104{display:block}.markdown-section h104:before{content:"H104";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h105{display:block}.markdown-section h105:before{content:"H105";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h106{display:block}.markdown-section h106:before{content:"H106";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h107{display:block}.markdown-section h107:before{content:"H107";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h108{display:block}.markdown-section h108:before{content:"H108";font-size:.6rem;margin:0 .8em 0 -1.2em}.lv1:before{content:"H1"}.lv1:before,.lv2:before{font-size:.5rem;padding:0 .2rem}.lv2:before{content:"H2"}.lv3:before{content:"H3"}.lv3:before,.lv4:before{font-size:.5rem;padding:0 .2rem}.lv4:before{content:"H4"}.lv5:before{content:"H5"}.lv5:before,.lv6:before{font-size:.5rem;padding:0 .2rem}.lv6:before{content:"H6"}.lv7:before{content:"H7"}.lv7:before,.lv8:before{font-size:.5rem;padding:0 .2rem}.lv8:before{content:"H8"}.lv9:before{content:"H9"}.lv9:before,.lv10:before{font-size:.5rem;padding:0 .2rem}.lv10:before{content:"H10"}.lv11:before{content:"H11"}.lv11:before,.lv12:before{font-size:.5rem;padding:0 .2rem}.lv12:before{content:"H12"}.lv13:before{content:"H13"}.lv13:before,.lv14:before{font-size:.5rem;padding:0 .2rem}.lv14:before{content:"H14"}.lv15:before{content:"H15"}.lv15:before,.lv16:before{font-size:.5rem;padding:0 .2rem}.lv16:before{content:"H16"}.lv17:before{content:"H17"}.lv17:before,.lv18:before{font-size:.5rem;padding:0 .2rem}.lv18:before{content:"H18"}.lv19:before{content:"H19"}.lv19:before,.lv20:before{font-size:.5rem;padding:0 .2rem}.lv20:before{content:"H20"}.lv21:before{content:"H21"}.lv21:before,.lv22:before{font-size:.5rem;padding:0 .2rem}.lv22:before{content:"H22"}.lv23:before{content:"H23"}.lv23:before,.lv24:before{font-size:.5rem;padding:0 .2rem}.lv24:before{content:"H24"}.lv25:before{content:"H25"}.lv25:before,.lv26:before{font-size:.5rem;padding:0 .2rem}.lv26:before{content:"H26"}.lv27:before{content:"H27"}.lv27:before,.lv28:before{font-size:.5rem;padding:0 .2rem}.lv28:before{content:"H28"}.lv29:before{content:"H29"}.lv29:before,.lv30:before{font-size:.5rem;padding:0 .2rem}.lv30:before{content:"H30"}.lv31:before{content:"H31"}.lv31:before,.lv32:before{font-size:.5rem;padding:0 .2rem}.lv32:before{content:"H32"}.lv33:before{content:"H33"}.lv33:before,.lv34:before{font-size:.5rem;padding:0 .2rem}.lv34:before{content:"H34"}.lv35:before{content:"H35"}.lv35:before,.lv36:before{font-size:.5rem;padding:0 .2rem}.lv36:before{content:"H36"}.lv37:before{content:"H37"}.lv37:before,.lv38:before{font-size:.5rem;padding:0 .2rem}.lv38:before{content:"H38"}.lv39:before{content:"H39"}.lv39:before,.lv40:before{font-size:.5rem;padding:0 .2rem}.lv40:before{content:"H40"}.lv41:before{content:"H41"}.lv41:before,.lv42:before{font-size:.5rem;padding:0 .2rem}.lv42:before{content:"H42"}.lv43:before{content:"H43"}.lv43:before,.lv44:before{font-size:.5rem;padding:0 .2rem}.lv44:before{content:"H44"}.lv45:before{content:"H45"}.lv45:before,.lv46:before{font-size:.5rem;padding:0 .2rem}.lv46:before{content:"H46"}.lv47:before{content:"H47"}.lv47:before,.lv48:before{font-size:.5rem;padding:0 .2rem}.lv48:before{content:"H48"}.lv49:before{content:"H49"}.lv49:before,.lv50:before{font-size:.5rem;padding:0 .2rem}.lv50:before{content:"H50"}.lv51:before{content:"H51"}.lv51:before,.lv52:before{font-size:.5rem;padding:0 .2rem}.lv52:before{content:"H52"}.lv53:before{content:"H53"}.lv53:before,.lv54:before{font-size:.5rem;padding:0 .2rem}.lv54:before{content:"H54"}.lv55:before{content:"H55"}.lv55:before,.lv56:before{font-size:.5rem;padding:0 .2rem}.lv56:before{content:"H56"}.lv57:before{content:"H57"}.lv57:before,.lv58:before{font-size:.5rem;padding:0 .2rem}.lv58:before{content:"H58"}.lv59:before{content:"H59"}.lv59:before,.lv60:before{font-size:.5rem;padding:0 .2rem}.lv60:before{content:"H60"}.lv61:before{content:"H61"}.lv61:before,.lv62:before{font-size:.5rem;padding:0 .2rem}.lv62:before{content:"H62"}.lv63:before{content:"H63"}.lv63:before,.lv64:before{font-size:.5rem;padding:0 .2rem}.lv64:before{content:"H64"}.lv65:before{content:"H65"}.lv65:before,.lv66:before{font-size:.5rem;padding:0 .2rem}.lv66:before{content:"H66"}.lv67:before{content:"H67"}.lv67:before,.lv68:before{font-size:.5rem;padding:0 .2rem}.lv68:before{content:"H68"}.lv69:before{content:"H69"}.lv69:before,.lv70:before{font-size:.5rem;padding:0 .2rem}.lv70:before{content:"H70"}.lv71:before{content:"H71"}.lv71:before,.lv72:before{font-size:.5rem;padding:0 .2rem}.lv72:before{content:"H72"}.lv73:before{content:"H73"}.lv73:before,.lv74:before{font-size:.5rem;padding:0 .2rem}.lv74:before{content:"H74"}.lv75:before{content:"H75"}.lv75:before,.lv76:before{font-size:.5rem;padding:0 .2rem}.lv76:before{content:"H76"}.lv77:before{content:"H77"}.lv77:before,.lv78:before{font-size:.5rem;padding:0 .2rem}.lv78:before{content:"H78"}.lv79:before{content:"H79"}.lv79:before,.lv80:before{font-size:.5rem;padding:0 .2rem}.lv80:before{content:"H80"}.lv81:before{content:"H81"}.lv81:before,.lv82:before{font-size:.5rem;padding:0 .2rem}.lv82:before{content:"H82"}.lv83:before{content:"H83"}.lv83:before,.lv84:before{font-size:.5rem;padding:0 .2rem}.lv84:before{content:"H84"}.lv85:before{content:"H85"}.lv85:before,.lv86:before{font-size:.5rem;padding:0 .2rem}.lv86:before{content:"H86"}.lv87:before{content:"H87"}.lv87:before,.lv88:before{font-size:.5rem;padding:0 .2rem}.lv88:before{content:"H88"}.lv89:before{content:"H89"}.lv89:before,.lv90:before{font-size:.5rem;padding:0 .2rem}.lv90:before{content:"H90"}.lv91:before{content:"H91"}.lv91:before,.lv92:before{font-size:.5rem;padding:0 .2rem}.lv92:before{content:"H92"}.lv93:before{content:"H93"}.lv93:before,.lv94:before{font-size:.5rem;padding:0 .2rem}.lv94:before{content:"H94"}.lv95:before{content:"H95"}.lv95:before,.lv96:before{font-size:.5rem;padding:0 .2rem}.lv96:before{content:"H96"}.lv97:before{content:"H97"}.lv97:before,.lv98:before{font-size:.5rem;padding:0 .2rem}.lv98:before{content:"H98"}.lv99:before{content:"H99"}.lv99:before,.lv100:before{font-size:.5rem;padding:0 .2rem}.lv100:before{content:"H100"}.lv101:before{content:"H101"}.lv101:before,.lv102:before{font-size:.5rem;padding:0 .2rem}.lv102:before{content:"H102"}.lv103:before{content:"H103"}.lv103:before,.lv104:before{font-size:.5rem;padding:0 .2rem}.lv104:before{content:"H104"}.lv105:before{content:"H105"}.lv105:before,.lv106:before{font-size:.5rem;padding:0 .2rem}.lv106:before{content:"H106"}.lv107:before{content:"H107"}.lv107:before,.lv108:before{font-size:.5rem;padding:0 .2rem}.lv108:before{content:"H108"}.markdown-section{margin:0 auto;max-width:93%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.warn{background:rgba(0,0,0,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-480px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-100vw;width:100vw;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}.markdown-section{max-width:99%}.markdown-section p{font-size:20px}body.close .sidebar{transform:translateX(100vw)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:32px;padding:10px}body.close .content{transform:translateX(100vw)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}.app-sub-sidebar ul{display:none}.app-sub-sidebar ul.expand,.app-sub-sidebar ul.parent,.app-sub-sidebar ul.wife{display:block}.app-sub-sidebar ul.parent.expand,.app-sub-sidebar ul.wife.expand{display:none}.app-sub-sidebar li span{position:absolute;font-family:Consolas,Courier New,Lucida Console,Monaco,Courier,monospace;font-size:24px}.app-sub-sidebar li span.change:after,.app-sub-sidebar li span:after{content:"\00A0"}.app-sub-sidebar li.has-children>span:after{content:"+"}.app-sub-sidebar li.has-children.active>span:after,.app-sub-sidebar li.has-children>span.change:after,.app-sub-sidebar li.parent>span:after{content:"-"}.app-sub-sidebar li.has-children.active>span.change:after,.app-sub-sidebar li.parent>span.change:after{content:"+"}.current span{color:#c94922}.app-name-link img{max-height:3em}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#000);box-sizing:border-box;color:var(--theme-color,#000);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#000);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#000);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#000)}.sidebar ul li a{text-decoration:none;white-space:nowrap} \ No newline at end of file +*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#000);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#000)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#000;font-family:Verdana,-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;font-size:15px;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#000)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#000)}.app-nav li{display:inline-block;margin:0 .5rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#000);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#000}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-x:auto;overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:480px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px;display:grid}.sidebar li.collapse>ul{display:none}.sidebar li:not(.collapse)>ul{display:block}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block;margin-left:20px}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:20px;left:0;text-align:center;transition:opacity .3s;width:32px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#000);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:480px;transition:left .25s ease}.markdown-section h1{display:block;line-height:2}.markdown-section h1:before{content:"1";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h2{display:block;line-height:2}.markdown-section h2:before{content:"2";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h3{display:block;line-height:2}.markdown-section h3:before{content:"3";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h4{display:block;line-height:2}.markdown-section h4:before{content:"4";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h5{display:block;line-height:2}.markdown-section h5:before{content:"5";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h6{display:block;line-height:2}.markdown-section h6:before{content:"6";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h7{display:block;line-height:2}.markdown-section h7:before{content:"7";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h8{display:block;line-height:2}.markdown-section h8:before{content:"8";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h9{display:block;line-height:2}.markdown-section h9:before{content:"9";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h10{display:block;line-height:2}.markdown-section h10:before{content:"10";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h11{display:block;line-height:2}.markdown-section h11:before{content:"11";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h12{display:block;line-height:2}.markdown-section h12:before{content:"12";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h13{display:block;line-height:2}.markdown-section h13:before{content:"13";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h14{display:block;line-height:2}.markdown-section h14:before{content:"14";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h15{display:block;line-height:2}.markdown-section h15:before{content:"15";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h16{display:block;line-height:2}.markdown-section h16:before{content:"16";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h17{display:block;line-height:2}.markdown-section h17:before{content:"17";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h18{display:block;line-height:2}.markdown-section h18:before{content:"18";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h19{display:block;line-height:2}.markdown-section h19:before{content:"19";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h20{display:block;line-height:2}.markdown-section h20:before{content:"20";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h21{display:block;line-height:2}.markdown-section h21:before{content:"21";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h22{display:block;line-height:2}.markdown-section h22:before{content:"22";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h23{display:block;line-height:2}.markdown-section h23:before{content:"23";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h24{display:block;line-height:2}.markdown-section h24:before{content:"24";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h25{display:block;line-height:2}.markdown-section h25:before{content:"25";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h26{display:block;line-height:2}.markdown-section h26:before{content:"26";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h27{display:block;line-height:2}.markdown-section h27:before{content:"27";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h28{display:block;line-height:2}.markdown-section h28:before{content:"28";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h29{display:block;line-height:2}.markdown-section h29:before{content:"29";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h30{display:block;line-height:2}.markdown-section h30:before{content:"30";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h31{display:block;line-height:2}.markdown-section h31:before{content:"31";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h32{display:block;line-height:2}.markdown-section h32:before{content:"32";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h33{display:block;line-height:2}.markdown-section h33:before{content:"33";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h34{display:block;line-height:2}.markdown-section h34:before{content:"34";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h35{display:block;line-height:2}.markdown-section h35:before{content:"35";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h36{display:block;line-height:2}.markdown-section h36:before{content:"36";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h37{display:block;line-height:2}.markdown-section h37:before{content:"37";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h38{display:block;line-height:2}.markdown-section h38:before{content:"38";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h39{display:block;line-height:2}.markdown-section h39:before{content:"39";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h40{display:block;line-height:2}.markdown-section h40:before{content:"40";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h41{display:block;line-height:2}.markdown-section h41:before{content:"41";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h42{display:block;line-height:2}.markdown-section h42:before{content:"42";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h43{display:block;line-height:2}.markdown-section h43:before{content:"43";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h44{display:block;line-height:2}.markdown-section h44:before{content:"44";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h45{display:block;line-height:2}.markdown-section h45:before{content:"45";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h46{display:block;line-height:2}.markdown-section h46:before{content:"46";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h47{display:block;line-height:2}.markdown-section h47:before{content:"47";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h48{display:block;line-height:2}.markdown-section h48:before{content:"48";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h49{display:block;line-height:2}.markdown-section h49:before{content:"49";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h50{display:block;line-height:2}.markdown-section h50:before{content:"50";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h51{display:block;line-height:2}.markdown-section h51:before{content:"51";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h52{display:block;line-height:2}.markdown-section h52:before{content:"52";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h53{display:block;line-height:2}.markdown-section h53:before{content:"53";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h54{display:block;line-height:2}.markdown-section h54:before{content:"54";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h55{display:block;line-height:2}.markdown-section h55:before{content:"55";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h56{display:block;line-height:2}.markdown-section h56:before{content:"56";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h57{display:block;line-height:2}.markdown-section h57:before{content:"57";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h58{display:block;line-height:2}.markdown-section h58:before{content:"58";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h59{display:block;line-height:2}.markdown-section h59:before{content:"59";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h60{display:block;line-height:2}.markdown-section h60:before{content:"60";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h61{display:block;line-height:2}.markdown-section h61:before{content:"61";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h62{display:block;line-height:2}.markdown-section h62:before{content:"62";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h63{display:block;line-height:2}.markdown-section h63:before{content:"63";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h64{display:block;line-height:2}.markdown-section h64:before{content:"64";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h65{display:block;line-height:2}.markdown-section h65:before{content:"65";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h66{display:block;line-height:2}.markdown-section h66:before{content:"66";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h67{display:block;line-height:2}.markdown-section h67:before{content:"67";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h68{display:block;line-height:2}.markdown-section h68:before{content:"68";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h69{display:block;line-height:2}.markdown-section h69:before{content:"69";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h70{display:block;line-height:2}.markdown-section h70:before{content:"70";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h71{display:block;line-height:2}.markdown-section h71:before{content:"71";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h72{display:block;line-height:2}.markdown-section h72:before{content:"72";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h73{display:block;line-height:2}.markdown-section h73:before{content:"73";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h74{display:block;line-height:2}.markdown-section h74:before{content:"74";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h75{display:block;line-height:2}.markdown-section h75:before{content:"75";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h76{display:block;line-height:2}.markdown-section h76:before{content:"76";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h77{display:block;line-height:2}.markdown-section h77:before{content:"77";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h78{display:block;line-height:2}.markdown-section h78:before{content:"78";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h79{display:block;line-height:2}.markdown-section h79:before{content:"79";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h80{display:block;line-height:2}.markdown-section h80:before{content:"80";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h81{display:block;line-height:2}.markdown-section h81:before{content:"81";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h82{display:block;line-height:2}.markdown-section h82:before{content:"82";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h83{display:block;line-height:2}.markdown-section h83:before{content:"83";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h84{display:block;line-height:2}.markdown-section h84:before{content:"84";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h85{display:block;line-height:2}.markdown-section h85:before{content:"85";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h86{display:block;line-height:2}.markdown-section h86:before{content:"86";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h87{display:block;line-height:2}.markdown-section h87:before{content:"87";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h88{display:block;line-height:2}.markdown-section h88:before{content:"88";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h89{display:block;line-height:2}.markdown-section h89:before{content:"89";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h90{display:block;line-height:2}.markdown-section h90:before{content:"90";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h91{display:block;line-height:2}.markdown-section h91:before{content:"91";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h92{display:block;line-height:2}.markdown-section h92:before{content:"92";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h93{display:block;line-height:2}.markdown-section h93:before{content:"93";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h94{display:block;line-height:2}.markdown-section h94:before{content:"94";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h95{display:block;line-height:2}.markdown-section h95:before{content:"95";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h96{display:block;line-height:2}.markdown-section h96:before{content:"96";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h97{display:block;line-height:2}.markdown-section h97:before{content:"97";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h98{display:block;line-height:2}.markdown-section h98:before{content:"98";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h99{display:block;line-height:2}.markdown-section h99:before{content:"99";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h100{display:block;line-height:2}.markdown-section h100:before{content:"100";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h101{display:block;line-height:2}.markdown-section h101:before{content:"101";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h102{display:block;line-height:2}.markdown-section h102:before{content:"102";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h103{display:block;line-height:2}.markdown-section h103:before{content:"103";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h104{display:block;line-height:2}.markdown-section h104:before{content:"104";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h105{display:block;line-height:2}.markdown-section h105:before{content:"105";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h106{display:block;line-height:2}.markdown-section h106:before{content:"106";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h107{display:block;line-height:2}.markdown-section h107:before{content:"107";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h108{display:block;line-height:2}.markdown-section h108:before{content:"108";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.lv1:before{content:"1"}.lv1:before,.lv2:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv2:before{content:"2"}.lv3:before{content:"3"}.lv3:before,.lv4:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv4:before{content:"4"}.lv5:before{content:"5"}.lv5:before,.lv6:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv6:before{content:"6"}.lv7:before{content:"7"}.lv7:before,.lv8:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv8:before{content:"8"}.lv9:before{content:"9"}.lv9:before,.lv10:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv10:before{content:"10"}.lv11:before{content:"11"}.lv11:before,.lv12:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv12:before{content:"12"}.lv13:before{content:"13"}.lv13:before,.lv14:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv14:before{content:"14"}.lv15:before{content:"15"}.lv15:before,.lv16:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv16:before{content:"16"}.lv17:before{content:"17"}.lv17:before,.lv18:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv18:before{content:"18"}.lv19:before{content:"19"}.lv19:before,.lv20:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv20:before{content:"20"}.lv21:before{content:"21"}.lv21:before,.lv22:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv22:before{content:"22"}.lv23:before{content:"23"}.lv23:before,.lv24:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv24:before{content:"24"}.lv25:before{content:"25"}.lv25:before,.lv26:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv26:before{content:"26"}.lv27:before{content:"27"}.lv27:before,.lv28:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv28:before{content:"28"}.lv29:before{content:"29"}.lv29:before,.lv30:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv30:before{content:"30"}.lv31:before{content:"31"}.lv31:before,.lv32:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv32:before{content:"32"}.lv33:before{content:"33"}.lv33:before,.lv34:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv34:before{content:"34"}.lv35:before{content:"35"}.lv35:before,.lv36:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv36:before{content:"36"}.lv37:before{content:"37"}.lv37:before,.lv38:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv38:before{content:"38"}.lv39:before{content:"39"}.lv39:before,.lv40:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv40:before{content:"40"}.lv41:before{content:"41"}.lv41:before,.lv42:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv42:before{content:"42"}.lv43:before{content:"43"}.lv43:before,.lv44:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv44:before{content:"44"}.lv45:before{content:"45"}.lv45:before,.lv46:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv46:before{content:"46"}.lv47:before{content:"47"}.lv47:before,.lv48:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv48:before{content:"48"}.lv49:before{content:"49"}.lv49:before,.lv50:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv50:before{content:"50"}.lv51:before{content:"51"}.lv51:before,.lv52:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv52:before{content:"52"}.lv53:before{content:"53"}.lv53:before,.lv54:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv54:before{content:"54"}.lv55:before{content:"55"}.lv55:before,.lv56:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv56:before{content:"56"}.lv57:before{content:"57"}.lv57:before,.lv58:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv58:before{content:"58"}.lv59:before{content:"59"}.lv59:before,.lv60:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv60:before{content:"60"}.lv61:before{content:"61"}.lv61:before,.lv62:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv62:before{content:"62"}.lv63:before{content:"63"}.lv63:before,.lv64:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv64:before{content:"64"}.lv65:before{content:"65"}.lv65:before,.lv66:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv66:before{content:"66"}.lv67:before{content:"67"}.lv67:before,.lv68:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv68:before{content:"68"}.lv69:before{content:"69"}.lv69:before,.lv70:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv70:before{content:"70"}.lv71:before{content:"71"}.lv71:before,.lv72:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv72:before{content:"72"}.lv73:before{content:"73"}.lv73:before,.lv74:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv74:before{content:"74"}.lv75:before{content:"75"}.lv75:before,.lv76:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv76:before{content:"76"}.lv77:before{content:"77"}.lv77:before,.lv78:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv78:before{content:"78"}.lv79:before{content:"79"}.lv79:before,.lv80:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv80:before{content:"80"}.lv81:before{content:"81"}.lv81:before,.lv82:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv82:before{content:"82"}.lv83:before{content:"83"}.lv83:before,.lv84:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv84:before{content:"84"}.lv85:before{content:"85"}.lv85:before,.lv86:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv86:before{content:"86"}.lv87:before{content:"87"}.lv87:before,.lv88:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv88:before{content:"88"}.lv89:before{content:"89"}.lv89:before,.lv90:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv90:before{content:"90"}.lv91:before{content:"91"}.lv91:before,.lv92:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv92:before{content:"92"}.lv93:before{content:"93"}.lv93:before,.lv94:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv94:before{content:"94"}.lv95:before{content:"95"}.lv95:before,.lv96:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv96:before{content:"96"}.lv97:before{content:"97"}.lv97:before,.lv98:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv98:before{content:"98"}.lv99:before{content:"99"}.lv99:before,.lv100:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv100:before{content:"100"}.lv101:before{content:"101"}.lv101:before,.lv102:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv102:before{content:"102"}.lv103:before{content:"103"}.lv103:before,.lv104:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv104:before{content:"104"}.lv105:before{content:"105"}.lv105:before,.lv106:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv106:before{content:"106"}.lv107:before{content:"107"}.lv107:before,.lv108:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv108:before{content:"108"}.markdown-section{margin:0 auto;max-width:93%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#000}.markdown-section p.warn{background:rgba(0,0,0,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-480px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-100vw;width:100vw;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(100vw)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:32px;padding:10px}body.close .content{transform:translateX(100vw)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}.app-sub-sidebar li>span:after{content:"\00A0";font-size:12px;line-height:1em;padding:0 6px 0 0;float:left}.app-sub-sidebar li.has-children .front{border:2px solid var(--theme-color,#000)}.app-sub-sidebar li.has-children>span:after{-ms-writing-mode:tb-lr;writing-mode:vertical-lr;content:"\276F";font-size:12px;line-height:1em;padding:12px 0 0;float:left}.app-sub-sidebar li.has-children.collapse>span:after{-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;content:"\276F";font-size:12px;line-height:1em;padding:9px 4px 0 2px;float:left}.current span{color:#c94922}.app-name-link img{max-height:3em}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#000);box-sizing:border-box;color:var(--theme-color,#000);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#000);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#000);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#000)}.sidebar ul li a{text-decoration:none;white-space:nowrap} \ No newline at end of file diff --git a/css/themes/vue.css b/css/themes/vue.css index 53e0ecf..22b34a6 100644 --- a/css/themes/vue.css +++ b/css/themes/vue.css @@ -1 +1 @@ -*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#42b983)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Verdana,-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;font-size:15px;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#42b983)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#42b983)}.app-nav li{display:inline-block;margin:0 .5rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#42b983);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-x:auto;overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:480px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px;display:grid}.sidebar li.collapse .app-sub-sidebar{display:none}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block;margin-left:20px}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:20px;left:0;text-align:center;transition:opacity .3s;width:32px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#42b983);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:480px;transition:left .25s ease}.markdown-section h1{display:block}.markdown-section h1:before{content:"H1";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h2{display:block}.markdown-section h2:before{content:"H2";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h3{display:block}.markdown-section h3:before{content:"H3";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h4{display:block}.markdown-section h4:before{content:"H4";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h5{display:block}.markdown-section h5:before{content:"H5";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h6{display:block}.markdown-section h6:before{content:"H6";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h7{display:block}.markdown-section h7:before{content:"H7";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h8{display:block}.markdown-section h8:before{content:"H8";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h9{display:block}.markdown-section h9:before{content:"H9";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h10{display:block}.markdown-section h10:before{content:"H10";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h11{display:block}.markdown-section h11:before{content:"H11";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h12{display:block}.markdown-section h12:before{content:"H12";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h13{display:block}.markdown-section h13:before{content:"H13";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h14{display:block}.markdown-section h14:before{content:"H14";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h15{display:block}.markdown-section h15:before{content:"H15";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h16{display:block}.markdown-section h16:before{content:"H16";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h17{display:block}.markdown-section h17:before{content:"H17";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h18{display:block}.markdown-section h18:before{content:"H18";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h19{display:block}.markdown-section h19:before{content:"H19";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h20{display:block}.markdown-section h20:before{content:"H20";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h21{display:block}.markdown-section h21:before{content:"H21";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h22{display:block}.markdown-section h22:before{content:"H22";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h23{display:block}.markdown-section h23:before{content:"H23";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h24{display:block}.markdown-section h24:before{content:"H24";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h25{display:block}.markdown-section h25:before{content:"H25";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h26{display:block}.markdown-section h26:before{content:"H26";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h27{display:block}.markdown-section h27:before{content:"H27";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h28{display:block}.markdown-section h28:before{content:"H28";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h29{display:block}.markdown-section h29:before{content:"H29";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h30{display:block}.markdown-section h30:before{content:"H30";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h31{display:block}.markdown-section h31:before{content:"H31";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h32{display:block}.markdown-section h32:before{content:"H32";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h33{display:block}.markdown-section h33:before{content:"H33";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h34{display:block}.markdown-section h34:before{content:"H34";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h35{display:block}.markdown-section h35:before{content:"H35";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h36{display:block}.markdown-section h36:before{content:"H36";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h37{display:block}.markdown-section h37:before{content:"H37";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h38{display:block}.markdown-section h38:before{content:"H38";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h39{display:block}.markdown-section h39:before{content:"H39";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h40{display:block}.markdown-section h40:before{content:"H40";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h41{display:block}.markdown-section h41:before{content:"H41";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h42{display:block}.markdown-section h42:before{content:"H42";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h43{display:block}.markdown-section h43:before{content:"H43";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h44{display:block}.markdown-section h44:before{content:"H44";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h45{display:block}.markdown-section h45:before{content:"H45";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h46{display:block}.markdown-section h46:before{content:"H46";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h47{display:block}.markdown-section h47:before{content:"H47";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h48{display:block}.markdown-section h48:before{content:"H48";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h49{display:block}.markdown-section h49:before{content:"H49";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h50{display:block}.markdown-section h50:before{content:"H50";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h51{display:block}.markdown-section h51:before{content:"H51";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h52{display:block}.markdown-section h52:before{content:"H52";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h53{display:block}.markdown-section h53:before{content:"H53";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h54{display:block}.markdown-section h54:before{content:"H54";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h55{display:block}.markdown-section h55:before{content:"H55";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h56{display:block}.markdown-section h56:before{content:"H56";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h57{display:block}.markdown-section h57:before{content:"H57";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h58{display:block}.markdown-section h58:before{content:"H58";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h59{display:block}.markdown-section h59:before{content:"H59";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h60{display:block}.markdown-section h60:before{content:"H60";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h61{display:block}.markdown-section h61:before{content:"H61";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h62{display:block}.markdown-section h62:before{content:"H62";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h63{display:block}.markdown-section h63:before{content:"H63";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h64{display:block}.markdown-section h64:before{content:"H64";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h65{display:block}.markdown-section h65:before{content:"H65";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h66{display:block}.markdown-section h66:before{content:"H66";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h67{display:block}.markdown-section h67:before{content:"H67";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h68{display:block}.markdown-section h68:before{content:"H68";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h69{display:block}.markdown-section h69:before{content:"H69";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h70{display:block}.markdown-section h70:before{content:"H70";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h71{display:block}.markdown-section h71:before{content:"H71";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h72{display:block}.markdown-section h72:before{content:"H72";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h73{display:block}.markdown-section h73:before{content:"H73";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h74{display:block}.markdown-section h74:before{content:"H74";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h75{display:block}.markdown-section h75:before{content:"H75";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h76{display:block}.markdown-section h76:before{content:"H76";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h77{display:block}.markdown-section h77:before{content:"H77";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h78{display:block}.markdown-section h78:before{content:"H78";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h79{display:block}.markdown-section h79:before{content:"H79";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h80{display:block}.markdown-section h80:before{content:"H80";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h81{display:block}.markdown-section h81:before{content:"H81";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h82{display:block}.markdown-section h82:before{content:"H82";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h83{display:block}.markdown-section h83:before{content:"H83";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h84{display:block}.markdown-section h84:before{content:"H84";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h85{display:block}.markdown-section h85:before{content:"H85";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h86{display:block}.markdown-section h86:before{content:"H86";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h87{display:block}.markdown-section h87:before{content:"H87";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h88{display:block}.markdown-section h88:before{content:"H88";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h89{display:block}.markdown-section h89:before{content:"H89";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h90{display:block}.markdown-section h90:before{content:"H90";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h91{display:block}.markdown-section h91:before{content:"H91";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h92{display:block}.markdown-section h92:before{content:"H92";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h93{display:block}.markdown-section h93:before{content:"H93";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h94{display:block}.markdown-section h94:before{content:"H94";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h95{display:block}.markdown-section h95:before{content:"H95";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h96{display:block}.markdown-section h96:before{content:"H96";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h97{display:block}.markdown-section h97:before{content:"H97";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h98{display:block}.markdown-section h98:before{content:"H98";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h99{display:block}.markdown-section h99:before{content:"H99";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h100{display:block}.markdown-section h100:before{content:"H100";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h101{display:block}.markdown-section h101:before{content:"H101";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h102{display:block}.markdown-section h102:before{content:"H102";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h103{display:block}.markdown-section h103:before{content:"H103";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h104{display:block}.markdown-section h104:before{content:"H104";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h105{display:block}.markdown-section h105:before{content:"H105";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h106{display:block}.markdown-section h106:before{content:"H106";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h107{display:block}.markdown-section h107:before{content:"H107";font-size:.6rem;margin:0 .8em 0 -1.2em}.markdown-section h108{display:block}.markdown-section h108:before{content:"H108";font-size:.6rem;margin:0 .8em 0 -1.2em}.lv1:before{content:"H1"}.lv1:before,.lv2:before{font-size:.5rem;padding:0 .2rem}.lv2:before{content:"H2"}.lv3:before{content:"H3"}.lv3:before,.lv4:before{font-size:.5rem;padding:0 .2rem}.lv4:before{content:"H4"}.lv5:before{content:"H5"}.lv5:before,.lv6:before{font-size:.5rem;padding:0 .2rem}.lv6:before{content:"H6"}.lv7:before{content:"H7"}.lv7:before,.lv8:before{font-size:.5rem;padding:0 .2rem}.lv8:before{content:"H8"}.lv9:before{content:"H9"}.lv9:before,.lv10:before{font-size:.5rem;padding:0 .2rem}.lv10:before{content:"H10"}.lv11:before{content:"H11"}.lv11:before,.lv12:before{font-size:.5rem;padding:0 .2rem}.lv12:before{content:"H12"}.lv13:before{content:"H13"}.lv13:before,.lv14:before{font-size:.5rem;padding:0 .2rem}.lv14:before{content:"H14"}.lv15:before{content:"H15"}.lv15:before,.lv16:before{font-size:.5rem;padding:0 .2rem}.lv16:before{content:"H16"}.lv17:before{content:"H17"}.lv17:before,.lv18:before{font-size:.5rem;padding:0 .2rem}.lv18:before{content:"H18"}.lv19:before{content:"H19"}.lv19:before,.lv20:before{font-size:.5rem;padding:0 .2rem}.lv20:before{content:"H20"}.lv21:before{content:"H21"}.lv21:before,.lv22:before{font-size:.5rem;padding:0 .2rem}.lv22:before{content:"H22"}.lv23:before{content:"H23"}.lv23:before,.lv24:before{font-size:.5rem;padding:0 .2rem}.lv24:before{content:"H24"}.lv25:before{content:"H25"}.lv25:before,.lv26:before{font-size:.5rem;padding:0 .2rem}.lv26:before{content:"H26"}.lv27:before{content:"H27"}.lv27:before,.lv28:before{font-size:.5rem;padding:0 .2rem}.lv28:before{content:"H28"}.lv29:before{content:"H29"}.lv29:before,.lv30:before{font-size:.5rem;padding:0 .2rem}.lv30:before{content:"H30"}.lv31:before{content:"H31"}.lv31:before,.lv32:before{font-size:.5rem;padding:0 .2rem}.lv32:before{content:"H32"}.lv33:before{content:"H33"}.lv33:before,.lv34:before{font-size:.5rem;padding:0 .2rem}.lv34:before{content:"H34"}.lv35:before{content:"H35"}.lv35:before,.lv36:before{font-size:.5rem;padding:0 .2rem}.lv36:before{content:"H36"}.lv37:before{content:"H37"}.lv37:before,.lv38:before{font-size:.5rem;padding:0 .2rem}.lv38:before{content:"H38"}.lv39:before{content:"H39"}.lv39:before,.lv40:before{font-size:.5rem;padding:0 .2rem}.lv40:before{content:"H40"}.lv41:before{content:"H41"}.lv41:before,.lv42:before{font-size:.5rem;padding:0 .2rem}.lv42:before{content:"H42"}.lv43:before{content:"H43"}.lv43:before,.lv44:before{font-size:.5rem;padding:0 .2rem}.lv44:before{content:"H44"}.lv45:before{content:"H45"}.lv45:before,.lv46:before{font-size:.5rem;padding:0 .2rem}.lv46:before{content:"H46"}.lv47:before{content:"H47"}.lv47:before,.lv48:before{font-size:.5rem;padding:0 .2rem}.lv48:before{content:"H48"}.lv49:before{content:"H49"}.lv49:before,.lv50:before{font-size:.5rem;padding:0 .2rem}.lv50:before{content:"H50"}.lv51:before{content:"H51"}.lv51:before,.lv52:before{font-size:.5rem;padding:0 .2rem}.lv52:before{content:"H52"}.lv53:before{content:"H53"}.lv53:before,.lv54:before{font-size:.5rem;padding:0 .2rem}.lv54:before{content:"H54"}.lv55:before{content:"H55"}.lv55:before,.lv56:before{font-size:.5rem;padding:0 .2rem}.lv56:before{content:"H56"}.lv57:before{content:"H57"}.lv57:before,.lv58:before{font-size:.5rem;padding:0 .2rem}.lv58:before{content:"H58"}.lv59:before{content:"H59"}.lv59:before,.lv60:before{font-size:.5rem;padding:0 .2rem}.lv60:before{content:"H60"}.lv61:before{content:"H61"}.lv61:before,.lv62:before{font-size:.5rem;padding:0 .2rem}.lv62:before{content:"H62"}.lv63:before{content:"H63"}.lv63:before,.lv64:before{font-size:.5rem;padding:0 .2rem}.lv64:before{content:"H64"}.lv65:before{content:"H65"}.lv65:before,.lv66:before{font-size:.5rem;padding:0 .2rem}.lv66:before{content:"H66"}.lv67:before{content:"H67"}.lv67:before,.lv68:before{font-size:.5rem;padding:0 .2rem}.lv68:before{content:"H68"}.lv69:before{content:"H69"}.lv69:before,.lv70:before{font-size:.5rem;padding:0 .2rem}.lv70:before{content:"H70"}.lv71:before{content:"H71"}.lv71:before,.lv72:before{font-size:.5rem;padding:0 .2rem}.lv72:before{content:"H72"}.lv73:before{content:"H73"}.lv73:before,.lv74:before{font-size:.5rem;padding:0 .2rem}.lv74:before{content:"H74"}.lv75:before{content:"H75"}.lv75:before,.lv76:before{font-size:.5rem;padding:0 .2rem}.lv76:before{content:"H76"}.lv77:before{content:"H77"}.lv77:before,.lv78:before{font-size:.5rem;padding:0 .2rem}.lv78:before{content:"H78"}.lv79:before{content:"H79"}.lv79:before,.lv80:before{font-size:.5rem;padding:0 .2rem}.lv80:before{content:"H80"}.lv81:before{content:"H81"}.lv81:before,.lv82:before{font-size:.5rem;padding:0 .2rem}.lv82:before{content:"H82"}.lv83:before{content:"H83"}.lv83:before,.lv84:before{font-size:.5rem;padding:0 .2rem}.lv84:before{content:"H84"}.lv85:before{content:"H85"}.lv85:before,.lv86:before{font-size:.5rem;padding:0 .2rem}.lv86:before{content:"H86"}.lv87:before{content:"H87"}.lv87:before,.lv88:before{font-size:.5rem;padding:0 .2rem}.lv88:before{content:"H88"}.lv89:before{content:"H89"}.lv89:before,.lv90:before{font-size:.5rem;padding:0 .2rem}.lv90:before{content:"H90"}.lv91:before{content:"H91"}.lv91:before,.lv92:before{font-size:.5rem;padding:0 .2rem}.lv92:before{content:"H92"}.lv93:before{content:"H93"}.lv93:before,.lv94:before{font-size:.5rem;padding:0 .2rem}.lv94:before{content:"H94"}.lv95:before{content:"H95"}.lv95:before,.lv96:before{font-size:.5rem;padding:0 .2rem}.lv96:before{content:"H96"}.lv97:before{content:"H97"}.lv97:before,.lv98:before{font-size:.5rem;padding:0 .2rem}.lv98:before{content:"H98"}.lv99:before{content:"H99"}.lv99:before,.lv100:before{font-size:.5rem;padding:0 .2rem}.lv100:before{content:"H100"}.lv101:before{content:"H101"}.lv101:before,.lv102:before{font-size:.5rem;padding:0 .2rem}.lv102:before{content:"H102"}.lv103:before{content:"H103"}.lv103:before,.lv104:before{font-size:.5rem;padding:0 .2rem}.lv104:before{content:"H104"}.lv105:before{content:"H105"}.lv105:before,.lv106:before{font-size:.5rem;padding:0 .2rem}.lv106:before{content:"H106"}.lv107:before{content:"H107"}.lv107:before,.lv108:before{font-size:.5rem;padding:0 .2rem}.lv108:before{content:"H108"}.markdown-section{margin:0 auto;max-width:93%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(66,185,131,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-480px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-100vw;width:100vw;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}.markdown-section{max-width:99%}.markdown-section p{font-size:20px}body.close .sidebar{transform:translateX(100vw)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:32px;padding:10px}body.close .content{transform:translateX(100vw)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}.app-sub-sidebar ul{display:none}.app-sub-sidebar ul.expand,.app-sub-sidebar ul.parent,.app-sub-sidebar ul.wife{display:block}.app-sub-sidebar ul.parent.expand,.app-sub-sidebar ul.wife.expand{display:none}.app-sub-sidebar li span{position:absolute;font-family:Consolas,Courier New,Lucida Console,Monaco,Courier,monospace;font-size:24px}.app-sub-sidebar li span.change:after,.app-sub-sidebar li span:after{content:"\00A0"}.app-sub-sidebar li.has-children>span:after{content:"+"}.app-sub-sidebar li.has-children.active>span:after,.app-sub-sidebar li.has-children>span.change:after,.app-sub-sidebar li.parent>span:after{content:"-"}.app-sub-sidebar li.has-children.active>span.change:after,.app-sub-sidebar li.parent>span.change:after{content:"+"}.current span{color:#c94922}.app-name-link img{max-height:3em}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;z-index:1}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#42b983);box-sizing:border-box;color:var(--theme-color,#42b983);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#42b983);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#42b983)}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 0}.sidebar ul li a{color:#505d6b;font-weight:400;text-decoration:none;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar ul li.active>a{border-right:2px solid;color:var(--theme-color,#42b983);font-weight:600}.markdown-section strong{color:#2c3e50;font-weight:600}.markdown-section a{color:#505d6b}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h1,.markdown-section h2,.markdown-section h3{font-weight:500}.markdown-section h4,.markdown-section h5,.markdown-section h6{font-weight:500;margin:0;padding:0}.markdown-section p{font-family:Georgia,Courier New,Times New Roman,Nimbus Roman No9 L,Songti SC,"Noto Serif CJK SC","Source Han Serif SC","Source Han Serif CN",STSong,AR PL New Sung,AR PL SungtiL GB,NSimSun,SimSun,TW\\-Sung,WenQuanYi Bitmap Song,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR PL UMing TW MBE,PMingLiU,MingLiU,serif;font-size:18px}.markdown-section figure,.markdown-section p{margin:.4em 0 1em}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#42b983);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;font-size:.9rem;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section code,.markdown-section pre{background-color:#f8f8f8;font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 1.4rem;position:relative;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#42b983)}.token.function,.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.9rem;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:2.2em 5px;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto}pre:after{color:#ccc;content:attr(data-lang);font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file +*{-webkit-font-smoothing:antialiased;-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-webkit-touch-callout:none;box-sizing:border-box}body:not(.ready){overflow:hidden}body:not(.ready) .app-nav,body:not(.ready)>nav,body:not(.ready) [data-cloak]{display:none}div#app{font-size:30px;font-weight:lighter;margin:40vh auto;text-align:center}div#app:empty:before{content:"Loading..."}.emoji{height:1.2rem;vertical-align:middle}.progress{background-color:var(--theme-color,#42b983);height:2px;left:0;position:fixed;right:0;top:0;transition:width .2s,opacity .4s;width:0;z-index:999999}.search .search-keyword,.search a:hover{color:var(--theme-color,#42b983)}.search .search-keyword{font-style:normal;font-weight:700}body,html{height:100%}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#34495e;font-family:Verdana,-apple-system,Noto Sans,Helvetica Neue,Helvetica,Nimbus Sans L,Arial,Liberation Sans,PingFang SC,Hiragino Sans GB,Noto Sans CJK SC,Source Han Sans SC,Source Han Sans CN,Microsoft YaHei,Wenquanyi Micro Hei,WenQuanYi Zen Hei,ST Heiti,SimHei,WenQuanYi Zen Hei Sharp,sans-serif;font-size:15px;letter-spacing:0;margin:0;overflow-x:hidden}img{max-width:100%}a[disabled]{cursor:not-allowed;opacity:.6}kbd{border:1px solid #ccc;border-radius:3px;display:inline-block;font-size:12px!important;line-height:12px;margin-bottom:3px;padding:3px 5px;vertical-align:middle}li input[type=checkbox]{margin:0 .2em .25em 0;vertical-align:middle}.app-nav{margin:25px 60px 0 0;position:absolute;right:0;font-size:15px;text-align:right;z-index:10}.app-nav.no-badge{margin-right:25px}.app-nav p{margin:0}.app-nav>a{margin:0 1rem;padding:5px 0}.app-nav li,.app-nav ul{display:inline-block;list-style:none;margin:0}.app-nav a{color:inherit;font-size:16px;text-decoration:none;transition:color .3s}.app-nav a.active,.app-nav a:hover{color:var(--theme-color,#42b983)}.app-nav a.active{border-bottom:2px solid var(--theme-color,#42b983)}.app-nav li{display:inline-block;margin:0 .5rem;padding:5px 0;position:relative;cursor:pointer}.app-nav li ul{background-color:#fff;border:1px solid;border-color:#ddd #ddd #ccc;border-radius:4px;box-sizing:border-box;display:none;max-height:calc(100vh - 61px);overflow-y:auto;padding:10px 0;position:absolute;right:-15px;text-align:left;top:100%;white-space:nowrap}.app-nav li ul li{display:block;font-size:14px;line-height:1rem;margin:8px 14px;white-space:nowrap}.app-nav li ul a{display:block;font-size:inherit;margin:0;padding:0}.app-nav li ul a.active{border-bottom:0}.app-nav li:hover ul{display:block}.github-corner{border-bottom:0;position:fixed;right:0;text-decoration:none;top:0;z-index:1}.github-corner:hover .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}.github-corner svg{color:#fff;fill:var(--theme-color,#42b983);height:80px;width:80px}main{display:block;position:relative;width:100vw;height:100%;z-index:0}main.hidden{display:none}.anchor{display:inline-block;text-decoration:none;transition:all .3s}.anchor span{color:#34495e}.anchor:hover{text-decoration:underline}.sidebar{border-right:1px solid rgba(0,0,0,.07);overflow-x:auto;overflow-y:auto;padding:40px 0 0;position:absolute;top:0;bottom:0;left:0;transition:transform .25s ease-out;width:480px;z-index:20}.sidebar>h1{margin:0 auto 1rem;font-size:1.5rem;font-weight:300;text-align:center}.sidebar>h1 a{color:inherit;text-decoration:none}.sidebar>h1 .app-nav{display:block;position:static}.sidebar .sidebar-nav{line-height:2em;padding-bottom:40px;display:grid}.sidebar li.collapse>ul{display:none}.sidebar li:not(.collapse)>ul{display:block}.sidebar ul{margin:0 0 0 15px;padding:0}.sidebar li>p{font-weight:700;margin:0}.sidebar ul,.sidebar ul li{list-style:none}.sidebar ul li a{border-bottom:none;display:block;margin-left:20px}.sidebar ul li ul{padding-left:20px}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.sidebar:hover::-webkit-scrollbar-thumb{background:hsla(0,0%,53.3%,.4)}.sidebar:hover::-webkit-scrollbar-track{background:hsla(0,0%,53.3%,.1)}.sidebar-toggle{background-color:transparent;background-color:hsla(0,0%,100%,.8);border:0;outline:none;padding:10px;position:absolute;bottom:20px;left:0;text-align:center;transition:opacity .3s;width:32px;z-index:30;cursor:pointer}.sidebar-toggle:hover .sidebar-toggle-button{opacity:.4}.sidebar-toggle span{background-color:var(--theme-color,#42b983);display:block;margin-bottom:4px;width:16px;height:2px}body.sticky .sidebar,body.sticky .sidebar-toggle{position:fixed}.content{padding-top:60px;position:absolute;top:0;right:0;bottom:0;left:480px;transition:left .25s ease}.markdown-section h1{display:block;line-height:2}.markdown-section h1:before{content:"1";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h2{display:block;line-height:2}.markdown-section h2:before{content:"2";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h3{display:block;line-height:2}.markdown-section h3:before{content:"3";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h4{display:block;line-height:2}.markdown-section h4:before{content:"4";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h5{display:block;line-height:2}.markdown-section h5:before{content:"5";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h6{display:block;line-height:2}.markdown-section h6:before{content:"6";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h7{display:block;line-height:2}.markdown-section h7:before{content:"7";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h8{display:block;line-height:2}.markdown-section h8:before{content:"8";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h9{display:block;line-height:2}.markdown-section h9:before{content:"9";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h10{display:block;line-height:2}.markdown-section h10:before{content:"10";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h11{display:block;line-height:2}.markdown-section h11:before{content:"11";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h12{display:block;line-height:2}.markdown-section h12:before{content:"12";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h13{display:block;line-height:2}.markdown-section h13:before{content:"13";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h14{display:block;line-height:2}.markdown-section h14:before{content:"14";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h15{display:block;line-height:2}.markdown-section h15:before{content:"15";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h16{display:block;line-height:2}.markdown-section h16:before{content:"16";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h17{display:block;line-height:2}.markdown-section h17:before{content:"17";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h18{display:block;line-height:2}.markdown-section h18:before{content:"18";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h19{display:block;line-height:2}.markdown-section h19:before{content:"19";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h20{display:block;line-height:2}.markdown-section h20:before{content:"20";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h21{display:block;line-height:2}.markdown-section h21:before{content:"21";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h22{display:block;line-height:2}.markdown-section h22:before{content:"22";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h23{display:block;line-height:2}.markdown-section h23:before{content:"23";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h24{display:block;line-height:2}.markdown-section h24:before{content:"24";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h25{display:block;line-height:2}.markdown-section h25:before{content:"25";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h26{display:block;line-height:2}.markdown-section h26:before{content:"26";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h27{display:block;line-height:2}.markdown-section h27:before{content:"27";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h28{display:block;line-height:2}.markdown-section h28:before{content:"28";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h29{display:block;line-height:2}.markdown-section h29:before{content:"29";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h30{display:block;line-height:2}.markdown-section h30:before{content:"30";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h31{display:block;line-height:2}.markdown-section h31:before{content:"31";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h32{display:block;line-height:2}.markdown-section h32:before{content:"32";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h33{display:block;line-height:2}.markdown-section h33:before{content:"33";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h34{display:block;line-height:2}.markdown-section h34:before{content:"34";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h35{display:block;line-height:2}.markdown-section h35:before{content:"35";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h36{display:block;line-height:2}.markdown-section h36:before{content:"36";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h37{display:block;line-height:2}.markdown-section h37:before{content:"37";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h38{display:block;line-height:2}.markdown-section h38:before{content:"38";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h39{display:block;line-height:2}.markdown-section h39:before{content:"39";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h40{display:block;line-height:2}.markdown-section h40:before{content:"40";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h41{display:block;line-height:2}.markdown-section h41:before{content:"41";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h42{display:block;line-height:2}.markdown-section h42:before{content:"42";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h43{display:block;line-height:2}.markdown-section h43:before{content:"43";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h44{display:block;line-height:2}.markdown-section h44:before{content:"44";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h45{display:block;line-height:2}.markdown-section h45:before{content:"45";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h46{display:block;line-height:2}.markdown-section h46:before{content:"46";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h47{display:block;line-height:2}.markdown-section h47:before{content:"47";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h48{display:block;line-height:2}.markdown-section h48:before{content:"48";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h49{display:block;line-height:2}.markdown-section h49:before{content:"49";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h50{display:block;line-height:2}.markdown-section h50:before{content:"50";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h51{display:block;line-height:2}.markdown-section h51:before{content:"51";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h52{display:block;line-height:2}.markdown-section h52:before{content:"52";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h53{display:block;line-height:2}.markdown-section h53:before{content:"53";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h54{display:block;line-height:2}.markdown-section h54:before{content:"54";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h55{display:block;line-height:2}.markdown-section h55:before{content:"55";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h56{display:block;line-height:2}.markdown-section h56:before{content:"56";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h57{display:block;line-height:2}.markdown-section h57:before{content:"57";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h58{display:block;line-height:2}.markdown-section h58:before{content:"58";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h59{display:block;line-height:2}.markdown-section h59:before{content:"59";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h60{display:block;line-height:2}.markdown-section h60:before{content:"60";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h61{display:block;line-height:2}.markdown-section h61:before{content:"61";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h62{display:block;line-height:2}.markdown-section h62:before{content:"62";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h63{display:block;line-height:2}.markdown-section h63:before{content:"63";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h64{display:block;line-height:2}.markdown-section h64:before{content:"64";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h65{display:block;line-height:2}.markdown-section h65:before{content:"65";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h66{display:block;line-height:2}.markdown-section h66:before{content:"66";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h67{display:block;line-height:2}.markdown-section h67:before{content:"67";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h68{display:block;line-height:2}.markdown-section h68:before{content:"68";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h69{display:block;line-height:2}.markdown-section h69:before{content:"69";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h70{display:block;line-height:2}.markdown-section h70:before{content:"70";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h71{display:block;line-height:2}.markdown-section h71:before{content:"71";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h72{display:block;line-height:2}.markdown-section h72:before{content:"72";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h73{display:block;line-height:2}.markdown-section h73:before{content:"73";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h74{display:block;line-height:2}.markdown-section h74:before{content:"74";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h75{display:block;line-height:2}.markdown-section h75:before{content:"75";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h76{display:block;line-height:2}.markdown-section h76:before{content:"76";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h77{display:block;line-height:2}.markdown-section h77:before{content:"77";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h78{display:block;line-height:2}.markdown-section h78:before{content:"78";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h79{display:block;line-height:2}.markdown-section h79:before{content:"79";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h80{display:block;line-height:2}.markdown-section h80:before{content:"80";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h81{display:block;line-height:2}.markdown-section h81:before{content:"81";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h82{display:block;line-height:2}.markdown-section h82:before{content:"82";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h83{display:block;line-height:2}.markdown-section h83:before{content:"83";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h84{display:block;line-height:2}.markdown-section h84:before{content:"84";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h85{display:block;line-height:2}.markdown-section h85:before{content:"85";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h86{display:block;line-height:2}.markdown-section h86:before{content:"86";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h87{display:block;line-height:2}.markdown-section h87:before{content:"87";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h88{display:block;line-height:2}.markdown-section h88:before{content:"88";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h89{display:block;line-height:2}.markdown-section h89:before{content:"89";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h90{display:block;line-height:2}.markdown-section h90:before{content:"90";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h91{display:block;line-height:2}.markdown-section h91:before{content:"91";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h92{display:block;line-height:2}.markdown-section h92:before{content:"92";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h93{display:block;line-height:2}.markdown-section h93:before{content:"93";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h94{display:block;line-height:2}.markdown-section h94:before{content:"94";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h95{display:block;line-height:2}.markdown-section h95:before{content:"95";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h96{display:block;line-height:2}.markdown-section h96:before{content:"96";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h97{display:block;line-height:2}.markdown-section h97:before{content:"97";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h98{display:block;line-height:2}.markdown-section h98:before{content:"98";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h99{display:block;line-height:2}.markdown-section h99:before{content:"99";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h100{display:block;line-height:2}.markdown-section h100:before{content:"100";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h101{display:block;line-height:2}.markdown-section h101:before{content:"101";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h102{display:block;line-height:2}.markdown-section h102:before{content:"102";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h103{display:block;line-height:2}.markdown-section h103:before{content:"103";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h104{display:block;line-height:2}.markdown-section h104:before{content:"104";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h105{display:block;line-height:2}.markdown-section h105:before{content:"105";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h106{display:block;line-height:2}.markdown-section h106:before{content:"106";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h107{display:block;line-height:2}.markdown-section h107:before{content:"107";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.markdown-section h108{display:block;line-height:2}.markdown-section h108:before{content:"108";font-size:.7rem;margin-left:-1.4em;padding:0 .2rem;border:1px dotted}.lv1:before{content:"1"}.lv1:before,.lv2:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv2:before{content:"2"}.lv3:before{content:"3"}.lv3:before,.lv4:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv4:before{content:"4"}.lv5:before{content:"5"}.lv5:before,.lv6:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv6:before{content:"6"}.lv7:before{content:"7"}.lv7:before,.lv8:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv8:before{content:"8"}.lv9:before{content:"9"}.lv9:before,.lv10:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv10:before{content:"10"}.lv11:before{content:"11"}.lv11:before,.lv12:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv12:before{content:"12"}.lv13:before{content:"13"}.lv13:before,.lv14:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv14:before{content:"14"}.lv15:before{content:"15"}.lv15:before,.lv16:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv16:before{content:"16"}.lv17:before{content:"17"}.lv17:before,.lv18:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv18:before{content:"18"}.lv19:before{content:"19"}.lv19:before,.lv20:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv20:before{content:"20"}.lv21:before{content:"21"}.lv21:before,.lv22:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv22:before{content:"22"}.lv23:before{content:"23"}.lv23:before,.lv24:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv24:before{content:"24"}.lv25:before{content:"25"}.lv25:before,.lv26:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv26:before{content:"26"}.lv27:before{content:"27"}.lv27:before,.lv28:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv28:before{content:"28"}.lv29:before{content:"29"}.lv29:before,.lv30:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv30:before{content:"30"}.lv31:before{content:"31"}.lv31:before,.lv32:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv32:before{content:"32"}.lv33:before{content:"33"}.lv33:before,.lv34:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv34:before{content:"34"}.lv35:before{content:"35"}.lv35:before,.lv36:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv36:before{content:"36"}.lv37:before{content:"37"}.lv37:before,.lv38:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv38:before{content:"38"}.lv39:before{content:"39"}.lv39:before,.lv40:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv40:before{content:"40"}.lv41:before{content:"41"}.lv41:before,.lv42:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv42:before{content:"42"}.lv43:before{content:"43"}.lv43:before,.lv44:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv44:before{content:"44"}.lv45:before{content:"45"}.lv45:before,.lv46:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv46:before{content:"46"}.lv47:before{content:"47"}.lv47:before,.lv48:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv48:before{content:"48"}.lv49:before{content:"49"}.lv49:before,.lv50:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv50:before{content:"50"}.lv51:before{content:"51"}.lv51:before,.lv52:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv52:before{content:"52"}.lv53:before{content:"53"}.lv53:before,.lv54:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv54:before{content:"54"}.lv55:before{content:"55"}.lv55:before,.lv56:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv56:before{content:"56"}.lv57:before{content:"57"}.lv57:before,.lv58:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv58:before{content:"58"}.lv59:before{content:"59"}.lv59:before,.lv60:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv60:before{content:"60"}.lv61:before{content:"61"}.lv61:before,.lv62:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv62:before{content:"62"}.lv63:before{content:"63"}.lv63:before,.lv64:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv64:before{content:"64"}.lv65:before{content:"65"}.lv65:before,.lv66:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv66:before{content:"66"}.lv67:before{content:"67"}.lv67:before,.lv68:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv68:before{content:"68"}.lv69:before{content:"69"}.lv69:before,.lv70:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv70:before{content:"70"}.lv71:before{content:"71"}.lv71:before,.lv72:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv72:before{content:"72"}.lv73:before{content:"73"}.lv73:before,.lv74:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv74:before{content:"74"}.lv75:before{content:"75"}.lv75:before,.lv76:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv76:before{content:"76"}.lv77:before{content:"77"}.lv77:before,.lv78:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv78:before{content:"78"}.lv79:before{content:"79"}.lv79:before,.lv80:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv80:before{content:"80"}.lv81:before{content:"81"}.lv81:before,.lv82:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv82:before{content:"82"}.lv83:before{content:"83"}.lv83:before,.lv84:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv84:before{content:"84"}.lv85:before{content:"85"}.lv85:before,.lv86:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv86:before{content:"86"}.lv87:before{content:"87"}.lv87:before,.lv88:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv88:before{content:"88"}.lv89:before{content:"89"}.lv89:before,.lv90:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv90:before{content:"90"}.lv91:before{content:"91"}.lv91:before,.lv92:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv92:before{content:"92"}.lv93:before{content:"93"}.lv93:before,.lv94:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv94:before{content:"94"}.lv95:before{content:"95"}.lv95:before,.lv96:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv96:before{content:"96"}.lv97:before{content:"97"}.lv97:before,.lv98:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv98:before{content:"98"}.lv99:before{content:"99"}.lv99:before,.lv100:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv100:before{content:"100"}.lv101:before{content:"101"}.lv101:before,.lv102:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv102:before{content:"102"}.lv103:before{content:"103"}.lv103:before,.lv104:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv104:before{content:"104"}.lv105:before{content:"105"}.lv105:before,.lv106:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv106:before{content:"106"}.lv107:before{content:"107"}.lv107:before,.lv108:before{font-size:.6rem;padding:0 .2rem;border:1px dotted}.lv108:before{content:"108"}.markdown-section{margin:0 auto;max-width:93%;padding:30px 15px 40px;position:relative}.markdown-section>*{box-sizing:border-box;font-size:inherit}.markdown-section>:first-child{margin-top:0!important}.markdown-section hr{border:none;border-bottom:1px solid #eee;margin:2em 0}.markdown-section iframe{border:1px solid #eee;width:1px;min-width:100%}.markdown-section table{border-collapse:collapse;border-spacing:0;display:block;margin-bottom:1rem;overflow:auto;width:100%}.markdown-section th{font-weight:700}.markdown-section td,.markdown-section th{border:1px solid #ddd;padding:6px 13px}.markdown-section tr{border-top:1px solid #ccc}.markdown-section p.tip,.markdown-section tr:nth-child(2n){background-color:#f8f8f8}.markdown-section p.tip{border-bottom-right-radius:2px;border-left:4px solid #f66;border-top-right-radius:2px;margin:2em 0;padding:12px 24px 12px 30px;position:relative}.markdown-section p.tip:before{background-color:#f66;border-radius:100%;color:#fff;content:"!";font-family:Dosis,Source Sans Pro,Helvetica Neue,Arial,sans-serif;font-size:14px;font-weight:700;left:-12px;line-height:20px;position:absolute;height:20px;width:20px;text-align:center;top:14px}.markdown-section p.tip code{background-color:#efefef}.markdown-section p.tip em{color:#34495e}.markdown-section p.warn{background:rgba(66,185,131,.1);border-radius:2px;padding:1rem}.markdown-section ul.task-list>li{list-style-type:none}body.close .sidebar{transform:translateX(-480px)}body.close .sidebar-toggle{width:auto}body.close .content{left:0}@media print{.app-nav,.github-corner,.sidebar,.sidebar-toggle{display:none}}@media screen and (max-width:768px){.github-corner,.sidebar,.sidebar-toggle{position:fixed}.app-nav{margin-top:16px}.app-nav li ul{top:30px}main{height:auto;overflow-x:hidden}.sidebar{left:-100vw;width:100vw;transition:transform .25s ease-out}.content{left:0;max-width:100vw;position:static;padding-top:20px;transition:transform .25s ease}.app-nav,.github-corner{transition:transform .25s ease-out}.sidebar-toggle{background-color:transparent;width:auto;padding:30px 30px 10px 10px}body.close .sidebar{transform:translateX(100vw)}body.close .sidebar-toggle{background-color:hsla(0,0%,100%,.8);transition:background-color 1s;width:32px;padding:10px}body.close .content{transform:translateX(100vw)}body.close .app-nav,body.close .github-corner{display:none}.github-corner:hover .octo-arm{-webkit-animation:none;animation:none}.github-corner .octo-arm{-webkit-animation:octocat-wave .56s ease-in-out;animation:octocat-wave .56s ease-in-out}}.app-sub-sidebar li>span:after{content:"\00A0";font-size:12px;line-height:1em;padding:0 6px 0 0;float:left}.app-sub-sidebar li.has-children .front{border:2px solid var(--theme-color,#42b983)}.app-sub-sidebar li.has-children>span:after{-ms-writing-mode:tb-lr;writing-mode:vertical-lr;content:"\276F";font-size:12px;line-height:1em;padding:12px 0 0;float:left}.app-sub-sidebar li.has-children.collapse>span:after{-ms-writing-mode:lr-tb;writing-mode:horizontal-tb;content:"\276F";font-size:12px;line-height:1em;padding:9px 4px 0 2px;float:left}.current span{color:#c94922}.app-name-link img{max-height:3em}@-webkit-keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}section.cover{align-items:center;background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw;display:none}section.cover.show{display:flex}section.cover.has-mask .mask{background-color:#fff;opacity:.8;position:absolute;top:0;height:100%;width:100%}section.cover .cover-main{flex:1;margin:-20px 16px 0;text-align:center;position:relative}section.cover a{color:inherit}section.cover a,section.cover a:hover{text-decoration:none}section.cover p{line-height:1.5rem;margin:1em 0}section.cover h1{color:inherit;font-size:2.5rem;font-weight:300;margin:.625rem 0 2.5rem;position:relative;text-align:center}section.cover h1 a{display:block}section.cover h1 small{bottom:-.4375rem;font-size:1rem;position:absolute}section.cover blockquote{font-size:1.5rem;text-align:center}section.cover ul{line-height:1.8;list-style-type:none;margin:1em auto;max-width:500px;padding:0}section.cover .cover-main>p:last-child a{border-radius:2rem;border:1px solid var(--theme-color,#42b983);box-sizing:border-box;color:var(--theme-color,#42b983);display:inline-block;font-size:1.05rem;letter-spacing:.1rem;margin:.5rem 1rem;padding:.75em 2rem;text-decoration:none;transition:all .15s ease}section.cover .cover-main>p:last-child a:last-child{background-color:var(--theme-color,#42b983);color:#fff}section.cover .cover-main>p:last-child a:last-child:hover{color:inherit;opacity:.8}section.cover .cover-main>p:last-child a:hover{color:inherit}section.cover blockquote>p>a{border-bottom:2px solid var(--theme-color,#42b983);transition:color .3s}section.cover blockquote>p>a:hover{color:var(--theme-color,#42b983)}.sidebar,body{background-color:#fff}.sidebar{color:#364149}.sidebar li{margin:6px 0}.sidebar ul li a{color:#505d6b;font-weight:400;text-decoration:none;white-space:nowrap}.sidebar ul li a:hover{text-decoration:underline}.sidebar ul li ul{padding:0}.sidebar li.collapse.parent>a,.sidebar ul li.active>a{border-right:2px solid;color:var(--theme-color,#42b983);font-weight:600}.markdown-section strong{color:#2c3e50;font-weight:600}.markdown-section a{color:var(--theme-color,#42b983);font-weight:600}.markdown-section h1{font-size:2rem;margin:0 0 1rem}.markdown-section h2{font-size:1.75rem;margin:45px 0 .8rem}.markdown-section h3{font-size:1.5rem;margin:40px 0 .6rem}.markdown-section h1,.markdown-section h2,.markdown-section h3{font-weight:500}.markdown-section h4,.markdown-section h5,.markdown-section h6{font-weight:500;margin:0;padding:0}.markdown-section p{font-family:Georgia,Courier New,Times New Roman,Nimbus Roman No9 L,Songti SC,"Noto Serif CJK SC","Source Han Serif SC","Source Han Serif CN",STSong,AR PL New Sung,AR PL SungtiL GB,NSimSun,SimSun,TW\\-Sung,WenQuanYi Bitmap Song,AR PL UMing CN,AR PL UMing HK,AR PL UMing TW,AR PL UMing TW MBE,PMingLiU,MingLiU,serif;font-size:18px}.markdown-section figure,.markdown-section p{margin:.4em 0 1em}.markdown-section ol,.markdown-section p,.markdown-section ul{line-height:1.6rem;word-spacing:.05rem}.markdown-section ol,.markdown-section ul{padding-left:1.5rem}.markdown-section blockquote{border-left:4px solid var(--theme-color,#42b983);color:#858585;margin:2em 0;padding-left:20px}.markdown-section blockquote p{font-weight:600;margin-left:0}.markdown-section iframe{margin:1em 0}.markdown-section em{color:#7f8c8d}.markdown-section code{border-radius:2px;color:#e96900;font-size:.9rem;margin:0 2px;padding:3px 5px;white-space:pre-wrap}.markdown-section code,.markdown-section pre{background-color:#f8f8f8;font-family:Roboto Mono,Monaco,courier,monospace}.markdown-section pre{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;line-height:1.5rem;margin:1.2em 0;overflow:auto;padding:0 1.4rem;position:relative;word-wrap:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#8e908c}.token.namespace{opacity:.7}.token.boolean,.token.number{color:#c76b29}.token.punctuation{color:#525252}.token.property{color:#c08b30}.token.tag{color:#2973b7}.token.string{color:var(--theme-color,#42b983)}.token.selector{color:#6679cc}.token.attr-name{color:#2973b7}.language-css .token.string,.style .token.string,.token.entity,.token.url{color:#22a2c9}.token.attr-value,.token.control,.token.directive,.token.unit{color:var(--theme-color,#42b983)}.token.function,.token.keyword{color:#e96900}.token.atrule,.token.regex,.token.statement{color:#22a2c9}.token.placeholder,.token.variable{color:#3d8fd1}.token.deleted{text-decoration:line-through}.token.inserted{border-bottom:1px dotted #202746;text-decoration:none}.token.italic{font-style:italic}.token.bold,.token.important{font-weight:700}.token.important{color:#c94922}.token.entity{cursor:help}.markdown-section pre>code{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;background-color:#f8f8f8;border-radius:2px;color:#525252;display:block;font-family:Roboto Mono,Monaco,courier,monospace;font-size:.9rem;line-height:inherit;margin:0 2px;max-width:inherit;overflow:inherit;padding:2.2em 5px;white-space:inherit}.markdown-section code:after,.markdown-section code:before{letter-spacing:.05rem}code .token{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;min-height:1.5rem;position:relative;left:auto}pre:after{color:#ccc;content:attr(data-lang);font-size:.6rem;font-weight:600;height:15px;line-height:15px;padding:5px 10px 0;position:absolute;right:0;text-align:right;top:0} \ No newline at end of file diff --git a/css/vue.css b/css/vue.css index 449d8be..4d3cfb5 100644 --- a/css/vue.css +++ b/css/vue.css @@ -108,6 +108,7 @@ li input[type='checkbox'] { } .app-nav a { color: inherit; + font-size: 16px; text-decoration: none; transition: color 0.3s; } @@ -194,6 +195,9 @@ main.hidden { text-decoration: none; transition: all 0.3s; } +.anchor span { + color: #34495e; +} .anchor:hover { text-decoration: underline; } @@ -229,9 +233,12 @@ main.hidden { padding-bottom: 40px; display: grid; } -.sidebar li.collapse .app-sub-sidebar { +.sidebar li.collapse > ul { display: none; } +.sidebar li:not(.collapse) > ul { + display: block; +} .sidebar ul { margin: 0 0 0 15px; padding: 0; @@ -305,1407 +312,1839 @@ body.sticky .sidebar-toggle { } .markdown-section h1 { display: block; + line-height: 2; } .markdown-section h1::before { - content: "H1"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "1"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h2 { display: block; + line-height: 2; } .markdown-section h2::before { - content: "H2"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "2"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h3 { display: block; + line-height: 2; } .markdown-section h3::before { - content: "H3"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "3"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h4 { display: block; + line-height: 2; } .markdown-section h4::before { - content: "H4"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "4"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h5 { display: block; + line-height: 2; } .markdown-section h5::before { - content: "H5"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "5"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h6 { display: block; + line-height: 2; } .markdown-section h6::before { - content: "H6"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "6"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h7 { display: block; + line-height: 2; } .markdown-section h7::before { - content: "H7"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "7"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h8 { display: block; + line-height: 2; } .markdown-section h8::before { - content: "H8"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "8"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h9 { display: block; + line-height: 2; } .markdown-section h9::before { - content: "H9"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "9"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h10 { display: block; + line-height: 2; } .markdown-section h10::before { - content: "H10"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "10"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h11 { display: block; + line-height: 2; } .markdown-section h11::before { - content: "H11"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "11"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h12 { display: block; + line-height: 2; } .markdown-section h12::before { - content: "H12"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "12"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h13 { display: block; + line-height: 2; } .markdown-section h13::before { - content: "H13"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "13"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h14 { display: block; + line-height: 2; } .markdown-section h14::before { - content: "H14"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "14"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h15 { display: block; + line-height: 2; } .markdown-section h15::before { - content: "H15"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "15"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h16 { display: block; + line-height: 2; } .markdown-section h16::before { - content: "H16"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "16"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h17 { display: block; + line-height: 2; } .markdown-section h17::before { - content: "H17"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "17"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h18 { display: block; + line-height: 2; } .markdown-section h18::before { - content: "H18"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "18"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h19 { display: block; + line-height: 2; } .markdown-section h19::before { - content: "H19"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "19"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h20 { display: block; + line-height: 2; } .markdown-section h20::before { - content: "H20"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "20"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h21 { display: block; + line-height: 2; } .markdown-section h21::before { - content: "H21"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "21"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h22 { display: block; + line-height: 2; } .markdown-section h22::before { - content: "H22"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "22"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h23 { display: block; + line-height: 2; } .markdown-section h23::before { - content: "H23"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "23"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h24 { display: block; + line-height: 2; } .markdown-section h24::before { - content: "H24"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "24"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h25 { display: block; + line-height: 2; } .markdown-section h25::before { - content: "H25"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "25"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h26 { display: block; + line-height: 2; } .markdown-section h26::before { - content: "H26"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "26"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h27 { display: block; + line-height: 2; } .markdown-section h27::before { - content: "H27"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "27"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h28 { display: block; + line-height: 2; } .markdown-section h28::before { - content: "H28"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "28"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h29 { display: block; + line-height: 2; } .markdown-section h29::before { - content: "H29"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "29"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h30 { display: block; + line-height: 2; } .markdown-section h30::before { - content: "H30"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "30"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h31 { display: block; + line-height: 2; } .markdown-section h31::before { - content: "H31"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "31"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h32 { display: block; + line-height: 2; } .markdown-section h32::before { - content: "H32"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "32"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h33 { display: block; + line-height: 2; } .markdown-section h33::before { - content: "H33"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "33"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h34 { display: block; + line-height: 2; } .markdown-section h34::before { - content: "H34"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "34"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h35 { display: block; + line-height: 2; } .markdown-section h35::before { - content: "H35"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "35"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h36 { display: block; + line-height: 2; } .markdown-section h36::before { - content: "H36"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "36"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h37 { display: block; + line-height: 2; } .markdown-section h37::before { - content: "H37"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "37"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h38 { display: block; + line-height: 2; } .markdown-section h38::before { - content: "H38"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "38"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h39 { display: block; + line-height: 2; } .markdown-section h39::before { - content: "H39"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "39"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h40 { display: block; + line-height: 2; } .markdown-section h40::before { - content: "H40"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "40"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h41 { display: block; + line-height: 2; } .markdown-section h41::before { - content: "H41"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "41"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h42 { display: block; + line-height: 2; } .markdown-section h42::before { - content: "H42"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "42"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h43 { display: block; + line-height: 2; } .markdown-section h43::before { - content: "H43"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "43"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h44 { display: block; + line-height: 2; } .markdown-section h44::before { - content: "H44"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "44"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h45 { display: block; + line-height: 2; } .markdown-section h45::before { - content: "H45"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "45"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h46 { display: block; + line-height: 2; } .markdown-section h46::before { - content: "H46"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "46"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h47 { display: block; + line-height: 2; } .markdown-section h47::before { - content: "H47"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "47"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h48 { display: block; + line-height: 2; } .markdown-section h48::before { - content: "H48"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "48"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h49 { display: block; + line-height: 2; } .markdown-section h49::before { - content: "H49"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "49"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h50 { display: block; + line-height: 2; } .markdown-section h50::before { - content: "H50"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "50"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h51 { display: block; + line-height: 2; } .markdown-section h51::before { - content: "H51"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "51"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h52 { display: block; + line-height: 2; } .markdown-section h52::before { - content: "H52"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "52"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h53 { display: block; + line-height: 2; } .markdown-section h53::before { - content: "H53"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "53"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h54 { display: block; + line-height: 2; } .markdown-section h54::before { - content: "H54"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "54"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h55 { display: block; + line-height: 2; } .markdown-section h55::before { - content: "H55"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "55"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h56 { display: block; + line-height: 2; } .markdown-section h56::before { - content: "H56"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "56"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h57 { display: block; + line-height: 2; } .markdown-section h57::before { - content: "H57"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "57"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h58 { display: block; + line-height: 2; } .markdown-section h58::before { - content: "H58"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "58"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h59 { display: block; + line-height: 2; } .markdown-section h59::before { - content: "H59"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "59"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h60 { display: block; + line-height: 2; } .markdown-section h60::before { - content: "H60"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "60"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h61 { display: block; + line-height: 2; } .markdown-section h61::before { - content: "H61"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "61"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h62 { display: block; + line-height: 2; } .markdown-section h62::before { - content: "H62"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "62"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h63 { display: block; + line-height: 2; } .markdown-section h63::before { - content: "H63"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "63"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h64 { display: block; + line-height: 2; } .markdown-section h64::before { - content: "H64"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "64"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h65 { display: block; + line-height: 2; } .markdown-section h65::before { - content: "H65"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "65"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h66 { display: block; + line-height: 2; } .markdown-section h66::before { - content: "H66"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "66"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h67 { display: block; + line-height: 2; } .markdown-section h67::before { - content: "H67"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "67"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h68 { display: block; + line-height: 2; } .markdown-section h68::before { - content: "H68"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "68"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h69 { display: block; + line-height: 2; } .markdown-section h69::before { - content: "H69"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "69"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h70 { display: block; + line-height: 2; } .markdown-section h70::before { - content: "H70"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "70"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h71 { display: block; + line-height: 2; } .markdown-section h71::before { - content: "H71"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "71"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h72 { display: block; + line-height: 2; } .markdown-section h72::before { - content: "H72"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "72"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h73 { display: block; + line-height: 2; } .markdown-section h73::before { - content: "H73"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "73"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h74 { display: block; + line-height: 2; } .markdown-section h74::before { - content: "H74"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "74"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h75 { display: block; + line-height: 2; } .markdown-section h75::before { - content: "H75"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "75"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h76 { display: block; + line-height: 2; } .markdown-section h76::before { - content: "H76"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "76"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h77 { display: block; + line-height: 2; } .markdown-section h77::before { - content: "H77"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "77"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h78 { display: block; + line-height: 2; } .markdown-section h78::before { - content: "H78"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "78"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h79 { display: block; + line-height: 2; } .markdown-section h79::before { - content: "H79"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "79"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h80 { display: block; + line-height: 2; } .markdown-section h80::before { - content: "H80"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "80"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h81 { display: block; + line-height: 2; } .markdown-section h81::before { - content: "H81"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "81"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h82 { display: block; + line-height: 2; } .markdown-section h82::before { - content: "H82"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "82"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h83 { display: block; + line-height: 2; } .markdown-section h83::before { - content: "H83"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "83"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h84 { display: block; + line-height: 2; } .markdown-section h84::before { - content: "H84"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "84"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h85 { display: block; + line-height: 2; } .markdown-section h85::before { - content: "H85"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "85"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h86 { display: block; + line-height: 2; } .markdown-section h86::before { - content: "H86"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "86"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h87 { display: block; + line-height: 2; } .markdown-section h87::before { - content: "H87"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "87"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h88 { display: block; + line-height: 2; } .markdown-section h88::before { - content: "H88"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "88"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h89 { display: block; + line-height: 2; } .markdown-section h89::before { - content: "H89"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "89"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h90 { display: block; + line-height: 2; } .markdown-section h90::before { - content: "H90"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "90"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h91 { display: block; + line-height: 2; } .markdown-section h91::before { - content: "H91"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "91"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h92 { display: block; + line-height: 2; } .markdown-section h92::before { - content: "H92"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "92"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h93 { display: block; + line-height: 2; } .markdown-section h93::before { - content: "H93"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "93"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h94 { display: block; + line-height: 2; } .markdown-section h94::before { - content: "H94"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "94"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h95 { display: block; + line-height: 2; } .markdown-section h95::before { - content: "H95"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "95"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h96 { display: block; + line-height: 2; } .markdown-section h96::before { - content: "H96"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "96"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h97 { display: block; + line-height: 2; } .markdown-section h97::before { - content: "H97"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "97"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h98 { display: block; + line-height: 2; } .markdown-section h98::before { - content: "H98"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "98"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h99 { display: block; + line-height: 2; } .markdown-section h99::before { - content: "H99"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "99"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h100 { display: block; + line-height: 2; } .markdown-section h100::before { - content: "H100"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "100"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h101 { display: block; + line-height: 2; } .markdown-section h101::before { - content: "H101"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "101"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h102 { display: block; + line-height: 2; } .markdown-section h102::before { - content: "H102"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "102"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h103 { display: block; + line-height: 2; } .markdown-section h103::before { - content: "H103"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "103"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h104 { display: block; + line-height: 2; } .markdown-section h104::before { - content: "H104"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "104"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h105 { display: block; + line-height: 2; } .markdown-section h105::before { - content: "H105"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "105"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h106 { display: block; + line-height: 2; } .markdown-section h106::before { - content: "H106"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "106"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h107 { display: block; + line-height: 2; } .markdown-section h107::before { - content: "H107"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "107"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .markdown-section h108 { display: block; + line-height: 2; } .markdown-section h108::before { - content: "H108"; - font-size: 0.6rem; - margin: 0 0.8em 0 -1.2em; + content: "108"; + font-size: 0.7rem; + margin-left: -1.4em; + padding: 0 0.2rem; + border: 1px dotted; } .lv1::before { - content: "H1"; - font-size: 0.5rem; + content: "1"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv2::before { - content: "H2"; - font-size: 0.5rem; + content: "2"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv3::before { - content: "H3"; - font-size: 0.5rem; + content: "3"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv4::before { - content: "H4"; - font-size: 0.5rem; + content: "4"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv5::before { - content: "H5"; - font-size: 0.5rem; + content: "5"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv6::before { - content: "H6"; - font-size: 0.5rem; + content: "6"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv7::before { - content: "H7"; - font-size: 0.5rem; + content: "7"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv8::before { - content: "H8"; - font-size: 0.5rem; + content: "8"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv9::before { - content: "H9"; - font-size: 0.5rem; + content: "9"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv10::before { - content: "H10"; - font-size: 0.5rem; + content: "10"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv11::before { - content: "H11"; - font-size: 0.5rem; + content: "11"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv12::before { - content: "H12"; - font-size: 0.5rem; + content: "12"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv13::before { - content: "H13"; - font-size: 0.5rem; + content: "13"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv14::before { - content: "H14"; - font-size: 0.5rem; + content: "14"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv15::before { - content: "H15"; - font-size: 0.5rem; + content: "15"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv16::before { - content: "H16"; - font-size: 0.5rem; + content: "16"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv17::before { - content: "H17"; - font-size: 0.5rem; + content: "17"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv18::before { - content: "H18"; - font-size: 0.5rem; + content: "18"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv19::before { - content: "H19"; - font-size: 0.5rem; + content: "19"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv20::before { - content: "H20"; - font-size: 0.5rem; + content: "20"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv21::before { - content: "H21"; - font-size: 0.5rem; + content: "21"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv22::before { - content: "H22"; - font-size: 0.5rem; + content: "22"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv23::before { - content: "H23"; - font-size: 0.5rem; + content: "23"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv24::before { - content: "H24"; - font-size: 0.5rem; + content: "24"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv25::before { - content: "H25"; - font-size: 0.5rem; + content: "25"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv26::before { - content: "H26"; - font-size: 0.5rem; + content: "26"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv27::before { - content: "H27"; - font-size: 0.5rem; + content: "27"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv28::before { - content: "H28"; - font-size: 0.5rem; + content: "28"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv29::before { - content: "H29"; - font-size: 0.5rem; + content: "29"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv30::before { - content: "H30"; - font-size: 0.5rem; + content: "30"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv31::before { - content: "H31"; - font-size: 0.5rem; + content: "31"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv32::before { - content: "H32"; - font-size: 0.5rem; + content: "32"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv33::before { - content: "H33"; - font-size: 0.5rem; + content: "33"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv34::before { - content: "H34"; - font-size: 0.5rem; + content: "34"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv35::before { - content: "H35"; - font-size: 0.5rem; + content: "35"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv36::before { - content: "H36"; - font-size: 0.5rem; + content: "36"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv37::before { - content: "H37"; - font-size: 0.5rem; + content: "37"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv38::before { - content: "H38"; - font-size: 0.5rem; + content: "38"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv39::before { - content: "H39"; - font-size: 0.5rem; + content: "39"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv40::before { - content: "H40"; - font-size: 0.5rem; + content: "40"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv41::before { - content: "H41"; - font-size: 0.5rem; + content: "41"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv42::before { - content: "H42"; - font-size: 0.5rem; + content: "42"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv43::before { - content: "H43"; - font-size: 0.5rem; + content: "43"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv44::before { - content: "H44"; - font-size: 0.5rem; + content: "44"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv45::before { - content: "H45"; - font-size: 0.5rem; + content: "45"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv46::before { - content: "H46"; - font-size: 0.5rem; + content: "46"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv47::before { - content: "H47"; - font-size: 0.5rem; + content: "47"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv48::before { - content: "H48"; - font-size: 0.5rem; + content: "48"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv49::before { - content: "H49"; - font-size: 0.5rem; + content: "49"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv50::before { - content: "H50"; - font-size: 0.5rem; + content: "50"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv51::before { - content: "H51"; - font-size: 0.5rem; + content: "51"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv52::before { - content: "H52"; - font-size: 0.5rem; + content: "52"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv53::before { - content: "H53"; - font-size: 0.5rem; + content: "53"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv54::before { - content: "H54"; - font-size: 0.5rem; + content: "54"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv55::before { - content: "H55"; - font-size: 0.5rem; + content: "55"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv56::before { - content: "H56"; - font-size: 0.5rem; + content: "56"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv57::before { - content: "H57"; - font-size: 0.5rem; + content: "57"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv58::before { - content: "H58"; - font-size: 0.5rem; + content: "58"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv59::before { - content: "H59"; - font-size: 0.5rem; + content: "59"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv60::before { - content: "H60"; - font-size: 0.5rem; + content: "60"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv61::before { - content: "H61"; - font-size: 0.5rem; + content: "61"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv62::before { - content: "H62"; - font-size: 0.5rem; + content: "62"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv63::before { - content: "H63"; - font-size: 0.5rem; + content: "63"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv64::before { - content: "H64"; - font-size: 0.5rem; + content: "64"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv65::before { - content: "H65"; - font-size: 0.5rem; + content: "65"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv66::before { - content: "H66"; - font-size: 0.5rem; + content: "66"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv67::before { - content: "H67"; - font-size: 0.5rem; + content: "67"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv68::before { - content: "H68"; - font-size: 0.5rem; + content: "68"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv69::before { - content: "H69"; - font-size: 0.5rem; + content: "69"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv70::before { - content: "H70"; - font-size: 0.5rem; + content: "70"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv71::before { - content: "H71"; - font-size: 0.5rem; + content: "71"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv72::before { - content: "H72"; - font-size: 0.5rem; + content: "72"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv73::before { - content: "H73"; - font-size: 0.5rem; + content: "73"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv74::before { - content: "H74"; - font-size: 0.5rem; + content: "74"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv75::before { - content: "H75"; - font-size: 0.5rem; + content: "75"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv76::before { - content: "H76"; - font-size: 0.5rem; + content: "76"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv77::before { - content: "H77"; - font-size: 0.5rem; + content: "77"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv78::before { - content: "H78"; - font-size: 0.5rem; + content: "78"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv79::before { - content: "H79"; - font-size: 0.5rem; + content: "79"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv80::before { - content: "H80"; - font-size: 0.5rem; + content: "80"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv81::before { - content: "H81"; - font-size: 0.5rem; + content: "81"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv82::before { - content: "H82"; - font-size: 0.5rem; + content: "82"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv83::before { - content: "H83"; - font-size: 0.5rem; + content: "83"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv84::before { - content: "H84"; - font-size: 0.5rem; + content: "84"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv85::before { - content: "H85"; - font-size: 0.5rem; + content: "85"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv86::before { - content: "H86"; - font-size: 0.5rem; + content: "86"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv87::before { - content: "H87"; - font-size: 0.5rem; + content: "87"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv88::before { - content: "H88"; - font-size: 0.5rem; + content: "88"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv89::before { - content: "H89"; - font-size: 0.5rem; + content: "89"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv90::before { - content: "H90"; - font-size: 0.5rem; + content: "90"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv91::before { - content: "H91"; - font-size: 0.5rem; + content: "91"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv92::before { - content: "H92"; - font-size: 0.5rem; + content: "92"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv93::before { - content: "H93"; - font-size: 0.5rem; + content: "93"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv94::before { - content: "H94"; - font-size: 0.5rem; + content: "94"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv95::before { - content: "H95"; - font-size: 0.5rem; + content: "95"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv96::before { - content: "H96"; - font-size: 0.5rem; + content: "96"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv97::before { - content: "H97"; - font-size: 0.5rem; + content: "97"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv98::before { - content: "H98"; - font-size: 0.5rem; + content: "98"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv99::before { - content: "H99"; - font-size: 0.5rem; + content: "99"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv100::before { - content: "H100"; - font-size: 0.5rem; + content: "100"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv101::before { - content: "H101"; - font-size: 0.5rem; + content: "101"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv102::before { - content: "H102"; - font-size: 0.5rem; + content: "102"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv103::before { - content: "H103"; - font-size: 0.5rem; + content: "103"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv104::before { - content: "H104"; - font-size: 0.5rem; + content: "104"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv105::before { - content: "H105"; - font-size: 0.5rem; + content: "105"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv106::before { - content: "H106"; - font-size: 0.5rem; + content: "106"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv107::before { - content: "H107"; - font-size: 0.5rem; + content: "107"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .lv108::before { - content: "H108"; - font-size: 0.5rem; + content: "108"; + font-size: 0.6rem; padding: 0 0.2rem; + border: 1px dotted; } .markdown-section { margin: 0 auto; @@ -1835,6 +2274,7 @@ body.close .content { left: 0; max-width: 100vw; position: static; + padding-top: 20px; transition: transform 250ms ease; } .app-nav, @@ -1846,12 +2286,6 @@ body.close .content { width: auto; padding: 30px 30px 10px 10px; } - .markdown-section { - max-width: 99%; - } - .markdown-section p { - font-size: 20px; - } body.close .sidebar { transform: translateX(100vw); } @@ -1877,42 +2311,33 @@ body.close .content { animation: octocat-wave 560ms ease-in-out; } } -.app-sub-sidebar ul { - display: none; -} -.app-sub-sidebar ul.parent, -.app-sub-sidebar ul.wife, -.app-sub-sidebar ul.expand { - display: block; -} -.app-sub-sidebar ul.parent.expand, -.app-sub-sidebar ul.wife.expand { - display: none; -} -.app-sub-sidebar li span { - position: absolute; - font-family: Consolas, "Courier New", "Lucida Console", Monaco, Courier, monospace; - font-size: 24px; -} -.app-sub-sidebar li span:after { - content: '\00A0'; -} -.app-sub-sidebar li span.change:after { +.app-sub-sidebar li > span:after { content: '\00A0'; + font-size: 12px; + line-height: 1em; + padding: 0 6px 0 0; + float: left; } .app-sub-sidebar li.has-children > span:after { - content: '+'; -} -.app-sub-sidebar li.has-children > span.change:after { - content: '-'; -} -.app-sub-sidebar li.parent > span:after, -.app-sub-sidebar li.has-children.active > span:after { - content: '-'; -} -.app-sub-sidebar li.parent > span.change:after, -.app-sub-sidebar li.has-children.active > span.change:after { - content: '+'; + -ms-writing-mode: tb-lr; + writing-mode: vertical-lr; + content: '\276F'; + font-size: 12px; + line-height: 1em; + padding: 12px 0 0 0; + float: left; +} +.app-sub-sidebar li.has-children.collapse > span:after { + -ms-writing-mode: lr-tb; + writing-mode: horizontal-tb; + content: '\276F'; + font-size: 12px; + line-height: 1em; + padding: 9px 4px 0 2px; + float: left; +} +.app-sub-sidebar li.front:not(.active) > a { + border: 2px solid var(--theme-color, #42b983); } .current span { color: #c94922; @@ -1966,7 +2391,7 @@ section.cover .cover-main { flex: 1; margin: -20px 16px 0; text-align: center; - z-index: 1; + position: relative; } section.cover a { color: inherit; @@ -2062,7 +2487,8 @@ body { .sidebar ul li ul { padding: 0; } -.sidebar ul li.active > a { +.sidebar ul li.active > a, +.sidebar li.collapse.parent > a { border-right: 2px solid; color: var(--theme-color, #42b983); font-weight: 600; @@ -2073,7 +2499,8 @@ body { font-weight: 600; } .markdown-section a { - color: #505d6b; + color: var(--theme-color, #42b983); + font-weight: 600; } .markdown-section h1 { font-size: 2rem; diff --git "a/docs/\343\200\212\350\247\243\346\267\261\345\257\206\347\266\223\343\200\213\347\221\234\344\274\275\345\270\253\345\234\260\350\253\226\347\276\251\346\274\224\347\247\221\346\263\250.md" "b/docs/\343\200\212\350\247\243\346\267\261\345\257\206\347\266\223\343\200\213\347\221\234\344\274\275\345\270\253\345\234\260\350\253\226\347\276\251\346\274\224\347\247\221\346\263\250.md" new file mode 100644 index 0000000..0b6dea6 --- /dev/null +++ "b/docs/\343\200\212\350\247\243\346\267\261\345\257\206\347\266\223\343\200\213\347\221\234\344\274\275\345\270\253\345\234\260\350\253\226\347\276\251\346\274\224\347\247\221\346\263\250.md" @@ -0,0 +1,6193 @@ +#1 《解深密經》瑜伽師地論義演 科注 + +#2 【簡介、凡例】 + +#3 瑜伽师地论义演 卷第三十——三十二 + +CBETA A1561 瑜伽師地論義演 http://cbetaonline.cn/zh/A1561_001 , http://cbetaonline.cn/zh/A1561_030 + +【經文資訊】《金藏》第 120 冊 No. 1561 瑜伽師地論義演(第1卷-第32卷) + +【版本記錄】發行日期:2020-01,最後更新:2019-09-12 + +【編輯說明】本資料庫由中華電子佛典協會(CBETA)依《金藏》所編輯 + +義演 http://jinglu.cbeta.org/cgi-bin/jl_detail.pl?lang=&sid=zuupuv + +清素 http://authority.dila.edu.tw/person/?fromInner=A001088 + +#3 參考: + +​ 福嚴佛學院講義 表解:https://www.fuyan.org.tw/​ + + ​法鼓專案:http://ybh.dila.edu.tw/ui.html?whichArea=content&toDoc=T1828_039.xml + +#3 凡例: + +1、先錄入CBETA《瑜伽師地論義演》電子版全文,藉助龍泉寺【古籍·酷(http://gj.cool)】網站先作一遍自動標點,然後人工核對。 + +2、再根據CBETA、法鼓專案《瑜伽師地論》原文,補全“論”文起訖,即《瑜伽師地論》所引用的《解深密經》經文,用大號字、粗體。 + +3、刪除“演曰”(607處。) + +4、原文脫漏之處“▆”標以字數(?字),並在注釋中,給出擬補全的文字。 + +5、注疏中,總說、總釋之文字,如“二破執空,文分為二:先敘外計,後破彼非。此初,先敘。”,以此為依據編輯科判序號,在幕布網站上,編輯經論的大綱層級。 + +6、把註疏文字以小字附在經文大字之後。存疑待考之處,加註,並標以“@”符號。 + +7、問題探討:https://shimo.im/docs/25f77354e1864823/ 《〈解深密經〉圓測疏、道倫記、義演 探討》 + +#3 參考資料: + +《瑜伽师地论义演》,四十卷,今存二十二卷(后半杂入澄净科文),唐大安国寺沙门清素于贞元十七年(801)撰述,卷首略释《瑜伽》的名义,次用叙起论因、彰说论意、明论宗体、藏乘所摄、辨总别题、依文制释六门料简。(唐长安大安国寺历史文化稽考) + +《解深密經》瑜伽師地論記(倫記)科判+注釋 https://mubu.com/doc/e5SYcl98mD + +《解深密经》 圆测疏 科判 https://mubu.com/doc/32WHRoBPQgn + +《瑜伽師地論科句披尋記》 + +『瑜伽師地論義演』について 吉田道興 http://buddhism.lib.ntu.edu.tw/search/search_detail.jsp?seq=318840&q=%E7%BE%A9%E6%BC%94&qf=TOPIC&comefrom=searchengine + +#2 《瑜伽師地論義演》序 + +大安國寺沙門 清素 述 + +竊以陰陽演卦十翼,甄造化之功;道德要支五運,漸重玄之奧。豈若法身無相,至真超混沌之先;寂照亡名,正覺出希夷之外。不生不滅,假生滅而辯真;不去不來,現去來而利用。所以降生賢劫,示金色於三千;大震雷音,吼真乘於百億。天雨四華之說,頓漸咸詣於寶方;地搖六動之宣,蠢物同歸於性海。 + +自示歸寂後,旨趣𣲽埋,大義中宗,絕聞妙唱。九十六類,㸦說斷常;二十二宗,競申空有。闡揚之輩,無據可憑;進道之流,莫知玄路。所以推功上位,往白陳疑,矚毫相而具述來因,聽梵聲而備申三請。 + +> [ 㸦 ] hù 同“互”。 + +慈尊乃行成先劫,道證今賢,住最後天,應時利物。縱神光而遠照沙界,動大地而普集有緣。仰觀其宜,俯就其請,故從覩史,與天眾而俱來下地,道場共聖凡而同會。凝神八定,震五分之音聲,悲動四心,暢十支之妙響。地分十七,彰萬法之所歸;位列五乘,辯證修而有異。事包心色,籠柰苑之孤標;理貫有空,綰鷲臺而獨穎。實謂眾經領袖、諸論玄樞,千聖楷模、百王鴻範。曦光迥照,未足比其清明;宏海妙高,詎可方其深峻。大矣哉!壯矣哉!難以揄揚之者矣! + +#3 瑜伽師地者,舉宏綱之撮要,提一部之都名。復言論者,飛藻鑒之鴻標,揀異章之別稱。 + +瑜伽者,相應之義,具含善巧之功。 + +師者謂人,備彰訓物之道。 + +地謂境界,或所依行,是修習人所依之境,目之為地。 + +瑜伽之師,師所依地,俱依士釋。 + +論則賔主交列,詞句橫張,刊削是非,決生新慧。 + +以教彰教,瑜伽即論;以教彰理,瑜伽之論。六離合釋,持業為名;八種囀聲,屬主為目。 + +瑜伽師地,是所詮法,論者是教,體即能詮。瑜伽師地之論,亦依主釋。 + +大唐貞元中,歲次大荒落,皇帝御宇,二十有二載,道合無為,清視庶物,九流致之於掌內,百君納在於胷中。御天下以至功,運蒼生於帝力。親持藻鏡,密署權𢖍,鑒會府而朱景迴光,淨流品而玉壺湛物。三教齊列,百蠻來賔,佛日由是增輝,法雲於斯盛布。西天志士,傳梵字於中都;晉地金鍾,運聖音於印度。是知悲佛王,毫無私利物;聖人雨露,豈獨滂霑而已哉! + +素喜逢聖代,幸遇真詮,誓襲前燈,願弘聖旨。是以披砂揀玉,捃諸所遺,略開要妙之門,輒動濫竽之吹。縈紆細溜,誠未益於波瀾;隙路纖塵,詎欲增乎峞嶪。懷慚恥拙,寧敢施行,博達智人,幸為詳審。 + +> 縈紆,yíngyū,盘旋弯曲。峞,wéi;嶪,yè,高耸。捃,jùn,拾取。 + + +#2 《解深密經》科註 正文 + +#3 2 破执空 + +> 註:原文:瑜伽師地論義演卷第三十 http://cbetaonline.cn/zh/A1561_030(宋藏遺珍 卷三十,第二頁開始) + +#4 1 叙外计 + +#5 復次,於大乘中或有一類惡取空故,作如是言:「由世俗故一切皆有,由勝義故一切皆無。」 + +二破執空,文分為二:先敘外計,後破彼非。此初,先敘。 + +清辯等云:世俗門中,可言是有,勝義境界,萬法皆無。何以知耶?向所說言(2字)空境修念住等得解脫故。 + +> 註:應為:向所說言由依空境修念住等得解脫故。 + +清辯菩薩(5字)成立俗有真空,而說頌云:真性有(7字),無為無有實,不起似空花。真性之言,顯依勝(3字)空也。 + +> 註:應為:清辯菩薩(依《掌珍論》頌)成立俗有真空,而說頌云:真性有(為空,如幻緣生故,)無為無有實,不起似空花。真性之言,顯依勝(義,諸法)空也。 + + +#4 2 破彼非 + +#5 1 論主詰問 + +#6 應告彼言:「長老!何者世俗?何者勝義?」 + +後(3字),文分三分:一論主詰問,二外述己宗,三尋言正難。初問也。 + +> 註:後(破彼非),​ + +#5 2 外述己宗 + +#6 如是問已,彼若答言: + +#7 1 先敘勝義 + +#8 「若一切法皆無自性,是名勝義。 + +二外述己宗,文中有二:先敘勝義,後由世俗。 + +#7 2 後由世俗 + +若於諸法無自性中,自性可得,是名世俗。 + +何以故? + +#8 無所有中,建立世俗,假設名言,而起說故。」 + +世俗有三,標、徵、釋也。 + +> 註:倫記:於無性法,假名建立,為起言說,更相教示,名為世俗。 + +#5 3 尋言正難 + +#6 1 難名言 + +#7 1 先徵 + +#8 應告彼曰:「汝何所欲:名言世俗,為從因有、自性可得?為唯名言世俗說有? + +三尋言難,文分為二:一難名言,二難自性。初中有二,先徵,後破。此雙徵也。 + +> 註:CBETA:三尋空難,疑誤 @​ + +#7 2 後破 + +#8 1 破因生 + +#9 若名言世俗從因有者,名言世俗,從因而生,而非是有,不應道理。 + +後破分二,先破因生,後破無有。此初也。 + +若從因生,可如幻有,言非是有,不應道理。世俗芽莖,從種而生,體皆有故。 + +#8 2 破無有 + +#9 若唯名言世俗說有,名言世俗,無事而有,不應道理。」 + +> 後破無有。 + +若依名言說有世俗,世俗之體,而即是無。依無(3字)有法者,不應道理。 + +> 註:依無(有事而)有法者?@ + +#6 2 難自性 + +#7 1 問 + +#8 又應告言:「長老!何緣諸可得者,此無自性」? + +二(5字)三節先問次荅後正(4字)也。 + +> 註:二(難自性,文​有)三節:先問,次答,後正(說。此初,問)也。@ + +#7 2 答 + +如是問已,彼若答言:「顛倒事故」。 + +#7 3 正? + +復應告言:「汝何所欲:此顛倒事為有?為無? + +若言有者,說一切法由勝義故,皆無自性,不應道理。 + +#8 若言無者,顛倒事故,諸可得者,此無自性,不應道理。」 + +(6字)倒事故(17字)後正破中,(16字)汝言:勝義一切(14字)諸可得者,皆有自性,今言無者,不應理故。 + +> 註:闕字較多,暫無法補全。 + +#4 3 釋大乘經起由敘 + +#5 1 標 + +#6 復次,當知由 五相故,思擇大乘經起因緣說: + +三釋大乘經起由敘,文分為二:先標,後釋。 + +謂有小乘,不信大乘是佛所說,而起難云:汝立真如不生不滅,與外道我不生不滅,有何異耶?又汝大乘,佛何處說?為何人說?誰請佛說?因何起說?起既無憑,經亦無說,既無說教,所言依空修念住等,亦難依信。 + +故今釋云:由五相故,大乘經起,皆有因緣。經既有因,所說依空修念住等,故無虛尒。 + +#5 2 釋 + +#6 謂為於說者生恭敬故,起第一說, + +五相之中,初恭敬者,如說《法華》,住在鷲峯,說(2字)也。 + +> 註:CBETA作“處三”? @ + +#6 為攝眾故,起第二說, + +二攝眾者,亦如彼經,列同聞眾。 + +#6 為於正法生尊重故,起第三說, + +三尊重者,如《十地經》解脫月等,請而方說,令尊重故。 + +#6 為敘事故,起第四說, + +四敘事者,如《法華》中,敘鶖子等,昔修大也。 + +> 註:說舍利子等?@ + +#6 為欲宣說真實義故,及多所作故,起第五說。 + +五說真等,說真實所為,《大涅盤》說諸所作,如牛車故。 + +> 註:《涅槃經》待考。 + +#3 3 明十觀,觀自、共相 + +#4 1 明能證不共佛法 + +#5 1 標 + +#6 復次,依十二處,自相、共相觀故,有十種無顛倒道,能證所有不共佛法。 + +三明十觀,觀自共相,文分為二:一明能證不共佛法,二明住地後轉勝因。 + +初文有(3字)後釋。此先標舉。 + +> 註:初文有(二:先標,)後釋。​ + +十二處等,是所觀境。無顛倒道,是能觀智。由此了知十二處等,所以能證不共之法。 + +#5 2 釋 + +#6 1 揔科判 + +#7 當知此中,六種觀自相,四種觀共相。 + +後釋,分二:先揔科判,後隨科釋。此初也。 + +#6 2 隨科釋 + +#7 1 明自相 + +#8 1 釋 + +#9 謂於十二處,眼等名言假立相中,能遍了知唯名言相,是名第一無顛倒道,能證所有不共佛法。 + +後隨科釋,文分為二:初明自相,後明共相。自相分二:先釋,後結。釋中有六,六中皆有釋及結也。 + +一者,能了十二處等,遍計所執,但有假名,無如名下所執實體。 + +#9 復次,於十二處,能遍了知,攝受虛妄分別種種生相,是名第二無顛倒道,能證所有不共佛法。 + +二,能了知,於前所執,唯能攝受遍計之心。遍計之心,起類非一,名為種種。 + +#9 復次,於十二處,能遍了知依因轉相,是名第三無顛倒道,能證所有不共佛法。 + +三者,能知十二處法,必依因生,名依因轉,轉謂生也。 + +#9 復次,於十二處,能遍了知相壞轉相,是名第四無顛倒道,能證所有不共佛法。 + +四,了有為、有漏依他,是破壞法。 + +#9 復次,於十二處,能遍了知清淨轉相,是名第五無顛倒道,能證所有不共佛法。當知此中,依二種業有二清淨:一生起清淨,二寂滅清淨。 + +五,知滅、道無漏清淨。生起道諦;寂滅滅諦。 + +#9 復次,於十二處,能遍了知所有名言安足處相,是名第六無顛倒道,能證所有不共佛法。 + +六,了有為是名言所依之所,名安足處。 + +> 註:言依,是有為異名。 + +#8 2 結 + +#9 如是六種觀察自相。 + +後結之也。 + +#7 2 明共相 + +#8 1 釋 + +#9 復次,即於如是十二處中,能遍了知共相自性,是名第七無顛倒道,能證所有不共佛法。 + +後明共相,文分為二:先釋,後結。釋中有四。 + +七,了苦、空、無常等四,而是諸法共相自體,名無倒道。 + +#9 復次,即於如是十二處中,能遍了知共相無分別所行相 ,是名第八無顛倒道,能證所有不共佛法。 + +八,了根本智之(1字)行,真如共相。 + +> 註:根本智之(所?) 行 @ + +#9 復次,即於如是十二處中,能遍了知共相出世法所行相,是名第九無顛倒道,能證所有不共佛法。 + +九,知無漏出世智品所行共相。 + +#9 復次,即於如是十二處中,能遍了知共相清淨因相 ,是名第十無顛倒道,能證所有不共佛法。 + +十者,(1字)彼清淨因相,體即道,證涅盤因也。 + +> 註:(知)彼清淨因相 + +#8 2 結 + +#9 如是四種觀察共相。 + +結釋可知。 + +#4 2 明住地後轉勝因 + +#5 復次,當知由八殊勝,於諸住地後後轉勝:一、意樂殊勝;二、心清淨殊勝;三、悲殊勝;四、波羅蜜多殊勝;五、成熟有情殊勝;六、見諸佛往趣承事、供養殊勝;七、生殊勝;八、神力殊勝。 + +二,明住地後轉勝因。 + +> 註:倫記:明由八殊勝,於諸住地,後後轉勝,此是通諸地之德也。 +​——此說CBETA作“明住地後轉地”;“复次当知至力殊胜”屬上——疑誤。​@ + +住地言,通目因果,雖本正明究竟瑜伽,顯後勝前,所以通言因位,無失。 + +#3 序品《佛地經論》《攝大乘論》 + +https://mubu.com/doc/104nTYrG-oT + +#3 3 辯眾功德 + +#4 1 明勝義諦 + +#5 1 先揔摽列 + +#6 復次,勝義諦有五種相: + +一、離名言相; + +二、無二相; + +三、超過尋思所行相; + +四、超過諸法一異性相; + +#7 五、遍一切一味相。 + +第三辯眾功德。本地分中,功德品處,雖揔略明,未援教證。故今引彼《深密經》中,七品文釋。 + +文即為七:一明勝義諦,二辯心意識,三彰一切法,四明無自性,五分別瑜伽,六如實大乘,七成所作事。 + +初中又二:先揔摽列,後依摽釋。此先摽列,而有五相。 + +#5 2 後依摽釋(勝義諦相) + +#6 1 合明初二(離名言相、無二相) + +#7 1 牒 + +#8 此勝義諦,離名言相及無二相, + +後依摽釋,文分為四:一合明初二,二辯超尋思,三辯過一異,四彰遍一味。 + +初中有二:先牒,後釋。此初,先牒初二相也。 + +#7 2 釋 + +#8 1 先摽說處 + +#9 當知如《解深密經》中, + +後釋之中,文分為二:先摽說處,後引經釋。此初也。 + +此經前後,揔經四譯,准經目錄,今此所引,即當第四,大唐三藏玄奘法師所譯經也。 + +解猶釋也。深謂甚深。密者秘密。解彼深密,名解深密。 + +#8 2 後引經釋 + +#9 1 長行廣辯 + +#10 1 法說無二 + +#11 1 揔 + +#12 1 問 + +#13 如理請問菩薩問解甚深義密意菩薩言:「最勝子!言一切法無二。一切法無二者,何等一切法?云何為無二?」 + +後引經釋,文分為二:一長行廣辯,二以頌結成。初中有二:一法說無二,二舉喻以明。初中有二:先揔,後別。揔中復二:先問,後荅。此初問也。 + +此能問人,諸經名異。《解節經》云:如理正問。《深密經》云:善問菩薩。其所問人,名雖不同,義乃無異。 + +解謂能解、無礙智也。甚深等者,即是所解、境行等法。從其所解,以得其名,名解深等。 + +最勝子者,歎美之詞。佛為最勝,從勝所生,說名為子。《深密》、《解節》二經之中,俱名佛子。 + +言一切法無二者,言謂言說。佛於餘處,說一切法,云無二也。 + +云一切法無二者者,牒佛說也。 + +何等一切法等者,正興問也。問中有二:一問一切,二問無二。 + +#12 2 答 + +#13 1 先荅一切 + +#14 解甚深義密意菩薩告如理請問菩薩曰:「善男子!一切法者略有二種:一者、有為,二者、無為。 + +後荅,文二:先荅一切,後荅無二。 + +#15 此初一切,而有二種: + +一者有為,有所為作,依他起性; + +二者無為,無所施設,圓成性也。 + +#13 2 後荅無二 + +#14 是中,有為非有為、非無為,無為亦非無為、非有為。」 + +後荅無二。謂於依、圓二性之上,皆無遍計有為、無為二所執相,名為無二。故於有為、無為之中,皆言非有、非無為也。無二之義,雖有多門,今此且依有、無為門,而顯其體,彰餘亦尒。以諸不二,皆不越此有、無為故。 + +#11 2 別 + +#12 1 問 + +「最勝子!如何有為非有為,非無為;無為亦非無為,非有為?」 + +後別辯中,文分為二:先問,後荅。 + +#13 問中有二: + +#14 一問有為,既云有為,如何復言非是有為、非無為耶? + +言非無為,理即不爽; + +非有為者,自語相違及違教失。 + +二問無為,反前應悉。 + +#12 2 答 + +#13 1 釋有為 + +#14 1 辯二無 + +#15 1 正辯二無 + +#16 1 辯有為 + +#17 1 彰假施設 + +#18 「善男子!言有為者,乃是本師假施設句; + +後荅之中,文分為二:一釋有為,二辯無為。 + +初中有二:一辯二無,二釋外難。 + +初文復二:一正辯二無,二設遮非有。 + +初中又二:一辯有為,二例無為。 + +有為有二:一彰假施設,二辯假非為。 + +此彰有為,言假施設。言本師者,謂即佛也。言有為者,佛假設也。 + +#17 2 辯假非為 + +若是本師假施設句,即是遍計所集言辭所說; + +#18 若是遍計所集言辭所說,即是究竟種種遍計言辭所說,不成實故,非是有為。 + +二辯假非為,展轉相成,非有為也。 + +若本師等,牒前所說。 + +假施設句即是遍計所集言詞所說,釋前所說假句所由。辯異生等,執為實有,即遣所執,云非有為。謂即於佛所說之法,有異生等,遍計所集言詞所說,名為遍計。非佛本句,名為遍計。故《深密經》云:言有為者,唯是如來名字說法。《解節經》云:此是大師正教言也。 + +> 註:辯異生等,執為實有?@ + +又言若等,亦牒前也。即是已下,即後釋也。言究竟者,顯決定義。 + +此揔意云:佛言有為,既是假設,異生所執,亦非成實。故揔說言:遍計有為,皆非是有。 + +#16 2 例無為 + +#17 善男子!言無為者,亦墮言辭。 + +二例無為。 + +#15 2 設遮非有 + +#16 設離有為、無為,少有所說,其相亦爾。 + +二設遮非有。設離二外,更立第三,非有、無為,同犢子部,而立有我,非是有為及無為者,體亦非有。故《唯識》云:又既不可說有為、無為,亦應不可說是我、非我。 + +#14 2 釋外難 + +然非無事而有所說。 + +何等為事? + +#15 謂諸聖者以聖智聖見,離名言故,現等正覺,即於如是離言法性,為欲令他現等覺故,假立名想,謂之有為。 + +二釋外難,具標、徵、釋。 + +#16 謂外難云:若非有為及無為者,便無有事,如何說言有、無為耶? + +故先標言:然非無事; + +次徵意云:既言有事,事何等耶? + +故後釋云:謂諸聖者,聖智證見離言法性,是名為事。為欲令他現等覺故,假立名句,說之有為。理實法中,非是有為、非不有為。 + +#13 2 辯無為 + +#14 1 明二相無 + +#15 1 先釋無為 + +#16 善男子!言無為者,亦是本師假施設句;若是本師假施設句,即是遍計所集言辭所說;若是遍計所集言辭所說,即是究竟種種遍計言辭所說,不成實故,非是無為。 + +二辯無為,文分為二:一明二相無,二釋外伏難。 + +初中復二:先釋無為,後例有為。 + +#15 2 後例有為 + +#16 善男子!言有為者,亦墮言辭。 + +有為、無為,體皆非有,何以然者?以計所執,皆無體故。 + +> 註:此下似乎缺乏科判:設遮非有,同前“釋有為”? + +設離無為、有為,少有所說,其相亦爾。 + +#14 2 釋外伏難 + +然非無事而有所說。 + +何等為事? + +#15 謂諸聖者,以聖智聖見,離名言故,現等正覺,即於如是離言法性,為欲令他現等覺故,假立名想,謂之無為。」 + +二釋外伏難,具標、徵、釋,理同於前。 + +但離言中,證見成實。不同前文,見依他故。 + +#10 2 舉喻以明 + +#11 1 先牒前問 + +#12 「最勝子!如何此事,彼諸聖者,以聖智聖見,離名言故,現等正覺,即於如是離言法性,為欲令他現等覺故,假立名想,或謂有為,或謂無為?」 + +二舉喻明,文分為二:先牒前問,後舉喻明。 + +此即牒前,釋外難詞,以為問也。 + +#11 2 後舉喻明 + +#12 1 喻 + +#13 1 幻生虛假喻 + +#14 1 辯幻師 + +#15 「善男子!如善幻師,或彼弟子, + +後舉喻明,文分三分,謂喻、合、結。喻中有三:一幻生虛假喻,二愚人執實喻,三慧知虛妄喻。初中有四:一辯幻師,二起幻處,三幻所依,四所幻事。 + +此初有二:一者幻師,二幻弟子。 + +#16 幻者惑也,能為幻惑,名為幻師。幻師有三: + +#17 一,能起幻事,名曰幻師。於中有三: + +一喻善惡業,引果勝故,名幻師也; + +二喻煩惱引生趣果; + +三喻菩薩得定自在,能變化物,以施有情。 + +二,幻化之主,名曰幻師。喻其識體,名幻師也。以有漏識,是諸幻本,住幻事中,攝諸幻故。 + +> 註:四識住,通說惑、業、苦之五取蕴,有漏因果如幻師、弟子。此中略不說第三之菩薩喻。 + +三,善達幻法,名曰幻師。喻諸菩薩,名幻師也。謂能知幻,無迷亂故。 + +#16 今言幻師,當前二義。前二義中, + +初義:思業,菩薩名師;所發身語,菩薩之資,名為弟子。根本煩惱,名之曰師;隨煩惱等,名為資也。 + +次義:以識而名為師,心所為弟子。 + +#14 2 起幻處 + +#15 住四衢道, + +#16 二起幻處。 + +八十四中,喻四識住。 + +《雜阿含經》,類四念處。 + +《增一經》中,喻四諦理。 + +今此通喻,理亦無傷。 + +問:彼幻云何依四衢起? + +#16 荅: + +四諦,念住所觀四境,是所迷處。因之識等,熏種生現,名為起處。 + +又四識住,識為其本。由斯四道,故得起名。 + +#14 3 幻所依 + +#15 積集瓦礫、草木等, + +三幻所依。謂即種子積集所生。喻幻所依,瓦礫等也。以現必依種方起故。 + +> 註:瓦礫草木是種子。 + +#14 4 所幻事 + +現作種種幻化事業, + +#15 所謂象身、馬身、車身、步身、末尼、真珠、琉璃、螺貝、璧玉、珊瑚、種種財穀庫藏等身, + +四所幻事,文中有二:先揔,後別。 + +所謂為下,明別幻事。所喻之法,通情、非情。能喻還以情、非情喻。 + +#13 2 愚人執實喻 + +#14 1 辯能執人 + +若諸眾生愚癡、頑鈍,惡慧種類,無所曉知, + +二愚人執實,喻文分為五:一辯能執人,二明所迷境,三彰起執因,四因執起說,五辯重觀察。 + +此能執人,無了知也。愚癡頑鈍,諸凡夫也。三慧未生,故多頑鈍。 + +#14 2 明所迷境 + +#15 於瓦礫、草、葉、木等上,諸幻化事, + +二明所迷境。不了依他,執為實有。 + +#14 3 彰起執因 + +見已、聞已,作如是念:『此所見者,實有象身,實有馬身、車身、步身、末尼、真珠、琉璃、螺貝、璧玉、珊瑚、種種財穀庫藏等身。』 + +#15 如其所見,如其所聞,堅固執著, + +#16 三彰起執因。喻起分別法我執也。 + +見已之言,喻邪分別。 + +聞已,喻彼因邪教生。 + +故《唯識》云:要待邪教及邪分別,後方起故。 + +#14 4 因執起說 + +#15 隨起言說:『唯此諦實,餘皆愚妄。』 + +四因執起說。 + +#14 5 辯重觀察 + +#15 彼於後時應更觀察。 + +五辯重觀察。顯前解謬。畢竟須依真正教理,捨妄依他,取真實也。 + +#13 3 慧知虛妄喻 + +#14 1 辯能了人 + +#15 「若有眾生非愚非鈍、善慧種類,有所曉知, + +三慧知虛妄,喻文分為五: + +一辯能了人,喻入見道,得善慧者,而能曉知:依他起身,皆如幻化,非真實有。 + +#14 2 明所了境 + +#15 於瓦礫、草、葉、木等上,諸幻化事, + +二明所了境,有為、無為。 + +#14 3 辯知虛妄 + +#15 1 先知遍计 + +見已、聞已,作如是念: + +#16 『此所見者,無實象身,無實馬身、車身、步身、末尼、真珠、琉璃、螺貝、璧玉、珊瑚、種種財穀庫藏等身, + +三辯知虛妄,文分為二:先知遍計,後了依他。 + +此了遍計,無實象等。 + +#15 2 後了依他 + +#16 然有幻狀迷惑眼事,於中發起大象身想,或大象身差別之想,乃至發起種種財穀庫藏等想,或彼種類差別之想。』 + +後了依他,幻體是有,此幻狀體,因緣和合,非全無故。 + +#14 4 明離妄說 + +#15 1 辯無妄談 + +#16 不如所見,不如所聞,堅固執著,隨起言說:『唯此諦實,餘皆愚妄。』 + +四明離妄說,文分為二:一辯無妄談,二彰有真說。 + +此無妄談,顯異於愚妄談說也。 + +#15 2 彰有真說 + +#16 為欲表知如是義故,亦於此中隨起言說。 + +二彰有真說,為欲令他表知如前幻事不實,故起言說,說彼非真。稱法體故,名為真說。 + +#14 5 不重觀定 + +#15 彼於後時不須觀察。 + +五不重觀定,知前事非真實故。 + +「如是,若有眾生是愚夫類,是異生類,未得諸聖出世間慧,於一切法離言法性不能了知。 + +#12 2 合 + +#13 1 愚人執實合 + +#14 1 合迷人愚夫類 + +#15 「如是,若有眾生是愚夫類,是異生類,未得諸聖出世間慧,於一切法離言法性不能了知。 + +次合說中,文分為二:一愚人執實合,二慧知虛妄合。 + +#16 初中有五:一合迷人愚夫類者,合前愚鈍諸凡夫也。 + +異生類者,合前惡慧諸外道也,雖有所修,未登聖智,名異生故。 + +於一切等,而合於前,無所曉知、不能曉知離言性有,帶言說者,而即無故。 + +#14 2 合瓦等 + +#15 彼於一切有為、無為。 + +二合瓦等。所迷之境。 + +#14 3 合起執 + +#15 見已聞已,作如是念:『此所得者,決定實有有為、無為。』 + +三合起執。 + +#14 4 合因執 + +#15 如其所見,如其所聞,堅固執著,隨起言說:『唯此諦實,餘皆癡妄。』 + +四合因執,而起妄說。 + +#14 5 合重觀 + +#15 彼於彼時應更觀察。 + +五合重觀。顯前解謬。 + +#13 2 慧知虛妄合 + +#14 1 合知妄 + +#15 「若有眾生非愚夫類,已見聖諦,已得諸聖出世間慧,於一切法離言法性如實了知。 + +二慧知虛妄合,文亦分五: + +一合知妄,善慧人也。反前執實,應知其相。 + +#14 2 合所達境 + +#15 彼於一切有為、無為。 + +二合所達境。 + +#14 3 合知虛妄 + +#15 1 先知遍計 + +#16 彼於一切有為、無為,見已、聞已,作如是念:『此所得者,決定無實有為、無為, + +三合知虛妄,妄亦有二:先知遍計,然有分下,後達依他。 + +#15 2 後達依他 + +#16 然有分別所起行相,猶如幻事迷惑覺慧,於中發起為、無為想,或為、無為差別之想。』 + +言分別者,識自證分所起行相,即是見分,於境相中,而起行解,故名行相,皆是依他。於此執實,有為、無為,方名遍計。 + +故《唯識》云:變謂識體轉似二分,相、見俱依自證起故,依斯二分施設我、法,彼二離此,無所依故。 + +#14 4 合離妄說 + +#15 1 無妄說 + +#16 不如所見,不如所聞,堅固執著,隨起言說:『唯此諦實,餘皆癡妄。』 + +四合離妄說,文中有二:一無妄說;二為欲下,合有真說。 + +#15 2 有真說 + +為欲表知如是義故,亦於此中隨起言說。 + +#14 5 合不重觀 + +#15 彼於後時不須觀察。 + +五合不重觀。以顯前解,定無虛謬。 + +#12 3 結 + +#13 「如是,善男子!彼諸聖者於此事中,以聖智聖見離名言故,現等正覺,即於如是離言法性,為欲令他現等覺故,假立名想,謂之有為,謂之無為。」 + +三揔結之。意可知也。 + +#9 2 以頌結成 + +#10 1 標 + +#11 爾時,解甚深義密意菩薩欲重宣此義,而說頌曰: + +二以頌結成,文分為二:先摽,後舉。此初也。 + +#12 言重頌者,重有其四: + +一者文重而義不重,如一瞿聲目九義等; + +二者義重而文不重,如說帝釋有千名等; + +三者文義二俱不重,言人天等; + +四者文義二俱是重,如次頌結,重頌前義。今當第四,說名為重。 + +#12 而言頌者,舊譯云偈,蓋外國言而訛略也。若于闐音云偈陁也,若天笁云伽他。此揔唐音云應頌也。 + +問:何因頌置此應頌耶? + +#13 荅:有六意: + +一為聽眾散亂異緣,忘失前義,欲令更得。 + +二為後來不及聞者,令得聞故。 + +三為易受及易持故,說經及偈。說偈無經,理約難受;說經無偈,文散難持。 + +四為利益二種人故,具說經偈:一為鈍根,廣說經義,若不廣說,不能解故;二為利根,但略說偈。 + +五眾樂有二:一者樂說,慈悲多故;二者樂行,心寂靜故。為利人別,故說經偈。 + +六顯說人最為善巧,廣而能略,略而能廣,故說經偈。 + +#10 2 舉 + +#11 1 牒前讚歎,舉非顯是 + +#12 佛說離言、無二義、甚深,非愚之所行, + +後舉頌文,揔有八句,分之為二:初有兩句,牒前讚歎,舉非顯是;後之六句,明非者失。 + +初文有二:上之九字,牒前讚嘆;下之五字,舉非顯是。 + +言離言者,牒五門中,初離言相。 + +言無二者,牒五門中,二無二相。無二相者,理如前說。有、無為中,皆無有為、無為相。 + +言非愚等,舉非愚境,反顯而是諸聖所行。故長行云:諸聖智見、離名言等。 + +#11 2 明非者失 + +#12 1 生戲論失 + +#13 愚夫於此癡所惑,樂著二依、言戲論。 + +後之六句,明非者失。失中有三:一有兩句,生戲論失;二有兩句,釋流轉失;三有兩句,生惡趣失。此初失也。 + +言於此者,此前離言、無二義也。 + +著二依者,有、無為也。言戲論者,即言說也。故長行云:彼於一切有為、無為,所見、所聞,堅固執著,隨起言說。故重頌也。 + +#12 2 釋流轉失 + +#13 彼或不定或邪定,流轉極長生死苦, + +二有兩句,釋流轉失。 + +於中文二:初句示前,能執類別;後句示前,樂著等果。 + +由聚不定及邪定故,流轉五趣,生死等苦。不定聚等,即前愚夫,迷執等也。 + +#12 3 生惡趣失 + +#13 復違如是正智論,當生牛羊等類中。 + +三有兩句,生𢙣趣失。 + +復由違於正智論故,故生𢙣趣,牛等類中,不能分別。 + +> 註:瑜伽師地論義演卷第三十 + +2 辯超尋思(闕) + +> 註:此處所闕為宋藏遺珍:瑜伽師地論義演卷第三十一(上闕三紙二十三行​ @) + +3 辯過一異(闕) + +#6 4 彰遍一味(殘) + +【原經卷殘缺一版】 + +> 註:此處闕文為“復次,勝義諦遍一切一味相,當知如《解深密經》中,……” http://cbetaonline.cn/zh/A1561_031 +宋藏遺珍:上闕三紙二十三行​ @ + +▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆。 + +三結▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆不達,況外申問。此即初也。 + +#7 1 初善現問 + +#8 是故世尊甚奇!乃至世尊善說;如世尊言:勝義諦相、微細最微細,甚深最甚深,難通達極難通達,遍一切一味相。世尊!此聖教中修行苾芻、於勝義諦遍一切一味相、尚難通達;況諸外道。 + +後因內不達,況外申問。文中有二:初善現問,後如來荅。此初也。 + +#7 2 後如來荅 + +#8 1 答 + +#9 爾時世尊告長老善現曰:如是如是。善現!我於微細最微細、甚深最甚深、難通達最難通達,遍一切一味相勝義諦、現正等覺;現等覺已,為他宣說、顯示、開解、施設照了。 + +後如來荅中,文分為三:一荅,二徵,三釋。此初也。 + +> 註:“後如”後有文字:瑜伽師地論義演卷第三十一 第五張 素字號 + +#8 2 徵 + +#9 何以故? + +二徵也。 + +#8 3 釋 + +#9 1 第一復次 + +#10 1 正釋 + +#11 善現!我已顯示於一切蘊中,清淨所緣,是勝義諦;我已顯示於一切處、緣起、食、諦、界、念住、正斷、神足、根、力、覺支、道支中,清淨所緣,是勝義諦。此清淨所緣、於一切蘊中,是一味相,無別異相。如於蘊中,如是於一切處中、乃至一切道支中,是一味相,無別異相。 + +第三釋中,有三復次。初中分二:初正釋,後結成。此初也。 + +此明勝義諦,即是蘊、處、界、緣起、食、諦、三十七品,一味真如相,無別異相。 + +下一味言,亦准此釋。 + +#10 2 結成 + +#11 是故善現!由此道理,當知勝義諦是遍一切一味相。 + +後結成前義。 + +#9 2 第二復次 + +#10 1 初正釋 + +#11 復次善現!修觀行苾芻,通達一蘊真如勝義法無我性已;更不尋求各別餘蘊、諸處、緣起、食、諦、界、念住、正斷、神足、根、力、覺支、道支,真如勝義法無我性。唯即隨此真如勝義無二智為依止故,於遍一切一味相勝義諦,審察趣證。 + +第二復次,文分為二:初正釋,後結成。此初也。 + +#10 2 後結成 + +#11 是故善現!由此道理,當知勝義諦是遍一切一味相。 + +後結成前義。 + +#9 3 第三復次 + +#10 1 初正釋 + +復次善現!如彼諸蘊展轉異相,如彼諸處、緣起、食、諦、界、念住、正斷、神足、根、力、覺支、道支展轉異相,若一切法真如勝義法無我性亦異相者,是則真如勝義法無我性,亦應有因,從因所生。若從因生,應是有為;若是有為,應非勝義;若非勝義,應更尋求餘勝義諦。 + +#11 善現!由此真如勝義法無我性,不名有因,非因所生,亦非有為,是勝義諦,得此勝義、更不尋求餘勝義諦,唯有常常時、恒恒時,如來出世若不出世,諸法法性安立、法界安住。 + +第三復次,文分為二:初正釋,後結成。此初也。 + +#10 2 後結成 + +#11 是故善現!由此道理,當知勝義諦是遍一切一味相。 + +後結成前義。 + +#7 舉喻以明 + +#8 1 喻 + +#9 善現!譬如種種非一品類異相色中,虛空無相、無分別、無變異、遍一切一味相,如是異性異相, + +後舉喻以明,文中有二:先喻,後合。此初也。 + +猶如虛空,遍諸色類,喻彼真如,通諸法類也。 + +#8 2 合 + +#9 一切法中,勝義諦遍一切一味相、當知亦然。 + +後合可知。 + +#7 以頌結成 + +爾時世尊欲重宣此義、而說頌曰: + +此遍一切一味相,勝義、諸佛說無異。 + +#8 若有於中異分別;彼定愚癡,依上慢。 + +後以頌結成,文意可解。 + +#4 2 辯心意識 + +#5 1 標 + +#6 復次心意識相, + +> 論卷第七十六 攝決擇分中菩薩地之五 + +第二辯心意識,文中分二:初標,後釋。此初也。 + +#5 2 釋 + +#6 1 先標說處 + +#7 當知如《解深密經》中, + +後釋中分二:先標說處,後引經釋。此初也。 + +#6 2 後引經釋 + +#7 1 長行廣辯 + +#8 1 問 + +廣慧菩薩請問佛言:如世尊說:於心意識祕密善巧菩薩。 + +於心意識祕密善巧菩薩者:齊何名為於心意識祕密善巧菩薩? + +#9 如來齊何施設彼為於心意識祕密善巧菩薩?說是語已, + +後引經釋,文分為二:初長行廣辯,後以頌結成。初中分二:初問,後荅。 + +此初,問意:如世尊說乃至於心意識秘密善巧菩薩者,齊何位次得名為於心意識秘密善巧菩薩?如來齊何位次施設建立彼為於心意識秘密善巧菩薩? + +#8 2 答 + +#9 1 讚問許說 + +爾時世尊告廣慧菩薩曰:善哉!善哉!廣慧!汝今乃能請問如來如是深義,汝今為欲利益安樂無量眾生,哀愍世間、及諸天人阿素洛等,為令獲得義利安樂,故發斯問。 + +汝應諦聽! + +#10 吾當為汝說心意識祕密義。 + +後荅之中,文分為二:初讚問許說,後依義辯明。此初也。 + +#9 2 依義辯明 + +#10 1 彰其法說 + +#11 1 依阿陁那,解釋其義 + +廣慧當知,於六趣生死彼彼有情,墮彼彼有情眾中,或在卵生、或在胎生、或在濕生、或在化生,身分生起,於中最初,一切種子心識成熟、展轉和合增長廣大。 + +#12 依二執受:一者,有色諸根及所依執受,二者,相、名、分別,言說戲論習氣執受。有色界中,具二執受;無色界中,不具二種。 + +後依義辯明,文中分三:一彰其法說,二舉喻以明,三正荅前問。初中有三:一依阿陁那,解釋其義。二依阿陁那,通異名妨:三依阿陁那,建立六識。此初也。 + +> 註:“初中有三:一”後有文字:瑜伽師地論義演卷第三十一 第六張 素字號 + +梵云阿陁那,此云執持,亦云執受。 + +若望種子,即名執持。令種不失,無覺受故。 + +> 註:令種不失,無覺受故?@ + +色根依處,名為執受,令根不壞,生覺受故。 + +論據通言,揔云執受,亦不違也。 + +#11 2 依阿陁那,通異名妨 + +復次廣慧!此識亦名阿陀那識,何以故?由此識於身,隨逐執持故。 + +亦名阿賴耶識,何以故?由此識於身,攝受藏隱,同安危義故。 + +#12 亦名為心,何以故?由此識,色聲香味觸等,積集、滋長故。 + +二、依阿陁那通,異名妨。 + +問:此第八識,但名阿賴耶,如何亦名阿陁那識,及名心耶? + +論主通云:此識亦名阿陁那識。 + +其三種識中,各有標、徵、釋也。 + +#13 梵云阿賴耶識,唐言藏識,識能含藏,(1字)法種故。 + +> 註:(諸)法種故。 + +又此賴耶,具三藏義:能藏、所藏、執藏義故。 + +與雜染法,㸦為緣故。 + +有情執為自內我故。 + +梵云質多,此名心也。《攝論》第一云:由種種法,積集種子等,即積集義是心義,集起義是心義,以能集生多種子故。或能熏種,於此識中,既積集已,後起諸法,故說此識名為心義。 + +此中雖舉三名,而宗辯阿陁那識,故《論》但標阿陁那識為其依止,建立六識。故後頌中,亦但標其阿陁那識,意同此也。 + +#11 3 依阿陁那建立六識 + +#12 1 初明諸識,意識俱轉 + +#13 復次廣慧!阿陀那識為依止、為建立故,六識身轉;謂眼識,耳、鼻、舌、身、意識。此中有識,眼及色為緣生眼識;與眼識俱隨行、同時同境有分別意識轉。有識,耳、鼻、舌、身及聲、香、味、觸為緣生耳、鼻、舌、身識;與耳、鼻、舌、身識俱隨行、同時同境有分別意識轉。 + +三、依阿陁那建立六識。文分為二:初明諸識,意識俱轉;後辯諸識,意俱唯一。此初也。 + +此中有識者,眼及色等,有能執受阿陁那識,故云有識。 + +#12 2 後辯諸識,意俱、唯一 + +廣慧!若於爾時一眼識轉;即於此時,唯有一分別意識、與眼識同所行轉。 + +#13 若於爾時二、三、四、五諸識身轉;即於此時,唯有一分別意識、與五識身同所行轉。 + +後辯諸識意俱、唯(1字)。 + +> 註:CBETA漏字,應作:後辯諸識意俱、唯(一)。 + +#10 2 舉喻以明 + +#11 1 舉喻 + +廣慧!譬如大暴水流,若有一浪生緣現前,唯一浪轉;若二、若多浪生緣現前,有多浪轉。然此暴水自類恒流無斷無盡。 + +#12 又如善淨鏡面,若有一影生緣現前,唯一影起;若二、若多影生緣現前,有多影起。非此鏡面轉變為影,亦無受用滅盡可得。 + +二、舉喻以明,文中有二:初舉喻,後法合。此初也。 + +#11 2 法合 + +#12 如是廣慧!由似暴流,阿陀那識為依止、為建立故,若於爾時,有一眼識生緣現前,即於此時一眼識轉;若於爾時,乃至有五識身生緣現前,即於此時五識身轉。 + +後合。 + +#10 3 正荅前問 + +#11 1 正釋 + +廣慧!如是菩薩,雖由法住智為依止、為建立故,於心意識祕密善巧,然諸如來、不齊於此施設彼為於心意識一切祕密善巧菩薩。 + +廣慧!若諸菩薩於內各別、如實不見阿陀那,不見阿陀那識; + +不見阿賴耶,不見阿賴耶識; + +不見積集,不見心; + +不見眼色及眼識,不見耳聲及耳識,不見鼻香及鼻識,不見舌味及舌識,不見身觸及身識,不見意法及意識, + +#12 是名勝義善巧菩薩。如來施設彼為勝義善巧菩薩。 + +三、正荅前問,文中分二:初正釋,後結成。此初也。 + +若諸菩薩於內各別,如實不見阿陁那者,不見用也。不見阿陁那識者,不見體也。餘句例然。 + +即證真如時,不見諸法,是名勝義善巧菩薩。 + +#11 2 結成 + +#12 廣慧!齊此名為於心意識一切祕密善巧菩薩;如來齊此施設於心意識一切祕密善巧菩薩。 + +後結成。 + +#7 2 以頌結成 + +爾時世尊欲重宣此義、而說頌曰: + +阿陀那識甚深細,一切種子如暴流。 + +#8 我於凡愚不開演,恐彼分別執為我。 + +後以頌結成。准《唯識論》,解此頌云:以能執持諸法種子,及能執受色根依處,亦能執取結生相續,故說此識名阿陁那。 + +無姓有情,不能窮底,故說甚深;趣寂種姓,不能通達,故名甚細。是一切法真實種子,緣擊便生轉識波浪,恒無間斷,猶如暴流,凡即無姓,愚即趣寂。恐彼於此,起分別執,墮諸惡趣,障生聖道。故我世尊,不為開演。 + +頌中從本為論,故不言意、識二也。 + +> 註:故不言前七轉識也。 + +#4 3 彰一切法 + +#5 1 標 + +#6 復次,一切法相, + +第三、彰一切法,文中分二:初標,後釋。此初也。 + +#5 2 釋 + +#6 1 先標說處 + +#7 當知如《解深密經》中, + +後釋中分二:先標說處,後引經釋。此初也。 + +#6 2 後引經釋 + +#7 1 長行廣辯 + +#8 1 問 + +#9 德本菩薩請問佛言:世尊!如世尊說:於諸法相善巧菩薩、於諸法相善巧菩薩者, + +齊何名為於諸法相善巧菩薩? + +#10 如來齊何施設彼為於諸法相善巧菩薩?說是語已, + +後引經釋,文分為二:初長行廣辯,後以頌結成。初中分二:初問,後荅。此初問也。 + +#8 2 答 + +#9 1 讚問許說 + +#10 爾時世尊告德本菩薩曰:善哉!善哉!德本!汝今乃能請問如來如是深義。汝今為欲利益安樂無量眾生、哀愍世間及諸天人阿素洛等,為令獲得義利安樂,故發斯問。汝應諦聽!吾當為汝說諸法相。 + +後荅之中,文分為二:讚問許說,後依義辯明。此初也。 + +#9 2 依義辯明 + +#10 1 以六復次,明三性法 + +#11 1 標 + +#12 謂諸法相,略有三種。 + +後依義辯明。文中分二:初以六復次明三性法;後結𤗊後;三、正荅前問。初中有四:一、摽;二、徵;三、列;四、釋。此初,標也。 + +#11 2 徵 + +#12 何等為三? + +二,徵也。 + +#11 3 列 + +#12 一者、遍計所執相,二者、依他起相,三者、圓成實相。 + +三,列也。 + +#11 4 釋 + +#12 1 第一復次 + +> 註:義演本闕此“第一復次”科,根據“以六復次”以及倫記補入。 + +#13 1 明遍計 + +#14 云何諸法遍計所執相? + +四釋之中,文分為三:一、明遍計;二、明依他;三、明圓成。初中有二:初徵,後釋。此初徵也。 + +#14 謂一切法,名假安立,自性差別,乃至為令隨起言說。 + +後釋可知。 + +#13 2 明依他 + +#14 云何諸法依他起相? + +二、明依他,文復分二:初徵,後釋。此初徵也。 + +#14 謂一切法緣生自性,則此有、故彼有;此生、故彼生,謂無明緣行,乃至招集純大苦蘊。 + +後釋也。 + +#13 3 明圓成 + +#14 云何諸法,圓成實相? + +三、明圓成,文亦分二:初徵,後釋。此初徵也。 + +#14 謂一切法平等真如。於此真如,諸菩薩眾勇猛精進,為因緣故;如理作意無倒思惟,為因緣故,乃能通達。於此通達漸漸修集,乃至無上正等菩提、方證圓滿。 + +後釋也。 + +#12 2 第二復次 + +#13 1 明遍計 + +#14 復次德本!如眩瞖人,眼中所有眩瞖過患,遍計所執相,當知亦爾。 + +第二復次,文中分三:一、明遍計;二、明依他;三、明圓成。此初,分二:初喻,後合。如文可知。 + +問:眩翳是因緣法,正是依他,云何喻遍計所執耶? + +荅:舉能起眩翳,依他之法,顯所起毛輪,喻遍計所執。約返顯說,理亦無違。 + +#13 2 明依他 + +#14 如眩瞖人,眩瞖眾相,或髮毛輪、蜂蠅苣蕂,或復青黃赤白等相,差別現前,依他起相,當知亦爾。 + +二、明依他,文中分二:初喻,後合。 + +此所起毛輪遍計之法,顯能起眩翳,喻依他起性。餘如前說。 + +#13 3 明圓成 + +#14 如淨眼人,遠離眼中眩瞖過患,即此淨眼本性所行無亂境界,圓成實相、當知亦爾。 + +三、明圓成,文亦分二:初喻,後(1字)。 + +> 註:初喻,後(合)。 + +如淨眼人,見法本性,喻根本智,證圓成實。 + +#12 3 第三復次 + +#13 1 明遍計 + +復次德本!譬如清淨頗胝迦寶,若與青染色合,則似帝青、大青末尼寶像。由邪執取帝青、大青末尼寶故,惑亂有情。若與赤染色合,則似虎珀末尼寶像;由邪執取虎珀末尼寶故,惑亂有情。若與綠染色合,則似末羅羯多末尼寶像;由邪執取末羅羯多末尼寶故,惑亂有情。若與黃染色合,則似金像;由邪執取真金像故,惑亂有情。 + +如是德本! + +如彼清淨頗胝迦上,所有染色相應,依他起相上,遍計所執相言說習氣,當知亦爾。 + +#14 如彼清淨頗胝迦上,所有帝青、大青、虎珀、末羅羯多、金等邪執,依他起相上,遍計所執相執,當知亦爾。 + +第三復次,文中有三:一、明遍計;二、明依他;三、明圓成。初中文二:初喻,後合。 + +頗胝迦者,三藏云:此處無名可飜,似水精白珠,無定色。與四色合,即似四色影像,惑亂有情,邪心執實。 + +#15 帝青、大青末𡰱寶像者。 + +梵云因陁羅,此云帝釋也。此即帝釋青摩𡰱珠,西方有青珠色,似帝釋青珠,故遂以名也。此是青中淺青色。 + +梵云摩何尼羅,此云大青,即是紺青色。 + +末𡰱者,梵語,即珠之通名。 + +末羅羯多者,此間無名可飜。 + +如彼清淨頗胝迦,乃至習氣當知亦尒者,此合能執習氣,所執為遍計也。 + +#13 2 明依他 + +#14 如彼清淨頗胝迦寶,依他起相,當知亦爾。 + +二、明依他。文中有二:初喻,後合。即以頗胝迦寶合依他也。 + +#13 3 明圓成 + +#14 如彼清淨頗胝迦上,所有帝青、大青、虎珀、末羅羯多、真金等相,於常常時於恒恒時、無有真實、無自性性;即依他起相上,由遍計所執相,於常常時於恒恒時、無有真實、無自性性,圓成實相,當知亦爾。 + +三、明圓成,文亦有二:初喻,後合。文易可解。 + +#12 4 第四復次 + +#13 1 明遍計 + +#14 復次德本!相、名相應、以為緣故,遍計所執相,而可了知。 + +第四復次,文中分三:一、明遍計;二、明依他;三、明圓成。此初也。 + +由計相、名,所詮、能詮,定相屬著,以為緣故,即遍計所執相而可了知。 + +#13 2 明依他 + +#14 依他起相上遍計所執相執,以為緣故,依他起相,而可了知。 + +二、明依他。由能遍計所執相執以為緣故,即依他起相而可了知。 + +#13 3 明圓成 + +#14 依他起相上遍計所執相無執,以為緣故,圓成實相,而可了知。 + +三、明圓成,由依他上遍計所執相,無執,以為緣故,即圓成實相而可了知。 + +#12 4 第五復次 + +#13 1 明遍計 + +#14 復次德本!若諸菩薩能於諸法依他起相上、如實了知遍計所執相,即能如實了知一切無相之法。 + +第五復次,文分為三:一、明遍計;二、明依他;三、明圓成。此初也。 + +#13 2 明依他 + +#14 若諸菩薩如實了知依他起相,即能如實了知一切雜染相法。 + +二、明依他。 + +#13 3 明圓成 + +#14 若諸菩薩如實了知圓成實相,即能如實了知一切清淨相法。 + +三明圓成。明知三性勝利,了知圓成,即能了知一切清淨相法。 + +#12 5 第六復次 + +#13 復次德本!若諸菩薩能於依他起相上如實了知無相之法,即能斷滅雜染相法。若能斷滅雜染相法,即能證得清淨相法。 + +第六復次,明遍計、依他、圓成三性,如次此明斷證勝利。若能於依他上,了知無相故,即能斷染及證於淨。 + +#10 2 後結𤗊後,正荅前問 + +#11 如是德本!由諸菩薩如實了知遍計所執相、依他起相、圓成實相故,如實了知諸無相法、雜染相法、清淨相法。 + +如實了知無相法故,斷滅一切雜染相法。 + +斷滅一切雜染相法故,證得一切清淨相法。 + +#11 齊此名為於諸法相善巧菩薩,如來齊此施設彼為於諸法相善巧菩薩。 + +後結牒後,三正荅前問。 + +此中結文,但𤗊後三,復次荅前所問,逐義便故。或文略故,不𤗊前三。 + +#7 2 以頌結成 + +爾時世尊欲重宣此義、而說頌曰: + +1若不了知無相法,雜染相法不能斷。 + +不斷雜染相法故,壞證微妙淨相法。 + +2不觀諸行眾過失,放逸過失害眾生。 + +#8 懈怠,住法、動法中,無、有,失壞,可懷愍。 + +後以頌結成。頌中初一頌結,後二復次,意令了遍計無,斷依他染,證圓成淨,不尒成過。 + +後一頌上半,若觀諸行,預防眾過,始得無咎;不尒,便成損害有情。 + +下半頌言懈怠者,正障精進,不能修定。住法者是禪定,動法者是散亂。無者,無其禪定,有者,有其散亂。失壞者,失壞善法。由懈怠故,無上住法,禪定;有上動法,散亂。失壞善法,沉墮惡道。智者傷哉,可怜愍矣! + +#4 4 明無自性 + +#5 1 標 + +#6 復次,諸法無自性相, + +第四、明無自性。文分為二:初摽,後釋。此初也。 + +#5 2 釋 + +#6 1 先標說處 + +#7 當知如《解深密經》中, + +演曰:後釋中分二:先標說處,後引經釋。此初也。 + +#6 2 後引經釋 + +#7 1 問荅密意 + +#8 1 長行廣辯 + +#9 1 問 + +#10 勝義生菩薩白佛言:世尊!我曾獨在靜處、心生如是尋思: + +世尊以無量門、曾說諸蘊所有自相、生相、滅相、永斷、遍知。如說諸蘊,諸處、緣起、諸食亦爾。 + +以無量門、曾說諸諦所有自相、遍知、永斷、作證、修習。 + +> 註:四諦 + +以無量門、曾說諸界所有自相、種種界性、非一界性、永斷、遍知。 + +以無量門、曾說念住所有自相、能治所治,及以修習,未生令生、生已堅住不忘倍修增長廣大。如說念住,正斷、神足、根力、覺支、亦復如是。以無量門、曾說八支聖道所有自相、能治所治、及以修習未生令生、生已堅住不忘倍修增長廣大。 + +世尊復說一切諸法皆無自性、無生無滅、本來寂靜、自性涅槃。 + +未審世尊依何密意、作如是說:一切諸法皆無自性、無生無滅、本來寂靜、自性涅槃? + +#10 我今請問如來斯義,唯願如來哀愍解釋、說一切法皆無自性,無生無滅,本來寂靜,自性涅槃所有密意。說是語已, + +後引經釋,文分為五:一、問荅密意;二、領解讚嘆;三、辯教優劣;四、請立經名;五、時眾得益。初中分二:初長行廣辯,後以頌結成。初中復二:初問,後荅。 + +此初,問云:世尊以無量門曾說諸蘊所有自相、生相、滅相、永斷、遍知等。世尊後時復說一切諸法皆無自性,無生無滅,本來寂靜,自性涅盤。前後既乃相違,未審世尊依何密意作如是說?乃至所有密意。 + +#9 2 答 + +#10 1 讚問許說 + +爾時世尊告勝義生菩薩曰:善哉!善哉!勝義生!汝所尋思、甚為如理。善哉!善哉!善男子!汝今乃能請問如來如是深義,汝今為欲利益安樂無量眾生、哀愍世間及諸天人阿素洛等,為令獲得義利安樂、故發斯問。 + +汝應諦聽! + +#11 吾當為汝解釋所說一切諸法皆無自性無生無滅本來寂靜自性涅槃所有密意。 + +後荅之中,文分為二:初讚問許說,後依義辯明。此初也。 + +#10 2 依義辯明 + +#11 1 明諸法皆無自性 + +#12 1 明無自性 + +#13 1 彰其法說 + +#14 1 標 + +#15 勝義生!當知我依三種無自性性、密意說言一切諸法皆無自性, + +後依義辯明。文中分五:一、明諸法皆無自性;二、明立三無性因緣;三、明觀機說三無性;四、明秘密說一乘意;五、明密教有了不了。初中分二:初明無自性,後辯無生滅。初中分三:一、彰其法說;二、舉喻以明;三、結荅前問。初中有三:一、標;二、列;三、釋。此初,標也。 + +#14 2 列 + +#15 謂相無自性性、生無自性性、勝義無自性性。 + +二,列也。 + +#14 3 釋 + +#15 1 明相無自性性 + +善男子!1云何諸法相無自性性? + +所謂諸法遍計所執相。 + +何以故? + +此由假名、安立為相,非由自相、安立為相, + +#16 是故說名相無自性性。 + +三釋之中,文分為三:一、明相無自性性;二、明生無自性性;三、明勝義無自性性。初中有五:一、問;二、荅;三、徵;四、釋;五、結,次第如文。 + +#15 2 明生無自性性 + +#16 2云何諸法生無自性性?所謂諸法依他起相。何以故?此由依他緣力故有,非自然有,是故說名生無自性性。 + +二、明生無自性性。文亦分五:一、問;二、荅;三、徵;四、釋;五、結。 + +#15 3 明勝義無自性性 + +#16 1 初約依他,名勝義無自性性 + +#17 1 初正釋 + +3云何諸法勝義無自性性? + +#18 所謂諸法,由生無自性性故,說名無自性性; + +三、明勝義無自性性。文中分二:初約依他,名勝義無自性性;後依圓成,名勝義無自性性。初中分二:初正釋,後通妨。此初也。 + +問:生無自性即是緣生,如何得名勝義無性? + +舉論荅云: + +#17 2 後通妨 + +即緣生法,亦名勝義無自性性。 + +何以故? + +#18 於諸法中,若是清淨所緣境界,我顯示彼以為勝義無自性性。依他起相,非是清淨所緣境界,是故亦說名為勝義無自性性。 + +後通妨,文中分三:一、正荅;二、復徵;三、釋成。 + +#16 2 後依圓成,名勝義無自性性 + +#17 復有諸法圓成實相,亦名勝義無自性性。何以故?一切諸法,法無我性,名為勝義,亦得名為無自性性,以是諸法勝義諦故,無自性性之所顯故。由此因緣、名為勝義無自性性。 + +後依圓成,名勝義無自性性。文中分四:一、標;二、徵;三、釋;四、結。 + +一切諸法法無我性,名為勝義者,不以無我即為圓成實體,圓成實體乃是真如。然由無我門顯,故從能顯,說云無我,名為勝義真如是諸法勝義諦體,由無相性門之所顯,故說勝義名為無性。 + +#13 2 舉喻以明 + +#14 善男子!1譬如空華,相無自性性、當知亦爾。 + +二、舉喻以明。文分為三:一、喻相無自性性;二、喻生無自性性;三、喻勝義無自性性。初中分二:初喻,後合。 + +#14 2譬如幻像,生無自性性,當知亦爾;一分勝義無自性性、當知亦爾。 + +二、喻生無自性性。文中有二:初喻,後合。此中一分喻依他生無自性性,一分喻勝義生無自性性。 + +#14 3譬如虛空,唯是眾色無性所顯、遍一切處,一分勝義無自性性、當知亦爾,法無我性之所顯故;遍一切故。 + +三、喻勝義無自性性。文中有三:一、喻;二、合;三、結。 + +#13 3 結荅前問 + +#14 善男子!我依如是三種無自性性,密意說言一切諸法皆無自性。 + +三、結荅前問。 + +#12 2 辯無生滅 + +#13 1 初依遍計,明無生滅 + +#14 1 釋歸涅盤 + +勝義生!當知我依相無自性性,密意說言一切諸法、無生無滅,本來寂靜,自性涅槃。 + +何以故? + +#15 若法自相、都無所有,則無有生;若無有生,則無有滅;若無生無滅,則本來寂靜;若本來寂靜,則自性涅槃。於中都無少分所有,更可令其般涅槃故。 + +後辯無生滅,文中分二:初依遍計,明無生滅;後依圓成,明無生滅。初中分二:初釋歸涅盤,後結荅前問。初中分三:一、依相義解;二、徵其所以;三、釋成涅盤。 + +#14 2 結荅前問 + +#15 是故我依相無自性性,密意說言一切諸法無生無滅,本來寂靜,自性涅槃。 + +後結荅前問。 + +#12 2 後依圓成,明無生滅 + +#13 1 釋歸涅盤 + +善男子!我亦依法無我性所顯,勝義無自性性,密意說言一切諸法、無生無滅,本來寂靜,自性涅槃。 + +何以故? + +#14 法無我性所顯,勝義無自性性,於常常時、於恒恒時,諸法法性,安住無為,一切雜染不相應故。於常常時、於恒恒時,諸法法性安住故無為,由無為故,無生無滅;一切雜染不相應故、本來寂靜,自性涅槃。 + +後依圓成,明無生滅。文中分二:初釋歸涅盤,後結荅前問。初中分三:一、依義正解;二、徵其所以;三、釋成涅盤。 + +#13 2 結荅前問 + +#14 是故我依法無我性所顯勝義無自性性,密意說言一切諸法無生無滅,本來寂靜,自性涅槃。 + +後結荅前問。 + +#11 2 明立三無性因緣 + +#12 1 明建立三無性因 + +#13 復次勝義生!非由有情界中諸有情類,別觀遍計所執自性為自性故,亦非由彼別觀依他起自性、及圓成實自性為自性故,我立三種無自性性。然由有情於依他起自性及圓成實自性上,增益遍計所執自性故,我立三種無自性性。 + +二、明立三無性因緣。文中分三:一、明建立三無性因;二、明起執,皆由遍計;三、結成過,六趣無休。此初也。 + +#12 2 明起執,皆由遍計 + +由遍計所執自性相故,彼諸有情,於依他起自性及圓成實自性中,隨起言說。 + +#13 如如隨起言說, + +1如是如是由言說熏習心故, + +2或由言說隨覺故, + +3或由言說隨眠故, + +#14 於依他起自性及圓成實自性中,執著遍計所執自性相。 + +#15 二明起執,皆由遍計。 + +或由言說隨覺者,即是了別名言眾生,起遍計執。 + +或由言說隨眠者,即是不了名言眾生,如嬰兒等,任運分別熏種力故,亦起於執。 + +#12 3 結成過,六趣無休 + +如如執著,如是如是於依他起自性及圓成實自性上,執著遍計所執自性。 + +#13 由是因緣、生當來世依他起自性。由此因緣,或為煩惱雜染所染,或為業雜染所染,或為生雜染所染,於生死中、長時馳騁、長時流轉、無有休息;或在那落迦、或在傍生、或在餓鬼、或在天上、或在阿素洛、或在人中,受諸苦惱。 + +三結成過,六趣無休。 + +#11 3 明觀機說三無性 + +#12 1 唯說生無自性性法 + +#13 1 明所被之機 + +#14 復次勝義生!若諸有情,從本已來,1未種善根,2未清淨障,3未成熟相續,4未多修勝解,5未能積集福德智慧二種資糧; + +三、明觀機,說三無性。文中分二:初唯說生無自性性法,後通說餘二無自性法。初中分三:一、明所被之機;二、明能被之教;三、明聞法得益。此初也。 + +所被機者,從未種善根乃至未集福慧二種資粮人也。 + +#13 2 明能被之教 + +#14 我為彼故,依生無自性性、宣說諸法。 + +二、明能被之教。佛為未種善根,乃至未集福慧二種資粮之人,說生無自性性,緣生之法,意令了達無常,修集福慧二資粮也。 + +#13 3 明聞法得益 + +彼聞是已,能於一切緣生行中,隨分解了,無常無恒、是不安隱、變壞法已,於一切行,心生怖畏、深起厭患。心生怖畏深厭患已,遮止諸惡、於諸惡法能不造作,於諸善法能勤修習。 + +習善因故,1未種善根、能種善根,2未清淨障、能令清淨,3未熟相續、能令成熟;由此因緣,4多修勝解,5亦多積集福德智慧二種資糧。 + +#14 彼雖如是種諸善根、乃至積集福德智慧二種資糧, + +三、明聞法得益。 + +#12 2 通餘二無自性性法 + +#13 1 明所被之機 + +然於生無自性性中,未能如實了知相無自性性,及二種勝義無自性性; + +於一切行、未能正厭; + +未正離欲; + +未正解脫; + +#14 未遍解脫煩惱雜染、未遍解脫諸業雜染、未遍解脫諸生雜染。 + +後通餘二無自性性法。文亦分三:一、明所被之機;二、明能被之教;三、明聞法得益。此初也。 + +所被機者,雖聞生無自性性法,解了無常,修集福慧二資粮,然於生無自性性中,未能如實了知相無自性性,及二種勝義無自性性,乃至未遍解脫煩𢙉雜染。 + +#13 2 明能被之教 + +#14 如來為彼更說法要,謂相無自性性及勝義無自性性,為欲令其於一切行能正厭故、正離欲故、正解脫故,超過一切煩惱雜染故、超過一切業雜染故、超過一切生雜染故。 + +二、明能被之教,如來為彼已修福慧資粮菩薩,更說相無自性性及勝義無自性性,欲令於一切行能正猒故,乃至超過一切生雜染故。 + +#13 3 明聞法得益 + +彼聞如是所說法已;於生無自性性中,能正信解相無自性性,及勝義無自性性,簡擇思惟、如實通達。於依他起自性中,能不執著遍計所執自性相。 + +#14 由言說不熏習智故、由言說不隨覺智故、由言說離隨眠智故,能滅依他起相;於現法中智力所持、能永斷滅當來世因。由此因緣,於一切行、能正厭患,能正離欲,能正解脫,能遍解脫煩惱業生三種雜染。 + +三、明聞法得益,彼聞法已,從初資粮進入加行,乃至見道通達位中,獲斯益故。餘義可知。 + +#11 4 明秘密說一乘意 + +#12 1 明密意說唯一乘 + +#13 1 正釋 + +#14 復次勝義生!諸聲聞乘種性有情,亦由此道、此行迹故,證得無上安隱涅槃;諸獨覺乘種性有情、諸如來乘種性有情,亦由此道、此行迹故,證得無上安隱涅槃。一切聲聞、獨覺、菩薩,皆共此一妙清淨道,皆同此一究竟清淨,更無第二。 + +四、明秘密說一乘意。文中分二:初明密意說唯一乘;後明有情根性差別。初中有二:初正釋;後結成。此初也。 + +此明三乘人同依一清淨道,證得涅盤,故云一切聲聞、獨覺、菩薩皆共此一妙清淨道等。 + +#13 2 結成 + +#14 我依此故,密意說言唯有一乘。 + +後結成密意,說唯一乘。 + +#12 2 明有情根性差別 + +#13 1 初揔標舉 + +#14 非於一切有情界中,無有種種有情種性,或鈍根性、或中根性、或利根性,有情差別。 + +後明有情根性差別。文中分二:初揔標舉,後各別明。此初也。 + +揔中意者:非於一切有情界中,無有種種下、中、上根三乘差別也。 + +#13 2 後各別明 + +#14 1 明定性聲聞 + +#15 1 標舉 + +#16 善男子!若一向趣寂聲聞種性補特伽羅,雖蒙諸佛施設種種勇猛加行、方便化導,終不能令當坐道場、證得無上正等菩提。 + +後各別明。文中分二:初明定性聲聞,後明不定性聲聞。初中分三:一、標舉;二、徵詰;三、釋成。此初也。 + +#15 2 徵詰 + +#16 何以故? + +二、徵詰也。 + +#15 3 釋成 + +由彼本來唯有下劣種性故,一向慈悲薄弱故,一向怖畏眾苦故。由彼一向慈悲薄弱、是故一向棄背利益諸眾生事;由彼一向怖畏眾苦、是故一向棄背發起諸行所作。我終不說一向棄背利益眾生事者、一向棄背發起諸行所作者,當坐道場能得無上正等菩提。 + +#16 是故說彼名為一向趣寂聲聞。 + +三、釋成。文中分二:初正釋,後結成。 + +#14 2 明不定性聲聞 + +#15 1 標舉 + +#16 若迴向菩提聲聞種性補特伽羅,我亦異門說為菩薩。 + +後明不定性聲聞,文中分三:一、標舉;二、徵詰;三、釋成。此初,標舉。若廻向菩提、聲聞種姓補特伽羅,我亦異門說為菩薩者,如舍利弗等。 + +#15 2 徵詰 + +#16 何以故? + +二、徵詰。 + +#15 3 釋成 + +彼既解脫煩惱障已,若蒙諸佛等覺悟時,於所知障,其心亦可當得解脫。由彼最初為自利益修行加行、脫煩惱障, + +#16 是故如來施設彼為聲聞種性。 + +三、釋成,文分為二:初正釋,後結成。 + +#11 5 明密教有了不了 + +#12 1 揔標 + +復次勝義生!如是於我善說善制、法毘奈耶、最極清淨意樂所說,善教法中,諸有情類意解種種差別可得。 + +#13 善男子!如來但依如是三種自性性,由深密意於所宣說不了義經,以隱密相說諸法要,謂一切法皆無自性、無生無滅、本來寂靜、自性涅槃。 + +五、明密教有了、不了。文中分三:一、揔標;二、別釋;三、結成。此初也。 + +#12 2 別釋 + +#13 1 解佛密意,深生淨信 + +#14 於是經中,若諸有情已種上品善根、已清淨諸障、已成熟相續、已多修勝解、已能積集上品福德智慧資糧;彼若聽聞如是法已,於我甚深密意言說、如實解了;於如是法、深生信解,於如是義、以無倒慧、如實通達。依此通達、善修習故;速疾能證最極究竟,亦於我所深生淨信,知是如來應正等覺、於一切法現正等覺。 + +二、別釋,文分為四:一、解佛密意,深生淨信;二、無力能解,然生淨信;三、雖生信解,於義執著;四、轉聽悞傳,起見同異。此初也。 + +#13 2 無力能解,然生淨信 + +#14 若諸有情,已種上品善根,已清淨諸障,已成熟相續,已多修勝解,未能積集上品福德智慧資糧,其性質直、是質直類,雖無力能思擇廢立、而不安住自見取中。彼若聽聞如是法已,於我甚深祕密言說,雖無力能如實解了,然於此法能生勝解、發清淨信,信此經典、是如來說,是其甚深、顯現甚深,空性相應,難見難悟,不可尋思,非諸尋思所行境界,微細詳審聰明智者之所解了。於此經典所說義中、自輕而住、作如是言:諸佛菩提、為最甚深,諸法法性、亦最甚深,唯佛如來能善了達,非是我等所能解了。諸佛如來為彼種種勝解有情,轉正法教,諸佛如來無邊智見;我等智見、猶如牛迹,於此經典、雖能恭敬為他宣說、書寫護持、披閱流布、殷重供養、受誦溫習;然猶未能以其修相、發起加行。是故於我甚深密意所說言詞、不能通達。由此因緣,彼諸有情、亦能增長福德、智慧二種資糧;於後相續未成熟者、亦能成熟。 + +二、無力能解,然生淨信。 + +#13 3 雖生信解,於義執著 + +#14 若諸有情,廣說乃至未能積集上品福德、智慧資糧,性非質直、非質直類,雖有力能思擇廢立,而復安住自見取中;彼若聽聞如是法已,於我甚深密意言說、無有力能如實解了,於如是法、雖生信解,然於其義隨言執著,謂一切法決定皆無自性,決定不生不滅,決定本來寂靜,決定自性涅槃。由此因緣,於一切法,獲得無見及無相見。由得無見、無相見故,撥一切相、皆是無相,誹撥諸法遍計所執相、依他起相、圓成實相。何以故?由有依他起相,及圓成實相故,遍計所執相、方可施設。若於依他起相及圓成實相,見為無相;彼亦誹撥遍計所執相,是故說彼誹撥三相。雖於我法、起於法想;而非義中、起於義想。由於我法、起法想故,及非義中、起義想故,於是法中、持為是法,於非義中、持為是義。彼雖於法起信解故,福德增長;然於非義起執著故、退失智慧。智慧退故,退失廣大無量善法。 + +三、雖生信解,於義執著。 + +#13 4 轉聽悞傳,起見同異 + +#14 1 隨其師見,同失善法 + +#15 復有有情從彼聽聞,謂法為法、非義為義,若隨其見,彼即於法、起於法想,於非義中、起於義想。執法為法,非義為義。由此因緣,當知同彼退失善法。 + +四、轉聽悞傳起見同異。文中分二:初隨其師見,同失善法;後不隨師見,言非佛語。此初也。 + +#14 2 不隨師見,言非佛語 + +#15 若有有情不隨其見,從彼欻聞一切諸法皆無自性、無生無滅、本來寂靜、自性涅槃,便生恐怖;生恐怖已、作如是言:此非佛語、是魔所說。作此解已,於是經典、誹謗毀罵。由此因緣、獲大衰損,觸大業障。由是因緣,我說若有於一切相、起無相見;於非義中、宣說為義,是起廣大業障方便;由彼陷墜無量眾生、令其獲得大業障故。 + +二、不隨師見,言非佛語。 + +#12 3 結成 + +善男子!若諸有情未種善根,未清淨障,未熟相續,無多勝解,未集福德智慧資糧,性非質直、非質直類,雖有力能思擇廢立、而常安住自見取中;彼若聽聞如是法已,不能如實解我甚深密意言說,故於此法不生信解。於是法中、起非法想,於是義中、起非義想;於是法中、執為非法,於是義中、執為非義。唱如是言:此非佛語、是魔所說。作此解已,於是經典、誹謗毀讟,撥為虛偽,以無量門毀滅摧伏如是經典;於諸信解此經典者、起怨家想。彼先為諸業障所障,由此因緣、復為如是業障所障。如是業障、初易施設,乃至齊於百千俱胝那庾多劫、無有出期。 + +#13 善男子!如是於我,善說善制、法毘奈耶、最極清淨意樂所說善教法中,有如是等諸有情類意解種種差別可得。 + +三、結成。 + +#8 2 以頌結成 + +爾時世尊欲重宣此義、而說頌曰: + +1一切諸法皆無性、無生無滅、本來寂、諸法自性恒涅槃、誰有智言無密意。 + +2相、生、勝義無自性、如是我皆已顯示,若不知佛此密意;失壞正道、不能往。 + +3依諸淨道清淨者,唯依此一、無第二;故於其中立一乘,非有情性無差別。 + +4眾生界中無量生、唯度一身趣寂滅;大悲勇猛證涅槃,不捨眾生、甚難得。 + +#9 5微妙難思無漏界、於中解脫等無差,一切義成、離惑苦;二種異說、謂常、樂。 + +#10 後以頌結成。 + +第一頌,頌前第一段文。 + +第二頌,頌前第二、第三、第五叚文。 + +第三、第四、第五頌,頌前第四叚文。 + +密說一乘,雖說諸法無性,意明遍計所執諸法無性,不說依、圓無性、無相之理,非凡能了,名為微妙難思無漏界也。三乘聖人同證此理,故言於中解脫等無差。由證圓成,名一切義成,斷彼依他,名離惑苦。此圓成實即是有餘、無餘二種涅盤。以涅盤之體,由離惑故名常,由離苦故稱樂,即涅盤體上,說此常、樂二種異名,故云二種異說,謂常、樂。 + +#7 2 領解讚嘆 + +#8 1 勝義領解 + +#9 1 讚佛密意甚深難通 + +#10 爾時勝義生菩薩復白佛言:世尊!諸佛如來密意語言,甚奇希有;乃至微妙最微妙、甚深最甚深、難通達最難通達。 + +二、領解讚嘆。文分為二:初勝義領解,後世尊讚嘆。初文分二:初讚佛密意甚深難通;後述己投誠,聞法領解。此初也。 + +#9 2 述己投誠聞法領解 + +#10 1 彰其法說 + +#11 1 依五蘊,明三無性 + +#12 1 依色蘊明三無性 + +#13 1 明遍計無性 + +#14 如是我今領解世尊所說義者,若於分別所行遍計所執相所依行相中,假名安立以為色蘊,或自性相,或差別相;假名安立為色蘊生、為色蘊滅、及為色蘊永斷遍知、或自性相,或差別相;是名遍計所執相。世尊依此施設諸法相無自性性。 + +後述己投誠,聞法領解。文中有二:初彰其法說;後舉喻以明。初中分三:一、依五蘊明三無性;二、依四諦明三無性;三、依正定,明三無性。初中分二:初依色蘊明三無性,後例餘法明三無性。初中分三:一、明遍計無性;二、明依他無性;三、明圓成無性。此初也。 + +#13 2 明依他無性 + +#14 若即分別所行遍計所執相所依行相,是名依他起相。世尊依此,施設諸法生無自性性,及一分勝義無自性性。 + +二、明依他無性。 + +#13 3 明圓成無性 + +#14 如是我今領解世尊所說義者,若即於此分別所行遍計所執相所依行相中,由遍計所執相不成實故;即此自性無自性性、法無我真如、清淨所緣,是名圓成實相。世尊依此施設一分勝義無自性性。 + +三、明圓成無性。 + +#12 2 後例餘法明三無性 + +#13 1 正例餘四蘊 + +#14 如於色蘊,如是於餘蘊、皆應廣說; + +後例餘法,明三無性。文中有二:初正例餘四蘊,後兼例處等法。此初也。 + +#13 2 兼例處等法 + +#14 如於諸蘊,如是於十二處一一處中、皆應廣說;於十二有支一一支中、皆應廣說;於四種食、一一食中、皆應廣說;於六界十八界、一一界中、皆應廣說。 + +後兼例處等法。 + +#11 2 依四諦,明三無性 + +#12 1 初依苦諦,明三無性 + +#13 1 明遍計無性 + +#14 如是我今領解世尊所說義者,若於分別所行遍計所執相所依行相中,假名安立以為苦諦、苦諦遍知,或自性相,或差別相;是名遍計所執相。世尊依此施設諸法相無自性性。 + +二、依四諦,明三無性。文中有二:初依苦諦,明三無性;後例餘法,明三無性。初中分三:一、明遍計無性;二、明依他無性;三、明圓成無性。此初也。 + +#13 2 明依他無性 + +#14 若即分別所行遍計所執相所依行相,是名依他起相。世尊依此施設諸法生無自性性,及一分勝義無自性性。 + +二、明依他無性。 + +#13 3 明圓成無性 + +#14 如是我今領解世尊所說義者,若即於此分別所行遍計所執相所依行相中,由遍計所執相不成實故;即此自性無自性性、法無我真如、清淨所緣,是名圓成實相。世尊依此施設一分勝義無自性性。 + +三、明圓成無性。 + +#12 2 後例餘法,明三無性 + +#13 1 正例餘三諦 + +#14 如於苦諦,如是於餘諦、皆應廣說。 + +後例餘法明三無性。文中分二:初正例餘三諦,後兼例念住等。此初也。 + +#13 2 後兼例念住等 + +#14 如於聖諦,如是於諸念住、正斷、神足、根、力、覺支、道支中,一一皆應廣說。 + +後兼例念住等。 + +#11 3 依正定,明三無性 + +#12 1 明遍計無性 + +#13 如是我今領解世尊所說義者,若於分別所行遍計所執相所依行相中,假名安立以為正定、及為正定能治所治,若正定修、未生令生、生已堅住不忘倍修增長廣大、或自性相,或差別相;是名遍計所執相。世尊依此施設諸法相無自性性。 + +三依正定明三無性。文中分三:一、明遍計無性;二、明依他無性;三、明圓成無性。此初也。 + +#12 2 明依他無性 + +#13 若即分別所行遍計所執相所依行相,是名依他起相。世尊依此施設諸法生無自性性,及一分勝義無自性性。 + +二、明依他無性。 + +#12 3 明圓成無性 + +#13 如是我今領解世尊所說義者,若即於此分別所行遍計所執相所依行相中、由遍計所執相不成實故;即此自性無自性性法無我真如、清淨所緣,是名圓成實相。世尊依此施設諸法一分勝義無自性性。 + +三、明圓成無性。 + +#10 2 舉喻以明 + +#11 1 毗濕縛藥喻 + +#12 1 舉喻 + +#13 世尊!譬如毘濕縛藥,一切散藥仙藥方中皆應安處, + +後舉喻以明。文分為四:一、毗濕縛藥喻;二、如彩畫地喻;三、熟酥勝味喻;四、虛空能遍喻。初中分二:初舉喻,後法合。此初也。 + +梵云毗濕縛,唐云有功能,一切散藥,仙藥方中,有此藥者,皆有功能,皆應安處。此藥平穩,調和諸藥,一切丸散,皆安此味。 + +#12 2 法合 + +#13 如是世尊!依此諸法皆無自性、無生無滅、本來寂靜、自性涅槃、無自性性了義言教,遍於一切不了義經、皆應安處。 + +後法合。依此諸法皆無自性者,依此諸法皆無遍計自性,不無依、圓。既說遍計是無,依、圓是有,名了義言教,應以了義言教遍於一切不了義經,故云皆應安處。 + +#11 2 如彩畫地喻 + +#12 1 舉喻 + +#13 世尊!如彩畫地,遍於一切彩畫事業、皆同一味,或青或黃、或赤或白,復能顯發彩畫事業; + +二、如彩畫地喻,文中分二:初舉喻,後法合。此初也。 + +如欲彩畫,先安白粉為地,遍於一切彩畫事業,復能顯發彩畫事業,儀相分明。 + +#12 2 法合 + +#13 如是世尊!依此諸法皆無自性,廣說乃至自性涅槃、無自性性了義言教,遍於一切不了義經、皆同一味,復能顯發彼諸經中所不了義。 + +後法合,如前可知。 + +#11 3 熟酥勝味喻 + +#12 1 舉喻 + +#13 世尊!譬如一切成熟珍羞諸餅果內,投之熟酥、更生勝味, + +三、熟酥勝味喻,文中分二:初舉喻,後法合。此初也。 + +#12 2 法合 + +#13 如是世尊!依此諸法皆無自性,廣說乃至自性涅槃、無自性性了義言教,置於一切不了義經、生勝歡喜。 + +後法合。 + +#11 4 虛空能遍喻 + +#12 1 舉喻 + +#13 世尊!譬如虛空,遍一切處皆同一味、不障一切所作事業, + +四虛空能遍喻。文中分二:初舉喻,後法合。此初也。 + +如空遍滿一切色處,不障一切所作事業。 + +#12 2 法合 + +#13 如是世尊!依此諸法皆無自性,廣說乃至自性涅槃、無自性性、了義言教,遍於一切不了義經皆同一味,不障一切聲聞、獨覺及諸大乘所修事業。說是語已, + +後法合。 + +#8 2 世尊讚嘆 + +#9 爾時世尊歎勝義生菩薩曰:善哉!善哉!善男子!汝今乃能善解如來所說甚深密意言義,復於此義善作譬喻,所謂世間毘濕縛藥、雜彩畫地、熟酥、虛空。勝義生!如是如是、更無有異;如是如是、汝應受持。 + +後世尊讚嘆。 + +#7 3 辯教優劣 + +#8 1 明三時教優劣 + +勝義生菩薩復白佛言:世尊初於一時,在婆羅痆斯仙人墮處施鹿林中,唯為發趣聲聞乘者、以四諦相轉正法輪,雖是甚奇甚為希有,一切世間諸天人等、先無有能如法轉者;而於彼時所轉法輪,有上、有容、是未了義是諸諍論安足處所。 + +世尊在昔第二時中,唯為發趣修大乘者,依一切法皆無自性、無生無滅、本來寂靜、自性涅槃,以隱密相轉正法輪,雖更甚奇甚為希有;而於彼時所轉法輪,亦是有上、有所容受、猶未了義、是諸諍論安足處所。 + +#9 世尊於今第三時中,普為發趣一切乘者,依一切法皆無自性、無生無滅、本來寂靜、自性涅槃無自性性,以顯了相轉正法輪,第一甚奇最為希有;于今世尊所轉法輪,無上、無容、是真了義、非諸諍論安足處所。 + +第三、辯教優劣。文中分二:初明三時教優劣,後明持經福優劣。此初也。 + +世尊初於一時,在婆羅痆斯仙人墮處施鹿林中,唯為發趣聲聞乘者轉四諦輪,說阿笈摩除我有執,令小根等斷登聖位。彼聞四諦唯斷我愚,而於諸法迷執實有。雖是甚奇,甚為希有,一切世間諸天人等,先無有能如法轉者,而於彼時所轉法輪,有上有容是未了義,是諸諍論安足處所。 + +世尊為除彼法有執,第二時中,於其鷲嶺唯為發趣修大乘者說諸法空,依一切法皆無自性,無生、無滅,本來寂靜、自性涅盤,所謂摩訶般若經等,令中根品捨小趣大。彼聞世尊以隱密相轉正法輪,說無破有,便撥二諦,性相皆空,為無上理。雖更甚奇,甚為希有,而於彼時所轉法輪,亦是有上有所容受,猶未了義,是諸諍論安足處所。 + +世尊為除此有、空二執,於第三時中普為發趣一切乘者,依一切法皆無自性、無生無滅、本來寂靜、自性涅盤、無自性性,即是此經,以顯了相轉正法輪。說一切法唯有識等,心外法無,破初有執;非無內識,遣後執空。離有、無邊,正處中道,於真諦理,悟證有方,於俗諦中,妙能留捨,第一甚奇,最為希有。于今世尊所轉法輪,無上無容是真了義,非諸諍論安足處所。 + +> 註:說一切法唯有識等——倫記不以此解第三時教。 + +#8 2 明持經福優劣 + +#9 1 勝義問 + +世尊!若善男子、或善女人,於此如來依一切法皆無自性、無生無滅、本來寂靜、自性涅槃所說甚深了義言教,聞已信解、書寫護持、供養流布、受誦溫習、如理思惟、以其修相發起加行、生幾所福? + +#10 說是語已; + +後明持經福優劣,文中分二:初勝義問,後世尊荅。此初也。 + +#9 2 世尊荅 + +爾時世尊告勝義生菩薩曰:勝義生!是善男子或善女人,其所生福無量無數、難可喻知。吾今為汝略說少分,如爪上土,比大地土,百分不及一,千分不及一,百千分不及一,數、算、計、喻、鄔波尼殺曇分亦不及一。或如牛迹中水,比四大海水,百分不及一,廣說乃至鄔波尼殺曇分亦不及一。 + +#10 如是於諸不了義經、聞已信解,廣說乃至以其修相發起加行,所獲功德,比此所說了義經教,聞已信解所集功德,廣說乃至以其修相、發起加行所集功德,百分不及一,廣說乃至鄔波尼殺曇分亦不及一。說是語已; + +後世尊荅也。 + +#7 4 請立經名 + +#8 1 問 + +#9 勝義生菩薩復白佛言:世尊!於是解深密法門中,當何名此教?我當云何奉持? + +第四、請立經名。文中分二:初問,後荅。此初問也。 + +#8 2 答 + +#9 佛告勝義生菩薩曰:善男子!此名勝義了義之教。於此勝義了義之教,汝當奉持。 + +後荅可知。 + +#7 5 時眾得益 + +#8 說此勝義了義教時,於大會中,有六百千眾生,發阿耨多羅三藐三菩提心;三百千聲聞,遠塵離垢,於諸法中得法眼淨;一百五十千聲聞,永盡諸漏,心得解脫;七十五千菩薩,得無生法忍。 + +第五、時眾得益。 + +六百千眾生等者,由聞了義教時,發菩提心,得至十信也。 + +三百千聲聞等者,由智慧劣故,雖聞了義,但得小乘初果法忍,永離煩𢙉,名為遠塵。法智永斷障垢,故云離垢。見法明白,故稱眼淨。 + +#9 一百五十千聲聞等者,永除三漏,故稱永盡諸漏。言三漏者:一、欲漏;二、有漏;三、無明漏。 + +欲漏者,欲界九使,除無明,是欲漏體,所謂身見、邊見、見取、戒取、邪見、貪、嗔、𢢔疑也。 + +有漏者,色、無色界八使,除無明及嗔,名有漏,體謂五見、貪、𢢔、疑也。 + +無明漏者,三界無明使也。 + +所以名欲漏者,欲界諸煩𢙉,於五塵中而生漏故,名為欲漏。 + +有漏者,色、無色界諸煩𢙉,於有身中而生漏,故名為有漏。 + +無明漏者,自性愚癡,即無明是漏,故名無明漏。 + +證無學智,心、慧無㝵,名心得解脫。 + +> 註:㝵,應同“礙”。 + +七十五千菩薩等者,七十五千菩薩聞此了義教時,即證初地無生忍。忍性即是無分別慧,於無生法,情安忍可,名無生忍。 + +問:世尊但說一了義教,何故獲益三乘不同? + +荅:佛以一音演法,眾生聞者各解不同,明佛巧化,各得異受,欲別修行,獲其利者,獲其異利。故《維摩經》云:佛以一音演說法,眾生各各隨所解,普得受行獲其利,正與此同。 + +#4 5 分別瑜伽 + +#5 1 標 + +#6 復次,依法假安立,分別解說瑜伽所攝,奢摩他、毘鉢舍那道, + +> 論卷第七十七,攝決擇分中菩薩地第十一之六 + +第五、分別瑜伽,文中分二:初摽,後釋。此初,標也。 + +#5 2 釋 + +#6 1 先標說處 + +#7 當知如《解深密經》中, + +後釋中分二:初摽說處,後引經釋。此初也。 + +#6 2 後引經釋 + +#7 1 明止觀義 + +#8 1 長行廣辯 + +#9 1 諸門解釋(二十六門) + +#10 1 止觀依住門 + +#11 1 慈氏問 + +#12 慈氏菩薩白佛言:世尊!菩薩何依何住,於大乘中修奢摩他、毘鉢舍那? + +後引經釋,文分為三:一、明止觀義;二、請立經名;三、時眾得益。初中分二:初長行廣辯;後以頌結成。初文復二:初諸門解釋;後讚述勸學。初中分為二十六門:一、止觀依住門;二、所緣境事門;三、求善止觀門;四、止觀方便門;五、止觀一異門;六、止觀單雙門;七、法數同異門;八、隨法信行門;九、緣法別惣門;十、有尋等三門;十一、止等三相門;十二、知法知義門;十三、三慧差別門;十四、智見差別門;十五、遣相方便門;十六、依空遣相門;十七、能攝勝定門;十八、止觀因果門;十九、止觀作業門;二十、止觀惑障門;二十一、圓滿清淨門;二十二、止觀散動門;二十三、止觀治障門;二十四、修證菩提門;二十五、引發威德門;二十六、涅盤滅受門。 + +初門有二:初、慈氏問;後、如來荅。此初,問也。 + +#11 2 如來荅 + +#12 佛告慈氏菩薩曰:善男子!當知菩薩1法假安立,及2不捨無上正等覺願,為依為住,於大乘中,修奢摩他、毘鉢舍那。 + +後如來荅。 + +#10 2 所緣境事門 + +#11 1 問 + +#12 世尊!如說四種所緣境事: + +一、有分別影像所緣境事, + +二、無分別影像所緣境事, + +三、事邊際所緣境事, + +四、所作成辦所緣境事。 + +#12 於此四中、幾是奢摩他所緣境事?幾是毘鉢舍那所緣境事?幾是俱所緣境事? + +二、所緣境事門,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子! + +一、是奢摩他所緣境事,謂無分別影像。 + +一、是毘鉢舍那所緣境事,謂有分別影像。 + +#13 二、是俱所緣境事,謂事邊際、所作成辦。 + +後荅,易知。 + +#10 3 求善止觀門 + +#11 1 問 + +#12 世尊!云何菩薩依此四種奢摩他、毘鉢舍那所緣境事,能求奢摩他,能善毘鉢舍那? + +三、求善止觀門,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 明所說之法 + +#13 善男子!如我為諸菩薩所說法假安立,所謂契經、應誦、記別、諷誦、自說、因緣、譬喻、本事、本生、方廣、希法、論議;菩薩於此善聽善受,言善通利,意善尋思,見善通達; + +後荅分二:初明所說之法,後辯能受之心。此初也。 + +#12 2 辯能受之心 + +#13 1 辯求止 + +即於如所善思惟法,獨處空閑,作意思惟。 + +復即於此能思惟心、內心相續作意思惟。如是正行、多安住故,起身輕安及心輕安,是名奢摩他。如是菩薩能求奢摩他。 + +#14 彼由獲得身心輕安為所依故,即於如所善思惟法、內三摩地所行影像,觀察勝解,捨離心相。 + +後辯能受之心。文中分二:初辯求止,後明善觀。此初也。 + +#13 2 明善觀 + +#14 即於如是三摩地影像所知義中,能正思擇,最極思擇,周遍尋思,周遍伺察,若忍、若樂、若慧、若見、若觀,是名毘鉢舍那。如是菩薩能善毘鉢舍那。 + +後明善觀。 + +#10 4 止觀方便門 + +#11 1 明求止方便 + +#12 1 問 + +#13 世尊!若諸菩薩緣心為境,內思惟心,乃至未得身心輕安,所有作意,當名何等? + +四、止觀方便門。文分為二:初明求止方便,後辯求觀方便。初中分二:初問後荅。此初問也。 + +#12 2 答 + +#13 善男子!非奢摩他作意;是隨順奢摩他勝解相應作意。 + +後荅。緣聞思心相續見分,尒時非止,但是隨順奢摩他相應作意,為求止方便門也。 + +#11 2 辯求觀方便 + +#12 1 問 + +#13 世尊!若諸菩薩乃至未得身心輕安,於如所思所有諸法內三摩地所緣影像,作意思惟;如是作意、當名何等? + +後辯求觀方便。文中分二:初問,後荅。此初也。 + +#12 2 答 + +#13 善男子!非毘鉢舍那作意;是隨順毘鉢舍那勝解相應作意。 + +後荅。聞、思二慧,思惟諸法影像相時,但隨順觀相應作意,求觀方便,而非觀體,以所辯觀是修慧故。 + +#10 5 止觀一異門 + +#11 1 明止觀自性一異 + +#12 1 問 + +#13 世尊!奢摩他道、與毘鉢舍那道,當言有異,當言無異? + +五、止觀一異門,文中分三:一、明止觀自性一異;二、明止觀見相一異;三、明散心見相一異。初中分二:初問,後荅。此初問也。 + +#12 2 答 + +善男子!當言非有異,非無異。 + +何故非有異?以毘鉢舍那所緣境心,為所緣故。 + +#13 何故非無異?有分別影像,非所緣故。 + +後荅。意云:據本質說,止觀同緣一境,故言非有異。 + +約影像論,止緣無分別影像,觀緣有分別影像,即有分別影像非止所緣,故云非無異。 + +#11 2 明止觀見相一異 + +#12 1 問 + +#13 世尊!諸毘鉢舍那三摩地所行影像,彼與此心、當言有異,當言無異? + +二、明止觀,見相一異。文中分二:初問,後荅。此初問也。 + +#12 2 答 + +#13 1 依法說 + +#14 1 明無異 + +善男子!當言無異。 + +何以故? + +#15 由彼影像、唯是識故。善男子!我說識所緣、唯識所現故。 + +後荅分二:初依法說,後舉喻明。初中分二:初明無異,後通妨難。此初也。文有標、徵,釋三,意可解也。 + +#14 2 通妨難 + +#15 1 申妨 + +#16 世尊!若彼所行影像,即與此心無有異者;云何此心還見此心? + +後通妨難。文分為二:初申妨,後通釋。此初也。 + +#15 2 通釋 + +#16 善男子!此中無有少法能見少法;然即此心如是生時,即有如是影像顯現。 + +後通釋。 + +#13 2 舉喻明 + +#14 善男子!如依善瑩清淨鏡面,以質為緣,還見本質;而謂我今,見於影像,及謂離質別有所行影像顯現。如是此心生時,相似有異,三摩地所行影像顯現。 + +後舉喻明。 + +#11 3 明散心見相一異 + +#12 1 問 + +#13 世尊!若諸有情,自性而住,緣色等心所行影像,彼與此心亦無異耶? + +三、明散心,見、相,一、異。文中分二:初問,後荅。此初問也。 + +#12 2 答 + +#13 善男子!亦無有異。而諸愚夫由顛倒覺,於諸影像不能如實知唯是識,作顛倒解。 + +後荅,可知。 + +#10 6 止觀單雙門 + +#11 1 依單雙問荅 + +#12 1單問荅觀 + +#13 世尊!齊何當言菩薩一向修毘鉢舍那?善男子!若相續作意,唯思惟心相。 + +六、止觀單雙門。文中分二:初依單雙問荅,後約單雙徵釋。初中分三:一、單問荅觀;二、單問荅止;三、雙問荅二。此初也。 + +#12 2 單問荅止 + +#13 世尊!齊何當言菩薩一向修奢摩他?善男子!若相續作意,唯思惟無間心。 + +二、單問荅止。 + +#12 3 雙問荅 + +#13 世尊!齊何當言菩薩奢摩他毘鉢舍那和合俱轉?善男子!若正思惟心一境性。 + +三、雙問荅二。 + +#11 2 約單雙徵釋 + +#12 1 單徵釋觀 + +#13 世尊!云何心相?善男子!謂三摩地所行有分別影像、毘鉢舍那所緣。 + +後約單雙徵釋。文中分三:一、單徵釋觀;二、單徵釋止;三、雙徵釋二。此初也。 + +#12 2 單徵釋止 + +#13 世尊!云何無間心?善男子!謂緣彼影像心、奢摩他所緣。 + +二、單徵釋止。 + +#12 3 雙徵釋二 + +#13 世尊!云何心一境性?善男子!謂通達三摩地所行影像、唯是其識;或通達此已,復思惟如性。 + +三、雙徵釋二。 + +#10 7 法數同異門 + +#11 1 問觀 + +#12 1 問 + +#13 世尊!毘鉢舍那、凡有幾種? + +七、法數同異門,文中分二:初問觀,後明止。初中分二:初問,後荅。此初問也。 + +#12 2 答 + +#13 1 標 + +善男子!略有三種: + +#13 2 列 + +#14 一者、有相毘鉢舍那,二者、尋求毘鉢舍那,三者、伺察毘鉢舍那。 + +後荅,分三:一、標;二、列;三、釋。此初二也。 + +#13 3 釋 + +#14 1 釋有相 + +#15 1 徵 + +#16 云何有相毗鉢舍那? + +三、釋文中,復分為三:一、釋有相;二、釋尋求;三、釋伺察。初中有二:初徵,後釋。此初徵也。 + +#15 2 釋 + +#16 謂純思惟三摩地所行,有分別影像,毘鉢舍那。 + +後釋。謂純思惟分別影像相分,名有相毗鉢舍那。 + +#14 2 釋尋求 + +#15 1 徵 + +#16 云何尋求毗鉢舍那? + +二、釋尋求。文中分二:初徵,後釋。此初徵也。 + +#15 2 釋 + +#16 謂由慧故,遍於彼彼未善解了一切法中,為善了故,作意思惟,毘鉢舍那。 + +後釋,可解。 + +#14 3 釋伺察 + +#15 1 徵 + +#16 云何伺察毗鉢舍那? + +三、釋伺察,文中分二:初徵,後釋。此初,徵也。 + +#15 2 釋 + +#16 謂由慧故,遍於彼彼已善解了一切法中,為善證得極解脫故,作意思惟,毘鉢舍那。 + +後釋,易知。 + +#11 2 明止 + +#12 1 問 + +#13 世尊!是奢摩他、凡有幾種? + +後明止中,文分為二:初問,後荅。此初,問也。 + +#12 2 答 + +#13 1 約三種釋 + +#14 善男子!即由隨彼無間心故,當知此中亦有三種。 + +後荅之中,文分為三:一、約三種釋;二、約八種釋;三、約四種釋。此初也。 + +#13 2 約八種釋 + +#14 復有八種;謂初靜慮乃至非想非非想處,各有一種奢摩他故。 + +二、約八種釋。 + +#13 3 約四種釋 + +#14 復有四種;謂慈、悲、喜、捨四無量中,各有一種奢摩他故。 + +三、約四種釋。 + +#10 8 隨法信行門 + +#11 1 問 + +#12 世尊!如說依法奢摩他毘鉢舍那,復說不依法奢摩他毘鉢舍那;云何名依法,云何復名不依法? + +八、隨法信行門,文中分三:一、問;二、荅;三、結。此初也。 + +#11 2 答 + +善男子!若隨所受所思法相,而於其義得奢摩他、毘鉢舍那,名依法。 + +#12 若不待於所受所思所有法相,但依止他教誡教授、而於其義得奢摩他、毘鉢舍那——謂觀青瘀及膿爛等,或一切行皆是無常,或諸行苦,或一切法皆無有我,或復涅槃畢竟寂靜——如是等類奢摩他、毘鉢舍那,名不依法。 + +二荅。 + +#11 3 結 + +由依止法得奢摩他、毘鉢舍那,故我施設隨法行菩薩,是利根性; + +#12 由不依法得奢摩他、毘鉢舍那,故我施設隨信行菩薩,是鈍根性。 + +三結。 + +#10 9 緣法別惣門 + +#11 1 明緣別緣揔得名之因由 + +#12 1 問 + +#13 世尊!如說緣別法奢摩他、毘鉢舍那,復說緣總法奢摩他、毘鉢舍那;云何名緣別法奢摩他、毘鉢舍那?云何復名緣總法奢摩他、毘鉢舍那? + +九、緣法別揔門,文中分四:一、明緣別緣揔得名之因由;二、明緣小緣大緣無量揔法;三、明齊幾何緣,名得緣揔法;四、明從何名通達,從何名得。初中分二:初問,後荅。此初,問也。 + +#12 2 答 + +善男子!若諸菩薩緣於各別契經等法,於如所受、所思惟法,修奢摩他、毘鉢舍那,是名緣別法奢摩他、毘鉢舍那。 + +#13 若諸菩薩即緣一切契經等法,集為一團、一積、一分、一聚,作意思惟;此一切法,隨順真如、趣向真如、臨入真如,隨順菩提、隨順涅槃、隨順轉依,及趣向彼、若臨入彼,此一切法、宣說無量無數善法。如是思惟,修奢摩他、毘鉢舍那,是名緣總法奢摩他、毘鉢舍那。 + +後荅。意云:若諸菩薩緣於十二分教,各別契經等法,於所受所思惟法,修其止觀,是名緣別法止觀。 + +若諸菩薩即緣一切契經等法,即是揔緣十二分教,乃至如是思惟,修其止觀,是名緣揔法止觀。 + +聞慧,名隨順真如;思慧,名趣向真如;修慧,名臨入真如,即臨入初地也。 + +#11 2 明緣小緣大緣無量揔法 + +#12 1 問 + +#13 世尊!如說緣小總法奢摩他、毘鉢舍那,復說緣大總法奢摩他、毘鉢舍那,又說緣無量總法奢摩他、毘鉢舍那;云何名緣小總法奢摩他、毘鉢舍那?云何名緣大總法奢摩他、毘鉢舍那?云何復名緣無量總法奢摩他、毘鉢舍那? + +二、明緣小、緣大、緣無量揔法。文中分二:初問,後荅。此初,問也。 + +#12 2 答 + +善男子!若緣各別契經乃至各別論義,為一團等作意思惟,當知是名緣小總法奢摩他、毘鉢舍那。 + +若緣乃至所受、所思,契經等法,為一團等作意思惟,非緣各別,當知是名緣大總法奢摩他、毘鉢舍那。 + +#13 若緣無量如來法教、無量法句文字、無量後後慧所照了,為一團等作意思惟,非緣乃至所受所思,當知是名緣無量總法奢摩他、毘鉢舍那。 + +後荅。 + +#11 3 明齊幾何緣,名得緣揔法 + +#12 1 問 + +#13 世尊!菩薩齊何名得緣總法奢摩他、毘鉢舍那? + +三、明齊幾何緣,名得緣揔法。文中分二:初問,後荅。此初,問也。 + +#12 2 答 + +#13 善男子!由五緣故、當知名得: + +一者、於思惟時,剎那剎那融消一切麁重所依; + +二者、離種種想,得樂法樂; + +三者、解了十方無差別相無量法光; + +四者、所作成滿相應淨分,無分別相,恒現在前; + +#14 五者、為令法身得成、滿故,攝受後後轉勝妙因。 + +後荅也。 + +#11 4 明從何名通達?從何名得? + +#12 1 問 + +#13 世尊!此緣總法奢摩他、毘鉢舍那,當知從何名為通達?從何名得? + +四、明從何名通達?從何名得?文中分二:初問,後荅。此初,問也。 + +#12 2 答 + +#13 善男子!從初極喜地,名為通達;從第三發光地,乃名為得。善男子!初業菩薩,亦於是中隨學作意、雖未可歎;不應懈廢。 + +後荅也。 + +#10 10 有尋等三門 + +#11 1 問 + +#12 世尊!是奢摩他、毘鉢舍那,云何名有尋有伺三摩地?云何名無尋唯伺三摩地?云何名無尋無伺三摩地? + +十、有尋等三門,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 第一復次 + +善男子!於如所取尋伺法相,若有麁顯領受觀察,諸奢摩他、毘鉢舍那,是名有尋有伺三摩地。 + +若於彼相,雖無麁顯領受觀察,而有微細彼光明念,領受觀察,諸奢摩他、毘鉢舍那,是名無尋唯伺三摩地。 + +若即於彼一切法相,都無作意,領受觀察,諸奢摩他、毘鉢舍那,是名無尋無伺三摩地。 + +#12 2 第二復次 + +#13 復次善男子! + +若有尋求奢摩他、毘鉢舍那,是名有尋有伺三摩地。 + +若有伺察奢摩他、毘鉢舍那,是名無尋唯伺三摩地。 + +#14 若緣總法奢摩他、毘鉢舍那,是名無尋無伺三摩地。 + +後荅之中,有二復次釋,如文易知。 + +#10 11 止等三相門 + +#11 1 問 + +#12 世尊!云何止相?云何舉相?云何捨相? + +十一、止等三相門,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +善男子!若心掉舉、或恐掉舉時,諸可厭法作意、及彼無間心作意,是名止相。 + +若心沈沒、或恐沈沒時,諸可欣法作意、及彼心相作意,是名舉相。 + +#12 若於一向止道、或於一向觀道、或於雙運轉道,二隨煩惱所染污時,諸無功用作意、及心任運轉中所有作意,是名捨相。 + +後荅也。 + +#10 12 知法知義門 + +#11 1 問 + +#12 世尊!修奢摩他、毘鉢舍那諸菩薩眾,知法知義,云何知法?云何知義? + +十二、知法知義門,文中分二:初問,後荅。此初也。 + +> 註:參考成所作品:釋本母。 + +#11 2 答 + +#12 1 明知法 + +#13 1 標列揔荅 + +#14 善男子!彼諸菩薩由五種相、了知於法:一者、知名,二者、知句,三者、知文,四者、知別,五者、知總。 + +後荅之中,文分為二:初明知法,後辯知義。初中有三:一、標列揔荅;二、依標別釋;三、結荅前問。此即初也。 + +#13 2 依標別釋 + +#14 1 釋知名 + +#15 云何為名?謂於一切染淨法中,所立自性、想假施設。 + +二、依標別釋。文分為五:一、釋知名;二、釋知句;三、釋知文;四、釋知別;五、釋知揔。初中分二:初徵,後釋。 + +#14 2 釋知句 + +#15 云何為句?謂即於彼名聚集中,能隨宣說諸染淨義,依持建立。 + +二、釋知句。文中有二:初徵;後釋。 + +#14 3 釋知文 + +#15 云何為文?謂即彼二所依止字。 + +三、釋知文,於中有二:初徵;後釋。 + +#14 4 釋知別 + +#15 云何於彼各別了知?謂由各別所緣作意。 + +四、釋知別。文中有二:初徵;後釋。 + +#14 5 釋知揔 + +#15 云何於彼總合了知?謂由總合所緣作意。 + +五、釋知揔,文亦有二:初徵;後釋。 + +#13 3 結荅前問 + +#14 如是一切、總略為一,名為知法。如是名為菩薩知法。 + +三、結荅前問。 + +#12 2 辯知義 + +#13 1 知十種義 + +#14 1 標列揔荅 + +#15 善男子!彼諸菩薩、由十種相、了知於義:一者、知盡所有性,二者、知如所有性,三者、知能取義,四者、知所取義,五者、知建立義,六者、知受用義,七者、知顛倒義,八者、知無倒義,九者、知雜染義,十者、知清淨義。 + +後辯知義,文中有四:一、知十種義;二、知五種義;三、知四種義;四、知三種義。初中分三:一、標列揔荅;二、依標別釋;三、結荅前問。此即初也。 + +#14 2 依標別釋 + +#15 1 釋盡所有性 + +#16 善男子!1盡所有性者:謂諸雜染清淨法中,所有一切品別邊際,是名此中盡所有性。如五數蘊、六數內處、六數外處,如是一切。 + +二、依標別釋,文有其十:一、釋盡所有性;二、釋如所有性;三、釋能取義;四、釋所取義;五、釋建立義;六、釋受用義;七、釋顛倒義;八、釋無倒義;九、釋雜染義;十、釋清淨義。此即初也。 + +#15 2 釋如所有性 + +#16 2如所有性者:謂即一切染淨法中所有真如。是名此中如所有性。此復七種: + +一者、流轉真如;謂一切行無先後性。 + +二者、相真如;謂一切法補特伽羅無我性、及法無我性。 + +三者、了別真如;謂一切行、唯是識性。 + +四者、安立真如;謂我所說諸苦聖諦。 + +五者、邪行真如;謂我所說諸集聖諦。 + +六者、清淨真如;謂我所說諸滅聖諦。 + +七者、正行真如;謂我所說諸道聖諦。 + +當知此中由流轉真如、安立真如、邪行真如故,一切有情平等平等。 + +由相真如、了別真如故,一切諸法平等平等。 + +由清淨真如故,一切聲聞菩提、獨覺菩提、阿耨多羅三藐三菩提、平等平等。 + +#16 由正行真如故,聽聞正法、緣總境界勝奢摩他、毘鉢舍那所攝受慧,平等平等。 + +二、釋如所有性。 + +#15 3 釋能取義 + +#16 3能取義者:謂內五色處,若心意識、及諸心法。 + +三、釋能取義。 + +#15 4 釋所取義 + +#16 4所取義者:謂外六處。又能取義,亦所取義。 + +四、釋所取義。 + +#15 5 釋建立義 + +#16 5建立義者:謂器世界;於中可得建立一切諸有情界。謂一村田、若百村田、若千村田、若百千村田,或一大地至海邊際、此百此千、若此百千,或一贍部洲、此百此千、若此百千,或一四大洲、此百此千、若此百千,或一小千世界、此百此千、若此百千,或一中千世界、此百此千、若此百千,或一三千大千世界、此百此千、若此百千,或此拘胝、此百拘胝、此千拘胝、此百千拘胝,或此無數、此百無數、此千無數、此百千無數,或三千大千世界、無數百千微塵量等、於十方面無量無數諸器世界。 + +五、釋建立義。 + +#15 6 釋受用義 + +#16 6受用義者:謂我所說諸有情類,為受用故,攝受資具。 + +六、釋受用義。 + +#15 7 釋顛倒義 + +#16 7顛倒義者:謂即於彼能取等義,無常計常、想倒、心倒、見倒;苦計為樂、不淨計淨、無我計我,想倒、心倒、見倒。 + +七、釋顛倒義。 + +#15 8 釋無倒義 + +#16 8無倒義者:與上相違、能對治彼,應知其相。 + +八、釋無倒義。 + +#15 9 釋雜染義 + +#16 9雜染義者:謂三界中三種雜染:一者、煩惱雜染,二者、業雜染,三者、生雜染。 + +九、釋雜染義。 + +#15 10 釋清淨義 + +#16 10清淨義者:謂即如是三種雜染,所有離繫菩提分法。 + +十、釋清淨義。 + +#14 3 結荅前問 + +#15 善男子!如是十種、當知普攝一切諸義。 + +三、結荅前問。 + +#13 2 知五種義 + +#14 1 標列揔荅 + +#15 復次善男子!彼諸菩薩、由能了知五種義故,名為知義。何等五義?一者、遍知事,二者、遍知義,三者、遍知因,四者、得遍知果,五者、於此覺了。 + +二、知五種義,文中有三:一、標列揔荅;二、依標別釋;三、結荅前問。此即初也。 + +#14 2 依標別釋 + +#15 1 釋遍知事 + +#16 善男子!1遍知事者:當知即是一切所知,謂或諸蘊、或諸內處、或諸外處、如是一切。 + +二、依標別釋。文中有五:一、釋遍知事;二、釋遍知義;三、釋其遍知;四、釋遍知果;五、釋此覺了。此即初也。 + +#15 2 釋遍知義 + +#16 2遍知義者:乃至所有品類差別所應知境,或世俗故,或勝義故,或功德故,或過失故,緣故,世故,或生或住或壞相故,或如病等故,或苦集等故,或真如、實際、法界等故,或廣略故,或一向記故,或分別記故,或反問記故,或置記故,或隱密故,或顯了故,如是等類,當知一切名遍知義。 + +二、釋遍知義。 + +#15 3 釋其遍知 + +#16 3言遍知因者:當知即是能取前二、菩提分法,謂諸念住、或正斷等。 + +三、釋其遍知。 + +#15 4 釋遍知果 + +#16 4得遍知果者:謂貪、恚、癡斷毘柰耶,及貪、恚、癡一切永斷諸沙門果,及我所說聲聞、如來若共不共,世、出世間所有功德、於彼作證。 + +四、釋遍知果。 + +#15 5 釋此覺了 + +#16 5於此覺了者:謂即於此作證法中,諸解脫智、廣為他說宣揚開示。 + +五、釋此覺了。 + +#14 3 結荅前問 + +#15 善男子!如是五義,當知普攝一切諸義。 + +三、結荅前問。 + +#13 3 知四種義 + +#14 1 標 + +#15 復次善男子!彼諸菩薩,由能了知四種義故,名為知義。 + +三、知四種義,文中分四:一、標;二、徵;三、釋;四、結。此初也。 + +#14 2 徵 + +#15 何等四義? + +二、徵。 + +#14 3 釋 + +一者、心執受義, + +二者、領納義, + +三者、了別義, + +#15 四者、雜染、清淨義。 + +三、釋。 + +#14 4 結 + +#15 善男子!如是四義,當知普攝一切諸義。 + +四、結。 + +#13 4 知三種義 + +#14 1 標列揔荅 + +#15 復次善男子!彼諸菩薩、由能了知三種義故,名為知義。何等三義?一者、文義,二者、義義,三者、界義。 + +四、知三種義,文中分三:一、標列揔荅;二、依標別釋;三、結荅前問。此即初也。 + +#14 2 依標別釋 + +#15 1 釋文義 + +#16 善男子!言1文義者,謂名身等。 + +二、依標別釋。文中有三:一、釋文義;二、釋義義;三、釋界義。此即初也。 + +#15 2 釋義義 + +#16 2義義者,當知復有十種: + +一者、真實相, + +二者、遍知相, + +三者、永斷相, + +四者、作證相, + +五者、修習相, + +六者、即彼真實相等品差別相。 + +七者、所依能依相屬相, + +八者、即遍知等障礙法相, + +九者、即彼隨順法相, + +#17 十者、不遍知等及遍知等過患功德相。 + +二、釋義義。 + +#15 3 釋界義 + +#16 言3界義者,謂五種界: + +一者、器世界, + +二者、有情界, + +三者、法界, + +四者、所調伏界, + +#17 五者、調伏加行界。 + +> 註:《解深密經》作:調伏方便界。 + +三、釋界義。 + +#14 3 結荅前問 + +#15 善男子!如是五義,當知普攝一切諸義。 + +三、結荅前問。 + +#10 13 三慧差別門 + +#11 1 問 + +#12 世尊!若聞所成慧了知其義,若思所成慧了知其義,若奢摩他、毘鉢舍那修所成慧了知其義,此何差別? + +十三、三慧差別門,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 正釋三慧差別 + +善男子!聞所成慧、依止於文、但如其說,未善意趣,未現在前,隨順解脫、未能領受成解脫義。 + +思所成慧、亦依於文、不唯如說,亦善意趣,未現在前,轉順解脫、未能領受成解脫義。 + +#13 若諸菩薩修所成慧,亦依於文、亦不依文,亦如其說、亦不如說,能善意趣,所知事同分三摩地所行影像現前,極順解脫、已能領受成解脫義。 + +後荅分二:初正釋三慧差別;後結成三慧差別。此即初也。 + +#14 此中說三慧皆緣名、義。 + +初於聽聞,以文為先,而觀義者,名為聞慧。 + +次依思慮,以義為先,而觀文者,名為思慧。 + +次依於修,俱於文、義,證解明了,名為修慧。 + +此在因位,八地已上一體義分,七地已前各有別體,在佛位中無未曾得,都無聞、思,唯有修慧。然諸聖教,隨彼所冝,相增別說,緣名、義異,理實如是。 + +> 註:佛地皆已得一體三慧。 @ + +#12 2 結成三慧差別 + +#13 善男子!是名三種知義差別。 + +後結成三慧差別。 + +#10 14 智見差別門 + +#11 1 問 + +#12 世尊!修奢摩他、毘鉢舍那諸菩薩眾,知法、知義,云何為智?云何為見? + +十四、智見差別門,文中分二:初問,後荅。此初也。 + +#11 2 答 + +#12 善男子!我無量門宣說智、見二種差別,今當為汝略說其相。 + +若緣總法,修奢摩他、毘鉢舍那所有妙慧,是名為智; + +#13 若緣別法,修奢摩他、毘鉢舍那所有妙慧,是名為見。 + +後荅。 + +#10 15 遣相方便門 + +#11 1 明作意除相 + +#12 1 問 + +#13 世尊!修奢摩他、毘鉢舍那諸菩薩眾,由何作意、何等、云何除遣諸相? + +十五、遣相方便門,於中有三:一、明作意除相;二、辯真如無相;三、釋經中妨難。初中分二:初問,後荅。問中有三:一、問修止觀菩薩由何作意;二、問修止觀時除何等相;三、問云何觀行,除遣諸相。 + +#12 2 荅 + +#13 1 正荅 + +善男子!由真如作意, + +除遣法相及與義相。 + +若於其名及名自性,無所得時,亦不觀彼所依之相,如是除遣。 + +#14 後荅分二:初正荅,後例荅。此初,荅中,文亦有三: + +一、修止觀菩薩,由真如作意,荅初問也。 + +二、修止觀時,除遣法相及與義相,即證真如時,除遣影像,似真如相。 + +三、先於地前,尋思、如實,種種推求,知名等假。今入見道,證真如時,境、智平等,無分別行,不得名之所依之相,故云:若於其名及名自性無所得時,亦不觀彼所依之相,如是除遣。 + +#13 2 例荅 + +如於其名,於句、於文;於一切義,當知亦爾。 + +#14 乃至於界及界自性無所得時,亦不觀彼所依之相,如是除遣。 + +後例荅。如於其名,句等例准,故云:當知亦尒。乃至於界,亦同於名,例釋可知。 + +#11 2 辯真如無相 + +#12 1 問 + +世尊!諸所了知真如義相,此真如相亦可遣不? + +#12 2 答 + +#13 善男子!於所了知真如義中,都無有相,亦無所得,當何所遣?善男子!我說了知真如義時,能伏一切法、義之相,非此了達、餘所能伏。 + +二、辯真如無相,於中有二:初問,後荅。如文可知。 + +#11 3 釋經中妨難 + +#12 1 問 + +#13 世尊!如世尊說濁水器喻、不淨鏡喻、撓泉池喻、不任觀察自面影相;若堪任者,與上相違。如是若有不善修心,則不堪任如實觀察所有真如;若善修心、堪任觀察。此說何等能觀察心?依何真如而作是說? + +三、釋經中妨難。文中有二:初問,後荅。此初,問也。 + +#12 2 答 + +#13 善男子!此說三種能觀察心:謂聞所成能觀察心,若思所成能觀察心,若修所成能觀察心。依了別真如、作如是說。 + +後荅,易知。 + +#10 16 依空遣相門 + +#11 1 明別空遣相 + +#12 1 就增勝說,一空治一相 + +#13 1 明空除遣相 + +#14 1 問 + +#15 世尊!如是了知法義菩薩,為遣諸相勤修加行,有幾種相難可除遣?誰能除遣? + +十六、依空遣相門,於中有二:初明別空遣相;後辯揔空遣相。初中分二:初就增勝說一空治一相,後據盡理論一空治諸相。初中分二:初明空除遣相,後辯空所得果。初中分二:初問,後荅。問中有二:一、問有幾種難可除遣;二、問誰能除遣? + +#14 2 答 + +#15 1 總答 + +#16 善男子!有十種相、空能除遣。 + +後荅有二,初揔,後別。揔中有二:初、有十種相,荅第一問;後空能除遣,荅第二問。 + +#15 2 別答 + +#16 1 徵 + +#17 何等為十? + +二、別荅中,文分為二:初徵,後釋。此初,徵也。 + +#16 2 釋 + +一者、了知法、義故,有種種文字相;此由1一切法空、能正除遣。 + +二者、了知安立真如義故,有生、滅、住、異性,相續隨轉相;此由2相空、及3無先後空、能正除遣。 + +三者、了知能取義故、有顧戀身相、及我慢相;此由4內空、及5無所得空、能正除遣。 + +四者、了知所取義故、有顧戀財相;此由6外空、能正除遣。 + +五者、了知受用義、男女承事資具相應故、有內安樂相、外淨妙相;此由7內外空、及8本性空、能正除遣。 + +六者、了知建立義故、有無量相;此由9大空、能正除遣。 + +七者、了知無色故、有內寂靜解脫相;此由10有為空、能正除遣。 + +八者、了知相真如義故、有補特伽羅無我相、法無我相,若唯識相,及勝義相;此由11畢竟空、12無性空、13無性自性空、及14勝義空、能正除遣。 + +九者、了知清淨真如義故、有無為相、無變異相;此由15無為空、16無變異空、能正除遣。 + +#17 十者、即於彼相對治空性作意思惟故、有空性相;此由17空空、能正除遣。 + +後釋,有十:一者、了知法、義故,有種種文字相,荅第一問,此由一切法空,能正除遣,荅第二問。 + +此一既尒,餘九例然。皆有二荅,准前應釋。 + +#13 2 辯空所得果 + +#14 1 問 + +#15 世尊!除遣如是十種相時、除遣何等?從何等相而得解脫? + +二、辯空所得果。文中分二:初問,後荅。此初,問也。 + +#14 2 答 + +#15 善男子!除遣三摩地所行影像相;從雜染縛相而得解脫;彼亦除遣。 + +後荅,可解。 + +#12 2 據盡理論,一空治諸相 + +#13 1 法說 + +#14 善男子!當知就勝、說如是空、治如是相;非不一一治一切相 + +後據盡理論,一空治諸相。於中有三:一、法;二、喻;三、合。此初,法說也。 + +#13 2 喻況 + +#14 譬如無明,非不能生乃至老死諸雜染法;就勝、但說能生於行,由是諸行親近緣故。 + +二、喻況也。 + +#13 3 法合 + +#14 此中道理,當知亦尒。 + +三、法合也。 + +#11 2 辯揔空遣相 + +#12 1 問 + +世尊!此中何等空是總空性相? + +#13 若諸菩薩了知是已、無有失壞於空性相、離增上慢。 + +後辯揔空遣相,文中分二:初問,後荅。此初,問也。 + +#12 2 答 + +#13 1 讚問許說 + +#14 爾時世尊嘆慈氏菩薩曰:善哉!善哉!善男子!汝今乃能請問如來如是深義、令諸菩薩於空性相無有失壞。何以故?善男子!若諸菩薩於空性相有失壞者,便為失壞一切大乘。是故汝應諦聽諦聽,當為汝說總空性相。 + +後荅分二:初讚問許說,後正荅所問。此初也。 + +#13 2 正荅所問 + +#14 善男子!若於依他起相及圓成實相中,一切品類雜染、清淨遍計所執相,畢竟遠離性,及於此中都無所得;如是名為於大乘中總空性相。 + +後正荅所問,言揔空者,對別立名,約別而說。前云一切法空乃至空空,名為別空,據揔而論,此言依他及圓成實一切品類雜染清淨,遍計所執畢竟遠離,及於此中都無所得,名為揔空。若了此空已,即有二利:一、無失正行;二、離增上𢢔。 + +> 註:參考:不共陀羅尼義。 + +#10 17 能攝勝定門 + +#11 1 問 + +#12 世尊!此奢摩他毘鉢舍那、能攝幾種勝三摩地? + +十七、能攝勝定門,文中有二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!如我所說無量聲聞、菩薩、如來,有無量種勝三摩地,當知一切皆此所攝。 + +後荅,可知。 + +#10 18 止觀因果門 + +#11 1 初明其因 + +#12 1 問 + +#13 世尊!此奢摩他、毘鉢舍那,以何為因? + +十八、止觀因果門,文中分二:初明其因;後辯其果。初中分二:初問,後荅。此初,問也。 + +#12 2 答 + +#13 善男子!清淨尸羅、清淨聞思所成正見,以為其因。 + +後荅。學地止觀,以清淨尸羅,清淨聞思所成正見,以為其因,此是緣因。若止觀種子以為正因。 + +#11 2 後辯其果 + +#12 1 問 + +#13 世尊!此奢摩他、毘鉢舍那,以何為果? + +後辯其果。文中有二:初問,後荅。此初,問也。 + +#12 2 答 + +善男子!善清淨心、善清淨慧,以為其果。 + +#13 復次善男子!一切聲聞及如來等所有世間及出世間一切善法,當知皆是此奢摩他、毘鉢舍那所得之果。 + +後荅。以佛地善清淨心、善清淨慧以為其果;又無學聲聞及如來等,所有世出世閒一切善法,皆是學地止觀所得之果。 + +#10 19 止觀作業門 + +#11 1 問 + +#12 世尊!此奢摩他毘鉢舍那、能作何業? + +十九、止觀作業門。文分為二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!此能解脫二縛為業;所謂相縛、及麁重縛。 + +後荅。意云:此止觀能解脫相縛及麤重縛為業。 + +#10 20 止觀惑障門 + +#11 1 明五繫中障 + +#12 1 問 + +#13 世尊!如佛所說五種繫中、幾是奢摩他障?幾是毘鉢舍那障?幾是俱障? + +二十、止觀惑障門,於中分二:初明五繫中障;後辯五盖中障。初中分二:初問,後荅。此初,問也。 + +#12 2 答 + +善男子!顧戀身財、是奢摩他障; + +於諸聖教不得隨欲、是毘鉢舍那障; + +#13 樂相雜住、於少喜足、當知俱障。由第一故、不能造修;由第二故、所修加行不到究竟。 + +後荅,如文易知。 + +#11 2 辯五盖中障 + +#12 1 問 + +#13 世尊!於五蓋中、幾是奢摩他障?幾是毘鉢舍那障?幾是俱障? + +後辯五盖中障。文分為二:初問,後荅。此初,問也。 + +#12 2 答 + +善男子!掉舉、惡作、是奢摩他障; + +惛沈、睡眠、疑、是毘鉢舍那障; + +#13 貪欲、瞋恚、當知俱障。 + +後荅,可解。 + +#10 21 圓滿清淨門 + +#11 1 明止 + +#12 1 問 + +#13 世尊!齊何名得奢摩他道圓滿清淨? + +二十一、圓滿清淨門,於中有二:初明止,後辯觀。初中分二:初問,後荅。此初,問也。 + +#12 2 答 + +#13 善男子!乃至所有惛沈、睡眠,正善除遣,齊是名得奢摩他道圓滿清淨。 + +後荅也。 + +#11 2 辯觀 + +#12 1 問 + +#13 世尊!齊何名得毘鉢舍那道圓滿清淨? + +後辯觀中,文亦分二:初問,後荅。此初,問也。 + +#12 2 答 + +#13 善男子!乃至所有掉舉、惡作,正善除遣,齊是名得毘鉢舍那道圓滿清淨。 + +後荅也。 + +#10 22 止觀散動門 + +#11 1 問 + +#12 世尊!若諸菩薩於奢摩他、毘鉢舍那現在前時、應知幾種心散動法? + +二十二、止觀散動門。文中有二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 標列揔荅 + +#13 善男子!應知五種:一者、作意散動,二者、外心散動,三者、內心散動,四者、相散動,五者、麁重散動。 + +後荅分二:初標列揔荅,後依標別釋。此即初也。 + +#12 2 依標別釋 + +#13 1 釋作意散動 + +#14 善男子!若諸菩薩捨於大乘相應作意,墮在聲聞獨覺相應諸作意中,當知是名1作意散動。 + +後依標別釋,文中有五:一、釋作意散動;二、釋外心散動;三、釋內心散動;四、釋相散動;五、釋麤重散動。此即初也。 + +#13 2 釋外心散動 + +#14 若於其外,五種妙欲,諸雜亂相,所有尋思隨煩惱中,及於其外所緣境中,縱心流散,當知是名2外心散動。 + +二、釋外心散動。 + +#13 3 釋內心散動 + +#14 若由惛沈及以睡眠,或由沈沒、或由愛味三摩鉢底,或由隨一三摩鉢底,諸隨煩惱之所染污,當知是名3內心散動。 + +三、釋內心散動。 + +#13 4 釋相散動 + +#14 若依外相、於內等持所行諸相、作意思惟,名4相散動。 + +四、釋相散動。 + +#13 5 釋麤重散動 + +#14 若內作意為緣、生起所有諸受,由麁重身計我起慢,當知是名5麁重散動。 + +五、釋麤重散動。 + +#10 23 止觀治障門 + +#11 1 問 + +#12 世尊!此奢摩他、毘鉢舍那,從初菩薩地乃至如來地,能對治何障? + +二十三、止觀治障門,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 明菩薩地對治障 + +#13 善男子!此奢摩他、毘鉢舍那, + +於初地中、對治惡趣煩惱、業、生雜染障; + +第二地中、對治微細誤犯現行障; + +第三地中、對治欲貪障; + +第四地中、對治定愛及法愛障; + +第五地中、對治生死涅槃一向背趣障; + +第六地中、對治相多現行障; + +第七地中、對治細相現行障; + +第八地中、對治於無相作功用、及於有相不得自在障; + +第九地中、對治於一切種善巧言詞、不得自在障; + +#14 第十地中、對治不得圓滿法身證得障。 + +後荅,文中,對治惡趣等十一障,即是下說,二十二愚,如彼廣辯,更不預述。 + +文中分二:初明菩薩地對治障;後辯如來地對治障。此即初也。 + +#12 2 辯如來地對治障 + +#13 善男子!此奢摩他、毘鉢舍那,於如來地,對治極微細、最極微細煩惱障及所知障。由能永害如是障故、究竟證得無著、無礙一切智見;依於所作成滿所緣、建立最極清淨法身。 + +後辯如來地對治障。 + +#10 24 修證菩提門 + +#11 1 問 + +#12 世尊!云何菩薩依奢摩他、毘鉢舍那勤修行故,證得阿耨多羅三藐三菩提? + +二十四、修證菩提門,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 標 + +#13 善男子!若諸菩薩已得奢摩他、毘鉢舍那,依七真如,於如所聞、所思法中,由勝定心,於善審定、於善思量、於善安立、真如性中,內正思惟。彼於真如正思惟故,心於一切細相現行、尚能棄捨,何況麁相。 + +後荅有三:一、標;二、釋;三、結。此初,標也。 + +#12 2 釋 + +#13 1 依法說 + +善男子!言細相者:謂心所執受相、或領納相、或了別相、或雜染清淨相、或內相、或外相、或內外相、或謂我當修行一切利有情相、或正智相、或真如相、或苦集滅道相、或有為相、或無為相、或有常相、或無常相、或苦有變異性相、或苦無變異性相、或有為異相相、或有為同相相、或知一切是一切已有一切相、或補特伽羅無我相、或法無我相。於彼現行、心能棄捨。 + +彼既多住如是行故,於時時間,從其一切繫蓋散動,善修治心。從是已後,於七真如,有七各別自內所證通達智生,名為見道。 + +由得此故,名入菩薩正性離生;生如來家,證得初地。 + +又能受用此地勝德。 + +彼於先時,由得奢摩他、毘鉢舍那故,已得二種所緣:謂有分別影像所緣、及無分別影像所緣。 + +彼於今時得見道故,更證得事邊際所緣。 + +#14 復於後後一切地中、進修修道,即於如是三種所緣作意思惟。 + +二釋,有二:初依法說;後舉喻明。此初也。 + +有為異相者,色心等異故。 + +有為同相者,苦無常等同故。 + +或知一切等者,知一切法既是一切已,即有一切相也。 + +由得奢摩他等者,由得止觀故,已得二種所緣,謂有分別影像所緣,及無分別影像所緣。此二所緣皆是地前止觀所緣。彼於今時得見道故,更證得第三事邊際所緣,以彼真如遍諸事法,名事邊際。 + +復於後後等者,此明修道,復於見道之後,後九地中進修修道,即於如是前來三種所緣,作意思惟。 + +#13 2 舉喻明 + +#14 1 喻 + +#15 譬如有人,以其細楔、出於麁楔; + +後舉喻明,文中分二:初喻,後合。此初,喻也。 + +#14 2 合 + +如是菩薩依此以楔出楔加行、遣內相故,一切隨順雜染分相、皆悉除遣。相除遣故,麁重亦遣。 + +#15 永害一切相麁重故,漸次於彼後後地中,如煉金法、陶鍊其心,乃至證得阿耨多羅三藐三菩提,又得所作成滿所緣。 + +後合之中,如是菩薩依此喻中,以其細楔出於麤楔,合中以其方便,遣內細相故,一切隨順雜染心相皆悉除遣。由細相除遣故,麤重亦遣。永害一切相麤重故,漸次於彼後後地中,如鍊金法陶鍊其心,乃至證得無上菩提。 + +又得所作成滿所緣者,地前已得初二所緣,見道方得事邊際所緣,佛地則得所作成滿所緣。 + +#12 3 結 + +#13 善男子!如是菩薩、於內止觀,正修行故,證得阿耨多羅三藐三菩提。 + +三,結也。 + +#10 25 引發威德門 + +#11 1 問 + +#12 世尊!云何修行,引發菩薩廣大威德? + +二十五、引發威德門,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 標列揔荅 + +#13 善男子!若諸菩薩善知六處,便能引發菩薩所有廣大威德:一者、善知心生;二者、善知心住;三者、善知心出;四者、善知心增;五者、善知心減;六者、善知方便。 + +後荅分三:一、標列揔荅;二、依標別釋;三、結引發時。此即初也。 + +#12 2 依標別釋 + +#13 1 釋善知心生 + +#14 1 徵 + +#15 云何1善知心生? + +二、依標別釋。文分為六:一、釋善知心生;二、釋善知心住;三、釋善知心出;四、釋善知心增;五、釋善知心減;六、釋善知方便。此初有二:初徵,後釋。此初也。 + +#14 2 釋 + +#15 1 初揔標釋 + +#16 謂如實知,十六行心,生起差別、是名善知心生。 + +後釋分二:初揔標釋,後別𤗊釋。 + +#15 2 後別𤗊釋 + +#16 十六行心生起差別者: + +一者、不可覺知堅住器識生;謂阿陀那識。 + +#17 二者、種種行相所緣識生, + +謂頓取一切色等境界、分別意識, + +及頓取內外境界、覺受, + +或頓於一念瞬息須臾、現入多定、見多佛土、見多如來、分別意識。 + +三者、小相所緣識生;謂欲界繫識。 + +四者、大相所緣識生;謂色界繫識。 + +五者、無量相所緣識生;謂空、識無邊處繫識。 + +六者、微細相所緣識生;謂無所有處繫識。 + +七者、邊際相所緣識生;謂非想非非想處繫識。 + +八者、無相識生;謂出世識、及緣滅識。 + +九者、苦俱行識生;謂那落迦識。 + +十者、雜受俱行識生;謂欲行識。 + +十一、喜俱行識生;謂初二靜慮識。 + +十二、樂俱行識生;謂第三靜慮識。 + +十三、不苦不樂俱行識生;謂從第四靜慮、乃至非想非非想處識。 + +十四、染污俱行識生;謂諸煩惱及隨煩惱相應識。 + +十五、善俱行識生;謂信等相應識。 + +#17 十六、無記俱行識生;謂彼俱不相應識。 + +#18 後別𤗊釋: + +一者、不可覺知堅住者,謂賴耶行相難知,名不可覺知。相續不斷而住,名為堅住。能變、能緣外器世界,名為器。識謂阿陁那,如前已釋。 + +二者、種種行相所緣識等者,即第六意識。隨作一種行解,頓取諸法,故言種種行相。所緣識生,謂頓取一切色等境界,分別意識言及頓取內外境界。覺受者,身識頓取內外觸境而生覺受。言或頓於一念等者,此據大地菩薩後得智,在定見多佛等,故云分別意識。 + +三、四,小、大相所緣識生,謂欲、色繫識,據緣二界內身,故有小、大。 + +五、六、七,三緣四無色。 + +八者,無相識生等者,謂無漏識。無七種相,名無相識。及緣滅識者,緣滅定識也。 + +九至十三,明三受俱行識。 + +十四至十六,辯染淨無記識。 + +#13 2 釋善知心住 + +#14 云何2善知心住?謂如實知了別真如。 + +二、釋善知心住,文具徵、釋。 + +#13 3 釋善知心出 + +#14 云何3善知心出?謂如實知,出二種縛,所謂相縛、及麁重縛。此能善知,應令其心從如是出。 + +三、釋善知心出,文具徵、釋,如前可知。 + +#13 4 釋善知心增 + +#14 云何4善知心增?謂如實知,能治相縛、麁重縛心,彼增長時、彼積集時,亦得增長,亦得積集,名善知增。 + +四、釋善知心增,具徵、釋、結。 + +#13 5 釋善知心減 + +#14 云何5善知心減?謂如實知,彼所對治相及麁重所雜染心,彼衰退時、彼損減時,此亦衰退、此亦損減,名善知減。 + +五、釋善知心減,具徵、釋、結。 + +#13 6 釋善知方便 + +#14 云何6善知加行?謂如實知,解脫、勝處、及與遍處、或修或遣。 + +六、釋善知方便,文具徵、釋。 + +#12 3 結引發時 + +#13 善男子!如是菩薩,於諸菩薩廣大威德,或已引發、或當引發、或現引發。 + +三、結引發時。 + +#10 26 涅盤滅受門 + +#11 1 問 + +#12 世尊!如世尊說:於無餘依涅槃界中,一切諸受無餘永滅,何等諸受於此永滅? + +二十六、涅盤滅受門,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 明所依麤重、彼果境界,二種之受 + +#13 1 標列揔荅 + +#14 善男子!以要言之,有二種受,無餘永滅。何等為二?一者、所依麁重受,二者、彼果境界受。 + +後荅有二:初明所依麤重、彼果境界,二種之受;後辯有餘、無餘涅盤界中滅受多少。初中有二:初標列揔荅,後依標別釋。此即初也。 + +#13 2 依標別釋 + +#14 1 釋所依麤重受 + +#15 1所依麁重受,當知有四種: + +一者、有色所依受, + +二者、無色所依受, + +三者、果已成滿麁重受, + +#16 四者、果未成滿麁重受。 + +果已成滿受者:謂現在受。 + +果未成滿受者:謂未來因受。 + +後依標別釋,文中有二:初釋所依麤重受;後釋彼果境界受。此即初也。 + +所依麤重者,謂內六根生受,名為所依,體是有漏,由有煩𢙉麤重不調柔性之所隨逐,名所依麤重受。當知有四種:一者、有色所依受,即五識受;二者、無色所依受,即意識受;三者、果已成滿麤重受,謂現在苦受;四者、果未成滿麤重受,謂業煩𢙉,是未來因受。 + +#14 2 釋彼果境界受 + +#15 2彼果境界受,亦有四種:一者、依持受,二者、資具受,三者、受用受,四者、顧戀受。 + +後釋彼果境界受者,謂外五塵,由內五根勢力引生,即是內根之果,是故說名彼果境界。受亦有四種:一者依持受,謂器世界,是依持緣法之所生受,名依持受。二者資具受,可知。三者受用受,即前二受,受用器界及以資具,名受用受。四者頋戀受,即頋戀財物之受。 + +> 註:“頋”字,宋藏遺珍 寫作“[(厂@((既-旡)-日+口))*頁]”,左為“厄”。 + +#12 2後辯有餘、無餘涅槃界中,滅受多少 + +#13 於有餘依涅槃界中,果未成滿受一切已滅;領彼對治明觸生受;領受共有、或復彼果已成滿受。 + +又二種受,一切已滅,唯現領受明觸生受。 + +#13 於無餘依涅槃界中般涅槃時,此亦永滅,是故說言於無餘依涅槃界中,一切諸受,無餘永滅。 + +後辯有餘、無餘涅槃界中滅受多少。 + +#9 2 讚述勸學 + +#10 爾時世尊說是語已,告慈氏菩薩曰:善哉!善哉!善男子!汝今善能依止圓滿最極清淨妙瑜伽道,請問如來。汝於瑜伽,已得決定最極善巧;吾已為汝宣說圓滿最極清淨妙瑜伽道。所有一切過去未來正等覺者,已說當說,皆亦如是。諸善男子、若善女人,皆應依此勇猛精進,當正修學。 + +後讚述勸學,如文易知。 + +#8 2 以頌結成 + +爾時世尊欲重宣此義、而說頌曰: + +1於法假立瑜伽中,若行放逸失大義; + +依止此法及瑜伽,若正修行得大覺、 + +2見有所得、求免難,若謂此見為得法; + +慈氏!彼去瑜伽遠,譬如大地與虛空。 + +3利生堅固而不作,悟已、勤修利有情; + +智者作此窮劫量,便得最上離染喜。 + +4若人為欲而說法;彼名捨欲、還取欲。 + +愚癡得法無價寶,反更遊行而乞匃。 + +5於諍諠雜戲論著,應捨,發起上精進。 + +#9 為度諸天及世間、於此瑜伽汝當學。 + +後以頌結成。 + +言於法假立至得大覺者,此初一頌,結前長行。第一門云:善男子!當知!菩薩法假安立及不捨無上正等覺願,為依為住,於大乘中修奢摩他、毗鉢舍那。違之,即失於大義;順之,乃大覺得成。 + +第二頌,教修無相自利之行,見有所得,無相不成。 + +第三頌,教修無相利他之行; + +第四頌,染心說法,虛損其功。 + +第五頌,勸捨戲論,修學瑜伽。 + +#7 2 請立經名 + +#8 1 問 + +#9 爾時慈氏菩薩復白佛言:世尊!於是解深密法門中、當何名此教?我當云何奉持? + +二、請立經名。文中有二:初問,後荅。此初,問也。 + +#8 2 答 + +#9 佛告慈氏!此名瑜伽了義之教,於此瑜伽了義之教、汝當奉持。 + +後荅。 + +#7 3 時眾得益 + +#8 說此瑜伽了義教時、於大會中、有六百千眾生、發阿耨多羅三藐三菩提心;三百千聲聞、遠塵離垢,於諸法中得法眼淨;一百五十千聲聞、諸漏永盡,心得解脫;七十五千菩薩、獲得廣大瑜伽作意。 + +三、時眾得益,發菩提心,得法眼淨,心得解脫等,如前已釋,更不繁述。 + +#4 6 如實大乘 + +#5 1 標 + +#6 復次依乘假立、分別解說如實大乘, + +> 論卷第七十八,攝決擇分中,菩薩地之七, + +第六、如實大乘,文中分二:初標,後釋。此初也。 + +#5 2 釋 + +#6 1 先標說處 + +#7 當知如《解深密經》中, + +後釋中分二:初標說處,後引經釋。此初也。 + +#6 2 後引經釋 + +#7 1 辯諸地義 + +#8 1 長行廣辯 + +#9 1 辯諸地清淨攝義 + +#10 1 辯諸地清淨攝義 + +#11 1 問 + +#12 觀自在菩薩白佛言:世尊!如佛所說菩薩十地,所謂極喜地、離垢地、發光地、焰慧地、極難勝地、現前地、遠行地、不動地、善慧地、法雲地;復說佛地、為第十一。如是諸地、幾種清淨?幾分所攝? + +後引經釋,文中分三:一、辯諸地義;二、請立經名;三、時眾得益。初中分二:初長行廣辯;後以頌結成。初復分四:一、辯諸地清淨攝義;二、彰地中所有學法;三、明地中所有煩𢙉;四、釋唯說一乘密意。初中分六:一、辯諸地清淨攝義;二、釋諸地得名因由;三、明地中所對治法;四、彰諸地清淨通德;五、說四緣菩薩生勝;六、顯菩薩行諸大願。初中復二,初問;後荅。此初,申其二問:一、問諸地幾種清淨;二、問諸地幾分所攝。 + +梵云阿縛盧枳帝濕伐邏耶,此云觀自在,觀三業歸依而拔眾苦,略云觀音。 + +#11 2 答 + +#12 1 標數揔荅 + +#13 佛告觀自在菩薩曰:善男子!當知諸地、四種清淨,十一分攝。 + +後荅分二:初標數揔荅,後依標別釋。此初也。 + +#12 2 依標別釋 + +#13 1 釋四種清淨 + +#14 1 徵 + +#15 云何四種清淨能攝諸地? + +後依標別釋,文分為二:初釋四種清淨,後釋十一分攝。初中分三:一、徵;二、釋;三、結。此初,徵也。 + +#14 2 釋 + +謂增上意樂清淨、攝於初地; + +增上戒清淨、攝第二地; + +增上心清淨、攝第三地; + +#15 增上慧清淨、於後後地轉勝妙故,當知能攝從第四地乃至佛地。 + +二釋也。 + +#14 3 結 + +#15 善男子!當知如是四種清淨普攝諸地。 + +三結荅,可知。 + +#13 2 釋十一分攝 + +#14 1 徵 + +#15 云何十一至能攝諸地? + +後釋十一分攝。文中分三:一、徵;二、釋;三、結。此初,徵也。 + +#14 2 釋 + +#15 謂諸菩薩先於勝解行地,依十法行、極善修習勝解忍故,超過彼地、證入菩薩正性離生;彼諸菩薩、由是因緣、此分圓滿。1謂諸菩薩先於勝解行地,依十法行、極善修習勝解忍故,超過彼地、證入菩薩正性離生;彼諸菩薩、由是因緣、此分圓滿。1 + +後釋,十一分攝十一地,一一地中皆有二分:一、自分圓滿;二、勝進分未圓滿。文中分為十一叚,此第一分攝初地。 + +為令此分、得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。2 + +#15 而未能得世間圓滿等持等至、及圓滿聞持陀羅尼;由是因緣、於此分中猶未圓滿。 + +第二分攝二地。 + +為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。3 + +#15 而未能令隨所獲得菩提分法、多修習住,心未能捨諸等至愛、及與法愛;由是因緣、於此分中猶未圓滿。 + +第三分攝三地。 + +為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。4 + +#15 而未能於諸諦道理、如實觀察;又未能於生死涅槃、棄捨一向背趣作意;又未能修方便所攝菩提分法;由是因緣、於此分中猶未圓滿。 + +第四分攝四地。 + +為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。5 + +#15 而未能於生死流轉、如實觀察;又由於彼多生厭故、未能多住無相作意;由是因緣、於此分中猶未圓滿。 + +第五分攝五地。 + +為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。6 + +#15 而未能令無相作意、無缺無間多修習住;由是因緣、於此分中猶未圓滿。 + +第六分攝六地。 + +為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。7 + +#15 而未能於無相住中、捨離功用;又未能得於相自在;由是因緣、於此分中猶未圓滿。 + +第七分攝七地。 + +為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。8 + +#15 而未能於異名、眾相、訓詞差別、一切品類宣說法中、得大自在;由是因緣、於此分中猶未圓滿。 + +第八分攝八地。 + +為令此分得圓滿故,精勤修習、便能證得。彼諸菩薩、由是因緣、此分圓滿。9 + +#15 而未能得圓滿法身現前證受;由是因緣、於此分中猶未圓滿。 + +第九分攝九地。 + +為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。10 + +#15 而未能得遍於一切所知境界無著無礙妙智妙見;由是因緣、於此分中猶未圓滿。 + +第十分攝十地。 + +#15 為令此分得圓滿故;精勤修習、便能證得;由是因緣、此分圓滿。此分滿故;於一切分、皆得圓滿。11 + +第十一分攝十一地。 + +#14 3 結 + +#15 善男子!當知如是十一種分,普攝諸地。 + +三結荅,可知。 + +#10 2 釋諸地得名因由 + +#11 1 問 + +#12 世尊!何緣最初名極喜地,乃至何緣說名佛地? + +二、釋諸地得名因由。文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!成就大義、得未曾得出世間心、生大歡喜;是故最初名極喜地。 + +後荅文中分十一叚,此即第一極喜地也。 + +> 註:“叚”字宋藏遺珍左邊有四橫,應為“段”之異體字。http://www.guoxuedashi.com/zidian/ytz_s2089o.html + +具證二空,能益自他,名成就大義。初獲大士聖性,名得未曾得出世間心。從上三因,生大歡喜,是故最初名極喜地。《唯識論》云:一、極喜地,初獲聖性,具證二空,能益自他,生大喜故。 + +#12 遠離一切微細犯戒;是故第二名離垢地。 + +二、離垢地,此由具淨尸羅,遠離一切微細犯戒,因此彰名為離垢地。《唯識論》云:二、離垢地具淨尸羅,遠離,能起微細毀犯煩𢙉垢故。 + +#12 由彼所得三摩地、及聞持陀羅尼,能為無量智光依止;是故第三名發光地。 + +三、發光地,三地菩薩成就勝定,及聞持陁羅尼,能為無量智光依止,從此得名為發光地。《唯識論》云:三、發光地成就勝定大法揔持,能發無邊妙慧光故。 + +#12 由彼所得菩提分法、燒諸煩惱、智如火焰;是故第四名焰慧地。 + +四熖慧地,四地所得菩提分法,以慧熖火燒煩𢙉薪,由此立名為熖慧地。《唯識論》云:四、熖慧地,安住最勝菩提分法,燒煩𢙉薪,慧熖增故。 + +#12 由即於彼菩提分法方便修習、最極艱難方得自在;是故第五名極難勝地。 + +五、極難勝地,真俗兩智,行相㸦違,合令相應,最極艱難。即一念中,二智並起,真俗雙照,名曰相應。從此彰名,極難勝地。《唯識論》云:五、極難勝地,真俗兩智,行相㸦違,合令相應,極難勝故。 + +#12 現前觀察諸行流轉;又於無相、多修作意方現在前;是故第六名現前地。 + +六、現前地,由現前加行智,先觀諸行流轉,又於無相多修作意,引生無分別智,方現在前,因此立名為現前地。《唯識論》云:六、現前地,住緣起智,引無分別最勝般若令現前故。 + +#12 能遠證入無缺無間、無相作意、與清淨地共相隣接;是故第七名遠行地。 + +七、遠行地,謂從初地至於七地,經一僧祇修無相行,方得無閒,證入無相,與第八清淨地共相隣接,由此彰名為遠行地。《唯識論》云:七遠行地,至無相住,功用後邊,出過世閒二乘道故。 + +#12 由於無相得無功用,於諸相中不為現行煩惱所動;是故第八名不動地。 + +八、不動地,真智得無功用,不為功用所動;俗智雖有功用,不為現行煩𢙉所動。從此彰名為不動地。《唯識論》云:八、不動地,無分別智任運相續,相用煩𢙉不能動故。 + +#12 於一切種說法自在、獲得無量廣大智慧;是故第九名善慧地。 + +九、善慧地,成就微妙四無礙解,於一切種善達機冝,說法自在,獲得無量廣大智慧,由此立名為善慧地。《唯識論》云:九、善慧地,成就微妙四無礙解,能遍十方善說法故。 + +#12 麁重之身、廣如虛空,法身圓滿、譬如大雲、皆能遍覆;是故第十名法雲地。 + +十、法雲地,無邊煩𢙉,所知障體,所有隨眠,不調柔性,名麤重身,廣如虛空,十地所證法身圓滿,皆能遍覆,如空麤重,從此彰名為法雲地。《唯識論》云:十、法雲地,大法智雲,含眾德水,蔽如空麤重,充滿法身故。 + +#12 永斷最極微細煩惱及所知障,無著無礙、於一切種所知境界現正等覺;故第十一說名佛地。 + +十一佛地,釋得名因,文顯易知。 + +#10 3 明地中所對治法 + +#11 1 觀音請問 + +#12 世尊!於此諸地、有幾愚癡、有幾麁重、為所對治? + +三明地中所對治法,文分為四:一、觀音請問;二、如來酬荅;三、結成前義;四、讚所得果。此初,問也。 + +#11 2 如來酬荅 + +#12 1 標數揔荅 + +#13 善男子!此諸地中、有二十二種愚癡、十一種麁重、為所對治。 + +二、如來酬荅。文中有二:初標數揔荅;後依標別釋。此即初也。 + +#12 2 依標別釋 + +#13 謂於初地有二愚癡:一者、執著補特伽羅及法愚癡,二者、惡趣雜染愚癡,及彼麁重、為所對治。 + +後依摽別釋,文中分十一段。 + +#14 一、明初地二愚、一麤重: + +一者、執著補特伽羅及法愚癡,即是我法二執; + +#15 二者、惡趣雜染愚癡,即彼惡趣諸業果及無想天、北俱盧州等。 + +問:何故業果亦名為愚? + +荅:准《唯識》,通云應知愚品,惣說為愚。後准此釋。論主意云:諸業果等,雖體非愚,業是愚所起果,是愚所感,愚之品故,亦名為愚。後諸地言愚,准於此解。如第二地業趣愚,非體是愚故。又初執著我法愚中,亦有貪見等,體非是愚,亦愚之品故。下准此知。 + +> 註:CBETA“論王意云”,應誤。@ + +#15 及彼麤重,論有二釋: + +一云、顯彼二種,即二愚種子,名為麤重; + +二云、或二所起無堪任性,即二愚習氣,名為麤重。 + +後十麤重皆有二釋,准此應知。 + +#13 於第二地有二愚癡:一者、微細誤犯愚癡,二者、種種業趣愚癡,及彼麁重、為所對治。 + +#14 二、明二地二愚一麤重: + +一者、微細誤犯愚癡,謂所知障中俱生一分,能發三業所知障也。 + +二者、種種業趣愚癡,即所起三業。是愚品故,亦得愚名。 + +#13 於第三地有二愚癡:一者、欲貪愚癡,二者、圓滿聞持陀羅尼愚癡,及彼麁重、為所對治。 + +#14 三、明三地二愚一麤重: + +#15 一者、欲貪愚癡,由貪妙欲,多住散亂,能障於定及障修慧,以修慧與定相隣近,故偏說障修,非不障於聞、思二慧。 + +問:何以得知欲貪愚癡,障、定及修? + +荅:《唯識論》云:一欲貪愚,即是此中能障勝定及修慧者。 + +問:欲貪乃是煩𢙉之名,如何所知障中名為欲貪? + +> 註:CBETA作“欲食乃是”,應誤。@ + +荅:彼所知障多,與煩𢙉中欲貪俱故,名欲貪愚癡。非所知障體,名為欲貪。今得勝定及修所成,彼所知障為本既斷,煩𢙉是末,而亦隨伏。何所以耶?以此煩𢙉,無始已來,依所知障而方起故。《唯識論》云:彼昔多與欲貪俱故,名欲貪愚。今得勝定及修所成,彼既永断,欲貪隨伏,此無始來,依彼轉故。 + +二者、圓滿聞持陁羅尼愚癡,此障揔持及聞、思二慧,以聞、思二慧與彼聞持相隣近故,偏說為障,非不障修。 + +#13 於第四地有二愚癡:一者、等至愛愚癡,二者、法愛愚癡,及彼麁重、為所對治。 + +#14 四、明四地二愚一麤重: + +一者、等至愛愚癡; + +二者、法愛愚癡。 + +第三地中,於定及法,猶染著故,即與內證菩提分法,特相違害,入四地時,便能永斷。《唯識論》云:身見等言,亦攝無始所知障攝,定愛、法愛,彼定、法愛,三地尚增,入四地時,方能永斷菩提分法,特違彼故。 + +#13 於第五地有二愚癡:一者、一向作意棄背生死愚癡,二者、一向作意趣向涅槃愚癡,及彼麁重、為所對治。 + +#14 五、明五地二愚一麤重: + +一者、一向作意棄背生死愚癡; + +二者、一向作意趣向涅槃愚癡。 + +謂所知障中俱生一分,令猒生死,樂趣涅盤,同下二乘,猒苦欣滅。 + +此地真如名無差別,故緣彼道名無差別。生死涅盤既無差別,何得有猒?復有欣耶?《唯識論》云:彼障五地無差別道,入五地時便能永斷。 + +#13 於第六地有二愚癡:一者、現前觀察諸行流轉愚癡,二者、相多現行愚癡,及彼麁重、為所對治。 + +#14 六、明六地二愚一麤重: + +一者、現前觀察諸行流轉愚癡,即觀苦集流轉染相; + +二者、相多現行愚癡,即觀滅道還滅淨相。 + +由前地中觀四諦故,有二染、二淨故,障六地無染淨道。 + +此地真如無染淨故,緣彼之道,名無染淨。《唯識論》云:謂所知障中,俱生一分,執有染淨,麤相現行,彼障六地無染淨道,入六地時便能永斷。 + +#13 於第七地有二愚癡:一者、微細相現行愚癡,二者、一向無相作意方便愚癡,及彼麁重、為所對治。 + +#14 七、明七地二愚一麤重: + +一者、微細相現行愚癡,即是此中執有生者,猶取流轉細生相故。據實具執生、滅二相,恐濫還滅,故但說生,非不執滅。 + +二者、一向無相作意方便愚癡,即是此中執有滅者,尚取還滅細滅相。 + +故《唯識論》云:謂所知障中俱生一分,執有生、滅細相現行,彼障七地妙無相道,入七地時便能永斷。 + +#13 於第八地有二愚癡:一者、於無相作功用愚癡,二者、於相自在愚癡,及彼麁重、為所對治。 + +#14 八、明八地二愚一麤重: + +一者、於無相作功用愚癡; + +二者、於相自在愚癡。 + +《唯識論》云:謂所知障中俱生一分,令無相觀,不任運起,乃至由無相中有加行故,未能任運現相及土。如是加行,障八地中無功用道故。若得入八地時,便能永斷,彼永斷故,得二自在。 + +#13 於第九地有二愚癡:一者、於無量說法、無量法句文字後後慧辯陀羅尼自在愚癡,二者、辯才自在愚癡,及彼麁重、為所對治。 + +#14 九、明九地二愚一麤重: + +#15 一者、於無量說法無量法句文字後後慧辯陁羅尼自在愚癡。 + +於無量說法陁羅𡰱自在者,謂1義無礙解,即於所詮,揔持自在,於一義中現一切義故。 + +於無量法句文字陁羅尼自在者,謂2法無礙解,即於能詮揔持自在,於一名句字中,現一切名字故。 + +> 註:CBETA“揔持自在”闕“自”字。 + +於後後慧辯陁羅尼自在者,謂3詞無礙解,即於言音展轉訓釋,揔持自在,於一音聲中現一切音聲故。 + +二者、辯才自在愚癡。辯才自在者,謂4辯無礙解,善達機冝,巧為說故。 + +愚能障此四種自在,皆是此中第九障攝。 + +#13 於第十地有二愚癡:一者、大神通愚癡,二者、悟入微細祕密愚癡,及彼麁重、為所對治。 + +#14 十、明十地二愚一麤重: + +一者、大神通愚癡,即是此中障所起事業者; + +二者、悟入微細秘密愚癡,即是此中障大法智雲及所含藏者。 + +《唯識論》云:謂所知障中俱生一分,令於諸法不得自在。彼障十地大法智雲及所含藏所起事業,入十地時便能永斷。 + +#13 於如來地有二愚癡:一者、於一切所知境界極微細著愚癡,二者、極微細礙愚癡,及彼麁重、為所對治。 + +#14 十一、明如來地二愚一麤重: + +一者、於一切所知境界,極微細著愚癡,即是此中微所知障; + +二者、極微細礙愚癡,即是此中一切任運煩𢙉障種。 + +《唯識論》云:此地於法雖得自在,而有餘障,未名最極。謂有俱生微所知障,及有任運煩𢙉障種,金剛喻定現在前時,彼皆頓斷,入如來地。 + +故《集論》說得菩提時,頓斷煩𢙉及所知障,成阿羅漢及成如來,證大涅槃大菩提故。 + +#11 3 結成前義 + +#12 善男子!由此二十二種愚癡、及十一種麁重故、安立諸地,而得阿耨多羅三藐三菩提、離彼繫縛。 + +三、結成前義。 + +#11 4 讚所得果 + +#12 世尊!阿耨多羅三藐三菩提、甚奇希有,乃至成就大利大果,令諸菩薩能破如是大愚癡羅網,能越如是大麁重稠林,現前證得阿耨多羅三藐三菩提。 + +四、讚所得果。 + +#10 4 彰諸地清淨通德 + +#11 1 問 + +#12 世尊!如是諸地、幾種殊勝之所安立? + +四、彰諸地清淨通德。文中分三:一、問;二、荅;三、結。此初,問也。 + +#11 2 答 + +#12 善男子!略有八種:一者、增上意樂清淨,二者、心清淨,三者、悲清淨,四者、到彼岸清淨,五者、見佛供養承事清淨,六者、成熟有情清淨,七者、生清淨,八者、威德清淨。 + +二荅。 + +#11 3 結 + +善男子!於初地中所有增上意樂清淨乃至威德清淨,後後諸地乃至佛地所有增上意樂清淨乃至威德清淨,當知彼諸清淨,展轉增勝;唯於佛地、除生清淨。 + +#12 又初地中所有功德,於上諸地,平等皆有,當知自地功德殊勝。一切菩薩十地功德,皆是有上;佛地功德,當知無上。 + +三結。 + +#10 5 說四緣菩薩生勝 + +#11 1 問 + +#12 世尊!何因緣故,說菩薩生、於諸有生最為殊勝? + +五、說四緣,菩薩生勝。文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!四因緣故: + +一者、極淨善根所集起故; + +二者、故意思擇力所取故; + +三者、悲愍濟度諸眾生故; + +#13 四者、自能無染,除他染故。 + +後荅。 + +#10 6 顯菩薩行諸大願 + +#11 1 問 + +#12 世尊!何因緣故、說諸菩薩行廣大願、妙願、勝願? + +六、顯菩薩行諸大願。文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!四因緣故。 + +謂諸菩薩能善了知涅槃樂住、堪能速證; + +而復棄捨速證樂住; + +無緣無待發大願心; + +為欲利益諸有情故,處多種種長時大苦。 + +#12 是故我說彼諸菩薩行廣大願、妙願、勝願。 + +後荅。發廣大心,為欲利益諸有情故,處長時大苦,名廣大願。 + +修一切善,故名妙願。 + +斷一切惡,故名勝願。 + +#9 2 彰地中所有學法(二十三段) + +#10 1 明六度為所學事 + +#11 1 問 + +#12 世尊!是諸菩薩、凡有幾種所應學事? + +二、彰地中所有學法,文有二十三叚。 + +一、明六度為所學事。於中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!菩薩學事、略有六種:所謂布施、持戒、忍辱、精進、靜慮、慧到彼岸。 + +後荅也。 + +#10 2 明三學六度相攝 + +#11 1 問 + +#12 世尊!如是六種所應學事、幾是增上戒學所攝?幾是增上心學所攝?幾是增上慧學所攝? + +二、明三學、六度相攝。文中有二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!當知初三、但是增上戒學所攝;靜慮一種、但是增上心學所攝;慧、是增上慧學所攝;我說精進、遍於一切。 + +後荅可知。 + +#10 3 明福慧六度相攝 + +#11 1 問 + +#12 世尊!如是六種所應學事、幾是福德資糧所攝?幾是智慧資糧所攝? + +三、明福慧六度相攝。文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!若增上戒學所攝者、是名福德資糧所攝;若增上慧學所攝者、是名智慧資糧所攝;我說精進、靜慮二種、遍於一切。 + +後荅也。 + +#10 4 明修學由五種相 + +#11 1 問 + +#12 世尊!於此六種所學事中、菩薩云何應當修學? + +四、明修學,由五種相。文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!由五種相、應當修學。 + +一者、最初於菩薩藏波羅蜜多、相應微妙正法教中,猛利信解; + +二者、次於十種法行、以聞思修所成妙智,精進修行; + +三者、隨護菩提之心; + +四者、親近真善知識; + +#13 五者、無間勤修善品。 + +後荅也。 + +#10 5 明六度數無增減 + +#11 1 問 + +#12 世尊!何因緣故、施設如是所應學事但有六數? + +五、明六度,數無增減。文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 標數揔荅 + +#13 善男子!二因緣故:一者、饒益諸有情故;二者、對治諸煩惱故。當知前三、饒益有情;後三、對治一切煩惱。 + +> 註:慈悲沒有敵人,智慧沒有煩惱;慈悲給人快樂,智慧自己快樂。 @ + +後荅分二:初標數揔荅,後依標別釋。此初也。 + +#12 2 依標別釋 + +#13 1 𤗊釋前三 + +#14 前三饒益諸有情者: + +謂諸菩薩、由布施故,攝受資具,饒益有情; + +由持戒故,不行損害、逼迫、惱亂,饒益有情; + +#15 由忍辱故,於彼損害、逼迫、惱亂,堪能忍受、饒益有情。 + +後依標別釋,文中分二:初𤗊釋前三,後𤗊釋後三。此即初也。 + +#13 2 𤗊釋後三 + +#14 後三對治諸煩惱者: + +謂諸菩薩、由精進故,雖未永伏一切煩惱、亦未永害一切隨眠;而能勇猛修諸善品,彼諸煩惱、不能傾動善品加行。 + +由靜慮故,永伏煩惱。 + +#15 由般若故,永害隨眠。 + +後𤗊釋後三。 + +#10 6 明後四數無增減 + +#11 1 問 + +#12 世尊!何因緣故、施設所餘波羅蜜多、但有四數? + +六明後四,數無增減。文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 揔標 + +#13 善男子!與前六種波羅蜜多、為助伴故。 + +後荅分二:初揔標,後別釋。此即初也。 + +#12 2 別釋 + +#13 1 釋方便 + +#14 謂諸菩薩於前三種波羅蜜多所攝有情、以諸攝事方便善巧而攝受之,安置善品;是故我說方便善巧波羅蜜多、與前三種而為助伴。 + +後別釋,分四:一、釋方便;二、釋願度;三、釋力度;四、釋智度。此即初也。 + +#13 2 釋願度 + +#14 若諸菩薩、於現法中煩惱多故,於修無間無有堪能;羸劣意樂故,下界勝解故,於內心住無有堪能;於菩薩藏不能聞緣善修習故,所有靜慮、不能引發出世間慧,彼便攝受少分狹劣福德資糧,為未來世煩惱輕微、心生正願,如是名願波羅蜜多。由此願故、煩惱微薄,能修精進;是故我說願波羅蜜多、與精進波羅蜜多而為助伴。 + +二、釋願度。 + +#13 3 釋力度 + +#14 若諸菩薩親近善士、聽聞正法、如理作意為因緣故,轉劣意樂、成勝意樂,亦能獲得上界勝解;如是名力波羅蜜多。由此力故、於內心住有所堪能;是故我說力波羅蜜多、與靜慮波羅蜜多而為助伴。 + +三、釋力度。 + +#13 4 釋智度 + +#14 若諸菩薩、於菩薩藏已能聞緣善修習故,能發靜慮;如是名智波羅蜜多。由此智故、堪能引發出世間慧;是故我說智波羅蜜多、與慧波羅蜜多而為助伴。 + +四、釋智度。 + +#10 7 明六度次第因由 + +#11 1 問 + +#12 世尊!何因緣故、宣說六種波羅蜜多如是次第? + +七、明六度次第因由,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!能為後後引發依故。謂諸菩薩、若於身財無所顧悋、便能受持清淨禁戒;為護禁戒、便修忍辱;修忍辱已、能發精進;發精進已、能辦靜慮;具靜慮已、便能獲得出世間慧。是故我說波羅蜜多如是次第。 + +後荅也。 + +#10 8 明六度品類差別 + +#11 1 問 + +#12 世尊!如是六種波羅蜜多、各有幾種品類差別? + +八、明六度品類差別,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!各有三種。 + +施三種者:一者、法施,二者、財施,三者、無畏施。 + +戒三種者:一者、轉捨不善戒,二者、轉生善戒,三者、轉生饒益有情戒。 + +忍三種者:一者、耐怨害忍,二者、安受苦忍,三者、諦察法忍。 + +精進三種者:一者、被甲精進,二者、轉生善法加行精進,三者、饒益有情加行精進。 + +靜慮三者:一者、無分別寂靜、極寂靜無罪故,對治煩惱眾苦樂住靜慮,二者、引發功德靜慮,三者、引發饒益有情靜慮。 + +#13 慧三種者:一者、緣世俗諦慧,二者、緣勝義諦慧,三者、緣饒益有情慧。 + +後荅。 + +#10 9 明彼岸得名因緣 + +#11 1 問 + +#12 世尊!何因緣故、波羅蜜多說名波羅蜜多? + +九、明彼岸得名因緣。文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 標列揔荅 + +#13 善男子!五因緣故:一者、無染著故;二者、無顧戀故;三者、無罪過故;四者、無分別故;五者、正迴向故。 + +後荅分二:初標列揔荅,後依標別釋。此即初也。 + +#12 2 依標別釋 + +無染著者:謂不染著波羅蜜多諸相違事。 + +> 註:第十門,以及第十六門,約五義分別施等 + +無顧戀者:謂於一切波羅蜜多諸果異熟及報恩中、心無繫縛。 + +無罪過者:謂於如是波羅蜜多、無間雜染法,離非方便行。 + +> 註:第十三門 + +無分別者:謂於如是波羅蜜多、不如言詞執著自相。 + +#13 正迴向者:謂以如是所作所集波羅蜜多、迴求無上大菩提果。 + +後依標別釋。 + +《攝大乘》說:於世閒、二乘,施等最勝,能得彼岸故,通言波羅蜜多。 + +#14 《對法》十一說:由與十二種最勝相應故,名波羅蜜多。 + +一、廣大最勝,不求一切世間樂故,又最上故。 + +二、長時最勝,經三大劫,阿僧企耶所積習故。 + +三、所為最勝,為利益安樂一切有情故。 + +四、無盡最勝,由迴向大菩提,究竟無盡故。 + +五、無間最勝,由得自他平等勝解,令諸有情於施等波羅密多速圓滿故。 + +六、無難最勝,唯由隨喜他所行施等,令波羅蜜多速圓滿故。 + +七、大自在最勝,由得虛空藏等諸三摩地,令布施等波羅蜜多速圓滿故。 + +八、攝受最勝,無分別智所攝受故。 + +九、發起最勝,謂解行地中,上品忍位,所行施等波羅蜜多。 + +十、證得最勝,謂初地中,所得施等波羅多。 + +十一、等流最勝,謂餘八地中,所行施等波羅蜜多。 + +十二、圓滿最勝,謂第十地及如來地,所行施等波羅蜜多,如其次第,菩薩圓滿故,佛圓滿故。若闕一種,非波羅蜜多。 + +復次,最勝所作故,最勝所至故,名波羅蜜多,一切佛菩薩所為所到故。波羅,所作所至義。蜜多,能作能至義。 + +復次,到所知彼岸故,名波羅蜜多,安住佛性故;波羅是所知彼岸義,蜜多是到義。 + +復次,濟度自他最極災橫故,名波羅蜜多,能令自他越度生死大苦海故。 + +此亦兼解六揔名訖。 + +> 註:《集論》此處,六度之共辞中复有五复次。 @ + +#10 10 明六度六相違事 + +#11 1 問 + +#12 世尊!何等名為波羅蜜多、諸相違事? + +十、明六度,六相違事,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!當知此事、略有六種: + +一者、於喜樂欲財富自在諸欲樂中、深見功德及與勝利; + +二者、於隨所樂、縱身語意而現行中、深見功德及與勝利; + +三者、於他輕蔑不堪忍中、深見功德及與勝利; + +四者、於不勤修著欲樂中、深見功德及與勝利; + +五者、於處憒鬧世雜亂行、深見功德及與勝利; + +#13 六者、於見聞覺知、言說戲論、深見功德及與勝利。 + +後荅,如文。 + +#10 11 明六度各所得果 + +#11 1 問 + +#12 世尊!如是一切波羅蜜多、何果異熟? + +十一、明六度各所得果。文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!當知此亦略有六種:一者、得大財富;二者、往生善趣;三者、無怨無壞、多諸喜樂;四者、為眾生主;五者、身無惱害;六者、有大宗葉。 + +#13 後荅。《對法》云: + +能捨施者當來貧苦,能捨受者現在熱𢙉,故名為施, + +能令諸根永寂靜故,能趣清淨諸善趣故,能為清涼所依處故,說名為戒。隨其次第能引守護諸根門故,是徃清淨善趣因故,能為無悔等漸次乃至涅槃所依故。 + +遠離一切忿熱灰故,遠離不捨怨害心故,顯發損者常安隱故,說名為忍。怨害心者,謂起報怨。心不捨者,謂不棄此心。能壞怨心名為損者。顯此無畏故名顯發損者常安隱故。 + +損害、生長,作用相應,故名精進。損害作用相應者,謂前二正斷,以能損害大善法故。生長作用相應者,謂後二正斷。以能生長諸善法故。 + +#14 能持能息、能靜能調,又能引發,故名靜慮。 + +能持者,謂於境繫心。 + +能息者,謂息諸散亂。 + +能靜者,謂令心寂靜。 + +能調者,謂制伏諸纏。 + +能引發者,謂能引發自在作用。 + +#14 他所發智故,內證智故、種別智故、得寂靜智故、勝德智故,故名為慧。 + +他所發智者,謂從他言音所生慧及如理作意相應慧。 + +內證智者,謂出世閒慧。 + +種別智者,謂出世間後所得慧。 + +得寂靜智者,謂修道中治煩𢙉慧。 + +勝德智者,謂能引發勝功德慧。 + +此亦兼解別名訖。 + +> 註:瑜伽師地論義演卷第三十一 + +#10 12 明六度聞雜染法 + +#11 1 問 + +#12 世尊!何等名為波羅蜜多間雜染法? + +> 瑜伽師地論義演卷第三十二(2字)十(2字)素, +註:CBETA無,應為:瑜伽師地論義演卷第三十二 計三十四張 素 +​ +覺山明教院 沙門 澄淨 述 + +​論卷第(3字)已下。 +註:闕字,應為:論卷第七十八?@ + + +十二、明六度聞雜染法,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!當知略由四種加行: + +一者、無悲加行故; + +二者、不如理加行故; + +三者、不常加行故; + +四者、不殷重加行故。 + +#13 不如理加行者:謂修行餘波羅蜜多時、於餘波羅蜜多遠離失壞。 + +後荅易知。 + +#10 13 明六度非方便行 + +#11 1 問 + +#12 世尊!何等名為非方便行? + +十三、明六度非方便行,文分為二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 正明非方便 + +#13 1 初彰法說 + +#14 善男子!若諸菩薩以波羅蜜多饒益眾生時、但攝財物饒益眾生、便為喜足,而不令其出不善處安置善處;如是名為非方便行。何以故?善男子!非於眾生唯作此事、名實饒益。 + +後荅分二:初正明非方便,後因示真方便。初中分二:初彰法說;後舉喻明。此初也。 + +#13 2 後舉喻明 + +#14 1 舉喻 + +#15 譬如糞穢、若多若少,終無有能令成香潔; + +後舉喻明,文分為二:初舉喻,後法合。此初也。 + +#14 2 法合 + +#15 如是眾生,由行苦故,其性是苦,無有方便但以財物暫相饒益、可令成樂; + +後法合也。 + +#12 2 因示真方便 + +#13 唯有安處妙善法中、方可得名第一饒益。 + +後因示真方便。 + +#10 14 明六度揔別清淨 + +#11 1 問 + +#12 世尊!如是一切波羅蜜多、有幾清淨? + +十四、明六度揔別清淨,文中分二:初問,後荅。此初問也。 + +#11 2 答 + +#12 1 標舉揔荅 + +#13 善男子!我終不說波羅蜜多、除上五相有餘清淨;然我即依如是諸事、總別當說波羅蜜多清淨之相。 + +後荅分二:初標舉揔荅,後依標別釋。此即初也。 + +上五相者,即無染者等五相,通六度故。 + +#12 2 依標別釋 + +#13 1 總 + +#14 1 標 + +#15 總說一切波羅蜜多清淨相者:當知七種。 + +後依標別釋文中分二:初揔,後別。揔中分三:一、標;二、徵;三、釋。此初,標也。 + +#14 2 徵 + +#15 何等為七? + +二、徵。 + +#14 3 釋 + +一者、菩薩於此諸法、不求他知; + +二者、於此諸法、見已不生執著; + +三者、即於如是諸法不生疑惑,謂為能得大菩提不? + +四者、終不自讚毀他、有所輕蔑; + +五者、終不憍傲放逸; + +六者、終不少有所得、便生喜足; + +#15 七者、終不由此諸法、於他發起嫉妬慳悋。 + +三釋。 + +#13 2 別 + +#14 1 標 + +#15 別說一切波羅蜜多清淨相者:亦有七種。 + +後別,中分三:一、標;二、徵;三、釋。此初,標也。 + +#14 2 徵 + +#15 何等為七? + +二、徵。 + +#14 3 釋 + +#15 1 明布施七種清淨 + +#16 謂諸菩薩如我所說七種布施清淨之相、隨順修行: + +#17 一者、由施物清淨、行清淨施;二者、由戒清淨、行清淨施;三者、由見清淨、行清淨施;四者、由心清淨、行清淨施;五者、由語清淨、行清淨施;六者、由智清淨、行清淨施;七者、由垢清淨、行清淨施。是名七種施清淨相。 + +三,釋,有六:一、明布施七種清淨;二、明持戒七種清淨;三、明忍辱七種清淨;四、明精進七種清淨;五、明靜慮七種清淨;六、明智慧七種清淨。初中有三:標、釋及結。如文易知。 + +#15 2 明持戒七種清淨 + +#16 又諸菩薩、能善了知制立律儀一切學處、能善了知出離所犯、具常尸羅、堅固尸羅、常作尸羅、常轉尸羅、受學一切所有學處。是名七種戒清淨相。 + +二、明持戒七種清淨,文中有三:標、釋及結。 + +釋中有七:一、能善了知至一切學處;二、能善了知出離所犯;三、具常尸羅,即常守戒也;四、堅固尸羅,即堅固守戒;五、當作尸羅,即常作持戒;六、常轉尸羅,即常隨轉戒;七、受學一切所有學處。 + +> 註:參考成所作品:釋調伏。 + +#15 3 明忍辱七種清淨 + +#16 若諸菩薩於自所有業果異熟,深生依信,一切所有不饒益事現在前時、不生憤發,亦不反罵,不瞋、不打、不恐、不弄;不以種種不饒益事反相加害;不懷怨結;若諫誨時不令恚惱;亦復不待他來諫誨;不由恐怖有染愛心、而行忍辱;不以作恩、而便放捨。是名七種忍清淨相。 + +三、明忍辱七種清淨,文中有三:標、釋及結。 + +釋中有七:一、於自所有,乃至不恐不弄,深信業果;二、不以種種乃至反相加害;三、不懷怨結;四、若諫誨時,不令恚𢙉;五、亦復不待他來諫誨;六、不由恐怖乃至而行忍辱;七、不以作恩而便放捨。 + +#15 4 明精進七種清淨 + +#16 若諸菩薩通達精進平等之性,不由勇猛勤精進故、自舉陵他,具大勢力,具大精進,有所堪能,堅固勇猛,於諸善法終不捨軛,如是名為七種精進清淨之相。 + +四、明精進七種清淨。文中有三:標、釋及結。 + +釋中有七:一、通達精進,平等之性;二、不由勇猛勤精進故,自舉陵他;三、具大勢力;四、具大精進;五、有所堪能;六、堅固勇猛;七、於諸善法終不捨軛。 + +> 註:CBETA作“堅固勇猛士”,應誤。@ + +#15 5 明靜慮七種清淨 + +#16 若諸菩薩有善通達相三摩地靜慮,有圓滿三摩地靜慮,有俱分三摩地靜慮,有運轉三摩地靜慮,有無所依三摩地靜慮,有善修治三摩地靜慮,有於菩薩藏聞緣修習無量三摩地靜慮。如是名為七種靜慮清淨之相。 + +五、明靜慮七種清淨。文中有三:標、釋及結。 + +釋中有七:一、有菩薩達三摩地靜慮;二、有圓滿三摩地靜慮;三、有俱分三摩地靜慮;四、有運轉三摩地靜慮;五、有無所依三摩地靜慮;六、有善修治三摩地靜慮;七、有於菩薩藏乃至三摩地靜慮。 + +#15 6 明智慧七種清淨 + +#16 若諸菩薩遠離增益損減二邊、行於中道,是名為慧。由此慧故,如實了知解脫門義,謂空、無願、無相三解脫門。如實了知有自性義,謂遍計所執、若依他起、若圓成實三種自性。如實了知無自性義,謂相、生、勝義三種無自性性。如實了知世俗諦義,謂於五明處。如實了知勝義諦義,謂於七真如。又無分別、離諸戲論、純一理趣多所住故,無量總法為所緣故,及毘鉢舍那故,能善成辦法隨法行。是名七種慧清淨相。 + +六、明智慧七種清淨,文中有三:標、釋及結。 + +釋中有七:一、遠離增益損滅,乃至三解脫門;二、如實了知,乃至三種自性;三、如實了知,乃至三種無自性性;四、如實了知,乃至於五明處;五、如實了知,乃至於七真如;六、又無分別,乃至多所住故。十、無量揔法乃至法隨法行。 + +#10 15 明五相有五種業 + +#11 1 問 + +#12 世尊!如是五相、各有何業? + +十五、明五相有五種業,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!當知彼相、有五種業,謂諸菩薩: + +無染著故,於現法中於所修習波羅蜜多、恒常殷重勤修加行,無有放逸。 + +無顧戀故,攝受當來不放逸因。 + +無罪過故,能正修習極善圓滿、極善清淨、極善鮮白波羅蜜多。 + +無分別故,方便善巧波羅蜜多、速得圓滿。 + +#13 正迴向故,一切生處波羅蜜多、及彼可愛諸果異熟、皆得無盡,乃至無上正等菩提。 + +後荅分二,初標,後釋。如文可知。 + +#10 16 明六度五義分別 + +#11 1 問 + +#12 世尊!如是所說波羅蜜多、何者最廣大?何者無染污?何者最明盛?何者不可動?何者最清淨? + +十六、明六度,五義分別。文中有二:初問,後荅。此初,問也。 + +#11 2 答 + +善男子!無染著性、無顧戀性、正迴向性,最為廣大。 + +無罪過性、無分別性,無有染污。 + +思擇所作,最為明盛。 + +已入無退轉法地者、名不可動。 + +#12 若十地攝佛地攝者、名最清淨。 + +後荅。意云:前五相中,三名最廣大,二名無染。所修六度時,思擇為先,故最明盛。八地已上名不可動,因地行滿,果位智圓,名最清淨。 + +#10 17 明六度因果無盡 + +#11 1 問 + +#12 世尊!何因緣故、菩薩所得波羅蜜多諸可愛果及諸異熟常無有盡,波羅蜜多亦無有盡? + +十七、明六度因果無盡,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!展轉相依、生起修習、無間斷故。 + +後荅可解。 + +#10 18 明修因非果異熟 + +#11 1 問 + +#12 世尊!何因緣故、是諸菩薩深信愛樂波羅蜜多,非於如是波羅蜜多所得可愛諸果異熟? + +十八、明修因非果異熟,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!五因緣故: + +一者、波羅蜜多是最增上喜樂因故; + +二者、波羅蜜多是其究竟饒益一切自他因故; + +三者、波羅蜜多是當來世、彼可愛果異熟因故; + +四者、波羅蜜多非諸雜染所依事故; + +#13 五者、波羅蜜多非是畢竟變壞法故。 + +後荅也。 + +#10 19 明六度各四威德 + +#11 1 問 + +#12 世尊!如是一切波羅蜜多、各有幾種最勝威德? + +十九、明六度各四威德,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!當知一切波羅蜜多、各有四種最勝威德: + +一者、於此波羅蜜多正修行時,能捨慳悋、犯戒、心憤、懈怠、散亂、見趣所治; + +二者、於此正修行時、能為無上正等菩提真實資糧; + +三者、於此正修行時、於現法中能自攝受饒益有情; + +#13 四者、於此正修行時、於未來世能得廣大無盡可愛諸果異熟。 + +後荅也。 + +#10 20 明六度因果義利 + +#11 1 問 + +#12 世尊!如是一切波羅蜜多、何因,何果,有何義利? + +二十、明六度因果義利,文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +善男子!當知一切波羅蜜多、大悲為因; + +微妙可愛諸果異熟、饒益一切有情、為果; + +#12 圓滿無上廣大菩提、為大義利。 + +後荅,易知。 + +#10 21 明資財具闕由業 + +#11 1 問 + +#12 世尊!若諸菩薩具足一切無盡財寶、成就大悲,何緣世間現有眾生貧窮可得? + +二十一、明資財,具、闕,由業。文中分二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 1 初彰法說 + +#13 善男子!是諸眾生自業過失。若不爾者,菩薩常懷饒益他心、又常具足無盡財寶,若諸眾生無自惡業能為障礙,何有世間貧苦可得? + +後荅,分二:初彰法說,後舉喻明。此初也。 + +#12 2 後舉喻明 + +#13 1 舉喻 + +#14 譬如餓鬼、為大熱渴逼迫其身,見大海水悉皆涸竭;非大海過,是諸餓鬼自業過耳。 + +後舉喻明。文中有二:初舉喻,後法合。此初喻也。 + +#13 2 法合 + +#14 如是菩薩所施財寶、猶如大海無有過失,是諸眾生自業過耳;猶如餓鬼自惡業力、令無有果。 + +後法合也。 + +#10 22 明慧度取法無性 + +#11 1 問 + +#12 世尊!菩薩以何等波羅蜜多、取一切法無自性性? + +二十二、明慧度取法無性。文中分四:一、問;二、荅;三、徵;四、釋。此初,問也。 + +#11 2 答 + +#12 善男子!以般若波羅蜜多,能取諸法無自性性。 + +二荅。以般若取真如時,無橫執性,名取諸法無性。 + +#11 3 徵 + +#12 世尊!若般若波羅蜜多、能取諸法無自性性,何故不取有自性性? + +三徵。真如之體,離有離無,既許取其無性,何故不許取其有性? + +#11 4 釋 + +#12 善男子!我終不說以無自性性、取無自性性。然無自性性、離諸文字自內所證,不可捨於言說文字而能宣說;是故我說般若波羅蜜多、能取諸法無自性性。 + +四釋。我終不說以般若無自性性,能取無自性性,然無自性性,離諸文字,唯自內智所證。不可捨離於言說文字,而能宣說無自性性,是故我說般若離能取故,能取諸法無自性性。 + +#10 23 明三種波羅蜜多 + +#11 1 問 + +#12 世尊!如佛所說波羅蜜多、近波羅蜜多、大波羅蜜多,云何波羅蜜多?云何近波羅蜜多?云何大波羅蜜多? + +二十三、明三種波羅蜜多。文中有二:初問,後荅。此初,問也。 + +#11 2 答 + +世尊!如佛所說波羅蜜多、近波羅蜜多、大波羅蜜多,云何波羅蜜多?云何近波羅蜜多?云何大波羅蜜多? + +復於無量時修行施等,漸復增上成就善法,而諸煩惱猶故現行,然能制伏,非彼所伏,謂從初地已上、是名近波羅蜜多。 + +#12 復於無量時修行施等,轉復增上成就善法,一切煩惱皆不現行,謂從八地已上、是名大波羅蜜多。 + +後荅。若諸菩薩經無量時修行施等成就善法,而諸煩𢙉猶故現行,未能制伏,然被煩𢙉伏,謂於地前所修,未成上品,但是䎡品、中品勝解轉時,即一行中修一行,是名波羅蜜多。 + +復於無量時修行施等,漸復增上成就善法,而諸煩𢙉猶故現行,然能制伏,非彼煩𢙉所伏,謂從初地已上,即一行中修一切行,近菩提故,名近波羅蜜多。 + +復於無量時修行施等,轉復增上成就善法,一切煩𢙉皆不現行,謂從八地已上,即一切行中修一切行,是名大波羅蜜多。 + +#9 3 明地中所有煩𢙉 + +#10 1 明煩𢙉害伴等三 + +#11 1 問 + +#12 世尊!此諸地中、煩惱隨眠可有幾種? + +三、明地中所有煩𢙉,文中分四:一、明煩𢙉害伴等三;二、辯皮等三麤重斷;三、彰能斷麤重刧數;四、顯地中煩𢙉失德。初中有二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!略有三種: + +一者、害伴隨眠,謂於前五地。何以故?善男子!諸不俱生現行煩惱、是俱生煩惱現行助伴;彼於爾時永無復有,是故說名害伴隨眠。 + +二者、羸劣隨眠,謂於第六、第七地中,微細現行。若修所伏、不現行故。 + +三者、微細隨眠,謂於第八地已上,從此已去、一切煩惱不復現行,唯有所知障為依止故。 + +#13 後荅。一者害伴隨眠,謂前五地,諸不俱生現行煩𢙉,是俱生煩𢙉現行助伴,彼於尒時永無復有。 + +此意說言,第六識俱,身見等攝,說名俱生。 + +所餘煩𢙉,名非俱生,然體稍麤,因彼而起,由彼斷故,此亦隨無,故名害伴。 + +> 註:CBETA作“然體精麤”,應誤。@ + +二者、羸劣隨眠,謂第六七地,微細現行,若修所伏不現行故,非俱生身見,斷此亦隨滅,稍難斷故。 + +> 註:此說同倫記所引之基師:羸劣隨眠者,謂第六七地微細現行,若修所伏不現行故,非俱生身見,斷此亦隨眠滅,稍難斷故,不違《楞伽經》,俱生身見斷故,貪即不生。彼約二乘斷煩惱說,不依菩薩所知障無故煩惱不生說。或依二隨眠究竟斷位,彼經、此經,亦不相違。 @ + +三者、微細隨眠,謂於第八地已上,從此已去,一切煩𢙉不復現行,唯有所知障為依止故。 + +#10 2 辯皮等三麤重斷 + +#11 1 問 + +#12 世尊!此諸隨眠、幾種麁重斷所顯示? + +二、辯皮等,三麤重斷。文中有二:初問,後荅。此初,問云:此害伴等三種隨眠,由幾麤重斷所顯示? + +#11 2 答 + +#12 善男子!但由二種:謂由在皮麁重斷故,顯彼初二;復由在膚麁重斷故,顯彼第三;若在於骨麁重斷者,我說永離一切隨眠,位在佛地。 + +後荅。但由二種麤重斷所顯示,謂由初地已斷皮麤重故,方可顯得初二隨眠位。復由第八地在膚麤重斷故,顯彼第三微細隨眠位。若在於骨麤重斷者,我說永離一切隨眠,位在佛地。 + +#10 3 彰能斷麤重刧數 + +#11 1 問 + +#12 世尊!經幾不可數劫、能斷如是麁重? + +三、彰能斷麤重刧數。文中有二:初問,後荅。此初,問也。 + +#11 2 答 + +#12 善男子!經於三大不可數劫、或無量劫;所謂年月半月晝夜一時半時須臾瞬息剎那量劫、不可數故。 + +後荅。經於三大不可數刧者,此依大刧筭數方便,超過一切筭數之量,亦說名為無數大刧,言或無量刧。 + +所謂年月等者,此依日夜月半月等筭數方便,時無量故,亦說名為無數大刧。 + +如四十八,已廣說訖。 + +> 註:瑜伽:十二住:又即於此一一住中,經多俱胝百千大劫,或過是數方乃證得及與成滿。然一切住總經於二無數大劫方得圓證。@ + +#10 4 顯煩𢙉無失有德 + +#11 1 問 + +#12 世尊!是諸菩薩、於諸地中所生煩惱、當知何相,何失,何德? + +四、顯煩𢙉,無失有德。文中分三:一、問;二、荅;三、讚。此初,問也。 + +#11 2 答 + +善男子!無染污相。何以故?是諸菩薩、於初地中、定於一切諸法法界已善通達;由此因緣,菩薩要知、方起煩惱,非為不知。是故說名無染污相。 + +於自身中、不能生苦,故無過失。 + +#12 菩薩生起如是煩惱、於有情界能斷苦因,是故彼有無量功德。 + +二荅。《攝論》第十亦說:煩𢙉伏不滅,如毒呪所害,留惑至惑盡,證佛一切智。 + +#11 3 讚 + +#12 甚奇世尊!無上菩提、乃有如是大功德利;今諸菩薩生起煩惱、尚勝一切有情、聲聞、獨覺善根,何況其餘無量功德。 + +三讚,可解。 + +#9 4 釋唯說一乘密意 + +#10 1 問 + +#11 世尊!如佛所說:若聲聞乘、若復大乘、唯是一乘。此何密意? + +四、釋唯說一乘密意。文中有二:初問,後荅。此初,問也。 + +#10 2 答 + +#11 1 於聲聞說乘差別 + +#12 善男子!如我於彼聲聞乘中、宣說種種諸法自性;所謂五蘊、或內六處、或外六處, + +後荅,文中有四:一、於聲聞說乘差別;二、於菩薩說乘無別;三、敘異計妄興諍論;四、結密意荅前所問。此即初也。 + +#11 2 於菩薩說乘無別 + +#12 如是等類。於大乘中、即說彼法、同一法界,同一理趣,故我不說乘差別性。 + +二、於菩薩說乘無別。如是等類者,即前五蘊等,於聲聞乘中,應機隨事說有差別。於大乘中,據實理趣,唯是一乘,故佛不說乘差別性。 + +#11 3 敘異計妄興諍論 + +#12 於中或有如言於義、妄起分別,一類增益,一類損減;又於諸乘差別道理,謂互相違,如是展轉、遞興諍論, + +三、敘異計妄興諍論。於中或有一類聞說乘之差別,如言於義妄起分別:佛說下乘、上乘,定有差別,名為增益。 + +或有一類,聞說五蘊等,於大乘中,即說彼法同一法界、同一理趣,無差別性,如言於義妄起分別:佛唯說有一乘,定無餘乘,名為損減。 + +又於諸乘差別道理,更㸦相違,如是展轉,遞興諍論。 + +#11 4 結密意荅前所問 + +#12 如是名為此中密意。 + +四、結密意,荅前所問。佛於聲聞乘中,應機隨事即有差別,於大乘中同歸真理,唯是一乘,故佛不說差別乘性。如是名為此中密意。 + +#8 2 以頌結成 + +爾時世尊欲重宣此義、而說頌曰: + +1諸地攝、想、所對治、殊勝、生、願、及諸學、 + +由依佛說是大乘、於此善修成大覺。 + +2宣說諸法種種性,復說皆同一理趣; + +謂於下乘或上乘、故我說乘無異性。 + +3如言於義妄分別、或有增益或損減; + +#9 謂此二種互相違、愚癡意解成乖諍。 + +後以頌結成。諸地攝者,頌初攝義。想者,謂觀想,頌諸地名。所對治者,頌二十二愚癡、十一麤重。殊勝者,頌八清淨,生者,頌菩薩生勝。願者,頌菩薩行廣大願。及諸學者,頌布施六度。 + +由依佛說是大乘,於此善修成大覺者,勸依上辯佛說大乘,善修成佛。 + +宣說諸法至成乖諍者,頌如我於彼,乃至名為此中密意。 + +> 註:“釋唯說一乘密意”。 + +#7 2 請立經名 + +#8 1 問 + +#9 世尊!於是解深密法門中、此名何教?我當云何奉持? + +二、立經名,文中有二:初問,後荅。此初,問也。 + +#8 2 答 + +#9 善男子!此名諸地波羅蜜多了義之教;於此諸地波羅蜜多了義之教、汝當奉持。 + +後荅。 + +#7 3 時眾得益 + +#8 說此諸地波羅蜜多了義教時,於大會中有七十五千菩薩、皆得菩薩大乘光明三摩地。 + +三、時眾得益。 + +#4 7 成所作事 + +#5 1 標 + +#6 復次即依乘假安立,分別如來成所作事, + +七、成所作事,文中有二:初標,後釋。此初也。 + +#5 2 釋 + +#6 1 先標說處 + +#7 當知如《解深密經》中, + +後釋分二:初標說處,後引經釋。此初也。 + +#6 2 後引經釋 + +#7 1 辯三身義(一十四段) + +#8 1 明求如來法身之相 + +#9 1 問 + +#10 曼殊室利菩薩摩訶薩請問佛言:世尊!如佛所說如來法身。如來法身、有何等相? + +後引經釋。文中有三:一、辯三身義;二、請立經名;三、時眾得益。初中分為一十四段:一、明求如來法身之相;二、明二乘轉依不名法身;三、明如來化身作業;四、明化身方便善巧;五、明如來言音差別;六、明不共陁羅尼義;七、明如來心生起之相;八、明化身有心無心;九、明如來所行如來境界二種差別;十、明如來成等正覺、轉正法輪、入大涅槃,三種皆無二相;十一、明如來法身遠生他福;十二、明佛法身放光出像,二乘解脫之身,無如來事;十三、明佛菩薩威德住持,若道若行,令諸有情身財圓滿;十四、明穢土八事易得、二事難得,淨土飜此。初中有二:初問,後荅。此初,問也。 + +梵云㬅殊室利,此云妙吉祥,舊言文殊師利,音訛也。《鴦崛摩羅經》言:是北方常喜世界歡喜藏摩尼寶積佛。諸有聞名,敬禮歸命,種種事業,菩薩皆能為作吉祥之事,神用無比,名妙吉祥。 + +#9 2 答 + +#10 佛告曼殊室利菩薩曰:善男子!若於諸地波羅蜜多、善修出離,轉依成滿,是名如來法身之相。當知此相、二因緣故不可思議:無戲論故,無所為故。而諸眾生計著戲論、有所為故。 + +後荅,可解。 + +#8 2 明二乘轉依不名法身 + +#9 1 問 + +#10 世尊!聲聞獨覺所得轉依、名法身不? + +二、明二乘轉依,不名法身。文中有四:一、問;二、荅;三、徵;四、釋。此初,問也。 + +#9 2 答 + +#10 善男子!不名法身。 + +二、荅。 + +#9 3 徵 + +#10 世尊!當名何身? + +三、徵。 + +#9 4 釋 + +#10 善男子!名解脫身。由解脫身故,說一切聲聞、獨覺、與諸如來平等平等;由法身故,說有差別。如來法身、有差別故;無量功德最勝差別、算數譬喻所不能及。 + +四、釋,此說二乘二轉依果,菩提、涅槃,皆名解脫身,離煩𢙉障得故。 + +如來所得二轉依果,菩提、涅盤,合名法身,無量功德勝所依故。《成唯識》云:安樂解脫身,大牟尼名法。 + +#8 3 明如來化身作業 + +#9 1 問 + +#10 世尊!我當云何應知如來生起之相? + +三、明如來化身作業。文中有二:初問,後荅。此初,問也。 + +#9 2 答 + +#10 善男子!一切如來化身作業、如世界起一切種類;如來功德,眾所莊嚴住持為相。當知化身、相有生起;法身之相、無有生起。 + +後荅。一切如來化身作業者,此明他受用身及變化身生起之相,文略不辯自受用身。 + +如世界起者,如三千大千世界起時,一切眾生種類共感所起;化身亦復如是,一切眾生種類共感,如來化身功德所起之相。餘文易知。 + +#8 4 明化身方便善巧 + +#9 1 問 + +#10 世尊!云何應知示現化身方便善巧? + +四、明化身方便善巧。文中分二:初問,後荅。此初,問也。 + +#9 2 答 + +#10 善男子!遍於一切三千大千佛國土中、或眾推許增上王家、或眾推許大福田家,同時入胎、誕生、長大受欲、出家、示行苦行、捨苦行已成等正覺、次第示現。是名如來示現化身方便善巧。 + +後荅。此明八相成道,文中略辯前五;後三,如餘處說。 + +> 註:下天、托胎、出生、出家、降魔、成道、转法轮、入涅槃。(後三,第十段說。) + +#8 5 明如來言音差別 + +#9 1 問 + +#10 世尊!凡有幾種、一切如來身所住持言音差別?由此言音、所化有情未成熟者、令其成熟;已成熟者、緣此為境、速得解脫。 + +五、明如來言音差別。文中分二:初問,後荅。此初,問也。 + +#9 2 答 + +#10 1 標列揔荅 + +#11 善男子!如來言音、略有三種:一者、契經,二者、調伏,三者、本母。 + +後荅,有二:初標列揔荅,後依標別釋。此即初也。 + +梵云素呾纜,此云契經。二十五云:謂能貫穿、縫綴種種,能引義利、能引梵行真善妙義,是名契經。又《佛地論》第一云:能貫能攝,故名為經。以佛聖教貫穿攝持所應說義,及所化生,目之為經。契理之經,名為契經,依士釋。能契即經,是持業釋。 + +梵云毗柰耶,此云調伏。調者,和御;伏者,制滅。調和、控御身語等業,制伏、滅除諸惡行故。亦調亦伏,持業釋也。 + +梵云摩呾理迦,此云本母,八十五云:摩呾理迦,為欲決擇如來所說、如來所稱、所讚所美,先聖契經。譬如無本母字,義不明了,如是本母所不攝經,其義隱昧,義不明了。與此相違,義即明了,是故說名摩呾理迦。 + +#10 2 依標別釋 + +#11 1 徵 + +#12 世尊!云何契經?云何調伏?云何本母? + +後依標別釋。文中分二:初徵,後釋。此初,徵也。 + +#11 2 釋 + +#12 1 釋契經 + +#13 1 揔 + +#14 善男子!若於是處、我依攝事顯示諸法,是名契經;謂依四事、或依九事、或復依於二十九事。 + +後釋,分三:一、釋契經;二、釋調伏;三、釋本母。初中分二:初揔,後別。此初,揔也。 + +#13 2 別 + +#14 1 釋四事 + +#15 1 徵 + +#16 云何四事? + +後別分三:一、釋四事;二、釋九事;三、釋二十九事。初中分二:初徵,後釋。 + +#15 2 釋 + +#16 一者、聽聞事,二者、歸趣事,三者、修學事,四者、菩提事。 + +釋中四事者:一者、聞經;二者、三寶;三者、三學;四者、三乘菩提。 + +#14 2 釋九事 + +#15 1 徵 + +#16 云何九事? + +二、釋九事,文中有二:初徵,後釋。 + +#15 2 釋 + +#16 一者、施設有情事,二者、彼所受用事,三者、彼生起事,四者、彼生已住事,五者、彼染淨事,六者、彼差別事,七者、能宣說事,八者、所宣說事,九者、諸眾會事。 + +#17 釋中九事者: + +一者、施設有情事,謂五取蘊; + +二者、彼所受用事,謂十二處; + +三者、彼生起事,謂十二分緣起及緣生; + +四者、彼生已住事,謂四食; + +五者、彼染淨事,謂四聖諦; + +六者、彼差別事,謂無量界,即五無量也:一者、世界;二、有情界;三、法界;四、所調伏界;五、調伏方便界。 + +七者、能宣說事,謂佛及彼弟子; + +八者、所宣說事,謂四念住等菩提分法。 + +九者、諸眾會事,所謂八眾:一、𠛴帝利眾;二、婆羅門眾;三、長者眾;四、沙門眾;五、四大王眾;六、三十三天眾;七、摩天眾;八、梵天眾。 + +#14 3 釋二十九事 + +#15 1 徵 + +#16 云何名為二十九事? + +三、釋二十九事。文中有二:初徵,後釋。此初,徵也。 + +#15 2 釋 + +#16 1 有四事明雜染 + +#17 謂依雜染品,有1攝諸行事,2彼次第隨轉事,3即於是中作補特伽羅想已、於當來世流轉因事,4作法想已、於當來世流轉因事。 + +後釋中分二:初有四事明雜染;後有二十五事明清淨。此即初也。 + +謂依雜染品,有攝諸行事,即是五蘊。彼次第隨轉事,即是緣生。即於前二事中,作我、法想,由此二執,為未來世流轉之因。 + +#16 2 有二十五事明清淨 + +#17 1 有四事明世間清淨 + +#18 依清淨品,有5繫念於所緣事,6即於是中勤精進事,7心安住事,8現法樂住事, + +後有二十五事明清淨。文中有二:初有四事,明世間清淨;後有二十一事,明出世清淨。此即初也。 + +依清淨品,有繫念於所緣事者,即是欲界聞慧繫心為四念處境。 + +即於是中勤精進事者,即是思慧心。 + +安住事者,即是色界未至定。 + +現法樂住事者,即彼根本定也。 + +#17 2 有二十一事明出世清淨 + +#18 1 有十九事明其五位 + +#19 1 有一事明解脫分 + +#20 超一切苦緣方便事, + +後有二十一事,明出世清淨。文中分二:初有十九事,明其五位;後有二事,顯勝外道。初中分五:一、有一事,明解脫分;二、有四事,明順決擇分;三、有四事,明見道;四、有六事,明修道;五、有四事,明無學道。此即初也。 + +即順解脫分善,與彼眾生為離苦緣,名超一切苦緣方便事。 + +#19 2 有四事明順決擇分 + +10彼遍知事,此復三種:顛倒遍知所依處故;依有情想,外有情中邪行遍知所依處故;內離增上慢遍知所依處故。 + +#20 11修依處事,12作證事,13修習事, + +#21 二、有四事,明順決擇分,即是知苦、斷集、證滅、修道。 + +知苦有三:一、顛倒所依處等知欲界苦;二、依有情想等,知色界苦;三、內離增上𢢔等知無色苦。 + +修依處事者,即斷集也。 + +作證事者,即證滅也。 + +修習事者,即修道也。 + +#19 3 有四事明見道 + +#20 14令彼堅固事,15彼行相事,16彼所緣事,17已斷未斷觀察善巧事。 + +#21 三、有四事,明見道。 + +令彼堅固事者,即真見道更不退,為異生類,故名為堅固。 + +彼行相事者,即相見道,行相別故。 + +彼所緣事者,即相見道所緣之事。 + +已斷未斷觀察善巧者,於相見道中觀察見惑已斷,修惑未斷。 + +#19 4 有六事明修道 + +#20 18彼散亂事,19彼不散亂事,20不散亂依處事,21不棄修習劬勞加行事,22修習勝利事,23彼堅牢事。 + +#21 四、有六事,明修道。 + +彼散亂事者,已出見道,未入修道,中間暫起散亂心也。 + +彼不散亂事者,即定數也。 + +不散亂依處事者,即定依處也。 + +不棄修習劬勞加行事者,即斷欲修惑,無間、解脫道也。 + +修習勝利事者,即斷上二界修惑,無閒、解脫道也。 + +彼堅牢事者,即金剛無閒道也。 + +#19 5 有四事明無學道 + +#20 24攝聖行事,25攝聖品眷屬事,26通達真實事,27證得涅槃事。 + +#21 五、有四事,明無學道。 + +攝聖行事者,即根本智攝,盡、無生智也。 + +攝聖行眷屬事者,即後得智攝,盡、無生智也。 + +通達真實事者,欲入無餘,應觀真實事也。 + +證得涅槃事者,欲入無餘先入滅定,於本識中而般涅槃也。 + +#18 2 有二事顯勝外道 + +28於善說法毘奈耶中,世間正見,超昇一切外道所得正見頂事, + +#19 29及即於此不修退事。於善說法毘奈耶中、不修習故,說名為退;非見過失、故名為退。 + +#20 後有二事,顯勝外道。 + +此中意說,修前下品解脫分善,能超外道上品正見頂也。 + +及即於此不修解脫分善,即名為退,非起邪見過失,故名為退。 + +#12 2 釋調伏 + +#13 1 標 + +#14 曼殊室利!若於是處、我依聲聞及諸菩薩顯示別解脫、及別解脫相應之法,是名調伏。 + +二、釋調伏。文中分三:一、標;二、徵;三、釋。此初,標也。 + +別解脫者,謂別別防非,名之為別。能防、所防,皆得別稱。戒即解脫,解脫惡故;別之解脫,別屬所防,依主釋也。別即解脫,別即能防,持業釋也。 + +及別解脫相應之法者,即別解脫中隨順所受戒法,謂止持等諸性遮戒,及彼所引諸作持等,性、遮戒相,守護奉行。 + +> 註:參考六度:七種戒清淨相。 + +#13 2 徵 + +#14 世尊!菩薩別解脫、幾相所攝? + +二、徵起。 + +#13 3 釋 + +#14 善男子!當知七相: + +一者、宣說受軌則事故; + +二者、宣說隨順他勝事故; + +三者、宣說隨順毀犯事故; + +四者、宣說有犯自性故; + +五者、宣說無犯自性故; + +六者、宣說出所犯故; + +#15 七者、宣說捨律儀故。 + +三釋有七:一者說受戒儀式;二者、說隨順四他勝處;三者、說隨順毀犯戒緣;四者說凡夫有犯自性;五者、說聖人無犯自性;六者、說出所犯罪;七者、說捨律儀戒。 + +#12 3 釋本母 + +#13 1 初揔標列 + +#14 曼殊室利!若於是處、我以十一種相、決了分別顯示諸法;是名本母。何等名為十一種相?一者、世俗相,二者、勝義相,三者、菩提分法所緣相,四者、行相,五者、自性相,六者、彼果相,七者、彼領受開示相,八者、彼障礙法相,九者、彼隨順法相,十者、彼過患相,十一者、彼勝利相。 + +三、釋本母,文分為二:初揔標列,後別解釋。此即初也。 + +> 註:參考分別瑜伽品:知法知義。 +​ + +#13 2 後別解釋 + +#14 1 釋世俗相 + +#15 世俗相者,當知三種:一者、宣說補特伽羅故;二者、宣說遍計所執自性故;三者、宣說諸法作用事業故。 + +後別解釋中,文有十一叚:一、釋世俗相,有其三種:一、說補特伽羅,唐言數取趣;二、說遍計所執;三、說依他作用。 + +> 註:參考後文:四種安住相,四種道理。 + +#14 2 釋勝義相 + +#15 勝義相者,當知宣說七種真如故。 + +二、釋勝義相,說七種真如。 + +#14 3 釋菩提分法所緣相 + +#15 菩提分法所緣相者,當知宣說遍一切種所知事故。 + +三、釋菩提分法所緣相,即說一切所知之事。 + +#14 4 釋行相 + +#15 1 初揔標列 + +#16 行相者,當知宣說八行觀故。云何名為八行觀耶?一者、諦實故;二者、安住故;三者、過失故;四者、功德故;五者、理趣故;六者、流轉故;七者、道理故;八者、總別故。 + +四、釋行相,文中分二:初揔標列,後別解釋。此即初也。 + +#15 2 後別解釋 + +#16 1 釋諦實 + +#17 諦實者,謂諸法真如。 + +後別解釋,文分為八:一、釋諦實;二、釋安住;三、釋過失;四、釋功德;五、釋理趣;六、釋流轉;七、釋道理;八、釋揔別。此初六也。 + +#16 2 釋安住 + +#17 安住者, + +謂或安立補特伽羅, + +> 註:此中應為前說之三種世俗相。 + +或復安立諸法遍計所執自性, + +#18 或復安立一向、分別、反問置記, + +#19 或復安立一向等者,此說記有四種:一、一向記;二、分別記;三、反問記;四、捨置記。此有二記:一、人,四記;二、法,四記。 + +#20 人四記者: + +一、問生者皆死耶?荅言如是,應一向記。 + +二、問死者復生耶?荅言應分別有煩𢙉者,死而復生;無煩𢙉者,死而不生,應分別記。 + +三、問人為殊勝?應反問彼:汝何所方?若方於天,荅言為劣,若方於餘,荅言為勝,是反問記。 + +四、問我為有、無?應捨勿荅,是捨置記。 + +#20 法四記者: + +一、問生者皆滅耶?荅言如是,亦一向記。 + +二、問滅者復生耶?荅言應分別。有因緣者,滅而復生;無因緣者,滅而不生。二乘五蘊無大悲緣,無餘依滅而更不生。如來之身但墮法數,不墮生數,有大悲故,本願未盡,有因緣故,滅而復生,是分別記。 + +三、問:聲聞善心為劣耶?應反問彼:汝何所方?隨方為荅,是反問記。 + +四、問:第六蘊為善、不善?應捨勿荅,是捨置記。 + +#18 或復安立隱密、顯了記別差別。 + +或復安立隱密、顯了記別差別者,記者,明也;別謂分別。分明記別深密之義,名為記別。餘處所言不了義經,名記別者,謂以少言略記別故,名不了義。不據分明說深密義,名隱密記。 + +又如《經》說:如來謂諸大人受記:汝阿逸多,未來有王,名曰穰佉,當於是世而得成佛,名曰弥勒,名顯了記。 + +> 註:一切智光明仙人慈心因缘不食肉经。 + + +故云隱密、顯了記別差別。 + +#16 3 釋過失 + +過失者,謂我宣說諸雜染法、有無量門差別過患。 + +#16 4 釋功德 + +功德者,謂我宣說諸清淨法、有無量門差別勝利。 + +#16 5 釋理趣 + +#17 理趣者,當知六種:一者、真義理趣,二者、證得理趣,三者、教導理趣,四者、遠離二邊理趣,五者、不可思議理趣,六者、意趣理趣。 + +#18 六者、意趣理趣者,《對法》第十二,說有四種意趣,由此意趣故,方廣分中,一切如來所有意趣,應隨決了。何等為四?謂平等意趣、別時意趣、別義意趣、眾生意樂意趣。 + +平等意趣者,如說我於尒時曾名勝觀如來、應、正等覺,與彼法身無差別故。 + +別時意趣者,如說若有願生極樂世界,皆得徃生;若暫得聞無垢月光如來名者,即於阿耨多羅三藐三菩提決不退轉。如是等言意在別時故。 + +> 註:CBETA作“汝不退轉”,應誤。@ + +別義意趣者,如說一切諸法皆無自性,如是等言,不可如文便取義故。 + +眾生意樂意趣者,謂於一善根,或時稱讚,為令歡喜勇猛修故;或時毀呰,為遮得少善生喜足故。為貪行者,稱讚佛土富樂莊嚴;為𢢔行者,稱讚諸佛或有增勝。為恒悔𢙉,障修善者,說如是言:於佛菩薩雖行輕毀,然彼眾生亦生天趣。為不定種姓者,捨離聲聞下劣意樂,故記大聲聞當得作佛,又說一乘更無第二。 + +#16 6 釋流轉 + +#17 流轉者,所謂三世三有為相、及四種緣。 + +三世有為相者,謂一生,二滅,三住、異性,由三世所顯。由未來世本無而生,彼既生已,落謝過去。現在世法二相所顯,謂住及異,唯現在法有住可得,前後變異,亦唯現在故。揔說住、異而為一相。 + +及四種緣者:一、因緣;二、等無閒緣;三、所緣緣;四、增上緣。餘義如文,思之可解。 + +#16 7 釋道理 + +#17 1 初揔標列 + +#18 道理者,當知四種:一者、觀待道理,二者、作用道理,三者、證成道理,四者、法爾道理。 + +七、釋道理,文中有二:初揔標列;後別解釋。此初也。 + +#17 2 後別解釋 + +#18 1 觀待道理 + +觀待道理者:謂若因若緣能生諸行、及起隨說;如是名為觀待道理。 + +#18 2 作用道理 + +#19 作用道理者:謂若因若緣能得諸法、或能成辦、或復生已作諸業用;如是名為作用道理。 + +後別解釋,文中分四:一、釋觀待道理;二、釋作用道理;三、釋證成道理;四、釋法尒道理。此初二也。 + +觀待、作用,如前二十五廣說,更不繁述。 + +> 註:瑜伽卷二十五,參考前說之三種世俗相、四種安住相。 @ + +#18 3 證成道理 + +#19 1 略明 + +#20 證成道理者:謂若因若緣能令所立、所說、所標義得成立、令正覺悟;如是名為證成道理。 + +三、釋證成道理,文分為二:初略明,後廣釋。此初也。 + +#19 2 廣釋 + +#20 1 初揔標列 + +#21 又此道理、略有二種:一者、清淨,二者、不清淨。由五種相、名為清淨;由七種相、名不清淨。 + +後廣釋,有二:初揔標列;後別解釋。此初也。 + +#20 2 後別解釋 + +#21 1 釋五種相清淨 + +#22 1 正釋五種 + +#23 1 徵 + +云何由五種相、名為清淨? + +#23 2 列 + +#24 一者、現見所得相,二者、依止現見所得相,三者、自類譬喻所引相,四者、圓成實相,五者、善清淨言教相。 + +後別解釋,文中分二:初釋五種相清淨;後釋七種相不清淨。初中分四:一、正釋五種;二、示相勸修;三、因申問荅;四、結成前義。初中復三:一、徵;二、列;三、釋。此初二也。 + +#23 3 釋 + +#24 1 釋現見所得相 + +#25 現見所得相者:謂一切行皆無常性、一切行皆是苦性、一切法皆無我性、此為世間現量所得。如是等類、是名現見所得相。 + +三、釋中分五:一、釋現見所得相;二、釋依止現見所得相;三、釋自類譬喻所引相;四、釋圓成實相;五、釋善清淨言教相。此即初也。 + +一切行起盡,遷流生滅,名為無常; + +一切行有漏,逼迫自性,皆名為苦。 + +一切法揔無自在、一、常實我,名為無我。 + +#24 2 釋依止現見所得相 + +#25 依止現見所得相者:謂一切行皆剎那性、他世有性、淨不淨業無失壞性。由彼能依麁無常性、現可得故;由諸有情種種差別、依種種業、現可得故;由諸有情若樂若苦、淨不淨業以為依止、現可得故;由此因緣,於不現見、可為比度。如是等類、是名依止現見所得相。 + +#26 二、釋依止現見所得相,有其三種:一、謂一切行皆𠛴那性;二、他世有性;三、淨不淨業,無失壞性。此上皆是能依、所比知法。 + +由彼能依麤無常性,現可得故,由此因緣,於不現見、𠛴那細無常性可為比度,定知是有。 + +由諸有情,苦樂果報種種差別,依種種善惡之業現可得故,由此因緣,於他世不現見苦樂果報,依善惡業可為比度,定知是有。 + +由諸有情,若樂若苦,淨不淨業以為依止,現可得故,由此因緣,於不現見若樂若苦,淨不淨業,無失壞性,可為比度,定知是有。 + +此中超閒用文,如其次第,智者詳矣。 + +#24 3 釋自類譬喻所引相 + +#25 自類譬喻所引相者:謂於內外諸行聚中、引諸世間共所了知所得生死,以為譬喻;引諸世間共所了知所得生等種種苦相、以為譬喻;引諸世間共所了知所得不自在相、以為譬喻;又復於外、引諸世間共所了知所得衰盛、以為譬喻。如是等類、當知是名自類譬喻所引相。 + +#26 三、釋自類譬喻所引相, + +謂於內外諸行聚中,引諸世閒共許無常,喻不共許無常; + +引諸世閒共許苦相,喻不共許苦; + +引諸世間共許不自在相,即是無我,喻不共許無我。餘文可解。 + +#24 4 釋圓成實相 + +#25 圓成實相者:謂即如是現見所得相、若依止現見所得相、若自類譬喻所得相,於所成立決定能成,當知是名圓成實相。 + +四、釋圓成實相,依前三理,於所立義決定能成,名圓成實相。 + +#24 5 釋善清淨言教相 + +#25 善清淨言教相者:謂一切智者之所宣說;如言涅槃究竟寂靜。如是等類、當知是名善清淨言教相。 + +五、釋善清淨言教相,文易可知。 + +#22 2 示相勸修 + +#23 善男子!是故由此五種相故、名善觀察清淨道理;由清淨故,應可修習。 + +二、示相勸修。 + +#22 3 因申問荅 + +#23 1 問 + +#24 世尊!一切智者相、當知有幾種? + +三、因申問荅。文中有二:初問,後荅。此初,問也。 + +#23 2 答 + +#24 善男子!略有五種: + +一者、若有出現世間、一切智聲、無不普聞; + +二者、成就三十二種大丈夫相; + +三者、具足十力、能斷一切眾生一切疑惑; + +四者、具足四無所畏,宣說正法,不為一切他論所伏,而能摧伏一切邪論; + +五者、於善說法、毘奈耶中,八支聖道、四沙門等、皆現可得。 + +#24 如是生故,相故,斷疑網故,非他所伏、能伏他故,聖道沙門現可得故。如是五種、當知名為一切智相。 + +後荅。 + +#22 4 結成前義 + +#23 善男子!如是證成道理,由現量故,由比量故,由聖教量故,由五種相、名為清淨。 + +#24 四、結成前義。 + +由現量故,結前現見所得相。 + +由比量故,結前依止、自類、圓成三相。 + +> 註:CBETA作“目類”,應誤。@ + +由聖教量故,結前善清淨言教相。 + +由具三量五相,名為清淨。 + +#21 2 釋七種相不清淨 + +#22 1 徵 + +云何由七種相、名不清淨? + +#22 2 列 + +#23 一者、此餘同類可得相,二者、此餘異類可得相,三者、一切同類可得相,四者、一切異類可得相,五者、異類譬喻所引相,六者、非圓成實相,七者、非善清淨言教相。 + +後釋七種不清淨,文中分三:一、徵;二、列;三、釋。此初二也。 + +#22 3 釋 + +#23 1 別釋前四相 + +#24 1 釋第三一切同類可得相 + +#25 3若一切法、意識所識性,是名一切同類可得相。 + +三、釋,中分二:初別釋前四相,後合釋後三相。初中有四:一、釋第三,一切同類可得相;二、釋第四,一切異類可得相;三、釋第一,此餘同類可得相,兼釋第六非圓成實;四、釋第二,此餘異類可得相,兼釋第六非圓成實。此即初也。 + +若一切法意識所識性者,即是意識所量性也,此犯因中共不定過。如聲論師對佛法者,立聲為常,所量性故,喻如虛空。比中常宗,瓶為異品,所量性因,於同、異品皆遍共有,九句因中,第一句也。指不定相云:為如瓶等所量性故,聲是無常?為如空等所量性故,聲是其常? + +> 註:九句因,此中提到一、三、四、六、七句,未提第五、九句。 @ +(1)同品有,异品有...............不定 +(2)同品有,异品非有...............正 +(3)同品有,异品有非有...........不定 +(4)同品非有,异品有.............相违 +(5)同品非有,异品非有...........不定 +(6)同品非有,异品有非有.........相违 +(7)同品有非有,异品有...........不定 +(8)同品有非有,异品非有...........正 +(9)同品有非有,异品有非有.......不定​ + +#24 2 釋第四異類可得相 + +#25 若一切法相、性、業、法、因果異相,5由隨如是一一異相;4決定展轉各各異相,是名一切異類可得相。 + +#26 二、釋第四,異類可得相。此犯因中四相違過。 + +> 註:四相違因:(1)法自相相违过;(2)法差别相违过;(3)有法自相相违过;(4)有法差别相违过。@ + +第一,法自相相違者,如聲論師立聲為常,所作性故,或勤勇無間所發性故。此因唯於異品中有,是故相違。由初常宗,空等為同品,瓶等為異品,所作性因,同遍非有,異品遍有,九句因中,第四句也,應為相違量云:聲是無常,所作性故,譬如瓶等。由第二宗,空為同品,以電瓶等而為異品,勤勇發因,於同遍無,於異品電無,瓶等上有,九句因中,第六句也。 + +此之二因,反成無常,違宗所陳,法自相故,名相違因。故《理門論》云:於同有及二,在異無是因,反此名相違,所餘皆不定。 + +此所作因,飜九句中,第二正因,彼同品有,異品非有,此同品非有,異品有故。 + +此勤勇因,飜九句中,第八正因,彼同品有非有,異品非有,此同品非有,異品有非有。 + +此中略敘初一相違;後三相違,如因明廣辯。 + +#24 3 釋第一此餘同類可得相兼釋第六非圓成實 + +#25 善男子!1若於此餘同類可得相、及譬喻中有一切異類相者;由此因緣、於所成立非決定故,是名非圓成實相。 + +三、釋第一,此餘同類可得相,兼釋第六,非圓成實。前列但云此餘同類,不言一切異類;後釋言此餘同類,復云一切異類,此即前略後廣,詞巧義深,聖智所宣,非相違故。 + +言此餘同類者,即同品一分轉。一切異類者,即異品遍轉。此犯因中同分異,全不定過。如聲生論對聲顯宗,立聲非勤勇無閒所發,無常性故,喻若電空。此非勤宗,瓶為異喻。無常性因,於同品電上有,空上無,異品瓶中,一向是有,九句因中,第七句也。指不定相云:為如瓶等,無常性故,彼是勤勇無間所發?為如電等,無常性故,彼非勤勇無間所發? + +#24 4 釋第二此餘異類可得相兼釋第六非圓成實 + +#25 2又於此餘異類可得相、及譬喻中有一切同類相者;由此因緣、於所成立不決定故,亦名非圓成實相。 + +四、釋第二,此餘異類可得相,兼釋第六,非圓成實。前列後釋,略廣不同,亦如上會。 + +言此餘異類者,即異品一分轉。一切同類者,即同品遍轉。此犯因中異分同,全不定過。如聲顯論,對聲生宗,立聲是勤勇無閒所發,無常性故,喻如瓶等。勤勇之宗,以電空等而為異品,無常性因,於同品有,於異品電等上有,空等上無,九句因中,第三句也。指不定相云:為如電等無常性故,彼非勤勇,無閒所發?為如瓶等無常性故,彼是勤勇,無閒所發? + +#23 2 合釋後三相 + +6非圓成實故,非善觀察清淨道理。不清淨故,不應修習。 + +#24 7若異類譬喻所引相、若非善清淨言教相,當知體性皆不清淨。 + +後合釋後三相。此之後三,通前諸過,故後合釋,如文易知。 + +#18 4 法尒道理 + +#19 法爾道理者:謂如來出世、若不出世,法性安住,法住法界,是名法爾道理。 + +四、釋法尒道理。 + +#16 8 釋總別 + +#17 總別者:謂先總說一句法已,後後諸句差別分別、究竟顯了。 + +八、釋揔別,謂初揔摽一句法已,後後諸句差別分別。廣釋究竟,顯了其義,名揔別也。 + +#14 5 釋自性相 + +#15 自性相者:謂我所說,有行、有緣,所有能取菩提分法,謂念住等。如是名為彼自性相。 + +五、釋自性相。 + +#14 6 釋彼果相 + +#15 彼果相者:謂若世間、若出世間,諸煩惱斷、及所引發世出世間諸果功德。如是名為得彼果相。 + +#16 六、釋彼果相。 + +若世間道,伏斷煩𢙉;若出世道,永斷煩𢙉。此辯斷德。 + +及所引發世、出世間諸果功德,此明智德。 + +#14 7 釋彼領受開示相 + +#15 彼領受開示相者:謂即於彼以解脫智而領受之,及廣為他宣說開示。如是名為彼領受開示相。 + +七、釋彼領受開示相,謂即於彼以解脫智,領受所得智、斷功德,為他宣說。 + +#14 8 釋彼障礙法相 + +#15 彼障礙法相者:謂即於修菩提分法、能隨障礙諸染污法,是名彼障礙法相。 + +八、釋彼障礙法相,如文可解。 + +#14 9 釋彼隨順法相 + +#15 彼隨順法相者:謂即於彼多所作法,是名彼隨順法相。 + +九、釋彼隨順法相,謂即於彼涅槃,修隨順法,多有所作,名彼隨順。 + +#14 10 釋彼過患相 + +#15 彼過患相者:當知即彼諸障礙法所有過失。是名彼過患相。 + +十、釋彼過患相,即前障法能為過患,名過患相。 + +#14 11 釋彼勝利相 + +#15 彼勝利相者:當知即彼諸隨順法所有功德,是名彼勝利相。 + +十一、釋彼勝利相,即前能隨順法所有功德,名勝利相。 + +#8 6 明不共陁羅尼義 + +#9 1 問 + +#10 曼殊室利菩薩復白佛言:唯願世尊為諸菩薩略說契經、調伏、本母、不共外道陀羅尼義;由此不共陀羅尼義、令諸菩薩得入如來所說諸法甚深密意。 + +六、明不共陁羅尼義,文中分二:初問,後荅。此初,問也。 + +#9 2 答 + +#10 1 長行正辯 + +#11 1 勑聽許說 + +#12 佛告曼殊室利菩薩曰:善男子!汝今諦聽!吾當為汝略說不共陀羅尼義,令諸菩薩於我所說密意言詞、能善悟入。 + +後荅分二:初長行正辯,後以頌結成。初中分三:一、勑聽許說;二、正為解釋;三、結荅前問。此即初也。 + +> 註: 勑 chì 同“敕”。 + +#11 2 正為解釋 + +#12 1 明染淨一相 + +#13 善男子!若雜染法、若清淨法,我說一切皆無作用;亦都無有補特伽羅。以一切種,離所為故。非雜染法先染後淨,非清淨法後淨先染。 + +二、正為解釋,文中分三:一、明染淨一相;二、明迷真起妄;三、明息妄歸真。此即初也。 + +此明佛說染淨從緣,無有自性,無性即空,染淨平等。染非染故,不異於淨;淨非淨故,不異於染。實相門中,何染何淨?故知染淨本來一相,非先非後。故《仁王經》云:眾生未成佛,菩提為煩𢙉,眾生若成佛,煩𢙉為菩提。 + +> 註:參考:大乘中總空性相。 + +#12 2 明迷真起妄 + +#13 凡夫異生、於麁重身,執著諸法、補特伽羅自性、差別,隨眠妄見、以為緣故,計我我所;由此妄謂我見、我聞、我嗅、我甞、我觸、我知、我食、我作、我染、我淨,如是等類邪加行轉。 + +二、明迷真起妄。凡夫異生,無明倒想,迷自身中諸法實性,妄執我、人,起於分別,以分別故,廣作諸業,於三界五道,受生死身,如旋火輪,無有窮盡。 + +#12 3 明息妄歸真 + +#13 若有如實知如是者,便能永斷麁重之身,獲得一切煩惱不住、最極清淨、離諸戲論、無為依止、無有加行。 + +三、明息妄歸真。若有如實知如是等者,若知是妄,不造妄因;妄因無故,不受苦果;苦果無故,無麤重身。 + +獲得一切煩𢙉不住,最極清淨者,即煩𢙉障滅。 + +離諸戲論,無為依止,無有加行者,即所知障滅,無為法身以為依止,無有加行,任運成佛。 + +#11 3 結荅前問 + +#12 善男子!當知是名略說不共陀羅尼義。 + +三、結荅前問。 + +#10 2 以頌結成 + +爾時世尊欲重宣此義、而說頌曰: + +1一切雜染清淨法、皆無作用數取趣。 + +由我宣說離所為,染污、清淨,非先後。 + +2於麁重身隨眠見,為緣、計我及我所, + +由此妄謂我見等、我食、我為、我染淨。 + +3若如實知如是者;乃能永斷麁重身, + +#11 得無染淨、無戲論、無為依止、無加行。 + +#12 後以頌結成。此之三頌, + +初一頌,頌前若雜染法等; + +次一頌,頌前凡夫異生等; + +後一頌,頌前若有如實等。 + +> 註:明染淨一相、明迷真起妄、明息妄歸真。 + +#8 7 明如來心生起之相 + +#9 1 問 + +#10 爾時曼殊室利菩薩復白佛言:世尊!云何應知諸如來心生起之相? + +七、明如來心生起之相。文分為四:一、問;二、荅;三、徵;四、釋。此初,問也。 + +#9 2 答 + +#10 佛告曼殊室利菩薩曰:善男子!夫如來者,非心意識生起所顯;然諸如來,有無加行,心法生起,當知此事猶如變化。 + +二、荅。 + +#9 3 徵 + +#10 世尊!若諸如來法身遠離一切加行,既無加行,云何而有心法生起? + +三、徵。 + +#9 4 釋 + +#10 1 法 + +#11 善男子!先所修習方便般若、加行力故,有心生起。 + +四、釋,分二:初法;後喻。此初,法也。 + +#10 2 喻 + +#11 1 喻 + +#12 善男子!譬如正入無心睡眠,非於覺悟而作加行;由先所作加行勢力、而復覺悟。又如正在滅盡定中,非於起定而作加行;由先所作加行勢力、還從定起。如從睡眠及滅盡定,心更生起, + +後喻分二,初喻,後合。此初,喻也。 + +#11 2 合 + +#12 如是如來由先修習方便般若加行力故,當知復有心法生起。 + +後合,可知。 + +#8 8 明化身有心無心 + +#9 1 問 + +#10 世尊!如來化身、當言有心,為無心耶? + +八、明化身有心無心。文中分二:初問,後荅。此初,問也。 + +#9 2 答 + +#10 善男子!非是有心,亦非無心。何以故?無自依心故,有依他心故。 + +後荅。佛之化身無自依心,然依受用佛心,對緣利物,故云有依他心。 + +> 註:然依受用,佛心對緣利物?斷句是否正確? + +#8 9 明如來所行如來境界二種差別 + +1 問 + +#9 世尊!如來所行、如來境界、此之二種有何差別? + +九、明如來所行、如來境界二種差別。文中分二:初問,後荅。此初,問也。 + +#9 2 答 + +#10 善男子!如來所行,謂一切種如來共有,不可思議無量功德眾所莊嚴清淨佛土;如來境界,謂一切種五界差別。何等為五?一者、有情界,二者、世界,三者、法界,四者、調伏界,五者、調伏方便界。如是名為二種差別。 + +後荅。功德莊嚴清淨佛土,名如來所行。五界差別,利益有情,名如來境界。 + +#8 10 明如來成等正覺轉正法輪入大涅槃三種皆無二相 + +#9 1 問 + +#10 世尊!如來成等正覺、轉正法輪、入大涅槃、如是三種當知何相? + +十、明如來成等正覺,轉正法輪,入大涅槃,三種皆無二相。文中分二:初問,後荅。此初,問也。 + +#9 2 答 + +#10 善男子!當知此三、皆無二相。謂非成等正覺,非不成等正覺;非轉正法輪,非不轉正法輪;非入大涅槃,非不入大涅槃。何以故?如來法身、究竟淨故;如來化身、常示現故。 + +後荅。此約如來法、化二身,相對辯也。法身無三相,名究竟淨;化身有三相,名常示現。 + +#8 11 明如來法身遠生他福 + +#9 1 問 + +#10 世尊!諸有情類,但於化身見聞奉事生諸功德。如來於彼有何因緣? + +十一、明如來法身遠生他福,文分為二:初問;後荅。此初。 + +問云:諸有情類,但於化身見聞奉事,生諸功德,如來法身於彼有情,有何因緣,令生福等? + +#9 2 答 + +#10 善男子!如來是彼增上所緣之因緣故;又彼化身、是如來力所住持故。 + +後荅。意云:如來法身,是彼有情增上所緣之因緣故,遠生他福。又彼化身,是如來法身之力所住持故,所以法身亦能生福。 + +#8 12 明佛法身於光出像二乘解脫之身無如來事 + +#9 1 問 + +#10 世尊!等無加行,何因緣故如來法身、為諸有情放大智光,及出無量化身影像;聲聞、獨覺解脫之身、無如是事? + +十二、明佛法身於光出像,二乘解脫之身,無如來事。文中分二:初問,後荅。此初,問也。 + +#9 2 答 + +#10 1 喻 + +善男子!譬如等無加行,從日月輪,水火二種頗胝迦寶,放大光明;非餘水火頗胝迦寶。 + +謂大威德有情所住持故; + +諸有情業增上力故。 + +#11 又如從彼善工業者之所彫飾末尼寶珠、出印文像,不從所餘不彫飾者; + +後荅分二,初喻,後合。此初,喻也。 + +譬如等無至放大光明者,下釋云:謂大威德有情所住持故,即日月天子具大威德所住持故,能放大光明。此喻諸佛具大威德,集成法身所住持故,能放大光明。 + +諸有情業增上力故者,由諸有情為黑闇故,修光明業,增上力故,感彼日月頗胝迦寶放大光明。此喻諸有情修見佛行,感彼法身放大光明。 + +非餘水火、頗胝迦寶者,非餘水火頗胝迦寶能放光明。此喻二乘解脫之身,不能放大光明。 + +又如從彼至出印文像者,此喻如來法身能出種種化身影像,不從所餘不彫飾者,此喻二乘解脫之身,不能出種種化身影像。 + +#10 2 合 + +#11 如是緣於無量法界方便般若、極善修習、磨瑩集成如來法身,從是能放大智光明、及出種種化身影像,非唯從彼解脫之身、有如斯事。 + +後合,如文,配喻可解。 + +#8 13 明佛菩薩威德住持若道若行令諸有情於三界中身財圓滿 + +#9 1 問 + +#10 世尊!如世尊說:如來菩薩威德住持,令諸眾生於欲界中、生剎帝利婆羅門等大富貴家,人身、財寶、無不圓滿;或欲界天、色、無色界、一切身財圓滿可得。世尊!此中有何密意? + +十三、明佛菩薩威德住持,若道若行,令諸有情於三界中身財圓滿。文中分二:初問,後荅。此初,問也。 + +#9 2 答 + +#10 1 正答 + +#11 善男子!如來菩薩威德住持、若道若行,於一切處能令眾生獲得身財皆圓滿者,即隨所應、為彼宣說此道此行;若有能於此道此行正修行者,於一切處所獲身財、無不圓滿。若有眾生於此道此行、違背輕毀,又於我所、起損惱心及瞋恚心,命終已後、於一切處所得身財、無不下劣。 + +後荅分二:初正荅,後結成。此初也。 + +道謂十善,行謂三業。如來菩薩了知此道、此行是身財因,為彼宣說,於此道、行,順教修者,於一切處獲得身財無不圓滿。據如是義,名威德住持。 + +若有眾生下,反此可知。 + +#10 2 結成 + +#11 善男子!由是因緣,當知如來及諸菩薩威德住持,非但能令身財圓滿;如來菩薩住持威德,亦令眾生身財下劣。 + +後結成。 + +#8 14 明穢土八事易得二事難得淨土飜此 + +#9 1 問 + +#10 世尊!諸穢土中、何事易得?何事難得?諸淨土中、何事易得?何事難得? + +十四、明穢土,八事易得,二事難得,淨土飜此。文中分二:初問,後荅。此初,問也。 + +#9 2 答 + +#10 1 明穢土八事易得二事難得 + +#11 善男子!諸穢土中、八事易得,二事難得。何等名為八事易得? + +一者、外道, + +二者、有苦眾生, + +三者、種姓家世興衰差別, + +四者、行諸惡行, + +五者、毀犯尸羅, + +六者、惡趣, + +七者、下乘, + +八者、下劣意樂加行菩薩。 + +#11 何等名為二事難得? + +一者、增上意樂加行菩薩之所遊集; + +二者、如來出現于世。 + +後荅分二:初、明穢土八事易得,二事難得;後明淨土二事易得,八事難得。此即初也。 + +#10 2 明淨土二事易得八事難得 + +#11 善男子!諸淨土中、與上相達,當知八事甚為難得,二事易得。 + +後明淨土二事易得,八事難得。 + +#7 2 請立經名 + +#8 1 問 + +#9 世尊!於此解深密法門中、此名何教?我當云何奉持? + +二、請立經名,文分為二:初問,後荅。此初,問也。 + +#8 2 答 + +#9 善男子!此名如來成所作事了義之教;於此如來成所作事了義之教、汝當奉持。 + +後荅。 + +#7 3 時眾得益 + +#8 是如來成所作事了義教時,於大會中有七十五千菩薩、摩訶薩皆得圓滿法身證覺。 + +三時眾得益。 + +上來決擇初持瑜伽處,竟。 + +> 註:2020年4月10日,宗超 初校。 +​ +​下卷: +​論卷第七十九,攝決擇分中菩薩地第十一之八, +論如是已說功德品決擇。 + + diff --git "a/docs/\343\200\212\350\247\243\346\267\261\345\257\206\347\266\223\343\200\213\347\221\234\344\274\275\345\270\253\345\234\260\350\253\226\350\250\230\357\274\210\345\200\253\350\250\230\357\274\211\347\247\221\346\263\250.md" "b/docs/\343\200\212\350\247\243\346\267\261\345\257\206\347\266\223\343\200\213\347\221\234\344\274\275\345\270\253\345\234\260\350\253\226\350\250\230\357\274\210\345\200\253\350\250\230\357\274\211\347\247\221\346\263\250.md" new file mode 100644 index 0000000..8029d24 --- /dev/null +++ "b/docs/\343\200\212\350\247\243\346\267\261\345\257\206\347\266\223\343\200\213\347\221\234\344\274\275\345\270\253\345\234\260\350\253\226\350\250\230\357\274\210\345\200\253\350\250\230\357\274\211\347\247\221\346\263\250.md" @@ -0,0 +1,5284 @@ +#1 正文 + +#2 正文 + +#3 1 總說 + +> 《瑜伽師地論》18 決擇功德品 + +#4 自下第一一,決擇功德品。 + +> 宋藏遺珍、中華藏:第十一, +卍續藏:一 疑 十​ + +1若依景師釋,此下乃至“八殊勝”來,猶是決擇是菩提分法品;其《深密》經文,全是決擇功德品。 + +雖有此判,今還依前判。2玄師親承三藏有此傳也。 + +> 卍續藏:玄 字更勘 + +於中分二:初隨義難彼;後引深密經,以辨七義。 + +#3 2 別釋 + +#4 1 隨義難彼 + +#5 1 總說 + +前中有四:初破初學大乘惡取空者;次成立大乘教起因緣;第三明自共相觀能證佛法;第四明由八殊勝諸地轉。 + +#5 2 別釋 + +#6 1 破初學大乘惡取空者 + +#7 1 總說 + +初中,先舉邪執;二、正徵破。 + +#7 2 別釋 + +#8 1 舉邪執 + +#9 復次,於大乘中或有一類惡取空故,作如是言:「由世俗故一切皆有,由勝義故一切皆無。」 + +> (註:黑體為 法鼓專案 《瑜伽師地論》 原文) + +1景云:言於大乘中乃至一切皆無者,彼初學者作如是言:依他、圓成,依世俗門一切皆有,依勝義諦一切皆無,以依他無生、圓成無性故。 + +次下論主重徵定之。 + +應告彼言:「長老!何者世俗?何者勝義?」 + +#9 如是問已,彼若答言:「若一切法皆無自性,是名勝義。若於諸法無自性中,自性可得,是名世俗,何以故?無所有中,建立世俗假設名言而起說故。」 + +應告彼言乃至而起說故者,外人答言:依他、圓成皆無自性,是勝義諦;於無性法,假名建立,為起言說,更相教示,名為世俗。 + +下論主徵:名言世俗,為從因有自性所得?為唯名言世俗說有者? + +#9 應告彼曰:「汝何所欲:名言世俗,為從因有,自性可得?為唯名言世俗說有? + +且據依他色心等法,世俗說有,為從因生自性可得?為無因生,唯名言中世俗說有?此兩問定。 + +> 卍續藏:定 恐 答 + +#8 2 正徵破 + +自下正破。 + +#9 若名言世俗,從因有者,名言世俗從因而生,而非是有,不應道理。 + +若名言世俗從因有者至不應理者,要是有法方從因生,若立世俗,從因而生,即是有法,而言非有,不應道理。 + +#10 若言佛說因緣所生,我說即是空,雖從因生,何廢空者,即應返問:為從因生空,為從因生有? + +生空,龜毛兔角應從因生,以俱無故; + +若生有者,即是有法,云何名空? + +應知經意因緣生法者,即是依他,依他法上,無決定、無自然生性,故云我說即是空。 + +#9 若唯名言世俗說有,名言世俗無事而有,不應道理。」 + +若唯名言世俗有,名言世俗無事而有,不應道理者,若言世俗不從因生,即無因果,無因果法無,就何施設名言世俗?故云名言世俗無事而有,不應道理。 + +#9 又應告言:「長老!何緣諸可得者,此無自性」? + +又應告言:長老!何緣諸可得者,此無自性者,此重徵問,現可得法,何緣無性? + +#9 如是問已,彼若答言:「顛倒事故」。 + +彼若得言:顛倒事故者,外人答曰:雖現可得,以顛倒故皆無自性。 + +#9 復應告言:「汝何所欲:此顛倒事為有?為無? + +復應告言:此顛倒事,為有,為無?者,重二問定。 + +> 卍續藏:定 恐 答 + +#10 若言有者,說一切法由勝義故,皆無自性,不應道理。 + +若言有者,說一切法由勝義故皆無自性,不應道理者,汝若許有彼顛倒事,即有苦集因果法性,而言諸法由勝義故皆無自性,不應道理。 + +#10 若言無者,顛倒事故,諸可得者,此無自性,不應道理。」 + +若言無者,顛倒事故諸可得者,此無自性,不應道理者,若顛倒事畢竟無者,應不可得猶如兔角,今現可得,而言無者,不應道理。 + +2泰云:此是清辨等計,被慈氏所破,牒釋文義,如前第七十三卷記述。 + +3備師復云:清辨論師作如是計,依他起性以世俗故有,以勝義故無,遂違中道。 + +解:放勒弁(彌勒菩薩)依他、圓成,有無即義。@ + +> http://dia.dila.edu.tw/pages/Tv42p0770 (恐有錯字,按: +​中華大藏經:解彌勒菩薩依他、圓成,有無即義 +​宋藏遺珍:解故對弁依他、圓成,有無即義。——弁 =彌勒菩薩?; +​卍續藏:(同 大正藏)放 恐 彌 ○ 弁 恐 菩薩 省略欸;) + +又解:中、百論等宗名惡取空。 + +前解為勝,以護法菩薩釋百論等所辨中道之義,護法宗承論伽,彼論若違瑜伽,何用造釋。 + +#6 2 成立大乘教起因緣 + +次成立大乘教起因緣。 + +1景云:由彼西國諸部小乘皆不信有大乘理教,見學大乘者名為空華,汝立真如本來是有,不生不滅,與彼外道立我本有、不生不滅有何異耶? + +又汝所依大乘教門,佛於何處而說,為何人請,誰請佛說,有何略何廣說?故汝所立大乘教門不可依信,我寧依彼塗灰外道,由如此事故立大乘教起。 + +由五相故,思擇大乘經起因緣說: + +復次,當知由 五相故,思擇大乘經起因緣說,謂: + +#7 (1)為於說者生恭敬故起第一說, + +謂為於說者生恭敬故,起第一說者,諸經中說世尊住在某方某林說處之言。 + +#7 (2)為攝眾故起第二說, + +為攝眾生故,起第二說者,即諸經中引同聞眾與大苾芻眾千二百五十人俱,菩薩三萬二千人等言。 + +#7 (3)為於正法生尊重故起第三說, + +為於正法生尊重故,起第三說者,即經中說解脫月等請說經人,不請而說,聞法之徒不生難遭之想,為生尊重待請而說。 + +#7 (4)為敘事故起第四說, + +為敘事故,起第四說者,即諸經中佛為時眾,略標章也。 + +#7 (5)為欲宣說真實義故,及多所作故起第五說。 + +為欲宣說真實義故,及多所說作故,起第五說者,即諸經中廣說之言。 + +#7 2達云: + +一者、如是我聞等是; + +二者、列眾; + +三者、如梵王請故等說發起序也; + +四者、謂於正宗分中略說所說事; + +五、請為欲宣說真實故者,廣分別義也;及多所作故者,時眾得益,依教奉行也。 + +#6 3 明自、共相觀,能證佛法 + +第三明十二處,自、共二觀,有十無顛倒道,能證所有不共佛法,六是自相觀,四是共相觀。 + +復次,依十處自相、共相觀故,有十種無顛倒道,能證所有不共佛法。當知此中,六種觀自相,四種觀共相。 + +#7 謂於十二處,眼等名言假立相中,能遍了知,唯名言相,是名第一無顛倒道,能證所有不共佛法。 + +一者了知隨眠等名,遍計搆畫,唯有名言,即顯眼等自性不可言說; + +#7 復次,於十二處,能遍了知,攝受虛妄分別種種生相,是名第二無顛倒道,能證所有不共佛法。 + +二者、了知於處,遍計所執,攝受虛妄,即顯外處之自相; + +#7 復次,於十二處,能遍了知依因轉相,是名第三無顛倒道,能證所有不共佛法。 + +三者、了知依他,從因轉生; + +#7 復次,於十二處,能遍了知相壞轉相,是名第四無顛倒道,能證所有不共佛法。 + +四者、了知依他,自然而滅,名壞轉相; + +#7 復次,於十二處,能遍了知清淨轉相,是名第五無顛倒道,能證所有不共佛法。 + +五、了知清淨轉相, + +#8 當知此中,依二種業有二清淨:一生起清淨,二寂滅清淨。 + +乃至當知此依二業,一生起清淨是道,二寂滅清淨是滅; + +#7 復次,於十二處,能遍了知所有名言安足處相,是名第六無顛倒道,能證所有不共佛法。 + +六者、了知有為,可為名言安足處。 + +#7 如是六種觀察自相。 + +此上自相,下是共相。 + +#7 復次,即於如是十二處中,能遍了知,共相自性,是名第七無顛倒道,能證所有不共佛法。 + +七者、了知無常空及無我; + +#7 復次,即於如是十二處中,能遍了知,共相無分別所行相,是名第八無顛倒道,能證所有不共佛法。 + +八者、了知所證無分別起所行之理; + +> 註:無分別起?@ + +#7 復次,即於如是十二處中,能遍了知,共相出世法所行相,是名第九無顛倒道,能證所有不共佛法。 + +九者、了知所證,但是出世智所行法; + +#7 復次,即於如是十二處中,能遍了知,共相清淨因相,是名第十無顛倒道,能證所有不共佛法。 + +十者、了知聖道為涅槃因。 + +如是四種觀察共相。 + +#6 4 明由八殊勝諸地轉 + +第四明由八殊勝,於諸住地,後後轉勝,此是通諸地之德也。 + +#7 復次,當知由八殊勝,於諸住地後後轉勝: + +> 註:圆测法师《解深密经疏》地品 广释 + +一、意樂殊勝; + +二、心清淨殊勝; + +三、悲殊勝; + +四、波羅蜜多殊勝; + +五、成熟有情殊勝; + +六、見諸佛往趣承事、供養殊勝; + +七、生殊勝; + +八、神力殊勝。 + +《解深密經 · 序品》引《佛地經論》《攝大乘論》(科判待整理) + +> 註:歐陽竟無註,引《佛地經論》前兩卷,至“以初地上一一地中普摄一切诸地行故”。 +https://mubu.com/doc/y3FGFBwmVn​ +《攝大乘論》注釋對照: https://mubu.com/doc/104nTYrG-oT​ + +#4 2 引《解深密經》以辨七義 + +> 宋藏遺珍 卷十七,79頁 +中華大藏經 瑜伽師地論記卷第八十三​ + +#5 1 總說 + +#6 自下第二引深密經以辨七義,即為七段。 + +初、如理請問菩薩等問勝義; + +第二、廣慧菩薩問心意識義; + +第三、德本菩薩問三性之義; + +第四、勝義生菩薩請問三無性義; + +第五、慈氏菩薩請問奢摩他、毘鉢舍那義; + +第六、觀自在菩薩問諸地義; + +第七、曼殊室利菩薩請問三身義。 + +#5 2 別釋 + +#6 1 如理請問菩薩等問勝義 + +#7 1 總說 + +就初問勝義諦相中,先開五門;第二依門解釋,有其四段。 + +#8 復次,勝義諦有五種相: + +一、離名言相; + +二、無二相; + +三、超過尋思所行相; + +四、超過諸法一異性相; + +五、遍一切一味相。 + +#7 2 別釋 + +#8 2 依門解釋(缺解1) + +#9 1 解二離言二門 + +#10 1 總說 + +#11 此勝義諦,離名言相及無二相,當知如《解深密經》中, + +初解二離言二門。於中;初總牒指經,後別引其文。 + +#10 2 別釋 + +#11 1 總牒指經 + +前中,言解深密經者,此經有四翻。一、流支翻名深密解脫經;二、求那跋陀羅翻名相續解脫經;三、真諦翻名解節經;四、玄奘翻名解深密經。 + +梵本一音,具含三義。一、兩物相續義;二、骨節相連義;三、深密義。 + +歷代三藏各取一義故,譯名不同。 + +#11 2 別引其文 + +#12 1 總說 + +就別引經文中,先長行廣辨,後以頌敘。 + +#12 2 別釋 + +#13 1 長行廣辨 + +#14 1 總說 + +就長行中,有三問答。 + +#14 2 別釋 + +#15 1 初問答 + +#16 如理請問菩薩問解甚深義密意菩薩言:「最勝子!言一切法無二。一切法無二者,何等一切法?云何為無二?」 + +初問答中,言最勝子者,佛是最勝,明彼菩薩是最勝之子,名最勝子,舊云佛子。 + +#16 解甚深義密意菩薩告如理請問菩薩曰:「善男子!一切法者略有二種:一者、有為,二者、無為。 + +答意,佛為眾生假說有為、無為,而無隨名,有為、無為真實法體,故言無二。 + +答言一切法有二,一者有為、二者無為者,開二門也。 + +#16 是中,有為非有為、非無為,無為亦非無為、非有為。」 + +是中有為,非有為、非無為;無為,亦非無為、非有為。此初答也。 + +#15 2 第二問答 + +「最勝子!如何有為非有為,非無為;無為亦非無為,非有為?」 + +#16 「善男子!言有為者,乃是本師假施設句; + +第二問答,言有為者,乃是本師假施設句者,諸法本離名言,佛為眾生假說有為,名假施設。 + +#17 又解:劫初梵王等立諸法名,名為本師。 + +問:若如後說者,何故《深密解脫經》說云如來名字? + +解云:外道稱自師名如來,故無有過。若《解节經》云大師。 + +若是本師假施設句,即是遍計所集言辭所說; + +#16 若是遍計所集言辭所說,即是究竟種種遍計言辭所說不成實故,非是有為。 + +言若是本師假施設句,即是遍計所集、言辭所說等者,但以眾生隨名起執,於佛假施設句,執有定法,故言是遍計所集乃至不成實故,非是有為。 + +#16 善男子!言無為者,亦墮言辭。 + +言無為者,亦墮言辭者,佛為眾生假立無為,亦墮言辭假施設句,墮名起執,非無為也。 + +#16 設離有為、無為,少有所說,其相亦爾。 + +設離有為、無為,小有所說、其相亦爾者,設如犢子部立第五法藏,名“不可說”,不可說是有為、無為,亦是假立言說施設。上來就遍計所執,以答前問。 + +然非無事而有所說。 + +何等為事? + +#16 謂諸聖者以聖智聖見,離名言故,現等正覺,即於如是離言法性,為欲令他現等覺故,假立名想,謂之有為。 + +然非無事而有所說等者,由有幻等,依他因緣之法,緣之起說也。 + +善男子!言無為者,亦是本師假施設句;若是本師假施設句,即是遍計所集言辭所說;若是遍計所集言辭所說,即是究竟種種遍計言辭所說,不成實故,非是無為。 + +善男子!言有為者,亦墮言辭。 + +#16 設離無為、有為,少有所說,其相亦爾。 + +言無為者亦是本師假施設句乃至其相亦爾者,亦破犢子部說不可言法藏,亦但有名言。 + +然非無事而有所說。 + +#16 何等為事?謂諸聖者以聖智聖見離名言故,現等正覺,即於如是離言法性,為欲令他現等覺故,假立名想,謂之無為。」 + +> 註:要聖者證空性之正體智,方能假名施設安立名言 + +然非無事而有所說等者,由證離言法性為他假說,謂爲無為。 + +#15 3 第三問答 + +1 問 + +#16 「最勝子!如何此事,彼諸聖者以聖智聖見離名言故,現等正覺,即於如是離言法性,為欲令他現等覺故,假立名想,或謂有為,或謂無為?」 + +第三問答,如何此事彼諸聖者證離名法為他假說,或謂有為或謂無為? + +#16 2 答 + +#17 1 總說 + +答中,先喻;後合。 + +#17 2 別釋 + +#18 1 喻 + +「善男子!如善幻師,或彼弟子,住四衢道,積集瓦礫、草、葉、木等,現作種種幻化事業,所謂象身、馬身、車身、步身、末尼、真珠、琉璃、螺貝、璧玉、珊瑚、種種財穀庫藏等身。 + +若諸眾生愚癡、頑鈍、惡慧種類,無所曉知,於瓦礫、草、葉、木等上諸幻化事,見已聞已,作如是念:『此所見者,實有象身,實有馬身、車身、步身、末尼、真珠、琉璃、螺貝、璧玉、珊瑚、種種財穀庫藏等身。』 + +#19 如其所見,如其所聞,堅固執著,隨起言說:『唯此諦實,餘皆愚妄。』彼於後時應更觀察。 + +喻中先舉愚者執幻事為實,以未悟故,初後更思。 + +「若有眾生非愚非鈍、善慧種類,有所曉知,於瓦礫、草、葉、木等上諸幻化事,見已聞已,作如是念: + +『此所見者,無實象身,無實馬身、車身、步身、末尼、真珠、琉璃、螺貝、璧玉、珊瑚、種種財穀庫藏等身,然有幻狀迷惑眼事,於中發起大象身想,或大象身差別之想,乃至發起種種財穀庫藏等想,或彼種類差別之想。』 + +#19 不如所見,不如所聞,堅固執著,隨起言說:『唯此諦實,餘皆愚妄。』為欲表知如是義故,亦於此中隨起言說。彼於後時不須觀察。 + +次明智者了幻事非實,後不復思。 + +#18 2 合 + +#19 「如是,若有眾生是愚夫類,是異生類,未得諸聖出世間慧,於一切法離言法性不能了知。彼於一切有為、無為見已聞已,作如是念:『此所得者,決定實有有為、無為。』如其所見,如其所聞,堅固執著,隨起言說:『唯此諦實,餘皆癡妄。』彼於後時應更觀察。 + +合中亦二:初合凡愚; + +「若有眾生非愚夫類,已見聖諦,已得諸聖出世間慧,於一切法離言法性如實了知。彼於一切有為、無為見已聞已,作如是念:『此所得者,決定無實有為、無為,然有分別所起行相,猶如幻事迷惑覺慧,於中發起為、無為想,或為、無為差別之想。』不如所見,不如所聞,堅固執著,隨起言說:『唯此諦實,餘皆癡妄。』為欲表知如是義故,亦於此中隨起言說。彼於後時不須觀察。 + +#19 「如是,善男子!彼諸聖者於此事中,以聖智聖見離名言故,現等正覺,即於如是離言法性,為欲令他現等覺故,假立名想,謂之有為,謂之無為。」 + +後合聖智。 @ + +> 宋藏遺珍 作“後合體智”。 +​中華藏(金陵刻經處版)、大正藏、卍續藏作“後合聖智”。 + +#13 2 以頌敘 + +爾時,解甚深義密意菩薩欲重宣此義,而說頌曰: + +佛說離言無二義,甚深非愚之所行, + +愚夫於此癡所惑,樂著二依言戲論。 + +彼或不定或邪定,流轉極長生死苦, + +#14 復違如是正智論,當生牛羊等類中。 + +頌中,彼或不定或邪定者,即是不定聚及邪定聚人,妄起執著。 + +#9 2 解超尋思所行相 + +#10 1 總說 + +#11 復次勝義諦超過尋思所行相,當知如解深密經中。 + +第二解超尋思所行相中,初總牒指經;後別引其文。法涌菩薩請問,次如來答。 + +#10 2 別釋 + +#11 2 別引其文(缺解1) + +#12 1 法涌菩薩請問 + +#13 法涌菩薩白佛言:世尊!從此東方、過七十二殑伽河沙等世界、有世界名具大名稱,是中如來、號廣大名稱,我於先日、從彼佛土發來至此。我於彼佛土、曾見一處、有七萬七千外道、并其師首、同一會坐,為思諸法勝義諦相,彼共思議稱量觀察,遍推求時,於一切法勝義諦相、竟不能得,唯除種種意解、別異意解、變異意解、互相違背,共興諍論,口出矛䂎,更相䂎已、刺已、惱已、壞已、各各離散。世尊!我於爾時、竊作是念:如來出世、甚奇希有;由出世故,乃於如是超過一切尋思所行勝義諦相、亦有通達作證可得。說是語已; + +菩薩問中,言殑伽河沙者,即舊云恒河沙。 + +種種意解者,深淺麁細非一也。 + +別異意解者,兩人共諍不得水乳也。 + +變異意解者,取捨向背,前後變異。 + +#12 2 佛答 + +#13 1 長行 + +#14 1 總說 + +如來答中,先長行,後頌。長行中,法;喻;合也。 + +#14 2 別釋 + +#15 1 法 + +#16 1 標 + +爾時世尊告法涌菩薩曰:善男子!如是如是。如汝所說、我於超過一切尋思勝義諦相、現等正覺;現等覺已,為他宣說、顯現開解、施設照了。 + +法中先標;後釋。 + +#16 2 釋 + +#17 1 初復次 + +何以故?我說勝義、是諸聖者內自所證;尋思所行、是諸異生展轉所證。是故法涌!由此道理、當知勝義、超過一切尋思境相。 + +#17 2 第二復次 + +復次法涌!我說勝義、無相所行;尋思、但行有相境界。是故法涌!由此道理、當知勝義超過一切尋思境相。 + +#17 3 第三復次 + +復次法涌!我說勝義、不可言說;尋思、但行言說境界。是故法涌!由此道理、當知勝義超過一切尋思境相。 + +#17 4 第四復次 + +復次法涌!我說勝義、絕諸表示;尋思、但行表示境界。是故法涌!由此道理、當知勝義超過一切尋思境相。。 + +#17 5 第五復次 + +復次法涌!我說勝義、絕諸諍論;尋思、但行諍論境界。是故法涌!由此道理、當知勝義、超過一切尋思境相。 + +釋中,有五復次。 + +#15 2 喻 + +#16 1 初番 + +法涌當知:譬如有人、盡其壽量、習辛苦味;於蜜石蜜上妙美味、不能尋思,不能比度,不能信解。 + +#16 2 第二番 + +或於長夜、由欲貪勝解、諸欲熾火所燒然故;於內除滅一切色聲香味觸相妙遠離樂、不能尋思,不能比度,不能信解。 + +#16 3 第三番 + +或於長夜、由言說勝解、樂著世間綺言說故;於內寂靜聖默然樂、不能尋思,不能比度,不能信解。 + +#16 4 第四番 + +或於長夜、由見聞覺知、表示勝解、樂著世間諸表示故;於永除斷一切表示薩迦耶滅究竟涅槃、不能尋思,不能比度,不能信解。 + +#16 5 第五番 + +法涌!當知:譬如有人、於其長夜、由有種種我所攝受諍論勝解、樂著世間諸諍論故。於北拘盧洲無我所、無攝受、離諍論、不能尋思,不能比度,不能信解。 + +喻中,有五番,如次喻前五法,或通喻也。 + +#15 3 合 + +#16 如是法涌!諸尋思者、於超一切尋思所行勝義諦相、不能尋思,不能比度,不能信解。 + +合但總合。 + +#17 言不能尋思等者, + +一解,以現量不能思,比量不能度,聖言量不能令信故也。 + +又解:種種意解故言不能尋思,別異意解故言不能比度,變異意解故言不能信解也。 + +#13 2 以頌敘 + +爾時世尊欲重宣此義、而說頌曰: + +內證、無相之所行、不可言說、絕表示、 + +#14 息諸諍論、勝義諦、超過一切尋思相。 + +頌中初有三句,別頌五法,後一句結其義名。 + +#9 3 解超過諸法一異性相 + +#10 1 總說 + +#11 復次勝義諦超過諸法一異性相,當知如解深密經中。 + +第三解超過諸法一異性相中,初牒指經說;次正引其文。先善清淨慧菩薩問,第二佛答。 + +#10 2 別釋 + +#11 2 正引其文(缺解1) + +#12 1 善清淨慧菩薩問 + +善清淨慧菩薩白佛言: + +世尊甚奇!乃至世尊善說!如世尊言:勝義諦相、微細甚深、超過諸法一異性相、難可通達。 + +世尊!我即於此、曾見一處、有眾菩薩、等正修行勝解行地、同一會坐,皆共思議勝義諦相、與諸行相一異性相。於此會中,一類菩薩作如是言:勝義諦相、與諸行相都無有異;一類菩薩復作是言:非勝義諦相、與諸行相都無有異;然勝義諦相、異諸行相。有餘菩薩、疑惑猶豫、復作是言:是諸菩薩、誰言諦實?誰言虛妄?誰如理行?誰不如理?或唱是言,勝義諦相與諸行相都無有異;或唱是言,勝義諦相異諸行相。 + +#13 世尊!我見彼已、竊作是念:彼諸善男子、愚癡頑鈍、不明不善,不如理行,於勝義諦、微細甚深超過諸行一異性相、不能解了。 + +前中,言有眾菩薩等是勝解行也。 + +同一會坐等者,地前菩薩未正證如,但作意言,分別觀行,故名勝行地菩薩。 + +#12 2 佛答 + +#13 1 長行 + +#14 1 總說 + +下佛答中。先長行中,法;喻;合也。 + +#14 2 別釋 + +#15 1 法 + +#16 1 總說 + +#17 說是語已,爾時世尊告善清淨慧菩薩曰:善男子!如是如是。如汝所說、彼諸善男子、愚癡頑鈍、不明不善,不如理行;於勝義諦微細甚深超過諸行一異性相、不能解了。 + +法中,先述成總說;後別釋其義。於中,有三復次。 + +#16 2 別釋 + +#17 1 初復次 + +#18 何以故?善清淨慧!非於諸行,如是行時,名能通達勝義諦相;或於勝義而得作證。 + +初言非於初行如是行時,名能通達等者,非觀諸行與彼勝義,定一定異,觀行之時,名能通達,何以故? + +> 宋藏遺珍:初言非於諸行 + +#18 何以故?善清淨慧! + +#19 若勝義諦相、與諸行相都無異者,應於今時一切異生皆已見諦。又諸異生,皆應已得無上方便安隱涅槃;或應已證阿耨多羅三藐三菩提。 + +若勝義諦與諸行一,一切異生現見諸行,應證勝義,皆已見諦,皆應已得無上方便安穩涅槃乃至菩提。 + +#19 若勝義諦相、與諸行相一向異者;已見諦者,於諸行相應不除遣。若不除遣諸行相者;應於相縛、不得解脫。此見諦者、於諸相縛不解脫故;於麁重縛、亦應不脫。由於二縛不解脫故;已見諦者,應不能得無上方便安隱涅槃,或不應證阿耨多羅三藐三菩提。 + +若勝義諦與行異者,已見真如見諦之人,於諸行相,應不除遣,以彼諸行與其勝義一向異故,所以者何?若即行辨勝義諦者,由證勝義,即遣諸行,今既體異,雖見勝義不遣諸行,諸行不遣故不脫相縛,乃至不得菩提,此返難。 + +> 宋藏遺珍:若即行弁勝義諦者 + +#18 善清淨慧!由於今時,非諸異生皆已見諦;非諸異生已能獲得無上方便安隱涅槃;亦非已證阿耨多羅三藐三菩提; + +#19 是故勝義諦相與諸行相都無異相,不應道理。 + +若於此中作如是言:勝義諦相、與諸行相都無異者,由此道理、當知一切非如理行、不如正理。 + +#18 善清淨慧!由於今時,非見諦者、於諸行相不能除遣,然能除遣;非見諦者,於諸相縛不能解脫,然能解脫;非見諦者,於麁重縛不能解脫,然能解脫。以於二障能解脫故,亦能獲得無上方便安隱涅槃,或有能證阿耨多羅三藐三菩提。 + +#19 是故勝義諦相、與諸行相一向異相,不應道理。 + +#20 若於此中作如是言:勝義諦相與諸行相一向異者;由此道理、當知一切非如理行,不如正理。 + +由於今時 已下 順釋。 + +#17 2 第二復次 + +#18 復次,善清淨慧! + +#19 若勝義諦相與諸行相都無異者,如諸行相墮雜染相,此勝義諦相,亦應如是墮雜染相。 + +第二復次,若勝義與行十,應同雜染; + +> 宋藏遺珍、中華藏:若勝義與行一 + +#19 善清淨慧!若勝義諦相與諸行相一向異者,應非一切行相共相,名勝義諦相。 + +若與行異,應非諸行共相。 + +善清淨慧!由於今時, + +勝義諦相非墮雜染相; + +#18 諸行共相名勝義諦相。 + +#19 是故勝義諦相,與諸行相,都無異相,不應道理;又勝義相,與諸行相,一向異相,不應道理。 + +若於此中作如是言:勝義諦相、與諸行相都無有異,或勝義諦相、與諸行相一向異者,由此道理、當知一切非如理行,不如正理。 + +#17 3 第三復次 + +#18 復次,善清淨慧! + +若勝義諦相,與諸行相都無異者,如勝義諦相,於諸行相無有差別,一切行相,亦應如是無有差別。 + +#19 修觀行者、於諸行中,如其所見,如其所聞,如其所覺,如其所知,不應後時更求勝義。 + +第三復次,若行與勝義一者,應同勝義,無有差別。若爾,已見諸行,即為最竟,不後更求勝義,勝義與行而不異故。 + +> 宋藏遺珍、中華藏:即為究竟 + +#19 若勝義諦相,與諸行相一向異者,應非諸行唯無我性、唯無自性之所顯現、是勝義相。 + +若一向異者,不應就行明無我性是勝義也。 + +#19 又應俱時別相成立,謂雜染相、及清淨相。 + +又應俱時別相成立,謂雜染相及清淨相者,勝義與行,超然有異,是即見勝義時,應不除染,見染行時,應不障淨。 + +> 宋藏遺珍:迢(tiáo,遠)然有異​ + +善清淨慧!由於今時,一切行相皆有差別、非無差別;修觀行者於諸行中、如其所見,如其所聞,如其所覺,如其所知,復於後時更求勝義; + +#18 又即諸行唯無我性、唯無自性之所顯現,名勝義相;又非俱時染淨二相,別相成立。 + +#19 是故勝義諦相、與諸行相都無有異、或一向異,不應道理。 + +#20 若於此中作如是言:勝義諦相、與諸行相都無有異、或一向異者;由此道理、當知一切非如理行,不如正理。 + +順說可說。 + +> 宋藏遺珍:順說可知。 +中華藏:順釋可解。​ + +#14 2 喻 + +#15 1 初螺貝喻 + +善清淨慧!如螺貝上鮮白色性,不易施設與彼螺貝一相異相。 + +#15 2 第二螺貝喻 + +如螺貝上鮮白色性,金上黃色、亦復如是。 + +#15 3 第三箜篌聲喻 + +如箜篌聲上美妙曲性,不易施設與箜篌聲一相異相。 + +#15 4 第四黑沈香喻 + +如黑沈上有妙香性,不易設施與彼黑沈一相異相。 + +#15 5 第五胡椒喻 + +如胡椒上辛猛利性,不易設施與彼胡椒一相異相。 + +#15 6 第六訶梨喻 + +如胡椒上辛猛利性,訶梨淡性、亦復如是。 + +#15 7 第七蠹羅綿喻 + +如蠹羅綿上有柔軟性,不易施設與蠹羅綿一相異相。 + +#15 8 第八熟喻酥 + +如熟酥上所有醍醐,不易施設與彼熟酥一相異相。 + +#15 9-11 第九至第十二無常、苦、無我喻 + +又如一切行上無常性、一切有漏法上苦性、一切法上補特伽羅無我性,不易施設與彼行等一相異相。 + +#15 12-14 第十二至十四貪、瞋、癡喻 + +又如貪上不寂靜相、及雜染相,不易施設此與彼貪一相異相。如於貪上,於瞋、癡上,當知亦爾。 + +次辨喻中,舉十四喻教示,如文。 + +#14 3 合 + +#15 1 先合 + +#16 如是善清淨慧!勝義諦相、不可施設與諸行相一相異相。 + +下合喻中,先合;後結歸本宗。 + +#15 2 結歸本宗 + +#16 善清淨慧!我於如是微細、極微細,甚深、極甚深,難通達、極難通達,超過諸法一異性相勝義諦相、現正等覺;現等覺已,為他宣說、顯示、開解、施設照了。 + +#17 言微細、極微細等者,此有兩解。 + +一云,凡夫不能見,故云微細、極微細;二乘不能窮底,故云甚深、極甚深;解了地無不能通達,故云難通達、極難通達。 + +> 宋藏遺珍:解行地菩薩不能通達 +此三層義,諸本文字略異。​ + +二云:世間聞、思、修慧,如次配釋也。 + +#13 2 以頌敘 + +爾時世尊欲重宣此義、而說頌曰: + +行界勝義相,離一異性相。 + +若分別一異;彼非如理行。 + +眾生為相縛、及為麁重縛, + +#14 要勤修止觀,爾乃得解脫。 + +頌中,言行界者,有為諸行,性類差別,故名行界也;餘文可解。 + +#9 4 解其第五遍一切一味相 + +#10 1 牒指經說 + +#11 復次,勝義諦遍一切一味相,當知如《解深密經》中, + +第四解其第五遍一切一味相。於中初牒指經說;次正引其文。先長行;後頌。 + +#10 2 正引其文 + +#11 1 長行 + +#12 1 總說 + +#13 長行中,文分有三: + +初、佛問善現知幾有情有慢;二、善現舉其所見仰諮;二明總中小大無量,三明中小大無量;三、明齊何名得;四、明通達及得。@ + +> 按:此處 大正藏、卍續藏、中華藏 皆 竄入大段 分別瑜伽品 之後文:“二明總中小大無量。三明中小大無量。三明齊何名得。四明通達及得。初中景備同云。經說別法止觀復說緣總法止觀者。於十二部經別緣一一部經隨順真如等修於止觀名緣別法。若總十二部經思惟此法隨順真如等名緣總法。今解。於一一部內但緣小分名緣別法。若緣全部乃至具緣十二部名緣總法。言隨順趣向修入者。如次配聞思修慧也。若約位說。隨順是迴向已下。趣向是煖頂忍。修入是世第一法。修入初故也。次明小大無量。謂緣一部教法入真如總觀名緣小總法。若緣一分齊中十二部經名緣大總法。以十二部有眾多義。即如法華經自說一種十二部法。涅槃經中後說一種十二部界。華嚴經復說一種十二部事。故云若緣無量如來法教等隨順真如觀名緣無量總法止觀。第三明齊何名得緣總法止觀。問意齊何名得緣彼真如總法止觀。下答由五緣故當知名得者。即舉十地中五修所得五果以為五緣。由具此緣名得緣總真如法也。無著菩薩取此處文。攝論中說。何等五修。云何五果。一集總修。二無相修。三無功用修。四修熾盛修。五無喜足修。如此五修論體不異。於一念中隨義說五。謂集一切總為一聚簡要修習唯觀真如。即集總修為簡骨瑣事境總觀世尊。三佛現本宗。……” +​ +​​宋藏遺珍: +​​​​初、佛問善現知幾有情有慢離慢;二、善現舉其所見仰諮世尊;三、佛現本宗。初言善現者,舊云善吉,即須菩提也。 ​​​論 長老善現 至 況諸外道 記曰:次善現仰諮世尊中,…… +​​​ +中華藏:初、佛問善現知幾有情有慢;​二、善現舉其所見仰諮,有四。一明總中小大無量,二明別中小大無量,三明齊何名得,四明通達及得。初中,景、備同云:…… +​ +​卍續藏同大正藏。 + +#12 2 別釋 + +#13 1 佛問善現知幾有情有慢離慢 + +#14 世尊告長老善現曰:善現!汝於有情界中、知幾有情懷增上慢,為增上慢所執持故,記別所解?汝於有情界中、知幾有情離增上慢,記別所解? + +初言善現者,舊云善吉,即須菩提也。 + +#13 2 善現舉其所見仰諮世尊 + +長老善現白佛言:世尊!我知有情界中,少分有情,離增上慢記別所解。世尊!我知有情界中,有無量無數不可說有情,懷增上慢,為增上慢所執持故、記別所解。 + +世尊!我於一時住阿練若大樹林中、時有眾多苾芻、亦於此林依近我住。我見彼諸苾芻、於日後分、展轉聚集,依有所得現觀、各說種種相法、記別所解。 + +#14 1於中一類、由得蘊故、 + +次善現仰諮世尊中, + +> 宋藏遺珍:次善現仰諮中, + +註:此段可參考對比 心經。​​ + +1景師云:言由得蘊故者,得蘊觀行也,此句是總。 + +> 宋藏遺珍:(此處景師,與後文璟師不同) + +#15 得蘊相故、 + +得蘊相,觀能得蘊因,即集觀。 + +#15 得蘊起故、得蘊盡故、 + +次二句觀蘊起盡,即是生滅,即觀行苦。 + +#15 得蘊滅故、 + +得蘊滅者,觀數滅也。 + +> 宋藏遺珍:觀擇滅也。 + +#15 得蘊滅作證故,記別所解。 + +得蘊滅作證者,觀蘊能治道也。 + +如此一類由得蘊故, + +2復有一類由得處故、 + +3復有一類得緣起故,當知亦爾。 + +4復有一類由得食故、得食相故、得食起故、得食盡故、得食滅故、得食滅作證故,記別所解。 + +#14 5復有一類由得諦故、 + +由得諦故者,得諦觀行也,此句是總。 + +> 宋藏遺珍:由得諦者 + +#15 得諦相故、得諦遍知故、 + +次有二句觀苦, + +#15 得諦永斷故、 + +得諦永斷是集, + +#15 得諦作證故、 + +作諦是滅, + +> 宋藏遺珍:作證是滅 + +註:此於四諦作證,故​​說是滅諦;前後說於蘊處界、緣起作證,則是道諦。 + +#15 得諦修習故,記別所解。 + +得諦修習是道。 + +#14 6復有一類由得界故、 + +#15 由得界故者,得界觀行也,此句是總。 + +#16 得界相故、 + +得界相者,觀能得界因,即集觀。 + +#16 得界種種性故、得界非一性故、 + +次二句即觀界是苦。 + +種種性者,界有十八等。 + +非一性者,於一一界中有眾多差別。 + +#16 得界滅故、得界滅作證故,記別所解。 + +下二句即滅、道觀也。 + +#14 7復有一類由得念住故、 + +由得念住者,總得念住。 + +#15 得念住相故、 + +得念住相者,觀念住因。 + +#15 得念住能治所治故、 + +能治所治者,念住為能治,四倒名所治也。 + +得念住修故、 + +得念住未生令生故、 + +得念住生已堅住不忘、倍修增廣故,記別所解。 + +如有一類得念住故, + +復有一類得正斷故、得神足故、得諸根故、得諸力故、得覺支故、當知亦爾。 + +復有一類得八支聖道故、得八支聖道相故、得八支聖道能治所治故、得八支聖道修故、得八支聖道未生令生故、得八支聖道生已、堅住不忘、倍修增廣故,記別所解。 + +世尊!我見彼已,竊作是念:此諸長老、依有所得現觀、各說種種想法、記別所解;當知彼諸長老、一切皆懷增上慢,為增上慢所執持故,於勝義諦遍一切一味相、不能解了。 + +#14 是故世尊甚奇!乃至世尊善說;如世尊言:勝義諦相、微細最微細,甚深最甚深,難通達極難通達,遍一切一味相。世尊!此聖教中修行苾芻、於勝義諦遍一切一味相、尚難通達;況諸外道。 + +#15 2璟師云: + +#16 由得蘊故者,存蘊,簡界處等。 + +得蘊相故者,積聚義,分段義等,是蘊義。 + +得蘊起者,苦諦從因起故。 + +得蘊盡者,集諦果法生時因即盡也。 + +下二句即滅、道,可知。 + +#16 由得諦者,簡餘善巧。 + +得諦相者,謂四諦十六行相等也。 + +下四句如次是四諦也。 + +#16 由得界者,存界,簡蘊等。 + +得界相者,種族義,性別義,是界義等。 + +#16 得念住修者,初乘時。 + +> 宋藏遺珍:初業時 http://www.guoxuedashi.com/zidian/ytz_19896t.html + +未生合生者,已習行。 + +> 宋藏遺珍:未生令生者 + +生已堅住等者,超作意也。餘文可解。 + +#13 3 佛現本宗 + +#14 1 總說 + +下佛現本宗中,法;喻;合也。法中,先標;後釋。 + +#14 2 別釋 + +#15 1 法 + +#16 1 先標 + +爾時世尊告長老善現曰:如是如是。善現!我於微細最微細、甚深最甚深、難通達最難通達、遍一切一味相勝義諦、現正等覺;現等覺已,為他宣說、顯示、開解、施設照了。 + +#16 2 後釋 + +#17 2 釋(缺解1) + +#18 1 總說 + +釋中,有三復次。 + +#18 2 別釋 + +#19 1 初復次 + +何以故?善現!我已顯示於一切蘊中,清淨所緣,是勝義諦;我已顯示於一切處、緣起、食、諦、界、念住、正斷、神足、根、力、覺支、道支中,清淨所緣,是勝義諦。此清淨所緣、於一切蘊中,是一味相,無別異相。如於蘊中,如是於一切處中、乃至一切道支中,是一味相,無別異相。 + +#20 是故善現!由此道理,當知勝義諦是遍一切一味相。 + +初復次中,明勝義諦,即是蘊、界、處、緣生、諦、食、三十七品家,一味真如相,無別異相。 + +#19 2 第二復次 + +復次善現!修觀行苾芻,通達一蘊真如勝義法無我性已;更不尋求各別餘蘊、諸處、緣起、食、諦、界、念住、正斷、神足、根、力、覺支、道支真如勝義法無我性。唯即隨此真如勝義無二智為依止故,於遍一切一味相勝義諦,審察趣證。 + +#20 是故善現!由此道理,當知勝義諦、是遍一切一味相。 + +第二復次中,通達一蘊真如勝義無我性已,更不尋求別餘蘊乃至八聖道支,勝義無我性也。 + +> 宋藏遺珍:個別餘蘊 + +#19 3 第三復次 + +復次善現!如彼諸蘊展轉異相,如彼諸處、緣起、食、諦、界、念住、正斷、神足、根、力、覺支、道支展轉異相,若一切法真如勝義法無我性亦異相者,是則真如勝義法無我性,亦應有因,從因所生。若從因生,應是有為;若是有為,應非勝義;若非勝義,應更尋求餘勝義諦。 + +善現!由此真如勝義法無我性,不名有因,非因所生,亦非有為,是勝義諦,得此勝義、更不尋求餘勝義諦,唯有常常時、恒恒時,如來出世若不出世,諸法法性安立、法界安住。 @(於常常時) + +#20 是故善現!由此道理、當知勝義諦是遍一切一味相。 + +第三復次明蘊界處,乃至道支展轉異相,一切法真勝義亦異相者,即勝義亦有因緣,從因所生等,可知。 + +> 宋藏遺珍:一切法真如勝義 + +#15 2-3 喻與合 + +#16 善現!譬如種種非一品類異相色中,虛空無相、無分別、無變異、遍一切一味相,如是異性異相一切法中,勝義諦遍一切一味相、當知亦然。 + +下喻及合,如虛空遍諸色類,喻彼真如遍諸法類。 + +> 宋藏遺珍:通諸法類。 + +#11 2 以頌敘 + +爾時世尊欲重宣此義、而說頌曰: + +此遍一切一味相,勝義、諸佛說無異。 + +#12 若有於中異分別;彼定愚癡,依上慢。 + +頌文可解。 + +> 註:宋藏遺珍 至此後闕,下依 中華藏(金陵刻經處版)校勘。 + +#6 2 廣慧菩薩問心意識義 + +> 大正藏 瑜伽師地論卷第七十六 +彌勒菩薩說三藏法師玄奘奉 詔譯 +攝決擇分中菩薩地之五 +​ +​宋藏遗珍 卷十八,阙。至後文,卷十九開頭論 五法 “所詮相者,謂相等五法,如五事中已說。” 為 瑜伽師地論 卷八十一內容。 +中華藏 卷八十三​(九)下欄。 +卍續藏 第76冊,卷四十/卷第二十之下(論本第七十六至七十七)​,三百六頁(611) + + +#7 1 先問 + +#8 復次心意識相,當知如《解深密經》中, + +廣慧菩薩請問佛言:如世尊說:於心意識祕密善巧菩薩。 + +#9 於心意識祕密善巧菩薩者:齊何名為於心意識祕密善巧菩薩? + +初問意云:佛說於心意識祕密善巧菩薩,能於心意識中善巧菩薩。一問也。 + +#9 如來齊何施設彼為於心意識祕密善巧菩薩? + +如來齊何設彼為於心意識祕密善巧菩薩。此第二問也。 + +> 卍續藏:設 疑 說 + +此二問中,前約地前菩薩,後約地上菩薩。 + +#9 心、意、識義,自有通別。 + +#10 別名心、意、識者, + +賴耶是心,以能集起三界生死色心法故; + +末耶名意,以與六識為同時根,生六識故; + +六識名識,以對六境分別強故。 + +二通名心、意、識,謂八識中,一一皆有集起名心、能生名意、了別名識故。 + +#7 2 後答 + +#8 1 長行廣辯 + +#9 1 初釋 + +#10 1 先讚其問,勅聽,許說 + +說是語已,爾時世尊告廣慧菩薩曰:善哉!善哉!廣慧!汝今乃能請問如來如是深義,汝今為欲利益安樂無量眾生,哀愍世間、及諸天人阿素洛等,為令獲得義利安樂,故發斯問。 + +汝應諦聽! + +吾當為汝說心意識祕密義。 + +#10 2 正解釋 + +#11 1 就賴耶解心意識 + +#12 廣慧當知,於六趣生死彼彼有情,墮彼彼有情眾中,或在卵生、或在胎生、或在濕生、或在化生,身分生起,於中最初,一切種子心識成熟、展轉和合增長廣大。 + +初中,言於六趣生死乃至最初一切種子識成熟等者,種子識成熟,牽生有起,𢤞羯羅藍展轉和合胎分增長。 + +> 中華藏:住羯羅藍 + +#12 依二執受:一者,有色諸根及所依執受,二者,相、名、分別,言說戲論習氣執受。有色界中,具二執受;無色界中,不具二種。 + +依二執受下,明彼賴耶有二執持,約界辨持可解。賴耶雖緣外器,而不攝彼為內執受,故今不說。 + +> 註:阿賴耶三所緣:種子、​根身、外器 + +#11 2 解眾名 + +復次廣慧!此識亦名阿陀那識,何以故?由此識於身,隨逐執持故。 + +亦名阿賴耶識,何以故?由此識於身,攝受藏隱,同安危義故。 + +#12 亦名為心,何以故?由此識,色聲香味觸等,積集、滋長故。 + +次辨眾名, + +#13 1景云: + +此識、亦名阿陀那,此云執持,執持色根及諸種。 + +亦名賴耶,此云愛藏,執受於身,復於身隱藏,同安危故。 + +亦名為心,何以故?由此識,色聲香味觸等積集滋長者,此有二義:一能集色等;能集滋長。 + +> 中華藏:二能集滋長 + +2泰云:集是心義,欲心能積集、滋長色等六塵。六根六識是通相,法塵攝,但舉六塵。 + +3備云:從於六趣至安危義故,總有三名,以釋識義;亦為心已下,方始釋心義,略不解意。 + +#11 3 明阿陀那識為依建立六識 + +#12 1 初法 + +#13 復次廣慧!阿陀那識為依止、為建立故,六識身轉;謂眼識,耳、鼻、舌、身、意識。此中有識,眼及色為緣生眼識;與眼識俱隨行、同時同境有分別意識轉。有識,耳、鼻、舌、身及聲、香、味、觸為緣生耳、鼻、舌、身識;與耳、鼻、舌、身識俱隨行、同時同境有分別意識轉。廣慧!若於爾時一眼識轉;即於此時,唯有一分別意識、與眼識同所行轉。若於爾時二、三、四、五諸識身轉;即於此時,唯有一分別意識、與五識身同所行轉。 + +法中,1泰云:此長行中,雖通舉三名而宗辨阿陀那,故但標陀那為依止,轉識而轉。後頌中,但頌陀那名,意在於此。 + +2備色心義已竟,欲辨意義,故以所依義,總顯起識義。 + +> 中華藏:備云:心義已竟, + +此中有識乃至有分別意識轉者,1泰云:有眼識同分眼根,故云眼及色等;有能受陀那識,次云有識。 + +> 註:第八識以及轉識 + +#12 2 次喻 + +廣慧!譬如大暴水流,若有一浪生緣現前,唯一浪轉;若二、若多浪生緣現前,有多浪轉。然此暴水自類恒流無斷無盡。 + +#13 又如善淨鏡面,若有一影生緣現前,唯一影起;若二、若多影生緣現前,有多影起。非此鏡面轉變為影,亦無受用滅盡可得。 + +#14 喻中,略引二喻,有何差別? + +1有古德說:鏡面譬,譬心真如門,水浪喻,喻心生滅門。 + +2今奘法師云:西方諸師釋二喻所說同,但欲令明了本義,故須二喻。 + +#12 3 後合 + +#13 如是廣慧!由似暴流,阿陀那識為依止、為建立故,若於爾時,有一眼識生緣現前,即於此時一眼識轉;若於爾時,乃至有五識身生緣現前,即於此時五識身轉。 + +合喻如文。 + +#11 4 辨菩薩於心意識有巧不巧 + +#12 廣慧!如是菩薩,雖由法住智為依止、為建立故,於心意識祕密善幻,然諸如來、不齊於此施設彼為於心意識一切祕密善巧菩薩。 + +四辨菩薩於心意識有巧不巧。 + +#13 由法住智者, + +若依小論明法住智,知三界上中下果,在因中住智。 + +今依大乘,或依經教,了知心意識義,故云由法住智;或依世俗因果道理,知心意識名法住智。 + +雖有二解,并依如量智,知心意識,位在地前。然諸如來不聞於此施設為善巧也。 + +廣慧!若諸菩薩於內各別、如實不見阿陀那,不見阿陀那識; + +不見阿賴耶,不見阿賴耶識; + +不見積集,不見心; + +#12 不見眼色及眼識,不見耳聲及耳識,不見鼻香及鼻識,不見舌味及舌識,不見身觸及身識,不見意法及意識,是名勝義善巧菩薩。如來施設彼為勝義善巧菩薩。 + +#13 下明地上菩薩立為善巧。 + +若諸菩薩於內各別如實不見阿陀那者,不見用也。 + +不見阿陀那識者,不見體也。 + +餘句例然,即證真如時,不見諸法,是名勝義巧菩薩,如來建立。 + +#9 2 後結 + +#10 廣慧!齊此名為於心意識一切祕密善巧菩薩;如來齊此施設於心意識一切祕密善巧菩薩。 + +結之,如文。 + +#8 2 重頌 + +爾時世尊欲重宣此義、而說頌曰: + +阿陀那識甚深細,一切種子如暴流。 + +我於凡愚不開演, + +#9 恐彼分別執為我。 + +頌中,俱生我見不依教起,說與不說,皆能現行。今欲簡俱生故,便言分別。餘句如常。 + +無著論主引此頌釋《攝大乘論》,世親引長行釋此頌義,具廣如彼。 + +#6 3 德本菩薩問三性之義 + +#7 1 二問 + +#8 復次一切法相,當知如《解深密經》中, + +#9 德本菩薩請問佛言:世尊!如世尊說:於諸法相善巧菩薩、於諸法相善巧菩薩者, + +齊何名為於諸法相善巧菩薩? + +#10 如來齊何施設彼為於諸法相善巧菩薩? + +2自下大段第三明德本菩薩請問三性之義,故言於諸法相善巧。先為二問準前。 + +#7 2 答 + +#8 1 長行廣辯 + +#9 1 初釋 + +#10 1 讚問許說 + +說是語已,爾時世尊告德本菩薩曰:善哉!善哉!德本!汝今乃能請問如來如是深義。汝今為欲利益安樂無量眾生、哀愍世間及諸天人阿素洛等,為令獲得義利安樂,故發斯問。汝應諦聽!吾當為汝說諸法相。 + +#10 2 正解釋(缺解1) + +#11 1 初復次明諸法相有三相 + +謂諸法相,略有三種。何等為三?一者、遍計所執相,二者、依他起相,三者、圓成實相。 + +云何諸法遍計所執相?謂一切法,名假安立,自性差別,乃至為令隨起言說。 + +云何諸法依他起相?謂一切法緣生自性,則此有、故彼有;此生、故彼生,謂無明緣行,乃至招集純大苦蘊。 + +#12 云何諸法圓成實相?謂一切法平等真如。於此真如,諸菩薩眾勇猛精進,為因緣故;如理作意無倒思惟,為因緣故,乃能通達。於此通達漸漸修集,乃至無上正等菩提、方證圓滿。 + +#13 初云諸法相者,有三。一、遍計;二、依他;三、圓成。言遍計所執乃至為令隨起言說者,明其說意。 + +眾生愚癡,隨名執實即是遍計所。 + +> 中華藏:隨名執實即是遍計所執。 + +依他謂染生法。 + +圓成即是諸法真如。 + +諸菩薩眾,精進為因乃能通達,於諸地中漸漸證見,至佛方滿。一番釋竟。 + +#11 2 第二復次約眩翳喻 + +復次德本!如眩瞖人,眼中所有眩瞖過患,遍計所執相,當知亦爾。 + +如眩瞖人,眩瞖眾相,或髮毛輪、蜂蠅苣蕂,或復青黃赤白等相,差別現前,依他起相,當知亦爾。 + +#12 如淨眼人,遠離眼中眩瞖過患,即此淨眼本性所行無亂境界,圓成實相、當知亦爾。 + +#13 第二復次約眩翳喻以明之,中, + +#14 1景云: + +如眩翳過患,所執亦爾者,問:眩翳是因緣法,云何譬遍計所執耶?解云:不取眩翳,意明由眩翳故,妄見毛輪,譬遍計所執也,故云眩翳過患。 + +言如眩翳人見毛輪等,依他亦爾者,毛輪等,正是遍計所執,不欲取此以譬依他,欲明因此,執毛輪故,熏識成種,生後時依他。 + +如淨眼人見法本性,譬根本智證圓成實。 + +#14 2泰云: + +眩翳過患者,執為定實髮毛等,名通患,喻遍計所執定有性法。 + +> 中華藏:過患 + +若翳眼識,變為髮毛等,從因緣生,無有定性,喻依他性。以此將證,見第二月者,亦從亂眼識,現相似月,是因緣法,能生眼識。 + +然《思塵論》據執有定性第二月無體,不能生識,故非緣緣。 + +> 《观所缘缘论》,成为所缘缘,有二因缘。 +—— 所缘缘者,谓能缘识,带彼相起,及有实体。​ + +又解:彼論就小乘宗,破彼邪計,小乘宗許第二月無體,故眼識不得緣。 + +#14 3備云: + +翳眩過患,喻人法二執,遍計之塵。@ + +> 註:遍計之塵,應屬下文? + +髮毛輪等,等取第二月等,即是依他性。是故《對法論》云:遍計所執色者,謂影像色。 + +問:若許依他色,何故亦為遍計耶? + +#15 答:必由遍計起故,隨所緣名為遍計,據實依他,如似依鏡見面。面自有四: + +一、本識相分;二、眼識變作;三、同緣意識所起之面;四、獨頭意識所變面緣。 + +此四面中,初是本質;第二、第三,似本質故,名依他起;後之一種,於鏡中現,離本質處,但由遍計所起,故云遍計。 + +就實言之其中有二:一、依他相分;二、遍計所執。 + +有師釋云:眼識一見,有二相分,謂本質月,及第二月。此釋不然,不應名現量故。又《智論》云:五識不可誑故。 + +今解:依本月,起眼識,但是意識心中,作二月解。 + +> 遍計所執在第六意識 + +#11 3 第三復次約頗胝迦喻 + +#12 復次德本!譬如清淨頗胝迦寶,若與青染色合,則似帝青、大青末尼寶像。由邪執取帝青、大青末尼寶故,惑亂有情。若與赤染色合,則似虎珀末尼寶像;由邪執取虎珀末尼寶故,惑亂有情。若與綠染色合,則似末羅羯多末尼寶像;由邪執取末羅羯多末尼寶故,惑亂有情。若與黃染色合,則似金像;由邪執取真金像故,惑亂有情。 + +第三復次中先舉頗胝迦喻,次況法。前中,言頗胝迦者,三藏云:此處無名可翻,似水精白珠,無定色。與四色合,即似四色影像,惑亂有情,邪心執實。 + +#13 言帝青、大青末尼寶像者。 + +梵云因陀羅,此云帝釋也,此即帝釋青摩尼珠。西方有青珠,色似帝釋青珠,故遂以名也。此是青中殘青色。 + +梵云摩訶尼羅,此云青,即是紺青色。 @ + +> 註:“此是青中殘青色。”應屬上文? + +​​摩诃尼罗 (物名)Mahānila,又作摩诃泥罗。译曰大青。帝释之宝珠也。智度论十曰:“因陀尼罗(天青珠),摩诃尼罗(大青珠)。”玄应音义二十三曰:“摩诃泥罗,此云大青,是帝释所用宝也。” + +末尼者,梵語,珠之通名。 + +末羅羯多者,景云:此間無名可翻。泰云:是此方殺色寶,其色綠也。景云:此名車渠。 + +#12 如是德本!如彼清淨頗胝迦上,所有染色相應,依他起相上,遍計所執相言說習氣,當知亦爾。 + +況法中,言如彼清淨頗胝迦上,所有綠染色相應至習比亦爾者,意明能執,執所執者是舊習氣。 + +> 中華藏:所有染色相應至習氣亦爾者 + +#12 如彼清淨頗胝迦上,所有帝青、大青、虎珀、末羅羯多、金等邪執,依他起相上,遍計所執相執,當知亦爾。 + +言如彼清淨頗胝迦上所有帝青大青等邪執,依起相上所執相執亦爾者,此合能執,舉此執取所執,故此二句并合遍計所執。 + +> 中華藏:舉能執取所執 + +#12 如彼清淨頗胝迦寶,依他起相,當知亦爾。 + +言如彼清淨頗胝迦寶,依他起相,常知亦爾者,頗胝迦寶本身合依他性。 + +> 中華藏:當知亦爾者 + +#12 如彼清淨頗胝迦上,所有帝青、大青、虎珀、末羅羯多、真金等相,於常常時於恒恒時、無有真實、無自性性;即依他起相上,由遍計所執相,於常常時於恒恒時、無有真實、無自性性,圓成實相,當知亦爾。 @ #(於常常時) + +言如彼清淨乃至圓成定相亦爾者,可知。 + +> 中華藏:圓成實 + +問:頗胝迦寶譬依他性,此義可知。頗胝寶與四色合,即有四色影像,而起譬依他。依他及圓成實上,執實即有遍計所執,遍計所執之境無性,顯圓成實,此亦可知。論中何以不合四色影像因緣之法? + +解云:道理,頗胝迦寶,譬賴耶相分本質依他;四色影像因頗胝迦現,譬六識相分即是賴耶相分影像,亦是依。若細分別,法喻不齊,故略不說。 + +> 中華藏:亦是依他。 + +#11 4 第四復次以相、名相應為執,得所執相 + +#12 復次德本!相、名相應、以為緣故,遍計所執相,而可了知。 + +第四復次,言由執名相,定相屬著為緣,所執相,可知。 + +#12 依他起相上遍計所執相執,以為緣故,依他起相,而可了知。 + +由執遍計熏種,能生後起依他,故言所執為緣,依他可了。 + +#12 依他起相上遍計所執相無執,以為緣故,圓成實相,而可了知。 + +遍計所執相無為緣,圓成可知。準《顯揚論》自有五相。一、所取相;二、能取相;三、名相相屬著相;四、執著相;五、不執著相。初二通三性,第三即遍計執,第四是依他相,第五即圓成實。今論主解,由第三相,所執相可了知等。 + +> 註:論主是《瑜伽師地論》主。 + +#11 5 第五復次知三性明勝利 + +復次德本!若諸菩薩能於諸法依他起相上、如實了知遍計所執相,即能如實了知一切無相之法。 + +若諸菩薩如實了知依他起相,即能如實了知一切雜染相法。 + +#12 若諸菩薩如實了知圓成實相,即能如實了知一切清淨相法。 + +第五復次明知三性勝利。了知圓成即知一切清淨者,以淨分依他,屬圓成故也。 + +#11 6 第六復次斷證勝利 + +#12 復次德本!若諸菩薩能於依他起相上如實了知無相之法,即能斷滅雜染相法。若能斷滅雜染相法,即能證得清淨相法。 + +第六復次明斷證勝利,若能於依他上,了知無相,故能斷染及證於淨。 + +#9 2 結 + +#10 如是德本!由諸菩薩如實了知遍計所執相、依他起相、圓成實相故,如實了知諸無相法、雜染相法、清淨相法。如實了知,無相法故,斷滅一切雜染相法。斷滅一切雜染相法故,證得一切清淨相法。齊此名為於諸法相善巧菩薩,如來齊此施設彼為於諸法相善巧菩薩。 + +如是德本已下,牒後三復次,結答前二問,略不牒前三復次也。 + +#8 2 重頌 + +爾時世尊欲重宣此義、而說頌曰: + +若不了知無相法,雜染相法不能斷。 + +不斷雜染相法故,壞證微妙淨相法。 + +不觀諸行眾過失,放逸過失害眾生。 + +#9 懈怠,住法、動法中,無、有,失壞,可懷愍。 + +兩頌中,末後二句難解。 + +#10 1三藏解云: + +懈怠者,不修定之本。住法者是定,動法中是散亂也。無有失壞不憐愍者,由懈怠故。 + +> 中華藏:無有失壞可憐愍者 + +無上住法名無,有上動法名有,由彼無定,有散亂故,於彼身中失於正法,名為失壞,故可憐愍。 + +2泰云:住法是定,動法是亂。失壞有二:一、無住法故失壞;二、有動法故失壞,失壞之時皆由懈怠故爾也,為此故可憐愍。 + +3景云:真實性不生不滅,故名住法,遍計、依他有生滅,故名動法。懈怠住法動法中者,失無、壞有,故云無、有失壞也。無,即真實性空理;有,乃依他遍計所執妄有法也,此人失壞三性理,故可憐愍。 + +又解:此是長牽之言,謂懈怠住法動法中,無有失壞者,可憐愍。 @ + +> 註:長牽之言? + +#6 4 勝義生菩薩請問三無性義 + +#7 1 初問答辨三無性之義 + +#8 1 菩薩發問 + +#9 復次諸法無自性相,當知如《解深密經》中, + +#10 勝義生菩薩白佛言:世尊!我曾獨在靜處、心生如是尋思: + +世尊以無量門、曾說諸蘊所有自相、生相、滅相、永斷、遍知。如說諸蘊,諸處、緣起、諸食亦爾。 + +以無量門、曾說諸諦所有自相、遍知、永斷、作證、修習。 + +> 四諦 + +以無量門、曾說諸界所有自相、種種界性、非一界性、永斷、遍知。 + +以無量門、曾說念住所有自相、能治所治,及以修習,未生令生、生已堅住不忘倍修增長廣大。如說念住,正斷、神足、根力、覺支、亦復如是。以無量門、曾說八支聖道所有自相、能治所治、及以修習未生令生、生已堅住不忘倍修增長廣大。 + +#11 世尊復說一切諸法皆無自性、無生無滅、本來寂靜、自性涅槃。未審世尊依何密意、作如是說:一切諸法皆無自性、無生無滅、本來寂靜、自性涅槃?我今請問如來斯義,唯願如來哀愍解釋、說一切法皆無自性,無生無滅,本來寂靜,自性涅槃所有密意。說是語已, + +前中,問意世尊處處經說蘊界處等種種諸法,生滅染淨,知斷證修,後時復說一切諸法皆無自性,無生無滅,本來寂靜,自性涅槃,前後二說豈不相違? + +#8 2 佛答 + +#9 1 先讚為問是善,勅聽,許說 + +爾時世尊告勝義生菩薩曰:善哉!善哉!勝義生!汝所尋思、甚為如理。善哉!善哉!善男子!汝今乃能請問如來如是深義,汝今為欲利益安樂無量眾生、哀愍世間及諸天人阿素洛等,為令獲得義利安樂、故發斯問。 + +汝應諦聽! + +吾當為汝解釋所說一切諸法皆無自性無生無滅本來寂靜自性涅槃所有密意。 + +#9 2 正答(缺解1) + +#10 1 長行 + +#11 1 解諸法皆無自性、無生滅等 + +#12 1 辨無自性 + +#13 1 總申說意 + +勝義生!當知我依三種無自性性、密意說言一切諸法皆無自性,謂相無自性性、生無自性性、勝義無自性性。 + +#13 2 問答解釋 + +#14 1 法說 + +善男子!1云何諸法相無自性性?所謂諸法遍計所執相。何以故?此由假名、安立為相,非由自相、安立為相,是故說名相無自性性。 + +2云何諸法生無自性性?所謂諸法依他起相。何以故?此由依他緣力故有,非自然有,是故說名生無自性性。 + +#15 3云何諸法勝義無自性性? + +所謂諸法,由生無自性性故,說名無自性性;即緣生法,亦名勝義無自性性。何以故?於諸法中,若是清淨所緣境界,我顯示彼以為勝義無自性性。依他起相,非是清淨所緣境界,是故亦說名為勝義無自性性。 + +#16 復有諸法圓成實相,亦名勝義無自性性。何以故?一切諸法,法無我性,名為勝義,亦得名為無自性性,以是諸法勝義諦故,無自性性之所顯故。由此因緣、名為勝義無自性性。 + +法說中,遍計所執,相無性性。依他具二可解,謂生無自性、勝義無自性。 + +1泰云:以依他性,無真如勝義性故,故名勝義無自性。 + +#17 2備作兩解: + +一云,於依他上,無圓成實義,故云勝義無性,即是互無義。 + +一云,若將勝義道理釋依他,但是緣假有故有,非有實自性,故云勝義無性。非謂依他中無勝圓成實義,故名勝義無自性。 + +雖作後解,不及前解。 + +圓成但由勝義無自性性。何以故?一切諸法無我性名為勝義等者, + +3景云:不以無我即為圓成實體,圓成實體乃是真如,然由無我門入故,從入門說云無我,名為勝義真如,是諸法勝義諦,體由無相性門之所顯故,故說勝義名為無性。 + +備云:欲辨真如之體,法無我性亦名勝義,由前所辨三種、種種無性之所顯故,名無自性性。 + +#14 2 喻況 + +善男子!1譬如空華,相無自性性、當知亦爾。 + +2譬如幻像,生無自性性,當知亦爾;一分勝義無自性性、當知亦爾。 + +#15 3譬如虛空、唯是眾色無性所顯、遍一切處,一分勝義無自性性、當知亦爾,法無我性之所顯故;遍一切故。 + +喻況可知。 + +#15 善男子!我依如是三種無自性性,密意說言一切諸法皆無自性。 + +善男子已下,結答前問也。 + +#12 2 辨無生滅等 + +#13 1 約遍計所執解 + +#14 勝義生!當知我依相無自性性,密意說言一切諸法、無生無滅,本來寂靜,自性涅槃。何以故?若法自相、都無所有,則無有生;若無有生,則無有滅;若無生無滅,則本來寂靜;若本來寂靜,則自性涅槃。於中都無少分所有,更可令其般涅槃故。是故我依相無自性性,密意說言一切諸法無生無滅,本來寂靜,自性涅槃。@(相無自性) + +#15 前中, + +1景、泰等云:以其遍計,都無有體,故無有生,若無性即無滅,由無生滅即本來寂靜,寂靜之義,即與涅槃相似,名為涅槃,非滅諦涅槃。 + +> 中華藏:若無生即無滅 + +2備云:昔德等解,欲辨遍計對治,真實涅槃,故云本性涅槃。 + +3今解:即是遍計所執涅槃,非真實涅槃。 + +#13 2 就圓成實解 + +#14 善男子!我亦依法無我性所顯,勝義無自性性,密意說言一切諸法、無生無滅,本來寂靜,自性涅槃。何以故?法無我性所顯,勝義無自性性,於常常時於恒恒時、諸法法性安住無為,一切雜染不相應故。於常常時於恒恒時、諸法法性安住故無為,由無為故,無生無滅;一切雜染不相應故、本來寂靜,自性涅槃。是故我依法無我性所顯勝義無自性性,密意說言一切諸法無生無滅,本來寂靜,自性涅槃。 @ #(於常常時) + +#15 下就圓成辨無生滅等, + +前據遍計體性無故,名無生滅, + +今據圓成體常故,名無生滅。 + +依他因緣幻有生滅,是故不得就辨無生滅等。 + +此約三性類作此分別。 + +前約三性辨無性者,道理唯是遍計無相,即收無性義盡,如次下文說。 + +> 註:“2 解建立三種無性因緣” + +然後更約彼所迷執處為言,故言後立依他生無自性、勝義無自性。圓成實是勝義無自性性。 + +#11 2 解建立三種無性因緣 + +復次勝義生!非由有情界中諸有情類,別觀遍計所執自性為自性故,亦非由彼別觀依他起自性、及圓成實自性為自性故,我立三種無自性性。 + +#12 然由有情於依他起自性及圓成實自性上,增益遍計所執自性故,我立三種無自性性。 + +#13 言非由有情界中乃至我立三無性等者, + +1景云:道理,三無性并是遍計所執相無自性,但為辨遍計所執計度處故,約依他及圓成實,辨生無性、勝義無性。若約所計處,辨生無性、勝義無性,亦攝無自性盡:若應言一遍計所執相無自性,亦攝無性盡;若約依他、圓成實性,辨生無自性、勝義無自性,亦攝無自性盡。一、二合數,即有三無性。故此文云:非因別觀三性,我立三無性;然由有情於依他性及圓成實,隨言執著,我立三無性。 + +2泰云:若於依他起上,觀無遍計所增益性,即是遍計無相性,亦是依他無生性,亦於圓成實性上觀,亦無遍計所執性亦爾,是遍計所執無相性,亦是圓成實無性性。依此文觀依他性、圓成實性上,無遍計所執性,故三無性。遍計所執無自體,故說無性;依他、圓成無他遍計所執體,故說無性。 + +由遍計所執自性相故,彼諸有情,於依他起自性及圓成實自性中,隨起言說。 + +#12 如如隨起言說, + +1如是如是由言說熏習心故, + +#13 2或由言說隨覺故, + +言或由言說隨覺者,即是了別名言眾生,起遍計執。 + +#13 3或由言說隨眠故, + +或由言說隨眠故者,即是嬰兒及牛羊等不了名言眾生,雖不了名言,起於分別;然由言說種子隨眠力故,總相計度。 + +於依他起自性及圓成實自性中,執著遍計所執自性相。 + +如如執著,如是如是於依他起自性及圓成實自性上,執著遍計所執自性。 + +由是因緣、生當來世依他起自性。由此因緣,或為煩惱雜染所染,或為業雜染所染,或為生雜染所染,於生死中、長時馳騁、長時流轉、無有休息;或在那落迦、或在傍生、或在餓鬼、或在天上、或在阿素洛、或在人中,受諸苦惱。 + +#11 3 解觀機說三無性 + +#12 1 約四十心辨三無性 + +復次勝義生!若諸有情,從本已來,1未種善根,2未清淨障,3未成熟相續,4未多修勝解,5未能積集福德智慧二種資糧;我為彼故,依生無自性性、宣說諸法。彼聞是已,能於一切緣生行中,隨分解了,無常無恒、是不安隱、變壞法已,於一切行,心生怖畏、深起厭患。心生怖畏深厭患已,遮止諸惡、於諸惡法能不造作,於諸善法能勤修習。 + +> 註:中士道、下士道,先觀依他起,無常無恆!然而仍有遍計執著,不可以此為足。 + +#13 習善因故,1未種善根、能種善根,2未清淨障、能令清淨,3未熟相續、能令成熟;由此因緣,4多修勝解,5亦多積集福德智慧二種資糧。 + +#14 初云諸有情乃至由此因緣多修勝解亦多積集二種資糧者, + +1景云:初為未種善根乃至未集資糧者,說法從緣生,非自然起,名生無性,彼聞說已,隨分解了,諸法無常乃至積集資糧。 + +2泰云:十信已前,名種善根,淨障等四是四十心。 + +> 註:此應同後備師之意? + +#15 3備云: + +第一位即十信已前,聞有教,種解脫分善根故。 + +第二位即十信,能淨障故。 + +第三位即十解,能成熟故。 + +第四位即十行,修勝解故。 + +第五位即十迴向,亦多積集資糧故。 + +#12 2 約四善根位以辨 + +#13 彼雖如是種諸善根、乃至積集福德智慧二種資糧,然於生無自性性中,未能如實了知相無自性性,及二種勝義無自性性; + +云彼雖如是乃至於依他起中能不執著所執性者,雖於此位已積善根乃至積集二種資糧,隨分解了從緣生,然於生無自性中,未能如實了知相無自性及二種勝義無自性性。 + +#13 於一切行、未能正厭; + +於一切行,未能正厭者,是加行道。 + +#13 未正離欲; + +未正離欲者,是無間道。 + +#13 未正解脫; + +未正解脫者,是解脫道。 + +#13 未遍解脫煩惱雜染、未遍解脫諸業雜染、未遍解脫諸生雜染。 + +未遍解脫此三雜染者,是勝進道。 + +#13 如來為彼更說法要,謂相無自性性及勝義無自性性,為欲令其於一切行能正厭故、正離欲故、正解脫故,超過一切煩惱雜染故、超過一切業雜染故、超過一切生雜染故。彼聞如是所說法已;於生無自性性中,能正信解相無自性性,及勝義無自性性,簡擇思惟、如實通達。於依他起自性中,能不執著遍計所執自性相。 + +#14 如來為彼更說法要,彼聞法已能正信解。 + +言簡擇思惟者,是四尋思,位在煖、頂也。 + +如實通達者,是四如實智位,在忍、第一法。 + +#12 3 約地上以辨 + +#13 由言說不熏習智故、由言說不隨覺智故、由言說離隨眠智故,能滅依他起相;於現法中智力所持、能永斷滅當來世因。由此因緣,於一切行、能正厭患,能正離欲,能正解脫,能遍解脫煩惱業生三種雜染。 + +云由言說不熏習智故者,由不執著名言故,無名言熏習智也。 + +由言說不隨覺智故者,不隨名起分別覺智也。 + +由言說離隨眠智者,由斷言說隨眠故,智不執著,能滅依他相等。 + +#11 4 就祕密說一乘意 + +#12 1 說一乘意 + +#13 復次勝義生!諸聲聞乘種性有情,亦由此道、此行迹故,證得無上安隱涅槃;諸獨覺乘種性有情、諸如來乘種性有情,亦由此道、此行迹故,證得無上安隱涅槃。一切聲聞、獨覺、菩薩,皆共此一妙清淨道,皆同此一究竟清淨,更無第二。我依此故,密意說言唯有一乘。 + +#14 前中,景、備等云: + +此明三乘人同依無性之道,證得涅槃,二乘之人悟於人執遍計所執無性,知有為法從因緣起,無自然生,生無性性;亦知依他無彼勝義自性性也。 + +亦可二乘即由人空所顯真如無性門顯,名達勝義無自性性;菩薩即由遣於二執,知相無性,乃至由二空所顯真如,由無性門顯勝義無自性性。 + +故云一切聲聞、獨覺、菩薩,皆共此一妙清淨道,更無第二,我依此故密意說言唯有一乘。 + +#12 2 辨根性差別非無 + +#13 非於一切有情界中,無有種種有情種性,或鈍根性、或中根性、或利根性,有情差別。 + +#14 下辨根姓差別, + +1泰云:非於一切有情界中,無有種種下中上根,三乘差別。 + +2備云:非於有情,無五種差別。 + +#13 善男子!若一向趣寂聲聞種性補特伽羅,雖蒙諸佛施設種種勇猛加行、方便化導,終不能令當坐道場、證得無上正等菩提。 + +言若一向趣寂乃至終不能令當坐道場證得無上菩提者,又同昔《解節經》,古人文旨不許定性。吉藏師亦釋此文,若聲聞人將入無餘時,蒙佛說法迴向發大心,無有是處,故云終不能得,與今三藏所說不同。於此義中,由來多諍,引證辨義,如常解釋。 + +何以故?由彼本來唯有下劣種性故,一向慈悲薄弱故,一向怖畏眾苦故。由彼一向慈悲薄弱、是故一向棄背利益諸眾生事;由彼一向怖畏眾苦、是故一向棄背發起諸行所作。我終不說一向棄背利益眾生事者、一向棄背發起諸行所作者,當坐道場能得無上正等菩提,是故說彼名為一向趣寂聲聞。 + +#13 若迴向菩提聲聞種性補特伽羅,我亦異門說為菩薩。何以故?彼既解脫煩惱障已,若蒙諸佛等覺悟時,於所知障,其心亦可當得解脫。由彼最初為自利益修行加行、脫煩惱障,是故如來施設彼為聲聞種性。 + +言若迴向菩提聲聞種姓補特伽羅,我亦異門說為菩薩等者,如舍利弗等。 + +#11 5 明四種有情於佛密說有了不了 + +> (明四種有情於佛密教了義經有迷有悟) + +#12 1 總標 + +#13 復次勝義生!如是於我善說善制、法毘奈耶、最極清淨意樂所說,善教法中,諸有情類意解種種差別可得。 + +#14 前中,言如是於我乃至善教法中者, + +1泰云:牒四諦教及以《般若》、《深密》等。 + +2備云:牒《般若》等無相之教。 + +#13 善男子!如來但依如是三種自性性,由深密意於所宣說不了義經,以隱密相說諸法要,謂一切法皆無自性、無生無滅、本來寂靜、自性涅槃。 + +#14 善男子乃至自性涅槃者, + +1景云:道理一切法中,依他、圓成是有,唯遍計所執是無。佛為初向大乘諸菩薩眾,破其有執,密意總說一切諸法,皆無自性、無生滅等,名不了義經。 + +#15 2泰云: + +問:此密教說三無性、不若言說者,般若教意,亦說真實無性性耶? + +解云:教顯了但云:無一切而不分別。若取教下意,通顯三無性性之道理,是故《深密》等顯其密意,正顯三無自性。 + +3備云:般若教意但顯遍計無相,何以得知?如上論云:一切諸法皆無自性,無生無滅,本來寂靜,自性涅槃等教,相無自性密意說故,知但顯相無性性。 + +> 註:如前說:勝義生!當知我依相無自性性,密意說言一切諸法、無生無滅,本來寂靜,自性涅槃。 + +#12 2 別釋 + +#13 1 明第一人 + +於是經中,若諸有情已種上品善根、已清淨諸障、已成熟相續、已多修勝解、已能積集上品福德智慧資糧;彼若聽聞如是法已,於我甚深密意言說、如實解了;於如是法、深生信解,於如是義、以無倒慧、如實通達。依此通達、善修習故;速疾能證最極究竟,亦於我所深生淨信,知是如來應正等覺、於一切法現正等覺。 + +#13 2 明第二人 + +若諸有情,已種上品善根,已清淨諸障,已成熟相續,已多修勝解,未能積集上品福德智慧資糧,其性質直、是質直類,雖無力能思擇廢立、而不安住自見取中。彼若聽聞如是法已,於我甚深祕密言說,雖無力能如實解了,然於此法能生勝解、發清淨信,信此經典、是如來說,是其甚深、顯現甚深,空性相應,難見難悟,不可尋思,非諸尋思所行境界,微細詳審聰明智者之所解了。於此經典所說義中、自輕而住、作如是言:諸佛菩提、為最甚深,諸法法性、亦最甚深,唯佛如來能善了達,非是我等所能解了。諸佛如來為彼種種勝解有情,轉正法教,諸佛如來無邊智見;我等智見、猶如牛迹,於此經典、雖能恭敬為他宣說、書寫護持、披閱流布、殷重供養、受誦溫習;然猶未能以其修相、發起加行。是故於我甚深密意所說言詞、不能通達。由此因緣,彼諸有情、亦能增長福德、智慧二種資糧;於後相續未成熟者、亦能成熟。 + +#13 3 明第三人 + +若諸有情,廣說乃至未能積集上品福德、智慧資糧,性非質直、非質直類,雖有力能思擇廢立,而復安住自見取中;彼若聽聞如是法已,於我甚深密意言說、無有力能如實解了,於如是法、雖生信解,然於其義隨言執著,謂一切法決定皆無自性,決定不生不滅,決定本來寂靜,決定自性涅槃。由此因緣,於一切法,獲得無見及無相見。由得無見、無相見故,撥一切相、皆是無相,誹撥諸法遍計所執相、依他起相、圓成實相。何以故?由有依他起相,及圓成實相故,遍計所執相、方可施設。若於依他起相及圓成實相,見為無相;彼亦誹撥遍計所執相,是故說彼誹撥三相。雖於我法、起於法想;而非義中、起於義想。由於我法、起法想故,及非義中、起義想故,於是法中、持為是法,於非義中、持為是義。彼雖於法起信解故,福德增長;然於非義起執著故、退失智慧。智慧退故,退失廣大無量善法。 + +復有有情從彼聽聞,謂法為法、非義為義,若隨其見,彼即於法、起於法想,於非義中、起於義想。執法為法,非義為義。由此因緣,當知同彼退失善法。 + +若有有情不隨其見,從彼欻聞一切諸法皆無自性、無生無滅、本來寂靜、自性涅槃,便生恐怖;生恐怖已、作如是言:此非佛語、是魔所說。作此解已,於是經典、誹謗毀罵。由此因緣、獲大衰損,觸大業障。由是因緣,我說若有於一切相、起無相見;於非義中、宣說為義,是起廣大業障方便;由彼陷墜無量眾生、令其獲得大業障故。 + +#13 4 明第四人 + +善男子!若諸有情未種善根,未清淨障,未熟相續,無多勝解,未集福德智慧資糧,性非質直、非質直類,雖有力能思擇廢立、而常安住自見取中;彼若聽聞如是法已,不能如實解我甚深密意言說,故於此法不生信解。於是法中、起非法想,於是義中、起非義想;於是法中、執為非法,於是義中、執為非義。唱如是言:此非佛語、是魔所說。作此解已,於是經典、誹謗毀讟,撥為虛偽,以無量門毀滅摧伏如是經典;於諸信解此經典者、起怨家想。彼先為諸業障所障,由此因緣、復為如是業障所障。如是業障、初易施設,乃至齊於百千俱胝那庾多劫、無有出期。 + +於此經中已下,別釋有四種人。 + +> 中華藏:於是經中已下, + +#14 1景云: + +前二不迷。第一人者,謂諸有情已種上品善根,聞如是法,如實解了乃至現等正覺。 + +第二人者,諸有情已種上品善根乃至未能積集上品資糧,其性質直,雖無力思擇而不安住自見取中,乃至唯是微細詳審明智所知,我何能解,自輕而住。 + +第三人者,謂諸有情乃至未能積集上品資糧,非質直性,雖有力能思擇廢立,而住見取中,彼若聽聞如是法已,於我甚深密意言說無力解了,雖生信解,隨言執著,謂一切法決定無性,不生不滅,由此獲得無見、無相見,撥一切相是無相,撥遍計所執、依他、圓成實相。依彼二性施設遍計所執,既撥無二性故亦撥無遍計所執等者,此如三論學者,著於空見名惡取空。雖於我法,起於法想者,亦信無性之教法也。而非義中起於義想者,俱遣遍計所執不空餘之二性,而於餘之二性不空義中起於空想,乃至雖於教生信故,福德增長,然於非義起執著故,退失智慧。次明其人有二弟子,初其一同師見,第二弟子過其師見,於其教法亦撥不信,謂聞諸法皆無自性、無生滅等,便生恐怖,言非佛語是魔所說。作此解已,於諸姓典誹謗毀罵等。 + +> 中華藏:於諸聖典誹謗毀罵等。 + +第四,又若諸眾生未種善根,乃至性非質直,住自見取,彼聞是法不生信解,起非法想,起非義想,乃至撥為虛偽。 + +> 註:第三人之第二弟子,因其師而不信法、義;此第四人,但隨自見,不信法、義。 + +#14 2備云: + +一、辨信解人;二、辨有信、無解人;三、辨思擇力人;四、辨邪執人。 + +有釋:初、辨四善根人;二、辨四十心人;三、辨撥無人;四、辨誹撥人。此後二人,并是十信已前。 + +> 註:加行、資糧道人、未入道人,皆是凡夫。 + +#14 3景云:此中有六種根性人。@ + +> 註: +​圓測疏:自下第二正明有情意解不同。於中有四:一五事具足信解人。二五事不具能信人。三生信隨言執著人。四五事全無不信人。 +​然此四人,種善根等五事多少,分成六人:一五事具足。二有四闕一。三有三闕二。四有二闕三。五有一闕四。六五事全無。 + +​——此中五利(五事具足):​​ + +​已種上品善根 +​已清淨諸障 +​已成熟相續 +已多修勝解 +​已能積集上品福德智慧資糧(三慧) +​ + + +一、五利三慧,疾證究竟,生淨信者; + +二、四利闕慧,其性質直,不安見者; + +三、四利闕慧,性非質直,安見者; + +四、從他聞法,得法、失義,同見退失善根者; + +五、從他聞法,不隨其見,便生恐怖誹謗者; + +六、無利闕慧,輪轉生死起誹謗者, + +雖聞此釋,今還依景。@ + +> 中華藏:雖開此釋 +​ +​註:景 應為第一家 景師,與此處不同 +https://shimo.im/docs/gGtGvVjVC8Gh9D8r/ 《道倫〈瑜伽師地論記〉所引 唐代諸家 —— 江田俊雄 朝鮮佛教史之研究》​ + +#12 3 釋已結 + +#13 善男子!如是於我,善說善制、法毘奈耶、最極清淨意樂所說善教法中,有如是等諸有情類意解種種差別可得。 + +下結如文。 + +#10 2 重頌 + +爾時世尊欲重宣此義、而說頌曰: + +1一切諸法皆無性、無生無滅、本來寂、諸法自性恒涅槃、誰有智言無密意。 + +2相、生、勝義無自性、如是我皆已顯示,若不知佛此密意;失壞正道、不能往。 + +3依諸淨道清淨者,唯依此一、無第二;故於其中立一乘,非有情性無差別。 + +4眾生界中無量生、唯度一身趣寂滅;大悲勇猛證涅槃,不捨眾生、甚難得。 + +#11 5微妙難思無漏界、於中解脫等無差,一切義成、離惑苦;二種異說、謂常樂。 + +#12 重頌前義,有其五頌。 + +#13 1景云: + +初頌,頌初復次,諸法無性、無生滅等。 + +第二頌,頌三復次,謂第二立無性因緣、第三觀機說三無性、第五於佛密教有迷有悟。 + +下有三頌,頌彼第四密說一乘。 + +誰有智言無密意者,謂是智人皆信佛說,諸法無生滅等等是其密意。雖說諸法無性,意明遍計所執諸法無性,不辨依他、圓成無性。 @ + +> 中華藏:謂四智人皆信佛說, + +註:四智人,似乎費解? +​ + + +微妙難思無漏界,於中解脫等等無差者,無相之理,非凡能了,名為難思無漏界也。三乘聖人同悟此理,故云於中解脫等無差別。 + +> 卍續藏:等 字疑剩 + +一切義成、離惑苦者,由證圓成實故,名一切義成;斷彼依他,名離惑苦。 + +二種異說、謂常樂者,此圓成實即是有餘、無餘二種涅槃之體,由離惑故常,由離苦故樂,常樂二名,名二異說。 + +#13 2今解: + +初頌,頌第一段。 + +> 註:一、諸法無性、無生滅等(與景師同) + +次有二句,頌第二段。 + +> 註:二、建立三種無性因緣(第二頌,與景師說二三五段不同,此唯說二) + +次有二句,頌第三段。 + +> 註:三、解觀機說三無性(第二頌,與景師說二三五段不同,唯此說三) + +次有兩頌半,頌第四段。 + +> 註:四、就祕密說一乘意(與景師同) + +後有二句,頌第五段。 + +> 註:五、明四種有情於佛密說有了不了(第五頌,與景師唯說第四段不同,此說四、五) + +#7 2 領解讚嘆 + +#8 1 總說 + +#9 1 菩薩領解 + +#10 1 先讚世尊 + +爾時勝義生菩薩復白佛言:世尊!諸佛如來密意語言,甚奇希有;乃至微妙最微妙、甚深最甚深、難通達最難通達。 + +#10 2 然後領解 + +#11 1 法說 + +#12 1 舉色蘊解三無性 + +如是我今領解世尊所說義者,若於分別所行遍計所執相所依行相中,假名安立以為色蘊,或自性相,或差別相;假名安立為色蘊生、為色蘊滅、及為色蘊永斷遍知、或自性相,或差別相;是名遍計所執相。世尊依此施設諸法相無自性性。 + +若即分別所行遍計所執相所依行相,是名依他起相。世尊依此,施設諸法生無自性性,及一分勝義無自性性。 + +如是我今領解世尊所說義者,若即於此分別所行遍計所執相所依行相中,由遍計所執相不成實故;即此自性無自性性、法無我真如、清淨所緣,是名圓成實相。世尊依此施設一分勝義無自性性。 + +#13 如於色蘊,如是於餘蘊、皆應廣說;如於諸蘊,如是於十二處一一處中、皆應廣說;於十二有支一一支中、皆應廣說;於四種食、一一食中、皆應廣說;於六界十八界、一一界中、皆應廣說。 + +法中,但總領解世尊所說三無性義。於中,歷法辨解。初舉色蘊解三無性,類四蘊及諸餘法; + +#12 2 舉苦諦三無性 + +如是我今領解世尊所說義者,若於分別所行遍計所執相所依行相中,假名安立以為苦諦、苦諦遍知,或自性相,或差別相;是名遍計所執相。世尊依此施設諸法相無自性性。 + +若即分別所行遍計所執相所依行相,是名依他起相。世尊依此施設諸法生無自性性,及一分勝義無自性性。 + +如是我今領解世尊所說義者,若即於此分別所行遍計所執相所依行相中,由遍計所執相不成實故;即此自性無自性性、法無我真如、清淨所緣,是名圓成實相。世尊依此施設一分勝義無自性性。 + +#13 如於苦諦,如是於餘諦、皆應廣說。 + +次舉苦諦三無性,類餘三諦; + +#12 3 八正道中越就第八正定辨解三種無性 + +如於聖諦,如是於諸念住、正斷、神足、根、力、覺支、道支中,一一皆應廣說。 + +如是我今領解世尊所說義者,若於分別所行遍計所執相所依行相中,假名安立以為正定、及為正定能治所治,若正定修、未生令生、生已堅住不忘倍修增長廣大、或自性相,或差別相;是名遍計所執相。世尊依此施設諸法相無自性性。 + +若即分別所行遍計所執相所依行相,是名依他起相。世尊依此施設諸法生無自性性,及一分勝義無自性性。 + +#13 如是我今領解世尊所說義者,若即於此分別所行遍計所執相所依行相中、由遍計所執相不成實故;即此自性無自性性法無我真如、清淨所緣,是名圓成實相。世尊依此施設諸法一分勝義無自性性。 + +乃至八正道中,越就第八正定,辨解三種無性。 + +> 中華藏:後就第八正定 + +#11 2 喻況 + +#12 1 舉毘濕縛藥 + +#13 世尊!譬如毘濕縛藥,一切散藥仙藥方中皆應安處,如是世尊!依此諸法皆無自性、無生無滅、本來寂靜、自性涅槃、無自性性了義言教,遍於一切不了義經、皆應安處。 + +初舉毘濕縛藥,一切散藥仙藥方中皆應安處者,此藥平隱,調和諸藥一切丸散皆安一味。如是世尊乃至皆應安處者,前為初學大乘菩薩,總說諸法皆無自性,未辨依他、圓成是有,名不了義。今領解:唯遍計所執是無,餘二性有,是真了義,將此有、無了義道理,解釋前說不了義經,即知佛說無自性義,即非一切諸法皆無,故云遍於一切不了義經皆應安處。毘濕縛者,此間無當此名,故存梵語。又解:梵言毘濕縛,唐云有功能。 + +#13 2 舉書喻 + +#14 世尊!如彩畫地,遍於一切彩畫事業、皆同一味,或青或黃、或赤或白,復能顯發彩畫事業;如是世尊!依此諸法皆無自性,廣說乃至自性涅槃、無自性性了義言教,遍於一切不了義經、皆同一味,復能顯發彼諸經中所不了義。 + +二、舉書喻,如欲畫時,先必粉地遍諸彩色,由此粉地復能顯發彩書事業,相貌分明。以諸法中,空、不空理,了義言教,顯不了義經,說於諸法皆無性者,唯據遍計所執。 + +#13 3 舉熟蘇喻 + +#14 世尊!譬如一切成熟珍羞諸餅果內,投之熟酥、更生勝味,如是世尊!依此諸法皆無自性,廣說乃至自性涅槃、無自性性了義言教,置於一切不了義經、生勝歡喜。 + +三舉熟酥喻,可解。 + +#13 4 舉譬虛空 + +#14 世尊!譬如虛空,遍一切處皆同一味、不障一切所作事業,如是世尊!依此諸法皆無自性,廣說乃至自性涅槃、無自性性、了義言教,遍於一切不了義經皆同一味,不障一切聲聞、獨覺及諸大乘所修事業。說是語已, + +四譬虛空者,具說三性空、不空義,帶有說空,名了義,遍於一切不了義經,唯明空處,分別解釋,不障一切中道作業。如空遍滿一切色處,不障一切所作別業。 + +#9 2 如來讚嘆 + +#10 爾時世尊歎勝義生菩薩曰:善哉!善哉!善男子!汝今乃能善解如來所說甚深密意言義,復於此義善作譬喻,所謂世間毘濕縛藥、雜彩畫地、熟酥、虛空。勝義生!如是如是、更無有異;如是如是、汝應受持。 + +下佛讚嘆。 + +#7 3 辨教優劣、持經功德 + +#8 1 定三時教體優劣 + +勝義生菩薩復白佛言:世尊初於一時,在婆羅痆斯仙人墮處施鹿林中,唯為發趣聲聞乘者、以四諦相轉正法輪,雖是甚奇甚為希有,一切世間諸天人等、先無有能如法轉者;而於彼時所轉法輪,有上、有容、是未了義是諸諍論安足處所。 + +世尊在昔第二時中,唯為發趣修大乘者,依一切法皆無自性、無生無滅、本來寂靜、自性涅槃,以隱密相轉正法輪,雖更甚奇甚為希有;而於彼時所轉法輪,亦是有上、有所容受、猶未了義、是諸諍論安足處所。 + +#9 世尊於今第三時中,普為發趣一切乘者,依一切法皆無自性、無生無滅、本來寂靜、自性涅槃無自性性,以顯了相轉正法輪,第一甚奇最為希有;于今世尊所轉法輪,無上、無容、是真了義、非諸諍論安足處所。 + +#10 前中,1景云: + +初於一時在婆羅斯仙人墮處等者,舊名仙人住處者,非。以昔在王,將諸婇女在園遊,有五百仙空中欲度,見已墮落,故名仙人墮處。為趣二乘,偏說四諦,安立諦有,是諸教執諍安立處,此即隱密為說依他、圓成二性是有,恐增空見,而不為說遍計所執性空,名不了義。 + +> 中華藏:以昔有王, + +第二時中,為初發趣大乘諸菩薩眾,破其有執,說《大般若》諸法空,即是隱密為說遍計所執自性本無,恐增有見,未為說依他、圓成二性是有,名未了義。 + +#11 於今第三時中,為久學菩薩說《解深密經》,具辨遍計所執無、餘二性有,有、無義: + +是說二性有,即是義當為發趣二乘者說; + +說遍計所執空,即是義當為初發趣大乘者說; + +具說三性空、有義,是即當彼為久學菩薩,轉正法輪了義說也。 + +故言普為發趣一切乘者說真了義。 + +#10 2泰云: + +初轉聲聞四諦法輪,第二時為發趣唯一性空大乘者說諸法無自性性。然不約三性、三無性分別,故名隱密相轉,但言一切皆空,不說依他、圓成為有,如《大品》等是其教也。 + +於今第三時為發趣一切大乘者,以普明了說三性、三無性,轉正法輪,更無有上,如《華嚴》等是其教也。以說橫計法無因緣,及圓成法為有故。 + +第二教中不明三乘成佛,故但說大乘;第三教中辨不定性,三乘成佛,故名一切大乘。 + +> 註:第三教亦為菩薩種性、不定種性而說;具說遍計是無,依他及圓成是有。 + +#8 2 明持經福利 + +世尊!若善男子、或善女人,於此如來依一切法皆無自性、無生無滅、本來寂靜、自性涅槃所說甚深了義言教,聞已信解、書寫護持、供養流布、受誦溫習、如理思惟、以其修相發起加行、生幾所福? + +說是語已;爾時世尊告勝義生菩薩曰:勝義生!是善男子或善女人,其所生福無量無數、難可喻知。吾今為汝略說少分,如爪上土,比大地土,百分不及一,千分不及一,百千分不及一,數、算、計、喻、鄔波尼殺曇分亦不及一。或如牛迹中水,比四大海水,百分不及一,廣說乃至鄔波尼殺曇分亦不及一。 + +#9 如是於諸不了義經、聞已信解,廣說乃至以其修相發起加行,所獲功德,比此所說了義經教,聞已信解所集功德,廣說乃至以其修相、發起加行所集功德,百分不及一,廣說乃至鄔波尼殺曇分亦不及一。說是語已; + +下明持經福利。鄔波尼殺曇分者,是數之最極處。 + +#7 4 請問立經名,時眾得益 + +#8 1 先請立名 + +勝義生菩薩復白佛言:世尊!於是解深密法門中,當何名此教?我當云何奉持? + +#8 2 請後辨時益 + +> 卍續藏:請 字更勘 + +#9 佛告勝義生菩薩曰:善男子!此名勝義了義之教。於此勝義了義之教,汝當奉持。說此勝義了義教時,於大會中,有六百千眾生,發阿耨多羅三藐三菩提心;三百千聲聞,遠塵離垢,於諸法中得法眼淨;一百五十千聲聞,永盡諸漏,心得解脫;七十五千菩薩,得無生法忍。 + +#10 三藏云:辨得利,有三乘利,遂引《釋論》兩家解。@ + +一解:一音演說,隨類各解,如《維摩經》說; + +一解:所見雖異,所聞義同。此明同聞一教說人異,故大小三乘各得其果,如《佛地持》云:所見雖異,所聞義同。此亦如是,雖聞一教。而聲聞解人空理,菩薩解二空,故經云三百千聲聞遠塵離垢等,意在於此。其遠塵等,如《論》當說。 + +> 註:釋論、佛地持 是何? +卍續藏:佛 字 持 字 更勘​​ + +#6 5 慈氏菩薩請問奢摩他、毘鉢舍那義 + +> 中華藏 卷八十四。 +卍續藏 第76冊,卷四十/卷第二十之下(論本第七十七卷)​,三百十頁(620)​ + +#7 1 標宗指經 + +#8 復次依法假安立,分別解說瑜伽所攝奢摩他、毘鉢舍那道,當知如《解深密經》中, + +前中,法謂教法,依彼教法,施設假立十二部經,分別解說止觀相應之義。 + +或復解釋止觀得菩提果,即是因果相應之義,故言分別解說瑜伽所攝奢摩他、毘鉢舍那道。 + +#7 2 正引經文(缺解1) + +#8 1 問答正辨止觀之義 + +#9 1 長行 + +#10 1 問答廣辨(缺解2) + +> 註:分為二十六門。 + +#11 1 依住門 + +#12 慈氏菩薩白佛言:世尊!菩薩何依何住,於大乘中修奢摩他、毘鉢舍那?佛告慈氏菩薩曰:善男子!當知菩薩1法假安立,及2不捨無上正等覺願,為依為住,於大乘中,修奢摩他、毘鉢舍那。 + +初辨止觀依住門。問:以何為依,住何等住,而修止觀?下答:以教為依,不捨大菩提願為住。 + +#11 2 所緣門 + +#12 世尊!如說四種所緣境事: + +一、有分別影像所緣境事, + +二、無分別影像所緣境事, + +三、事邊際所緣境事, + +四、所作成辦所緣境事。 + +於此四中、幾是奢摩他所緣境事?幾是毘鉢舍那所緣境事?幾是俱所緣境事? + +#12 善男子! + +一、是奢摩他所緣境事,謂無分別影像。 + +一、是毘鉢舍那所緣境事,謂有分別影像。 + +二、是俱所緣境事,謂事邊際、所作成辦。 + +#13 第二所緣門。 + +#14 1景云: + +一、有分別影像所緣境界者,是地前觀智,依教修時,即緣自變似法、似義影像相分,以觀心推求,名有分別。有分別所變,影像法義,名有分別影像所緣。 + +二、是無分別所緣影像者,亦是地前止心,所變似法、義境,止心名無分別心,無分別心,所現影像故,名無分別影像。 + +三、事邊際所緣境事者,即是十地中,止觀所緣真如,真如遍滿一切事法,故名事邊際境;亦可法物事有諸法通名,真如體遍,名事邊際。@ + +> 註:斷句有問題。 + +四、所作成辨所緣境者,謂在佛地,佛地所作一切成辨,是故佛地止觀所緣名成辨境。 + +2泰云:第四以轉依有為、無為功德為境,故云成辨。 + +3景云:一說於一切地,具四所緣,止名無分別,觀名有分別;止觀雙運,名事邊際,地、行滿足,名所作成辨。 + +> 註:此中“景”師是否與1相同? + +言二是俱所緣境事,謂事邊際、所作成辨者,4備云:觀此文勢,後二所緣俱以無分別、有分別影像為緣;亦可後二所緣,俱不以前二種影像為所緣境。 + +西國一徒,作如此解:無分別智,緣真如相故,亦名無分別影像,引《對法》證。雖有此解,今以分別智,證真如時,無相為為善。 + +> 中華藏:無相為善。 +卍續藏:為字疑剩​ + +註:此說第二影像​​,應屬於地前凡夫位。 + +#11 3 求善止觀門 + +#12 世尊!云何菩薩依此四種奢摩他、毘鉢舍那所緣境事,能求奢摩他,能善毘鉢舍那? + +第三求善止觀門。 + +1景云:道理依此四境,求止亦求於觀,文家換句,故云求止、能善於觀。 + +#12 善男子!如我為諸菩薩所說法假安立,所謂契經、應誦、記別、諷誦、自說、因緣、譬喻、本事、本生、方廣、希法、論議;菩薩於此善聽善受,言善通利,意善尋思,見善通達; + +言為諸菩薩安立十二部經,彼聞善受等,是聞慧; + +#12 即於如所善思惟法,獨處空閑,作意思惟。 + +即於如所思惟法,獨處空閑等,是思慧;此聞、思慧,緣彼教法時,修方便時,即緣自心所變相分。 + +#12 復即於此能思惟心、內心相續作意思惟。如是正行、多安住故,起身輕安及心輕安,是名奢摩他。如是菩薩能求奢摩他。 + +言復即於此能思惟心、內心相續見分,以之為境。如是正行,多安住故,起身輕安及心輕安,是名奢摩他者,方便成故,得其定也。 + +#12 彼由獲得身心輕安為所依故,即於如所善思惟法、內三摩地所行影像,觀察勝解,捨離心相。 + +如是下結。彼由獲得身心輕安為所依故至捨離心相者,由獲得彼內三摩地,觀察自變影像相時,捨緣聞思相續見分,故言捨離心相。 + +#12 即於如是三摩地影像所知義中,能正思擇,最極思擇,周遍尋思,周遍伺察,若忍、若樂、若慧、若見、若觀,是名毘鉢舍那。如是菩薩能善毘鉢舍那。 + +言即於如是三摩地影像所知義中者,牒前止心所知義也。能正思擇等者,正釋能善毘鉢舍那,餘處以四義釋毘鉢舍那。今此文中以九義釋,前四如聲聞地說,後之五種,見之異名。 + +2泰云:入初地故,捨離心相影像境界。 + +#11 4 止觀方便門 + +#12 1 問答辨求止方便 + +#13 世尊!若諸菩薩緣心為境,內思惟心,乃至未得身心輕安,所有作意,當名何等?善男子!非奢摩他作意;是隨順奢摩他勝解相應作意。 + +第四止觀方便門,初問答辨求止方便。緣聞思心相續見分,爾時非止,是隨順止相應作意。 + +#12 2 問答辨求觀方便 + +#13 世尊!若諸菩薩乃至未得身心輕安,於如所思所有諸法內三摩地所緣影像,作意思惟;如是作意、當名何等?善男子!非毘鉢舍那作意;是隨順毘鉢舍那勝解相應作意。 + +次問答辨求觀方便。聞思二慧,思惟諸法影像相時,但隨順觀,而非觀體,以所辨求觀,方是修慧故。 + +#11 5 一異門 + +#12 1 明止觀一異 + +#13 世尊!奢摩他道、與毘鉢舍那道,當言有異,當言無異?善男子!當言非有異,非無異。 + +何故非有異?以毘鉢舍那所緣境心,為所緣故。 + +#14 何故非無異?有分別影像,非所緣故。 + +第五一異門。於中分二:初明止觀一異;後明見相一異。前中, + +> 註:此中兩師,參見 圓測疏 之兩說: +​ +然釋此文,自有兩說。 + +​​一云:非有異者,約本質說,且如止觀俱轉之時,同緣聞思所緣相分境及能緣見分心為本質境,以質同故,名非有異。非無異者,約影像說,以彼止觀同緣之時,所變影像,各各不同,謂有分別影、無分別影,有差別故,名非無異。 +​ +​一云:非有異者,以奢摩他,雖不能緣毗鉢舍那所緣聞思相分之境,而能緣彼聞思二慧所緣境上見分之心,故非有異。非無異者,義同前說。 + +​​於二說中,後說為勝,順前文故。 +​​ + +#15 1景師云: + +此問答意,據緣本質境同,故言非異,以止觀恒俱同緣聞思相分、見分本質,為所緣故。 + +據緣隨心影像,止觀即異。以止但緣無分別影像,觀緣分別影,故止觀體非無有異。 + +#15 2泰師云: + +以觀即為止所緣故,約彼緣心同,故非有異。 + +觀分別影像相分境,而非止境。境既不同,故非無異。 + +#12 2 明見相一異 + +#13 世尊!諸毘鉢舍那三摩地所行影像,彼與此心、當言有異,當言無異?善男子!當言無異。何以故?由彼影像、唯是識故。善男子!我說識所緣、唯識所現故。世尊!若彼所行影像,即與此心無有異者;云何此心還見此心?善男子!此中無有少法能見少法;然即此心如是生時,即有如是影像顯現。善男子!如依善瑩清淨鏡面,以質為緣,還見本質;而謂我今,見於影像,及謂離質別有所行影像顯現。如是此心生時,相似有異,三摩地所行影像顯現。世尊!若諸有情,自性而住,緣色等心所行影像,彼與此心亦無異耶?善男子!亦無有異。而諸愚夫由顛倒覺,於諸影像不能如實知唯是識,作顛倒解。 + +> 註: +《攝大乘論釋》卷4:「。《解深密經》所明意趣,如十地釋。經謂教法。三摩地者,是能令心住一境性。心法為體,此所緣境說名所行,本境名質,似彼現者說名影像。我說識所緣唯識所現故者,我說在外識所緣境,唯是內識之所顯現,即是所緣境識為自性義。此意說言,識所緣境,唯是識上所現影像,無別有體。云何此心還取此心者,此顯作用於自相違。慈氏無有少法能取少法者,此釋前難,無作用故,謂一切法作用作者皆不成故。如是生時者,緣起諸法威力大故,即一體上有二影生,更互相望不即不離。諸心心法由緣起力,其性法爾如是而生。如質為緣還見本質等者,譬如依止自面等質,於鏡等中還見本質,由迷亂故謂我見影。由鏡等緣威力大故,雖無異影而似別有影像顯現。此心亦爾如是生時等者,謂心心法種種憶念分別等緣功能大故,如是生時,雖無有異三摩地等所行影像,而似別有影像顯現。……」(CBETA 2019.Q4, T31, no. 1598, p. 400b22-c11) +​ +​《​攝大乘論釋》卷4:「《解深密經》中我說識所緣唯識所現故者,謂識所緣,唯識所現,無別境義。復舉識者,顯我所說定識所行,唯識所現無別有體。然即此心如是生時者,謂即由此品類生時。相似有異所見影現者,謂定所行相似離識,別有所取分明顯現。」(CBETA 2019.Q4, T31, no. 1597, p. 338c22-28) +​​ +另外 景師 之說 參考 圓測疏:​ +​ +然鏡、質、像差別相者,諸說不同。 +​一云:鏡即喻定,質喻心王,影喻相分。 +此中意說:由心力故,依止於定,緣青等影。然即彼影,心所變故,還不離心,是故說言還見自心;非謂見分還見見分,故言自見。 + +​​若通定散,說此喻者,自有二說。 +​一云:散位亦有定故,義同定位。 +​一云:散中,鏡喻本質,質喻見分,影喻相分。 +​一云:鏡喻見分,影喻相分,質喻自證分。此意說云:由自證分變見相故,由見緣相,而彼相見不離自證,故說唯識。 +​ + +下明見相一異中, + +#14 1景師云: + +離識量外,無別影像,故言無異。 + +心外無法,故不見餘。 + +還猶自心現於影像,見影像時名見自心。 + +#15 如依淨鏡,自面為緣,眼識還見自本質面。意識計度,別變影像,當自心現,謂在鏡中。@ + +鏡喻定體, + +本質喻定相應心王, + +影像喻心相分。 + +由定潤滑澄清,令心能現心之相分,即將彼定、相應心王為鏡,定為本質,定所顯境是其影像,如是同時,餘數展轉相望,皆得為境本質影像。 + +> 中華藏:皆得為鏡本質影像。 + +散心云何?答曰:散心中皆有定數,準前作法皆得可知。 + +世尊若諸有情自性而住下,明諸愚夫散心所取影像,亦無有異,但顛倒解,執有別物。 + +#14 2泰師云: + +此中無有少法能觀少法者,依大乘道理,諸法無作用,心觀境時,不知鉗取物,故無法取少法。即此心依境生時,即有如是境之影像,於心上顯現,故假說心能觀境,理實當言無有多法能觀多法。經云少者,舉少破多。如依淨鏡面,以本質為緣,及謂離質別有所知影像,在鏡面得顯現。 + +> 中華藏:不如鉗取物 + +#14 3備、基師云: + +《攝論》言無有餘法能取餘法,此識如此及生顯現,由此舊解:能緣心外,無餘能取;及境外,無餘所取。 + +今此論意,欲辨大乘見、相諸法,既無作用,我是能緣、我是所緣,但心清淨故,一切諸相於心顯,故名取境,廣如《佛地論》。又此文意,無有小法能有作用,何況諸心及相,得有作用?是故諸法生時,但是唯識,無作用生,由此道理,不同昔解。 + +> 中華藏:無有少法能有作用 + +4郭師云:理實,像色當鏡而現,而此中云還見本質者,無有實體所見像,故作是解。 + +#11 6 單雙門 + +世尊!齊何當言菩薩一向修毘鉢舍那?善男子!若相續作意,唯思惟心相。 + +世尊!齊何當言菩薩一向修奢摩他?善男子!若相續作意,唯思惟無間心。 + +世尊!齊何當言菩薩奢摩他毘鉢舍那和合俱轉?善男子!若正思惟心一境性。 + +世尊!云何心相?善男子!謂三摩地所行有分別影像、毘鉢舍那所緣。 + +世尊!云何無間心?善男子!謂緣彼影像心、奢摩他所緣。 + +#12 世尊!云何心一境性?善男子!謂通達三摩地所行影像、唯是其識;或通達此已,復思惟如性。 + +#13 第六單雙門。 + +#14 1景云: + +一向修觀者,若相續作意,唯思惟心之相分是也。 + +一向修止者,若相續作意,唯思惟前滅無間心之見分是也。 + +止觀和合俱轉者,若正思惟心一境性者,止觀俱時通達等時影像,唯是其識,或通此已,復思惟如性。 + +> 中華藏:止觀俱時通達等持影像 + +向下,次第解前三境,可知。 + +2泰云:心相分眾多,見分唯一,毘鉢舍那此云觀察,故得思惟心相分,偏修觀也。偏修止,可知。雙者,若作唯識觀時,相、見合緣,故定慧和合俱轉。 + +3備云:定慧同行,思惟心一境性。 + +#11 7 幾種門 + +#12 世尊!毘鉢舍那、凡有幾種?善男子!略有三種:一者、有相毘鉢舍那,二者、尋求毘鉢舍那,三者、伺察毘鉢舍那。 + +云何有相毘鉢舍那?謂純思惟三摩地所行,有分別影像,毘鉢舍那。 + +云何尋求毘鉢舍那?謂由慧故,遍於彼彼未善解了一切法中,為善了故,作意思惟,毘鉢舍那。 + +云何伺察毘鉢舍那?謂由慧故,遍於彼彼已善解了一切法中,為善證得極解脫故,作意思惟,毘鉢舍那。 + +#13 第七幾種門,略有三種。 + +一者、有相,謂純思惟分別影像; + +> 註:根據後 三地門,此應為 資糧道 聞思,或許未必得定。 + +二者、尋求,偏於彼彼未善解了一切法中,為善了故,作意思惟一切諸法; + +三者、伺察,謂善解了諸法,為欲證得解脫故,作意思惟。 + +如是三觀,漸增長故有勝劣。 + +> 中華藏:漸增長故有勝劣辨。 + +#12 世尊!是奢摩他、凡有幾種?善男子!即由隨彼無間心故,當知此中亦有三種。復有八種;謂初靜慮乃至非想非非想處,各有一種奢摩他故。復有四種;謂慈、悲、喜、捨四無量中,各有一種奢摩他故。 + +辨止中,即由隨前無間三觀心故,如次有三也。或八、或四,如文。 + +> 中華藏:止中, + +#11 8 隨信法行門 + +#12 世尊!如說依法奢摩他毘鉢舍那,復說不依法奢摩他毘鉢舍那;云何名依法,云何復名不依法? + +善男子!若隨所受所思法相,而於其義得奢摩他、毘鉢舍那,名依法。 + +若不待於所受所思所有法相,但依止他教誡教授、而於其義得奢摩他、毘鉢舍那——謂觀青瘀及膿爛等,或一切行皆是無常,或諸行苦,或一切法皆無有我,或復涅槃畢竟寂靜——如是等類奢摩他、毘鉢舍那,名不依法。 + +由依止法得奢摩他、毘鉢舍那,故我施設隨法行菩薩,是利根性; + +#12 由不依法得奢摩他、毘鉢舍那,故我施設隨信行菩薩,是鈍根性。 + +第八隨信法行門。如說依法止觀,復說不依法止觀,此義云何?佛答:自依教法思量,修於止觀,名依法行利根;若不依經法,直信禪師等教授,修止觀者名不依法,是隨信行鈍根。 + +此中1若薩婆多云:聲聞見道十五心位,利名法行,鈍名信行;菩薩一向法行;獨覺亦是法行。 + +2跋摩云:聞思位名信行,四現忍位名法行,見道已去名無相行。 + +> 註:成實論:法行者,是人得空無我智,在煖頂忍第一法中隨順法行,謂空無我等是名法行。 + + +3今依大乘:二乘信、法行義同後家。若準《對法》亦通,故亦不違前家之說。菩薩位中,迴向以下名信行,四善根名法行,初地已上名無相行,地前亦有利、鈍差別。登地以上,根姓一等。 + +#11 9 總法總別門 + +#12 1 明緣總、別 + +#13 世尊!如說緣別法奢摩他、毘鉢舍那,復說緣總法奢摩他、毘鉢舍那;云何名緣別法奢摩他、毘鉢舍那?云何復名緣總法奢摩他、毘鉢舍那? + +善男子!若諸菩薩緣於各別契經等法,於如所受、所思惟法,修奢摩他、毘鉢舍那,是名緣別法奢摩他、毘鉢舍那。 + +#14 若諸菩薩即緣一切契經等法,集為一團、一積、一分、一聚,作意思惟;此一切法,隨順真如、趣向真如、臨入真如,隨順菩提、隨順涅槃、隨順轉依,及趣向彼、若臨入彼,此一切法、宣說無量無數善法。如是思惟,修奢摩他、毘鉢舍那,是名緣總法奢摩他、毘鉢舍那。 + +第九緣法總別門。於中有四:初明緣總、別,【……】二明總中,小、大、無量。三明中,小、大、無量。三明齊何名得。四明通達及得。 @ + +> 中華藏:有四:初明緣總、別。【……】一明總中,小、大、無量,二明別中,小、大、無量。三明齊何名得,四明通達及得。​​ +​ +​​註:此門有四,於中缺少中二。應為: +​一、明緣總、別(法止觀) +​二、明小、大、無量 +​三、明齊何名得 +​四、明通達​​及得 +​ +​​​大正藏 文有錯漏,而依 中華藏,文又難解,為何 小、大、無量,又分總、別? 根據 圓測疏: +​​​自下第三釋緣總法差別門。於中有三。初明緣小總等差別門。次明得緣總法具緣門。後辨得與通達位地門。​ +​——小、大、無量 都是緣總法,不是緣別法。​ +故此處應為: +一、明緣總、別 +​二、明小、大、無量​​ +​ +​​【……】處,​應補入 前文 勝義諦相品 中 ​​竄入之文字(大正藏 版): +​ +​​​“二明總中小大無量。三明中小大無量。三明齊何名得。四明通達及得。初中景備同云。經說別法止觀復說緣總法止觀者。於十二部經別緣一一部經隨順真如等修於止觀名緣別法。若總十二部經思惟此法隨順真如等名緣總法。今解。於一一部內但緣小分名緣別法。若緣全部乃至具緣十二部名緣總法。言隨順趣向修入者。如次配聞思修慧也。若約位說。隨順是迴向已下。趣向是煖頂忍。修入是世第一法。修入初故也。次明小大無量。謂緣一部教法入真如總觀名緣小總法。若緣一分齊中十二部經名緣大總法。以十二部有眾多義。即如法華經自說一種十二部法。涅槃經中後說一種十二部界。華嚴經復說一種十二部事。故云若緣無量如來法教等隨順真如觀名緣無量總法止觀。第三明齊何名得緣總法止觀。問意齊何名得緣彼真如總法止觀。下答由五緣故當知名得者。即舉十地中五修所得五果以為五緣。由具此緣名得緣總真如法也。無著菩薩取此處文。攝論中說。何等五修。云何五果。一集總修。二無相修。三無功用修。四修熾盛修。五無喜足修。如此五修論體不異。於一念中隨義說五。謂集一切總為一聚簡要修習唯觀真如。即集總修為簡骨瑣事境總觀​​”​​ +​ + +#15 初中,1景備同云:經說別法止觀,復說緣總法止觀者, + +於十二部經,別緣一一部經,隨順真如等,修於止觀,名緣別法。 + +若總十二部經,思惟此法隨順真如等,名緣總法。 + +#15 2今解: + +於一一部內,但緣小分,名緣別法; + +若緣全部乃至具緣十二部,名緣總法。 + +#16 言隨順、趣向、修入者,如次配聞、思、修慧也。 + +若約位說,隨順是迴向已下,趣向是煖、頂、忍,修入是世第一法,修入初故也。 + +#12 2 明小、大、無量 + +#13 世尊!如說緣小總法奢摩他、毘鉢舍那,復說緣大總法奢摩他、毘鉢舍那,又說緣無量總法奢摩他、毘鉢舍那;云何名緣小總法奢摩他、毘鉢舍那?云何名緣大總法奢摩他、毘鉢舍那?云何復名緣無量總法奢摩他、毘鉢舍那? + +善男子!若緣各別契經乃至各別論義,為一團等作意思惟,當知是名緣小總法奢摩他、毘鉢舍那。 + +若緣乃至所受、所思,契經等法,為一團等作意思惟,非緣各別,當知是名緣大總法奢摩他、毘鉢舍那。 + +#14 若緣無量如來法教、無量法句文字、無量後後慧所照了,為一團等作意思惟,非緣乃至所受所思,當知是名緣無量總法奢摩他、毘鉢舍那。 + +#15 次明小、大、無量。 + +謂緣一部教法,入真如總觀,名緣小總法。 + +若緣一分齊中,十二部經,名緣大總法,以十二部有眾多義。即如《法華經》自說一種十二部法,《涅槃經》中後說一種十二部界,《華嚴經》復說一種十二部事,故云。 @ + +> 中華藏:《涅槃經》中復說 + +若緣無量如來法教等,隨順真如觀,名緣無量總法止觀。 + +#12 3 明齊何名得緣總法止觀 + +#13 世尊!菩薩齊何名得緣總法奢摩他、毘鉢舍那?善男子!由五緣故、當知名得: + +一者、於思惟時,剎那剎那融消一切麁重所依; + +二者、離種種想,得樂法樂; + +三者、解了十方無差別相無量法光; + +四者、所作成滿相應淨分,無分別相,恒現在前; + +#14 五者、為令法身得成、滿故,攝受後後轉勝妙因。 + +#15 第三明齊何名得緣總法止觀。問意:齊何名得緣彼真如總法止觀。下答:由五緣故當知名得者,即舉十地中,五修所得五果,以為五緣,由具此緣,名得緣總真如法也。 + +#16 無著菩薩取此處文,《攝論》中說:何等五修?云何五果?一集總修。二無相修。三無功用修。四修熾盛修。五無喜足修。如此五修,論體不異,於一念中,隨義說五。 + +> 中華藏:隨意說五。 + +謂集一切總為一聚,簡要修習,唯觀真如,即集總修。 + +為簡骨瑣事境,總觀【……】說無相修,出離眾相,真法界中,遣界差別而修習故。 + +無相修中,通有功用及無功用。今顯此修是無功用。 + +無功用中,勝劣不定,今欲明勝,說熾盛修。 + +惑雖熾盛,於小所得,便生喜足,故最後說,無喜足修。 + +> 中華藏:或雖熾盛, +​ + +#16 言五果者,即是此中所辨五緣是。五修果者, + +於思惟時,剎那剎那融消一切麁重所依者,是總修果。由總修故,念念斷除,除麁重所依。麁重所依即是阿賴耶識。 + +二者、離種種想,得樂法樂者,是無相修果,離我、離法佛等相想,證於法界。於中,喜悅名為法樂,《攝論》中說得法園樂。 + +三者、解了十方無差別相無量光者,是無功用修果。由正證得無功用修,出觀後智,如先照了十方世界無差別相,名法光明。 + +四者、所作成滿相應淨分無分別相恒現在前者,是熾盛修果。當來佛果名為成滿,相應淨分,此熾盛修為引彼故,無分別相恒現在前。 @ + +> 註:相應淨分 如何斷句,參考 圓測疏。 + +五者、為令法身得成滿故攝受後後轉勝妙因者,是無喜足修果。第十地名成,在佛名滿,感此之因,名為勝妙。前前諸因所招集故,名攝受後後轉勝妙因。 + +#12 4 明通達及得 + +#13 世尊!此緣總法奢摩他、毘鉢舍那,當知從何名為通達?從何名得?善男子!從初極喜地,名為通達;從第三發光地,乃名為得。善男子!初業菩薩,亦於是中隨學作意、雖未可歎;不應懈廢。 + +第四、明通達。及從初極喜地,名為通達;從第三發光地,乃名為得者,此緣總法所修止觀,由證理盡故。 + +言從初地已去名為通達,約相而說,三地得定故,言從第三地已去乃名為得,初業菩薩至不應懈怠者,地前菩薩亦學觀真如,學觀唯識、三無性等,雖未可歎,不應懈癈觀勤修。 + +> 中華藏:不應懈癈止觀勤修。 + +#11 10 三地門 + +#12 1 初復次 + +#13 世尊!是奢摩他、毘鉢舍那,云何名有尋有伺三摩地?云何名無尋唯伺三摩地?云何名無尋無伺三摩地? + +善男子!於如所取尋伺法相,若有麁顯領受觀察,諸奢摩他、毘鉢舍那,是名有尋有伺三摩地。 + +若於彼相,雖無麁顯領受觀察,而有微細彼光明念,領受觀察,諸奢摩他、毘鉢舍那,是名無尋唯伺三摩地。 + +#14 若即於彼一切法相,都無作意,領受觀察,諸奢摩他、毘鉢舍那,是名無尋無伺三摩地。 + +#15 1景: + +#16 初釋止觀, + +於如所取尋伺法相,行有麁細,為前二種。 + +若即於彼一切法相都無作意,領受觀察名無尋無伺者,此學觀真如無分別觀,名無尋伺。 + +此三並在地前。就行分三,不約欲界、初禪等地辨也。 + +#12 2 第二復次 + +#13 復次善男子! + +若有尋求奢摩他、毘鉢舍那,是名有尋有伺三摩地。 + +若有伺察奢摩他、毘鉢舍那,是名無尋唯伺三摩地。 + +#14 若緣總法奢摩他、毘鉢舍那,是名無尋無伺三摩地。 + +第二解中,以四尋思為初句,四如實知為第二句,無分別智為第三,亦不約地辨也,但就行論三。 + +> 註:對比 前文 7 幾種門,此為加行道以上。 + +#13 2泰云: + +前之復次,約行分別,故通三界; + +後之復次,約地分別,還同《本地分》中義。 + +#11 11 三相門 + +#12 世尊!云何止相?云何舉相?云何捨相? + +善男子!若心掉舉、或恐掉舉時,諸可厭法作意、及彼無間心作意,是名止相。 + +若心沈沒、或恐沈沒時,諸可欣法作意、及彼心相作意,是名舉相。 + +#13 若於一向止道、或於一向觀道、或於雙運轉道,二隨煩惱所染污時,諸無功用作意、及心任運轉中所有作意,是名捨相。 + +#14 第十一三相門, + +#15 1景云: + +言若心掉舉至是名止相者,若心掉舉或對掉境起時,緣所厭法作意思惟,及緣厭心自類相續作意思惟,是名止相。 + +言若心沈沒至是名舉相者,若心沈沒或對沈境,恐沈沒時,緣可欣法作意思惟,或緣彼心自類相續,是名舉相。 + +言若於一向止道至是名捨相者,若一向止、一向觀及雙運道,二隨煩惱等,并是捨障。今離彼障,而有無功用作意,及心任運轉中所有作意,名為捨相。 + +2泰云:定名止相,緣彼前滅及無間,無不樂、觀相分境故,得止掉舉。@ + +> 註:此似有脫文,應說:不樂觀,不觀相分境。 + +#11 12 知法知義門 + +#12 1 問 + +#13 世尊!修奢摩他、毘鉢舍那諸菩薩眾,知法知義,云何知法?云何知義? + +第十二知法義門,先問;後答。答中,先辨知法;後辨知義。 + +#12 2 答 + +#13 1 辨知法 + +#14 善男子!彼諸菩薩由五種相、了知於法:一者、知名,二者、知句,三者、知文,四者、知別,五者、知總。 + +云何為名?謂於一切染淨法中,所立自性、想假施設。 + +云何為句?謂即於彼名聚集中,能隨宣說諸染淨義,依持建立。 + +云何為文?謂即彼二所依止字。 + +云何於彼各別了知?謂由各別所緣作意。 + +云何於彼總合了知?謂由總合所緣作意。 + +> 註:此中總、別,是說起句、起名之心。參考後文 智見差別門。 + +#14 如是一切、總略為一,名為知法。如是名為菩薩知法。 + +#15 知法中,1景云: + +名詮自相,故上《論》云:自性增言。 + +句詮諸法無常等差別之義,故上《論》云:句者,差別增言。 + +字能能戀和名之與句,名所依止。 + +> 中華藏:字能戀和,名之與句 + +謂由各別所緣作意者,即起名心。 + +謂由總合所緣作意者,起句之心。後之二種發教法心,文名為法。@ + +> 註:文名為法? + +​​參考 瑜伽卷52: +​ +復次云何 名身?謂依諸法自性施設、自相施設,由遍分別,為隨言說,唯建立 +想,是謂名身。 +云何 句身?謂即依彼自相施設所有諸法差別施設,建立功德、過失,雜染、清 +淨、戲論,是謂句身。 +云何 文身?謂名身、句身所依止性,所有字身,是謂文身。 +​​​ + +2泰云:所詮染淨義,依名、句故,能詮義立,故云依持建立。文即是俗語,今將俗字,顯彼教字,故即彼名、句二所依字。 + +> 中華藏:名、句二所依止字 + +#13 2 辨知義 + +#14 1 由十種相了知於義 + +#15 善男子!彼諸菩薩、由十種相、了知於義:一者、知盡所有性,二者、知如所有性,三者、知能取義,四者、知所取義,五者、知建立義,六者、知受用義,七者、知顛倒義,八者、知無倒義,九者、知雜染義,十者、知清淨義。 + +#16 善男子!1盡所有性者:謂諸雜染清淨法中,所有一切品別邊際,是名此中盡所有性。如五數蘊、六數內處、六數外處,如是一切。 + +知十種中,一、知盡所有性,即染淨法品別邊際: + +#16 2如所有性者:謂即一切染淨法中所有真如。是名此中如所有性。此復七種: + +#17 二、知如所有性,即諸法如。下辨七種真如。 + +1基師等云:《中邊分別論》亦明此七。 + +2舊人說云:《中邊論》中七真如者,正真如,隨其能詮,說為苦,說苦諦等。 + +3今解:此論意以苦諦等,名為真如,故名真如,體非真如也。若依此論,皆是真如,約詮以辨有七種。 + +> 中華藏:彼論意以苦諦等, + +4有釋:七種與法安立理趣屬當道理,即名真如。 + +一者、流轉真如;謂一切行無先後性。 + +二者、相真如;謂一切法補特伽羅無我性、及法無我性。 + +三者、了別真如;謂一切行、唯是識性。 + +四者、安立真如;謂我所說諸苦聖諦。 + +五者、邪行真如;謂我所說諸集聖諦。 + +六者、清淨真如;謂我所說諸滅聖諦。 + +#17 七者、正行真如;謂我所說諸道聖諦。 + +#18 此復七種。 + +一、流轉如,謂一切行無先後性者,諸行流轉,無始無終,故云諸行無先後性,辨此道理,即名真如; + +二、相真如,人法二種無我,是相,相體真如,名相真如,故下云:八者了知相真如義故,有補特伽羅無我相等,由畢竟空等為治; + +三、了別如,謂一切行唯是識性者,識體了別,了別識是諸法體相,名了別真如; + +四、安立如,謂苦諦者實苦,不可令樂,即名真如,餘三諦亦爾,四諦并是安立,苦最在初,得安立名,後三更施別號,可知。 + +當知此中由流轉真如、安立真如、邪行真如故,一切有情平等平等。 + +由相真如、了別真如故,一切諸法平等平等。 + +由清淨真如故,一切聲聞菩提、獨覺菩提、阿耨多羅三藐三菩提、平等平等。 + +#17 由正行真如故,聽聞正法、緣總境界勝奢摩他、毘鉢舍那所攝受慧,平等平等。 + +#18 下辨通局,於此七中, + +流轉、安立、邪行三如,眾生等有; + +二無我如、唯識如,諸法等有,通諸法故; + +清淨如,三乘等有,以三乘斷惑,同證擇滅,擇滅真如三乘同有; + +> 註:參考 如來成所作品,解脫身無別、法身有別。 + +由正行真如,止觀平等。 + +> 註:參考 分別瑜伽品,緣總、別。 + +此即顯示四種平等。 + +3能取義者:謂內五色處,若心意識、及諸心法。 + +4所取義者:謂外六處。又能取義,亦所取義。 + +#16 5建立義者:謂器世界;於中可得建立一切諸有情界。謂一村田、若百村田、若千村田、若百千村田,或一大地至海邊際、此百此千、若此百千,或一贍部洲、此百此千、若此百千,或一四大洲、此百此千、若此百千,或一小千世界、此百此千、若此百千,或一中千世界、此百此千、若此百千,或一三千大千世界、此百此千、若此百千,或此拘胝、此百拘胝、此千拘胝、此百千拘胝,或此無數、此百無數、此千無數、此百千無數,或三千大千世界、無數百千微塵量等、於十方面無量無數諸器世界。 + +五、建立義者,謂器世界。於中可得建立一切有情界等者,因器世界成受眾生,名為建立,即眾生界是所建立,此中意取能建立器,故文說言,謂一村田若百村田等。 + +6受用義者:謂我所說諸有情類,為受用故,攝受資具。 + +7顛倒義者:謂即於彼能取等義,無常計常、想倒、心倒、見倒;苦計為樂、不淨計淨、無我計我,想倒、心倒、見倒。 + +8無倒義者:與上相違、能對治彼,應知其相。 + +9雜染義者:謂三界中三種雜染:一者、煩惱雜染,二者、業雜染,三者、生雜染。 + +#16 10清淨義者:謂即如是三種雜染,所有離繫菩提分法。 + +餘文可知。 + +善男子!如是十種、當知普攝一切諸義。 + +#14 2 知五種義 + +#15 復次善男子!彼諸菩薩、由能了知五種義故,名為知義。何等五義?一者、遍知事,二者、遍知義,三者、遍知因,四者、得遍知果,五者、於此覺了。 + +善男子!1遍知事者:當知即是一切所知,謂或諸蘊、或諸內處、或諸外處、如是一切。 + +2遍知義者:乃至所有品類差別所應知境,或世俗故,或勝義故,或功德故,或過失故,緣故,世故,或生或住或壞相故,或如病等故,或苦集等故,或真如、實際、法界等故,或廣略故,或一向記故,或分別記故,或反問記故,或置記故,或隱密故,或顯了故,如是等類,當知一切名遍知義。 + +3言遍知因者:當知即是能取前二、菩提分法,謂諸念住、或正斷等。 + +4得遍知果者:謂貪、恚、癡斷毘柰耶,及貪、恚、癡一切永斷諸沙門果,及我所說聲聞、如來若共不共,世、出世間所有功德、於彼作證。 + +5於此覺了者:謂即於此作證法中,諸解脫智、廣為他說宣揚開示。 + +#15 善男子!如是五義,當知普攝一切諸義。 + +#16 五義中, + +遍知事者,知諸法體。 + +遍知義者,即知差別之義。緣故者,四緣。世故者,三世。 + +#17 言遍知因者:當知即是能取前二菩提分法等者, + +> 註:根據此文,經論原文第三 “遍知” 應為 遍知因。 + +#18 1泰云: + +四念住為一,四正斷及神足、力、覺、道總作一。此二能取得菩提故言二。 + +又解:三十七品,緣前二境故言二。 + +2景云:前說無上菩提及二乘菩提,故云前二菩提也。 + +#17 得遍知果者: + +謂貪恚癡斷,毘奈耶者,貪等永調伏義。 + +又貪等永斷諸沙門果者,擇滅斷德。 + +及聲聞如來若共不共世出世德者,即有為道諦中,道品名共,十力等名不共。 + +> 註:參考後文 因果門。 + +於此覺了者,謂即於此滅、道,作證法中,諸解脫智,既自覺了,為他開示覺了於他,名為覺了。 + +#14 3 知四種義 + +#15 復次善男子!彼諸菩薩,由能了知四種義故,名為知義。何等四義? + +一者、心執受義, + +二者、領納義, + +三者、了別義, + +四者、雜染清淨義。 + +#15 善男子!如是四義,當知普攝一切諸義。 + +#16 知四義中, + +#17 1景云: + +一、心執受義者,謂知自心於境所執取,如下文說。 + +> 註:下文說:一切細相皆能棄捨。 + +二、領納義者,知彼三受領納之義。 + +三、知了別義者,知識了別義。 + +2泰云:即四念住境,如次為四義。 + +> 註:身、受、心、法。 + +#14 4 知三種義 + +#15 復次善男子!彼諸菩薩、由能了知三種義故,名為知義。何等三義?一者、文義,二者、義義,三者、界義。 + +#16 善男子!言1文義者,謂名身等。 + +知三義中,一、文義者,教; + +#16 2義義者,當知復有十種: + +一者、真實相, + +二者、遍知相, + +三者、永斷相, + +四者、作證相, + +五者、修習相, + +六者、即彼真實相等品差別相。 + +七者、所依能依相屬相, + +八者、即遍知等障礙法相, + +九者、即彼隨順法相, + +#17 十者、不遍知等及遍知等過患功德相。 + +#18 二、義義者,所詮,即有十種。 + +一、真實相者,即諸法真如, + +次四即四諦; + +六、即彼真實相等品差別相者,即前五義,一一各有品類差別; + +七、所依能依相屬相者,義是所依,名是能依,相屬相。 + +八者、即遍知等障礙法相者,即四諦下惑。 + +九、即彼隨順法相者,即隨順彼四諦下惑,諸行之相。 + +十、不遍知等及遍知等德。 + +#16 言3界義者,謂五種界: + +一者、器世界, + +二者、有情界, + +三者、法界, + +四者、所調伏界, + +#17 五者、調伏加行界。 + +#18 三界義者,謂五種界。 + +一、器世界,即所住之處; + +二、有情界,即能住有情; + +法界,即是所說法門,謂蘊、界、處等; + +四、調伏界,即滅諦涅槃; + +五、調伏方便界者,即是道諦。 + +又:調伏界是聖道,調伏方便界是見道前方便。依此後釋,涅槃即入法界中收。 + +善男子!如是五義,當知普攝一切諸義。 + +#11 13 三慧門 + +#12 世尊!若聞所成慧了知其義,若思所成慧了知其義,若奢摩他、毘鉢舍那修所成慧了知其義,此何差別? + +善男子!聞所成慧、依止於文、但如其說,未善意趣,未現在前,隨順解脫、未能領受成解脫義。 + +思所成慧、亦依於文、不唯如說,亦善意趣,未現在前,轉順解脫、未能領受成解脫義。 + +若諸菩薩修所成慧,亦依於文、亦不依文,亦如其說、亦不如說,能善意趣,所知事同分三摩地所行影像現前,極順解脫、已能領受成解脫義。 + +#12 善男子!是名三種知義差別。 + +#13 第十三、三慧門中, + +#14 1景云: + +聞所成慧,依文比度,但如其說,未善文下意趣,未現證知,即非現量,但比量。但遠隨順涅槃解脫,未現領受解脫義利。 + +思所成慧,亦依於文,不唯如說,亦善意趣,未現證知。勝前聞慧,名為轉順,雖勝聞慧,亦未現受解脫義利。 + +修所成慧,亦依於文亦不依文,亦如其說亦不如說,據有漏修慧及後得智,緣理及事影像相,起現前,故云能善意趣所知事同分三摩地所行影像。三慧中勝,名極順解脫。又能領受解脫義利。 + +不同《毘曇》:聞慧依教,思慧或依教或離教,修慧一向離教。如三人學浮:一者、近岸;二者、或近或離;三者、一向離岸。 + +《俱舍》破云:思若依教不異聞慧,思若離教不異修慧。應云:聞慧依教而不能思,思依教而能簡擇。 + +2備云:今此文中,三慧能緣於教,然修慧緣發,據遠非近。@ + +> 註:緣發教法之心? + +#11 14 智見差別門 + +#12 世尊!修奢摩他、毘鉢舍那諸菩薩眾,知法、知義,云何為智?云何為見?善男子!我無量門宣說智、見二種差別,今當為汝略說其相。 + +若緣總法,修奢摩他、毘鉢舍那所有妙慧,是名為智; + +#13 若緣別法,修奢摩他、毘鉢舍那所有妙慧,是名為見。 + +#14 第十四智見差別門。 + +若緣理總法妙慧名智, + +若緣事別法妙慧名見,以隨事推求,故得見名。 + +> 註:此說理、事,不同於前文 緣、總別法止觀,可參考:以五種相,了知於法(起句、起名之心)。 + +#11 15 遣相方執門 @ + +> 註:方執? + +#12 1 明作意除相 + +#13 世尊!修奢摩他、毘鉢舍那諸菩薩眾,由何作意、何等、云何除遣諸相? + +#14 初云: + +修止觀菩薩、由何作意者,是第一問,由何作意而修止觀? + +言何等者,是第二問,二問彼所除何等法耶? + +> 中華藏:問彼所除何等法耶? + +云何除遣者,第三問,問能除遣作何觀行? + +下答: + +#14 善男子!由真如作意, + +由緣真如作意,是答初問,由緣真如作意而修止觀。 + +#14 除遣法相及與義相。 + +言除遣法相及與義相者,第二問,除遣何等。今答:緣如修止觀時,除遣法相及與義相,即除相分。此文即說正證知時,不變影像似真如相。 + +#14 若於其名及名自性,無所得時,亦不觀彼所依之相,如是除遣。 + +言若於其名等已下者,答第三問,云何觀行除遣諸相。今答:先於地前,尋思、如實,種種推求,知名等假;今入見道,證真如時,境智平等無分別行,不得名、性,不得名所依。唯識門中,名依於識,識是所依,故曰:若於其名及名自性,無所得時,亦不彼所依之相,如是除遣。 + +#14 如於其名,於句、於文;於一切義,當知亦爾。 + +言如於其名至亦爾者,此即就前五相知法,謂知名、知句、知文等;及十相知義。故今類況,如於其名,於句、於文;於一切義,當知亦爾。 + +#14 乃至於界及界自性無所得時,亦不觀彼所依之相,如是除遣。 + +言乃至於界至如是除遣者,於上文中,初以五相知法,十種知義,復知五義,復知四義,復知三義。三義者,一是文義,二是義義,三是界義,界義即是器世界等五界故。地前菩薩作此五種界觀,亦唯是識,識為所依。故云乃至於界及界自性無所得時,亦不觀彼所依之相,如是除遣。 + +> 中華藏:二義者, +(疑誤)​ + +#12 2 明真如無相,故無所遣 + +#13 世尊!諸所了知真如義相,此真如相亦可遣不?善男子!於所了知真如義中,都無有相,亦無所得,當何所遣?善男子!我說了知真如義時,能伏一切法、義之相,非此了達、餘所能伏。 + +次辨證如無相,故無所遣。問意:無分別智正證真如,此真如相可除遣不?答意:若正證時,見有如相、有所得者,即有所遣;而於所了真如義中,都無有相、亦無所得,當何所遣?此文即說,證智無有相分,相分無故,亦無見分。 + +> 註:一解無見分,二解有見分。 + +#14 又解:有見無相。 + +言我說了知至非此了達餘所能伏者,未證已前,取法、義相;正證如時,伏前所取法、義之相。 + +非此正證了達如時,更有諸相,為餘能伏,故言非此了達餘所能伏。 + +#12 3 釋通經文 + +世尊!如世尊說濁水器喻、不淨鏡喻、撓泉池喻、不任觀察自面影相;若堪任者,與上相違。如是若有不善修心,則不堪任如實觀察所有真如;若善修心、堪任觀察。此說何等能觀察心?依何真如而作是說? + +#13 善男子!此說三種能觀察心:謂聞所成能觀察心,若思所成能觀察心,若修所成能觀察心。依了別真如、作如是說。 + +下釋通經文。世尊乃至此說何等能觀察心者,問能觀體。依何真如而作是說者,問所觀如。 + +#14 下答:三慧是能觀察。依了別真如作如是說者, + +喻中,既說清水、淨鏡、不撓泉池,堪觀面像時,知 + +合中,若善修心,堪觀真如者,知是唯識了別真如,以唯識門,一切境界皆是心影,初觀境唯識,後觀識如,名了別如, + +故云依了別真如作如是說。 + +#11 16 依空遣相門 + +#12 1 明十相空觀除遣 + +#13 1 明十七空除遣十相 + +#14 世尊!如是了知法義菩薩,為遣諸相勤修加行,有幾種相難可除遣?誰能除遣?善男子!有十種相、空能除遣。何等為十? + +問中,有幾種相難可除遣,是第一問。誰能除遣,是第二問。善男子有十種相者,答初問。空能除遣,答第二問。須知十相并是遍計所執,皆觀空除遣。 + +#15 一者、了知法、義故,有種種文字相;此由1一切法空、能正除遣。 + +一者、執諸行義決定是有,即觀一切法空除遣,以所執法、義,收一切法故,觀一切法空除遣; + +#15 二者、了知安立真如義故,有生、滅、住、異性,相續隨轉相;此由2相空、及3無先後空、能正除遣。 + +> 註:參考 前文 知法、知義。 + +#16 二者、苦等四諦并是安立,苦諦在初故標安立。此中舉如,取安立苦,此有二執。 + +一、執苦有生滅住異性,此觀相空除遣。 + +二、執苦有相續隨轉,觀無先後空,能正除遣。遍計所執本無,故無先後遣。 + +#15 三者、了知能取義故、有顧戀身相、及我慢相;此由4內空、及5無所得空、能正除遣。 + +#16 三者、 + +由了知六根能取,即有顧戀執著內身,觀內空除遣。 + +由執我有,故起我慢,觀無所得空能正除遣,無我可得,云何起慢? + +#15 四者、了知所取義故、有顧戀財相;此由6外空、能正除遣。 + +四者如文可知。 + +#15 五者、了知受用義、男女承事資具相應故、有內安樂相、外淨妙相;此由7內外空、及8本性空、能正除遣。 + +#16 六者、 + +> 中華藏:五者、 + +執有內安樂相,由內空遣;執外塵淨,由外空遣; + +執有男女承事資具相應,由本性空遣;亦可由性空,通遣內樂、外淨等執。 + +#15 六者、了知建立義故、有無量相;此由9大空、能正除遣。 + +六者、了知外器世界建立有情,即便執有十方無量之相,由大空遣。 + +#15 七者、了知無色故、有內寂靜解脫相;此由10有為空、能正除遣。 + +七者、執彼四空以為解脫,以有為空遣。 + +#15 八者、了知相真如義故、有補特伽羅無我相、法無我相,若唯識相,及勝義相;此由11畢竟空、12無性空、13無性自性空、及14勝義空、能正除遣。 + +#16 八者、 + +若執二無我相,以畢竟空除; + +若執唯識相,無性空治; + +若執依他為勝義相,由無性自性因性空治; + +若執圓成實為異勝義,此由勝義空治。 + +#15 九者、了知清淨真如義故、有無為相、無變異相;此由15無為空、16無變異空、能正除遣。 + +執者如文。 + +> 中華藏:九者如文。 + +#15 十者、即於彼相對治空性作意思惟故、有空性相;此由17空空、能正除遣。 + +十者、執有前九能治空性,即觀空空為治,謂觀能除空性亦空。 + +#13 2 明空所得果 + +世尊!除遣如是十種相時、除遣何等?從何等相而得解脫? + +#14 善男子!除遣三摩地所行影像相;從雜染縛相而得解脫;彼亦除遣。 + +次明空所得果。問意:除遣上說十種遍計所執相時,更除何等,復從何相而得解脫?答意:觀空除遣遍計所執十種相時,空觀心中,仍有依他似空影像,隨空心現。從此空觀,入於證智,即除似空影像相分,相分既除,即從一切雜染相縛種子解脫,執解脫心亦皆遠離,故言被亦除遣。 + +#13 3 明空觀除相道理 + +#14 善男子!當知就勝、說如是空、治如是相;非不一一治一切相。譬如無明,非不能生乃至老死諸雜染法;就勝、但說能生於行,由是諸行親近緣故。此中道理、當知亦爾。 + +下明空觀除相道理,一一空觀皆除十相,而說初空、治初相等者,就勝而說,此即相當近對治說,非不一一觀、治一切相。 + +喻況可知。 + +#12 2 辨總空性相 + +#13 1 先問 + +世尊!此中何等空是總空性相? + +#13 2 後答 + +#14 1 先讚問許說 + +若諸菩薩了知是已、無有失壞於空性相、離增上慢。 + +#14 2 後上答問 + +> 中華藏:後正答問 + +爾時世尊嘆慈氏菩薩曰:善哉!善哉!善男子!汝今乃能請問如來如是深義、令諸菩薩於空性相無有失壞。何以故?善男子!若諸菩薩於空性相有失壞者,便為失壞一切大乘。是故汝應諦聽諦聽,當為汝說總空性相。 + +#15 善男子!若於依他起相及圓成實相中,一切品類雜染、清淨遍計所執相,畢竟遠離性,及於此中都無所得;如是名為於大乘中總空性相。 + +1景云:將迷依他、圓成,起遍計執,若悟依他及圓成實非所執法,知所執空,名總空性。 + +2泰云:別而言之,有十七空;總而言之,唯於依他及圓成實性相中,畢竟遠離遍計所執相,及此都無所得,攝大乘中一切空盡,故名總空。若了此空已即有二利:一、無失正行;二、離增上慢。 + +#11 17 攝幾門 + +#12 世尊!此奢摩他毘鉢舍那、能攝幾種勝三摩地?善男子!如我所說無量聲聞、菩薩、如來,有無量種勝三摩地,當知一切皆此所攝。 + +十七攝幾門,可知。 + +#11 18 因果門 + +世尊!此奢摩他、毘鉢舍那,以何為因?善男子!清淨尸羅、清淨聞思所成正見,以為其因。 + +世尊!此奢摩他、毘鉢舍那,以何為果?善男子!善清淨心、善清淨慧,以為其果。 + +#12 復次善男子!一切聲聞及如來等所有世間及出世間一切善法,當知皆是此奢摩他、毘鉢舍那所得之果。 + +第十八因果門。學地止觀,以淨尸羅及聞思正見以為其因,此是緣因。 + +> 註:《俱舍論》:將趣見諦道,應住戒勤修。 + +若止觀種子,以為正因。 + +止觀果者,即以佛地善淨心、慧,以為其果。又無學聲聞,及佛所有出世善法,皆是學在止觀之果。 + +> 中華藏:皆是學地止觀之果。 + +註:參考前文​ 五法知義。​ + +#11 19 作業門 + +#12 世尊!此奢摩他毘鉢舍那、能作何業?善男子!此能解脫二縛為業;所謂相縛、及麁重縛。 + +#13 第十九作業門,謂能解脫相縛及麁重縛。 + +麁重縛者,是諸煩惱見分種子, + +相縛,即是煩惱相分種子。 + +又現起相、見,亦是二縛。 + +#11 20 止觀障門 + +#12 1 辨五繫 + +#13 世尊!如佛所說五種繫中、幾是奢摩他障?幾是毘鉢舍那障?幾是俱障? + +善男子!顧戀身財、是奢摩他障; + +於諸聖教不得隨欲、是毘鉢舍那障; + +#14 樂相雜住、於少喜足、當知俱障。由第一故、不能造修;由第二故、所修加行不到究竟。 + +前中,顧戀身,顧戀財,是止障。 + +於聖法不得隨欲,果觀障。 + +> 中華藏:是觀障。 + +樂相雜住,及小欲喜足,不樂多修,俱障止、觀。由第一故不能造修者,樂相雜住。由第二故,所修加行不到究竟者,小欲喜足。 + +> 中華藏:及少欲喜足 +少欲喜足​ + +#12 2 辨五蓋 + +#13 世尊!於五蓋中、幾是奢摩他障?幾是毘鉢舍那障?幾是俱障? + +善男子!掉舉、惡作、是奢摩他障; + +惛沈、睡眠、疑、是毘鉢舍那障; + +#14 貪欲、瞋恚、當知俱障。 + +蓋障,如文。 + +#11 21 圓滿清淨門 + +世尊!齊何名得奢摩他道圓滿清淨?善男子!乃至所有惛沈、睡眠,正善除遣,齊是名得奢摩他道圓滿清淨。 + +#12 世尊!齊何名得毘鉢舍那道圓滿清淨?善男子!乃至所有掉舉、惡作,正善除遣,齊是名得毘鉢舍那道圓滿清淨。 + +第二十二圓滿清淨門,前辨惛沈、睡眠障觀,今言除遣惛沈、睡眠,心道滿者,因止發觀,止是因、觀是果,舉離果障,顯因圓滿。 + +> 中華藏:止道滿者, + +乃至所有掉舉、惡作,正善除遣,名觀道滿者,此亦舉離因障,顯果道滿。 + +#11 22 散動門 + +#12 世尊!若諸菩薩於奢摩他、毘鉢舍那現在前時、應知幾種心散動法?善男子!應知五種:一者、作意散動,二者、外心散動,三者、內心散動,四者、相散動,五者、麁重散動。 + +善男子!若諸菩薩捨於大乘相應作意,墮在聲聞獨覺相應諸作意中,當知是名1作意散動。 + +若於其外,五種妙欲,諸雜亂相,所有尋思隨煩惱中,及於其外所緣境中,縱心流散,當知是名2外心散動。 + +若由惛沈及以睡眠,或由沈沒、或由愛味三摩鉢底,或由隨一三摩鉢底,諸隨煩惱之所染污,當知是名3內心散動。 + +若依外相、於內等持所行諸相、作意思惟,名4相散動。 + +#13 若內作意為緣、生起所有諸受,由麁重身計我起慢,當知是名5麁重散動。 + +#14 第二十三散動門,止觀現前,有五散動心法。 + +一、作意散動,謂諸菩薩捨於大乘,隨在二乘作意; + +> 中華藏:墮在二乘作意 + +二、外散動,於外五欲所有尋,隨煩惱中者,取尋思為體。及於外境縱心流散,取散心王; + +> 中華藏:於外五欲所有尋思,隨煩惱中,取尋思為體。 + +三、內心散動,謂已離欲人,由惛沈等,乃至於定起愛味等,名內散動; + +四、相散動,謂於內定中所現影像,作意思惟,執內定外所取色相,名相散動; + +五、麁重散動,謂計定中喜樂以為我所,計麁重身為我,起慢,名麁重散動。 + +#11 23 治障門 + +世尊!此奢摩他、毘鉢舍那,從初菩薩地乃至如來地,能對治何障? + +#12 善男子!此奢摩他、毘鉢舍那, + +#13 於初地中、對治惡趣煩惱、業、生雜染障; + +第二十三治障門。初地除惡趣煩惱業生雜染障者,下七十八中,辨二十三愚癡:一、人法執;二、惡趣雜染者,通煩惱、業、生。 + +此中但有第二。《地論》云:凡夫我相障,但當初一。 + +#13 第二地中、對治微細誤犯現行障; + +第二地治微細誤執現行障,下明二地有二愚癡:一、微細誤執愚,二、種種業趣愚癡者,此見三業、三行差別愚。 + +> 中華藏:微細誤犯現行障, + +註:​但“一、微細誤執愚,”​也應作“一、微細誤犯愚,” +此見是無明,所知障中,俱生之一分。​ + +此中但有初一。《地論》云:邪行於眾身等障,即當第二。 + +#13 第三地中、對治欲貪障; + +三地治欲貪障,下說三地有二愚癡:一、欲貪障定;二、圓滿聞持陀羅尼愚癡。 + +此中但有初一。《地論》云:闇相,當欲貪;聞思修等法忌障,即當第二。 + +#13 第四地中、對治定愛及法愛障; + +四地治定愛及法一愛障者,三地求法投火坑等,故有法愛,總當下說二種,故下《論》云:四地有二愚:一、等持愛,二者法愛。 + +> 中華藏:及法愛障者 + +《地論》云:解法慢障,總不當二,愛、慢異故。又可由得勝定及解法故生慢,定是行法,及持教法生慢,總名解脫法慢障。 + +#13 第五地中、對治生死涅槃一向背趣障; + +五地治生死涅槃一向背趣障,與下二同,此中合一,下開背趣為二。 + +《地論》云:身淨我慢障,以心道品淨身,持之生慢故,於生死背、於涅槃向,與此大同。 + +#13 第六地中、對治相多現行障; + +#14 六地治相多現行障。五地中斷背、趣二愚,今六地斷多厭背心,以觀十二緣,相多現行,故斷相多現行障。下云六地有二愚: + +現前觀察諸行流轉愚癡者,五地不能現觀緣起名愚; + +二、相多現行愚癡,五地雖斷背、趣,而厭背相心多現行。 + +此中當第二。《地論》云:微煩惱習障者,總當二種,形前名微。@ + +> 註:形前名微? + +#13 第七地中、對治細相現行障; + +#14 七地治細相現行障者,七地所斷仍見微細生滅,名細相現行障。下《論》七地有二愚者, + +一、微細相現行,即當此說; + +二、無相作功用愚癡。七地於無相雖有功用,而長入真觀,六地不能障於七地,故七地中,斷無相作功用愚。 + +《地論》云:細相習障,亦當初一。 + +#13 第八地中、對治於無相作功用、及於有相不得自在障; + +八地治於無相功用及於有相不得自在障,下云八地有二愚癡。八地於無相無功用,於俗相中,利他有功,自利無功,七地不同,障八地。八地中斷:一、於無相作功用,二、於相自在愚。 + +彼與此中,開合為異。《地論》云:於無相有行障,但當初一。 + +#13 第九地中、對治於一切種善巧言詞、不得自在障; + +九地治於一切種善巧言詞不得自在障,下云九地有二愚癡:一、於無量說法無量法句文字後後慧辨陀羅尼自在愚,二、辨才自在愚。 + +彼與此中,開合為異。《地論》云:不能善利益眾生障。 + +#13 第十地中、對治不得圓滿法身證得障。 + +十地治不得圓滿法身證得障,下《論》云:十地有二愚癡:一、大神通愚癡,二、悟入微細祕密愚癡。 + +彼與此中,亦開合為異。《地論》云:十、於諸法中不得自在障,亦與此同。 + +#13 善男子!此奢摩他、毘鉢舍那,於如來地,對治極微細、最極微細煩惱障及所知障。由能永害如是障故、究竟證得無著、無礙一切智見;依於所作成滿所緣、建立最極清淨法身。 + +於如來地對治微細最極微細煩惱及所知障者,此二并是非想下下品,斷二障之法故,欲知著是煩惱障,礙是所知障,此文明證。 + +#14 由能永害如是障故,究竟證得無著無礙一切知見等者,下《論》云:如來地有二愚癡, + +一、於一切所知境極微細著愚癡,亦是非想煩惱下品; + +二、極微細礙愚癡,亦是非想所知下品。 + +#14 故與彼同,開合為異。《地論》雖不說有第十一障,然於第十、於諸法中不得自在障,即收佛微細著及微細礙,以於第十障中,就最細者義說障佛,論實還是金剛心斷。然於此義,有其兩解: + +一云:依舊《攝論》,於斷初地障,入於初。餘地例爾,又若《本業經》云:過第十地有等覺地住,於一萬三千劫中學此,即住等覺住,斷佛地障,始入妙覺。 + +一云:依此十一障文等,說智亦斷自障。@ + +> 註:此二解似同? + +#11 24 修證菩提門 + +#12 世尊!云何菩薩依奢摩他、毘鉢舍那勤修行故,證得阿耨多羅三藐三菩提?善男子!若諸菩薩已得奢摩他、毘鉢舍那,依七真如,於如所聞、所思法中,由勝定心,於善審定、於善思量、於善安立、真如性中,內正思惟。彼於真如正思惟故,心於一切細相現行、尚能棄捨,何況麁相。 + +#13 第二十四修證菩提門。言若諸菩薩已得止觀依七真如乃至內正思惟等者,地前加行位中,隨詮觀察七種真如,善審、善思、安立七種真如,如性中,內正思惟,由思惟故,一切細相皆能棄捨。謂隨諸心,影像相分。既息諸心,亦即棄捨隨心諸相。 + +泰云:此中七如,非圓成實。 + +又解:舊人依《中邊論》云:七種真如皆是真如,而言苦諦真如,苦諦者從能詮得名。@ + +> 註:參考前文苦諦:由十種相、了知於義。 + +#12 善男子!言細相者:謂心所執受相、或領納相、或了別相、或雜染清淨相、或內相、或外相、或內外相、或謂我當修行一切利有情相、或正智相、或真如相、或苦集滅道相、或有為相、或無為相、或有常相、或無常相、或苦有變異性相、或苦無變異性相、或有為異相相、或有為同相相、或知一切是一切已有一切相、或補特伽羅無我相、或法無我相。於彼現行、心能棄捨。 + +言心所執受、領納、了別、染淨相者,即四念住也。 + +#13 苦有變異、無變異相者, + +苦苦、壞苦,名領有變異; + +> 中華藏:名有變異 + +行苦,名無變異。 + +又解:變異是苦相,無變異是苦無實性也。 + +有為異相者,色、心等異故;同相者,苦、無常等同故。 + +或知一切是一切已有一切相者,知一切法既是一切,即有一切相也, + +#12 彼既多住如是行故,於時時間,從其一切繫蓋散動,善修治心。從是已後,於七真如,有七各別自內所證通達智生,名為見道。 + +彼既多住如是行故,善修治心,於七真如有七各別自內所證通達智生名為見道者,由於七如,各別自證為方便故,後入想觀,觀諸如,通達智生,名為見道,即入初地也。 + +#12 由得此故,名入菩薩正性離生;生如來家,證得初地。 + +由得此故名入菩薩正性離生,是入位過;生如來家者,此明家過。 + +> 註:十地經論:過有八種。 + +#12 又能受用此地勝德。 + +又能受用此地勝德,是餘六過。 + +#12 彼於先時,由得奢摩他、毘鉢舍那故,已得二種所緣:謂有分別影像所緣、及無分別影像所緣。 + +彼於先無時由得止觀故已得二種所緣謂有分別影像所緣及無分別影像所緣者,此文自判二種影像,是彼地前止觀所緣。 + +#12 彼於今時得見道故,更證得事邊際所緣。 + +彼於今時得見道故,更證得事邊際所緣者,此相明見、修,證第三所緣,今時且說見道所緣,即說真如,名事邊,以彼真如遍諸諦法,名諦邊際。此文即說,證智緣如,不變影像,若變似彼真如影像,即是無分別影像所收,云何判二影像所緣是地前耶?又見道所緣云何但名事邊際耶? + +> 註:前二種影像所緣是地前,皆是識變影像相分。 + +#12 復於後後一切地中、進修修道,即於如是三種所緣作意思惟。 + +復於後後一切地中進修修道即於如是三種所緣作意思惟者,此明修道智,緣事邊際,後智緣,變二種影像,故言修道於三所緣作意思惟。 + +#12 譬如有人,以其細楔、出於麁楔;如是菩薩依此以楔出楔加行、遣內相故,一切隨順雜染分相、皆悉除遣。相除遣故,麁重亦遣。 + +自下喻說,以其細楔出於麁楔,以勝道捨於劣道。 + +#12 永害一切相麁重故,漸次於彼後後地中,如煉金法、陶鍊其心,乃至證得阿耨多羅三藐三菩提,又得所作成滿所緣。善男子!如是菩薩、於內止觀,正修行故,證得阿耨多羅三藐三菩提。 + +漸漸除遣相及麁重,乃至證得阿耨菩提,此名證得無上等正覺。又得所作成滿所緣者,即判此境在於佛地,佛地所作皆悉成滿智境故,名所作成滿所緣。所緣何法?不離前三,如來證理所有止觀,緣諦邊際境,如來緣諦所有止觀是二影像,此三為佛止觀所緣,總名所作成滿所緣。 + +#11 25 引發威德門 + +#12 世尊!云何修行,引發菩薩廣大威德?善男子!若諸菩薩善知六處,便能引發菩薩所有廣大威德:一者、善知心生;二者、善知心住;三者、善知心出;四者、善知心增;五者、善知心減;六者、善知方便。 + +第二十五引發威德門,菩薩善知六處,便能引發廣大威德。 + +#13 云何1善知心生?謂如實知,十六行心,生起差別、是名善知心生。十六行心生起差別者: + +一、善知心生者,謂如實知十六種,漏、無漏心,生起差別。 + +#14 一者、不可覺知堅住器識生;謂阿陀那識。 + +一者、不可覺知者,賴耶行相難知,堅住相續,名堅住。器識生生者,能變能緣外器世界。謂阿陀那識者,此云執持,執持根大及諸法種子。 + +#14 二者、種種行相所緣識生, + +#15 謂頓取一切色等境界、分別意識, + +二者、種種行相所緣識生,謂頓取一切色等境界分別意識者,即是第六意識,隨作一種行解,頓取諸法,故言種種行相。 + +#15 及頓取內外境界、覺受, + +頓取色等及頓取內外境界、覺受者,自識頓取內外觸境,而生覺受。 + +#15 或頓於一念瞬息須臾、現入多定、見多佛土、見多如來、分別意識。 + +或頓一念,現入多定,見多佛土,見多如來,分別意識者,此據大地菩薩後智,在定,見多佛等,非正證智,故名分別。 + +三者、小相所緣識生;謂欲界繫識。 + +#14 四者、大相所緣識生;謂色界繫識。 + +三、四小大相所緣識生謂欲色繫識者,據緣二界內身,故有小大。 + +五者、無量相所緣識生;謂空、識無邊處繫識。 + +六者、微細相所緣識生;謂無所有處繫識。 + +#14 七者、邊際相所緣識生;謂非想非非想處繫識。 + +次三心,緣四無色。 + +#14 八者、無相識生;謂出世識、及緣滅識。 + +八者、無相識生謂出世識者,謂無漏識,無七種相,名無相識。 + +及緣滅識者,通漏、無漏心,緣無相境,名無相識。又解:及緣滅定識也。有本作減字,應是錯書。 + +九者、苦俱行識生;謂那落迦識。 + +十者、雜受俱行識生;謂欲行識。 + +十一、喜俱行識生;謂初二靜慮識。 + +十二、樂俱行識生;謂第三靜慮識。 + +#14 十三、不苦不樂俱行識生;謂從第四靜慮、乃至非想非非想處識。 + +次有五心,據三受俱行識。 + +十四、染污俱行識生;謂諸煩惱及隨煩惱相應識。 + +十五、善俱行識生;謂信等相應識。 + +#14 十六、無記俱行識生;謂彼俱不相應識。 + +後有三心,明染、淨、無記識。 + +云何2善知心住?謂如實知了別真如。 + +云何3善知心出?謂如實知,出二種縛,所謂相縛、及麁重縛。此能善知,應令其心從如是出。 + +云何4善知心增?謂如實知,能治相縛、麁重縛心,彼增長時、彼積集時,亦得增長,亦得積集,名善知增。 + +云何5善知心減?謂如實知,彼所對治相及麁重所雜染心,彼衰退時、彼損減時,此亦衰退、此亦損減,名善知減。 + +云何6善知加行?謂如實知,解脫、勝處、及與遍處、或修或遣。 + +#12 善男子!如是菩薩,於諸菩薩廣大威德,或已引發、或當引發、或現引發。 + +餘文可解。 + +#11 26 涅槃受門 + +世尊!如世尊說:於無餘依涅槃界中,一切諸受無餘永滅,何等諸受於此永滅? + +#12 善男子!以要言之,有二種受,無餘永滅。何等為二?一者、所依麁重受,二者、彼果境界受。 + +#13 第二十六涅槃受門,如文說無餘依中,二受永滅。 + +一者、所依麁重受者,內六根生受,名所依,體是有漏,由有煩惱麁重,不調柔性之所隨逐,名麁重故,名所依麁重受。 + +二者、彼果境界受者,謂外五麁,由內五根勢力引生,即是內根之果,是故說名彼境界受,依彼生故,名彼果境界受。道理此二受體未必有別,但約根、境,以分二受。 + +#13 1所依麁重受,當知有四種: + +一者、有色所依受, + +二者、無色所依受, + +三者、果已成滿麁重受, + +#14 四者、果未成滿麁重受。 + +果已成滿受者:謂現在受。 + +果未成滿受者:謂未來因受。 + +所依麁重受中,有四:一、有色所依,即五識受;二、無色所依,即意識受。即是身、心二受;三者、果已成滿麁重受,謂現在受;四者、果未成滿受,謂未來因受,即是業、煩惱,是未來受因,名為因受。 + +#13 2彼果境界受,亦有四種:一者、依持受,二者、資具受,三者、受用受,四者、顧戀受。 + +彼果境界受,亦有四種:一者、依持受,謂器世界是依持法,緣之生受,名依持受;二者、資具受,可知;三者、受用受,即二受,受用器世界及以資具,名受用受;四、顧戀受,顧戀財物之受。 + +#12 於有餘依涅槃界中,果未成滿受一切已滅;領彼對治明觸生受;領受共有、或復彼果已成滿受。 + +又二種受,一切已滅,唯現領受明觸生受。 + +#12 於無餘依涅槃界中般涅槃時,此亦永滅,是故說言於無餘依涅槃界中,一切諸受,無餘永滅。 + +#13 下約有餘、無餘涅槃界中,滅受多小。 + +#14 1景云: + +謂於有餘依涅槃界中果未成滿受一切已滅者,業、煩惱體,金剛心時已斷除訖,方得有餘。 + +領彼對治明觸生受者,領受盡、無生智相應受,是明觸生受。 + +領受共有者,領受共有器世界受,即依持受。略不言領資具、受用受。唯除顧戀,與貪相應故。 + +或復彼果已成滿受者,由已成滿受中,通有有麁重、無麁重。今無學身中,但有無麁重受,故言或也。略不言領有色所依受、無色所依受,以無學猶起故。 + +#15 第二文解, + +又二種受一切已滅,謂所依麁重受報、彼果境界受,皆已除斷。 + +> 註:前說有餘涅槃依時,二受中,皆已滅第四。果未成滿之未來因受已滅,果已成滿之有粗重受亦已滅,無粗重受仍有。顧戀受已滅,餘三仍有。今則說二種有漏受一切已滅。 + +唯現領受明觸生受,此據漏盡所有諸受,皆名明觸所生之受。 + +於無餘依涅槃界中般涅槃時此亦未滅者,隨前二說,有餘依中所有諸受,今入無餘,多小皆滅,如前應知。 + +> 中華藏:多少皆滅 + +#14 2泰云: + +#15 於有餘依中,未來報不受,未來因亦捨,如聖人生無色界已,不成就眼根種子;又如無學將命終時,不成就十八界種子,唯彼人領彼能治無漏明觸。自餘六受,通凡及聖,故云共有,無學人亦領受餘六共有受,如根惡業所受,或時唯無學人受,故云或。於此文中西方二釋,@ + +> 註:有餘依涅槃仍有六受者:有色所依受、無色所依受,以及四種彼果境界受,皆是共有。 + +第一釋,前滅定前,但滅一受,餘七不滅,今據將入無餘時,於滅定中命終,故在滅定時,六識八受皆滅。@ + +> 註:若依此釋,一受為有色所依受,如滅定則滅無色所依受,六識滅。然而入滅定怎會命終? +若依二釋,參考 圓測疏,一受為果未成滿受。 + +第二釋,前據麁重所隨,故名共有,但滅其一;後據無學而無漏,故唯有明受;八受滅,釋名為無漏;前八種受,一向有漏,故云一切已滅。然癈未就本,故云一種。一釋入無餘滅時,滅餘八受,而言有無漏受者,是入定近方便故,且不論滅。 + +> 中華藏:然癈末就本 + +#10 2 述讚勸學 + +#11 爾時世尊說是語已,告慈氏菩薩曰:善哉!善哉!善男子!汝今善能依止圓滿最極清淨妙瑜伽道,請問如來。汝於瑜伽,已得決定最極善巧;吾已為汝宣說圓滿最極清淨妙瑜伽道。所有一切過去未來正等覺者,已說當說,皆亦如是。諸善男子、若善女人,皆應依此勇猛精進,當正修學。 + +如文,可知。 + +#9 2 重頌 + +爾時世尊欲重宣此義、而說頌曰: + +1於法假立瑜伽中,若行放逸失大義; + +依止此法及瑜伽,若正修行得大覺、 + +2見有所得、求免難,若謂此見為得法; + +慈氏!彼去瑜伽遠,譬如大地與虛空。 + +3利生堅固而不作,悟已、勤修利有情; + +智者作此窮劫量,便得最上離染喜。 + +4若人為欲而說法;彼名捨欲、還取欲。 + +愚癡得法無價寶,反更遊行而乞匃。 + +5於諍諠雜戲論著,應捨,發起上精進。 + +#10 為度諸天及世間、於此瑜伽汝當學。 + +#11 頌中有五, + +初一頌,明有違順即招得失; + +第二頌中,教修無相自利之行; + +第三頌中,教修無相利他之行; + +第四頌中,明染心說法唐捐其功; + +第五頌中,勸捨戲論修學瑜伽。 + +#8 2 請立經名,時眾得益 + +#9 爾時慈氏菩薩復白佛言:世尊!於是解深密法門中、當何名此教?我當云何奉持?佛告慈氏!此名瑜伽了義之教,於此瑜伽了義之教、汝當奉持。說此瑜伽了義教時、於大會中、有六百千眾生、發阿耨多羅三藐三菩提心;三百千聲聞、遠塵離垢,於諸法中得法眼淨;一百五十千聲聞、諸漏永盡,心得解脫;七十五千菩薩、獲得廣大瑜伽作意。 + +#10 下明請立經名,時眾獲益,就聲聞益中,《釋論》二解: + +或一音各得解, + +或聞此教中,人無我理,故得解脫。 + +#6 6 觀自在菩薩問諸地義 + +> 大正藏 No. 1828 瑜伽論記 +瑜伽論記卷第二十一 +釋遁倫集撰 +論本七十八​ + +中華藏 瑜伽師地論記 卷第八十五​​ + + +#7 1 標宗指經 + +#8 復次依乘假立、分別解說如實大乘,當知如《解深密經》中, + +前中,言復次依乘假立分別解說如實大乘等者,依大乘中約修行位,假立十地等。 + +#7 2 正引其文 + +#8 1 問答正辨諸地之義 + +#9 1 長行 + +#10 1 辨地義(六段) + +#11 1 辨攝義 + +#12 1 問 + +#13 觀自在菩薩白佛言:世尊!如佛所說菩薩十地,所謂極喜地、離垢地、發光地、焰慧地、極難勝地、現前地、遠行地、不動地、善慧地、法雲地;復說佛地、為第十一。如是諸地、幾種清淨?幾分所攝? + +問中,觀自在菩薩者,舊云觀世音,此譯家錯。又舊翻《藥師經》中,名為觀世音自在,但乘世音字。今準梵語,翻名觀自在。其問有二。一、問清淨;二、問分攝。 + +> 中華藏:但剩世音字 + +#12 2 答 + +#13 1 總答 + +佛告觀自在菩薩曰:善男子!當知諸地、四種清淨,十一分攝。 + +#13 2 徵問別解(缺解2) + +#14 1 釋四種清淨 + +#15 云何四種清淨能攝諸地? + +謂增上意樂清淨、攝於初地; + +增上戒清淨、攝第二地; + +增上心清淨、攝第三地; + +增上慧清淨、於後後地轉勝妙故,當知能攝從第四地乃至佛地。 + +#15 善男子!當知如是四種清淨普攝諸地。 + +於中,初釋四種清淨,可知。 + +#14 2 釋十一分攝 + +#15 云何十一種分能攝諸地? + +次釋十一分攝,謂十一地,名十一分。一一地中,初明自分滿,二明勝進分未圓滿。 + +#16 謂諸菩薩先於勝解行地,依十法行、極善修習勝解忍故,超過彼地、證入菩薩正性離生;彼諸菩薩、由是因緣、此分圓滿。1 + +#17 先於勝解行地、依十法行、極善修習等者, + +1景云:十法行則是書、持、供養、自讀、施他等,亦可雖在地前仰學十地之行,名十法行極善修等。 + +2泰云:先於地前,依書持等十種行,修勝解忍故,入初地分。 + +又解:十度名十法。 + +而未能於微細毀犯誤現行中、正知而住;由是因緣、於此分中猶未圓滿。為令此分、得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。2 + +而未能得世間圓滿等持等至、及圓滿聞持陀羅尼;由是因緣、於此分中猶未圓滿。為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。3 + +#16 而未能令隨所獲得菩提分法、多修習住,心未能捨諸等至愛、及與法愛;由是因緣、於此分中猶未圓滿。為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。4 + +三地菩薩心未能捨諸等至愛,及學法愛者,障於四地,未得名已圓滿,《地論》名解法障。 + +乃至此分圓滿者,四地圓滿。 + +#16 而未能於諸諦道理、如實觀察;又未能於生死涅槃、棄捨一向背趣作意;又未能修方便所攝菩提分法;由是因緣、於此分中猶未圓滿。為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。5 + +而未能於諸諦道理如實觀察者,未得五地諦觀。 + +又未能捨背趣之心未能修方便等者,五地通達生死苦而能恒入,通達涅槃樂而不速求,是二方便,四地未得。為令已下,五地圓滿。 + +#16 而未能於生死流轉、如實觀察;又由於彼多生厭故、未能多住無相作意;由是因緣、於此分中猶未圓滿。為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。6 + +而未能於生死流轉如實觀察者,六地能觀緣起流轉,五地不得。 + +又由於彼多生厭故,未能多住無相作意者,七地長入真如無相作意,六地雖不長入而能多住無相作意,五地菩薩於生死苦多生厭故,不能多住無相作意也。 + +#16 而未能令無相作意、無缺無間多修習住;由是因緣、於此分中猶未圓滿。為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。7 + +而不能令無相作意,無缺無間多修習住者,未得七地長入真觀。 + +#16 而未能於無相住中、捨離功用;又未能得於相自在;由是因緣、於此分中猶未圓滿。為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。8 + +而未能於無相住中,捨離功用者,七地未得八地無相無功用。又未能得於相自在者,八地菩薩於俗諦相雖有功用,而隨分自在七地未得也。 + +#16 而未能於異名、眾相、訓詞差別、一切品類宣說法中、得大自在;由是因緣、於此分中猶未圓滿。為令此分得圓滿故,精勤修習、便能證得。彼諸菩薩、由是因緣、此分圓滿。9 + +#17 未能於異名眾相訓詞差別下,明未得九地無礙解德。 + +異名者,法無礙。 + +眾相者,義無礙。 + +訓詞差別者,無礙。 + +> 中華藏:訓詞差別者,詞無礙。 + +一切品類宣說法中得大自在者,樂說無礙。 + +八地未得,名為未能也。 + +#16 而未能得圓滿法身現前證受;由是因緣、於此分中猶未圓滿。為令此分得圓滿故,精勤修習、便能證得;彼諸菩薩、由是因緣、此分圓滿。10 + +而未能得圓滿法身現前證受者,十地菩薩離麁惱盡,法身圓滿,九地未得也。 + +#16 而未能得遍於一切所知境界無著無礙妙智妙見;由是因緣、於此分中猶未圓滿。為令此分得圓滿故;精勤修習、便能證得;由是因緣、此分圓滿。此分滿故;於一切分、皆得圓滿。11 + +未能得遍於一切所知境界無著無礙妙智妙見者,未得佛果。佛果離煩惱障,故名無著妙智;離所知障,故名無礙妙見。十地未得。為令已下,明得佛滿。 + +問:準《本業經》,第十一地名等覺地,此中何故說如來地名第十一地耶? + +#17 解云:自有二義。 + +一者、別論因果,唯有妙覺名妙來地,如此中說; + +> 中華藏:如來地 + +二者、攝因屬果,妙覺、等覺并名佛地,如彼《經》說。 + +既有二義,故無相違。 + +善男子!當知如是十一種分,普攝諸地。 + +#11 2 釋地名 + +#12 世尊!何緣最初名極喜地,乃至何緣說名佛地?善男子! + +#13 成就大義、得未曾得出世間心、生大歡喜;是故最初名極喜地。 + +第二釋地名義。成就大義者,即是成就自利利他,名成大義。得未曾得出世間心者,初得無分別智,生歡喜也。世親取此中意釋初地云:成就無上自利利他,初證聖處多生歡喜,故名歡喜地,從義得名。 + +#13 遠離一切微細犯戒;是故第二名離垢地。 + +遠離一切微細犯戒名離垢地者,故犯名麁,誤犯名細,初離故犯,二地離誤,故云遠離微細犯戒。《地論》亦取此意,彼處釋云:離能起誤心犯戒煩惱垢,清淨戒具足,故名離垢也,亦從義得名。 + +#13 由彼所得三摩地、及聞持陀羅尼,能為無量智光依止;是故第三名發光地。 + +由彼所乃至發光地者,三地得定及聞持,聞持還是定中差別,依此諸定能發智光,名發光地,發是因義,光是果義,因果為名。《地論》云:隨聞思修等照法顯現名明地者,三慧照明,故名明地,此直從彼所發慧果為名。 + +#13 由彼所得菩提分法、燒諸煩惱、智如火焰;是故第四名焰慧地。 + +由彼所得菩提分法至名焰慧地者,煩惱如薪,智如火焰,四地道火,燒煩惱薪,法、喻雙標,名為焰慧地。《論》亦取此意直名焰地。 + +#13 由即於彼菩提分法方便修習、最極艱難方得自在;是故第五名極難勝地。 + +由即於彼至名極難勝地者,第五地中,真俗勝智,相違不遂,由多艱難方得并起,名難勝地,從義得名。《地論》釋云:得出世間智方便善巧,能度難度,名難勝地。 + +#13 現前觀察諸行流轉;又於無相、多修作意方現在前;是故第六名現前地。 + +現前觀察諸行流轉者,後智現前,觀於緣起。 + +又於無相多修作意方現在前者,無分別智,多修功用方現在前。 + +二智現前,是故第六名現前地,從義得名。《地論》釋云:般若波羅蜜行有間大智現前,名現前地。無分別智不恒相續,名般若有間;作意方起,故名大智現前。 + +#13 能遠證入無缺無間、無相作意、與清淨地共相隣接;是故第七名遠行地。 + +能遠證入至名遠行地者,始從初地訖至第七,經一僧祇,修無相行,方得無間證入無相,與彼第八清淨地鄰,名遠行地。八地離功用過,名清淨地。 + +#14 《地論》釋云:善修無相行,功用究竟,能過世間二乘出世間道,故名遠行。 + +前之六地亦修無相行,不能相續,不得名善。七地無間,故名善修。 + +前之七地所起眾行,并有功用,今第七地於功用行,最在後邊,是故名為功用究竟。 + +前之三地,修施戒定,相同世間;四地道品,五地諦觀,六地緣起,相同二乘出世間道。今得七地,能過前二,故云能過世間二乘出世間道。 + +故名遠行地。此亦從義為名。 + +#13 由於無相得無功用,於諸相中不為現行煩惱所動;是故第八名不動地。 + +由於無相至名不動地者,真智得無功用所動,俗智雖有功用而不為現行煩惱所動,名為不動,亦從義用為名。《地論》釋云:地行能純熟無相無間,故名不動者,直就真智以釋不動。 + +> 註:真智,無功用所能動,參考 圓測疏:真境,名無相,菩薩住此境,一切相及功用所不能轉。 + +#13 於一切種說法自在、獲得無量廣大智慧;是故第九名善慧地。 + +於一切種至名善慧地者,於一切種機說法自在,解善。 + +獲得無罪廣大智慧,解慧。 + +慧是體,善是義,體、義得名。《地論》釋名:無礙力說法,成就利他行,名善慧地,直釋善義,不解慧義。 + +#13 麁重之身、廣如虛空,法身圓滿、譬如大雲、皆能遍覆;是故第十名法雲地。 + +麁重之義至名法雲地者,無邊煩惱所知障體,所有隨眠不調柔性,名麁重身,譬彼虛空。十地所證法身圓滿,譬如大雲。皆能遍覆如空麁重,故名法雲。法目法身,法身譬雲,法、喻雙舉,故名法雲。舊世親釋,法目於智,以雲譬智,亦是法喻雙舉,故名法雲。《地論》釋云:謂大法身具足自在,名法雲地。 + +#13 永斷最極微細煩惱及所知障,無著無礙、於一切種所知境界現正等覺;故第十一說名佛地。 + +永斷已下,解佛地,可知。 + +#11 3 辨地中所對除法 + +#12 世尊!於此諸地、有幾愚癡、有幾麁重、為所對治?善男子!此諸地中、有二十二種愚癡、十一種麁重、為所對治。 + +#13 第三辨地中所對除法,則二十二愚癡,十一麁重。麁重,是二十二愚癡隨眠麁重不調柔性。 + +> 中華藏:十一麁重,是二十二愚癡隨眠麁重不調柔性。 + +真諦三藏譯《攝論》云:二十二無明麁重報、四種生死。 + +> 註:梁译摄大乘论卷十,佛性论卷二 则将变易生死开立为方便、因缘、有有、无有等四种生死,即:(1)方便生死,谓菩萨为利益众生之生死,于十地前及初三地感之、灭之而入于四地。(2)因缘生死,谓示现八相之生死,于四、五、六地感之、灭之而入于七地。(3)有有生死,谓有后有。于七、八、九地感之、灭之而入于十地。(4)无有生死,谓十地之所感,灭之而入于如来地。上记四种生死,佛性论称之为四怨障。且三界以外之声闻、独觉、大力菩萨等三种圣人由于此四怨障之故,而不得如来法身四种功德波罗蜜。 + +大乘攝論不明四種無明,但從南地所得《無上依經》中,辨四生死。 + +今三藏勘於梵本,無報字及四生死,故云二十二愚癡、十一麁重也。 + +二十二愚,前卷於十障中相對料簡。今略釋相,文有四段。初問;次答;三結;四領。 + +> 中華藏:四頌。 + +#13 謂於初地有二愚癡:一者、執著補特伽羅及法愚癡,二者、惡趣雜染愚癡,及彼麁重、為所對治。 + +答中,初地二愚:一、執補特伽羅及法愚,即是人法二執;二、惡趣雜染愚者,即滅惡趣煩惱、業、生三種雜染。 + +#13 於第二地有二愚癡:一者、微細誤犯愚癡,二者、種種業趣愚癡,及彼麁重、為所對治。 + +二地有二:一、微細犯,是失念誤犯;二、種種業趣,謂見三業三行差別。 + +#13 於第三地有二愚癡:一者、欲貪愚癡,二者、圓滿聞持陀羅尼愚癡,及彼麁重、為所對治。 + +三地二愚者:一者欲貪障,則障等持;二、圓滿聞持陀羅尼愚者,三地已得聞持等德,二地未得,從所障為名。 + +#13 於第四地有二愚癡:一者、等至愛愚癡,二者、法愛愚癡,及彼麁重、為所對治。 + +四地有二:一、等持愛,則三地中起愛禪定心,障於四地;二者、法愛,三地菩薩以愛法故,求法行忍,如經廣說。 + +#13 於第五地有二愚癡:一者、一向作意棄背生死愚癡,二者、一向作意趣向涅槃愚癡,及彼麁重、為所對治。 + +五地二者:一者一向作意棄背生死,二者一向作意趣於涅槃,并四地中,起障於五。 + +#13 於第六地有二愚癡:一者、現前觀察諸行流轉愚癡,二者、相多現行愚癡,及彼麁重、為所對治。 + +六地二者:一現前觀察諸行流轉者,六地現前觀十二緣諸行流轉,五地未得,障於六地,從所障為名;二相多現行者,五地菩薩雖俱厭樂,而厭生死相多現前行,障於六地。 + +#13 於第七地有二愚癡:一者、微細相現行愚癡,二者、一向無相作意方便愚癡,及彼麁重、為所對治。 + +七地有二:一者微細相現行愚者,七地長入無相真觀,六地雖觀無相未能無間,時時猶見細相現行,此生能障名愚;二、一向無相作意方便愚者,七地作意方便一向無相,真觀相續,六地猶見細相現前,障於七地作意方便一向無相,此就所障功德復立一愚。 + +#13 於第八地有二愚癡:一者、於無相作功用愚癡,二者、於相自在愚癡,及彼麁重、為所對治。 + +八地有二:一於無相作意功用愚者,當體為名,七地真觀雖復相續而有功用,障於八地無相無功用;二於相行自在愚者,八地菩薩於俗相行中,利他有功用未得自在,自利無功用已得自在,七地未能,從所障為名,名於相行自在。 + +#13 於第九地有二愚癡:一者、於無量說法、無量法句文字後後慧辯陀羅尼自在愚癡,二者、辯才自在愚癡,及彼麁重、為所對治。 + +九地有二:一於無量說法者是義無礙,無量法句文字等者是法無礙;二辨才自在愚者,謂詞無礙及樂說無礙。九地已得,八地未得,并從所障為名。 + +#13 於第十地有二愚癡:一者、大神通愚癡,二者、悟入微細祕密愚癡,及彼麁重、為所對治。 + +十地有二:一、大神通愚;二、悟入微細祕密愚者,大神通則是五分法身,微細祕密則是真如法身,九地不得圓滿此二法身。 + +#13 於如來地有二愚癡:一者、於一切所知境界極微細著愚癡,二者、極微細礙愚癡,及彼麁重、為所對治。 + +如來地有二:一於一切所智境極微細著者,則是悲想最下下品煩惱隨眠,二者最極微細礙者,則是悲想最下下品所知障體。 + +> 註:悲想或是“非想非非想”之異體。 + +善男子!由此二十二種愚癡、及十一種麁重故、安立諸地,而得阿耨多羅三藐三菩提、離彼繫縛。 + +世尊!阿耨多羅三藐三菩提、甚奇希有,乃至成就大利大果,令諸菩薩能破如是大愚癡羅網,能越如是大麁重稠林,現前證得阿耨多羅三藐三菩提。 + +#11 4 通德辨諸地清淨 + +#12 1 辨諸地清淨通德 + +#13 世尊!如是諸地、幾種殊勝之所安立?善男子!略有八種:一者、增上意樂清淨,二者、心清淨,三者、悲清淨,四者、到彼岸清淨,五者、見佛供養承事清淨,六者、成熟有情清淨,七者、生清淨,八者、威德清淨。善男子!於初地中所有增上意樂清淨乃至威德清淨,後後諸地乃至佛地所有增上意樂清淨乃至威德清淨,當知彼諸清淨,展轉增勝;唯於佛地、除生清淨。 + +#14 第四,辨諸地清淨通德。初明八種清淨,舊名八果,廣如《住品》說。此中, + +一、意樂清淨者,則是作意為體; + +二、心清淨者,即以定為體; + +餘六可解。 + +諸攝報果,名生清淨,故佛地無也。 + +#12 2 明有上無上 + +#13 又初地中所有功德,於上諸地,平等皆有,當知自地功德殊勝。一切菩薩十地功德,皆是有上;佛地功德,當知無上。 + +次明有上、無上。 + +#11 5 四緣故菩薩生勝 + +#12 世尊!何因緣故,說菩薩生、於諸有生最為殊勝?善男子!四因緣故: + +一者、極淨善根所集起故; + +二者、故意思擇力所取故; + +三者、悲愍濟度諸眾生故; + +#13 四者、自能無染,除他染故。 + +第五,明四緣故菩薩生勝。 + +#11 6 辨菩薩行諸大願 + +#12 世尊!何因緣故、說諸菩薩行廣大願、妙願、勝願?善男子!四因緣故。 + +謂諸菩薩能善了知涅槃樂住、堪能速證; + +而復棄捨速證樂住; + +無緣無待發大願心; + +為欲利益諸有情故、處多種種長時大苦。 + +#12 是故我說彼諸菩薩行廣大願、妙願、勝願。 + +#13 第六,辨菩薩行諸大願。言廣大、妙、勝願者,此有兩釋。 + +#14 一釋: + +廣化諸有情故,名廣大願; + +修一切善故,名妙願; + +斷一切惡故,名勝願。 + +#14 一釋: + +> 註:金剛經 四心:https://mubu.com/doc/6P201v8WtP7 + +廣大願者,即廣大心; + +妙願即是第一心; + +勝願即無顛倒心也。 + +四因緣故者,能善了知涅槃樂住,堪能速證證為第一;而復棄捨速證樂住為第二;無緣無待發大願心為第三;為欲利他處長時苦為第四, + +> 中華藏:堪能速證,為第一 + +雖有六段,總是第一辨地義竟。 + +#10 2 辨地中所應學法(二十三句) + +#11 1 舉六度為所學事 + +#12 世尊!是諸菩薩、凡有幾種所應學事?善男子!菩薩學事、略有六種:所謂布施、持戒、忍辱、精進、靜慮、慧到彼岸。 + +自下第二辨彼地中所應學法,有二十三句。《攝論》因果殊勝,從此起也。一、舉六度為所學事。 + +#11 2 以三學攝六度 + +#12 世尊!如是六種所應學事、幾是增上戒學所攝?幾是增上心學所攝?幾是增上慧學所攝?善男子!當知初三、但是增上戒學所攝;靜慮一種、但是增上心學所攝;慧、是增上慧學所攝;我說精進、遍於一切。 + +二、以三學攝六度。當知初三是增上二學者,施、忍是戒眷屬,助成於戒,亦名為戒。 + +> 中華藏:是增上戒學者 + +#11 3 以三種資糧攝六度 + +#12 世尊!如是六種所應學事、幾是福德資糧所攝?幾是智慧資糧所攝?善男子!若增上戒學所攝者、是名福德資糧所攝;若增上慧學所攝者、是名智慧資糧所攝;我說精進、靜慮二種、遍於一切。 + +三、以三種資糧攝六度。 + +#11 4 辨五相修於施等 + +#12 世尊!於此六種所學事中、菩薩云何應當修學?善男子!由五種相、應當修學。 + +一者、最初於菩薩藏波羅蜜多、相應微妙正法教中,猛利信解; + +二者、次於十種法行、以聞思修所成妙智,精進修行; + +三者、隨護菩提之心; + +四者、親近真善知識; + +#13 五者、無間勤修善品。 + +增、四辨五相修於施等。十種法行,則書持等。 + +> 中華藏:四、辨五相 + +#11 5 釋成六數 + +#12 世尊!何因緣故、施設如是所應學事但有六數?善男子!二因緣故:一者、饒益諸有情故;二者、對治諸煩惱故。當知前三、饒益有情;後三、對治一切煩惱。 + +#13 前三饒益諸有情者: + +謂諸菩薩、由布施故,攝受資具、饒益有情; + +由持戒故,不行損害逼迫惱亂、饒益有情; + +由忍辱故,於彼損害逼迫惱亂,堪能忍受、饒益有情。 + +#13 後三對治諸煩惱者: + +謂諸菩薩、由精進故,雖未永伏一切煩惱、亦未永害一切隨眠;而能勇猛修諸善品,彼諸煩惱、不能傾動善品加行。 + +由靜慮故,永伏煩惱。 + +#14 由般若故,永害隨眠。 + +五、釋成六數。 + +#11 6 明立後四度意 + +#12 世尊!何因緣故、施設所餘波羅蜜多、但有四數?善男子!與前六種波羅蜜多、為助伴故。 + +謂諸菩薩於前三種波羅蜜多所攝有情、以諸攝事方便善巧而攝受之,安置善品;是故我說方便善巧波羅蜜多、與前三種而為助伴。 + +若諸菩薩、於現法中煩惱多故,於修無間無有堪能;羸劣意樂故,下界勝解故,於內心住無有堪能;於菩薩藏不能聞緣善修習故,所有靜慮、不能引發出世間慧,彼便攝受少分狹劣福德資糧,為未來世煩惱輕微、心生正願,如是名願波羅蜜多。由此願故、煩惱微薄,能修精進;是故我說願波羅蜜多、與精進波羅蜜多而為助伴。 + +若諸菩薩親近善士、聽聞正法、如理作意為因緣故,轉劣意樂、成勝意樂,亦能獲得上界勝解;如是名力波羅蜜多。由此力故、於內心住有所堪能;是故我說力波羅蜜多、與靜慮波羅蜜多而為助伴。 + +#13 若諸菩薩、於菩薩藏已能聞緣善修習故,能發靜慮;如是名智波羅蜜多。由此智故、堪能引發出世間慧;是故我說智波羅蜜多、與慧波羅蜜多而為助伴。 + +六、明立後四度意。於菩薩藏不能聞緣善修習者,聞是聽聞,緣是緣慮。 + +#11 7 辨次第 + +世尊!何因緣故、宣說六種波羅蜜多如是次第?善男子!能為後後引發依故。謂諸菩薩、若於身財無所顧悋、便能受持清淨禁戒;為護禁戒、便修忍辱;修忍辱已、能發精進;發精進已、能辦靜慮;具靜慮已、便能獲得出世間慧。是故我說波羅蜜多如是次第。 + +#11 8 辨品類 + +#12 世尊!如是六種波羅蜜多、各有幾種品類差別?善男子!各有三種。 + +施三種者:一者、法施,二者、財施,三者、無畏施。 + +戒三種者:一者、轉捨不善戒,二者、轉生善戒,三者、轉生饒益有情戒。 + +忍三種者:一者、耐怨害忍,二者、安受苦忍,三者、諦察法忍。 + +精進三種者:一者、被甲精進,二者、轉生善法加行精進,三者、饒益有情加行精進。 + +靜慮三者:一者、無分別寂靜、極寂靜無罪故,對治煩惱眾苦樂住靜慮,二者、引發功德靜慮,三者、引發饒益有情靜慮。 + +慧三種者:一者、緣世俗諦慧,二者、緣勝義諦慧,三者、緣饒益有情慧。 + +#11 9 釋到彼岸義 + +#12 世尊!何因緣故、波羅蜜多說名波羅蜜多?善男子!五因緣故:一者、無染著故;二者、無顧戀故;三者、無罪過故;四者、無分別故;五者、正迴向故。 + +無染著者:謂不染著波羅蜜多諸相違事。 + +> 註:第十門,以及第十六門,約五義分別施等 + +無顧戀者:謂於一切波羅蜜多諸果異熟及報恩中、心無繫縛。 + +無罪過者:謂於如是波羅蜜多、無間雜染法,離非方便行。 + +> 註:第十三門 + +無分別者:謂於如是波羅蜜多、不如言詞執著自相。 + +正迴向者:謂以如是所作所集波羅蜜多、迴求無上大菩提果。 + +#11 10 明所治六弊 + +#12 世尊!何等名為波羅蜜多、諸相違事?善男子!當知此事、略有六種: + +一者、於喜樂欲財富自在諸欲樂中、深見功德及與勝利; + +二者、於隨所樂、縱身語意而現行中、深見功德及與勝利; + +三者、於他輕蔑不堪忍中、深見功德及與勝利; + +四者、於不勤修著欲樂中、深見功德及與勝利; + +五者、於處憒鬧世雜亂行、深見功德及與勝利; + +六者、於見聞覺知、言說戲論、深見功德及與勝利。 + +#11 11 明得果 + +世尊!如是一切波羅蜜多、何果異熟?善男子!當知此亦略有六種:一者、得大財富;二者、往生善趣;三者、無怨無壞、多諸喜樂;四者、為眾生主;五者、身無惱害;六者、有大宗葉。 + +#11 12 明與施等間雜染法 + +#12 世尊!何等名為波羅蜜多間雜染法?善男子!當知略由四種加行: + +一者、無悲加行故; + +二者、不如理加行故; + +三者、不常加行故; + +四者、不殷重加行故。 + +不如理加行者:謂修行餘波羅蜜多時、於餘波羅蜜多遠離失壞。 + +#11 13 辨非方便 + +#12 世尊!何等名為非方便行?善男子!若諸菩薩以波羅蜜多饒益眾生時、但攝財物饒益眾生、便為喜足,而不令其出不善處安置善處;如是名為非方便行。何以故?善男子!非於眾生唯作此事、名實饒益。譬如糞穢、若多若少、終無有能令成香潔;如是眾生,由行苦故,其性是苦、無有方便但以財物暫相饒益、可令成樂;唯有安處妙善法中、方可得名第一饒益。 + +七、辨次第。八、辨品類。九、釋到彼岸義。十、明所治六弊。十一、明得果。十二、明與施等間雜染法。十三、辨非方便。 + +#11 14 解釋總別清淨 + +#12 世尊!如是一切波羅蜜多、有幾清淨?善男子!我終不說波羅蜜多、除上五相有餘清淨;然我即依如是諸事、總別當說波羅蜜多清淨之相。總說一切波羅蜜多清淨相者:當知七種。何等為七? + +一者、菩薩於此諸法、不求他知; + +二者、於此諸法、見已不生執著; + +三者、即於如是諸法不生疑惑,謂為能得大菩提不? + +四者、終不自讚毀他、有所輕蔑; + +五者、終不憍傲放逸; + +六者、終不少有所得、便生喜足; + +七者、終不由此諸法、於他發起嫉妬慳悋。 + +十四、解釋總別清淨。上五相者,即無染著等五相,通六度故。 + +> 註:第九門 + +#12 別說一切波羅蜜多清淨相者:亦有七種。何等為七?謂諸菩薩如我所說七種布施清淨之相、隨順修行: + +一者、由施物清淨、行清淨施;二者、由戒清淨、行清淨施;三者、由見清淨、行清淨施;四者、由心清淨、行清淨施;五者、由語清淨、行清淨施;六者、由智清淨、行清淨施;七者、由垢清淨、行清淨施。是名七種施清淨相。 + +#13 又諸菩薩、能善了知制立律儀一切學處、能善了知出離所犯、具常尸羅、堅固尸羅、常作尸羅、常轉尸羅、受學一切所有學處。是名七種戒清淨相。 + +> 註:參考末品:釋調伏。 + +依此辨清淨戒有七:一、了知制立;二、了知出離;三、具常尸羅者,常守尸羅也;四、堅固尸羅者,堅守尸羅也;五、常住尸羅者,一云,作戒;二云:受戒;六、常轉尸羅者,一云無作戒,一云隨戒也;七、受學一切。 + +#13 若諸菩薩於自所有業果異熟,深生依信,一切所有不饒益事現在前時、不生憤發,亦不反罵,不瞋、不打、不恐、不弄;不以種種不饒益事反相加害;不懷怨結;若諫誨時不令恚惱;亦復不待他來諫誨;不由恐怖有染愛心、而行忍辱;不以作恩、而便放捨。是名七種忍清淨相。 + +#14 忍淨土者: + +> 中華藏:忍淨七者, + +一釋:一、深信因果乃至不弄;二、不反加害;三、不懷怨結;四、諫時不恚;五、不待來諫;六、不由恐怖染心而行忍辱;七、不以作意而便放捨。 + +> 中華藏:不以作恩而便放捨。 + +二釋:一、信業果;二、於不饒益不生瞋弄;三、不反報;四、不怨結;五、諫時不恚亦不待諫;六、不由恐染行心;七、不以作思放捨。 + +> 中華藏:不以作恩放捨。 + +#13 若諸菩薩通達精進平等之性,不由勇猛勤精進故、自舉陵他,具大勢力,具大精進,有所堪能,堅固勇猛,於諸善法終不捨軛,如是名為七種精進清淨之相。 + +#14 精進七者: + +一、通達平等,不自舉陵他;二、具大勢力,即是被甲精進也;三、具大精進者,則有勢也;四、有所堪能者,是有力也;五、堅固;六、勇猛,此二即是有勤也;七、於諸善法終不捨軛者,即不捨軛也。 + +一釋:一、達處中行;二、不自舉;三、陵他;四、具大勢;五、具大勤;六、有堪能;七、不捨軛。 + +今解:一、達平等性;二、不自舉陵他;三、具大勢力;四、具大精進;五、有所堪能;六、堅固勇猛;七、不捨軛。 + +#13 若諸菩薩有善通達相三摩地靜慮,有圓滿三摩地靜慮,有俱分三摩地靜慮,有運轉三摩地靜慮,有無所依三摩地靜慮,有善修治三摩地靜慮,有於菩薩藏聞緣修習無量三摩地靜慮。如是名為七種靜慮清淨之相。 + +靜慮七者:有善通達相者,一云,通達真如也;一云:通達三相也;二、圓滿者,住分定也;三、俱分者,雙運道也;四、運轉者,後後勝進分也;五、無所依,者空慧相應定也;六、善修治者,斷惑證滅也;七、於菩薩藏聞緣修習無量者,依大乘教修不可量諸三摩地故。又解:修四無量故。 + +> 中華藏:一惑證滅也(疑誤) + +#13 若諸菩薩遠離增益損減二邊、行於中道,是名為慧。由此慧故,如實了知解脫門義,謂空、無願、無相三解脫門。如實了知有自性義,謂遍計所執、若依他起、若圓成實三種自性。如實了知無自性義,謂相、生、勝義三種無自性性。如實了知世俗諦義,謂於五明處。如實了知勝義諦義,謂於七真如。又無分別、離諸戲論、純一理趣多所住故,無量總法為所緣故,及毘鉢舍那故,能善成辦法隨法行。是名七種慧清淨相。 + +#14 慧淨七者: + +#15 一釋: + +一、遠離二邊,知三解脫。 + +二、知二自性。 @ + +> 註:應為 知三自性。 + +三、知三無性。 + +四、知世俗五明,外明、內明、聲明、因明、醫方明也。 + +五、知勝義。 + +六、無分別多所住。 + +七、無量總法乃至法隨法行。 + +泰云:又無分已下有二,前是止慧,後是觀慧,加行五慧,名七種慧者,即同此判。 + +一釋:若諸菩薩至是名為慧者,是總釋慧名。自下釋七相,下判亦同。 + +今依前釋。 + +#11 15 釋前五緣總有五業 + +#12 世尊!如是五相、各有何業?善男子!當知彼相、有五種業,謂諸菩薩: + +無染著故,於現法中於所修習波羅蜜多、恒常殷重勤修加行,無有放逸。 + +無顧戀故,攝受當來不放逸因。 + +無罪過故,能正修習極善圓滿、極善清淨、極善鮮白波羅蜜多。 + +無分別故,方便善巧波羅蜜多、速得圓滿。 + +#13 正迴向故,一切生處波羅蜜多、及彼可愛諸果異熟、皆得無盡,乃至無上正等菩提。 + +十五、釋前五緣總有五業。 + +#11 16 約五義分別施等 + +#12 世尊!如是所說波羅蜜多、何者最廣大?何者無染污?何者最明盛?何者不可動?何者最清淨? + +善男子!無染著性、無顧戀性、正迴向性,最為廣大。 + +無罪過性、無分別性,無有染污。 + +思擇所作,最為明盛。 + +已入無退轉法地者、名不可動。 + +#13 若十地攝佛地攝者、名最清淨。 + +#14 十六、約五義分別施等,前五相中, + +三名最廣大; + +二名無染污; + +修六度時,思釋為先,故最明盛; + +> 中華藏:思擇為先 + +八地已上名不可動; + +圓滿及果名最清淨。 + +#11 17 辨因果無盡 + +#12 世尊!何因緣故、菩薩所得波羅蜜多諸可愛果及諸異熟常無有盡,波羅蜜多亦無有盡?善男子!展轉相依、生起修習、無間斷故。 + +十七、辨因果無盡。 + +#11 18 明深樂施等 + +#12 世尊!何因緣故、是諸菩薩深信愛樂波羅蜜多,非於如是波羅蜜多所得可愛諸果異熟?善男子!五因緣故: + +一者、波羅蜜多是最增上喜樂因故; + +二者、波羅蜜多是其究竟饒益一切自他因故; + +三者、波羅蜜多是當來世、彼可愛果異熟因故; + +四者、波羅蜜多非諸雜染所依事故; + +#13 五者、波羅蜜多非是畢竟變壞法故。 + +十八、明深愛樂施等,不深樂彼果。 + +#11 19 明施等威德 + +#12 世尊!如是一切波羅蜜多、各有幾種最勝威德?善男子!當知一切波羅蜜多、各有四種最勝威德: + +一者、於此波羅蜜多正修行時,能捨慳悋、犯戒、心憤、懈怠、散亂、見趣所治; + +二者、於此正修行時、能為無上正等菩提真實資糧; + +三者、於此正修行時、於現法中能自攝受饒益有情; + +#13 四者、於此正修行時、於未來世能得廣大無盡可愛諸果異熟。 + +十九、明施等威德。六度名有四種威德。初,治六障;後三,如文。 + +> 中華藏:六度各有四種威德 + +#11 20 明因果義 + +#12 世尊!如是一切波羅蜜多、何因,何果,有何義利? + +善男子!當知一切波羅蜜多、大悲為因; + +微妙可愛諸果異熟、饒益一切有情、為果; + +#13 圓滿無上廣大菩提、為大義利。 + +第二十、明因果義利。 + +#11 21 菩薩具財眾生貧意 + +#12 世尊!若諸菩薩具足一切無盡財寶、成就大悲,何緣世間現有眾生貧窮可得?善男子!是諸眾生自業過失。若不爾者,菩薩常懷饒益他心、又常具足無盡財寶,若諸眾生無自惡業能為障礙,何有世間貧苦可得?譬如餓鬼、為大熱渴逼迫其身,見大海水悉皆涸竭;非大海過,是諸餓鬼自業過耳。如是菩薩所施財寶、猶如大海無有過失,是諸眾生自業過耳;猶如餓鬼自惡業力、令無有果。 + +二十一、明菩薩具財眾生貪意。 + +> 中華藏:眾生貧意 + +#11 22 明般若能取諸法無性 + +#12 世尊!菩薩以何等波羅蜜多、取一切法無自性性?善男子!以般若波羅蜜多,能取諸法無自性性。 + +二十二、明般若能取諸法無性,有二問答。初一問答,明般若取真如時,無橫執性,名取諸法無性。 + +#12 世尊!若般若波羅蜜多、能取諸法無自性性,何故不取有自性性?善男子!我終不說以無自性性、取無自性性。然無自性性、離諸文字自內所證,不可捨於言說文字而能宣說;是故我說般若波羅蜜多、能取諸法無自性性。 + +第二問意:真如離有、離無,取真如時,名取無性,能取,何故不許取真如時,名所有性?答意:言無性者,是遮詮非表,謂彼真如無橫執,說名無性。我終不說般若作無性解,取彼無性。以內證法,不知以何名,即假名無性。 + +> 中華藏:能取無性,何故不許 + +#11 23 明三祇中所修施等三名差別 + +#12 世尊!如佛所說波羅蜜多、近波羅蜜多、大波羅蜜多,云何波羅蜜多?云何近波羅蜜多?云何大波羅蜜多? + +#13 善男子!若諸菩薩經無量時,修行施等成就善法,而諸煩惱猶故現行,未能制伏,然為彼伏,謂於勝解行地,軟、中勝解轉時,是名波羅蜜多。 + +二十三、明三祇中所修施等三名差別。初僧祇中,修行施等,煩惱猶行,未能制伏然為彼伏者,然為煩惱伏弊施等。謂於勝解行地等者,出其位地。煖中勝解轉時,是名波羅蜜多者,地前所修未成上品,但是煖品、中品,但名波羅蜜多。 + +> 中華藏:軟中勝解 +軟品​ + +#13 復於無量時修行施等,漸復增上成就善法,而諸煩惱猶故現行,然能制伏,非彼所伏,謂從初地已上、是名近波羅蜜多。 + +復於無量時乃至謂從初地已上者,出其位地。是名近波羅蜜多者,去菩提近故名也。 + +#13 復於無量時修行施等,轉復增上成就善法,一切煩惱皆不現行,謂從八地已上、是名大波羅蜜多。 + +復於乃至八地已上者,出其位地。是名大波羅蜜多者,八地已上無功用修,一一行中起無量行,故得大名。 + +真諦三藏云:此之三名屬於地前。一者、黑白相雜,名波羅蜜多,以十解中煩惱間雜故;二者、一向白法,名近波羅蜜多,以十行中一向白法,煩惱不現行故;三者、非黑白有報,名大波羅蜜多,以十迴向中,越前三位故。雖有此說,而違此文。 + +#10 3 辨地中所有煩惱 + +#11 1 明頭數 + +#12 世尊!此諸地中、煩惱隨眠可有幾種?善男子!略有三種: + +一者、害伴隨眠,謂於前五地。何以故?善男子!諸不俱生現行煩惱、是俱生煩惱現行助伴;彼於爾時永無復有,是故說名害伴隨眠。 + +二者、羸劣隨眠,謂於第六、第七地中,微細現行。若修所伏、不現行故。 + +#13 三者、微細隨眠,謂於第八地已上,從此已去、一切煩惱不復現行,唯有所知障為依止故。 + +自下第三,辨地中所有煩惱。於中有四:一、明頭數。略有三種隨眠等者, + +#14 1景云: + +一、害伴隨眠。謂見斷現行不俱生惑,是彼修斷俱生惑伴。由見惑伴,修惑熾然,是故但說不俱生惑是俱生助伴。前五地中所有俱生修惑,已離見惑不俱生伴,故名害伴。今舉前五地中害伴修惑,亦取所熏種,名害伴隨眠。此最為麁。 + +#15 二者、羸劣隨眠。謂六七地中微細現行若修所伏不現行故者,前害伴修惑,若在六、七二地中起,但是微細現行及種,通名羸劣隨眠。 + +#16 問:如《攝論》說,七地長入真觀不起煩惱,云何今說起細惑耶?七地有三,謂入、住、出。出心地滿,真觀相續,不起煩惱,故《攝論》云不起惑;入、住心中有時起惑故,故此中說微細現行。故《佛地論》第二卷云: + +> 註:論又云:……又如二乘金剛喻定,第七識惑與六識中最細煩惱一時俱斷,云何此中先離第七微細煩惱,後離六識麁煩惱耶?是故四地得無我智,滅意識中俱生我見,未離第七微細煩惱,及六識中餘修斷惑。此說伏離非是永滅,至第十地金剛心時方頓斷滅,修斷種故。 + + +有說四地,第七識中,俱生煩惱一切遠離; + +有說四地,第六識中,俱生我見一切遠離,非第七識,以七地來猶有微細煩惱,若無第七,應無染淨依,應不似五。第七識惑若已遠離,五、六、七地六識麁惑應不現行。即違《瑜伽》《解深密》說者,即違此中所說:六、七二地,有羸劣隨眠微細現行。 + +三者、微細隨眠。八地已上從此已上一切煩惱不復現行唯有所知障為依止故者,即前二種隨眠,流至八地已上,雖復未斷,為聖道察伏,功能微細,名微細隨眠。八地已上,意識或時唯觀法空,或雙證二空所顯真如,末那識中平等智起。意識或唯入人空觀,末那即起法執,故云一切煩惱不復現行唯有所知障為所依止。 + +#14 2泰云: + +見道煩惱,分別作意生,非生便任運起,名不俱生現行煩惱。修道煩惱任運而起,如生得善,是俱生煩惱。是則釋名。義同景師。 + +六地得無相觀,般若起故,漸微細故,轉名羸劣隨眠所起,若修道所伏方不現行。 + +八地已上,一切煩惱不復現行,即有第七法執所知障為所依止,六識法執現行,唯為法執微細隨眠所起。 @ + +又解:見道斷煩惱,初地中盡;意識中俱生見惑,第四地伏;餘俱生惑,及以末那俱生我見,八地中伏。故八地已上,雖有有漏五識現行,而意識唯是無漏。若人空觀時,猶有法執末那;其法空觀時,唯有有漏末那。然即《經》云:唯有所知障者,據末那法執而說。西方諸師多作此解。 + +#14 3基云: + +害伴隨伴者,第六識俱生身見等攝,說名俱生,故所餘煩惱名非俱生。然體稍麁,因彼而起,由彼斷故,此亦隨無,故名害伴。 + +> 中華藏:害伴隨眠者, + +羸劣隨眠者,謂第六七地微細現行,若修所伏不現行故,非俱生身見,斷此亦隨眠滅,稍難斷故,不違《楞伽經》,俱生身見斷故,貪即不生。彼約二乘斷煩惱說,不依菩薩所知障無故煩惱不生說。或依二隨眠究竟斷位,彼經、此經,亦不相違。@ + +> 註:非俱生身見斷,此亦隨眠滅,稍難斷故? +義演 作:二者、羸劣隨眠,謂第六七地,微細現行,若修所伏不現行故,非俱生身見,斷此亦隨滅,稍難斷故。 +​ + +微細隨眠者,謂於第八地已上,如彼《唯識章》釋。 + +#11 2 辨皮膚骨麁重 + +#12 世尊!此諸隨眠、幾種麁重斷所顯示?善男子!但由二種:謂由在皮麁重斷故,顯彼初二;復由在膚麁重斷故,顯彼第三;若在於骨麁重斷者,我說永離一切隨眠,位在佛地。 + +#13 二、辨皮膚骨麁重。 + +#14 1景云:此中問意:上三隨眠,聖斷時,為是斷皮?為斷膚、骨? + +但由二種謂由在皮麁重斷故顯彼初二者,前之七地,所有害伴隨眠、羸劣隨眠二種斷時,是則名斷在皮麁重。 + +言復由膚麁重斷故顯彼第三者,後之三時微細隨眠時,是則名斷在膚麁重。 + +> 中華藏:微細隨眠斷, + +註:似應為“後之三地微細隨眠斷”​​ + +若在於骨麁重斷者我說永離一切隨眠位在佛地者,前三隨眠所有習,細故名骨,據解脫道類外證,除住在佛地。煩惱障中,辨三隨眠有皮、膚、骨。所知障中分別類爾。@ + +> 註:何謂 據解脫道類外證? + +#14 2泰云:約斷皮、膚、骨三煩惱故,立三僧祇劫。 + +初在皮麁重,從初僧祇至初地斷盡故,方顯初二害伴及羸劣隨眠能起現行。 + +由從初地至於七地,斷在膚麁重故,八地已上,顯彼第三微細法執隨眠,能起現行法執。 + +在於骨麁重斷盡者,住在佛地,故永離一切隨眠。 + +#11 3 辨能斷劫數 + +#12 世尊!經幾不可數劫、能斷如是麁重?善男子!經於三大不可數劫、或無量劫;所謂年月半月晝夜一時半時須臾瞬息剎那量劫、不可數故。 + +三、辨能斷劫數。若據大劫,唯經三不可數劫,斷麁重盡;若依小劫,則經無量。 + +#11 4 辨地中生煩惱相 + +#12 世尊!是諸菩薩、於諸地中所生煩惱、當知何相,何失,何德? + +善男子!無染污相。何以故?是諸菩薩、於初地中、定於一切諸法法界已善通達;由此因緣,菩薩要知、方起煩惱,非為不知。是故說名無染污相。 + +於自身中、不能生苦,故無過失。 + +菩薩生起如是煩惱、於有情界能斷苦因,是故彼有無量功德。 + +#13 甚奇世尊!無上菩提、乃有如是大功德利;今諸菩薩生起煩惱、尚勝一切有情、聲聞、獨覺善根,何況其餘無量功德。 + +四、辨地中生煩惱相。先為三問,次答,後領。 + +> 中華藏:後頌(疑誤,根據文意,後應為菩薩領解) + + +#14 答中, + +1景云:於初地通達法界,由此因緣菩薩要知方起煩惱,名無染相。雖起煩惱,於自身中不能生苦,故無過失。起如此惑斷他苦因,有無量德。 + +2泰云:既云於初地中要知方起煩惱,故知二地中云離能起誤心犯戒煩惱者,是地前所起,至於二地,伏彼種子,非初地中現起。 + +3基又云:以此文證,初地已上不故犯罪也。 + +#10 4 辨說一乘意 + +#11 世尊!如佛所說:若聲聞乘、若復大乘、唯是一乘。此何密意?善男子!如我於彼聲聞乘中、宣說種種諸法自性;所謂五蘊、或內六處、或外六處、如是等類。於大乘中、即說彼法、同一法界,同一理趣,故我不說乘差別性。於中或有如言於義、妄起分別,一類增益,一類損減;又於諸乘差別道理,謂互相違,如是展轉、遞興諍論,如是名為此中密意。 + +下第四辨說一乘意。如佛所說乃至我不說乘差別性者,於小乘中宣說蘊界處種種法性,於大乘中說此等諸法同一真如界理趣,據同真如故,佛不說乘差別性。 + +言於中乃至一類損減者,聞說三乘同一如性,或執二乘同彼大乘,名為增益;或執大乘同彼二乘,名損減。 + +言又於諸乘至此中密意者,又謂三乘既有差別,云何同一真如法界?法界既同,乘應無別,而不能知三乘聖道?事法差別,有上中下,如理則通同一法界,而不相違。謂有相違,而興諍論。 + +#9 2 重頌 + +爾時世尊欲重宣此義、而說頌曰: + +1諸地攝、想、所對治、殊勝、生、願、及諸學、 + +由依佛說是大乘、於此善修成大覺。 + +2宣說諸法種種性,復說皆同一理趣; + +謂於下乘或上乘、故我說乘無異性。 + +3如言於義妄分別、或有增益或損減; + +#10 謂此二種互相違、愚癡意解成乖諍。 + +#11 自下重頌。 + +諸地攝者,頌初攝義, + +總,頌地名, + +> 中華藏:想,頌地名 + +所對治,二十二愚癡、十一麁重, + +殊勝,頌八清淨諸地通德, + +生,頌菩薩勝生, + +願,頌廣大願等, + +及諸學者,頌六度, + +由依佛說是大乘於此善修成大覺者,觀依止菩薩,佛說大乘,若修成佛。或可此二句頌,依大乘位三劫修成。 + +> 中華藏:依止菩薩,佛說大乘 +卍續藏:觀 恐 頌​ + +下有二頌,頌彼最後密說一乘。 + +#8 2 請立經名及時眾得益 + +#9 世尊!於是解深密法門中、此名何教?我當云何奉持?善男子!此名諸地波羅蜜多了義之教;於此諸地波羅蜜多了義之教、汝當奉持。說此諸地波羅蜜多了義教時,於大會中有七十五千菩薩、皆得菩薩大乘光明三摩地。 + +下請立經名,時眾獲益,可知。 + +#6 7 曼殊室利菩薩請問三身義 + +#7 1 標宗指經 + +復次即依乘假安立,分別如來成所作事,當知如《解深密經》中, + +#7 2 正引經文(缺解1) + +#8 1 問答正辨(十四門) + +#9 1 問答辨法身之相 + +#10 曼殊室利菩薩摩訶薩請問佛言:世尊!如佛所說如來法身。如來法身、有何等相?佛告曼殊室利菩薩曰:善男子!若於諸地波羅蜜多、善修出離,轉依成滿,是名如來法身之相。當知此相、二因緣故不可思議:無戲論故,無所為故。而諸眾生計著戲論、有所為故。 + +初,問答辨法身之相。曼殊室利者,舊云文殊師利,舊翻妙德,今譯妙吉祥。此中意謂,於諸地中,修出離以為了因,顯淨真如,轉依成滿,是法身相。 + +#9 2 明二乘轉依不名法身 + +#10 世尊!聲聞獨覺所得轉依、名法身不?善男子!不名法身。世尊!當名何身?善男子!名解脫身。由解脫身故,說一切聲聞、獨覺、與諸如來平等平等;由法身故,說有差別。如來法身、有差別故;無量功德最勝差別、算數譬喻所不能及。 + +第二,明二乘轉依不名法身,以其未斷所知障故。由斷惑障所顯真如,名解脫身,由解脫身三乘平等,由法身故有其差別。無量功德最勝差別算數難知者,此文則證,本有真如有恒沙功德。 + +> 註:參考 滅諦:由清淨真如故,一切聲聞菩提、獨覺菩提、阿耨多羅三藐三菩提、平等平等。 + +#9 3 諸如來化身作業 + +#10 世尊!我當云何應知如來生起之相?善男子!一切如來化身作業、如世界起一切種類;如來功德,眾所莊嚴住持為相。當知化身、相有生起;法身之相、無有生起。 + +#11 第三,明諸如來化身作業, + +1備、景師云:化身作業,如世界起者,此文意辨他受用身及變化身生起之相,略不辨自受用身。如世界起者,同諸世界所化眾生,形類生起,故言如世界起。 + +2泰師云:如三千世界起時,一切眾生種類,共感所起。化身業亦復如是,如來一切功德所起為相。 + +#9 4 明化身方便善巧 + +#10 世尊!云何應知示現化身方便善巧?善男子!遍於一切三千大千佛國土中、或眾推許增上王家、或眾推許大福田家,同時入胎、誕生、長大受欲、出家、示行苦行、捨苦行已成等正覺、次第示現。是名如來示現化身方便善巧。 + +第四,明化身身方便善巧,則是八相成道相。然此文中,略辨。 + +> 中華藏:明化身方便善巧 + +#9 5 明如來言音差別 + +#10 1 問答總標 + +> 註:“善男子!如來言音”一句根據文意調整至此科下。 + +#11 世尊!凡有幾種、一切如來身所住持言音差別?由此言音、所化有情未成熟者、令其成熟;已成熟者、緣此為境、速得解脫。善男子!如來言音、略有三種:一者、契經,二者、調伏,三者、本母。 + +#12 第五明如來言音差別。初問答總標,如來言音不過三藏。 + +一者、契經; + +二者、調伏,舊名為滅; + +#13 三者、本母,舊名摩德勒伽,今云摩呾履迦,此云本母。 + +由此藏中廣辨諸義,出生種種道理,故名本母。 + +亦可由辨多種種道理,是則出生種種義理,故名本母。 + +#10 2 別釋三藏 + +#11 1 別作三問 + +世尊!云何契經?云何調伏?云何本母? + +#11 2 次第解(缺解1) + +#12 1 契經 + +#13 善男子!若於是處、我依攝事顯示諸法,是名契經;謂依四事、或依九事、或復依於二十九事。 + +初解契經。若於是處至名契經者,依《毘婆沙》解三藏差別中,或詮於定名修多羅,或云種種雜說名修多羅等,今則當種種雜說名為契經。謂依四事、九事、二十九事者,開列二門。 + +> 註:似應為“開列三門” + +#14 云何四事?一者、聽聞事,二者、歸趣事,三者、修學事,四者、菩提事。 + +#15 云何四事? + +一、聽聞事,聞思二慧; + +二、歸趣事,則三歸依; + +三、修學事者,則是三學; + +四、菩提事者,則是三十七品,四種行跡,奢摩他、毘鉢舍那等,能得大菩提事故。 + +《顯揚》中亦明此四,故彼頌云:聞、依、學、菩提。 + +#14 云何九事?一者、施設有情事,二者、彼所受用事,三者、彼生起事,四者、彼生已住事,五者、彼染淨事,六者、彼差別事,七者、能宣說事,八者、所宣說事,九者、諸眾會事。 + +#15 九事中, + +一、施設有情事,則是五蘊; + +二、彼所受用,則十二處,六根、六塵,互相受用; + +三、彼生起,則十二有支; + +四、彼生已住者,則是四食; + +五、染淨事者,則是四諦,苦集是染,滅道是淨; + +六、彼差別事,則五種界,謂有情界、器世界、法界、調伏有情界、調伏方便界; + +七、能說事,則是諸佛; + +> 註:蘊處界、三輪,一切法。 + +八、所說事,則是諸法; + +#16 九、眾會事,有其八眾。 + +人中有四眾,謂剎利、沙門、婆羅門、長者; + +天有四眾:一、四天王天;二、三十三天;三、炎魔天;四、梵眾天。 + +#14 云何名為二十九事? + +#15 謂依雜染品,有1攝諸行事,2彼次第隨轉事,3即於是中作補特伽羅想已、於當來世流轉因事,4作法想已、於當來世流轉因事。 + +#16 二十九事中,前四是染。 + +謂依雜染品,有攝諸行事,則是五蘊。 + +彼次第隨轉者,則是緣生。 + +三是人執。 + +四是法執。由此二執,為未來世流轉之因。 + +#15 依清淨品,有5繫念於所緣事,6即於是中勤精進事,7心安住事,8現法樂住事, + +#16 下有二十五事是淨,於中四是世間善法。 + +謂依清淨品有繫念於所緣事者,則是欲界聞慧,繫心為四念處境。 + +勤精進事者,則是思慧。 + +心安住事,則是得未至禪。 + +觀法樂住事者,則是得根本禪。 + +> 註:應為“現法樂住事者” + +#15 9超一切苦緣方便事, + +下有二十一事是出世淨。於中,一是解脫分,四是順決擇分,四是見道,六是修道,四是無學道。後二校量顯勝。 + +超一切苦緣方便事者,起則順解脫分善,涅槃與彼眾生為離苦緣,故名超一切苦緣。解脫分善是彼方便。 + +> 中華藏:則順解脫分善 + +#15 10彼遍知事,此復三種:顛倒遍知所依處故;依有情想,外有情中邪行遍知所依處故;內離增上慢遍知所依處故。 + +#16 次明順決擇,則是知苦、斷集、證滅、修道。 + +知苦有三:一、顛倒依處,能知欲界苦;二、邪行依處,知色界苦;三、內離增上慢所依處者,知無色苦。 + +#15 11修依處事,12作證事,13修習事, + +修依處事者,此斷集也。作證、修習事者,則是證滅、修道。 + +#15 14令彼堅固事,15彼行相事,16彼所緣事,17已斷未斷觀察善巧事。 + +#16 下明見道中, + +今彼堅固事者,一向見道永不退轉為凡,故名堅固。 + +彼行相事者,是相見道。 + +彼所緣事者,則相見道所緣之事。 + +已斷未斷觀察善巧事者,於相見道中,觀察見惑已斷,修惑未斷。 + +#15 18彼散亂事,19彼不散亂事,20不散亂依處事,21不棄修習劬勞加行事,22修習勝利事,23彼堅牢事。 + +#16 修位六者, + +彼散亂事者,已出見道未入修道,中間漸起散亂心也。 + +#17 不散亂事、不散亂依處事者,此二總是定事,是斷欲界修惑方便道也。 + +不散亂所依,則唯取定體。 + +不散亂事者,除一定數,餘同時法。 + +不棄修習劬勞加行事者,則斷欲界修惑無礙道也。 + +修習勝利事者,離色、無色,無礙道也。 + +彼彼堅牢事者,則金剛心也。 + +#15 24攝聖行事,25攝聖品眷屬事,26通達真實事,27證得涅槃事。 + +#16 無學四者, + +攝聖行事者,則如理智,盡、無生智。 + +攝聖行眷屬事者,如量智,盡、無生智也。 + +通達真實事者,欲入無餘,應觀真實事也。 + +證得涅槃事者,欲入無餘,先入滅定,則於滅定賴耶心中,而般涅槃。@ + +#15 28於善說法毘奈耶中,世間正見,超昇一切外道所得正見頂事, + +於善說法毘奈耶中至見頂事者,意明修前下品解脫分善,超昇外道上品正見頂也。 + +#15 29及即於此不修退事。於善說法毘奈耶中、不修習故,說名為退;非見過失、故名為退。 + +及則於此乃至故名為退者,明彼外道,不修解脫分善,則名退失,非現起邪見過失名為退也。縱起向前聞思,未至定,根本定,世間福善亦名為退,此是應得不得,是未得退。 + +> 註:太虛大師:二十八、于善说法毗奈耶中……事者,谓佛说经律,为使世间众生得达究竟之唯一正见,超胜一切外道,由此故名正见顶事;由此正见能确定众生闻法信心,皈依佛法。二十九、及即于此不修退事者,谓若得遇佛法而不能修习,是名为退;非要生起过患方名为退──此二简除外道,策进初心。 + +#12 2 調伏 + +#13 曼殊室利!若於是處、我依聲聞及諸菩薩顯示別解脫、及別解脫相應之法,是名調伏。 + +次解調伏。若於是處至名調伏者,若說別解脫戒前後方便隨順根本,名相應法。又說發戒心,名別解脫相應之法,如是言教,皆名調伏。 + +> 註:參考六度:七種戒清淨相。 + +#13 世尊!菩薩別解脫、幾相所攝?善男子!當知七相: + +一者、宣說受軌則事故; + +二者、宣說隨順他勝事故; + +三者、宣說隨順毀犯事故; + +四者、宣說有犯自性故; + +五者、宣說無犯自性故; + +六者、宣說出所犯故; + +#14 七者、宣說捨律儀故。 + +#15 言七相者,1景云: + +一者、說受遮戒; + +二者、說受性戒; + +三者、說犯戒緣; + +四者、說犯性罪也; + +五者、說持戒事; + +六者、說犯已能出離事; + +七者、說對有識人捨律儀事。 + +#15 2今解: + +一者、說受戒儀式; + +二、說根本重罪; + +> 中華藏:二者 + +三者、說犯戒緣; + +四者、說凡夫有犯自性; + +五者、說聖者無犯自性; + +六者、說悔過事; + +七者、說捨戒也。 + +#12 3 本母 + +#13 1 總標列十一種相 + +曼殊室利!若於是處、我以十一種相、決了分別顯示諸法;是名本母。何等名為十一種相?一者、世俗相,二者、勝義相,三者、菩提分法所緣相,四者、行相,五者、自性相,六者、彼果相,七者、彼領受開示相,八者、彼障礙法相,九者、彼隨順法相,十者、彼過患相,十一者、彼勝利相。 + +#13 2 次第解 + +#14 1 明世俗相 + +#15 世俗相者,當知三種:一者、宣說補特伽羅故;二者、宣說遍計所執自性故;三者、宣說諸法作用事業故。 + +初,辨俗相有三:一、說數取趣;二、說有見遍計所執;三、說依他作用事業。 + +#14 2 明勝義相 + +#15 勝義相者,當知宣說七種真如故。 + +二,勝義相,謂說七真如。 + +#14 3 明菩提分法所緣相 + +#15 菩提分法所緣相者,當知宣說遍一切種所知事故。 + +三,菩提分法所緣相,則說一切所知之事。 + +#14 4 明行相 + +#15 行相者,當知宣說八行觀故。云何名為八行觀耶?一者、諦實故;二者、安住故;三者、過失故;四者、功德故;五者、理趣故;六者、流轉故;七者、道理故;八者、總別故。 + +四,明行相。謂說八行。 + +#15 1 諦實 + +#16 諦實者,謂諸法真如。 + +一、諦實,謂諸法如。 + +#15 2 安住 + +#16 安住者, + +謂或安立補特伽羅, + +或復安立諸法遍計所執自性, + +或復安立一向、分別、反問置記, + +#17 或復安立隱密、顯了記別差別。 + +#18 二、安住乃至或復安立穩密顯了記別差別者, + +隱密說者,謂有問我與世間常無常等,但語彼云,我說此不可說,名隱密說。 + +顯了說者,有如法問,還如法記等。 + +#15 3 過失 + +#16 過失者,謂我宣說諸雜染法、有無量門差別過患。 + +三、過失。 + +#15 4 功德 + +#16 功德者,謂我宣說諸清淨法、有無量門差別勝利。 + +四、功德,如文。 + +#15 5 理趣 + +#16 理趣者,當知六種:一者、真義理趣,二者、證得理趣,三者、教導理趣,四者、遠離二邊理趣,五者、不可思議理趣,六者、意趣理趣。 + +五、理趣,當知六種。第六意趣理趣,則時意等四意。 + +> 註:四種意趣。 + +#15 6 流轉  《顯揚》 + +#16 流轉者,所謂三世三有為相、及四種緣。 + +六、流轉。言三有為相者,以住、異合說故。 + +#15 7 道理 + +#16 道理者,當知四種:一者、觀待道理,二者、作用道理,三者、證成道理,四者、法爾道理。 + +七、道理,有四道理。 + +#16 1 觀待道理  《顯揚》 + +#17 觀待道理者:謂若因若緣能生諸行、及起隨說;如是名為觀待道理。 + +#18 一、觀待道理, + +謂若因若緣能生諸行等者,諸行若欲生,觀待因緣。 + +及欲說,亦待說因。 + +#16 2 作用道理  《顯揚》 + +#17 作用道理者:謂若因若緣能得諸法、或能成辦、或復生已作諸業用;如是名為作用道理。 + +#18 二、作用道理, + +諸若因緣能得諸法者,如六根證得六塵,各有作用。 + +或能成辨者,如四大種,各能成辨自所作用。 + +或復生已作諸業用者,隨是何法因,生已作諸業用。 + +#16 3 證成道理  《顯揚》 + +#17 證成道理者:謂若因若緣能令所立所說,所標義得成立、令正覺悟;如是名為證成道理。 + +三、證成道理,謂若因緣能合所立所說所標義得成立令正覺悟者,謂由三支,令所詮,義得成立,令敵論者生正覺悟。又解:舉其因、喻,令所立宗,義得成立。此則略辨,次當廣釋。 + +#17 又此道理、略有二種:一者、清淨,二者、不清淨。由五種相、名為清淨;由七種相、名不清淨。 + +又證成道理略有二種。一、清淨;二、不清淨。由五種相名為清淨。 + +#18 云何由五種相、名為清淨?一者、現見所得相,二者、依止現見所得相,三者、自類譬喻所引相,四者、圓成實相,五者、善清淨言教相。 + +#19 現見所得相者:謂一切行皆無常性、一切行皆是苦性、一切法皆無我性、此為世間現量所得。如是等類、是名現見所得相。 + +一、現行見所得相,謂一切行皆無常性等此為世間現量所得名現所得相者,據麁一期死生無常,逼迫等苦,有所為作,不得自在,無我等性,名為世間現量所得。 + +#19 依止現見所得相者:謂一切行皆剎那性、他世有性、淨不淨業無失壞性。由彼能依麁無常性、現可得故;由諸有情種種差別、依種種業、現可得故;由諸有情若樂若苦、淨不淨業以為依止、現可得故;由此因緣,於不現見、可為比度。如是等類、是名依止現見所得相。 + +#20 一依止現見所得相,謂一切行皆剎那性,是一門;他世有性是第二;淨不淨業無失壞性是第三。此舉能依所比知法。 + +> 中華藏:二、依止現見所得相 + +由彼能依麁重無常性現可得故者,一斯死生麁無常性,必依微細剎那無常,既有能依麁無常性,將知必有剎那細無常也。 + +由諸有情種種差別依種種業現可得故者,現見有情種種苦樂,依於善惡諸業而得,今諸有情復造善惡,比知他世有苦樂性。 + +由諸有情若樂若苦淨不淨業以為依止現可得故者,現見有情所受苦樂,依善惡業,比知淨不淨業必當牽果,無有失壞。 + +#19 自類譬喻所引相者:謂於內外諸行聚中、引諸世間共所了知所得生死,以為譬喻;引諸世間共所了知所得生等種種苦相、以為譬喻;引諸世間共所了知所得不自在相、以為譬喻;又復於外、引諸世間共所了知所得衰盛、以為譬喻。如是等類、當知是名自類譬喻所引相。 + +#20 三、自類譬喻所引相, + +謂於內外諸行聚中引世共知所得生死以為譬喻者,重成以麁無常,喻細無常,名為自類。 + +引世共知所得生等種種苦相以為譬喻者,重成以麁苦苦,喻細行苦,名為自類。 + +引世共知不自在相以為譬喻者,重成世間共知不自在相,喻細無我。 + +又復於外至以為譬喻者,重舉麁相盛衰,喻細無常。 + +#19 圓成實相者:謂即如是現見所得相、若依止現見所得相、若自類譬喻所得相,於所成立決定能成,當知是名圓成實相。 + +四、圓成實相謂即如是乃至名圓成實相者,依前三理,立義決定,名圓成實。 + +#19 善清淨言教相者:謂一切智者之所宣說;如言涅槃究竟寂靜。如是等類、當知是名善清淨言教相。 + +五善清淨言教相,如文可知。 + +> 註:聖教量,其實亦由現量、比量而得成立——圓成實相。 + +善男子!是故由此五種相故、名善觀察清淨道理;由清淨故,應可修習。 + +#18 世尊!一切智者相、當知有幾種?善男子!略有五種: + +一者、若有出現世間、一切智聲、無不普聞; + +二者、成就三十二種大丈夫相; + +三者、具足十力、能斷一切眾生一切疑惑; + +四者、具足四無所畏,宣說正法,不為一切他論所伏,而能摧伏一切邪論; + +五者、於善說法、毘奈耶中,八支聖道、四沙門等、皆現可得。 + +#18 如是生故,相故,斷疑網故,非他所伏、能伏他故,聖道沙門現可得故。如是五種、當知名為一切智相。 + +一切智相當有幾下,因問答辨。一切智相略有五種,初辨,後結。 + +言如是生故者,結初,若有出現世間一切智聲無不普聞。 + +結餘四句,可知。 + +#18 善男子!如是證成道理,由現量故,由比量故,由聖教量故,由五種相、名為清淨。 + +善男子如是證成道理由現量故者,結上現見所得相。 + +由比量故者,結次三相,謂依止現見所得相、自類譬喻所引相、圓成實相。 + +由聖教量故者,結彼第五善清淨言教相。 + +如是三重,由五種相名為清淨。 + +> 中華藏:如是三種 + +#18 云何由七種相、名不清淨?一者、此餘同類可得相,二者、此餘異類可得相,三者、一切同類可得相,四者、一切異類可得相,五者、異類譬喻所引相,六者、非圓成實相,七者、非善清淨言教相。 + +次辨不清淨由七種相,須知因明,以因中說不成、不定,及舉相違。不成、相違各四,不定有六,一一別釋,如彼商羯羅王所造《小因因明論》,此中所說七相,當彼何過耶? + +> 中華藏:《小因明論》 +​​ +註:中國佛教協會本 圓測疏 中,有“七不清淨相中前五相攝六種不定因中前五因表”。 +​ +”因三相(梵liṅgasya trairūpyam,藏gtan-tshigs-kyi mtshan-ñid-tshul-gsum) +因明学用语。指因明三支作法(宗、因、喻)中,正确的因所必须符合的三项规则。又称三向。第一项为遍是宗法性,这是有关因与宗的关系的一项规则。第二为同品定有性,是有关因与同喻的关系的规则。第三为异品遍无性,是有关因与异喻的关系的规则。 +​ +​因​十四过 +指因明三支作法中,由因(理由)之不正确所造成之十四种过失。分为四不 +成、六不定与四相违等三类,即: +​(一)四不成过,即两俱不成过、随一不成过、犹豫不成过、所依不成过,皆由于缺乏因第一相所招致。 +​(二)六不定过,即共不定过、不共不定过、同品一分转异品遍转不定过、异品一分转同品遍转不定过、俱品一分转不定过、相违决定不定过,皆由于缺乏因之第二、第三任何一相时所招致。 +​(三)四相违过,即法自相相违过、法差别相违过、有法自相相违过、有法差别相违过,皆由于因之第二、第三相俱缺时所招致。 +​[因明入正理论]((因三相)2271、“因明”2276)p2271​​ + +#19 景云:今此文中,當其六不定中,五,除相違決定。 + +一者、此餘同類可得相者,此當同品一分轉異品遍轉。如言聲,非勤勇無間所發,因言無常性故。非勤勇無間所發宗,以電、空為同品,無常性因,於電即有,於空則無。以瓶等為異品,無常性因,於彼遍有。今此文中,但明同品一分轉,故云此餘同類可得,此宗之外,同品之中有此無常性因可得,故云此餘。 + +二者、此餘異類可得相者,即是異品一分轉同品遍轉。如言聲,是勤勇無間所發,因云無常性故。此宗以瓶等為同品,無常性因,於彼遍轉;以電、空為異品,彼無常性因,於電是有,於空即無,此宗之外,異品一分得有無常性義,故云此餘異類可得,略不言同品遍有。 + +三者、一切同類可得相者,即是共不定。如說聲常,所量性故。此因於同品、異品皆有。今此文中,且明同品可得。 + +四者、一切異類可得相者,則是不共。如說聲常,是所聞故。無同法喻,但有異喻,以除聲外,并非所聞,故云一切異類可得。 + +五者、異類譬喻所得者,則是俱品一分轉,如說聲常,無質礙故等。以同品一分轉,異品亦有一分轉,故言異類譬喻所得相。 + +六者、非圓成實相者,支因不具,名非圓成。 + +七者、非善清淨言教相者,如立聲常,所作性故。此因但於異品中有,故能立言教非善清淨。 + +#19 3若一切法、意識所識性,是名一切同類可得相。 + +上來列名,下解釋中,先解第三。言若一切法意識所識性是名一切同類可得相者,如立聲常,是意識識故。若爾意識則識一切諸法,為如虛空是意識識故,聲是其常?為如瓶等是意識識故,聲是無常? + +#19 若一切法相、性、業、法、因果異相,5由隨如是一一異相;4決定展轉各各異相,是名一切異類可得相。 + +言若一切法相性業法因果異相至是名一切異類可得相者,此解第五俱品一分轉。聲論師如立聲是常,無質礙性故常宗,以虛空、極微為同品,此無質礙因,於虛空有,於極微即無。以瓶、樂等為異品,此無質礙因,於樂等有,於瓶等無。故言由隨如是一分展轉同、異品相,是名此餘同、異類可得相。 + +> 註:佛地經論:复有义者,此中显示清净法界,有六种相,总摄一切佛地功德,谓自性相、因相、果相、若作业相、若相应相、若差别相,如其次第,初有一颂,余各半颂。 + + +言若決定展轉各各異相是名一切異類可得相者,此解第四一切異類可得,則是不共不定。如說聲常,所聞性等。 + +#19 善男子!1若於此餘同類可得相、及譬喻中有一切異類相者;由此因緣、於所成立非決定故,是名非圓成實相。 + +善男子乃至是名非圓成實相者,此解第一此餘同類可得相,則是同品一分轉異品遍轉。 + +#19 2又於此餘異類可得相、及譬喻中有一切同類相者;由此因緣、於所成立不決定故,亦名非圓成實相。 + +言又於此餘異類可得相至亦名非圓成實者,此解第二此餘異類可解相,及譬喻中一切同類相,則解異品一分轉同品遍轉。 + +> 中華藏:此餘異類可得相 +則是 + +#19 6非圓成實故,非善觀察清淨道理。不清淨故,不應修習。 + +言非圓成實故非善觀察清淨道理不清淨故不應修習者,此釋第六非圓成實相,支因不具,理不清淨,不應修習。 + +#19 7若異類譬喻所引相、若非善清淨言教相,當知體性皆不清淨。 + +言若異類譬喻所引相至體性皆不清淨者,此解第七非善清淨言教相。如立聲常,所作性故,以虛空為同品,電、瓶為異品,此因但於異品中有,故言異類譬喻所引相。 + +#19 1泰法師云: + +第一句立因不成,如立宗云:總蘊是無常,因言意識所識故,然無為同是意所識法,非無常故。 + +第二句,如立宗云:聲是無常,因云耳識所聞故,然色、香等異類法,非耳識所聞,然是無常故,立因不成。若立宗云:聲是常,因云從因生故,然更無有異類不取因生法是無常故,異類不可得。 + +#19 2備云: + +初釋第三相; + +二釋第四相,即共不定; + +> 註:前說四、五。 + +三釋第一相,即是同品一分轉異品譬喻遍轉故,於所立宗非決定故,名非圓滿; + +四釋第二相,即是異品一分轉同品譬喻遍轉故,於所成宗亦不決定; + +五釋第六相, + +六釋第五及第七相,如其次第,異類所引故,非善言教,體性皆不清淨。 + +> 註:前說第七為主。 + +#19 3景云: + +#20 此七相中,初四句攝五不定。 + +謂第一句,攝同品一分轉異品遍轉及俱品一分轉; + +第二句,攝異品一分轉同品遍轉; + +第三句,攝共不定; + +第四句,攝不共不定; + +第五、異類譬喻所得相者,攝法自相相違; + +第六、非圓成實相者,攝四不成。 + +圓第七非善清淨言教相,即攝餘諸過。 + +> 中華藏:第七非善清淨言教相 +​ +註:其餘過失,即是​​四不成、六不定、四相违中,四相違等。 + + +#16 4 法爾道理  《顯揚》 + +#17 法爾道理者:謂如來出世、若不出世,法性安住,法住法界,是名法爾道理。 + +四、法爾道理,如來出世至名法爾道理者,地常堅性乃至風常動性,善招樂報,惡招苦果,故言有佛、無佛,法性安住,法住法界。 + +#15 8 總別 + +#16 總別者:謂先總說一句法已,後後諸句差別分別、究竟顯了。 + +就行相中,已辨第七,次解第八總別。謂總標一句,後後諸句廣釋,明了其義,可知。 + +就解本母十一相中,總釋第四行相門訖。 + +#14 5 明自性相 + +#15 自性相者:謂我所說,有行、有緣,所有能取菩提分法,謂念住等。如是名為彼自性相。 + +次釋第五,自性相。謂我所說至名自性相者,本母中說有行有緣等,則說念住等自性相也。 + +#14 6 明果相 + +#15 彼果相者:謂若世間、若出世間,諸煩惱斷、及所引發世出世間諸果功德。如是名為得彼果相。 + +#16 六,解彼果相。 + +謂世出世謂煩惱斷者,世道伏斷煩惱,出世道永斷煩惱,此辨斷德。 + +> 中華藏:諸煩惱斷者 + +及所引發出世諸果功德者,此明智德。 + +#14 7 明彼領受開示相 + +#15 彼領受開示相者:謂即於彼以解脫智而領受之,及廣為他宣說開示。如是名為彼領受開示相。 + +七彼領受開示相,謂則於彼至宣說開示者,以解脫智,領受所得智、斷功德,為他宣說。 + +#14 8 明彼障礙法相 + +#15 彼障礙法相者:謂即於修菩提分法、能隨障礙諸染污法,是名彼障礙法相。 + +八明彼障礙法相,可知。 + +#14 9 明彼隨順法相 + +#15 彼隨順法相者:謂即於彼多所作法,是名彼隨順法相。 + +九,彼隨順法相。謂則於彼多所作法者,於涅槃修隨順法,多有所作,名彼隨順。 + +#14 10 明彼過患相 + +彼過患相者:當知即彼諸障礙法所有過失。是名彼過患相。 + +十,彼過患相,則前障法能為過患。 + +#14 11 明彼障礙法相 + +#15 彼勝利相者:當知即彼諸隨順法所有功德,是名彼勝利相。 + +十一,彼勝利相,即前能隨順法所有功德。 + +#9 6 明不共陀羅尼義 + +#10 1 先請 + +曼殊室利菩薩復白佛言:唯願世尊為諸菩薩略說契經調伏本母、不共外道陀羅尼義;由此不共陀羅尼義、令諸菩薩得入如來所說諸法甚深密意。 + +#10 2 後答 + +#11 1 長行 + +#12 1 勅聽許說 + +佛告曼殊室利菩薩曰:善男子!汝今諦聽!吾當為汝略說不共陀羅尼義,令諸菩薩於我所說密意言詞、能善悟入。 + +#12 2 次正為解 + +#13 1 初句 + +#14 善男子!若雜染法、若清淨法,我說一切皆無作用;亦都無有補特伽羅。以一切種,離所為故。非雜染法先染後淨,非清淨法後淨先染。 + +初言染淨法皆無作用等者,即破吠世師等立實作用,及破實性,計實有我,非無假用及假設數數趣者。又於佛法中初修學者,執苦、集雜染,於先定有,執滅、道法後得,如彼搆畫,是遍計所執,畢竟無體,有何先後?若就依他因緣染淨,非無先後。 + +> 註:數數趣,疑為“數取趣”。 + +#13 2 第二句 + +#14 凡夫異生、於麁重身,執著諸法、補特伽羅自性、差別,隨眠妄見、以為緣故,計我我所;由此妄謂我見、我聞、我嗅、我甞、我觸、我知、我食、我作、我染、我淨,如是等類邪加行轉。 + +次言凡夫異生乃至邪加行轉者,異生五蘊帶於煩惱,不調柔,名麁重身。於麁重身,執著人、法,自性、差別,由彼宿習隨眠種子,及妄見為緣故,計我、我所,能見聞等。 + +> 註:帶於煩惱,疑通“滯於煩惱”。 + +#13 3 第三句 + +#14 若有如實知如是者,便能永斷麁重之身,獲得一切煩惱不住、最極清淨、離諸戲論、無為依止、無有加行。 + +若有如實已下者,次明若知妄計,即能永斷麁重之身。 + +獲得一切煩惱不住等者,涅槃名為煩惱不住。 + +#12 3 略結 + +善男子!當知是名略說不共陀羅尼義。 + +#11 2 重頌 + +爾時世尊欲重宣此義、而說頌曰: + +1一切雜染清淨法、皆無作用數取趣。 + +由我宣說離所為,染污、清淨,非先後。 + +2於麁重身隨眠見,為緣、計我及我所, + +由此妄謂我見等、我食、我為、我染淨。 + +3若如實知如是者;乃能永斷麁重身, + +#12 得無染淨、無戲論、無為依止、無加行。 + +頌中有其三頌,如次頌前長行正解三句。 + +#9 7 明受用身 心生起相 + +#10 爾時曼殊室利菩薩復白佛言:世尊!云何應知諸如來心生起之相?佛告曼殊室利菩薩曰:善男子!夫如來者,非心意識生起所顯;然諸如來,有無加行,心法生起,當知此事猶如變化。 + +第七明受用身心生起相,有二問答。初問答總辨佛心生起。 + +#10 世尊!若諸如來法身遠離一切加行,既無加行,云何而有心法生起?善男子!先所修習方便般若、加行力故,有心生起。善男子!譬如正入無心睡眠,非於覺悟而作加行;由先所作加行勢力、而復覺悟。又如正在滅盡定中,非於起定而作加行;由先所作加行勢力、還從定起。如從睡眠及滅盡定,心更生起,如是如來由先修習方便般若加行力故,當知復有心法生起。 + +次問答辨諸佛雖無加行,然遠由內地方便般若加行力故,有心生起。有法、喻、合。 + +> 註:內地,是初地以上,或是內心? + +#9 8 明化心有心無心義 + +#10 世尊!如來化身、當言有心,為無心耶?善男子!非是有心,亦非無心。何以故?無自依心故,有依他心故。 + +第八明化心有心無心義。心不可化,故佛化身無自依心。然依受用佛心,對緣利物,故云有依他心。 + +#9 9 明如來所行、如來境界二差別相 + +#10 世尊!如來所行、如來境界、此之二種有何差別?善男子!如來所行,謂一切種如來共有,不可思議無量功德眾所莊嚴清淨佛土;如來境界,謂一切種五界差別。何等為五?一者、有情界,二者、世界,三者、法界,四者、調伏界,五者、調伏方便界。如是名為二種差別。 + +第九明如來所行如來境界二差別相。此中據緣諸佛淨土,名如來所行。據緣五無量境利益有情事,名如來境界。 + +#9 10 明八相中成正覺轉法輪大涅槃三種皆無二相 + +#10 世尊!如來成等正覺、轉正法輪、入大涅槃、如是三種當知何相?善男子!當知此三、皆無二相。謂非成等正覺,非不成等正覺;非轉正法輪,非不轉正法輪;非入大涅槃,非不入大涅槃。何以故?如來法身、究竟淨故;如來化身、常示現故。 + +第十明八相中,成正覺、轉法輪、大涅槃三種,皆無二相。意謂如來法身無此三相,對緣變動,名究竟淨。如來化身對緣變動,常示現故,有此三相。 + +#9 11 明佛變德遠生他福 + +#10 世尊!諸有情類,但於化身見聞奉事生諸功德。如來於彼有何因緣?善男子!如來是彼增上所緣之因緣故;又彼化身、是如來力所住持故。 + +#11 第十一明佛變德遠生他福。問意:如來法身及自受用身,眾生不能見聞奉事,於諸有情有何因緣?答中, + +1景云:如來是彼增上所緣之因緣,故遠生他福。又彼化身是如來力所住持者,近由受用身,起於他身;遠由法身住持化身,故彼二身亦生他福。 + +> 註:疑為“近由受用身,起於化身”。 + +2泰云:如來者是受用身智慧,由智慧故,化為色聲,以如來色聲為增上緣故,眾生心識有似如來色聲相起,正是所緣。如來色聲,但是增上所緣,非親所緣。如來智慧是彼增上所緣之因緣也,以親能變現為色聲故。 + +#9 12 明如來法身對彼二乘之身辨其差別解脫 + +#10 世尊!等無加行,何因緣故如來法身、為諸有情放大智光,及出無量化身影像;聲聞、獨覺解脫之身、無如是事?善男子!譬如等無加行,從日月輪,水火二種頗胝迦寶,放大光明;非餘水火頗胝迦寶。謂大威德有情所住持故;諸有情業增上力故。又如從彼善工業者之所彫飾末尼寶珠、出印文像,不從所餘不彫飾者;如是緣於無量法界方便般若、極善修習、磨瑩集成如來法身,從是能放大智光明、及出種種化身影像,非唯從彼解脫之身、有如斯事。 + +#11 第十二明如來法身對彼二乘解脫之身辨其差別。 + +#12 景、備等云: + +言如來法身為諸有情故大智光及無量化身影像者,并據增上遠緣中說;從受用身出化身等,則親緣起。 + +言謂大威德有情所住持故者,日月天子所住持力故,放大光明,此況諸佛大威德者所證法身故,能現彼化身影像。 + +諸有情業增上力故者,是第二緣,由諸有情為黑闇修光明業增上力故,感彼日月頗胝迦寶,故放大光,則譬諸眾生有見佛業緣。 + +彼法身放大光明非餘水火頗胝迦寶能放光者,譬彼二乘證解脫身,無前二用故也。 + +#9 13 明佛菩薩威德住持 + +#10 世尊!如世尊說:如來菩薩威德住持,令諸眾生於欲界中、生剎帝利婆羅門等大富貴家,人身、財寶、無不圓滿;或欲界天、色、無色界、一切身財圓滿可得。世尊!此中有何密意?善男子!如來菩薩威德住持、若道若行,於一切處能令眾生獲得身財皆圓滿者,即隨所應、為彼宣說此道此行;若有能於此道此行正修行者,於一切處所獲身財、無不圓滿。若有眾生於此道此行、違背輕毀,又於我所、起損惱心及瞋恚心,命終已後、於一切處所得身財、無不下劣。善男子!由是因緣,當知如來及諸菩薩威德住持,非但能令身財圓滿;如來菩薩住持威德,亦令眾生身財下劣。 + +#11 第十三明佛菩薩威德住持。若道若行今諸有情於三界中身財圓滿,道謂十善業,行謂身語意妙行等,如來了知此道、此行,是身財因,為彼豈說。於此道行。順教修者,於一切處。獲得身、財,無不圓滿。據如是義,名威德住持。 + +> 中華藏:為彼宣說 + +問曰:欲色可爾,無色何有財寶? + +解云:於無色界中正報名身,定力所變名財。 + +又解:身通三界,財唯欲色,總名三界身財也。 + +#9 14 明穢土八事易得,二事難得 + +#10 世尊!諸穢土中、何事易得?何事難得?諸淨土中、何事易得?何事難得?善男子!諸穢土中、八事易得,二事難得。何等名為八事易得?一者、外道,二者、有苦眾生,三者、種姓家世興衰差別,四者、行諸惡行,五者、毀犯尸羅,六者、惡趣,七者、下乘,八者、下劣意樂加行菩薩。何等名為二事難得?一者、增上意樂加行菩薩之所遊集;二者、如來出現于世。善男子!諸淨土中、與上相達,當知八事甚為難得,二事易得。 + +第十四明穢土八事易得,二事難得。淨土翻此,二事易得,八事難得,如文可解。 + +#8 2 立名時益 + +#9 世尊!於此解深密法門中、此名何教?我當云何奉持?善男子!此名如來成所作事了義之教;於此如來成所作事了義之教、汝當奉持。說是如來成所作事了義教時,於大會中有七十五千菩薩、摩訶薩皆得圓滿法身證覺。 + +下立名時益,可知。 + +> 瑜伽師地論卷第七十八 +瑜伽師地論記卷第八十五​ + +2020年3月30日,宗超 初校​​ + + diff --git "a/docs/\344\270\200\347\231\276\344\272\224\345\215\201\350\256\232\344\275\233\351\240\214\347\247\221\345\210\244.md" "b/docs/\344\270\200\347\231\276\344\272\224\345\215\201\350\256\232\344\275\233\351\240\214\347\247\221\345\210\244.md" new file mode 100644 index 0000000..2713148 --- /dev/null +++ "b/docs/\344\270\200\347\231\276\344\272\224\345\215\201\350\256\232\344\275\233\351\240\214\347\247\221\345\210\244.md" @@ -0,0 +1,941 @@ +#1 一百五十讚佛頌 + +#2 一百五十讚佛頌 + +> 经文:http://cbetaonline.cn/zh/T1680_001 +​介绍:http://www.duobaojiangsi.com/f/culture/news?id=c61f9f6008f411e88a8900163e0f0011 + +尊者摩咥裡制吒造 + +大唐沙門義淨於那爛陀寺譯 + +藏地大德雍增·耶協堅贊所作廣釋《照了妙道寶炬》科判分三: + +> 江波 譯 科判 + +(甲一)讚文題義(略) + +(甲二)譯者禮請(略) + +#3 (甲三)釋文義分三: + +#4 (乙一)由發起之門趣入解釋之支分 分四:(發起讚頌品第一) + +#5 (丙一)初作歸依分三: + +#6 (丁一)認明歸依境: + +世尊最殊勝, 善斷諸惑種, + +無量勝功德, 總集如來身。【1】 + +#6 (丁二)於彼歸依之理: + +唯佛可歸依, 可讚可承事, + +如理思惟者, 宜應住此教。【2】 + +#6 (丁三)示大師佛陀堪為究竟歸依處之因相: + +諸惡煩惱習, 護世者已除, + +福智二俱圓, 唯尊不退沒。【3】 + +縱生惡見者, 於尊起嫌恨, + +伺求身語業, 無能得瑕隙。【4】 + +#5 (丙二)于暇滿勸取堅實: + +記我得人身, 聞法生歡喜, + +譬如巨海內, 盲龜遇楂穴。【5】 + +忘念恒隨逐, 惑業墮深坑, + +故我以言詞, 歎佛實功德。【6】 + +#5 (丙三)正說趣入造讚之支分分三: + +#6 (丁一)立誓造讚: + +牟尼無量境, 聖德無邊際, + +為求自利故, 我今讚少分。【7】 + +#6 (丁二)供讚: + +敬禮無師智, 稀有眾事性, + +福慧及威光, 誰能知數量?【8】 + +#6 (丁二)示讚之因緣: + +如來德無限, 無等無能說, + +我今求福利, 假讚以名言。【9】 + +#5 (丙四)示品名: + +發起讚頌品第一 + +#4 (乙二)廣釋讚之正文分三: + +#5 (丙一)由因成佛方便圓滿之門讚分四:(讚因品第二) + +#6 (丁一)讚大師發心之理分二: + +(戊一)總義(略) + +#7 (戊二)支分義分二: + +#8 (己一)大師往昔發心之理: + +我智力微淺, 佛德無崖際, + +唯願大慈悲, 拯我無歸處。【10】 + +#8 (己二)發心已終不逾彼學處之理: + +怨親悉平等, 無緣起大悲, + +普於眾生界, 恒作真善友。【11】 + +#6 (丁二)讚大師于有學道位學六度行之理分二: + +(戊一)總義(略) + +#7 (戊二)支分義分六: + +#8 (己一)讚大師牟尼王修佈施之理: + +內財尚能捨, 何況於外財, + +尊無悋惜心, 求者滿其願。【12】 + +以身護彼身, 以命贖他命, + +全軀救一鴿, 歡喜無慳悋。【13】 + +#8 (己二)讚大師牟尼王修持戒之理: + +尊不畏惡道, 亦不貪善趣, + +但為心澄潔, 屍羅由此成。【14】 + +常離諸邪曲, 恒親質直者, + +諸業本性空, 唯居第一義。【15】 + +#8 (己三)讚大師牟尼王修安忍之理: + +眾苦逼其身, 尊能善安慮, + +正智斷諸惑, 有過悉興悲。【16】 + +殉命濟他難, 生無量歡喜, + +如死忽重蘇, 此喜過於彼。【17】 + +怨對害其身, 一切時恒惱, + +不觀其過惡, 常起大悲心。【18】 + +正遍菩提種, 心恒所珍玩, + +大雄難勝智, 無有能及者。【19】 + +#8 (己四)讚大師牟尼王修精進之理: + +無等菩提果, 苦行是其因, + +由此不顧身, 勤修諸勝品。【20】 + +豪貴與貧賤, 等引以大悲, + +於諸差別中, 而無高下想。【21】 + +#8 (己五)讚大師牟尼王修靜慮之理: + +勝樂等持果, 心無有貪著, + +普濟諸群生, 大悲無間斷。【22】 + +尊雖遭極苦, 於樂不悕求, + +妙智諸功德, 殊勝無能共。【23】 + +#8 (己六)讚大師牟尼王修智慧之理: + +染淨諸雜法, 簡偽取其真, + +如清淨鵝王, 飲乳棄其水。【24】 + +於無量億劫, 勇猛趣菩提, + +於彼生生中, 喪身求妙法。【25】 + +#6 (丁三)讚大師經三大阿僧祇劫圓滿二資糧之理: + +三僧祇數量, 精勤無懈惓, + +持此為勝伴, 以證妙菩提。【26】 + +#6 (丁四)示品名: + +讚因品第二 + +#5 (丙二)由果佛功德圓滿之門讚分三: + +#6 (丁一)讚果佛功德無有譬喻之理分四:(讚無喻品第三) + +#7 (戊一)讚因何佛功德無有譬喻之理分六: + +#8 (己一)讚因何成無等倫世間主之理分二: + +(庚一)總義(略) + +#9 (庚二)支分義 + +尊無嫉姤心, 於劣除輕想, + +平等無乖諍, 勝行悉圓成。【27】 + +#8 (己二)讚因何功德究竟之理: + +尊唯重因行, 非求果位圓, + +遍修諸勝業, 眾德自成滿。【28】 + +#8 (己三)讚因何成無上福田之理: + +勤修出離法, 超昇眾行頂, + +坐臥經行處, 無非勝福田。【29】 + +#8 (己四)讚因何獲最上證德之理: + +拔除眾過染, 增長清淨德, + +斯由積行成, 唯尊最無上。【30】 + +#8 (己五)讚因何獲圓滿斷德之理: + +眾福皆圓滿, 諸過悉蠲除, + +如來淨法身, 塵習皆已斷。【31】 + +#8 (己六)讚因何一切功德圓滿之理: + +資糧集更集, 功歸調禦身, + +欲求於譬類, 無能與佛等。【32】 + +#7 (戊二)讚因何相佛功德無有譬類之理: + +遍觀諸世間, 災橫多障惱, + +縱有少分善, 易得為比對;【33】 + +遠離諸過患, 湛然安不動, + +最勝諸善根, 無能為譬喻。【34】 + +#7 (戊三)讚佛功德無喻可表之理分七: + +#8 (己一)佛深功德無喻可表: + +如來智深遠, 無底無邊際, + +世事喻佛身, 牛跡方大海。【35】 + +#8 (己二)佛堅功德無喻可表: + +深仁荷一切, 世間無有比, + +大地持重擔, 喻此實為輕。【36】 + +#8 (己三)佛明功德無喻可表: + +愚癡闇已除, 牟尼光普照, + +世智非能譬, 如螢對日光。【37】 + +#8 (己四)佛諸功德無喻可表: + +如來三業淨, 秋月皎空池, + +世潔喻佛身, 俱成塵濁性。【38】 + +#8 (己五)集世間一切善無以喻表佛功德: + +如上諸所引, 世中殊勝事, + +佛法逈超過, 俗事可哀湣。【39】 + +#8 (己六)簡言之此世間無與佛等倫者: + +聖法珍寶聚, 佛最居其頂, + +無上無比中, 唯佛與佛等。【40】 + +#8 (己七)一切說佛功德者僅可述說各自心中所現: + +如來聖智海, 隨樂歎少分, + +鄙詞讚勝德, 對此實多慚。【41】 + +#7 (戊四)示品名: + +讚無喻品第三 + +#6 (丁二)讚果佛功德稀有之理分七:(讚稀有品第四) + +#7 (戊一)讚牟尼王摧壞魔羅煩惱功德稀有之理: + +時俗覩降魔, 一切咸歸伏, + +觀彼同真性, 我謂等輕毛。【42】 + +假令大戰陣, 智勇能摧伏, + +聖德超世間, 降彼非為喻。【43】 + +隣次降魔後, 於夜後分中, + +斷諸煩惱習, 勝德皆圓滿。【44】 + +#7 (戊二)讚牟尼王調伏外道具三毒者功德稀有之理: + +聖智除眾闇, 超過千日光, + +摧伏諸邪宗, 稀有無能比。【45】 + +三善根圓滿, 永滅貪恚癡, + +種習悉已除, 清淨無能喻。【46】 + +#7 (戊三)讚牟尼王無有愛憎功德稀有之理: + +妙法尊恒讚, 不正法恒非, + +於斯邪正處, 心無有憎愛。【47】 + +於聖弟子眾, 及外道師徒, + +於彼違順中, 佛心初無二。【48】 + +#7 (戊四)讚牟尼王意澄淨圓潔功德稀有之理: + +於德情無著, 德者亦非貪, + +善哉極無垢, 聖智恒圓潔。【49】 + +#7 (戊五)讚外相可表牟尼王意澄淨圓潔稀有之理: + +諸根常湛寂, 永離迷妄心, + +於諸境界中, 現量由親覩。【50】 + +#7 (戊六)讚語及施作可表牟尼王意趣清淨功德稀有之理: + +念慧窮真際, 非凡愚所測, + +善安立語言, 證彼亡言處。【51】 + +#7 (戊七)示品名: + +讚稀有品第四 + +#6 (丁三)讚果佛功德無等倫之理分六:(讚身品第五 ) + +#7 (戊一)讚大師佛身見無厭背而令一切見者起信之理: + +寂靜無礙光, 皎潔逾輝映, + +妙色世稀有, 孰不懷敬心?【52】 + +若有暫初觀, 或復恒瞻覩, + +妙相曾無二, 前後悉同歡。【53】 + +#7 (戊二)讚大師佛身視無厭足而令一切見者心滿之理: + +最勝威德身, 觀者心無厭, + +縱經無量劫, 欣仰似初觀。【54】 + +#7 (戊三)讚大師佛身與依此之意相續功德相似而無等倫之理: + +所依之德體, 能依之德心, + +性相二俱融, 能所初無異。【55】 + +#7 (戊四)讚大師佛身不共功德相好之理: + +如斯善逝德, 總集如來躬, + +離佛相好身, 餘非所安處。【56】 + +#7 (戊五)大師佛身功德與依此身之意相續功德二者相爭而無等倫、以奇妙修辭讚: + +我因先世福, 幸遇調禦師, + +仰讚功德山, 遠酬尊所記。【57】 + +#7 (戊六)示品名: + +讚身品第五 + +#5 (丙三)由事業圓滿之門讚分八: + +#6 (丁一)讚大師證覺已隨悲轉饒益眾生分五:(讚意品第六) + +#7 (戊一)讚牟尼王雖知生死過患然隨悲轉來此穢土饒益眾生: + +一切有情類, 皆因煩惱持, + +唯佛能善除, 由悲久住世。【58】 + +誰當先敬禮, 唯佛大悲尊, + +聖德超世間, 悲願處生死。【59】 + +#7 (戊二)讚來此穢土而不住阿練若享寂靜樂隨悲轉饒益剛強與苦惱眾生: + +尊居寂靜樂, 處濁為群生, + +永劫久精勤, 慈心為一切。【60】 + +從真還利俗, 由悲所引生, + +如呪出潛龍, 興雲注甘雨。【61】 + +#7 (戊三)讚觀所化界及意樂隨悲轉饒益各別所化: + +恒居勝定位, 等觀以怨親, + +兇嶮倡聒人, 投身歸聖德。【62】 + +神通師子吼, 宣言三界尊, + +久已厭名聞, 由悲自稱讚。【63】 + +#7 (戊四)讚隨悲轉唯行利他於己似無憫愛之理: + +常修利他行, 曾無自利心, + +慈念遍眾生, 於己偏無愛。【64】 + +悲願無邊際, 逐器化群生, + +隨處皆饒益, 猶如散祭食。【65】 + +深心念一切, 恒不捨須臾, + +利彼反遭辱, 由咎非佛作。【66】 + +#7 (戊五)示品名: + +讚意品第六 + +#6 (丁二)讚大師隨悲轉為諸有情說法之理分十:(讚語品第七) + +#7 (戊一)讚但聞大師能仁王語梵音起信之理: + +慈音演妙義, 誠諦非虛說, + +廣略任機緣, 半滿隨時轉。【67】 + +若聞尊演說, 孰不歎希奇, + +縱令懷惡心, 有智咸歸信。【68】 + +#7 (戊二)讚能仁王語之一分亦能饒益所化之理: + +義詞恒善巧, 或復出麁言, + +利益悉不虛, 故並成真妙。【69】 + +#7 (戊三)讚能仁王一切所說即引所化入解脫及一切智方便之理: + +柔軟及麁獷, 隨事化眾生, + +聖智無礙心, 一味皆平等。【70】 + +#7 (戊四)讚能仁王之語及出語之口曼荼羅二者無等倫之理: + +勝哉無垢業, 善巧喻良工, + +成此微妙身, 演斯珍寶句。【71】 + +覩者皆歡喜, 聞說並心開, + +美顏宣妙詞, 如月流甘露。【72】 + +#7 (戊五)讚能仁王諸語除所化諸煩惱之理: + +慈雲灑法雨, 能清染欲塵, + +如彼金翅王, 吞滅諸龍毒,【73】 + +能殄無明闇, 喻如千日光, + +摧碎我慢山, 譬猶天帝杵。【74】 + +#7 (戊六)讚能仁王之語全無前後相違、與義乖違等過失之理: + +現證非虛謬, 靜慮除亂心, + +如實善修行, 三事皆圓滿。【75】 + +#7 (戊七)讚能仁王之語漸次調伏所化心相續之理: + +創聞佛所說, 心喜已開明, + +從此善思惟, 消除諸垢染。【76】 + +遭苦能安慰, 放逸令生怖, + +著樂勸厭心, 隨事皆開誘。【77】 + +上智證法喜, 中根勝解生, + +淺劣發信心, 尊言遍饒益。【78】 + +善拔諸邪見, 引之趣涅槃, + +罪垢能洗除, 由尊降法雨。【79】 + +#7 (戊八)讚能仁王所記莂者絕無欺誑之理: + +一切智無礙, 恒住正念中, + +如來所記莂, 一向非虛謬。【80】 + +#7 (戊九)讚能仁王之語全不虛發之理: + +無非處非時, 亦無非器轉, + +尊言不虛發, 聞者悉勤修。【81】 + +#7 (戊十)示品名: + +讚語品第七 + +#6 (丁三)讚大師主要事業聖教分四:(讚聖教品第八) + +#7 (戊一)讚因何入佛聖教之理分四: + +#8 (己一)說佛教與外道教優劣差別、稱揚諸自好者須入此大寶佛教、由此之門讚: + +一路勝方便, 無雜可修學, + +初中後盡善, 餘教所皆無。【82】 + +#8 (己二)薄福及劣慧者難了此教、由難遇佛教之門讚: + +如斯一向善, 狂愚起謗心, + +此教若生嫌, 無怨與斯等。【83】 + +#8 (己三)思惟大師能仁王為立教故歷劫修無量苦行、由念大師恩及大悲亦須入此教、由如是稱揚之門讚: + +歷劫為群迷, 備經眾苦毒, + +此教縱非善, 念佛尚應修。【84】 + +#8 (己四)思惟別別所化一切利樂皆源自佛教而決定須入此教、由如是稱揚之門讚: + +況能大饒益, 復宣深妙義, + +縱使頭被焚, 先應救此教。【85】 + +#7 (戊二)由入佛教利益之門讚分三: + +#8 (己一)由入佛教有四大利益之門讚: + +自在菩提樂, 聖德恒淡然, + +皆由此教生, 證彼亡言處。【86】 + +#8 (己二)由入佛教當勝四魔之門讚: + +世雄真實教, 邪宗聞悉驚, + +魔王懷惱心, 人天生勝喜。【87】 + +大地無分別, 平等普能持, + +聖教利群生, 邪正俱蒙益。【88】 + +暫聞佛所說, 金剛種已成, + +縱未出樊籠, 終超死行處。【89】 + +#8 (己三)由入佛教當漸次得聞思修慧而稱遂之門讚: + +聞法方思義, 如實善修行, + +次第三慧圓, 餘教皆無此。【90】 + +#7 (戊三)由說不入不敬此教過患之門讚佛聖教: + +唯獨牛王仙, 妙契真圓理, + +斯教不勤修, 寧有怨過此?【91】 + +#7 (戊四)示品名: + +讚聖教品第八 + +#6 (丁四)讚大師成就往昔發心及發願之理分五:(讚本願品第九) + +#7 (戊一)讚大師成就攝受一切見聞念觸者願力之理: + +暫聞除渴愛, 邪見信心生, + +聽者發喜心, 依斯具淨戒。【92】 + +誕應時咸喜, 成長世皆歡, + +大化利群生, 示滅興悲感。【93】 + +讚詠除眾毒, 憶念招欣慶, + +尋求發慧明, 解悟心圓潔。【94】 + +遇者令尊貴, 恭侍勝心生, + +承事感福因, 親奉除憂苦。【95】 + +#7 (戊二)由種種譬喻門讚佛功德: + +屍羅具清潔, 靜慮心澄寂, + +般若圓智融, 恒沙福所集。【96】 + +尊容及尊教, 及尊所證法, + +見聞思覺中, 此寶最殊勝。【97】 + +#7 (戊三)由般若經中所說別號之門讚大師: + +漂流作洲渚, 害己恒為護, + +怖者作歸依, 引之令解脫。【98】 + +#7 (戊四)由經中所說種種譬喻之門讚大師: + +淨戒成妙器, 良田生勝果, + +善友能饒益, 慧命由此成。【99】 + +行恩及和忍, 見者咸欣悅, + +廣集仁慈心, 功德無邊際。【100】 + +身口無過惡, 愛敬由之生, + +吉祥眾義利, 咸依善逝德。【101】 + +#7 (戊五)示品名: + +讚本願品第九 + +#6 (丁五)讚大師導諸所化入自已行道之理分七:(讚入道品第十) + +#7 (戊一)讚大師能仁王是無上丈夫調禦士之理: + +導師能善誘, 墮慢使翹勤, + +等持調曲心, 迷途歸正道。【102】 + +善根成熟者, 駕馭以三乘, + +[怡-台+龍]悷不調人, 由悲故暫捨。【103】 + +#7 (戊二)讚大師能仁王受許饒益群生之理: + +於遭厄能設, 安樂勸善修, + +悲湣苦眾生, 利樂諸群品。【104】 + +#7 (戊三)讚大師能仁王是一切眾生尊重之理: + +違害興慈念, 失行者生憂, + +暴虐起悲心, 聖德無能讚。【105】 + +恩深於罔極, 舉世所咸知, + +於此返生怨, 尊恒起慈湣。【106】 + +#7 (戊四)讚大師能仁王饒益諸愚昧有情之理: + +亡身救一切, 自事不生憂, + +於諸崩墮人, 親能為援護。【107】 + +#7 (戊五)讚大師能仁王饒益堪成器種性醒覺所化之理: + +二世行恩造, 超過諸世間, + +於闇常照明, 尊為慧燈炷。【108】 + +#7 (戊六)讚大師能仁王稱頌為人天師之理: + +人天所受用, 隨類有差殊, + +唯尊正法味, 平等無差別。【109】 + +不觀於氏族, 色力及年華, + +隨有善根人, 求者皆蒙遂。【110】 + +廣現諸稀有, 無緣起大慈, + +聖眾及人天, 合掌咸親近。【111】 + +嗚呼生死畏, 佛出乃光暉, + +饒益諸眾生, 皆能滿其願。【112】 + +#7 (戊七)示品名: + +讚入道品第十 + +#6 (丁六)讚大師為利所化修苦行之理分六:(讚苦行品第十一) + +#7 (戊一)讚大師能仁王因何修苦行之理: + +惡人與共處, 摧樂取憂危, + +謗惱害其身, 猶如受勝德。【113】 + +為物行勤苦, 曾無染著心, + +世尊稀有德, 難以名言說。【114】 + +#7 (戊二)讚大師能仁王如何修苦行之理: + +尊遊嶮惡道, 馬麥及牛鏘, + +苦行經六年, 安受心無退。【115】 + +尊居最勝位, 悲湣化群生, + +縱遇輕賤人, 身語逾謙敬。【116】 + +或位尊貴主, 曾無憍慢心, + +屈己事眾生, 卑恭如僕使。【117】 + +機情億萬種, 論難百千端, + +如來慈善音, 一答疑皆斷。【118】 + +#7 (戊三)讚大師能仁王饒益怨害者之理: + +恩深過覆載, 背德起深怨, + +尊觀怨極境, 猶如極重恩。【119】 + +怨於尊轉害, 尊於怨轉親, + +彼恒求佛過, 佛以彼為恩。【120】 + +#7 (戊四)讚大師能仁王怨害者對之無法加害之理: + +邪宗妬心請, 毒飯與火坑, + +悲願化清池, 變毒成甘露。【121】 + +以忍調恚怒, 真言銷謗毀, + +慈力伏魔怨, 正智降邪毒。【122】 + +#7 (戊五)讚大師能仁王救護眾惡人之理: + +群迷從曠劫, 習惡以性成, + +唯尊妙行圓, 一念翻令善。【123】 + +#7 (戊七)示品名: + +讚苦行品第十一 + +#6 (丁七)讚大師善巧饒益所化之理分六:(讚善巧品第十二) + +#7 (戊一)讚大師善巧調伏所化方便之理: + +溫柔降暴虐, 惠施破慳貪, + +善語伏麁言, 唯尊勝方便。【124】 + +難提摧巨慢, 鴦掘起慈心, + +難調能善調, 誰不讚稀有?【125】 + +唯尊聖弟子, 法味自怡神, + +草座以為安, 金床非所貴。【126】 + +#7 (戊二)讚大師善巧教誡所化時宜之理: + +善知根欲性, 攝化任機緣, + +或有待其請, 或無問自說。【127】 + +#7 (戊三)讚大師善巧漸次調伏所化心相續之理: + +初陳施戒等, 漸次淨心生, + +後談真實法, 究竟令圓證。【128】 + +怖畏漂流處, 唯佛可歸依, + +勇猛大悲尊, 拯濟諸群品。【129】 + +身雲遍法界, 法雨灑塵方, + +應現各不同, 隨機故有異。【130】 + +#7 (戊四)讚大師一切饒益有情事定為純善之理: + +善淨無違諍, 唯尊可承奉, + +廣利諸人天, 咸應興供養。【131】 + +身口無起作, 善化遍群方, + +所說妙相應, 此德唯尊有。【132】 + +#7 (戊五)讚此世间中饶益所化無人勝過大師之理: + +久修三業淨, 妙瑞現無邊, + +普觀諸世間, 曾無此勝德。【133】 + +況於極惡者, 純行最上悲, + +廣利諸眾生, 勇猛勤精進。【134】 + +#7 (戊六)示品名: + +讚善巧品第十二 + +#6 (丁八)讚大師于所化所作饒益咸盡其責之理分五:(讚不負債品第十三) + +#7 (戊一)讚大師于所化所作饒益咸盡其責故不負債之理分四: + +#8 (己一)言“修習大師能仁王所說法義證聲聞獨覺阿羅漢者未能報佛深恩”而讚: + +聲聞知法者, 於尊恒奉事, + +設使證涅槃, 終名為負債。【135】 + +#8 (己二)言“所有修習大師所說法者咸未能報佛深恩”而讚: + +彼等諸聖眾, 為己而修學, + +由捨利生心, 不名還債者。【136】 + +#8 (己三)讚大師救護一切有情之理: + +無明睡已覺, 悲觀遍群方, + +荷負起翹勤, 聖善宜親近。【137】 + +#8 (己四)讚大師不饒益所化都非有故不負債之理分三: + +#9 (庚一)讚大師擊敗能障所化證解脫及一切智諸魔故不負債之理分三: + +#10 (辛一)讚大師說壞煩惱魔方便故不負債之理;(辛二)讚大師擊敗天子魔故不負債之理;(辛三)讚大師說壞蘊魔死主魔方便故不負債之理: + +魔怨興惱害, 佛力已能除, + +無畏功德中, 斯但顯少分。【138】 + +#9 (庚二)讚大師為諸所化說成辦解脫及一切智一切所須故不負債之理: + +悲心化一切, 聖意絕希求, + +利樂無不施, 能事斯皆畢。【139】 + +如來勝妙法, 若或可遷移, + +調達與善星, 不應投此教。【140】 + +無始流轉中, 互為不饒益, + +由斯佛出世, 開示化眾生。【141】 + +鹿苑度俱隣, 堅林化須跋, + +此土根緣盡, 更無餘債牽。【142】 + +#9 (庚三)讚大師色身于眾生所作饒益咸盡其責故不負債之理: + +法輪久已轉, 覺悟諸群迷, + +恒沙受學人, 皆能利三有。【143】 + +以勝金剛定, 自碎堅牢身, + +不捨於大悲, 自化猶分佈。【144】 + +二利行已滿, 色法兩身圓, + +救攝一闡提, 雙林顯佛性。【145】 + +悲心貫三有, 色像應群方, + +粟粒以分身, 爾乃居圓寂。【146】 + +#7 (戊二)攝上述讚頌文義以稀奇之詞讚: + +善哉奇特行, 稀有功德身, + +大覺諸法門, 世所未曾有。【147】 + +流恩遍含識, 身語恒寂然, + +凡愚背聖恩, 於尊興謗怒。【148】 + +法聚寶藏真無際, 德源福海實難量, + +若有眾生曾禮尊, 禮彼亦名為善禮。【149】 + +#7 (戊三)大師能仁王功德言不能盡、然作此略說亦屬有緣、自我讚勵: + +聖德神功無有盡, 我今智劣喻微塵, + +欲讚如來功德山, 望崖怯退由斯止。【150】 + +無量無數無邊境, 難思難見難證理, + +唯佛聖智獨了知, 豈是凡愚所能讚。【151】 + +一毫一相充法界, 一行一德遍心源, + +清淨廣大喻芳池, 能療眾生煩惱渴。【152】 + +#7 (戊四)迴向造此讚頌文之善: + +我讚牟尼功德海, 憑斯善業趣菩提, + +普願含生發勝心, 永離凡愚虛妄識。【153】 + +#7 (戊五)示品名: + +讚不負債品第十三 + +#3 (乙三)結束分二: + +(丙一)何人所造(略) + +(丙二)何人翻譯(略) + +一百五十讚佛頌 + diff --git "a/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\344\271\235\346\234\203\351\207\221\345\210\232\350\210\254\350\213\245.md" "b/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\344\271\235\346\234\203\351\207\221\345\210\232\350\210\254\350\213\245.md" new file mode 100644 index 0000000..ee9b6fb --- /dev/null +++ "b/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\344\271\235\346\234\203\351\207\221\345\210\232\350\210\254\350\213\245.md" @@ -0,0 +1,1064 @@ +#1 金剛般若波羅蜜經 | 大般若經第九會 + +#2 金剛般若波羅蜜經 | 大般若經第九會 + +#3 甲一、序分 + +#4 乙一、通序 + +#5 如是我聞:一時,佛在舍衛國祇樹給孤獨園,與大比丘眾千二百五十人俱。 + +如是我闻。一时,薄伽梵在室罗筏,住誓多林给孤独园,与大苾刍众千二百五十人俱。 + +#4 乙二、别序 + +#5 爾時,世尊,食時,著衣持缽,入舍衛大城乞食。 + +尔时,世尊于日初分,整理裳服,执持衣钵,入室罗筏大城乞食。 + +#5 於其城中次第乞已,還至本處。飯食訖,收衣缽,洗足已,敷座而坐。 + +时薄伽梵于其城中,行乞食已,出还本处。饭食讫,收衣钵,洗足已,于食后时,敷如常座,结跏趺坐,端身正愿,住对面念。 + +时,诸苾刍来诣佛所。到已,顶礼世尊双足,右繞三匝,退坐一面。 + +#3 甲一、正宗分四 + +#4 乙一、善现虔恭赞请 + +#5 時長老須菩提,在大眾中, + +具寿善现亦于如是众会中坐。 + +#5 即從座起,偏袒右肩,右膝著地,合掌恭敬而白佛言: + +尔时,众中具寿善现从座而起,偏袒一肩,右膝着地,合掌恭敬而白佛言: + +#5 「希有世尊!如來善護念諸菩薩, + +「希有,世尊!乃至如来、应、正等觉,能以最胜摄受,摄受诸菩萨摩诃萨。 + +#5 善付囑諸菩薩! + +乃至如来、应、正等觉,能以最胜付嘱,付嘱诸菩萨摩诃萨。 + +#5 世尊!善男子、善女人發阿耨多羅三藐三菩提心,應云何住?云何降伏其心?」 + +世尊!诸有发趣菩萨乘者,应云何住?云何修行?云何摄伏其心?」 + +#4 乙二、如来叹印许陈 + +#5 佛言:「善哉!善哉!須菩提!如汝所說『如來善護念諸菩薩,善付囑諸菩薩!』 + +作是语已。尔时,世尊告具寿善现曰:「善哉!善哉!善现!如是,如是。如汝所说,乃至如来、应、正等觉,能以最胜摄受,摄受诸菩萨摩诃萨。乃至如来、应、正等觉,能以最胜付嘱,付嘱诸菩萨摩诃萨。 + +#5 汝今諦聽,當為汝說。善男子、善女人發阿耨多羅三藐三菩提心,應如是住,如是降伏其心!」 + +是故,善现!汝应谛听,极善作意,吾当为汝分别解说。诸有发趣菩萨乘者,应如是住,如是修行,如是摄伏其心。」 + +#4 乙三、敬诺希闻 + +#5 「唯然,世尊!願樂欲聞!」 + +具寿善现白佛言:「如是,如是。世尊!愿乐欲闻。」 + +#4 乙四、随问别答六(略八住处,广则十八住处)  + +#5 丙一、摄住处(一、发心住) + +#6 佛告須菩提:「諸菩薩摩訶薩應如是降伏其心:所有一切眾生之類︱︱若卵生、若胎生、若溼生、若化生,若有色、若無色,若有想、若無想、若非有想非無想,我皆令入無餘涅槃而滅度之。 + +佛言:「善现!诸有发趣菩萨乘者,应当发趣如是之心:所有诸有情,有情摄所摄,若卵生、若胎生、若湿生、若化生,若有色、若无色,若有想、若无想、若非有想非无想,乃至有情界,施设所施设,如是一切,我当皆令于无余依妙涅槃界而般涅槃。 + +#6 如是滅度無量無數無邊眾生,實無眾生得滅度者。 + +虽度如是无量有情,令灭度已,而无有情得灭度者。 + +何以故?善现!若诸菩萨摩诃萨有情想转,不应说名菩萨摩诃萨。 + +#6 何以故?須菩提!若菩薩有我相、人相、眾生相、壽者相,即非菩薩。 + +所以者何?善现!若诸菩萨摩诃萨,不应说言有情想转,如是命者想、士夫想、补特伽罗想、意生想、摩纳婆想、作者想、受者想转,当知亦尔。何以故?善现!无有少法名为发趣菩萨乘者。」 + +#5 丙二、波罗蜜净住处(二、波罗蜜相应行住处) + +#6 復次,須菩提!菩薩於法應無所住行於布施,所謂不住色布施,不住聲香味觸法布施。 + +「复次,善现!若菩萨摩诃萨,不住于事应行布施,都无所住应行布施:不住于色应行布施,不住声、香、味、触、法应行布施。 + +#6 須菩提!菩薩應如是布施,不住於相。 + +善现!如是菩萨摩诃萨如不住相想应行布施。 + +#6 何以故?若菩薩不住相布施,其福德不可思量。 + +何以故?善现!若菩萨摩诃萨都无所住而行布施,其福德聚不可取量。」 + +#6 須菩提!於意云何?東方虛空可思量不?」 + +佛告善现:「于汝意云何?东方虚空可取量不?」 + +#6 「不也,世尊!」 + +善现答言:「不也,世尊!」 + +#6 「須菩提!南、西、北方、四維、上、下虛空可思量不?」 + +「善现!如是南、西、北方,四维,上下,周遍十方一切世界虚空可取量不?」 + +#6 「不也,世尊!」 + +善现答言:「不也,世尊!」 + +#6 「須菩提!菩薩無住相布施,福德亦復如是不可思量。 + +佛言:「善现!如是,如是。若菩萨摩诃萨都无所住而行布施,其福德聚不可取量,亦复如是。 + +#6 須菩提!菩薩但應如所教住! + +善现!菩萨如是,如不住相想应行布施。」 + +#5 丙三、欲住处二 + +#6 丁一、(三)欲得色身 + +#7 須菩提!於意云何?可以身相見如來不?」 + +佛告善现:「于汝意云何?可以诸相具足观如来不?」 + +#7 「不也,世尊!不可以身相得見如來。何以故?如來所說身相,即非身相。」 + +善现答言:「不也,世尊!不应以诸相具足观于如来。何以故?如来说诸相具足,即非诸相具足。」 + +#7 佛告須菩提:「凡所有相,皆是虛妄;若見諸相非相,即見如來。」 + +说是语已。佛复告具寿善现言:「善现!乃至诸相具足皆是虚妄,乃至非相具足皆非虚妄。如是以相非相,应观如来。」 + +#6 丁二、(四)欲得法身二 + +#7 戊一、欲得言说法身 + +#8 須菩提白佛言:「世尊!頗有眾生得聞如是言說章句,生實信不?」 + +说是语已。具寿善现复白佛言:「世尊!颇有有情,于当来世、后时、后分、后五百岁,正法将灭时分转时,闻说如是色经典句,生实想不?」 + +#8 佛告須菩提:「莫作是說! + +佛告善现:「勿作是说:『颇有有情,于当来世、后时、后分、后五百岁,正法将灭时分转时,闻说如是色经典句,生实想不?』 + +#8 如來滅後,後五百歲,有持戒修福者,於此章句能生信心,以此為實。 + +然复,善现!有菩萨摩诃萨,于当来世、后时、后分、后五百岁,正法将灭时分转时,具足尸罗、具德、具慧。 + +#8 當知是人,不於一佛二佛三四五佛而種善根,已於無量千萬佛所種諸善根。聞是章句乃至一念生淨信者, + +复次,善现!彼菩萨摩诃萨非于一佛所,承事供养;非于一佛所,种诸善根。然复,善现!彼菩萨摩诃萨于其非一百千佛所,承事供养;于其非一百千佛所,种诸善根。乃能闻说如是色经典句,当得一净信心。 + +#8 須菩提!如來悉知悉見, + +善现!如来以其佛智悉已知彼,如来以其佛眼悉已见彼。善现!如来悉已觉彼。 + +#8 是諸眾生得如是無量福德。 + +一切有情当生无量无数福聚,当摄无量无数福聚。 + +#8 何以故?是諸眾生無復我相、人相、眾生相、壽者相, + +何以故?善现!彼菩萨摩诃萨无我想转,无有情想、无命者想、无士夫想、无补特伽罗想、无意生想、无摩纳婆想、无作者想、无受者想转。 + +#8 無法相,亦無非法相。 + +善现!彼菩萨摩诃萨无法想转,无非法想转,无想转亦无非想转。 + +#8 何以故?是諸眾生,若心取相,即為著我、人、眾生、壽者。若取法相,即著我、人、眾生、壽者。 + +所以者何?善现!若菩萨摩诃萨有法想转,彼即应有我执、有情执、命者执、补特伽罗等执。 + +#8 何以故?若取非法相,即著我、人、眾生、壽者。 + +若有非法想转,彼亦应有我执、有情执、命者执、补特伽罗等执。 + +#8 是故不應取法,不應取非法。 + +何以故?善现!不应取法,不应取非法。 + +#8 以是義故,如來常說:『汝等比丘!知我說法如筏喻者,法尚應捨,何況非法!』 + +是故,如来密意而说『筏喻』法门:『诸有智者,法尚应断,何况非法。』」 + +#7 戊二、欲得证得法身 二 + +#8 己一、欲得智相至得法身 + +#9 須菩提!於意云何?如來得阿耨多羅三藐三菩提耶?如來有所說法耶?」 + +佛复告具寿善现言:「善现!于汝意云何?颇有少法如来、应、正等觉,证得阿耨多罗三藐三菩提耶?颇有少法如来、应、正等觉,是所说耶?」 + +#9 須菩提言:「如我解佛所說義,無有定法名阿耨多羅三藐三菩提,亦無有定法如來可說。 + +善现答言:「世尊!如我解佛所说义者,无有少法如来、应、正等觉,证得阿耨多罗三藐三菩提,亦无有少法是如来、应、正等觉所说。 + +#9 何以故?如來所說法,皆不可取、不可說,非法、非非法。 + +何以故?世尊!如来、应、正等觉所证、所说、所思惟法,皆不可取、不可宣说,非法、非非法。 + +#9 所以者何?一切賢聖皆以無為法而有差別。」 + +何以故?以诸贤圣补特伽罗皆是无为之所显故。」 + +#8 己二、欲得福相至得法身 + +#9 「須菩提!於意云何?若人滿三千大千世界七寶以用布施,是人所得福德寧為多不?」 + +佛告善现:「于汝意云何?若善男子或善女人,以此三千大千世界盛满七宝,持用布施,是善男子或善女人,由此因缘所生福聚,宁为多不?」 + +#9 須菩提言:「甚多,世尊! + +善现答言:「甚多,世尊!甚多,善逝!是善男子或善女人,由此因缘所生福聚,其量甚多。 + +#9 何以故?是福德,即非福德性,是故如來說福德多。」 + +何以故?世尊!福德聚、福德聚者,如来说为非福德聚,是故如来说名福德聚、福德聚。」 + +#9 「若復有人於此經中,受持乃至四句偈等,為他人說,其福勝彼。 + +佛复告善现言:「善现!若善男子或善女人,以此三千大千世界盛满七宝,持用布施;若善男子或善女人,于此法门,乃至四句伽陀,受持、读诵,究竟通利,及广为他宣说开示,如理作意,由是因缘所生福聚,甚多于前无量无数。 + +#9 何以故?須菩提!一切諸佛及諸佛阿耨多羅三藐三菩提法,皆從此經出。 + +何以故?一切如来、应、正等觉阿耨多罗三藐三菩提,皆从此经出,诸佛世尊皆从此经生。 + +#9 須菩提!所謂佛法者,即非佛法,是名佛法。 + +所以者何?善现!诸佛法、诸佛法者,如来说为非诸佛法,是故如来说名诸佛法、诸佛法。」 + +#5 丙四、离障碍住处 十二 + +#6 丁一、(五、于修道得胜中 无慢 住处 | 对治 我得慢) + +#7 須菩提!於意云何?須陀洹能作是念:『我得須陀洹果』不?」 + +佛告善现:「于汝意云何?诸预流者颇作是念:我能证得预流果不?」 + +#7 須菩提言:「不也,世尊!何以故?須陀洹名為入流,而無所入,不入色聲香味觸法,是名須陀洹。」 + +善现答言:「不也,世尊!诸预流者不作是念:我能证得预流之果。何以故?世尊!诸预流者无少所预,故名预流。不预色、声、香、味、触、法,故名预流。 + +世尊!若预流者作如是念:我能证得预流之果,即为执我、有情、命者、士夫、补特伽罗等。」 + +#7 「須菩提!於意云何?斯陀含能作是念:『我得斯陀含果』不?」 + +佛告善现:「于汝意云何?诸一来者颇作是念:我能证得一来果不?」 + +#7 須菩提言:「不也,世尊!何以故?斯陀含名一往來,而實無往來,是名斯陀含。」 + +善现答言:「不也,世尊!诸一来者不作是念:我能证得一来之果。何以故?世尊!以无少法证一来性,故名一来。」 + +#7 「 須菩提!於意云何?阿那含能作是念:『我得阿那含果』不?」 + +佛告善现:「于汝意云何?诸不还者颇作是念:我能证得不还果不?」 + +#7 須菩提言:「不也,世尊!何以故?阿那含名為不來,而實無不來,是故名阿那含。」 + +善现答言:「不也,世尊!诸不还者不作是念:我能证得不还之果。何以故?世尊!以无少法证不还性,故名不还。」 + +#7 「 須菩提!於意云何?阿羅漢能作是念:『我得阿羅漢道』不?」 + +佛告善现:「于汝意云何?诸阿罗汉颇作是念:我能证得阿罗汉不?」 + +#7 須菩提言:「不也,世尊!何以故?實無有法名阿羅漢。 + +善现答言:「不也,世尊!诸阿罗汉不作是念:我能证得阿罗汉性。何以故?世尊!以无少法名阿罗汉,由是因缘名阿罗汉。 + +#7 世尊!若阿羅漢作是念:『我得阿羅漢道。』即為著我、人、眾生、壽者。 + +世尊!若阿罗汉作如是念:我能证得阿罗汉性,即为执我、有情、命者、士夫、补特伽罗等。 + +#7 世尊!佛說我得無諍三昧人中最為第一, + +所以者何?世尊!如来、应、正等觉,说我得无诤住最为第一。 + +#7 是第一離欲阿羅漢。我不作是念:『我是離欲阿羅漢。』 + +世尊!我虽是阿罗汉,永离贪欲,而我未曾作如是念:我得阿罗汉,永离贪欲。 + +#7 世尊!我若作是念:『我得阿羅漢道。』世尊則不說須菩提是樂阿蘭那行者。以須菩提實無所行,而名須菩提是樂阿蘭那行。」 + +世尊!我若作如是念:我得阿罗汉,永离贪欲者,如来不应记说我言:『善现,善男子,得无诤住最为第一。』以都无所住,是故如来说名无诤住、无诤住。」 + +#6 丁二、(六、不离佛出时 住处 | 离少闻) + +#7 佛告須菩提:「於意云何?如來昔在然燈佛所,於法有所得不?」 + +佛告善现:「于汝意云何?如来昔在然灯如来、应、正等觉所,颇于少法有所取不?」 + +#7 「不也,世尊!如來在然燈佛所,於法實無所得。」 + +善现答言:「不也,世尊!如来昔在然灯如来、应、正等觉所,都无少法而有所取。」 + +#6 丁三、(七、愿净佛土 住处 | 离小攀缘 作念修道)  + +#7 戊一、明严净土劝舍有相二 + +#8 「須菩提!於意云何?菩薩莊嚴佛土不?」「不也,世尊!」「何以故?莊嚴佛土者,即非莊嚴,是名莊嚴。」 + +佛告善现:「若有菩萨作如是言:『我当成办佛土功德庄严』,如是菩萨非真实语。何以故?善现!佛土功德庄严、佛土功德庄严者,如来说非庄严,是故如来说名佛土功德庄严、佛土功德庄严。 + +#7 戊二、劝生心令修无相因 + +#8 「是故須菩提!諸菩薩摩訶薩,應如是生清淨心,不應住色生心,不應住聲香味觸法生心,應無所住而生其心! + +是故,善现!菩萨如是都无所住应生其心:不住于色应生其心,不住非色应生其心;不住声、香、味、触、法应生其心,不住非声、香、味、触、法应生其心。都无所住应生其心。」 + +#6 丁四、(八、成熟众生 住处 | 离舍众生) + +#7 須菩提!譬如有人身如須彌山王,於意云何?是身為大不?」 + +佛告善现:「如有士夫具身大身,其色自体,假使譬如妙高山王。善现!于汝意云何?彼之自体为广大不?」 + +#7 須菩提言:「甚大,世尊!何以故?佛說非身,是名大身。」 + +善现答言:「彼之自体广大,世尊!广大,善逝!何以故?世尊!彼之自体,如来说非彼体,故名自体。非以彼体,故名自体。」 + +#6 丁五、(九、远离随顺外论散乱 住处 | 离乐外、散乱) + +#7 戊一、显此法胜异 + +#8 「須菩提!如恆河中所有沙數,如是沙等恆河,於意云何?是諸恆河沙寧為多不?」 + +佛告善现:「于汝意云何?乃至殑伽河中所有沙数,假使有如是沙等殑伽河,是诸殑伽河沙宁为多不?」 + +#8 須菩提言:「甚多,世尊!但諸恆河尚多無數,何況其沙?」 + +善现答言:「甚多,世尊!甚多,善逝!诸殑伽河尚多无数,何况其沙。」 + +#8 「須菩提!我今實言告汝:若有善男子、善女人以七寶滿爾所恆河沙數三千大千世界以用布施,得福多不?」 + +佛言:「善现!吾今告汝,开觉于汝,假使若善男子或善女人,以妙七宝盛满尔所殑伽河沙等世界,奉施如来、应、正等觉,善现!于汝意云何?是善男子或善女人,由此因缘所生福聚,宁为多不?」 + +#8 須菩提言:「甚多,世尊!」 + +善现答言:「甚多,世尊!甚多,善逝!是善男子或善女人,由此因缘所生福聚,其量甚多。」 + +#8 佛告須菩提:「若善男子、善女人於此經中乃至受持四句偈等,為他人說,而此福德勝前福德。 + +佛复告善现:「若以七宝盛满尔所沙等世界,奉施如来、应、正等觉;若善男子或善女人,于此法门,乃至四句伽他,受持、读诵,究竟通利,及广为他宣说开示,如理作意,由此因缘所生福聚,甚多于前无量无数。」 + +#8 復次,須菩提!隨說是經乃至四句偈等,當知此處一切世間天、人、阿修羅皆應供養如佛塔廟,何況有人盡能受持、讀誦!須菩提!當知是人成就最上第一希有之法! + +「复次,善现!若地方所,于此法门,乃至为他宣说,开示四句伽他,此地方所,尚为世间诸天及人、阿素洛等之所供养,如佛灵庙。何况有能于此法门具足究竟,书写、受持、读诵,究竟通利,及广为他宣说开示,如理作意。如是有情,成就最胜希有功德。 + +#8 若是經典所在之處,則為有佛,若尊重弟子。」 + +此地方所,大师所住,或随一一尊重处所,若诸有智同梵行者。」 + +#7 戊二、治如言起义执罪 + +#8 爾時,須菩提白佛言:「世尊!當何名此經?我等云何奉持?」 + +说是语已。具寿善现复白佛言:「世尊!当何名此法门?我当云何奉持?」 + +#8 佛告須菩提:「是經名為金剛般若波羅蜜。以是名字,汝當奉持! + +作是语已。佛告善现言:「具寿!今此法门名为『能断金刚般若波罗蜜多』如是名字,汝当奉持。 + +#8 所以者何?須菩提!佛說般若波羅蜜,即非般若波羅蜜,是名般若波羅蜜。 + +何以故?善现!如是般若波罗蜜多,如来说为非般若波罗蜜多,是故如来说名般若波罗蜜多。」 + +#7 戊三、显自相及平等相法门第一义 + +#8 須菩提!於意云何?如來有所說法不?」 + +佛告善现:「于汝意云何?颇有少法如来可说不?」 + +#8 須菩提白佛言:「世尊!如來無所說。」 + +善现答言:「不也,世尊!无有少法,如来可说。」 + +#6 丁六、(十、色及众生身摶取中 观破相应行 住处 | 离 于影像相自在中 无巧便)   + +#7 戊一、为破色身影像二 + +#8 己一、细作方便 + +#9 「須菩提!於意云何?三千大千世界所有微塵,是為多不?」 + +佛告善现:「乃至三千大千世界大地微尘,宁为多不?」 + +#8 己二、不念方便 + +#9 須菩提言:「甚多,世尊!」「須菩提!諸微塵,如來說非微塵,是名微塵。 + +善现答言:「此地微尘甚多,世尊!甚多,善逝!」 + +佛言:「善现!大地微尘,如来说非微尘,是故如来说名大地微尘。 + +#7 戊二、为破众生名身影像故不念方便 + +#8 如來說世界,非世界,是名世界。 + +诸世界,如来说非世界,是故如来说名世界。」 + +#6 丁七、(十一、供养给侍如来 住处 | 离不具福资粮) + +#7 須菩提!於意云何?可以三十二相見如來不?」 + +佛告善现:「于汝意云何?应以三十二大士夫相,观于如来、应、正等觉不?」 + +#7 「不也,世尊!不可以三十二相得見如來, + +善现答言:「不也,世尊!不应以三十二大士夫相,观于如来、应、正等觉。 + +#7 何以故?如來說三十二相,即是非相,是名三十二相。」 + +何以故?世尊!三十二大士夫相,如来说为非相,是故如来说名三十二大士夫相。」 + +#6 丁八、(十二、远离利养及疲乏、热恼故 不起精进及退失 住处 | 離懈怠、利養等樂味) + +#7 戊一、约内财校量经胜 + +#8 「須菩提!若有善男子、善女人以恆河沙等身命布施;若復有人,於此經中乃至受持四句偈等,為他人說,其福甚多!」 + +佛复告善现言:「假使若有善男子或善女人,于日日分,舍施殑伽河沙等自体,如是经殑伽河沙等劫数,舍施自体;复有善男子或善女人,于此法门,乃至四句伽他,受持、读诵,究竟通利,及广为他宣说开示,如理作意,由是因缘所生福聚,甚多于前无量无数。」 + +#7 戊二、须菩提泣叹未闻释所以三 + +#8 己一、正释所感 + +#9 爾時,須菩提聞說是經,深解義趣,涕淚悲泣而白佛言: + +尔时,具寿善现闻法威力,悲泣堕泪,俯仰扪泪而白佛言: + +#9 「希有世尊!佛說如是甚深經典, + +「甚奇希有,世尊!最极希有,善逝!如来今者所说法门,普为发趣最上乘者作诸义利,普为发趣最胜乘者作诸义利。 + +#8 己二、离实想分别过 + +#9 我從昔來所得慧眼,未曾得聞如是之經!世尊!若復有人得聞是經,信心清淨,即生實相,當知是人成就第一希有功德。 + +世尊!我昔生智以来,未曾得闻如是法门。世尊!若诸有情闻说如是甚深经典,生真实想,当知成就最胜希有。 + +#9 世尊!是實相者,即是非相,是故如來說名實相。 + +何以故?世尊!诸真实想、真实想者,如来说为非想,是故如来说名真实想、真实想。 + +#8 己三、为令味着利养过菩萨惭愧起精进 + +#9 世尊!我今得聞如是經典,信解受持,不足為難。 + +世尊!我今闻说如是法门,领悟、信解,未为希有。 + +#9 若當來世,後五百歲,其有眾生得聞是經,信解受持,是人則為第一希有! + +若诸有情于当来世、后时、后分、后五百岁,正法将灭时分转时,当于如是甚深法门,领悟、信解、受持、读诵,究竟通利,及广为他宣说开示,如理作意,当知成就最胜希有。 + +#9 何以故?此人無我相、人相、眾生相、壽者相。 + +何以故?世尊!彼诸有情,无我想转,无有情想、无命者想、无士夫想、无补特伽罗想、无意生想、无摩纳婆想、无作者想、无受者想转。 + +#9 所以者何?我相即是非相,人相、眾生相、壽者相即是非相。 + +】所以者何?世尊!诸我想即是非想,诸有情想、命者想、士夫想、补特伽罗想、意生想、摩纳婆想、作者想、受者想,即是非想。 + +#9 何以故?離一切諸相,即名諸佛。」 + +何以故?诸佛世尊离一切想。」 + +#7 戊三、如来印可二 + +#8 己一、正明印可 + +#9 佛告須菩提:「如是!如是!若復有人得聞是經,不驚、不怖、不畏,當知是人甚為希有! + +作是语已。尔时,世尊告具寿善现言:「如是,如是。善现!若诸有情闻说如是甚深经典,不惊不惧,无有怖畏,当知成就最胜希有。何以故?善现!如来说最胜波罗蜜多,谓般若波罗蜜多。善现!如来所说最胜波罗蜜多,无量诸佛世尊所共宣说,故名最胜波罗蜜多。 + +#8 己二、释由显胜 + +#9 何以故?須菩提!如來說第一波羅蜜,非第一波羅蜜,是名第一波羅蜜。 + +如来说最胜波罗蜜多,即非波罗蜜多,是故如来说名最胜波罗蜜多。 + +#6 丁九、(十三、忍苦 住处 分三 | 离不能忍苦) + +#7 戊一、如所能忍 + +#8 須菩提!忍辱波羅蜜,如來說非忍辱波羅蜜,是名忍辱波羅蜜。 + +复次,善现!如来说忍辱波罗蜜多,即非波罗蜜多,是故如来说名忍辱波罗蜜多。 + +#7 戊二、明忍苦相二 + +#8 己一、引一生证极苦忍 + +#9 何以故?須菩提!如我昔為歌利王割截身體,我於爾時無我相、無人相、無眾生相、無壽者相。 + +何以故?善现!我昔过去世曾为羯利王断支节肉,我于尔时都无我想、或有情想、或命者想、或士夫想、或补特伽罗想、或意生想、或摩纳婆想、或作者想、或受者想。我于尔时都无有想,亦非无想。 + +#9 何以故?我於往昔節節支解時,若有我相、人相、眾生相、壽者相,應生瞋恨。 + +何以故?善现!我于尔时若有我想,即于尔时应有恚想。我于尔时若有有情想、命者想、士夫想、补特伽罗想、意生想、摩纳婆想、作者想、受者想,即于尔时应有恚想。 + +#8 己二、引多生证相续忍 + +#9 須菩提!又念過去於五百世作忍辱仙人,於爾所世無我相、無人相、無眾生相、無壽者相。 + +何以故?善现!我忆过去五百生中,曾为自号忍辱仙人。我于尔时,都无我想、无有情想、无命者想、无士夫想、无补特伽罗想、无意生想、无摩纳婆想、无作者想、无受者想。我于尔时都无有想,亦非无想。 + +#7 戊三、明对治三 + +#8 己一、对治流转生死苦忍 + +#9 是故須菩提!菩薩應離一切相發阿耨多羅三藐三菩提心!不應住色生心,不應住聲香味觸法生心,應生無所住心! + +是故,善现!菩萨摩诃萨远离一切想,应发阿耨多罗三藐三菩提心。不住于色应生其心,不住非色应生其心,不住声、香、味、触、法应生其心,不住非声、香、味、触、法应生其心。都无所住应生其心。 + +#9 若心有住,即為非住,是故佛說菩薩心不應住色布施。 + +何以故?善现!诸有所住,则为非住。是故如来说:诸菩萨应无所住而行布施,不应住色、声、香、味、触、法而行布施。 + +#8 己二、对治众生相违苦忍 + +#9 須菩提!菩薩為利益一切眾生,應如是布施!如來說一切諸相,即是非相。又說一切眾生,則非眾生。 + +复次,善现!菩萨摩诃萨为诸有情作义利故,应当如是弃舍布施。何以故?善现!诸有情想即是非想。一切有情,如来即说为非有情。 + +#9 須菩提!如來是真語者、實語者、如語者、不誑語者、不異語者。 + +善现!如来是实语者、谛语者、如语者、不异语者。 + +#9 須菩提!如來所得法,此法無實無虛。 + +复次,善现!如来现前等所证法、或所说法、或所思法,即于其中,非谛、非妄。 + +#8 己三、对治乏受用苦忍 + +#9 須菩提!若菩薩心住於法而行布施,如人入闇,則無所見;若菩薩心不住法而行布施,如人有目,日光明照,見種種色。 + +善现!譬如士夫入于暗室,都无所见,当知菩萨若堕于事,谓堕于事而行布施,亦复如是。善现!譬如明眼士夫,过夜晓已,日光出时,见种种色,当知菩萨不堕于事,谓不堕事而行布施,亦复如是。 + +#6 丁十、(十四、离寂静味 住处 分二 | 离缺少智资粮)  + +#7 戊一、五种胜功德五 + +#8 己一、如来忆念亲近 + +#9 須菩提!當來之世,若有善男子、善女人能於此經受持、讀誦,則為如來以佛智慧悉知是人,悉見是人, + +复次,善现!若善男子或善女人,于此法门受持、读诵,究竟通利,及广为他宣说开示,如理作意,则为如来以其佛智,悉知是人,则为如来以其佛眼,悉见是人,则为如来悉觉是人,如是有情,一切当生无量福聚。」 + +#8 己二、摄福德 + +#9 皆得成就無量無邊功德。須菩提!若有善男子、善女人初日分以恆河沙等身布施,中日分復以恆河沙等身布施,後日分亦以恆河沙等身布施,如是無量百千萬億劫以身布施;若復有人聞此經典信心不逆,其福勝彼,何況書寫、受持、讀誦、為人解說! + +「复次,善现!假使善男子或善女人,日初时分以殑伽河沙等自体布施,日中时分复以殑伽河沙等自体布施,日后时分亦以殑伽河沙等自体布施,由此异门,经于俱胝那庾多百千劫,以自体布施;若有闻说如是法门,不生诽谤,由此因缘所生福聚,尚多于前无量无数,何况能于如是法门具足毕竟,书写、受持、读诵,究竟通利,及广为他宣说开示,如理作意。 + +#8 己三、赞叹法及修行二 + +#9 庚一、赞叹法 + +#10 須菩提!以要言之,是經有不可思議、不可稱量、無邊功德!如來為發大乘者說,為發最上乘者說。 + +复次,善现!如是法门不可思议、不可称量。应当希冀不可思议所感异熟。善现!如来宣说如是法门,为欲饶益趣最上乘诸有情故,为欲饶益趣最胜乘诸有情故。善现!若有于此法门,受持、读诵,究竟通利,及广为他宣说开示,如理作意,即为如来以其佛智,悉知是人,即为如来以其佛眼,悉见是人,则为如来悉觉是人,如是有情,一切成就无量福聚,皆当成就不可思议、不可称量、无边福聚。 + +#9 庚二、赞叹修行 + +#10 若有人能受持、讀誦、廣為人說,如來悉知是人、悉見是人,皆得成就不可量、不可稱、無有邊、不可思議功德。如是人等,則為荷擔如來阿耨多羅三藐三菩提。何以故?須菩提!若樂小法者,著我見、人見、眾生見、壽者見,則於此經不能聽受、讀誦、為人解說。 + +善现!如是一切有情,其肩荷担如来无上正等菩提。何以故?善现!如是法门,非诸下劣信解有情所能听闻,非诸我见、非诸有情见、非诸命者见、非诸士夫见、非诸补特伽罗见、非诸意生见、非诸摩纳婆见、非诸作者见、非诸受者见,所能听闻。此等若能受持、读诵,究竟通利,及广为他宣说开示,如理作意,无有是处。 + +#8 己四、天等供养 + +#9 須菩提!在在處處若有此經,一切世間天、人、阿修羅所應供養;當知此處則為是塔,皆應恭敬作禮圍繞,以諸華香而散其處。 + +复次,善现!若地方所开此经典,此地方所,当为世间诸天及人、阿素洛等之所供养,礼敬右繞,如佛灵庙。」 + +#8 己五、灭罪 + +#9 復次、須菩提!善男子善女人,受持、讀誦此經,若為人輕賤, + +「复次,善现!若善男子或善女人,于此经典,受持、读诵,究竟通利,及广为他宣说开示,如理作意,若遭轻毁,极遭轻毁。 + +#9 是人先世罪業應墮惡道,以今世人輕賤故,先世罪業則為消滅,當得阿耨多羅三藐三菩提。 + +所以者何?善现!是诸有情,宿生所造诸不净业,应感恶趣,以现法中遭轻毁故,宿生所造诸不净业,皆悉消尽,当得无上正等菩提。 + +#7 戊二、重解摄福德三 + +#8 己一、显福聚威力 + +#9 須菩提!我念過去無量阿僧祇劫,於然燈佛前,得值八百四千萬億那由他諸佛,悉皆供養承事,無空過者。 + +何以故?善现!我忆过去于无数劫,复过无数,于然灯如来、应、正等觉,先复过先,曾值八十四俱胝那庾多百千诸佛,我皆承事。既承事已,皆无违犯。 + +#9 若復有人於後末世,能受持、讀誦此經所得功德,於我所供養諸佛功德,百分不及一,千萬億分乃至算數譬喻所不能及。 + +善现!我于如是诸佛、世尊,皆得承事。既承事已,皆无违犯,若诸有情,后时、后分、后五百岁,正法将灭时分转时,于此经典,受持、读诵,究竟通利,及广为他宣说开示,如理作意,善现!我先福聚,于此福聚,百分计之所不能及,如是千分、若百千分、若俱胝百千分、若俱胝那庾多百千分、若数分、若计分、若算分、若喻分、若邬波尼杀昙分,亦不能及。 + +#8 己二、显具足胜大(多) + +#9 須菩提!若善男子、善女人於後末世,有受持、讀誦此經所得功德,我若具說者,或有人聞,心則狂亂,狐疑不信。 + +善现!我若具说,当于尔时,是善男子或善女人所生福聚,乃至是善男子、是善女人所摄福聚,有诸有情,则便迷闷,心惑狂乱。 + +#8 己三、显福体及果不可测量 + +#9 須菩提!當知是經義不可思議,果報亦不可思議!」 + +是故,善现!如来宣说如是法门,不可思议、不可称量。应当希冀不可思议所感异熟。」 + +#6 丁十一、(十五、于证道时远离喜动 住处 | 远离自取) + +#7 爾時,須菩提白佛言:「世尊!善男子、善女人發阿耨多羅三藐三菩提心,云何應住?云何降伏其心?」 + +尔时,具寿善现复白佛言:「世尊!诸有发趣菩萨乘者,应云何住?云何修行?云何摄伏其心?」 + +#7 佛告須菩提:「善男子、善女人發阿耨多羅三藐三菩提心者,當生如是心:『我應滅度一切眾生, + +佛告善现:「诸有发趣菩萨乘者,应当发起如是之心:我当皆令一切有情,于无余依妙涅槃界而般涅槃。 + +#7 滅度一切眾生已,而無有一眾生實滅度者。』 + +虽度如是一切有情令灭度已,而无有情得灭度者。 + +#7 何以故?若菩薩有我相、人相、眾生相、壽者相,則非菩薩。 + +何以故?善现!若诸菩萨摩诃萨有情想转,不应说名菩萨摩诃萨。所以者何?若诸菩萨摩诃萨,不应说言有情想转。如是,命者想、士夫想、补特伽罗想、意生想、摩纳婆想、作者想、受者想转,当知亦尔。 + +#7 所以者何?須菩提!實無有法發阿耨多羅三藐三菩提心者。 + +何以故?善现!无有少法名为发趣菩萨乘者。」 + +#6 丁十二、(十六、求教授 住处 | 离 无教授) + +#7 須菩提!於意云何?如來於然燈佛所,有法得阿耨多羅三藐三菩提不?」 + +佛告善现:「于汝意云何?如来昔于然灯如来、应、正等觉所,颇有少法能证阿耨多罗三藐三菩提不?」 + +#7 「不也,世尊!如我解佛所說義,佛於然燈佛所,無有法得阿耨多羅三藐三菩提。」 + +作是语已。具寿善现白佛言:「世尊!如我解佛所说义者,如来昔于然灯如来、应、正等觉所,无有少法能证阿耨多罗三藐三菩提。」 + +#7 佛言:「如是!如是!須菩提!實無有法如來得阿耨多羅三藐三菩提。 + +说是语已。佛告具寿善现言:「如是,如是。善现!如来昔于然灯如来、应、正等觉所,无有少法能证阿耨多罗三藐三菩提。 + +#7 須菩提!若有法如來得阿耨多羅三藐三菩提者,然燈佛則不與我授記:『汝於來世當得作佛,號釋迦牟尼。』 + +何以故?善现!如来昔于然灯如来、应、正等觉所,若有少法能证阿耨多罗三藐三菩提者,然灯如来、应、正等觉,不应授我记言:『汝摩纳婆!于当来世,名释迦牟尼如来、应、正等觉。』 + +#7 以實無有法得阿耨多羅三藐三菩提,是故然燈佛與我授記,作是言:『汝於來世當得作佛,號釋迦牟尼。』 + +善现!以如来无有少法能证阿耨多罗三藐三菩提,是故然灯如来、应、正等觉,授我记言:『汝摩纳婆!于当来世,名释迦牟尼如来、应、正等觉。』 + +#7 何以故?如來者,即諸法如義。 + +所以者何?善现!言如来者,即是真实真如增语。言如来者,即是无生法性增语。言如来者,即是永断道路增语。言如来者,即是毕竟不生增语。何以故?善现!若实无生,即最胜义。 + +#7 若有人言:『如來得阿耨多羅三藐三菩提。』 + +善现!若如是说如来、应、正等觉能证阿耨多罗三藐三菩提者,当知此言为不真实。所以者何?善现!由彼谤我,起不实执。 + +#7 須菩提!實無有法佛得阿耨多羅三藐三菩提。 + +何以故?善现!无有少法如来、应、正等觉,能证阿耨多罗三藐三菩提。 + +#7 須菩提!如來所得阿耨多羅三藐三菩提,於是中無實無虛,是故如來說一切法皆是佛法。 + +善现!如来现前等所证法、或所说法、或所思法,即于其中,非谛、非妄,是故如来说:一切法皆是佛法。 + +#7 須菩提!所言一切法者,即非一切法,是故名一切法。 + +善现!一切法、一切法者,如来说非一切法,是故如来说名一切法、一切法。」 + +#5 丙五、净心住处 二(十七、证道 住处)   + +#6 丁一、得智 + +#7 須菩提!譬如人身長、大。」 + +佛告善现:「譬如士夫具身大身。」 + +#7 須菩提言:「世尊!如來說人身長、大,則為非大身,是名大身。」 + +具寿善现即白佛言:「世尊!如来所说士夫具身大身,如来说为非身,是故说名具身大身。」 + +#6 丁二、离慢 + +#7 「須菩提!菩薩亦如是。若作是言:『我當滅度無量眾生。』則不名菩薩。 + +佛言:「善现!如是,如是。若诸菩萨作如是言:『我当灭度无量有情』,是则不应说名菩萨。何以故?善现!颇有少法名菩萨不?」 + +#7 何以故?須菩提!實無有法名為菩薩。 + +善现答言:「不也,世尊!无有少法名为菩萨。」 + +#7 是故佛說:一切法無我、無人、無眾生、無壽者。 + +佛告善现:「有情、有情者,如来说非有情,故名有情。是故如来说:一切法无有有情、无有命者、无有士夫、无有补特伽罗等。 + +#5 丙六、究竟住处六(十八、上求佛地住)  + +#6 丁一、国土净具足 + +#7 須菩提!若菩薩作是言:『我當莊嚴佛土。』是不名菩薩。何以故?如來說莊嚴佛土者,即非莊嚴,是名莊嚴。 + +善现!若诸菩萨作如是言:『我当成办佛土功德庄严』,亦如是说。何以故?善现!佛土功德庄严;佛土功德庄严者,如来说非庄严,是故如来说名佛土功德庄严、佛土功德庄严。 + +#7 須菩提!若菩薩通達無我法者,如來說名真是菩薩。 + +善现!若诸菩萨于无我法、无我法,深信解者,如来、应、正等觉,说为菩萨、菩萨。」 + +#6 丁二、无上见智净具足二 + +#7 戊一、见净 + +#8 須菩提!於意云何?如來有肉眼不?」 + +佛告善现:「于汝意云何?如来等现有肉眼不?」 + +#8 「如是!世尊!如來有肉眼。」 + +善现答言:「如是,世尊!如来等现有肉眼。」 + +#8 「須菩提!於意云何?如來有天眼不?」 + +佛言:「善现!于汝意云何?如来等现有天眼不?」 + +#8 「如是!世尊!如來有天眼。」 + +善现答言:「如是,世尊!如来等现有天眼。」 + +#8 「須菩提!於意云何?如來有慧眼不?」 + +佛言:「善现!于汝意云何?如来等现有慧眼不?」 + +#8 「如是!世尊!如來有慧眼。」 + +善现答言:「如是,世尊!如来等现有慧眼。」 + +#8 「須菩提!於意云何?如來有法眼不?」 + +佛言:「善现!于汝意云何?如来等现有法眼不?」 + +#8 「如是!世尊!如來有法眼。」 + +善现答言:「如是,世尊!如来等现有法眼。」 + +#8 「須菩提!於意云何?如來有佛眼不?」 + +佛言:「善现!于汝意云何?如来等现有佛眼不?」 + +#8 「如是!世尊!如來有佛眼。」 + +善现答言:「如是,世尊!如来等现有佛眼。」 + +#7 戊二、智净 + +#8 「須菩提!於意云何?如恆河中所有沙,佛說是沙不?」 + +佛告善现:「于汝意云何?乃至殑伽河中所有诸沙,如来说是沙不?」 + +#8 「如是!世尊!如來說是沙」。 + +善现答言:「如是,世尊!如是,善逝!如来说是沙。」 + +#8 「須菩提!於意云何?如一恆河中所有沙,有如是沙等恆河,是諸恆河所有沙數佛世界,如是寧為多不?」 + +佛言:「善现!于汝意云何?乃至殑伽河中所有沙数,假使有如是等殑伽河;乃至是诸殑伽河中所有沙数,假使有如是等世界,是诸世界宁为多不?」 + +#8 「甚多!世尊!」 + +善现答言:「如是,世尊!如是,善逝!是诸世界,其数甚多。」 + +#8 佛告須菩提:「爾所國土中所有眾生若干種心,如來悉知。 + +佛言:「善现!乃至尔所诸世界中所有有情,彼诸有情各有种种,其心流注,我悉能知。 + +#8 何以故?如來說諸心,皆為非心,是名為心。 + +何以故?善现!心流注、心流注者,如来说非流注,是故如来说名心流注、心流注。 + +#8 所以者何?須菩提!過去心不可得,現在心不可得,未來心不可得。 + +所以者何?善现!过去心不可得,未来心不可得,现在心不可得。」 + +#6 丁三、福自在具足 + +#7 須菩提!於意云何?若有人滿三千大千世界七寶以用布施,是人以是因緣,得福多不?」 + +佛告善现:「于汝意云何?若善男子或善女人,以此三千大千世界,盛满七宝,奉施如来、应、正等觉。是善男子或善女人,由是因缘所生福聚,宁为多不?」 + +#7 「如是!世尊!此人以是因緣,得福甚多。」 + +善现答言:「甚多,世尊!甚多,善逝!」 + +佛言:「善现!如是,如是,彼善男子或善女人,由此因缘所生福聚,其量甚多。 + +#7 「須菩提!若福德有實,如來不說得福德多;以福德無故,如來說得福德多。 + +何以故?善现!若有福聚,如来不说福聚、福聚。」 + +#6 丁四、身具足二 + +#7 戊一、随形好身具足 + +#8 須菩提!於意云何?佛可以具足色身見不?」 + +佛告善现:「于汝意云何?可以色身圆实观如来不?」 + +#8 「不也,世尊!如來不應以具足色身見。 + +善现答言:「不也,世尊!不可以色身圆实观于如来。 + +#8 何以故?如來說具足色身,即非具足色身,是名具足色身。」 + +何以故?世尊!色身圆实、色身圆实者,如来说非圆实,是故如来说名色身圆实、色身圆实。」 + +#7 戊二、相身具足 + +#8 「須菩提!於意云何?如來可以具足諸相見不?」 + +佛告善现:「于汝意云何?可以诸相具足观如来不?」 + +#8 「不也,世尊!如來不應以具足諸相見。 + +善现答言:「不也,世尊!不可以诸相具足观于如来。 + +#8 何以故?如來說諸相具足,即非具足,是名諸相具足。」 + +何以故?世尊!诸相具足、诸相具足者,如来说为非相具足,是故如来说名诸相具足、诸相具足。」 + +#6 丁五、语具足 + +#7 「須菩提!汝勿謂如來作是念:『我當有所說法。』 + +佛告善现:「于汝意云何?如来颇作是念:我当有所说法耶? + +#7 莫作是念!何以故?若人言如來有所說法,即為謗佛,不能解我所說故。 + +善现!汝今勿当作如是观。何以故?善现!若言:『如来有所说法』,即为谤我,为非善取。 + +#7 須菩提!說法者,無法可說,是名說法。」 + +何以故?善现!说法、说法者,无法可得,故名说法。」 + +#6 丁六、心具足六 + +#7 戊一、为念处故 + +#8 爾時,慧命須菩提白佛言:「世尊!頗有眾生於未來世聞說是法,生信心不?」 + +尔时,具寿善现白佛言:「世尊!于当来世、后时、后分、后五百岁,正法将灭时分转时,颇有有情,闻说如是色类法已,能深信不?」 + +#8 佛言:「須菩提!彼非眾生,非不眾生。 + +佛言:「善现!彼非有情、非不有情。 + +#8 何以故?須菩提!眾生眾生者,如來說非眾生,是名眾生。」 + +何以故?善现!一切有情者,如来说非有情,故名一切有情。」 + +#7 戊二、为正觉故 + +#8 (缺) + +佛告善现:「于汝意云何?颇有少法如来、应、正等觉,现证无上正等菩提耶?」 + +#8 須菩提白佛言:「世尊!佛得阿耨多羅三藐三菩提,為無所得耶?」 + +具寿善现白佛言:「世尊!如我解佛所说义者,无有少法如来、应、正等觉,现证无上正等菩提。」 + +#8 佛言:「如是!如是!須菩提!我於阿耨多羅三藐三菩提,乃至無有少法可得,是名阿耨多羅三藐三菩提。 + +佛言:「善现!如是,如是。于中少法无有、无得,故名无上正等菩提。」 + +#8 復次,須菩提!是法平等,無有高下,是名阿耨多羅三藐三菩提。 + +「复次,善现!是法平等,于其中间,无不平等,故名无上正等菩提。 + +#8 以無我、無人、無眾生、無壽者,修一切善法,則得阿耨多羅三藐三菩提。 + +以无我性、无有情性、无命者性、无士夫性、无补特伽罗等性、平等故,名无上正等菩提,一切善法无不现证,一切善法无不妙觉。 + +#8 須菩提!所言善法者,如來說即非善法,是名善法。 + +善现!善法、善法者,如来一切说为非法,是故如来说名善法、善法。」 + +#7 戊三、为施设大利法故 + +#8 須菩提!若三千大千世界中所有諸須彌山王,如是等七寶聚,有人持用布施。若人以此般若波羅蜜經乃至四句偈等,受持、讀誦,為他人說,於前福德百分不及一,百千萬億分乃至算數譬喻所不能及。 + +「复次,善现!若善男子或善女人,集七宝聚,量等三千大千世界,其中所有妙高山王,持用布施;若善男子或善女人,于此《般若波罗蜜多经》中,乃至四句伽他,受持、读诵,究竟通利,及广为他宣说开示,如理作意。善现!前说福聚,于此福聚,百分计之所不能及,如是千分、若百千分、若俱胝百千分、若俱胝那庾多百千分、若数分、若计分、若算分、若喻分、若乌波尼杀昙分,亦不能及。」 + +#8 須菩提!於意云何?汝等勿謂如來作是念:『我當度眾生。』 + +佛告善现:「于汝意云何?如来颇作是念:我当度脱诸有情耶? + +#8 須菩提!莫作是念!何以故?實無有眾生如來度者。 + +善现!汝今勿当作如是观。何以故?善现!无少有情如来度者。 + +#8 若有眾生如來度者,如來則有我、人、眾生、壽者。 + +善现!若有有情如来度者,如来即应有其我执,有有情执,有命者执,有士夫执,有补特伽罗等执。 + +#8 須菩提!如來說有我者,則非有我,而凡夫之人以為有我。 + +善现!我等执者,如来说为非执,故名我等执,而诸愚夫异生,强有此执。 + +#8 須菩提!凡夫者,如來說即非凡夫。 + +善现!愚夫异生者,如来说为非生,故名愚夫异生。」 + +#7 戊四、为摄取法身故 + +#8 須菩提!於意云何?可以三十二相觀如來不?」 + +佛告善现:「于汝意云何?可以诸相具足观如来不?」 + +#8 須菩提言:「如是!如是!以三十二相觀如來。」 + +善现答言:「如我解佛所说义者,不应以诸相具足观于如来。」 + +佛言:「善现!善哉!善哉!如是,如是。如汝所说,不应以诸相具足观于如来。 + +#8 佛言:「須菩提!若以三十二相觀如來者,轉輪聖王則是如來。」 + +善现!若以诸相具足观如来者,转轮圣王应是如来。是故不应以诸相具足观于如来。 + +#8 須菩提白佛言:「世尊!如我解佛所說義,不應以三十二相觀如來。」 + +如是,应以诸相非相观于如来。」 + +#8 爾時,世尊而說說偈言:「若以色見我,以音聲求我,是人行邪道,不能見如來。 + +尔时,世尊而说颂曰: + +诸以色观我  以音声寻我  彼生履邪断  不能当见我 应观佛法性  即导师法身  法性非所识  故彼不能了 + +#8 須菩提!汝若作是念:『如來不以具足相故得阿耨多羅三藐三菩提。』 + +佛告善现:「于汝意云何?如来、应、正等觉,以诸相具足,现证无上正等觉耶? + +#8 須菩提!莫作是念:『如來不以具足相故得阿耨多羅三藐三菩提。』 + +善现!汝今勿当作如是观。何以故?善现!如来、应、正等觉,不以诸相具足,现证无上正等菩提。 + +#7 戊五、为不住生死涅槃故二 + +#8 己一、不住涅槃 + +#9 須菩提!汝若作是念,發阿耨多羅三藐三菩提心者,說諸法斷滅。 + +复次,善现!如是发趣菩萨乘者,颇施设少法,若坏、若断耶? + +#9 莫作是念!何以故?發阿耨多羅三藐三菩提心者,於法不說斷滅相。 + +善现!汝今勿当作如是观。诸有发趣菩萨乘者,终不施设少法,若坏、若断。」 + +#8 己二、不住生死 + +#9 須菩提!若菩薩以滿恆河沙等世界七寶持用布施,若復有人知一切法無我得成於忍,此菩薩勝前菩薩所得功德。何以故?須菩提!以諸菩薩不受福德故。」 + +「复次,善现!若善男子或善女人,以殑伽河沙等世界,盛满七宝,奉施如来、应、正等觉;若有菩萨于诸无我、无生法中,获得堪忍,由是因缘所生福聚,甚多于彼。复次,善现!菩萨不应摄受福聚。」 + +#9 須菩提白佛言:「世尊!云何菩薩不受福德?」 + +具寿善现即白佛言:「世尊!云何菩萨不应摄受福聚?」 + +#9 「須菩提!菩薩所作福德,不應貪著,是故說不受福德。 + +佛言:「善现!所应摄受,不应摄受,是故说名所应摄受。」 + +#7 戊六、为行住净三 + +#8 己一、为威仪行住二 + +#9 須菩提!若有人言:『如來若來、若去、若坐、若臥。』是人不解我所說義。 + +「复次,善现!若有说言:『如来若去、若来、若住、若坐、若卧』,是人不解我所说义。 + +#9 何以故?如來者,無所從來,亦無所去,故名如來。 + +何以故?善现!言如来者,即是真实真如增语。都无所去、无所从来,故名如来、应、正等觉。」 + +#8 己二、为破名色身自在行住故二 + +#9 庚一、破色身影像二 + +#10 辛一、细作方便 + +#11 須菩提!若善男子、善女人以三千大千世界碎為微塵,於意云何?是微塵眾寧為多不?」 + +「复次,善现!若善男子或善女人,乃至三千大千世界大地极微尘量等世界,即以如是无数世界色像为墨,如极微聚,善现!于汝意云何?是极微聚,宁为多不?」 + +#11 須菩提言:「甚多,世尊! + +善现答言:「是极微聚甚多,世尊!甚多,善逝! + +#10 辛二、不念方便 + +#11 何以故?若是微塵眾實有者,佛則不說是微塵眾。 + +何以故?世尊!若极微聚是实有者,佛不应说为极微聚。 + +#11 所以者何?佛說微塵眾,則非微塵眾,是名微塵眾。 + +所以者何?如来说极微聚,即为非聚,故名极微聚。 + +#9 庚二、破名身影像不念方便 + +#10 世尊!如來所說三千大千世界,即非世界,是名世界。 + +如来说三千大千世界,即非世界,故名三千大千世界。 + +#10 何以故?若世界實有者,則是一合相。如來說一合相,則非一合相,是名一合相。」 + +何以故?世尊!若世界是实有者,即为一合执。如来说一合执,即为非执,故名一合执。」 + +#10 「須菩提!一合相者,則是不可說,但凡夫之人貪著其事。 + +佛言:「善现!此一合执不可言说,不可戏论。然彼一切愚夫异生,强执是法。」 + +#10 須菩提!若人言:『佛說我見、人見、眾生見、壽者見。』須菩提!於意云何?是人解我所說義不?」 + +「何以故?善现!若作是言:『如来宣说我见、有情见、命者见、士夫见、补特伽罗见、意生见、摩纳婆见、作者、见受者见』,于汝意云何?如是所说为正语不?」 + +#10 「不也,世尊!是人不解如來所說義。何以故?世尊說我見、人見、眾生見、壽者見,即非我見、人見、眾生見、壽者見,是名我見、人見、眾生見、壽者見。」 + +善现答言:「不也,世尊!不也,善逝!如是所说非为正语。所以者何?如来所说我见、有情见、命者见、士夫见、补特伽罗见、意生见、摩纳婆见、作者见、受者见,即为非见,故名我见,乃至受者见。」 + +#10 「須菩提!發阿耨多羅三藐三菩提心者,於一切法,應如是知,如是見,如是信解, + +佛告善现:「诸有发趣菩萨乘者,于一切法应如是知,应如是见,应如是信解, + +#10 不生法相。須菩提!所言法相者,如來說即非法相,是名法相。 + +如是不住法想。何以故?善现!法想、法想者,如来说为非想,是故如来说名法想、法想。」 + +#8 己三、为不染行住二 + +#9 庚一、为说法不染二 + +#10 須菩提!若有人以滿無量阿僧祇世界七寶持用布施,若有善男子、善女人發菩提心者,持於此經,乃至四句偈等,受持、讀誦、為人演說,其福勝彼。 + +「复次,善现!若菩萨摩诃萨以无量无数世界,盛满七宝,奉施如来、应、正等觉;若善男子或善女人,于此《般若波罗蜜多经》中,乃至四句伽他,受持、读诵,究竟通利,如理作意,及广为他宣说开示,由此因缘所生福聚,甚多于前无量无数。」 + +#10 云何為人演說?不取於相,如如不動。 + +云何为他宣说开示?如不为他宣说开示,故名为他宣说开示。 + +#9 庚二、为流转不染故 + +#10 何以故?一切有為法,如夢幻泡影,如露亦如電,應作如是觀!」 + +尔时,世尊而说颂曰:诸和合所为 如星翳灯幻 露泡梦电云 应作如是观 + +#3 甲三、流通分 + +#4 佛說是經已,長老須菩提,及諸比丘、比丘尼、優婆塞、優婆夷,一切世間天、人、阿修羅,聞佛所說,皆大歡喜,信受奉行。 + +时薄伽梵说是经已。尊者善现及诸苾刍、苾刍尼、邬波索迦、邬波斯迦,并诸世间天、人、阿素洛、健达缚等,闻薄伽梵所说经已,皆大欢喜,信受奉行。 + diff --git "a/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\345\215\201\346\234\203\350\210\254\350\213\245\347\220\206\350\266\243\345\210\206\350\277\260\350\265\236\347\247\221\345\210\244.md" "b/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\345\215\201\346\234\203\350\210\254\350\213\245\347\220\206\350\266\243\345\210\206\350\277\260\350\265\236\347\247\221\345\210\244.md" new file mode 100644 index 0000000..1e3f29b --- /dev/null +++ "b/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\345\215\201\346\234\203\350\210\254\350\213\245\347\220\206\350\266\243\345\210\206\350\277\260\350\265\236\347\247\221\345\210\244.md" @@ -0,0 +1,1092 @@ +#1 大般若波羅蜜多經 卷第五百七十八 + +#2 大般若波羅蜜多經 卷第五百七十八 + +大唐三藏法師玄奘奉  詔譯 + +#3 (一)文前由致分 + +#4 1 總顯已聞 + +經曰:如是我聞。 + +#4 2 說教時分 + +經曰:一時。 + +#4 3 別說教主 + +#5 1 初標名 + +經曰:薄伽梵。 + +#5 2 後歎德 + +#6 經曰: + +(一)妙善成就一切如來金剛住持平等性智,種種希有殊勝功德。 + +(二)已能善獲一切如來灌頂寶冠,超過三界。 + +(三)已能善得一切如來遍金剛智,大觀自在。 + +(四)已得圓滿一切如來決定諸法,大妙智印。 + +(五)已善圓證一切如來畢竟空寂,平等性印。 + +(六)於諸能作、所作事業,皆得善巧成辦無餘。 + +(七)一切有情種種希願,隨其無罪皆能滿足。 + +(八)已善安住三世平等,常無斷盡廣大遍照。 + +(九)身語心性,猶若金剛,等諸如來,無動無壞。 + +#4 4 明說教處 + +#5 1 處尊勝 + +經曰:是薄伽梵,住欲界頂,他化自在天王宮中。 + +#5 2 同居勝 + +經曰:一切如來嘗所遊處,咸共稱美,大寶藏殿。 + +#5 3 莊嚴勝 + +#6 1 明總嚴 + +經曰:其殿無價末尼所成,種種珍奇間雜嚴飾。 + +#6 2 列別嚴 + +經曰:眾色交映,放大光明。 + +經曰:寶鐸、金鈴,處處懸列,微風吹動,出和雅音。 + +經曰:綺蓋、繒旛、華幢、綵拂、寶珠、纓絡、半滿月等。 + +#6 3 列餘嚴 + +經曰:種種雜飾而用莊嚴。 + +#5 4 愛重勝 + +經曰:賢聖天仙之所愛樂。 + +#4 5 教所被機 + +#5 1 舉數 + +經曰:與八十億大菩薩俱。 + +#5 2 陳德 + +#6 1 列名 + +經曰:一切皆具陀羅尼門、三摩地門、無礙妙辯。 + +#6 2 例指 + +經曰:如是等類無量功德,設經多劫說不能盡。 + +> 註:卍續藏:(“說不能盡”)“說”經本作“讚”。 + +#5 3 列名 + +經曰:其名曰:金剛手菩薩摩訶薩、觀自在菩薩摩訶薩、虛空藏菩薩摩訶薩、金剛拳菩薩摩訶薩、妙吉祥菩薩摩訶薩、大空藏菩薩摩訶薩、發心即轉法輪菩薩摩訶薩、摧伏一切魔怨菩薩摩訶薩。 + +#5 4 彰軌 + +經曰:如是上首,有八百萬大菩薩眾,前後圍遶。 + +#4 6 歎法勝德 + +經曰:宣說正法,初、中、後善,文義巧妙,純一,圓滿,清、白,梵行。 + +#3 (二)應機廣說分(十四法門) + +#4 1 明菩薩境 + +#5 1 明體境 + +#6 1 甚深微妙清淨法門 + +#7 1 初敘世尊所說法門之名 + +經曰:爾時,世尊為諸菩薩,說一切法甚深微妙般若理趣清淨法門,此門即是菩薩句義。 + +#7 2 次敘世尊所說理趣之義 + +#8 1 初佛自問 + +經曰:云何名為菩薩句義? + +#8 2 次述其義 + +#9 1 初釋其義 + +#10 1 明菩薩修果清淨句義,以顯菩薩所有句義(十門) + +#11 1 熾盛修之果(一句) + +經曰:謂極妙樂,清淨句義,是菩薩句義。 + +#11 2 無相修之果(二句) + +經曰:諸見永寂,清淨句義,是菩薩句義。 + +微妙適悅,清淨句義,是菩薩句義。 + +#11 3 集總修之果(三句) + +經曰:渴愛永息,清淨句義,是菩薩句義。 + +胎藏超越,清淨句義,是菩薩句義。 + +眾德莊嚴,清淨句義,是菩薩句義。 + +#11 4 無功用修之果(二句) + +經曰:意極猗適,清淨句義,是菩薩句義。 + +得大光明,清淨句義,是菩薩句義。 + +#11 5 無喜足修之果(三句) + +經曰:身善安樂,清淨句義,是菩薩句義。 + +語善安樂,清淨句義,是菩薩句義。 + +意善安樂,清淨句義,是菩薩句義。 + +#10 2 依諸法本性及所由空寂清淨句義,以顯菩薩所有句義(三十一門) + +#11 1 明世俗、勝義法,所依、所從,本性空寂清淨句義,以顯菩薩所有句義(二十六門) + +#12 1 唯明世俗法所依,本性空寂清淨句義,以顯菩薩所有句義(九門) + +#13 1-3 蘊、處、界 + +經曰:色蘊空寂,清淨句義,是菩薩句義。受、想、行、識蘊空寂,清淨句義,是菩薩句義。 + +眼處空寂,清淨句義,是菩薩句義。耳、鼻、舌、身、意處空寂,清淨句義,是菩薩句義。色處空寂,清淨句義,是菩薩句義。聲、香、味、觸、法處空寂,清淨句義,是菩薩句義。 + +眼界空寂,清淨句義,是菩薩句義。耳、鼻、舌、身、意界空寂,清淨句義,是菩薩句義。色界空寂,清淨句義,是菩薩句義。聲、香、味、觸、法界空寂,清淨句義,是菩薩句義。眼識界空寂,清淨句義,是菩薩句義。耳、鼻、舌、身、意識界空寂,清淨句義,是菩薩句義。 + +#13 4-5 六觸、六受 + +經曰:眼觸空寂,清淨句義,是菩薩句義。耳、鼻、舌、身、意觸空寂,清淨句義,是菩薩句義。 + +眼觸為緣所生諸受空寂,清淨句義,是菩薩句義。耳、鼻、舌、身、意觸為緣,所生諸受空寂,清淨句義,是菩薩句義。 + +#13 6 六界 + +經曰:地界空寂,清淨句義,是菩薩句義。水、火、風、空、識界空寂,清淨句義,是菩薩句義。 + +#13 7 四諦 + +經曰:苦聖諦空寂,清淨句義,是菩薩句義。集、滅、道聖諦空寂,清淨句義,是菩薩句義。 + +#13 8 四緣 + +經曰:因緣空寂,清淨句義,是菩薩句義。等無間緣、所緣緣、增上緣空寂,清淨句義。是菩薩句義。 + +#13 9 十二緣起 + +經曰:無明空寂,清淨句義,是菩薩句義。行、識、名色、六處、觸、受、愛、取、有、生老死空寂,清淨句義,是菩薩句義。 + +#12 2 唯明勝義法所由,本性空寂清淨句義,以顯菩薩所有句義(十六門) + +#13 1 明行(六門) + +#14 1 總六度行(一門) + +經曰:布施波羅蜜多空寂,清淨句義,是菩薩句義。淨戒、安忍、精進、靜慮、般若波羅蜜多空寂,清淨句義,是菩薩句義。 + +#14 2 所觀理行(一門) + +經曰:真如空寂,清淨句義,是菩薩句義。法界、法性、不虛妄性、不變異性、平等性、離生性、法定、法住、實際、虛空界、不思議界空寂,清淨句義,是菩薩句義。 + +#14 3 別修起行(四門) + +#15 1 禪、無色行 + +經曰:四靜慮空寂,清淨句義,是菩薩句義。 + +四無量、四無色定空寂,清淨句義,是菩薩句義。 + +#15 2 菩提分行 + +經曰:四念住空寂,清淨句義,是菩薩句義。四正斷、四神足、五根、五力、七等覺支、八聖道支空寂,清淨句義。是菩薩句義。 + +#15 3 解脫門行 + +經曰:空解脫門空寂,清淨句義,是菩薩句義。無相、無願解脫門空寂,清淨句義,是菩薩句義。 + +#15 4 別對治行 + +經曰:八解脫空寂,清淨句義,是菩薩句義。八勝處、九次第定、十遍處空寂,清淨句義,是菩薩句義。 + +#13 2 明位(二門) + +#14 1 明大乘位 + +經曰:極喜地空寂,清淨句義,是菩薩句義。 + +離垢地、發光地、焰慧地、極難勝地、現前地、遠行地、不動地、法雲地、善慧地空寂,清淨句義,是菩薩句義。 + +#14 2 明三乘位 + +經曰:淨觀地空寂,清淨句義,是菩薩句義。 + +種性地、第八地、具見地、薄地、離欲地、已辦地、獨覺地、菩薩地、如來地空寂,清淨句義,是菩薩句義。 + +#13 3 明德(八門) + +#14 1 引生諸德 + +經曰:一切陀羅尼門空寂,清淨句義,是菩薩句義。 + +一切三摩地門空寂,清淨句義,是菩薩句義。 + +#14 2 觀照化生德 + +經曰:五眼空寂,清淨句義,是菩薩句義。 + +六神通空寂,清淨句義,是菩薩句義。 + +#14 3 降服不共德 + +經曰:如來十力空寂,清淨句義,是菩薩句義。 + +四無所畏、四無礙解、大慈大悲大喜大捨、十八佛不共法空寂,清淨句義,是菩薩句義。 + +#14 4 相好殊異德 + +經曰:三十二相空寂,清淨句義,是菩薩句義。 + +八十隨好空寂,清淨句義,是菩薩句義。 + +#14 5 常記平等德 + +經曰:無忘失法空寂,清淨句義,是菩薩句義。 + +恒住捨性空寂,清淨句義,是菩薩句義。 + +#14 6 覺了空有德 + +經曰:一切智空寂,清淨句義,是菩薩句義。道相智、一切相智空寂,清淨句義,是菩薩句義。 + +#14 7-8 因果位二滿總德 + +經曰:一切菩薩摩訶薩行空寂,清淨句義,是菩薩句義。 + +諸佛無上正等菩提空寂,清淨句義,是菩薩句義。 + +#12 3 總明世俗及勝義法所依,本性空寂清淨句義,以顯菩薩所有句義(一門) + +經曰:一切異生法空寂,清淨句義,是菩薩句義。 + +一切預流、一來、不還、阿羅漢、獨覺、菩薩、如來法空寂,清淨句義,是菩薩句義。 + +#11 2 通染淨法差別,本性空寂清淨句義,以顯菩薩所有句義(五門) + +經曰:一切善、非善法空寂,清淨句義,是菩薩句義。 + +一切有記無記法、有漏無漏法、有為無為法、世間出世間法空寂,清淨句義,是菩薩句義。 + +#9 2 後釋所由 + +#10 1 問 + +經曰:所以者何? + +#10 2 釋 + +經曰:以一切法,自性空故,自性遠離。 + +經曰:由遠離故,自性寂靜;由寂靜故,自性清淨;由清淨故,甚深般若波羅蜜多最勝甚深。 + +> 註:卍續藏:(“最勝甚深”)“甚深”經本作“清淨”。 + +#9 3 結勸修學 + +經曰:如是般若波羅蜜多,當知即是菩薩句義,諸菩薩眾皆應修學。 + +#7 3 後敘世尊所說法門之德 + +#8 1 結前義以發經端 + +經曰:佛說如是菩薩句義,般若理趣清淨法已。 + +#8 2 正告陳所說之德 + +#9 1 明聞經深信受果 + +經曰:告金剛手菩薩等言:若有得聞此一切法甚深微妙般若理趣清淨法門,深信受者,乃至當坐妙菩提座,一切障、蓋皆不能染。謂煩惱障、業障、法障,雖多積集,而不能染。雖造種種極重惡業,而易消滅,不墮惡趣。 + +#9 2 明受持精勤等果 + +經曰:若能受持,日日讀、誦,精勤無間,如理思惟,彼於此生,定得一切法平等性金剛等持,於一切法皆得自在,恒受一切勝妙喜樂。 + +經曰:當經十六大菩薩生,定得如來執金剛性,疾證無上正等菩提。 + +#6 2 寂靜法性現等覺門 + +#7 1 初敘佛說法門之號 + +#8 1 初明所依如來之相 + +經曰:爾時,世尊復依遍照如來之相, + +#8 2 後陳所說法門之名 + +經曰:為諸菩薩宣說般若波羅蜜多一切如來寂靜法性其深理趣現等覺門。 + +#7 2 次敘佛說理趣之義 + +#8 1 能證金剛智 + +經曰:謂金剛平等性現等覺門,以大菩提,堅實難壞,如金剛故。 + +#8 2 觀察所詮智 + +經曰:義平等性現等覺門,以大菩提,其義一故。 + +#8 3 觀察能詮智 + +經曰:法平等性現等覺門,以大菩提,自性淨故。 + +#8 4 通證諸法智 + +經曰:一切法平等性現等覺門,以大菩提,於一切法無分別故。 + +#7 3 結歎佛說法門之德 + +經曰:佛說如是寂靜法性般若理趣現等覺已, + +經曰:告金剛手菩薩等言:若有得聞如是四種般若理趣現等覺門,信解、受持、讀、誦、修習,乃至當坐妙菩提座,雖造一切極重惡業,而能超越一切惡趣,疾證無上正等菩提。 + +#5 2 明行境 + +#6 3 調伏眾惡普勝法門 + +#7 1 法門之號 + +#8 1 初明所依如來之相 + +經曰:爾時,世尊復依調伏一切惡法,釋迦牟尼如來之相, + +#8 2 後陳所說法門之名 + +經曰:為諸菩薩宣說般若波羅蜜多攝受一切法平等性甚深理趣普勝法門。 + +#7 2 正說法門 + +#8 1 別說生死惑業苦法性無戲論 + +#9 1 煩惱性無戲論 + +#10 1 明根本 + +經曰:謂貪欲性無戲論故,嗔恚性亦無戲論;嗔恚性無戲論故,愚癡性亦無戲論;愚癡性無戲論故,猶預性亦無戲論;猶預性無戲論故,諸見性亦無戲論;諸見性無戲論故,憍慢性亦無戲論; + +#10 2 明隨惑 + +經曰:憍慢性無戲論故,諸纏性亦無戲論;諸纏性無戲論故,煩惱垢性亦無戲論; + +#9 2-3 業苦無戲論 + +經曰:煩惱垢性無戲論故,諸惡業性亦無戲論;諸惡業性無戲論故,諸果報性亦無戲論; + +#8 2 陳諸染淨法性無戲論 + +經曰:諸果報性無戲論故,雜染法性亦無戲論;雜染法性無戲論故,清淨法性亦無戲論;清淨法性無戲論故,一切法性亦無戲論; + +#8 3 說般若亦無戲論結歸深趣 + +經曰:一切法性無戲論故,當知般若波羅蜜多亦無戲論。 + +#7 3 歎此經德 + +經曰:佛說如是調伏眾惡般若理趣普勝法已, + +經曰:告金剛手菩薩等言:若有得聞如是般若波羅蜜多甚深理趣,信解、受持、讀、誦、修習,假使殺害三界所攝一切有情,而不由斯墮於地獄、傍生、鬼界,以能調伏一切煩惱及隨煩惱、惡業等故。 + +經曰:常生善趣,受勝妙樂,修諸菩薩摩訶薩行,疾證無上正等菩提。 + +#6 4 平等智印清淨法門 + +#7 1 法門之號 + +經曰:爾時,世尊復依性淨如來之相,為諸菩薩宣說般若波羅蜜多一切法平等性,觀自在妙智印甚深理趣清淨法門。 + +#7 2 正說法門 + +#8 1 明惑業果 + +經曰:謂一切貪欲本性清淨,極照明故,能令世間嗔恚清淨;一切嗔恚本性清淨,極照明故,能令世間愚癡清淨;一切愚癡本性清淨,極照明故,能令世間疑惑清淨;一切疑惑本性清淨,極照明故,能令世間見趣清淨;一切見趣本性清淨,極照明故,能令世間憍慢清淨; + +經曰:一切憍慢本性清淨,極照明故,能令世間纏結清淨;一切纏結本性清淨,極照明故,能令世間垢穢清淨; + +經曰:一切垢穢本性清淨,極照明故,能令世間惡法清淨;一切惡法本性清淨,極照明故,能令世間生死清淨; + +#8 2 總攝諸法 + +經曰:一切生死本性清淨,極照明故,能令世間諸法清淨; + +經曰:以一切法本性清淨,極照明故,能令世間有情清淨; + +經曰:一切有情本性清淨,極照明故,能令世間一切智清淨; + +#8 3 般若清淨 + +經曰:以一切智本性清淨,極照明故,能令世間甚深般若波羅蜜多最勝清淨。 + +#7 3 陳經勝德 + +經曰:佛說如是平等智印般若理趣清淨法已, + +經曰:告金剛手菩薩等言:若有得聞如是般若波羅蜜多清淨理趣,信解、受持、讀、誦、修習,雖住一切貪嗔癡等客塵煩惱垢穢聚中,而猶蓮華不為一切客塵垢穢過失所染, + +經曰:常能修習菩薩勝行,疾證無上正等菩提。 + +#5 3 明果境 + +#6 5 法王灌頂智藏法門 + +#7 1 標所說法門號 + +#8 1 明所依如來之相 + +經曰:爾時,世尊復依一切三界勝主如來之相, + +#8 2 明所說法門之名 + +經曰:為諸菩薩宣說般若波羅蜜多一切如來和合灌頂甚深理趣智藏法門。 + +#7 2 正顯所說法門 + +經曰: + +謂以世間灌頂位施,當得三界法王位果; + +以出世間無上義施,當得一切希願滿足; + +以出世間無上法施,於一切法當得自在; + +若以世間財食等施,當得一切身、語、心樂; + +若以種種財、法等施,能令布施波羅蜜多速得圓滿。 + +經曰: + +受持種種清淨禁戒,能令淨戒波羅蜜多速得圓滿; + +於一切事修學安忍,能令安忍波羅蜜多速得圓滿; + +於一切時修習精進,能令精進波羅蜜多速得圓滿; + +於一切境修行靜慮,能令靜慮波羅蜜多速得圓滿; + +於一切法常修妙慧,能令般若波羅蜜多速得圓滿。 + +#7 3 結歎法門之德 + +經曰:佛說如是灌頂法門般若理趣智藏法已,告金剛手菩薩等言:若有得聞如是灌頂甚深理趣智藏法門,信解、受持、讀、誦、修習,速能滿足諸菩薩行,疾證無上正等菩提。 + +#6 6 如來智印金剛法門 + +#7 1 標所說法門之號 + +經曰:爾時,世尊復依一切如來智印,持一切佛祕密法門如來之相,為諸菩薩宣說般若波羅蜜多一切如來住持智印甚深理趣金剛法門。 + +> 註:卍續藏:(“住持智印”)“住”疏作“任”。 + +#7 2 正說法門 + +經曰:謂具攝受一切如來金剛身印,當證一切如來法身; + +若具攝受一切如來金剛語印,於一切法當得自在; + +經曰:若具攝受一切如來金剛心印,於一切定當得自在; + +若具攝受一切如來金剛智印,能得最上妙身、語、心,猶若金剛,無動無壞。 + +#7 3 歎此經德 + +#8 1 因位所得勝利 + +經曰:佛說如是如來智印般若理趣金剛法已,告金剛手菩薩等言:若有得聞如是智印甚深理趣金剛法門,信解、受持、讀、誦、修習,一切事業皆能成辦,常與一切勝事和合,所欲修行一切勝智、諸勝福業,皆速圓滿, + +> 註:卍續藏:(“皆能成辦”)“能”疏作“得”。 + +#8 2 未來所得果位 + +經曰:當得最勝淨身、語、心,猶若金剛,不可破壞,疾證無上正等菩提。 + +#4 2 明菩薩行 + +#5 1 明依實相斷修之相 + +#6 7 離諸戲論輪字法門 + +#7 1 初標所說法門之號 + +#8 1 初辨所依如來之相 + +經曰:爾時,世尊復依一切無戲論法如來之相, + +#8 2 後陳所說法門之名 + +為諸菩薩宣說般若波羅蜜多甚深理趣輪字法門。 + +#7 2 正陳所說 + +#8 1 解脫門境 + +經曰:謂一切法空,無自性故; + +一切法無相,離眾相故; + +一切法無願,無所願故。 + +#8 2 離著離生 + +經曰:一切法遠離,無所著故; + +一切法寂靜,永寂滅故。 + +#8 3 離四倒執 + +經曰:一切法無常,性常無故; + +一切法無樂,非可樂故; + +一切法無我,不自在故; + +一切法無淨,離淨相故。 + +#8 4 離諸執著 + +經曰:一切法不可得,推尋其性,不可得故; + +一切法不思議,思議其性,無所有故; + +一切法無所有,眾緣和合,假施設故; + +一切法無戲論,本性空寂,離言說故; + +一切法本性淨,甚深般若波羅蜜多本性淨故。 + +#7 3 歎此經德 + +經曰:佛說如是離諸戲論般若理趣輪字法已,告金剛手菩薩等言:若有得聞此無戲論般若理趣輪字法門,信解、受持、讀誦、修習,於一切法得無礙智,疾證無上正等菩提。 + +#6 8 入廣大輪平等法門 + +#7 1 初標法門之名 + +經曰:爾時,世尊復依一切如來輪攝如來之相,為諸菩薩宣說般若波羅蜜多入廣大輪甚深理趣平等性門。 + +#7 2 正陳所說 + +#8 1 初別明性輪 + +#9 1 明聖者性輪 + +經曰:謂入金剛平等性,能入一切如來性輪故; + +入義平等性,能入一切菩薩性輪故; + +入法平等性,能入一切法性輪故。 + +#9 2 明法性輪 + +#10 1 別法 + +經曰:入蘊平等性,能入一切蘊性輪故; + +入處平等性,能入一切處性輪故; + +入界平等性,能入一切界性輪故。 + +經曰:入諦平等性,能入一切諦性輪故; + +入緣起平等性,能入一切緣起性輪故; + +入寶平等性,能入一切寶性輪故; + +入食平等性,能入一切食性輪故。 + +#10 2 通法 + +經曰:入善法平等性,能入一切善法性輪故。 + +入非善法平等性,能入一切非善法性輪故。 + +入有記法平等性,能入一切有記法性輪故。 + +入無記法平等性,能入一切無記法性輪故。 + +入有漏法平等性,能入一切有漏法性輪故。 + +入無漏法平等性,能入一切無漏法性輪故。 + +入有為法平等性,能入一切有為法性輪故。 + +入無為法平等性,能入一切無為法性輪故。 + +入世間法平等性,能入一切世間法性輪故。 + +入出世間法平等性,能入一切出世間法性輪故。 + +#10 3 位法 + +經曰:入異生法平等性,能入一切異生法性輪故。 + +入聲聞法平等性,能入一切聲聞法性輪故。 + +入獨覺法平等性,能入一切獨覺法性輪故。 + +入菩薩法平等性,能入一切菩薩法性輪故。 + +入如來法平等性,能入如來法性輪故。 + +> 註:卍續藏:(“能入如來法性輪故”)“入”下經有“一切”二字。 + +#9 3 明有情性輪 + +經曰:入有情平等性,能入一切有情性輪故。 + +#8 2 後總明性輪 + +經曰:入一切平等性,能入一切性輪故。 + +#7 3 歎經勝德 + +經曰:佛說如是入廣大輪般若理趣平等性已,告金剛手菩薩等言:若有得聞如是輪性甚深理趣平等性門,信解、受持、讀、誦、修習,能善悟入諸平等性,疾證無上正等菩提。 + +#5 2 明依觀照修斷之相 + +#6 9 真淨供養無上法門 + +#7 1 初標法門之號 + +經曰:爾時,世尊復依一切廣受供養真淨器田如來之相,為諸菩薩宣說般若波羅蜜多一切供養甚深理趣無上法門。 + +#7 2 正說法門之義 + +#8 1 修習行 + +#9 1 發心行 + +經曰:謂發無上正等覺心,於諸如來廣設供養; + +#9 2 攝護行 + +攝護正法,於諸如來廣設供養; + +#9 3 修習行 + +修行一切波羅蜜多,於諸如來廣設供養; + +修行一切菩提分法,於諸如來廣設供養; + +修行一切總持、等持,於諸如來廣設供養; + +修行一切五眼、六通,於諸如來廣設供養; + +修行一切靜慮、解脫,於諸如來廣設供養; + +修行一切慈悲喜捨,於諸如來廣設供養; + +修行一切佛不共法,於諸如來廣設供養。 + +#8 2 觀察行 + +#9 1 離四倒行 + +經曰:觀一切法若常、若無常,皆不可得,於諸如來廣設供養; + +觀一切法若樂、若苦,皆不可得,於諸如來廣設供養; + +觀一切法若我、若無我,皆不可得,於諸如來廣設供養; + +觀一切法若淨、若不淨,皆不可得,於諸如來廣設供養。 + +#9 2 離三門行 + +經曰:觀一切法若空、若不空,皆不可得,於諸如來廣設供養; + +觀一切法若有相、若無相,皆不可得,於諸如來廣設供養; + +觀一切法若有願、若無願,皆不可得,於諸如來廣設供養。 + +#9 3 離著生滅行 + +經曰:觀一切法若遠離、若不遠離,皆不可得,於諸如來廣設供養; + +觀一切法若寂靜、若不寂靜,皆不可得,於諸如來廣設供養。 + +#8 3 法行行 + +經曰:於深般若波羅蜜多,書寫,聽聞,受持,讀,誦,思惟,修習,廣為有情宣說流布,或自供養,或轉施他,於諸如來廣設供養。 + +#7 3 歎此經德 + +經曰:佛說如是真淨供養甚深理趣無上法已,告金剛手菩薩等言:若有得聞如是供養般若理趣無上法門,信解、受持、讀、誦、修習,速能圓滿諸菩薩行,疾證無上正等菩提。 + +#6 10 能善調伏智藏法門 + +#7 1 初標法門之號 + +經曰:爾時,世尊復依一切能善調伏如來之相,為諸菩薩宣說般若波羅蜜多攝受智密調伏有情甚深理趣智藏法門。 + +#7 2 正陳所說 + +#8 1 初說十七實相即忿實相 + +#9 1 以不二、除斷、無變,三種實相,以即於忿 + +經曰:謂一切有情平等性,即忿平等性; + +一切有情調伏性,即忿調伏性; + +一切有情真法性,即忿真法性; + +#9 2 以實常德性,滅破真境,四種實相,以即於忿 + +一切有情真如性,即忿真如性; + +一切有情法界性,即忿法界性; + +一切有情離生性,即忿離生性; + +一切有情實際性,即忿實際性; + +#9 3 以非有、離相、不求,三種實相,以即於忿 + +一切有情本空性,即忿本空性; + +一切有情無相性,即忿無相性; + +一切有情無願性,即忿無願性; + +#9 4 以斷染法、離生二種,以即於忿 + +一切有情遠離性,即忿遠離性; + +一切有情寂靜性,即忿寂靜性; + +#9 5 以無得、虛偽、深妙、離言、堅實五種,以即於忿 + +一切有情不可得性,即忿不可得性; + +一切有情無所有性,即忿無所有性; + +一切有情難思議性,即忿難思議性; + +一切有情無戲論性,即忿無戲論性; + +一切有情如金剛性,即忿如金剛性。 + +#8 2 釋其所由 + +經曰:所以者何?一切有情真調伏性,即是無上正等菩提,亦是般若波羅蜜多,亦是諸佛一切智智。 + +#7 3 歎經勝德 + +#8 1 調伏諸染 + +經曰:佛說如是能善調伏甚深理趣智藏法已,告金剛手菩薩等言:若有得聞如是調伏般若理趣智藏法門,信解、受持、讀、誦、修習,能自調伏忿恚等過,亦能調伏一切有情。 + +#8 2 世間勝果 + +經曰:常生善趣,受諸妙樂,現世怨敵皆起慈心。 + +#8 3 出世勝果 + +經曰:能善修行諸菩薩行,疾證無上正等菩提。 + +#5 3 明依二法遍修之相 + +#6 11 性平等性最勝法門 + +#7 1 初標法門之號 + +經曰: + +爾時,世尊復依一切能善建立性平等法如來之相,為諸菩薩宣說般若波羅蜜多一切法性甚深理趣最勝法門。 + +#7 2 正陳所說 + +#8 1 以人、法,遍滿離染真理三種,以即般若 + +經曰: + +謂一切有情性平等故,甚深般若波羅蜜多亦性平等; + +一切法性平等故,甚深般若波羅蜜多亦性平等。 + +一切有情性調伏故,甚深般若波羅蜜多亦性調伏; + +一切法性調伏故,甚深般若波羅蜜多亦性調伏。 + +一切有情有實義故,甚深般若波羅蜜多亦有實義; + +一切法有實義故,甚深般若波羅蜜多亦有實義。 + +#8 2 以人、法,實常德性,法體真境四種,以即般若 + +經曰: + +一切有情即真如故,甚深般若波羅蜜多亦即真如; + +一切法即真如故,甚深般若波羅蜜多亦即真如。 + +一切有情即法界故,甚深般若波羅蜜多亦即法界; + +一切法即法界故,甚深般若波羅蜜多亦即法界。 + +一切有情即法性故,甚深般若波羅蜜多亦即法性; + +一切法即法性故,甚深般若波羅蜜多亦即法性。 + +一切有情即實際故,甚深般若波羅蜜多亦即實際; + +一切法即實際故,甚深般若波羅蜜多亦即實際。 + +#8 3 以人、法,非有、離相、不求三種,以即般若 + +經曰: + +一切有情即本空故,甚深般若波羅蜜多亦即本空; + +一切法即本空故,甚深般若波羅蜜多亦即本空。 + +一切有情即無相故,甚深般若波羅蜜多亦即無相; + +一切法即無相故,甚深般若波羅蜜多亦即無相。 + +一切有情即無願故,甚深般若波羅蜜多亦即無願; + +一切法即無願故,甚深般若波羅蜜多亦即無願。 + +#8 4 以人、法,離染、離生二種,以即般若 + +經曰: + +一切有情即遠離故,甚深般若波羅蜜多亦即遠離; + +一切法即遠離故,甚深般若波羅蜜多亦即遠離。 + +一切有情即寂靜故,甚深般若波羅蜜多亦即寂靜; + +一切法即寂靜故,甚深般若波羅蜜多亦即寂靜。 + +#8 5 以人、法,無得、虛偽、深妙、離言四種,以即般若 + +經曰: + +一切有情不可得故,甚深般若波羅蜜多亦不可得; + +一切法不可得故,甚深般若波羅蜜多亦不可得。 + +一切有情無所有故,甚深般若波羅蜜多亦無所有; + +一切法無所有故,甚深般若波羅蜜多亦無所有。 + +一切有情不思議故,甚深般若波羅蜜多亦不思議; + +一切法不思議故,甚深般若波羅蜜多亦不思議。 + +一切有情無戲論故,甚深般若波羅蜜多亦無戲論; + +一切法無戲論故,甚深般若波羅蜜多亦無戲論。 + +#8 6 以人、法,廣大作用二種,即於般若 + +經曰: + +一切有情無邊際故,甚深般若波羅蜜多亦無邊際; + +一切法無邊際故,甚深般若波羅蜜多亦無邊際。 + +一切有情有業用故,當知般若波羅蜜多亦有業用; + +一切法有業用故,當知般若波羅蜜多亦有業用。 + +#7 3 歎此經德 + +經曰: + +佛說如是性平等性甚深理趣最勝法已,告金剛手菩薩等言:若有得聞如是平等般若理趣最勝法門,信解、受持、讀、誦、修習,則能通達平等法性甚深般若波羅蜜多。 + +經曰: + +於諸有情,心無罣礙,疾證無上正等菩提。 + +#6 12 有情住持勝藏法門 + +#7 1 標法門名 + +經曰:爾時,世尊復依一切住持藏法如來之相,為諸菩薩宣說般若波羅蜜多一切有情住持遍滿甚深理趣勝藏法門。 + +#7 2 正陳所說 + +#8 1 第一法體,談本藏故 + +經曰:謂一切有情皆如來藏,普賢菩薩自體遍故。 + +#8 2 第二法用,破生死故 + +經曰:一切有情皆金剛藏,以金剛藏所灌灑故。 + +#8 3 第三教依,無倒本故 + +經曰:一切有情皆正法藏,一切皆隨正語轉故。 + +#8 4 第四德依,諸德本故 + +經曰:一切有情皆妙業藏,一切事業加行依故。 + +#7 3 歎經勝德 + +經曰:佛說如是有情住持甚深理趣勝藏法已,告金剛手菩薩等言:若有得聞如是遍滿般若理趣勝藏法門,信解、受持、讀、誦、修習,則能通達勝藏法性,疾證無上正等菩提。 + +#4 3 明菩薩果 + +#5 13 無邊無際究竟法門 + +#6 1 總標所說法門之號 + +經曰:爾時,世尊復依究竟無邊際法如來之相,為諸菩薩宣說般若波羅蜜多究竟住持法義平等金剛法門。 + +#6 2 正陳所說 + +經曰:謂甚深般若波羅蜜多無邊故,一切如來亦無邊。 + +經曰:甚深般若波羅蜜多無際故,一切如來亦無際。 + +經曰:甚深般若波羅蜜多一味故,一切法亦一味。 + +經曰:甚深般若波羅蜜多究竟故,一切法亦究竟。 + +#6 3 歎經勝德 + +經曰:佛說如是無邊無際究竟理趣金剛法已,告金剛手菩薩等言:若有得聞如是究竟般若理趣金剛法門,信解、受持、讀、誦、修習,一切障法皆悉消除,定得如來執金剛性,疾證無上正等菩提。 + +#5 14 甚深理趣無上法門 + +#6 1 初標法門之號 + +經曰:爾時,世尊復依遍照如來之相,為諸菩薩宣說般若波羅蜜多得諸如來祕密法性及一切法無戲論性,大樂金剛不空神呪金剛法門;初中後位,最勝第一甚深理趣無上法門。 + +> 註:卍續藏:(“不空神呪金剛法門”)“門”疏牒作“性”。 + +#6 2 正陳所說 + +#7 1 以三復次,說菩薩行十惡業道等因,所得果利 + +#8 1 初復次:為返惡故,說相似貪 + +#9 1 明惡業道,貪等為因,所得果利 + +#10 1 明自利果 + +經曰:謂大貪等最勝成就,令大菩薩大樂最勝成就; + +經曰:大樂最勝成就,令大菩薩一切如來大覺最勝成就; + +經曰:一切如來大覺最勝成就,令大菩薩降伏一切大魔最勝成就; + +經曰:降伏一切大魔最勝成就,令大菩薩普大三界自在最勝成就; + +#10 2 明利他果 + +經曰:普大三界自在最勝成就,令大菩薩能無遺餘拔有情界,利益安樂一切有情畢竟大樂最勝成就。 + +經曰:所以者何?乃至生死流轉住處,有勝智者,齊此常能以無等法饒益有情,不入寂滅。 + +#9 2 明善業道,般若為因,所得果利 + +經曰:又以般若波羅蜜多方便善巧成立勝智,善辦一切清淨事業,能令諸有皆得清淨。 + +#8 2 二復次:大悲所逼,說相似貪 + +#9 1 明利他 + +經曰:又以貪等調伏世間,普遍恒時乃至諸有皆令清淨,自然調伏。 + +#9 2 明自利 + +經曰:又如蓮華形色光淨,不為一切穢物所染,如是貪等饒益世間,住過、有過,常不能染。 + +#8 3 三復次:為求利己,說相似貪 + +經曰:又大貪等能得清淨大樂大財,三界自在,常能堅固饒益有情。 + +#7 後三復次,說陀羅尼 + +經曰:爾時,如來即說神呪: + +納慕薄伽筏帝(一)鉢剌壤波囉弭多曳(二)薄底(丁履反下同)筏攃(七葛反)羅曳(三)罨跛履弭多窶拏曳(四)薩縛呾他揭多跛履布視多曳(五)薩縛呾他揭多奴壤多奴壤多邲壤多曳(六)呾姪他(七)鉢剌𠯋(一第反下同)鉢剌𠯋(八)莫訶鉢剌𠯋(九)鉢剌壤婆娑羯囇(十)鉢剌壤路迦羯囇(十一)案馱迦囉毘談末泥(十二)悉遞(十三)蘇悉遞(十四)悉殿都漫薄伽筏底(十五)薩防伽孫達囇(十六)薄底筏攃囇(十七)鉢剌娑履多喝悉帝(十八)參磨濕嚩娑羯囇(十九)勃𭈪勃𭈪(二十)悉𭈪悉陀(二十一)劍波劍波(二十二)浙羅浙羅(二十三)曷邏嚩曷邏嚩(二十四)阿揭車阿揭車(二十五)薄伽筏底(二十六)麼毘濫婆(二十七)莎訶(二十八) + +如是神呪,三世諸佛皆共宣說,同所護念。能受持者,一切障滅,隨心所欲,無不成辨,疾證無上正等菩提。 + +爾時,如來復說神呪: + +納慕薄伽筏帝(一)鉢剌壤波囉弭多曳(二)呾姪他(三)牟尼達謎(四)僧揭洛訶達謎(五)遏奴揭洛訶達謎(六)毘目底達謎(七)薩馱奴揭洛訶達謎(八)吠室洛末拏達謎(九)參漫多奴跛履筏剌呾那達謎(十)窶拏僧揭洛訶達謎(十一)薩縛迦羅跛履波剌那達謎(十二)莎訶(十三) + +如是神呪,是諸佛母,能誦持者,一切罪滅,常見諸佛,得宿住智,疾證無上正等菩提。 + +爾時,如來復說神呪: + +納慕薄伽筏帝(一)鉢剌壤波囉弭多曳(二)怛姪他(三)室囇曳(四)室囇曳(五)室囇曳(六)室囇曳細(七)莎訶(八) + +如是神呪,具大威力,能受持者,業障消除,所聞正法,總持不忘,疾證無上正等菩提。 + +#6 3 歎經勝德 + +#7 1 別歎此處一段法門 + +#8 1 歎滅惡攝善德 + +#9 1 總歎斷惡得善德 + +經曰:爾時,世尊說是呪已,告金剛手菩薩等言:若諸有情,於每日旦,至心聽誦如是般若波羅蜜多甚深理趣最勝法門,無間斷者,諸惡業障皆得消滅,諸勝喜樂常現在前。 + +#9 2 別歎引生諸善德 + +經曰:大樂金剛不空神呪,現身必得究竟成滿一切如來金剛祕密最勝成就,不久當得大執金剛及如來性。 + +#8 2 歎種因方遇德 + +經曰:若有情類,未多佛所植眾善根、久發大願,於此般若波羅蜜多甚深理趣最勝法門,不能聽聞、書寫、讀、誦、供養、恭敬、思惟、修習。 + +經曰:要多佛所植眾善根、久發大願,乃能於此甚深理趣最勝法門,下至聽聞一句一字,況能具足讀、誦、受持。 + +經曰:若諸有情供養、恭敬、尊重、讚歎八十殑伽沙等俱胝那庾多佛,乃能具足聞此般若波羅蜜多甚深理趣。 + +#8 3 歎所在應尊德 + +經曰:若他方所流行此經,一切天、人、阿素洛等,皆應供養,如佛制多。有置此經在身或手,諸天、人等皆應禮敬。 + +#7 2 總歎一卷經德 + +#8 1 略別歎 + +經曰:若有情類受持此經,多俱胝劫得宿住智,常勤精進修諸善法,惡魔外道不能稽留,四大天王及餘天眾常隨擁衛,未曾暫捨,終不橫死、枉遭衰患,諸佛菩薩常共護持,令一切時善增惡減,於諸佛土隨願往生,乃至菩提,不墮惡趣。 + +#8 2 總結歎 + +經曰:諸有情類,受持此經,定獲無邊勝利功德,我今略說如是少分。 + +#3 (三)感悟修行分 + +經曰:時薄伽梵說是經已,金剛手等諸大菩薩,及餘天眾,聞佛所說,皆大歡喜,信受奉行。 + +> 2020.6.17 宗超 校錄 咒语图片出自:般若理趣分  片カナ附 [図書]  国立国会図書館 (日本) + diff --git "a/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\345\233\233\346\234\203\345\260\217\345\223\201\350\210\254\350\213\245\347\216\260\350\247\202\345\257\271\347\205\247.md" "b/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\345\233\233\346\234\203\345\260\217\345\223\201\350\210\254\350\213\245\347\216\260\350\247\202\345\257\271\347\205\247.md" new file mode 100644 index 0000000..ea8be59 --- /dev/null +++ "b/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\275\227\350\234\234\345\244\232\347\266\223\347\254\254\345\233\233\346\234\203\345\260\217\345\223\201\350\210\254\350\213\245\347\216\260\350\247\202\345\257\271\347\205\247.md" @@ -0,0 +1,5382 @@ +#1 大般若波罗蜜多经 第四会 + +#2 大般若波罗蜜多经 第四会 + +#3 甲一 经论序分(分二) + +#4 乙一 经 + +#5 大般若波罗蜜多经卷第五百三十八 + +三藏法师玄奘奉 诏译 + +第四分妙行品第一之一 + +如是我闻: + +一时,薄伽梵住王舍城鹫峰山中,与大苾刍众千二百五十人俱,皆阿罗汉,诸漏已尽无复烦恼,得真自在心善解脱、慧善解脱,如调慧马亦如大龙,已作所作已办所办,弃诸重担逮得己利,尽诸有结正知解脱,至心自在第一究竟,除阿难陀独居学地,具寿善现而为上首。 + +#4 乙二 论(分三) + +#5 丙一 赞礼三智 + +求寂聲聞由遍智 引導令趣最寂滅 諸樂饒益眾生者 道智令成世間利 + +諸佛由具種相智 宣此種種眾相法 具為聲聞菩薩佛 四聖眾母我敬禮 + +#5 丙二 明造论所为 + +大師於此說 一切相智道 非餘所能領 於十法行性 + +經義住正念 具慧者能見 為令易解故 是造論所為 + +#5 丙三 总标论中略义(八事七十义)(分二) + +#6 丁一 標能所釋(总标八事) + +般若波羅密 以八事正說 + +#6 丁二 標能釋數(别列七十义) + +#7 戊一 初明一切相智 + +發心與教授 四種決擇分 正行之所依 謂法界自性 + +諸所緣所為 甲鎧趣入事 資糧及出生 是佛遍相智 + +#7 戊二 次明道相智 + +令其隱闇等 弟子麟喻道 此及他功德 大勝利見道 + +作用及勝解 讚事并稱揚 迴向與隨喜 無上作意等 + +引發最清淨 是名為修道 諸聰智菩薩 如是說道智 + +#7 戊三 明一切智 + +智不住諸有 悲不滯涅槃 非方便則遠 方便即非遙 + +所治能治品 加行平等性 聲聞等見道 一切智如是 + +#7 戊四 釋圓滿眾相加行體 + +行相諸加行 德失及性相 順解脫決擇 有學不退眾 + +有寂靜平等 無上清淨剎 滿證一切相 此具善方便 + +#7 戊五 釋頂加行體 + +此相及增長 堅穩心遍住 見道修道中 各有四分別 + +四種能對治 無間三摩地 並諸邪執著 是為頂現觀 + +#7 戊六 釋漸次加行體 + +漸次現觀中 有十三種法 + +#7 戊七 剎那加行體 + +剎那證菩提 由相分四種 + +#7 戊八 釋法身體 + +自性圓滿報 如是餘化身 法身并事業 四相正宣說 + +#3 甲二 经论正宗分(分三) + +#4 乙一 经论说三智行相(分三) + +#5 丙一 经论说一切相智(分十) + +#6 丁一 经论说发心(第一事中第一义) + +#7 戊一 经 + +尔时,佛告具寿善现:“汝以辩才应为菩萨摩诃萨众宣说、开示甚深般若波罗蜜多,教授教诫诸菩萨摩诃萨,令于般若波罗蜜多速得究竟。” + +#7 戊二 论 + +發心為利他 求正等菩提 彼彼如經中 略廣門宣說 + +如地金月火 藏寶源大海 金剛山藥友 如意寶日歌 + +王庫及大路 車乘與泉水 雅聲河流雲 分二十二種 + +#6 丁二 经论说教授(第一事中第二义)(分二) + +#7 戊一 经 + +#8 己一 发端 + +时,舍利子作是念言:“今者善现为以自力为诸菩萨摩诃萨众宣说、开示甚深般若波罗蜜多?为承如来威神之力?” + +具寿善现承佛威神,知舍利子心之所念,便告具寿舍利子言:“世尊弟子敢有宣说、显了、开示,皆承如来威神之力。何以故?舍利子!佛先为他宣说、显了、开示法要,彼依佛教精勤修学,乃至证得诸法实性,后转为他有所宣说、显了、开示,若与法性能不相违,皆是如来威神加被,亦是所证法性等流,是故我当为诸菩萨摩诃萨众,宣说、开示甚深般若波罗蜜多,教授教诫令于般若波罗蜜多速得究竟,皆承佛力,非自辩才能为斯事。” + +#8 己二 明所教授之菩萨及所说之般若,胜义中皆不可得 + +尔时,善现便白佛言:“世尊令我为诸菩萨摩诃萨众,宣说、开示甚深般若波罗蜜多,教授教诫诸菩萨摩诃萨,令于般若波罗蜜多速得究竟。世尊!所言诸菩萨者,何法增语谓为菩萨?世尊!我不见有法可名菩萨摩诃萨者,亦不 见有法可名般若波罗蜜多。世尊!我于菩萨及菩萨法不见不得,亦复不见不得般若波罗蜜多,云何令我为诸菩萨摩诃萨众宣说、开示甚深般若波罗蜜多?世尊!我以何等甚深般若波罗蜜多,教授教诫何等菩萨摩诃萨众,令于般若波罗蜜多速得究竟?世尊!若菩萨摩诃萨闻如是语,心不沉没亦无退屈、不惊、不怖,如深般若波罗蜜多所说而住,修行般若波罗蜜多令得究竟,当知即是教授教诫诸菩萨摩诃萨,令于般若波罗蜜多速得究竟,亦名为彼宣说、开示甚深般若波罗蜜多。 + +#7 戊二 论 + +#8 己一 正释教授 + +修行及諸諦 佛陀等三寶 不耽著不疲 周遍攝持道 + +五眼六通德 見道並修道 應知此即是 十教授體性 + +#8 己二 别说三宝教授中之僧宝 + +諸鈍根利根 信見至家家 一間中生般 行無行究竟 + +三超往有頂 壞色貪現法 寂滅及身證 麟喻共二十 + +#6 丁三 经论说顺抉择分 + +#7 戊一 经 + +#8 己一 略明暖位之所缘及行相 + +“复次,世尊!若菩萨摩诃萨修行般若波罗蜜多,应如是学,谓不执着大菩提心。所以者何?心非心性本性净故。” + +时,舍利子问善现言:“为有非心心之性不?” + +善现反问舍利子言:“非心心性若有若无为可得不?” + +舍利子言:“不也!善现!” + +善现便谓舍利子言:“非心心性若有若无既不可得,如何可问为有非心心之性不?” + +时,舍利子问善现言:“何等名为心非心性?” + +善现答言:“若无变坏亦无分别,是则名为心非心性。” + +时,舍利子赞善现言:“善哉!善哉!诚如所说。佛说仁者住无诤定最为第一,实如圣言。若菩萨摩诃萨闻如是语,心不沉没亦无退屈、不惊、不怖,当知已于所求无上正等菩提得不退转。若菩萨摩诃萨如是观察心非心性,当知不离甚深般若波罗蜜多。若善男子、善女人等欲勤修学诸声闻地、若独觉地、若菩萨地,皆应于此甚深般若波罗蜜多,至心听闻、受持、读诵、精勤修学,方便善巧令所修行速得究竟。所以者何?于此般若波罗蜜多甚深经中,广说一切所应学法。若菩萨摩诃萨勤求无上正等菩提,欲正修行诸菩萨行,欲具成就方便善巧及诸佛法,皆应于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如说修行。所以者何?于此般若波罗蜜多甚深经中,广说一切诸菩萨摩诃萨所应学法。若菩萨摩诃萨能于此中精勤修学,必得无上正等菩提,一切所求无不满足。” + +尔时,具寿善现复白佛言:“世尊!我观菩萨但有假名,不知、不得、不见实事,我观般若波罗蜜多亦但有假名,不知、不得、不见实事,当为何等菩萨摩诃萨,宣说、开示何等甚深般若波罗蜜多?教授教诫何等菩萨摩诃萨,令于何等般若波罗蜜多速得究竟?世尊!我观菩萨及深般若波罗蜜多但有假名,不知、不得、不见实事,而于其中说有菩萨及深般若波罗蜜多便有疑悔。世尊!甚深般若波罗蜜多及菩萨名,俱无决定亦无住处。所以者何?如是二名俱无所有,无所有法无定无住。若菩萨摩诃萨闻说如是甚深般若波罗蜜多,心不沉没亦无退屈、不惊、不怖,深心信解。当知是菩萨摩诃萨安住般若波罗蜜多常不远离,以无所住而为方便,安住菩萨不退转地。 + +#8 己二 略明顶位之所缘及行相 + +“复次,世尊!诸菩萨摩诃萨修行般若波罗蜜多,不应住色,亦不应住受、想、行、识。所以者何?若住于色,便作色行,非行般若波罗蜜多;若住受、想、行、识,便作受、想、行、识行,非行般若波罗蜜多。所以者何?非作、行者能摄般若波罗蜜多,不摄般若波罗蜜多则于般若波罗蜜多不能修习,若于般若波罗蜜多不能修习则于般若波罗蜜多不能圆满,若于般若波罗蜜多不能圆满便不能得一切智智,若不能得一切智智便不能摄所摄有情,是故不应摄受诸色、受、想、行、识。所以者何?色于般若波罗蜜多不可摄受,受、想、行、识于般若波罗蜜多亦不可摄受,色不可摄受故则非色,受、想、行、识亦不可摄受故则非受、想、行、识,甚深般若波罗蜜多亦不可摄受故便非般若波罗蜜多。 + +“诸菩萨摩诃萨应行如是甚深般若波罗蜜多,若行如是甚深般若波罗蜜多,是名菩萨于一切法无摄受定广大、无对、无量,决定不共一切声闻、独觉,亦不摄受一切智智。所以者何?是一切智智非取相修得,诸取相者皆是烦恼。若取相修得一切智智者,则胜军梵志于一切智智不应信解,是胜军梵志虽由信解力归趣佛法,名随信行,而能以少分智观一切法性空,悟入一切智智。既悟入已不取色相,亦不取受、想、行、识相;非以喜乐观见此智,不以内色、受、想、行、识观见此智,不以外色、受、想、行、识观见此智,亦不以内外色、受、想、行、识观见此智,亦不离色、受、想、行、识观见此智。胜军梵志以如是等诸离相门,于一切智智深生信解,于一切法皆无取着。如是梵志以离相门,于一切智智得信解已,于一切法皆不取相,亦不思惟无相诸法。如是梵志由胜解力,于一切法不取、不舍、无得、无证。时,彼梵志于自信解乃至涅槃亦不取着,以真法性为定量故。 + +“世尊!是菩萨摩诃萨甚深般若波罗蜜多,当知于色、受、想、行、识亦不摄受,虽于诸法无所摄受,若未圆满如来十力、四无所畏、四无碍解及十八佛不共法等,终不中道而般涅槃。当知如是诸菩萨摩诃萨甚深般若波罗蜜多,虽无取着而能成办诸胜事业。 + +“复次,世尊!诸菩萨摩诃萨修行般若波罗蜜多时,应如是观察:何等是般若波罗蜜多?何故名般若波罗蜜多?如是般若波罗蜜多为何所作?世尊!是菩萨摩诃萨修行般若波罗蜜多时,应如是观察:若法无所有、不可得,是为般若波罗蜜多无所有中何所徴诘?世尊!若菩萨摩诃萨于如是事审观察时,心不沉没亦无退屈、不惊、不怖,当知不离甚深般若波罗蜜多。” + +#8 己三 略明忍位之所缘及行相 + +时,舍利子问善现言:“若色离色自性,受、想、行、识离受、想、行、识自性,般若波罗蜜多离般若波罗蜜多自性,一切智智离一切智智自性,何缘故知诸菩萨摩诃萨不离般若波罗蜜多?” + +善现答言:“如是!如是!舍利子!诸色离色自性,受、想、行、识离受、想、行、识自性,般若波罗蜜多离般若波罗蜜多自性,一切智智离一切智智自性;般若波罗蜜多自相亦离自相,般若波罗蜜多自性亦离自性,相亦离自性,自性亦离相,相亦离相,自性亦离自性,能相亦离所相,所相亦离能相,能相亦离能相,所相亦离所相。若菩萨摩诃萨能如实知如是义者,常不远离甚深般若波罗蜜多。” + +时,舍利子问善现言:“若菩萨摩诃萨于此中学,速能成办一切智智耶?” + +善现答言:“如是!如是!舍利子!若菩萨摩诃萨于此中学,速能成办一切智智。何以故?舍利子!是菩萨摩诃萨知一切法无生灭故。舍利子!若菩萨摩诃萨能如是行甚深般若波罗蜜多,则为邻近一切智智。 + +“复次,舍利子!诸菩萨摩诃萨若行色为行相,若行色相为行相,若行色无相相为行相,若行色生为行相,若行色灭为行相,若行色坏为行相,若行色空为行相,若谓我能行为行相,若谓我是菩萨,能有所行为行相,若谓我是菩萨,能有所得为行相。若行受、想、行、识为行相,若行受、想、行、识相为行相,若行受、想、行、识无相相为行相,若行受、想、行、识生为行相,若行受、想、行、识灭为行相,若行受、想、行、识坏为行相,若行受、想、行、识空为行相,若谓我能行为行相,若谓我是菩萨,能有所行为行相,若谓我是菩萨,能有所得为行相。若作是念:‘若能如是行,是修行般若波罗蜜多。’亦为行相,当知是菩萨无方便善巧,虽有所行,非行般若波罗蜜多。” + +#8 己四 略明世第一法之所缘及行相 + +时,舍利子问善现言:“诸菩萨摩诃萨当云何行,名行般若波罗蜜多?” + +善现答言:“诸菩萨摩诃萨若不行色,不行色相,不行色无相相,不行色生,不行色灭,不行色坏,不行色空,是行般若波罗蜜多。诸菩萨摩诃萨若不行受、想、行、识,不行受、想、行、识相,不行受、想、行、识无相相,不行受、想、行、识生,不行受、想、行、识灭,不行受、想、行、识坏,不行受、想、行、识空,是行般若波罗蜜多。若菩萨摩诃萨不取行,不取不行,不取亦行亦不行,不取非行非不行,是行般若波罗蜜多。何以故?舍利子!以一切法皆不可取,不可随行,不可执受,离性相故,如是名为诸菩萨摩诃萨于一切法无取执定,广大无对无量,决定不共一切声闻、独觉。若菩萨摩诃萨安住此定,速证无上正等菩提。” + +具寿善现承佛神力,复语大德舍利子言:“若菩萨摩诃萨安住此定,当知已为过去如来、应、正等觉现前授记。是菩萨摩诃萨虽住此定,而不见此定亦不着此定名,亦不念言:‘我于此定已、正、当入。’亦不念言:‘唯我能入此定,非余彼。’如是等寻思分别,由此定力一切不起。” + +时,舍利子问善现言:“若菩萨摩诃萨由住此定,已为过去诸佛世尊现前授记,是菩萨摩诃萨为能显示如是定不?” + +善现答言:“不也!舍利子!何以故?是善男子于如是定无解无想。” + +舍利子言:“具寿说彼诸善男子于如是定无解想耶?” + +善现报言:“我定说彼诸善男子于如是定无解无想。所以者何?如是诸定无所有故。彼善男子于如是定无解无想,如是诸定于一切法亦无解想。所以者何?以一切法无所有故。” + +#8 己五 释加行位中所有分别 + +时,薄伽梵赞善现言:“善哉!善哉!如汝所说。故我说汝住无诤定最为第一,汝承如来神力加被能作是说。如是,善现!诸菩萨摩诃萨欲学般若波罗蜜多,应如是学。所以者何?若菩萨摩诃萨能如是学,乃名真学甚深般若波罗蜜多。” + +时,舍利子便白佛言:“若菩萨摩诃萨能如是学,于深般若波罗蜜多名真学耶?” + +佛告舍利子:“若菩萨摩诃萨能如是学,于深般若波罗蜜多名为真学,以无所得为方便故。” + +时,舍利子复白佛言:“若菩萨摩诃萨能如是学,以无所得为方便耶?” + +佛告舍利子:“若菩萨摩诃萨如是学时,于一切法以无所得而为方便。” + +时,舍利子复白佛言:“诸菩萨摩诃萨如是学时,于何法学?” + +佛告舍利子:“诸菩萨摩诃萨如是学时,非于法学。何以故?舍利子!如诸愚夫异生所执,非一切法如是有故。” + +时,舍利子复白佛言:“若尔,诸法如何而有?”佛告舍利子:“如无所有如是而有。若于如是无所有法不能了达,说名无明。愚夫异生,于一切法无所有性,无明贪爱增上势力分别执着断常二边,由此不知不见诸法无所有性分别诸法,由分别故便生执着,由执着故分别诸法无所有性,由此于法不见不知。以于诸法不见不知,分别过去未来现在。由分别故贪著名色,著名色故分别执着无所有法,于无所有法分别执着故,于如实道不知不见,不能出离三界生死,不信谛法,不觉实际,是故堕在愚夫数中。由斯,菩萨摩诃萨众于法性相都无执着。” + +时,舍利子复白佛言:“诸菩萨摩诃萨如是学时,岂亦不学一切智智?” + +佛告舍利子:“诸菩萨摩诃萨如是学时,亦不求学一切智智。然诸菩萨摩诃萨如是学时,虽无所学,而名真学一切智智,便能邻近一切智智,速能成办一切智智。” + +尔时,善现便白佛言:“设有人来作如是问:‘诸幻化者若有修学一切智智,彼能邻近一切智智及能速成办一切智智不?’我得此问当云何答?” + +佛告善现:“我还问汝,随汝意答。于意云何?幻化与色为有异不?幻化与受、想、行、识为有异不?” + +善现答言:“幻化不异色,色不异幻化,幻化即是色,色即是幻化;幻化不异受、想、行、识,受、想、行、识不异幻化,幻化即是受、想、行、识,受、想、行、识即是幻化。” + +佛告善现:“于意云何?五取蕴中起想等想,施设言说假名菩萨摩诃萨不?” + +善现对曰:“如是!世尊!” + +佛告善现:“诸菩萨摩诃萨求趣无上正等菩提,修学般若波罗蜜多,一切皆如幻化者学。何以故?幻化即是五取蕴故。所以者何?我说五蕴、眼等六根,皆如幻化都非实有。” + +#8 己六 明摄持 + +具寿善现复白佛言:“若菩萨摩诃萨新学大乘闻如是说,其心将无惊怖退屈?” + +佛告善现:“若菩萨摩诃萨新学大乘,亲近恶友,闻如是说心便惊怖则生退屈,若近善友,虽闻此说而不惊怖亦无退屈。” + +具寿善现复白佛言:“何等名为菩萨恶友?” + +佛告善现:“诸菩萨摩诃萨恶友者,谓若教授教诫菩萨摩诃萨众,令离布施乃至般若波罗蜜多,令离所求一切智智,令学取相世俗书典,令学声闻、独觉经法,又不为说魔事、魔过,令所修学不能成办,如是名为菩萨恶友。” + +具寿善现复白佛言:“何等名为菩萨善友?” + +佛告善现:“诸菩萨摩诃萨善友者,谓若教授教诫菩萨摩诃萨众,令学布施乃至般若波罗蜜多,令学所求一切智智,令离取相世俗书典,令离声闻、独觉经法,为说种种魔事、魔过,令其觉知方便弃舍,令所修学疾得成办,如是名为趣大乘道大誓庄严菩萨善友。” + +#7 戊二 论 + +#8 己一 略标 + +所緣及行相 因緣并攝持 菩薩救世者 如煖等體性 + +依具四分別 分下中上品 勝出諸聲聞 及以諸麟喻 + +#8 己二 广释 + +#9 庚一 释暖等四法之所缘、行相及因缘 + +所緣無常等 是四諦等相 行相破著等 是得三乘因 + +色等離聚散 住假立無說 色等不安住 其體無自性 + +彼等自性一 不住無常等 彼等彼性空 彼等自性一 + +不執著諸法 不見彼相故 智慧所觀察 一切無所得 + +色等無自性 彼無即為性 無生無出離 清淨及無相 + +由不依彼相 非勝解無想 正定定作用 授記盡執著 + +三互為一性 正定不分別 是順決擇分 下中上三品 + +#9 庚二 释分别 + +由所依對治 二所取分別 由愚蘊等別 彼各有九種 + +由實有假有 能取亦分二 自在我等體 蘊等依亦爾 + +#9 庚三 释摄持 + +心不驚怖等 宣說無性等 棄捨所治品 應知為攝持 + +#6 丁四 经论说修行所依之种性 + +#7 戊一 经 + +具寿善现复白佛言:“所说菩萨摩诃萨者,何等名为菩萨句义?” + +佛告善现:“学一切法无著无碍, + +#7 戊二 论 + +#8 己一 种性差别 + +通達有六法 對治與斷除 彼等皆永盡 具智慧悲愍 + +不共諸弟子 利他漸次行 智無功用轉 所依名種性 + +#8 己二 断诤 + +#9 庚一 诤 + +法界無差別 種性不應異 + +#9 庚二 答 + +由能依法異 故說彼差別 + +#6 丁五 经论说所缘 + +#7 戊一 经 + +觉一切法无著无碍,求证无上正等菩提饶益有情,是菩萨义。” + +#7 戊二 论 + +所緣一切法 此復為善等 若世間所知 及諸出世間 + +有漏無漏法 諸有為無為 若共弟子法 及佛不共法 + +#6 丁六 经论说修行所为 + +#7 戊一 经 + +#8 己一 明菩萨心大 + +具寿善现复白佛言:“菩萨何缘名摩诃萨?” + +佛告善现:“以诸菩萨于大有情众中当为上首故,复名摩诃萨。” + +#8 己二 明菩萨断大 + +时,舍利子便白佛言:“我以辩才,乐说菩萨由此义故名摩诃萨,唯愿听许!” + +佛告舍利子:“今正是时,随汝意说。” + +舍利子言:“以诸菩萨方便善巧,为诸有情宣说法要,令断我见、有情见、命者见、补特伽罗见、有见、无见、断见、常见、萨迦耶见及余种种有所执见,依如是义名摩诃萨。” + +#8 己三 明菩萨智大 + +尔时,善现便白佛言:“我以辩才,乐说菩萨由此义故名摩诃萨,唯愿听许!” + +佛告善现:“今正是时,随汝意说。” + +善现白言:“以诸菩萨为欲证得一切智智,发菩提心及无漏心、无等等心、不共声闻、独觉等心,于如是心亦不执着,依如是义名摩诃萨。所以者何?以一切智智是真无漏不堕三界,求一切智智心亦是真无漏不堕三界,于如是心不应执着,是故菩萨名摩诃萨。” + +时,舍利子问善现言:“何因缘故,于如是心亦不执着?” + +善现答言:“如是诸心无心性故不应执着。” + +时,舍利子问善现言:“是心为有非心性不?” + +善现反问舍利子言:“此非心性若有若无,为可得不?” + +舍利子言:“不也!善现!” + +善现报言:“此非心性若有若无既不可得,如何可问:是心为有非心性不?” + +时,舍利子赞善现言:“善哉!善哉!如是!如是!佛说仁者住无诤定最为第一,实如圣言。” + +#7 戊二 论 + +勝諸有情心 及斷智為三 當知此三大 自覺所為事 + +#6 丁七 经论说擐甲正行 + +#7 戊一 经 + +时,满慈子便白佛言:“我以辩才,乐说菩萨由此义故名摩诃萨,唯愿听许!” + +佛告满慈子:“今正是时,随汝意说。” + +满慈子言:“以诸菩萨普为饶益一切有情被大功德铠故, + +#7 戊二 论 + +由彼等別別 皆攝施等六 故披甲修行 六六如經說 + +#6 丁八 经论说发趣正行 + +#7 戊一 经 + +发趣大乘故,乘大乘故,名摩诃萨。” + +#7 戊二 论 + +靜慮無色定 施等道慈等 成就無所得 三輪善清淨 + +所為及六通 於一切相智 能趣入正行 當知昇大乘 + +#6 丁九 经论说资粮正行 + +#7 戊一 经 + +#8 己一 悲资粮 + +尔时,善现便白佛言:“如世尊说诸菩萨摩诃萨被大功德铠,齐何当言诸菩萨摩诃萨被大功德铠?” + +佛告善现:“诸菩萨摩诃萨作如是念:我应度脱无量无数无边有情入无余依般涅槃界,虽度如是无量无数无边有情入无余依般涅槃界,而无有法及诸有情得涅槃者。所以者何?诸法法性应如是故。譬如幻师或彼弟子,于四衢道化作大众更相加害,于意云何?此中有实更相加害死伤事不?” + +善现对曰:“不也!世尊!” + +佛告善现:“诸菩萨摩诃萨亦复如是,虽度如是无量无数无边有情入无余依般涅槃界,而无有法及诸有情得涅槃者。若菩萨摩诃萨闻如是事,不惊、不怖亦无退屈,当知是菩萨摩诃萨被大功德铠。” + +尔时,善现便白佛言:“如我解佛所说义者,诸菩萨摩诃萨不被功德铠,当知是为被大功德铠。” + +佛告善现:“如是!如是!诸菩萨摩诃萨不被功德铠,当知是为被大功德铠。所以者何?一切智智无造无作,一切有情亦无造无作,诸菩萨摩诃萨为欲饶益彼有情故被功德铠。” + +#8 己二 智资粮 + +具寿善现复白佛言:“何因缘故,一切智智无造无作,一切有情亦无造无作,诸菩萨摩诃萨为欲饶益彼有情故被功德铠?” + +佛告善现:“以诸作者不可得故。所以者何?色非造非不造,非作非不作,受、想、行、识非造非不造,非作非不作。何以故?色乃至识不可得故。” + +具寿善现便白佛言:“如我解佛所说义者,色乃至识无染无净。所以者何?色无缚无解,受、想、行、识亦无缚无解,色真如无缚无解,受、想、行、识真如亦无缚无解。” + +时,满慈子问善现言:“尊者说色无缚无解,说受、想、行、识亦无缚无解,说色真如无缚无解,说受、想、行、识真如亦无缚无解耶?” + +善现答言:“如是!如是!” + +满慈子言:“说何等色无缚无解?说何等受、想、行、识亦无缚无解?说何等色真如无缚无解?说何等受、想、行、识真如亦无缚无解耶?” + +善现答言:“我说如幻士色无缚无解,说如幻士受、想、行、识亦无缚无解,说如幻士色真如无缚无解,说如幻士受、想、行、识真如亦无缚无解。所以者何?色乃至识及彼真如,无所有故无缚无解,远离故无缚无解,寂静故无缚无解,无相故无缚无解,无作故无缚无解,无生灭故无缚无解,无染净故无缚无解,是名菩萨摩诃萨发趣大乘被功德铠。” + +时,满慈子闻如是说,欢喜信受默然而住。 + +#8 已三 地资粮 + +尔时,善现便白佛言:“诸菩萨摩诃萨发趣大乘,被功德铠,乘于大乘。云何大乘?齐何当言发趣大乘?如是大乘从何处出至何处住?如是大乘为何所住?谁复乘是大乘而出?” + +佛告善现言:“大乘者即是无量无数增语,无边功德共所成故。 + +“汝次所问‘齐何当言发趣大乘?’者,善现当知!若菩萨摩诃萨勤行布施乃至般若波罗蜜多,从一菩萨地趣一菩萨地,齐此当言发趣大乘。 + +#8 已四 对治资粮 + +“汝次所问‘如是大乘从何处出至何处住?’者,善现当知!如是大乘从三界中出,至一切智智中住,然以无二为方便故无出、无住。 + +“汝次所问‘如是大乘为何所住?’者,善现当知!如是大乘都无所住,以一切法皆无所住,然此大乘住无所住。 + +“汝后所问‘谁复乘是大乘出?’者,善现当知!都无乘是大乘出者。所以者何?若所乘乘、若能乘者、由此、为此、若处、若时,皆无所有都不可得,以一切法皆无所有、不可得故,于中何法乘何法出至何处住而言乘者?” + +#7 戊二 论 + +#8 己一 总标十七种资粮 + +悲及施等六 並修止觀道 及以雙運道 諸善權方便 + +智福與諸道 陀羅尼十地 能對治當知 資糧行次第 + +#8 己二 别释三资粮 + +庚一 智资粮 + +> (二十空) + +#9 庚二 地资粮 + +#10 辛一 释因位九地修治 + +#11 壬一 初地修治 + +由十種修治 當能得初地 意樂饒益事 有情平等心 + +能捨近善友 求正法所緣 常發出家心 愛樂見佛身 + +開闡正法教 諦語為第十 彼性不可得 當知名修治 + +#11 壬二 第二地修治 + +戒報恩安忍 極喜及大悲 承事敬師聞 第八勤施等 + +#11 壬三 第三地修治 + +多聞無厭足 無染行法施 嚴淨成佛剎 不厭倦眷屬 + +及有慚有愧 五種無著性 + +#11 壬四 第四地修治 + +住林少欲足 杜多正律儀 不捨諸學處 訶厭諸欲樂 + +寂滅捨眾物 不沒無顧戀 + +#11 壬五 第五地修治 + +親識及慳家 樂猥雜而住 自讚及毀他 十不善業道 + +憍慢與顛倒 惡慧忍煩惱 遠離此十事 證得第五地 + +#11 壬六 第六地修治 + +施戒忍精進 靜慮慧圓滿 於弟子麟喻 捨喜捨怖心 + +見求無愁慼 盡捨無憂悔 雖貧不厭求 證得第六地 + +#11 壬七 第七地修治 + +#12 癸一 第七地应离之过失 + +執我及有情 命與數取趣 斷常及相因 蘊界并諸處 + +住三界貪著 其心遍怯退 於三寶尸羅 起彼見執著 + +諍論於空性 遠空性過失 由離此二十 便得第七地 + +#12 癸二 第七地应修之对治 + +知三解脫門 三輪皆清淨 大悲無執著 法平等一理 + +知無生知忍 說諸法一相 滅除諸分別 離想見煩惱 + +奢摩他定思 善毘缽舍那 內心善調伏 一切無礙智 + +非貪地隨欲 等遊諸佛土 一切善現身 共為二十種 + +#11 壬八 第八地修治 + +知諸有情意 遊戲諸神通 修微妙佛剎 觀故親近佛 + +知根淨佛土 安住如幻事 故思受三有 說此八種業 + +#11 壬九 第九地修治 + +無邊諸誓願 了知天等語 辯說如懸河 入胎最第一 + +種姓族圓滿 眷屬及生身 出家菩提樹 圓滿諸功德 + +#10 辛二 释果位第十地相 + +超過九地已 若智住佛地 應知此即是 菩薩第十地 + +#9 庚三 别释对治资粮 + +見修諸道中 所能取分別 由滅除彼故 說八種對治 + +#6 丁十 经论说出生正行 + +#7 戊一 经分四 + +#8 己一 问答发端 + +具寿善现复白佛言:“言大乘,大乘者普超一切世间天、人、阿素洛等最尊最胜,如是大乘与虚空等。譬如虚空,普能容受无量无数无边有情,大乘亦尔,普能容受无量无数无边有情。又如虚空,无来、无去、无住可见,大乘亦尔,无来、无去、无住可见。又如虚空、前、后、中际皆不可得,大乘亦尔,前、后、中际皆不可得。如是大乘最尊最胜与虚空等,多所容受、无动、无住,三世平等超过三世,故名大乘。” + +佛告善现:“善哉!善哉!如是!如是!如汝所说。菩萨大乘具如是等无边功德。” + +#8 已二 明证得相之出生 + +时,满慈子便白佛言:“世尊先教大德善现为诸菩萨摩诃萨众宣说、开示甚深般若波罗蜜多,而今何故乃说大乘?” + +尔时,善现即白佛言:“我从前来所说种种大乘之义,将无违越所说般若波罗蜜多。” + +佛告善现:“汝从前来所说种种大乘之义,皆顺般若波罗蜜多无所违越。所以者何?一切善法无不摄入甚深般若波罗蜜多。” + +具寿善现复白佛言:“诸菩萨摩诃萨前际不可得,后际不可得,中际不可得。所以者何?色无边故,当知菩萨摩诃萨亦无边,受、想、行、识无边故,当知菩萨摩诃萨亦无边。 + +“复次,世尊!即色,菩萨摩诃萨无所有不可得,即受、想、行、识,菩萨摩诃萨无所有不可得;离色,菩萨摩诃萨无所有不可得;离受、想、行、识菩萨摩诃萨无所有不可得。如是,世尊!我于此等一切法,以一切种、一切处、一切时,求菩萨摩诃萨都无所见竟不可得,求深般若波罗蜜多亦都无所见竟不可得,求一切智智亦都无所见竟不可得,云何令我教授教诫诸菩萨摩诃萨,令于般若波罗蜜多速得究竟,谓疾证得一切智智? + +“复次,世尊!诸菩萨摩诃萨但有假名都无自性。如说我等毕竟不生,但有假名都无自性,诸法亦尔,毕竟不生,但有假名都无自性。此中何等是色毕竟不生?若毕竟不生则不名色。何等是受、想、行、识毕竟不生?若毕竟不生则不名受、想、行、识。世尊!色是菩萨摩诃萨不可得,受、想、行、识是菩萨摩诃萨不可得,此不可得亦不可得。我于如是一切法,以一切种、一切处、一切时,求菩萨等皆不可得,当教何等法?修何等法?于何等处、时、证何等法? + +“复次,世尊!佛薄伽梵但有假名,一切菩萨但有假名,甚深般若波罗蜜多但有假名。如说我等毕竟不生,但有假名都无自性,诸法亦尔,但有假名都无自性。何等是色既不可取亦不可生?何等是受、想、行、识既不可取亦不可生?诸法自性既不可取亦不可生,若法无性亦不可生,此无生法亦不可生,我岂能以毕竟不生般若波罗蜜多,教授教诫毕竟不生诸菩萨摩诃萨令得究竟?世尊!离不生法无法可得,亦无菩萨摩诃萨能行无上正等菩提。 + +“世尊!若菩萨摩诃萨闻如是说,心不沉没亦无退屈、不惊、不怖,当知是菩萨摩诃萨能修般若波罗蜜多。所以者何?若时菩萨摩诃萨行深般若波罗蜜多,观察诸法,是时菩萨摩诃萨于一切色都无所得,无受、无取、无住、无著,亦不施设为色;于一切受、想、行、识都无所得,无受、无取、无住、无著,亦不施设为受、想、行、识。是菩萨摩诃萨行深般若波罗蜜多时,不见色亦不见受、想、行、识。所以者何?以色性空无生无灭,受、想、行、识性空无生无灭。 + +“世尊!色无生无灭即非色,受、想、行、识无生无灭即非受、想、行、识。所以者何?色乃至识与无生无灭无二、无二分。何以故?以无生无灭法非一、非二、非多、非异,是故色乃至识无生无灭,即非色乃至识。世尊!色无二即非色,受、想、行、识无二即非受、想、行、识。世尊!色入无二法数,受、想、行、识入无二法数。若说色即说无二法,若说受、想、行、识即说无二法。” + +#8 己三 能生一切相智胜进道之出生 + +时,舍利子谓善现言:“如我领解仁所说义,我、有情等毕竟不生,色乃至识毕竟不生,诸佛菩萨毕竟不生。若如是者,何缘菩萨摩诃萨为度无量无数有情,修多百千难行苦行,备受无量难忍大苦?” + +善现报言:“舍利子!非我于彼无生法中,许有菩萨摩诃萨为度无量无数有情,修多百千难行苦行,备受无量难忍大苦,然诸菩萨摩诃萨虽为有情修无量种难行苦行,而于其中无苦行想。所以者何?若于苦行作苦行想,终不能为无量无数无边有情作大饶益。然诸菩萨摩诃萨众以无所得而为方便,于诸苦行作乐行想,于难行行作易行想,于诸有情作如父母、兄弟、妻子及己身想,为度彼故发起无上正等觉心,乃能为彼无量无数无边有情作大饶益。 + +“复次,舍利子!诸菩萨摩诃萨于一切有情起如父母、兄弟、妻子、己身想已,作如是念:‘我当度脱一切有情,令离一切生死众苦,起多百千难行苦行,宁舍自身而不舍彼;然于有情苦及苦行,不起有情苦、苦行想。’复作是念:‘我当度脱一切有情令离无边诸大苦蕴,假使为彼断截我身为百千分终不退屈,然于其中不起难行苦行之想。’ + +“复次,舍利子!诸菩萨摩诃萨应作是念:‘如我自性,于一切法,以一切种、一切处时求不可得;内外诸法亦复如是,都无所有皆不可得。’若住此想便不见有难行苦行,由此能为无量无数无边有情,修多百千难行苦行,作大饶益。” + +大般若波罗蜜多经卷第五百三十八 + +大般若波罗蜜多经卷第五百三十九 + +三藏法师玄奘奉 诏译第四分妙行品第一之二 + +时,舍利子问善现言:“是诸菩萨实无生不?” + +善现答言:“是诸菩萨皆实无生。” + +舍利子言:“为但菩萨是实无生,为菩萨法亦实无生?” + +善现答言:“诸菩萨法亦实无生。” + +舍利子言:“为但菩萨法是实无生,为一切智智亦实无生?” + +善现答言:“一切智智亦实无生。” + +舍利子言:“为但一切智智是实无生,为一切智智法亦实无生?” + +善现答言:“一切智智法亦实无生。” + +舍利子言:“为但一切智智法是实无生,为异生类亦实无生?” + +善现答言:“诸异生类亦实无生。” + +舍利子言:“为但异生类是实无生,为异生法亦实无生?” + +善现答言:“诸异生法亦实无生。” + +时,舍利子语善现言:“若诸菩萨皆实无生,诸菩萨法亦实无生,一切智智是实无生,一切智智法亦实无生,诸异生类是实无生,异生类法亦实无生者,岂不菩萨摩诃萨应随证得一切智智,是则无生法应得无生法?” + +善现答言:“我意不许无生法中有证得、有现观。所以者何?诸无生法不可得故。” + +舍利子言:“为许生法证生法,为许无生法证无生法耶?” + +善现答言:“我意不许生法证生法,亦不许无生法证无生法。” + +舍利子言:“为许生法证无生法,为许无生法证生法耶?” + +善现答言:“我意不许生法证无生法,亦不许无生法证生法。” + +舍利子言:“若如是者,岂都无得、无现观耶?” + +善现答言:“虽有得、有现观,然不由此二法而证,但随世间言说施设有得、现观,非胜义中有得、现观。” + +时,舍利子问善现言:“为许未生法生,为许已生法生耶?” + +善现答言:“我意不许未生法生,亦不许已生法生。” + +时,舍利子问善现言:“为许生生,为许不生生耶?” + +善现答言:“我意不许生生,亦不许不生生。” + +时,舍利子问善现言:“仁者于所说无生法,乐辩说无生相耶?” + +善现答言:“我于所说无生法,亦不乐辩说无生相。” + +时,舍利子问善现言:“于无生法起无生言,此无生言亦无生不?” + +善现答言:“如是!如是!于无生法起无生言,此法及言俱无生义,而随世俗说无生相。” + +时,舍利子赞善现言:“说法人中仁为第一,除佛世尊无能及者。所以者何?随所问诘种种法门,皆能酬答无所滞碍,而于法性能无动越。” + +善现报言:“诸佛弟子于一切法无依著者,法尔皆能随所问诘,一一酬答自在无畏,而于法性能无动越。所以者何?以一切法无所依故。” + +时,舍利子问善现言:“如是所说甚深法要,为由何等波罗蜜多威力所办?” + +善现答言:“如是所说甚深法要,皆由般若波罗蜜多威力所办。所以者何?说一切法无所依止,要由般若波罗蜜多达一切法无所依故。 + +#8 己四 金刚喻定有境之出生 + +若菩萨摩诃萨闻说如是甚深般若波罗蜜多,心无疑惑亦不迷闷,当知是菩萨摩诃萨住如是住恒不舍离,谓无所得而为方便,常勤拔济一切有情。当知是菩萨摩诃萨成就如是最胜作意,所谓大悲相应作意。” + +时,舍利子谓善现言:“若菩萨摩诃萨住如是住恒不舍离,成就大悲相应作意者,则一切有情亦应成菩萨摩诃萨。所以者何?以一切有情,亦于此住及此作意,常不舍离甚深般若波罗蜜多。大悲作意性平等故,则诸菩萨摩诃萨与一切有情应无差别。” + +善现报曰:“善哉!善哉!如是!如是!诚如所说。能如实知我所说意,虽似难我而成我义。何以故?舍利子!有情无自性故,当知如是住及作意亦无自性;有情无所有故,当知如是住及作意亦无所有;有情远离故,当知如是住及作意亦远离;有情寂静故,当知如是住及作意亦寂静;有情不可得故,当知如是住及作意亦不可得;有情无觉知故,当知如是住及作意亦无觉知。由此因缘,诸菩萨摩诃萨于如是住及此作意常不舍离,与诸有情亦无差别,以一切法及诸有情皆毕竟空、无差别故。若菩萨摩诃萨能如是知无所滞碍,是真修行甚深般若波罗蜜多。” + +尔时,世尊赞善现曰:“善哉!善哉!汝善能为诸菩萨摩诃萨宣说、开示甚深般若波罗蜜多,此皆如来威神之力。若有欲为诸菩萨摩诃萨宣说、开示甚深般若波罗蜜多,皆应如汝宣说开示。若菩萨摩诃萨欲学般若波罗蜜多,皆应随汝所说而学。若菩萨摩诃萨随汝所说而学般若波罗蜜多,是菩萨摩诃萨速证无上正等菩提,能尽未来利乐一切。是故菩萨摩诃萨众欲证无上正等菩提,当勤修学甚深般若波罗蜜多。” + +#7 戊二 论 + +所為及平等 利有情無用 超二邊出生 證得相出生 + +一切相智性 道有境出生 當知此八種 是出生正行 + +#5 丙二 经论说道相智 + +#6 丁一 经论说道相智之支分 + +#7 戊一 经 + +#8 己一 佛身光明隐蔽天光 + +第四分帝释品第二 + +尔时,天帝释与三十三天四万天子俱来会坐,护世四天王与四大王众天二万天子俱来会坐,索诃界主大梵天王与万梵众俱来会坐,如是乃至五净居天各与无量百千天子俱来会坐,是诸天众净业所感异熟身光虽能照曜,而以如来身光威力之所映夺皆悉不现。 + +#8 己二 帝释启问 + +时,天帝释白善现言:“今此三千大千世界无量天众俱来会坐,欲闻大德宣说、开示甚深般若波罗蜜多,教授教诫诸菩萨摩诃萨,令于般若波罗蜜多速得究竟。唯愿大德哀愍为说!云何菩萨摩诃萨应住般若波罗蜜多?云何菩萨摩诃萨应学般若波罗蜜多?” + +#8 己三 明定性二乘不能发心(境决定) + +尔时,善现告帝释言:“吾当承佛威神之力顺如来意,为诸菩萨摩诃萨众宣说、开示甚深般若波罗蜜多,如诸菩萨摩诃萨众可于其中应如是住、应如是学。汝等天众,皆应谛听善思念之。 + +“憍尸迦!汝诸天等,未发无上菩提心者今皆应发。诸有已入声闻、独觉正性离生,不复能发大菩提心。何以故?憍尸迦!彼于生死流已作限隔故。 + +#8 己四 明有种性者虽入二乘仍可发心(普遍) + +其中若有能发无上菩提心者,我亦随喜。 + +#8 己五 明胜人之本性 + +所以者何?诸有胜人应求胜法,我终不障他胜善品。” + +#8 己六 明事业 + +尔时,世尊赞善现曰:“善哉!善哉!汝今善能为诸菩萨摩诃萨众宣说、开示甚深般若波罗蜜多,亦能劝励诸菩萨摩诃萨,令深欢喜勤修般若波罗蜜多。” + +具寿善现便白佛言:“我既知恩如何不报!所以者何?过去诸佛及诸弟子,为诸菩萨摩诃萨众宣说布施乃至般若波罗蜜多,教授教诫、摄受护念。世尊尔时亦于中学清净梵行,今证无上正等菩提,转妙法轮饶益我等。故我今者应随佛教,为诸菩萨摩诃萨众宣说布施乃至般若波罗蜜多,教授教诫、摄受护念,令勤修学清净梵行,疾证无上正等菩提,转妙法轮穷未来际,利益安乐一切有情,是则名为报彼恩德。” + +#7 戊二 论 + +調伏諸天故 放光令隱闇 境決定普遍 本性及事業 + +#6 丁二 经论说知声闻道之道相智 + +#7 戊一 经 + +#8 己一 暖 + +具寿善现告帝释言:“汝问‘云何菩萨摩诃萨应住、应学般若波罗蜜多?’者,谛听!谛听!当为汝说,诸菩萨摩诃萨于深般若波罗蜜多,如所应住及应学相。 + +“憍尸迦!诸菩萨摩诃萨被大功德铠,应以空相安住般若波罗蜜多, + +#8 己二 顶 + +不应住色,不应住受、想、行、识,不应住预流果,不应住一来、不还、阿罗汉果,不应住独觉菩提,不应住诸佛无上正等菩提;不应住此是色,不应住此是受、想、行、识,不应住此是预流果,不应住此是一来、不还、阿罗汉果,不应住此是独觉菩提,不应住此是诸佛无上正等菩提; + +#8 己三 忍 + +不应住色若常若无常,不应住受、想、行、识若常若无常;不应住色若乐若苦,不应住受、想、行、识若乐若苦;不应住色若我若无我,不应住受、想、行、识若我若无我;不应住色若净若不净,不应住受、想、行、识若净若不净;不应住色若空若不空,不应住受、想、行、识若空若不空;不应住预流果是无为所显,不应住一来、不还、阿罗汉果是无为所显,不应住独觉菩提是无为所显,不应住诸佛无上正等菩提是无为所显;不应住预流果是真福田应受供养,不应住预流果极七返有必入涅槃;不应住一来果是真福田应受供养,不应住一来果未至究竟一来此间作苦边际;不应住不还果是真福田应受供养,不应住不还果往彼灭度不复还来;不应住阿罗汉果是真福田应受供养,不应住阿罗汉果今世定入无余涅槃;不应住独觉是真福田应受供养,不应住独觉超声闻地不至佛地而般涅槃;不应住佛是真福田应受供养,不应住佛超异生地、超声闻地、超独觉地、超菩萨地安住佛地,利益安乐无量无数无边有情,令入无余般涅槃界;不应住佛度脱无量无边有情,令于三乘各得决定,作如是等诸佛事已,入无余依般涅槃界。” + +#8 己四 世第一法 + +时,舍利子作是念言:“若菩萨摩诃萨行深般若波罗蜜多时,不应住佛安住佛地,利益安乐无量无数无边有情,令入无余般涅槃界,不应住佛度脱无量无边有情,令于三乘各得决定,作如是等诸佛事已,入无余依般涅槃界,亦不应住诸余法等者,是诸菩萨摩诃萨众当云何住?” + +具寿善现承佛威神,知舍利子心之所念,便谓之曰:“于意云何?诸如来心为何所住?” + +时,舍利子语善现言:“诸如来心都无所住。所以者何?心无所住故名如来、应、正等觉,谓不住有为界,亦不住无为界,亦非不住。” + +时,具寿善现谓舍利子言:“诸菩萨摩诃萨行深般若波罗蜜多时亦复如是,如诸如来、应、正等觉,于一切法心无所住亦非不住。舍利子!诸菩萨摩诃萨于深般若波罗蜜多,如诸如来、应、正等觉,以无所得而为方便,应如是住、应如是学。” + +#7 戊二 论 + +#8 己一 了知自性 + +道相智理中 由諸四聖諦 行相不可得 當知聲聞道 + +#8 己二 了知顺抉择分因 + +聖聲聞道中 由色等空故 空無別為煖 由彼無所得 + +許為至頂位 忍位於色等 破住常等理 依於十地等 + +由廣說無住 即名第一法 由佛以現智 不見諸法故 + +#6 丁三 经论说知独觉道之道相智 + +#7 戊一 经 + +#8 己一 明其不须他教 + +尔时,众中有诸天子窃作是念:“诸药叉等言词咒句,种种差别虽复隐密,而我等辈犹可了知。大德善现于深般若波罗蜜多,虽以种种言词显示,然我等辈竟不能解。” + +具寿善现知诸天子心之所念,便告彼言:“汝诸天子于我所说不能解耶?” + +诸天子言:“如是!如是!我于大德所说般若波罗蜜多甚深句义都不能解。” + +具寿善现复告彼言:“我曾于此甚深般若波罗蜜多相应义中无说无示,汝亦不闻当何所解?何以故?诸天子!甚深般若波罗蜜多相应义中,文字言说皆远离故。” + +#8 己二 明其智慧甚深 + +时,诸天子复作是念:“大德善现于此般若波罗蜜多甚深义中,虽复种种方便显说欲令易解,然其义趣甚深转甚深、微细更微细、难可测量。” + +#8 己三 明独觉道由三事识别 + +具寿善现知彼心念,便告之言:“天子当知!色非甚深非微细,受、想、行、识非甚深非微细,预流果非甚深非微细,一来、不还、阿罗汉果非甚深非微细,独觉菩提非甚深非微细,诸佛无上正等菩提非甚深非微细。何以故?诸天子!以一切法微细甚深,说、听、解者不可得故。由斯汝等于诸法中,应随所说修深固忍。天子当知!诸有欲证欲住预流、一来、不还、阿罗汉果、独觉菩提、诸佛无上正等菩提,要依此忍乃能证住。” + +时,诸天子作是念言:“大德善现于今欲为何等有情说何等法?” + +具寿善现知诸天子心之所念,而告彼言:“天子当知!吾今欲为如幻、如化、如梦有情,亦复宣说如幻、如化、如梦之法。何以故?诸天子!如是听者于所说法无闻、无解、无所证故。” + +时,诸天子问善现言:“能说、能听及所说法,皆如幻、化、梦所见耶?” + +善现答言:“如是!如是!如幻有情为如幻者说如幻法,如化有情为如化者说如化法,如梦有情为如梦者说如梦法。一切有情及一切法,无不皆如幻、化、梦境,以一切法、一切有情与幻、化、梦无二无别。天子当知!诸预流者及预流果,若一来者及一来果,若不还者及不还果,若阿罗汉及阿罗汉果,若诸独觉及独觉菩提,若诸如来、应、正等觉及佛无上正等菩提,无不皆如幻、化、梦境。” + +时,诸天子问善现言:“岂诸如来、应、正等觉及佛无上正等菩提,亦如幻、化、梦所见耶?” + +善现答言:“如是!如是!乃至涅槃,我亦说为如幻、如化、如梦所见。” + +时,诸天子问善现言:“岂可涅槃亦如幻、化、梦所见境?” + +善现答言:“设更有法胜涅槃者,我亦说为如幻、如化、如梦所见。所以者何?幻、化、梦境与一切法乃至涅槃无二无别,皆不可得、不可说故。” + +尔时,舍利子、执大藏、满慈子、大饮光等问善现言:“所说般若波罗蜜多,如是甚深谁能信受?” + +具寿庆喜白大声闻舍利子等言:“有不退转菩萨摩诃萨,于此般若波罗蜜多能深信受,复有无量具足正见诸漏永尽大阿罗汉,于此般若波罗蜜多亦能信受。” + +具寿善现作如是言:“如是所说甚深般若波罗蜜多无能信受。所以者何?此中无法可显可示及可施设,既实无法可显可示及可施设故,信受者亦不可得。” + +时,天帝释作是念言:“大德善现雨大法雨,我应化作微妙诸华奉散供养。”作是念已,即便化作微妙诸华散善现上。 + +具寿善现作是念言:“今所散华于诸天处未曾见有,是华微妙,定非水陆草木所生,应是诸天从心化出。” + +时,天帝释既知善现心之所念,谓善现言:“此所散华,实非水陆草木所生,亦非诸天从心化出。何以故?此所散华无生性故。” + +尔时,善现语帝释言:“此华不生,即非华也!” + +#8 己四 释顺抉释分因 + +1时,天帝释窃作是念:“大德善现智慧甚深,不坏假名而说实义。” + +作是念已,白善现言:“如是!如是!诚如尊教。诸菩萨摩诃萨于诸法中,随尊者教应如是学。” + +具寿善现语帝释言:“如是!如是!如汝所说。诸菩萨摩诃萨于诸法中,随我所教应如是学。 + +“憍尸迦!诸菩萨摩诃萨如是学时,不于色学,不于受、想、行、识学,不于预流果学,不于一来、不还、阿罗汉果学,不于独觉菩提学,不于诸佛无上正等菩提学,若不于此诸地而学,是名学佛一切智智。若能学佛一切智智,则学无量无边佛法。 + +2若学无量无边佛法,则不学色有增有减,亦不学受、想、行、识有增有减。若不学色有增有减,亦不学受、想、行、识有增有减,则不学色有取有舍,亦不学受、想、行、识有取有舍。若不学色有取有舍,亦不学受、想、行、识有取有舍,则不学一切法有取有舍。若不学一切法有取有舍,则不学诸法有可摄受、有可灭坏。 + +3若不学诸法有可摄受、有可灭坏,则不学一切智智有可摄受、有可灭坏。诸菩萨摩诃萨如是学时,名为真学一切智智,速能证得一切智智。” + +4时,舍利子问善现言:“若菩萨摩诃萨不学诸法有可摄受、有可灭坏,亦不学一切智智有可摄受、有可灭坏,是菩萨摩诃萨如是学时,名为真学一切智智,速能证得一切智智耶?” + +善现答言:“如是!如是!若菩萨摩诃萨不学诸法有可摄受、有可灭坏,亦不学一切智智有可摄受、有可灭坏,是菩萨摩诃萨如是学时,名为真学一切智智,速能证得一切智智,以无所得为方便故。” + +#7 戊二 论 + +#8 己一 所依差别 + +#9 庚一 正说 + +自覺自證故 亦不依他教 是故當宣說 麟喻智甚深 + +#9 庚二 断诤 + +若誰於何義 欲聞如何說 於彼彼彼義 無聲如是現 + +#8 己二 如何了知彼道 + +遠所取分別 未離能取故 當知由所依 攝為麟喻道 + +#8 己三 释顺抉择分因 + +開闡假法性 無違相為煖 頂由達色等 無滅等所顯 + +忍由內空等 不執色等故 色等無生等 相為第一法 + +#6 丁四 经论说有胜利之大乘见道 + +#7 戊一 经 + +#8 己一 苦法智忍 + +尔时,天帝释问舍利子言:“诸菩萨摩诃萨所学般若波罗蜜多,当于何求?” + +舍利子言:“诸菩萨摩诃萨所学般若波罗蜜多,当于善现所说中求。” + +天帝释问舍利子言:“是谁神力为依持故,而令尊者作如是说?” + +舍利子言:“如来神力为依持故,我作是说。” + +时,天帝释复问具寿舍利子言:“是谁神力为依持故,尊者善现能说般若波罗蜜多?” + +舍利子言:“如来神力为依持故,具寿善现能说般若波罗蜜多。” + +尔时,善现告帝释言:“汝之所问‘是谁神力为依持故,令我善现能说般若波罗蜜多?’者,憍尸迦!当知定是如来神力为依持故,令我善现能说般若波罗蜜多。 + +“憍尸迦!汝之所问‘诸菩萨摩诃萨所学般若波罗蜜多,当于何求?’者,憍尸迦!诸菩萨摩诃萨所学般若波罗蜜多,不应于色求,不应离色求;不应于受、想、行、识求,不应离受、想、行、识求。所以者何?色非般若波罗蜜多,亦非离色而有般若波罗蜜多;受、想、行、识亦非般若波罗蜜多,亦非离受、想、行、识而有般若波罗蜜多。” + +#8 己二 苦法智 + +时,天帝释白善现言:“诸菩萨摩诃萨所学般若波罗蜜多,是大波罗蜜多,是无量波罗蜜多,是无边波罗蜜多。” + +善现报言:“如是!如是!憍尸迦!诸菩萨摩诃萨所学般若波罗蜜多,是大波罗蜜多,是无量波罗蜜多,是无边波罗蜜多。何以故?憍尸迦!色大故,当知般若波罗蜜多亦大;受、想、行、识大故,当知般若波罗蜜多亦大。 + +#8 己三 苦类智忍 + +憍尸迦!色无量故,当知般若波罗蜜多亦无量;受、想、行、识无量故,当知般若波罗蜜多亦无量。 + +#8 己四 苦类智 + +憍尸迦!色无边故,当知般若波罗蜜多亦无边;受、想、行、识无边故,当知般若波罗蜜多亦无边。 + +#8 己五 集法智忍 + +“复次,憍尸迦!所缘无边故,当知般若波罗蜜多亦无边。憍尸迦!云何所缘无边故,当知般若波罗蜜多亦无边?谓一切法前、中、后际皆不可得说为无边,法无边故所缘亦无边,由此般若波罗蜜多亦说无边。是故我说所缘无边故,当知般若波罗蜜多亦无边。 + +“复次,憍尸迦!一切法无边故,当知般若波罗蜜多亦无边。憍尸迦!云何一切法无边故,当知般若波罗蜜多亦无边?谓一切法边不可得。所以者何?以一切色前、中、后边皆不可得,一切受、想、行、识前中后边皆不可得,由此般若波罗蜜多前、中、后边亦不可得。是故我说一切法无边故,当知般若波罗蜜多亦无边。 + +“复次,憍尸迦!一切有情无边故,当知般若波罗蜜多亦无边。所以者何?一切有情边不可得。是故我说一切有情无边故,当知般若波罗蜜多亦无边。” + +时,天帝释问善现言:“大德!云何一切有情无边故,当知般若波罗蜜多亦无边?” + +善现答言:“憍尸迦!非有情类其数众多,计算其边不可得故,作如是说:一切有情无边故,当知般若波罗蜜多亦无边。” + +天帝释言:“为何义故作如是说?” + +善现告言:“憍尸迦!我今问汝,随汝意答。于意云何?言有情,有情者是何法增语?” + +天帝释言:“言有情,有情者非法增语亦非非法增语,但是假立客名所摄、无事名所摄、无主名所摄、无缘名所摄。” + +#8 己六 集法智 + +善现复言:“憍尸迦!于意云何?于此般若波罗蜜多甚深经中,为显示有实有情不?” + +天帝释言:“不也!大德!” + +善现告言:“于此般若波罗蜜多甚深经中,既不显示有实有情故说无边,以彼中、边不可得故。 + +“憍尸迦!于意云何?若诸如来、应、正等觉,经如殑伽沙数大劫,以无边音说有情类无量名字,此中颇有真实有情有生灭不?” + +天帝释言:“不也!大德!何以故?以诸有情本性净故。彼从本来无所有故,非无所有可有生灭。” + +善现告言:“由斯义故,我作是说:一切有情无边故,当知般若波罗蜜多亦无边。憍尸迦!由此当知诸菩萨摩诃萨所学般若波罗蜜多,应说为大、无量、无边。” + +#8 己七 集类智忍 + +尔时,会中天帝释等欲界诸天、梵天王等色界诸天,及大自在神仙天女,欢喜踊跃,同时三返高声唱言:“善哉!善哉!佛出世故,尊者善现承佛威神,善为我等宣说、开示微妙法性,所谓般若波罗蜜多,令诸天、人、阿素洛等获大饶益。若菩萨摩诃萨能于如是甚深般若波罗蜜多,如说修行常不舍离,我等于彼,恭敬供养如佛世尊。” + +尔时,佛告诸天等言:“如是!如是!若菩萨摩诃萨于此般若波罗蜜多,以无所得而为方便,能如说行常不远离,汝诸天等,皆应供养如佛世尊。天等当知!我于往昔然灯佛时,莲华王都四衢道首见然灯佛,献五茎华,布发掩泥闻正法要,以无所得为方便故,便不远离甚深般若波罗蜜多及余无量无边佛法。时,然灯佛即便授我无上正等大菩提记,作是言:‘善男子!汝于来世过无数劫,于此世界贤劫之中,当得作佛,号能寂如来、应、正等觉,广说乃至佛、薄伽梵,宣说般若波罗蜜多甚深经典度无量众。’” + +时,诸天等俱白佛言:“如是般若波罗蜜多甚为希有,令诸菩萨摩诃萨众,速能引摄一切智智,尽未来际利乐有情。” + +第四分供养窣堵波品第三之一 + +尔时,世尊知欲、色界诸天神众及诸苾刍、苾刍尼等四众云集,恭敬信受同为明证,即便顾命天帝释言:“憍尸迦!若善男子、善女人等于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟及广为他无倒宣说,当知是辈,一切恶魔、人非人等不能得便,一切灾横皆不能及,身心安乐无病长寿。 + +#8 已八 集类智 + +复次,憍尸迦!若诸天子已发无上正等觉心,于深般若波罗蜜多若未听闻、受持、读诵、精勤修学、如理思惟,皆应来至是善男子、善女人所,至心听闻、受持、读诵甚深般若波罗蜜多,如理思惟甚深义趣,令得究竟转为他说。 + +#8 己九 灭法智忍 + +复次,憍尸迦!若善男子、善女人等于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟,是善男子、善女人等若在空宅、若在旷野、若在险道及危难处,终不怖畏惊恐毛竖,诸天善神常来拥护。” + +时,四天王及彼天众,合掌恭敬俱白佛言:“若善男子、善女人等能于般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,我等常随恭敬守护,不令一切灾横侵恼。” + +时,天帝释及诸天众,合掌恭敬俱白佛言:“若善男子、善女人等能于般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,我等常随恭敬守护,不令一切灾横侵恼。” + +时,梵天王及诸梵众,合掌恭敬俱白佛言:“若善男子、善女人等能于般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,我等常随恭敬守护,不令一切灾横侵恼。” + +#8 己十 灭法智 + +时,天帝释复白佛言:“甚奇!世尊!希有!善逝!若善男子、善女人等于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,摄受如是现法功德。 + +#8 己十一 灭类智忍 + +若善男子、善女人等摄受般若波罗蜜多,则为摄受布施、净戒、安忍、精进、静虑、般若波罗蜜多。” + +尔时,世尊告天帝释:“如是!如是!憍尸迦!若善男子、善女人等摄受般若波罗蜜多,则为具足摄受六种波罗蜜多。 + +#8 己十二 灭类智 + +“复次,憍尸迦!若善男子、善女人等能于般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,所获功德,汝应谛听,极善思惟!吾当为汝分别解说。” + +天帝释言:“唯然!愿说!我等乐闻。” + +尔时,佛告天帝释言:“憍尸迦!若有诸恶外道梵志,若诸恶魔及魔眷属,若余暴恶增上慢者,于是菩萨摩诃萨所,欲作种种不饶益事,彼适兴心速自遭祸,必当殄灭不果所愿。何以故?憍尸迦!是善男子、善女人等于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,法尔能令起恶心者自遭殃祸不果所愿。 + +“复次,憍尸迦!若善男子、善女人等于此般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布。其地方所,若有恶魔及魔眷属,或有种种外道梵志,及余暴恶增上慢者,憎嫉正法欲为障碍,诘责违拒令速隐没,虽有此愿终不能成。彼因暂闻般若声故,众恶渐灭功德渐生,后依三乘得尽苦际,或脱恶趣生天、人中。 + +“憍尸迦!若善男子、善女人等于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,获如是等功德胜利。 + +“憍尸迦!如有妙药名曰莫耆,是药威势能销众毒,如是妙药随所在处,诸毒虫类不能逼近。有大毒蛇饥行求食,遇见生类欲螫啖之,其生怖死奔趣妙药,蛇闻药气寻便退走。何以故?憍尸迦!如是妙药具大威势,能益身命销伏诸毒。憍尸迦当知!般若波罗蜜多具大威势亦复如是。 + +#8 己十三 道法智忍 + +若善男子、善女人等至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,诸恶魔等于此菩萨摩诃萨所欲为恶事,由此般若波罗蜜多威神力故,令彼恶事于其方所自当殄灭无所能为。何以故?憍尸迦!由此般若波罗蜜多具大威力,能摧众恶,增善法故。 + +#8 己十四 道法智 + +“复次,憍尸迦!若善男子、善女人等于此般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布。四大天王及天帝释、堪忍界主大梵天王、净居天等并余善神常来拥护,不令一切灾横侵恼,如法所求无不满足。十方世界现在如来、应、正等觉,亦常护念,令恶渐灭善法渐增。 + +#8 已十五 道类智忍 + +“复次,憍尸迦!若善男子、善女人等能于般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,是善男子、善女人等由此因缘,言词威肃闻皆敬受,发言称量语不喧杂,坚事善友深知恩报,不为悭嫉、忿恨、覆恼、谄、诳、矫等隐蔽其心。何以故?憍尸迦!是善男子、善女人等由深般若波罗蜜多增上威力调伏身心,令其远离贪、恚,痴等随眠、缠结。 + +#8 已十六 道类智 + +是善男子、善女人等具念正知慈、悲、喜、舍,常作是念:‘我不应随悭贪势力,若随彼力贫穷下贱,则我布施不得圆满;我不应随破戒势力,若随彼力堕诸恶趣,则我净戒不得圆满;我不应随忿恚势力,若随彼力当缺诸根形貌丑陋,不具菩萨圆满色身,亦复不能圆满安忍;我不应随懈怠势力,若随彼力则不能修菩萨胜道,亦不圆满增上精进;我不应随散乱势力,若随彼力便不能修菩萨胜定,则诸静虑不得圆满;我不应随愚痴势力,若随彼力则我胜慧不得圆满,不超声闻、独觉等地,况得无上正等菩提!是故我今不应随彼悭贪等力。’憍尸迦!是善男子、善女人等由此思惟常得正念,诸恶烦恼不蔽其心。 + +“憍尸迦!诸善男子、善女人等若于般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,获如是等功德胜利。” + +大般若波罗蜜多经卷第五百三十九 + +#7 戊二 论 + +#8 已一 略标刹那 + +由諦與諦上 忍智四剎那 說此道相智 見道具功德 + +#8 已二 广释修相 + +真如與諸智 無互能所依 故不許差別 廣大無能量 + +無量無二邊 住彼於色等 執為佛自性 無取無捨等 + +慈等及空性 證得佛陀性 遍攝諸淨法 除遺諸苦病 + +滅除涅槃執 諸佛守護等 不殺害生等 一切相智理 + +自住立有情 所修布施等 迴向大菩提 是道智剎那 + +#6 丁五 经论说大乘修道之作用 + +#7 戊一 经 + +#8 己一 息高慢心行谦恭行 + +大般若波罗蜜多经卷第五百四十 + +三藏法师玄奘奉 诏译 + +第四分供养窣堵波品第三之二 + +尔时,天帝释白佛言:“世尊!如是般若波罗蜜多甚奇希有,能调菩萨摩诃萨众令离高心,回向所求一切智智。” + +尔时,佛告天帝释言:“云何般若波罗蜜多甚奇希有,能调菩萨摩诃萨众令离高心,回向所求一切智智?” + +时,天帝释白言:“世尊!若菩萨摩诃萨不依般若波罗蜜多,修行布施乃至般若及余种种诸佛法时,无方便善巧故,虽修诸善而起高心,不能回向一切智智;若菩萨摩诃萨依止般若波罗蜜多,修行布施乃至般若及余种种诸佛法时,有方便善巧故,所修诸善调伏高心,回向所求一切智智。” + +#8 己二 能胜伏烦恼 + +尔时,佛告天帝释言:“如是!如是!如汝所说。 + +“憍尸迦!若善男子、善女人等能于般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,是善男子、善女人等身心安乐,不为一切灾横侵恼。若在军旅交战阵时,至心念诵如是般若波罗蜜多,于诸有情慈悲护念,不为刀杖之所伤杀,所对怨敌皆起慈心,设起恶心自然退败。是善男子、善女人等,若在军旅刀箭所伤失命丧身,终无是处。何以故?憍尸迦!是善男子、善女人等修行般若波罗蜜多,自能降伏烦恼、恶业、种种刀杖,亦能除他烦恼、恶业、诸刀杖故。 + +#8 己三 怨敌不能损害 + +“复次,憍尸迦!若善男子、善女人等能于般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、供养恭敬、尊重赞叹、书写、解说、广令流布,是善男子、善女人等,一切毒药、蛊道、鬼魅、厌祷、咒术皆不能害,水不能溺,火不能烧、刀杖、恶兽、怨贼、恶神、众邪、魍魉不能伤害。何以故?憍尸迦!如是般若波罗蜜多是大神咒,是大明咒,是无上咒,是无等等咒;如是般若波罗蜜多是诸咒王,最上、最妙、无能及者,具大威力,能伏一切,不为一切之所降伏。是善男子、善女人等精勤修学如是咒王,不为自害,不为他害,不为俱害。 + +#8 己四 能证无上菩提 + +憍尸迦!是善男子、善女人等,学此般若波罗蜜多大咒王时,于我及法虽无所得,而证无上正等菩提,由斯获得一切智智,观有情类心行差别,随宜为转无上法轮,令如说行得大饶益。何以故?憍尸迦!过去未来现在菩萨,皆学如是甚深般若波罗蜜多大神咒王,无所不得、无所不证,是故说名一切智智。 + +“憍尸迦!若善男子、善女人等于此般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、供养恭敬、尊重赞叹、书写、解说、广令流布,得如是等现法当来种种功德。 + +#8 已五 菩萨及经典所在之处皆成可供养处 + +“复次,憍尸迦!若善男子、善女人等,书此般若波罗蜜多大神咒王,置清净处供养恭敬、尊重赞叹,虽不听闻、受持、读诵、精勤修学、如理思惟,亦不为他开示分别,而此住处国邑王都人非人等不为一切灾横疾疫之所伤害。 + +“复次,憍尸迦!若善男子、善女人等,怖畏怨家、恶兽、灾横、厌祷、疾疫、毒药、咒等,应书般若波罗蜜多大神咒王,随多少分香囊盛贮置宝筒中,恒随自身供养恭敬,诸怖畏事皆悉销除,天、龙、鬼神常来守护,唯除宿世恶业应受。憍尸迦!譬如有人或傍生类,入菩提树院或至彼院边,人非人等不能伤害。何以故?憍尸迦!过去未来现在诸佛皆坐此处,证得无上正等菩提,得菩提已施诸有情无恐、无怖、无怨、无害身心安乐。当知般若波罗蜜多随所住处亦复如是,一切天、龙、阿素洛等常来守护。憍尸迦!如是般若波罗蜜多随所住处,当知是处即真制多,一切有情皆应敬礼,当以种种上妙供具,供养恭敬、尊重赞叹。所以者何?是诸有情归依处故。” + +#7 戊二 论 + +遍息敬一切 能勝諸煩惱 怨敵不能害 菩提供養依 + +#6 丁六 经论说胜解修道 + +#7 戊一 经 + +#8 己一 自利之胜解修道 + +时,天帝释复白佛言:“若善男子、善女人等书此般若波罗蜜多,种种庄严供养恭敬、尊重赞叹,复以种种上妙华鬘、涂散等香、衣服、璎珞、宝幢、幡盖、众妙、珍奇、伎乐、灯明而为供养;有善男子、善女人等,佛涅槃后起窣堵波七宝严饰,宝函盛贮佛设利罗安置其中,供养恭敬、尊重赞叹,复以种种上妙华鬘、涂散等香、衣服、璎珞、宝幢、幡盖、众妙、珍奇、伎乐、灯明而为供养。二所获福,何者为多?” + +尔时,佛告天帝释言:“我还问汝,当随意答。于意云何?如来所得一切智智,所证无上正等菩提及所依身,依何等道修学而得?” + +天帝释言:“如来所得一切智智,所证无上正等菩提及所依身,皆依般若波罗蜜多修学而得。” + +尔时,佛告天帝释言:“如是!如是!如汝所说。我依般若波罗蜜多修学故,得一切智智、所证无上正等菩提及所依身。何以故?憍尸迦!不学般若波罗蜜多,有能获得一切智智、所证无上正等菩提及所依身,无有是处。 + +“憍尸迦!非但获得相好身故说名如来、应、正等觉,要由证得一切智智乃名如来、应、正等觉。憍尸迦!如来所得一切智智,要由般若波罗蜜多为因故起,佛相好身但为依处,若不依止佛相好身无由而起,是故般若波罗蜜多,正为因生一切智智,欲令此智现前相续故,复修集佛相好身。此相好身若非遍智所依处者,一切天、龙、人非人等不应竭诚供养恭敬。以相好身与佛遍智为所依止故,诸天、龙、人非人等供养恭敬。由此缘故,我涅槃后,诸天、龙神、人非人等供养恭敬我设利罗。 + +“憍尸迦!若善男子、善女人等书此般若波罗蜜多,供养恭敬、尊重赞叹,则为供养一切智智及所依止佛相好身并涅槃后佛设利罗。何以故?憍尸迦!一切智智及相好身并设利罗,皆以般若波罗蜜多为根本故。以是故,憍尸迦!若善男子、善女人等书此般若波罗蜜多,种种庄严供养恭敬、尊重赞叹,复以种种上妙华鬘乃至灯明而为供养。有善男子、善女人等,佛涅槃后起窣堵波七宝严饰,宝函盛贮佛设利罗安置其中,供养恭敬、尊重赞叹,复以种种上妙华鬘乃至灯明而为供养。二所获福,前者为多无量倍数。何以故?憍尸迦!若善男子、善女人等供养般若波罗蜜多,即为供养一切智智佛相好身设利罗故。” + +> 下下品 + +时,天帝释便白佛言:“赡部洲人于此般若波罗蜜多,不能书写众宝庄严、供养恭敬、尊重赞叹,不能听闻、受持、读诵、精勤修学、如理思惟,彼岂不知书此般若波罗蜜多,众宝庄严、供养恭敬、尊重赞叹、至心听闻、受持、读诵、精勤修学、如理思惟,获得种种功德胜利?” + +尔时,佛告天帝释言:“我还问汝,当随意答。于意云何?赡部洲内有几许人成佛证净、成法证净、成僧证净?有几许人得预流果、或一来果、或不还果、或阿罗汉果?有几许人发心定趣独觉菩提?有几许人发心定趣诸佛无上正等菩提?” + +天帝释言:“赡部洲内有少许人成佛证净、成法证净、成僧证净,转少许人得预流果、或一来果、或不还果、或阿罗汉果,转少许人发心定趣独觉菩提,转少许人发心定趣诸佛无上正等菩提。” + +尔时,佛告天帝释言:“如是!如是!如汝所说。 + +“憍尸迦!赡部洲内极少分人成佛证净、成法证净、成僧证净,转少分人得预流果、或一来果、或不还果、或阿罗汉果,转少分人发心定趣独觉菩提,转少分人发心定趣诸佛无上正等菩提,转少分人既发心已,精勤修学趣菩提行,转少分人精勤修学菩提行时,于此般若波罗蜜多深心信受,转少分人深信受已,修行般若波罗蜜多,转少分人既修行已,渐次安住不退转地,转少分人,住此地已,疾证无上正等菩提。 + +“憍尸迦!若菩萨摩诃萨已得安住不退转地,求证无上正等菩提,乃能深心恭敬信受甚深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟,亦能为他无倒宣说,复以种种上妙华鬘乃至灯明供养恭敬、尊重赞叹。 + +“憍尸迦!我以无障清净佛眼遍观十方无边世界,虽有无量无数有情发菩提心修菩萨行,而由远离甚深般若波罗蜜多方便善巧,若一、若二、若三有情得住菩萨不退转地,多分退堕声闻、独觉下意、下行、下劣地中。何以故?憍尸迦!诸佛无上正等菩提功德无边甚难可证,恶慧懈怠下劣、精进下劣、胜解下劣有情不能证得。 + +> 下中品 + +“是故,憍尸迦!若善男子、善女人等发菩提心修菩萨行,欲住菩萨不退转地,疾证无上正等菩提无留难者,应于般若波罗蜜多数数听闻、受持、读诵、精勤修学、如理思惟,好请问师,乐为他说,复应书写、众宝庄严、供养恭敬、尊重赞叹。何以故?憍尸迦!是善男子、善女人等应作是念:‘如来昔住菩萨地时,常勤修学如是般若波罗蜜多甚深义趣,证得无上正等菩提,我等亦应精勤修学如是般若波罗蜜多。是我大师,我随彼学所愿当满。’憍尸迦!诸菩萨摩诃萨若佛住世、若涅槃后,常应依止甚深般若波罗蜜多精勤修学。” + +> 下上品 + +时,天帝释复白佛言:“若善男子、善女人等于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟,广为有情宣说流布,或有书写、众宝严饰,复持种种上妙华鬘乃至灯明,供养恭敬、尊重赞叹。是善男子、善女人等由此因缘得几许福?” + +尔时,佛告天帝释言:“是善男子、善女人等所获福聚,无量无边、不可思议、不可称计,算数、譬喻所不能及。 + +> 中下品 + +“复次,憍尸迦!若善男子、善女人等于诸如来般涅槃后,为供养佛设利罗故,以妙七宝起窣堵波,种种珍奇间杂严饰,复持种种天妙华鬘乃至灯明,尽其形寿供养恭敬、尊重赞叹。于意云何?是善男子、善女人等由此因缘获福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +佛告憍尸迦:“有善男子、善女人等,于此般若波罗蜜多甚深义趣,以清净心恭敬信解,为求无上正等菩提,至心听闻、受持、读诵、精勤修学、如理思惟,广为有情宣说开示,以增上慧审谛观察。为令正法久住世故,为令佛眼无断坏故,为令正法不隐没故,摄受菩萨令增长故,为令世间清净法眼无断坏故,书写如是甚深般若波罗蜜多众宝严饰,复持种种上妙华鬘、涂散等香、衣服、璎珞、宝幢、幡盖、众妙。珍奇、伎乐、灯明,供养恭敬、尊重赞叹。是善男子、善女人等,所获功德甚多于前无量无数。 + +> 中中品、中上品、上下品、上中品、上上品 + +#8 己二 俱利之胜解修道 + +“复次,憍尸迦!置此一事。若善男子、善女人等于诸如来般涅槃后,为供养佛设利罗故,以妙七宝起窣堵波,种种珍奇间杂严饰,如是充满一赡部洲、或四大洲、或小千界、或中千界、或复三千大千世界,皆持种种天妙华鬘乃至灯明,尽其形寿供养恭敬、尊重赞叹。于意云何?是善男子、善女人等由此因缘获福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +佛告憍尸迦:“有善男子、善女人等,于此般若波罗蜜多甚深义趣,以清净心恭敬信解,为求无上正等菩提,至心听闻、受持、读诵、精勤修学、如理思惟,广为有情宣说开示,以增上慧审谛观察。为令正法久住世故,为令佛眼无断坏故,为令正法不隐没故,摄受菩萨令增长故,为令世间清净法眼无断坏故,书写如是甚深般若波罗蜜多众宝严饰,复持种种上妙华鬘、涂散等香、衣服、璎珞、宝幢、幡盖、众妙、珍奇、伎乐、灯明,供养恭敬、尊重赞叹。是善男子、善女人等,所获功德甚多于前无量无数。 + +“复次,憍尸迦!置如是事。假使于此赡部洲中一切有情,或四大洲一切有情,或小千界一切有情,或中千界一切有情,或复三千大千世界一切有情,各于如来般涅槃后,为供养佛设利罗故,以妙七宝各各起一大窣堵波,种种珍奇间杂严饰,皆持种种天妙华鬘乃至灯明,尽其形寿各各于自窣堵波所供养恭敬、尊重赞叹。于意云何?此赡部洲、或四大洲、或小千界、或中千界、或大千界诸有情类,由是因缘获福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +佛告憍尸迦:“有善男子、善女人等,于此般若波罗蜜多甚深义趣,以清净心恭敬信解,为求无上正等菩提,至心听闻、受持、读诵、精勤修学、如理思惟,广为有情宣说开示,以增上慧审谛观察。为令正法久住世故,为令佛眼无断坏故,为令正法不隐没故,摄受菩萨令增长故,为令世间清净法眼无断坏故,书写如是甚深般若波罗蜜多众宝严饰,复持种种上妙华鬘、涂散等香、衣服、璎珞、宝幢、幡盖、众妙、珍奇、伎乐、灯明,供养恭敬、尊重赞叹。是善男子、善女人等,所获功德甚多于前无量无数。 + +“复次,憍尸迦!置如是事。假使于此赡部洲中诸有情类,非前非后皆得为人,此一一人为供养佛设利罗故,于诸如来般涅槃后,以妙七宝起窣堵波,种种珍奇间杂严饰,如是一一满赡部洲;或四大洲诸有情类,非前非后皆得为人,此一一人为供养佛设利罗故,于诸如来般涅槃后,以妙七宝起窣堵波,种种珍奇间杂严饰,如是一一满四大洲;或小千界诸有情类,非前非后皆得为人,此一一人为供养佛设利罗故,于诸如来般涅槃后,以妙七宝起窣堵波,种种珍奇间杂严饰,如是一一满小千界;或中千界诸有情类,非前非后皆得为人,此一一人为供养佛设利罗故,于诸如来般涅槃后,以妙七宝起窣堵波,种种珍奇间杂严饰,如是一一满中千界;或复三千大千世界诸有情类,非前非后皆得为人,此一一人为供养佛设利罗故,于诸如来般涅槃后,以妙七宝起窣堵波,种种珍奇间杂严饰,如是一一满大千界。如是诸人,各持种种天妙华鬘乃至灯明,或经一劫或一劫余,各各于自窣堵波所,供养恭敬、尊重赞叹。于意云何?此赡部洲、或四大洲、或小千界、或中千界、或大千界诸有情类,由是因缘获福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +佛告憍尸迦:“有善男子、善女人等,于此般若波罗蜜多甚深义趣,以清净心恭敬信解,为求无上正等菩提,至心听闻、受持、读诵、精勤修学、如理思惟,广为有情宣说开示,以增上慧审谛观察。为令正法久住世故,为令佛眼无断坏故,为令正法不隐没故,摄受菩萨令增长故,为令世间清净法眼无断坏故,书写如是甚深般若波罗蜜多众宝严饰,复持种种上妙华鬘、涂散等香、衣服、璎珞、宝幢、幡盖、众妙、珍奇、伎乐、灯明,供养恭敬、尊重赞叹。是善男子、善女人等,所获功德甚多于前无量无数。” + +时,天帝释便白佛言:“如是!世尊!如是!善逝!若善男子、善女人等供养恭敬、尊重赞叹甚深般若波罗蜜多,当知则为供养恭敬、尊重赞叹过去、未来、现在诸佛一切智智。 + +“世尊!且置所说三千大千世界一切有情,为供养佛设利罗故,各于如来般涅槃后,以妙七宝起窣堵波。假使十方各如殑伽沙等世界一切有情,非前非后皆得为人,此一一人各于如来般涅槃后,为供养佛设利罗故,以妙七宝起窣堵波,种种珍奇间杂严饰,如是一一各满十方殑伽沙等诸佛世界,各持种种天妙华鬘乃至灯明,或经一劫或一劫余,供养恭敬、尊重赞叹。是诸有情由此因缘所获福聚,虽复无量而复有余。诸善男子、善女人等,于此般若波罗蜜多甚深义趣,以清净心恭敬信解,为求无上正等菩提,至心听闻、受持、读诵、精勤修学、如理思惟,广为有情宣说开示,以增上慧审谛观察。为令正法久住世故,为令佛眼无断坏故,为令正法不隐没故,摄受菩萨令增长故,为令世间清净法眼无断坏故,书写如是甚深般若波罗蜜多众宝严饰,复持种种上妙华鬘、涂散等香、衣服、璎珞、宝幢、幡盖、众妙、珍奇、伎乐、灯明,供养恭敬、尊重赞叹。是善男子、善女人等,所获功德甚多于彼无量无边不可思议、不可称计,算数、譬喻所不能及。” + +尔时,佛告天帝释言:“如是!如是!如汝所说。憍尸迦!是善男子、善女人等,于深般若波罗蜜多所获福聚无量无边不可思议、不可称计,算数、譬喻所不能及。何以故?憍尸迦!甚深般若波罗蜜多能生如来一切智智,一切如来一切智智,能生诸佛设利罗故。 + +“以是故,憍尸迦!若善男子、善女人等,能于般若波罗蜜多甚深义趣,以清净心恭敬信解,为求无上正等菩提,至心听闻、受持、读诵、精勤修学、如理思惟,广为有情宣说开示,以增上慧审谛观察。为令正法久住世故,为令佛眼无断坏故,为令正法不隐没故,摄受菩萨令增长故,为令世间清净法眼无断坏故,书写如是甚深般若波罗蜜多众宝严饰,复持种种上妙华鬘、涂散等香、衣服、璎珞、宝幢、幡盖、众妙、珍奇、伎乐、灯明,供养恭敬、尊重赞叹。是善男子、善女人等,所获功德于前所造诸窣堵波及供养福,百倍为胜,千倍为胜,乃至邬波尼杀昙倍亦复为胜。” + +> 下下品 + +尔时,会中四万天子,同声共白天帝释言:“大仙!于此甚深般若波罗蜜多,应当听闻、受持、读诵、精勤修学、如理思惟,及广为他分别解说,供养恭敬、尊重赞叹。所以者何?若能于此甚深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟,及广为他分别解说,供养恭敬、尊重赞叹,则令一切恶法损减、善法增益。” + +尔时,佛告天帝释言:“汝应于此甚深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟,及广为他分别解说,供养恭敬、尊重赞叹。所以者何?若阿素洛及恶朋党起如是念:‘我等当与三十三天共兴战诤。’尔时,汝等诸天眷属,应各至诚诵念如是甚深般若波罗蜜多,供养恭敬、尊重赞叹。时,阿素洛及彼朋党所起恶心即皆息灭。” + +时,天帝释即白佛言:“甚深般若波罗蜜多是大神咒,是大明咒,是无上咒,是无等等咒,是一切咒王,最尊最胜、最上最妙,能伏一切,不为一切之所降伏。所以者何?甚深般若波罗蜜多能灭一切恶不善法,能满一切殊胜善法。” + +尔时,佛告天帝释言:“如是!如是!如汝所说。何以故?憍尸迦!过去未来现在诸佛,皆依如是甚深般若波罗蜜多大神咒王,证得无上正等菩提,转妙法轮度有情众。我亦依此甚深般若波罗蜜多大神咒王,证得无上正等菩提,为诸天、人说无上法。 + +“憍尸迦!依深般若波罗蜜多大神咒王,世间便有觉支相应十善业道、若四静虑、若四无量、若四无色定、若三十七菩提分法、若六神通、若余无量无边佛法。憍尸迦!以要言之,八万四千诸善法蕴,无不皆依甚深般若波罗蜜多大神咒王出现于世。憍尸迦!一切佛智、自然起智、不思议智,皆依般若波罗蜜多大神咒王出现于世。憍尸迦!依深般若波罗蜜多大神咒王,世间便有菩萨出现;依菩萨故,世间便有觉支相应十善业道、若四静虑、若四无量、若四无色定、若三十七菩提分法、若六神通、若余无量无边佛法皆得出现。若诸如来、应、正等觉不出世时,唯有菩萨由先所闻甚深般若波罗蜜多等流势力,成就殊胜方便善巧,哀愍世间诸有情故,施设建立觉支相应十善业道、若四静虑、若四无量、若四无色定、若三十七菩提分法、若六神通、若余无量无边佛法。憍尸迦!譬如夜分因满月轮光明照触,星宿、药等随其势力皆得增盛。如是如来、应、正等觉,前已灭度,正法隐没,后未出时,世间所有法行、妙行,一切皆依菩萨出现。菩萨所有方便善巧,皆依般若波罗蜜多而得成办。是故般若波罗蜜多是诸殊胜善法根本。 + +“复次,憍尸迦!若善男子、善女人等于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,当得成就现在、未来世、出世间功德胜利。” + +时,天帝释便白佛言:“是善男子、善女人等,云何成就现在未来世、出世间功德胜利?” + +尔时,佛告天帝释言:“是善男子、善女人等,现在不为一切毒药、厌祷、咒术之所伤害,火不能烧,水不能溺,诸刀杖等亦不能害,乃至不为四百四病之所夭殁,唯除先世定业异熟现世应受。憍尸迦!是善男子、善女人等若遭官事、怨贼逼迫,至心诵念甚深般若波罗蜜多,若至其所终不为彼谴罚加害,欲求其短皆不能得。何以故?憍尸迦!甚深般若波罗蜜多威神势力法令尔故。憍尸迦!是善男子、善女人等,若有欲至国王、王子、大臣等处,至心诵念甚深般若波罗蜜多,定为王等欢喜问讯、供养恭敬、尊重赞叹。何以故?憍尸迦!是善男子、善女人等所诵般若波罗蜜多,常于有情引发种种慈悲事故,由此因缘,旷野、险难、人非人等,诸求短者皆不得便。憍尸迦!是善男子、善女人等,当得成就诸如是等所有现在功德胜利。 + +“憍尸迦!是善男子、善女人等随所生处,常不远离诸胜善法,不堕恶趣,饶益有情,渐能证得一切智智。憍尸迦!是善男子、善女人等,当得成就诸如是等所有未来功德胜利。” + +尔时,众多外道梵志,欲求佛过来诣佛所。时,天帝释见已,念言:“今此众多外道梵志,来趣法会伺求佛短,将非般若留难事耶?我当诵念从佛所受甚深般若波罗蜜多,令彼邪徒复道而去。”念已便诵甚深般若波罗蜜多。于是众多外道梵志遥申敬礼、右绕世尊复道而去。 + +时,舍利子见已念言:“彼有何缘适来还去?” + +佛知其意,告舍利子:“彼诸外道来求我失,由天帝释诵念般若波罗蜜多令彼还去。舍利子!我都不见彼诸外道有少白法,唯怀恶心为求我过来至我所。舍利子!我都不见一切世间有诸天魔及外道等,有情之类说般若时怀勃恶心来求得便,般若威力无能坏故。” + +尔时,恶魔窃作是念:“今佛四众前后围绕,欲、色界天皆来集会,宣说般若波罗蜜多。此中必有诸大菩萨,亲于佛前受菩提记,当得无上正等菩提,转妙法轮空我境界。我当往至破坏其眼。”作是念已,化作四军,奋威勇锐来诣佛所。 + +时,天帝释见已念言:“将非恶魔化作斯事,欲来恼佛并与般若波罗蜜多而作留难。何以故?如是四军严饰殊丽,诸王军众皆不能及,定是恶魔之所化作。恶魔长夜伺求佛短,坏诸有情所修胜事,我当诵念从佛所受甚深般若波罗蜜多,令彼恶魔复道而去。” + +时,天帝释念已,便诵甚深般若波罗蜜多,于是恶魔渐退而去,甚深般若波罗蜜多大神咒王威力逼故。 + +时,有无量三十三天俱时化作天妙音华,踊身空中而散佛上,合掌恭敬同白佛言:“愿此般若波罗蜜多在赡部洲人中久住,乃至般若波罗蜜多在赡部洲人间流布。当知是处佛、法、僧宝常不灭没,饶益世间令获殊胜利益安乐。” + +时,彼诸天复各化作天妙音华而散佛上,重白佛言:“若诸有情修行般若波罗蜜多,一切恶魔及彼眷属伺求其短不能得便。” + +时,天帝释便白佛言:“若诸有情但闻般若波罗蜜多功德名字,当知如是诸有情类,已曾供养无量诸佛,于诸佛所发弘誓愿,多集善根能成是事,非从少小善根中来,况能听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布、供养恭敬、尊重赞叹!当知如是诸有情类,功德智慧不可思议。所以者何?欲求诸佛一切智智,应于般若波罗蜜多理趣中求,如有情类欲求大宝,应于大海方便勤求,如是欲求一切智智,应于般若波罗蜜多理趣中求。” + +尔时,佛告天帝释言:“如是!如是!如汝所说。诸佛所得一切智智,皆依般若波罗蜜多而得成办。是故般若波罗蜜多,是诸佛法最胜根本。” + +> 下中品 + +尔时,庆喜便白佛言:“世尊!何缘不赞布施、净戒、安忍、精进、静虑、波罗蜜多及余功德,唯赞般若波罗蜜多?” + +佛告庆喜:“由此般若波罗蜜多能与前五波罗蜜多及余功德为尊为导,故我偏赞。 + +“复次,庆喜!于意云何?若不回向一切智智,而修布施乃至般若,此可名为真修布施乃至般若波罗蜜多不?” + +庆喜对曰:“不也!世尊!要由回向一切智智,而修布施乃至般若,乃可名为真修布施乃至般若波罗蜜多。” + +佛告庆喜:“于意云何?若不回向一切智智,而修布施乃至般若,如是所修得名布施等波罗蜜多不?” + +庆喜对曰:“不也!世尊!要由回向一切智智,而修布施乃至般若,如是所修乃得布施等波罗蜜多名。” + +佛告庆喜:“于意云何?若不回向一切智智,而修善根,如是善根得究竟不?” + +庆喜对曰:“不也!世尊!要由回向一切智智,而修善根,如是善根乃得究竟。” + +佛告庆喜:“于意云何?若离般若波罗蜜多为能真回向一切智智不?” + +庆喜对曰:“不也!世尊!要有般若波罗蜜多乃真回向一切智智。” + +佛告庆喜:“于意云何?甚深般若波罗蜜多威神功德可思议不?” + +庆喜对曰:“不也!世尊!甚深般若波罗蜜多威神功德不可思议,诸余善根皆不能及。” + +佛告庆喜:“由此因缘,我说般若波罗蜜多能与前五波罗蜜多及余功德为尊为导,能令前五波罗蜜多及余功德究竟圆满,故我偏赞。若赞般若波罗蜜多,亦赞前五波罗蜜多及余功德。” + +尔时,庆喜复白佛言:“云何回向一切智智,而修布施乃至般若波罗蜜多及余功德?” + +佛告庆喜:“以无二为方便、无生为方便、无所得为方便,回向一切智智,应修布施乃至般若波罗蜜多及余功德。” + +具寿庆喜复白佛言:“以何无二为方便、无生为方便、无所得为方便,回向一切智智,应修布施乃至般若波罗蜜多及余功德?” + +佛告庆喜:“以色乃至识无二为方便、无生为方便、无所得为方便,回向一切智智,应修布施乃至般若波罗蜜多及余功德。以色等法皆性空故,色等性空与布施等皆无二故。庆喜当知!由深般若波罗蜜多,乃能回向一切智智,由能回向一切智智,令布施等无边功德究竟圆满。是故般若波罗蜜多,与布施等一切功德为尊为导。 + +“庆喜当知!譬如大地以种散中,众缘和合便得生长,应知大地与种生长为所依止、为能建立。如是般若波罗蜜多及所回向一切智智,与布施等一切功德为所依止、为能建立,令得生长故,说般若波罗蜜多与布施等一切功德为尊为导故,我偏赞甚深般若波罗蜜多非余功德,若赞般若即赞余故。” + +> 下上品 + +大般若波罗蜜多经卷第五百四十 + +大般若波罗蜜多经卷第五百四十一 + +三藏法师玄奘奉 诏译 + +第四分供养窣堵波品第三之三 + +时,天帝释便白佛言:“今者如来、应、正等觉,于深般若波罗蜜多功德胜利说犹未尽。何以故?我从世尊所受般若波罗蜜多功德胜利,甚深、甚广、量无边际。诸善男子、善女人等于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,复持种种上妙华鬘乃至灯明而为供养,所获功德亦无边际。” + +尔时,佛告天帝释言:“善哉!善哉!如汝所说。憍尸迦!我不说此甚深般若波罗蜜多但有前说功德胜利。何以故?憍尸迦!甚深般若波罗蜜多,具足无边功德胜利,分别演说不可尽故。憍尸迦!我亦不说:于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,复持种种上妙华鬘乃至灯明而为供养。诸善男子、善女人等但有前说功德胜利。何以故?憍尸迦!若善男子、善女人等于深般若波罗蜜多,以清净心恭敬信受,为求无上正等菩提,至心听闻、受持、读诵、精勤修学、如理思惟,广为有情宣说、开示,以增上慧审谛观察。欲令正法久住世故,欲令佛眼无断坏故,欲令正法不隐没故,摄受菩萨令增长故,欲令世间清净法眼无缺减故,书写如是甚深般若波罗蜜多众宝严饰,复持种种上妙华鬘乃至灯明供养恭敬、尊重赞叹。我说获得现在未来无量无边功德胜利。” + +> 中下品 + +时,天帝释即白佛言:“我等诸天常随守护是善男子、善女人等,不令一切人非人等种种恶缘之所损害。” + +尔时,佛告天帝释言:“若善男子、善女人等,受持、读诵甚深般若波罗蜜多,及广为他宣说、开示。时,有无量百千天子,为听法故皆来集会,欢喜踊跃,敬受如是甚深般若波罗蜜多。是诸天子以天威力,令说法师增益辩才宣扬无尽,不乐说者令其乐说,身心疲极令得康强。憍尸迦!是善男子、善女人等,受持、读诵甚深般若波罗蜜多,及广为他宣说、开示,得如是等现在利益。 + +“复次,憍尸迦!若善男子、善女人等,于四众中宣说如是甚深般若波罗蜜多心无怯怖,不为一切论难所伏。所以者何?彼由如是甚深般若波罗蜜多大神咒王所护持故,甚深般若波罗蜜多秘密藏中具广分别一切法故。是善男子、善女人等善住法空,都不见有能难、所难及所说故,亦不见有于深般若波罗蜜多能求短故,亦复不见甚深般若波罗蜜多有过失故,是故不为一切异学论难所屈。憍尸迦!是善男子、善女人等,为众宣说甚深般若波罗蜜多,得如是等现世利益。 + +“复次,憍尸迦!若善男子、善女人等于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布。是善男子、善女人等心不沉没亦不忧悔、不恐不怖。所以者何?是善男子、善女人等,不见有法可令沉没、忧悔、恐怖,于诸法中无所执着。憍尸迦!是善男子、善女人等,由于般若波罗蜜多至心听闻乃至流布,得如是等现世利益。 + +> 中中品 + +“复次,憍尸迦!若善男子、善女人等,能于般若波罗蜜多至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,复持种种上妙华鬘乃至灯明而为供养。是善男子、善女人等恒为父母、师长、亲友、国王、大臣及诸沙门、婆罗门等之所敬爱,亦为十方诸佛、菩萨、声闻、独觉之所护念,复为世间诸天、魔、梵、人及非人之所守卫, + +> 中上品 + +一切灾横皆自消灭,外道异论皆不能伏。憍尸迦!是善男子、善女人等,由于般若波罗蜜多至心听闻乃至供养,得如是等现在利益。 + +> 上下品 + +“复次,憍尸迦!若善男子、善女人等,书写如是甚深般若波罗蜜多,种种庄严置清净处,供养恭敬、尊重赞叹。时,此三千大千国土及余十方无边世界,所有四大王众天乃至广果天,已发无上菩提心者,常来此处观礼、读诵甚深般若波罗蜜多,供养恭敬、尊重赞叹、右绕礼拜、合掌而去。诸净居天亦常来此观礼、读诵甚深般若波罗蜜多,供养恭敬、尊重赞叹、右绕礼拜、合掌而去。有大威德诸龙、药叉,广说乃至人非人等亦常来此观礼、读诵甚深般若波罗蜜多,供养恭敬、尊重赞叹,右绕礼拜合掌而去。 + +“憍尸迦!是善男子、善女人等应作是念:‘今此三千大千国土及余十方无边世界,一切天、龙广说乃至人非人等,常来至此观礼、读诵我所书写甚深般若波罗蜜多,供养恭敬、尊重赞叹,右绕礼拜合掌而去。此我则为已设法施。’作是念已,欢喜踊跃,令所获福倍复增长。憍尸迦!是善男子、善女人等由无边界天、龙、药叉、阿素洛等常随拥护所住之处,人非人等不能损害,唯除宿世定恶业因现在应熟,或转重恶现世轻受。 + +“憍尸迦!是善男子、善女人等,由深般若波罗蜜多大威神力,获如是等现世种种功德胜利。” + +> 上中品 + +时,天帝释便白佛言:“是善男子、善女人等,以何验知有此三千大千国土及余十方无边世界天、龙、药叉、阿素洛等,来至其处观礼、读诵彼所书持甚深般若波罗蜜多,供养恭敬、尊重赞叹,合掌右绕欢喜护念?” + +尔时,佛告天帝释言:“是善男子、善女人等,若见如是甚深般若波罗蜜多所在之处,有妙光明,或闻其处异香氛郁,或复闻有微细乐音。当知尔时,有大神力威德炽盛诸天、龙等,来至其处观礼、读诵彼所书持甚深般若波罗蜜多,供养恭敬、尊重赞叹,合掌右绕欢喜护念。 + +“复次,憍尸迦!是善男子、善女人等修鲜净行严丽其处,至心供养甚深般若波罗蜜多。当知尔时,有大神力威德炽盛诸天、龙等,来至其处观礼、读诵彼所书持甚深般若波罗蜜多,供养恭敬、尊重赞叹,合掌右绕欢喜护念。憍尸迦!随有如是具大神力威德炽盛诸天、龙等,来至其处,此中所有恶鬼邪神惊怖、退散、无敢住者。由此因缘,是善男子、善女人等心便广大起净胜解,所修善业倍复增明,诸有所为皆无障碍。以是故,憍尸迦!甚深般若波罗蜜多随所在处,应当周匝除去粪秽,扫拭涂治香水散洒,敷设宝座而安置之,烧香散华张施幰盖,宝幢、幡铎间饰其中,众妙、珍奇、金银、宝器、衣服、璎珞、伎乐、灯明、种种杂彩庄严其处。若能如是供养般若波罗蜜多,便有无量具大神力威德炽盛诸天、龙等,来至其处观礼、读诵彼所书持甚深般若波罗蜜多,供养恭敬、尊重赞叹,合掌右绕欢喜护念。 + +“复次,憍尸迦!是善男子、善女人等若能如是供养恭敬、尊重赞叹甚深般若波罗蜜多,决定当得身心无倦、身心安乐、身心调柔、身心轻利。系心般若波罗蜜多,夜寝息时无诸恶梦,唯得善梦,谓见如来、应、正等觉身真金色相好庄严,放大光明普照一切,声闻、菩萨前后围绕,身处众中闻佛为说布施等六波罗蜜多及余善根相应法义。或于梦中见菩提树,其量高广众宝庄严,有菩萨摩诃萨往诣其下结跏趺坐,证得无上正等菩提,转妙法轮度有情众。或于梦中见有无量百千俱胝那庾多数大菩萨众,论议决择种种法义。或于梦中见十方界各有无量百千俱胝那庾多佛,亦闻其声,谓某世界有某如来、应、正等觉,若干百千俱胝那庾多菩萨摩诃萨、声闻弟子恭敬围绕,说如是法。或复梦中见十方界各有无量百千俱胝那庾多佛入般涅槃,彼一一佛般涅槃后,各有施主为供养佛设利罗故,以妙七宝各起无量百千俱胝那庾多数大窣堵波。复于一一窣堵波所,各以无量上妙华鬘乃至灯明,经无量劫供养恭敬、尊重赞叹。 + +“憍尸迦!是善男子、善女人等见如是类诸善梦相,若睡若觉身心安乐,诸天神等益其精气,令彼自觉身体轻便,由此因缘,不多贪着饮食、医药、衣服、卧具,于四供养其心轻微。如瑜伽师入胜妙定,由彼定力滋润身心,从定出已虽遇美膳而心轻微,此亦如是。何以故?憍尸迦!是善男子、善女人等,由此三千大千国土及余十方无边世界,一切如来应正等觉、声闻、菩萨、天、龙、药叉、阿素洛等,具大神力胜威德者,慈悲护念,以妙精气冥注身心,令其志勇体充盛故。 + +“憍尸迦!若善男子、善女人等,欲得如是现在种种功德胜利,于深般若波罗蜜多,应常听闻、受持、读诵、精勤修学、如理思惟,广为有情宣说开示,复持种种上妙华鬘乃至灯明供养恭敬、尊重赞叹。 + +> 上上品 + +#8 己三 利他之胜解修道 + +憍尸迦!若善男子、善女人等虽于般若波罗蜜多,不能听闻、受持、读诵、精勤修学、如理思惟、广为有情宣说流布,而为正法久住世故,为令佛眼无断坏故,为令正法不隐没故,摄受菩萨令增长故,为令世间清净法眼不灭没故,书持如是甚深般若波罗蜜多众宝严饰,复持无量上妙华鬘乃至灯明供养恭敬、尊重赞叹,亦得如前所说种种功德胜利。何以故?憍尸迦!是善男子、善女人等,能广利乐无量无边诸有情故。 + +“以是故,憍尸迦!若善男子、善女人等欲得种种现在、未来功德胜利,应于般若波罗蜜多以清净心恭敬信受,为求无上正等菩提,至心听闻、受持、读诵、精勤修学、如理思惟、广为有情宣说开示,以增上慧审谛观察。欲令正法久住世故,欲令佛眼无断坏故,欲令正法不隐没故,摄受菩萨令增长故,欲以法义分施有情令充足故,欲令调善诸有情类广大佛眼无缺减故,书持如是甚深般若波罗蜜多众宝严饰,复以种种上妙华鬘乃至灯明供养恭敬、尊重赞叹。若能如是,定获无边现在、未来功德胜利。” + +> 下下品 + +第四分称扬功德品第四 + +“复次,憍尸迦!假使充满此赡部洲佛设利罗以为一分,有书般若波罗蜜多甚深法门复为一分,于此二分,汝取何者?” + +天帝释言:“我意宁取甚深般若波罗蜜多。所以者何?我于诸佛设利罗所,非不信乐供养恭敬,然诸佛身及设利罗,皆因般若波罗蜜多甚深法门而出生故,皆由般若波罗蜜多甚深法门功德威力所熏修故,乃为一切世间天、人、阿素洛等供养恭敬、尊重赞叹。一切菩萨摩诃萨众皆于般若波罗蜜多甚深法门,精勤修学证得无上正等菩提。一切如来、应、正等觉,皆由般若波罗蜜多,通达真如、法界、法性及实际等成就法身。由法身故说名为佛,佛设利罗依法身故,乃为世间恭敬供养。 + +“世尊!如我坐在三十三天善法殿中天帝座上,为诸天众宣说正法时,有无量诸天子等,来至我所听我所说,供养恭敬,右绕而去。我若不在彼法座时,诸天子等亦来其处,虽不见我,如我在时恭敬供养,咸言:‘此处是天帝释为诸天等说法之座,我等皆应如天主在,供养右绕礼拜而去。’甚深般若波罗蜜多亦复如是,若有书写、受持、读诵,广为有情宣说流布,当知是处恒有此土及余十方无边世界无量无数天、龙、药叉、阿素洛等皆来集会,设无说者,敬重法故,亦于是处供养恭敬、右绕而去。 + +“世尊!甚深般若波罗蜜多与诸菩萨摩诃萨行,及佛所得一切智智,为因、为缘、为所依止、为能引发。是故我说:假使充满此赡部洲佛设利罗以为一分,有书般若波罗蜜多甚深法门复为一分,于此二分,我意宁取甚深般若波罗蜜多。 + +“复次,世尊!且置充满此赡部洲佛设利罗以为一分。假使充满四大洲界佛设利罗以为一分,若复充满小千世界佛设利罗以为一分,若复充满中千世界佛设利罗以为一分,若复充满大千世界佛设利罗以为一分,有书般若波罗蜜多甚深法门复为一分,于此二分,我意宁取甚深般若波罗蜜多。所以者何?我于诸佛设利罗,所非不信乐供养恭敬,然诸佛身及设利罗,皆因般若波罗蜜多甚深法门而出生故,皆由般若波罗蜜多甚深法门功德威力所熏修故,乃为一切世间天、人、阿素洛等供养恭敬、尊重赞叹。 + +> 下中品、下上品、中下品、中中品 + +“复次,世尊!若善男子、善女人等,于深般若波罗蜜多至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,彼于当来不堕恶趣,远离声闻及独觉地,不畏一切灾横、疾疫之所侵恼。如负债人怖畏债主,即便亲近奉事国王,依王势力得免怖畏。王喻般若波罗蜜多,彼负债人喻善男子、善女人等,依恃般若波罗蜜多,得离恶趣及余怖畏。世尊!譬如有人依附王故、王摄受故,为诸世人供养恭敬、尊重赞叹。佛设利罗亦复如是,由深般若波罗蜜多所熏修故,为诸天、人、阿素洛等供养恭敬、尊重赞叹。王喻般若波罗蜜多,佛设利罗喻依王者。世尊!诸佛所得一切智智,亦依般若波罗蜜多而得成就故,我宁取甚深般若波罗蜜多。 + +“复次,世尊!甚深般若波罗蜜多于三千界作大饶益、具大神力,随所在处,则为有佛作诸佛事,所谓利乐一切有情。世尊!譬如无价大宝神珠,具无量种胜妙威德,随所住处有此神珠,人及非人终无恼害。设有男子或复女人,为鬼所执身心苦恼,若有持此神珠示之,由珠威力鬼便舍去。诸有热病、或风、或痰、或热风痰和合为病,若有系此神珠着身,如是诸病无不除愈。此珠在闇能作照明,热时能凉寒时能暖,随地方所有此神珠时节调和不寒不热。若地方所有此神珠,蛇蝎等毒无敢停止。设有男子或复女人,为毒所中楚痛难忍,若有持此神珠令见,珠威势故毒即消灭。若诸有情身婴癞疾、恶疮、肿疱、目眩、翳等眼病、耳病、鼻病、舌病、喉病、身病、诸支节病,带此神珠众病皆愈。若诸池沼泉井等中,其水浊秽或将枯涸,以珠投之水便盈满,香洁澄净具八功德。若以青黄赤白红紫碧绿杂绮种种色衣,裹此神珠投之于水,水随衣彩作种种色。如是无价大宝神珠,威德无边说不能尽,若置箱箧亦令其器具足成就无边威德。设空箱箧由曾置珠,其器仍为众人爱重。” + +尔时,庆喜问帝释言:“如是神珠为天独有,人亦有耶?” + +天帝释言:“人中、天上俱有此珠,若在人中形小而重,若在天上形大而轻;又人中珠相不具足,在天上者其相周圆;天上神珠威德殊胜,无量倍数过人所有。” + +时,天帝释复白佛言:“甚深般若波罗蜜多亦复如是,为众德本能灭无量恶不善法,随所在处,令诸有情身心苦恼皆悉除灭,人非人等不能为害。世尊!如来所得一切智智及余无量无边功德,皆由般若波罗蜜多大神咒王之所引显,威德深广无量无边。佛设利罗由诸功德所熏修故,是诸功德所依器故,佛涅槃后堪受一切世间天、人、阿素洛等供养恭敬、尊重赞叹。 + +> 中上品 + +“复次,世尊!置三千界佛设利罗。假使充满十方各如殑伽沙界佛设利罗以为一分,有书般若波罗蜜多甚深法门复为一分,于此二分,我意宁取甚深般若波罗蜜多。所以者何?我于诸佛设利罗所,非不信乐供养恭敬,然诸佛身及设利罗,皆因般若波罗蜜多甚深法门而出生故,皆由般若波罗蜜多甚深法门功德威力所熏修故,乃为一切世间天、人、阿素洛等供养恭敬、尊重赞叹。 + +“复次,世尊!甚深般若波罗蜜多能生如来一切智智,如来所得一切智智能生佛身及设利罗,是故供养甚深般若波罗蜜多,则为供养过去未来现在诸佛一切智智及设利罗。 + +“复次,世尊!若善男子、善女人等,欲得常见十方无量无数如来、应、正等觉,当行般若波罗蜜多,当修般若波罗蜜多。” + +> 上下品 + +尔时,佛告天帝释言:“如是!如是!如汝所说。憍尸迦!过去如来、应、正等觉,皆依如是甚深般若波罗蜜多,已证无上正等菩提;未来如来、应、正等觉,皆依如是甚深般若波罗蜜多,当证无上正等菩提;现在十方无边世界一切如来、应、正等觉,皆依如是甚深般若波罗蜜多,现证无上正等菩提。今我如来、应、正等觉,亦依如是甚深般若波罗蜜多,而证无上正等菩提。” + +> 上中品 + +天帝释言:“甚深般若波罗蜜多是大波罗蜜多,是无上波罗蜜多,是无等等波罗蜜多。一切如来、应、正等觉,及诸菩萨摩诃萨众,皆依如是甚深般若波罗蜜多,知诸有情心行差别。” + +尔时,佛告天帝释言:“如是!如是!如汝所说。憍尸迦!诸菩萨摩诃萨长夜修行甚深般若波罗蜜多,能如实见一切有情心行差别。” + +时,天帝释复白佛言:“诸菩萨摩诃萨为但应行般若波罗蜜多为亦应行余五波罗蜜多耶?” + +尔时,佛告天帝释言:“憍尸迦!诸菩萨摩诃萨应具行六波罗蜜多,然行布施、净戒、安忍、精进、静虑观诸法时,皆以般若波罗蜜多而为上首。憍尸迦!如赡部洲所有诸树,枝条、茎干、华叶、果实,虽有种种形类不同,而其荫影都无差别,具大功德众所归依。如是六种波罗蜜多虽各有异,而由般若波罗蜜多方便善巧,摄受回向一切智智,诸差别相都不可得,具大功德众所归依。” + +时,天帝释复白佛言:“甚深般若波罗蜜多成就广大殊胜功德,成就一切殊胜功德,成就圆满殊胜功德,成就无量殊胜功德,成就无边殊胜功德,成就无数殊胜功德,成就无等殊胜功德,成就无尽殊胜功德。” + +尔时,佛告天帝释言:“如是!如是!如汝所说。” + +> 上上品 + +#7 戊二 论 + +勝解謂自利 俱利及利他 當知此三種 各有下中上 + +別別為三品 又以下下等 復各分為三 共二十七種 + +#6 丁七 经论说称扬赞叹之胜利 + +#7 戊一 经 + +#8 己一 赞美 + +第四分福门品第五之一 + +尔时,天帝释白佛言:“世尊!若善男子、善女人等于深般若波罗蜜多,以清净心恭敬信受,为求无上正等菩提,至心听闻、受持、读诵、精勤修学、如理思惟、广为有情宣说开示,以增上慧审谛观察。欲令正法久住世故,欲令佛眼无断坏故,欲令正法不隐没故,摄受菩萨令增长故,欲令世间清净法眼无缺减故,书写如是甚深般若波罗蜜多众宝严饰,复持种种上妙花鬘乃至灯明供养恭敬、尊重赞叹;作是念言:‘甚深般若波罗蜜多,成就广大功德胜利,甚为难得,不应弃舍,应自守护、供养恭敬、读诵、思惟。’有善男子、善女人等,书写如是甚深般若波罗蜜多众宝庄严,供养恭敬、尊重赞叹,施他受持广令流布。此二福聚,何者为多?” + +尔时,佛告天帝释言:“我还问汝,当随意答。若善男子、善女人等从他请得佛设利罗,盛以宝函置清净处,复持种种上妙华鬘乃至灯明供养恭敬、尊重赞叹。有善男子、善女人等从他请得佛设利罗,分施与他如芥子许,令彼敬受如法安置,复以种种上妙华鬘乃至灯明供养恭敬、尊重赞叹。于意云何?此二福聚,何者为胜?” + +天帝释言:“如我解佛所说义者,此二福聚,后者为胜。” + +尔时,佛赞天帝释言:“善哉!善哉!如汝所说。憍尸迦!于深般若波罗蜜多,若自受持、供养恭敬,若转施他广令流布,此二福聚,后者为多。何以故?由施他者,能令无量无数有情得利乐故。 + +> 下下品 + +“复次,憍尸迦!若有于此甚深般若波罗蜜多所说义趣,如实为他分别解说令得正解,所获福聚复胜施他流布功德多百千倍,敬此法师当如敬佛。 + +> 下中品 + +“复次,憍尸迦!若善男子、善女人等,书持如是甚深般若波罗蜜多,众宝庄严、供养恭敬,知是法器,自往其所分施与之令勤读诵,是善男子、善女人等所获福聚无量无边。 + +> 下上品 + +复次,憍尸迦!若善男子、善女人等教赡部洲诸有情类,皆令安住十善业道。于意云何?是善男子、善女人等由此因缘得福多不?”天帝释言:“甚多!世尊!甚多!善逝!”尔时,佛告天帝释言:“有善男子、善女人等于深般若波罗蜜多,以清净心恭敬信受,为求无上正等菩提,书写、施他、复为解说,于深义趣令无疑惑,教授教诫诸有情言:‘汝应勤修真菩萨道,所谓般若波罗蜜多。若能精勤修学此道,速证无上正等菩提,拔济无边诸有情类,令证实际诸漏永尽,入无余依般涅槃界。’是善男子、善女人等所获福聚甚多于前。 + +> 中下品 + +“复次,憍尸迦!置赡部洲诸有情类。若善男子、善女人等教四大洲诸有情类,皆令安住十善业道。于意云何?乃至广说。 + +> 中中品 + +“复次,憍尸迦!置四大洲诸有情类。若善男子、善女人等教小千界诸有情类,皆令安住十善业道。于意云何?乃至广说。 + +> 中上品 + +“复次,憍尸迦!置小千界诸有情类。若善男子、善女人等教中千界诸有情类,皆令安住十善业道。于意云何?乃至广说。 + +> 上下品 + +“复次,憍尸迦!置中千界诸有情类。若善男子、善女人等教大千界诸有情类,皆令安住十善业道。于意云何?乃至广说。 + +> 上中品 + +“复次,憍尸迦!置大千界诸有情类。若善男子、善女人等普教十方各如殑伽沙等世界诸有情类,皆令安住十善业道。于意云何?是善男子、善女人等由此因缘得福多不?”天帝释言:“甚多!世尊!甚多!善逝!”尔时,佛告天帝释言:“有善男子、善女人等于深般若波罗蜜多,以清净心恭敬信受,为求无上正等菩提,书写、施他、复为解说,于深义趣令无疑惑,教授教诫诸有情言:‘汝应勤修真菩萨道,所谓般若波罗蜜多。若能精勤修学此道,速证无上正等菩提,拔济无边诸有情类,令证实际诸漏永尽,入无余依般涅槃界。’是善男子、善女人等所获福聚甚多于前。 + +> 上上品 + +#8 己二 承事 + +“复次,憍尸迦!若善男子、善女人等教赡部洲诸有情类,皆令安住四静虑、四无量、四无色定、五神通。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等于深般若波罗蜜多,以清净心恭敬信受,为求无上正等菩提,书写、施他、复为解说,于深义趣令无疑惑,教授教诫诸有情言:‘汝应勤修真菩萨道,所谓般若波罗蜜多。若能精勤修学此道,速证无上正等菩提,拔济无边诸有情类,令证实际诸漏永尽,入无余依般涅槃界。’是善男子、善女人等所获福聚甚多于前。 + +> 下下品 + +“复次,憍尸迦!置赡部洲诸有情类。若善男子、善女人等教四大洲诸有情类,皆令安住四静虑、四无量、四无色定、五神通。于意云何?乃至广说。 + +> 下中品 + +“复次,憍尸迦!置四大洲诸有情类。若善男子、善女人等教小千界诸有情类,皆令安住四静虑、四无量、四无色定、五神通。于意云何?乃至广说。 + +> 下上品 + +“复次,憍尸迦!置小千界诸有情类。若善男子、善女人等教中千界诸有情类,皆令安住四静虑、四无量、四无色定、五神通。于意云何?乃至广说。 + +> 中下品 + +“复次,憍尸迦!置中千界诸有情类。若善男子、善女人等教大千界诸有情类,皆令安住四静虑、四无量、四无色定、五神通。于意云何?乃至广说。 + +> 中中品 + +“复次,憍尸迦!置大千界诸有情类。若善男子、善女人等,普教十方各如殑伽沙等世界诸有情类,皆令安住四静虑、四无量、四无色定、五神通。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等于深般若波罗蜜多,以清净心恭敬信受,为求无上正等菩提,书写、施他、复为解说,于深义趣令无疑惑,教授教诫诸有情言:‘汝应勤修真菩萨道,所谓般若波罗蜜多。若能精勤修学此道,速证无上正等菩提,拔济无边诸有情类,令证实际诸漏永尽,入无余依般涅槃界。’是善男子、善女人等所获福聚甚多于前。 + +“复次,憍尸迦!若善男子、善女人等于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟所获福聚,胜普教导一赡部洲诸有情类,皆令安住十善业道、四静虑、四无量、四无色定、五神通,亦胜教导一四大洲诸有情类,皆令安住十善业道、四静虑、四无量、四无色定、五神通,亦胜教导一小千界诸有情类,皆令安住十善业道、四静虑、四无量、四无色定、五神通,亦胜教导一中千界诸有情类,皆令安住十善业道、四静虑、四无量、四无色定、五神通,亦胜教导一大千界诸有情类,皆令安住十善业道、四静虑、四无量、四无色定、五神通,亦胜教导十方各如殑伽沙界诸有情类,皆令安住十善业道、四静虑、四无量、四无色定、五神通。 + +> 中上品 + +“复次,憍尸迦!若善男子、善女人等于深般若波罗蜜多,以无量门广为他说,宣示、开演、显了、解释、分别义趣令其易解,所获福聚胜自听闻、受持、读诵、精勤修学、如理思惟甚深般若波罗蜜多所获功德无量倍数。 + +“复次,憍尸迦!若善男子、善女人等自于般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟,以无量门为他广说,宣示、开演、显了、解释、分别义趣令其易解,所获福聚过前福聚无量无边。 + +> 上下品 + +“复次,憍尸迦!若善男子、善女人等于深般若波罗蜜多,书写、庄严、受持、读诵。有善男子、善女人等于深般若波罗蜜多,书写庄严施有情类,过前福聚无量无边。 + +“复次,憍尸迦!若善男子、善女人等于深般若波罗蜜多,书写庄严施有情类。有善男子、善女人等,于深般若波罗蜜多善知义趣,能以种种巧妙文义为他解说,所获福聚过前福聚无量无边。” + +时,天帝释便白佛言:“诸善男子、善女人等应以种种巧妙文义,为他演说甚深般若波罗蜜多耶?” + +佛言:“憍尸迦!如是!如是!若善男子、善女人等能以种种巧妙文义,为他演说甚深般若波罗蜜多,便获无边大功德聚。” + +> 上中品 + +时,天帝释复白佛言:“应为何等诸有情类,宣说般若波罗蜜多甚深义趣?” + +尔时,佛告天帝释言:“若善男子、善女人等,不知般若波罗蜜多甚深义趣,应为如是诸善男子、善女人等,宣说般若波罗蜜多甚深义趣。何以故?憍尸迦!于当来世,有善男子、善女人等求趣无上正等菩提,闻他宣说相似般若波罗蜜多,心便迷谬退失中道。” + +时,天帝释复白佛言:“云何名为相似般若波罗蜜多,而名宣说相似般若波罗蜜多?” + +尔时,佛告天帝释言:“于当来世有诸苾刍,不能善修身戒心慧,智慧狭劣犹如牛羊,为诸有情虽欲宣说真实般若波罗蜜多,而颠倒说相似般若波罗蜜多。云何苾刍颠倒宣说相似般若波罗蜜多?谓彼苾刍为发无上菩提心者,说色坏故名为无常,说受、想、行、识坏故名为无常;复作是说:若如是求,是行般若波罗蜜多。憍尸迦!如是名为颠倒宣说相似般若波罗蜜多。憍尸迦!不应以色坏故观色无常,不应以受、想、行、识坏故观受、想、行、识无常,若如是观色乃至识为无常者,当知彼行相似般若波罗蜜多。 + +“复次,憍尸迦!若善男子、善女人等为发无上菩提心者,宣说布施乃至般若波罗蜜多,作如是言:‘来!善男子!我当教汝修学布施乃至般若波罗蜜多。若依我教而修学者,当疾安住菩萨初地乃至十地,当得诸余无量佛法,速入菩萨正性离生,超诸声闻、独觉等地。’憍尸迦!彼以有相及有所得而为方便,依时分想教修布施乃至般若波罗蜜多,如是名为颠倒宣说相似般若波罗蜜多。 + +“复次,憍尸迦!若善男子、善女人等告菩萨乘种性者言:‘若于般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟,当获无边殊胜功德。’憍尸迦!彼以有相及有所得而为方便作如是说,名颠倒说相似般若波罗蜜多。 + +“复次,憍尸迦!若善男子、善女人等,告菩萨乘种性者言:‘汝于过去未来现在诸佛世尊,从初发心乃至究竟,所有善根皆应随喜一切合集,为诸有情回向无上正等菩提。’憍尸迦!彼以有相及有所得而为方便作如是说,名颠倒说相似般若波罗蜜多。 + +“以是故,憍尸迦!若善男子、善女人等以无所得而为方便,为诸有情无倒宣说甚深般若波罗蜜多真实义趣,所获福聚无量无边,能作有情利益安乐。 + +> 上上品 + +大般若波罗蜜多经卷第五百四十一 + +#8 己三 宣扬 + +大般若波罗蜜多经卷第五百四十二 + +三藏法师玄奘奉 诏译 + +第四分福门品第五之二 + +“复次,憍尸迦!若善男子、善女人等教赡部洲一切有情,皆令住预流果、或一来果、或不还果、或阿罗汉果。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等于深般若波罗蜜多,以清净心恭敬信受,为求无上正等菩提,书写、施他、复为解说,于深义趣令无疑惑,教授教诫诸有情言:‘汝应勤修真菩萨道,谓深般若波罗蜜多。若能精勤修学此道,疾证无上正等菩提,拔济无边诸有情类,令证实际诸漏永尽,入无余依般涅槃界。’是善男子、善女人等所获福聚甚多于前。何以故?憍尸迦!一切预流、一来、不还、阿罗汉果,皆是般若波罗蜜多所流出故。彼善男子、善女人等闻深般若波罗蜜多,教授教诫、精勤修学,渐次圆满一切佛法,乃至证得一切智智,化诸有情,令得预流、一来、不还、阿罗汉果、独觉菩提,趣入菩萨正性离生,乃至证得佛菩提故。 + +“复次,憍尸迦!置赡部洲一切有情。若善男子、善女人等教四大洲一切有情,皆令住预流果、或一来果、或不还果、或阿罗汉果。于意云何?乃至广说。 + +“复次,憍尸迦!置四大洲一切有情。若善男子、善女人等教小千界一切有情,皆令住预流果、或一来果、或不还果、或阿罗汉果。于意云何?乃至广说。 + +“复次,憍尸迦!置小千界一切有情。若善男子、善女人等教中千界一切有情,皆令住预流果、或一来果、或不还果、或阿罗汉果。于意云何?乃至广说。 + +“复次,憍尸迦!置中千界一切有情。若善男子、善女人等教大千界一切有情,皆令住预流果、或一来果、或不还果、或阿罗汉果。于意云何?乃至广说。 + +“复次,憍尸迦!置大千界一切有情。若善男子、善女人等,教化十方各如殑伽沙等世界一切有情,皆令住预流果、或一来果、或不还果、或阿罗汉果。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等于深般若波罗蜜多,以清净心恭敬信受,为求无上正等菩提,书写、施他、复为解说,于深义趣令无疑惑,教授教诫诸有情言:‘汝应勤修真菩萨道,谓深般若波罗蜜多。若能精勤修学此道,疾证无上正等菩提,拔济无边诸有情类,令证实际诸漏永尽,入无余依般涅槃界。’是善男子、善女人等所获福聚甚多于前。何以故?憍尸迦!一切预流、一来、不还、阿罗汉果,皆是般若波罗蜜多所流出故。彼善男子、善女人等闻深般若波罗蜜多,教授教诫、精勤修学,渐次圆满一切佛法,乃至证得一切智智,化有情类,令得预流、一来、不还、阿罗汉果、独觉菩提,趣入菩萨正性离生,乃至证得佛菩提故。 + +> 下下品 + +“复次,憍尸迦!若善男子、善女人等教赡部洲一切有情,皆令安住独觉菩提。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等于深般若波罗蜜多,以清净心恭敬信受,为求无上正等菩提,书写、施他、复为解说,于深义趣令无疑惑,教授教诫诸有情言:‘汝应勤修真菩萨道,谓深般若波罗蜜多。若能精勤修学此道,疾证无上正等菩提,拔济无边诸有情类,令证实际诸漏永尽,入无余依般涅槃界。’是善男子、善女人等所获福聚甚多于前。何以故?憍尸迦!一切独觉所证菩提,皆是般若波罗蜜多所流出故。彼善男子、善女人等闻深般若波罗蜜多,教授教诫、精勤修学,渐次圆满一切佛法,乃至证得一切智智,化有情类,令得预流、一来、不还、阿罗汉果、独觉菩提,趣入菩萨正性离生,乃至证得佛菩提故。 + +“复次,憍尸迦!置赡部洲一切有情。若善男子、善女人等教四大洲一切有情,皆令安住独觉菩提。于意云何?乃至广说。 + +“复次,憍尸迦!置四大洲一切有情。若善男子、善女人等教小千界一切有情,皆令安住独觉菩提。于意云何?乃至广说。 + +“复次,憍尸迦!置小千界一切有情。若善男子、善女人等教中千界一切有情,皆令安住独觉菩提。于意云何?乃至广说。 + +“复次,憍尸迦!置中千界一切有情。若善男子、善女人等教大千界一切有情,皆令安住独觉菩提。于意云何?乃至广说。 + +“复次,憍尸迦!置大千界一切有情。若善男子、善女人等,普教十方各如殑伽沙等世界一切有情,皆令安住独觉菩提。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等于深般若波罗蜜多,以清净心恭敬信受,为求无上正等菩提,书写、施他、复为解说,于深义趣令无疑惑,教授教诫诸有情言:‘汝应勤修真菩萨道,谓深般若波罗蜜多。若能精勤修学此道,疾证无上正等菩提,拔济无边诸有情类,令证实际诸漏永尽,入无余依般涅槃界。’是善男子、善女人等所获福聚甚多于前。何以故?憍尸迦!一切独觉所证菩提,皆是般若波罗蜜多所流出故。彼善男子、善女人等闻深般若波罗蜜多,教授教诫、精勤修学,渐次圆满一切佛法,乃至证得一切智智,化有情类,令得预流、一来、不还、阿罗汉果、独觉菩提,趣入菩萨正性离生,乃至证得佛菩提故。 + +> 下中品 + +“复次,憍尸迦!若善男子、善女人等教赡部洲诸有情类,皆发无上正等觉心。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,转施与一已发无上菩提心者受持、读诵,复作是言:‘来!善男子!汝当于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’是善男子、善女人等所获福聚甚多于前。 + +“复次,憍尸迦!置赡部洲诸有情类。若善男子、善女人等教四大洲诸有情类,皆发无上正等觉心。于意云何?乃至广说。 + +“复次,憍尸迦!置四大洲诸有情类。若善男子、善女人等教小千界诸有情类,皆发无上正等觉心。于意云何?乃至广说。 + +“复次,憍尸迦!置小千界诸有情类。若善男子、善女人等教中千界诸有情类,皆发无上正等觉心。于意云何?乃至广说。 + +“复次,憍尸迦!置中千界诸有情类。若善男子、善女人等教大千界诸有情类,皆发无上正等觉心。于意云何?乃至广说。 + +“复次,憍尸迦!置大千界诸有情类。若善男子、善女人等,普教十方各如殑伽沙等世界诸有情类,皆发无上正等觉心。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,转施与一已发无上菩提心者受持、读诵,复作是言:‘来!善男子!汝当于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’是善男子、善女人等所获福聚甚多于前。 + +> 下上品 + +“复次,憍尸迦!若善男子、善女人等教赡部洲诸有情类,皆于无上正等菩提得不退转。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,转施与一已于无上正等菩提不退转者受持、读诵,复作是言:‘来!善男子!汝当于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’是善男子、善女人等所获福聚甚多于前。 + +“复次,憍尸迦!置赡部洲诸有情类。若善男子、善女人等教四大洲诸有情类,皆于无上正等菩提得不退转。于意云何?乃至广说。 + +“复次,憍尸迦!置四大洲诸有情类。若善男子、善女人等教小千界诸有情类,皆于无上正等菩提得不退转。于意云何?乃至广说。 + +“复次,憍尸迦!置小千界诸有情类。若善男子、善女人等教中千界诸有情类,皆于无上正等菩提得不退转。于意云何?乃至广说。 + +“复次,憍尸迦!置中千界诸有情类。若善男子、善女人等教大千界诸有情类,皆于无上正等菩提得不退转。于意云何?乃至广说。 + +“复次,憍尸迦!置大千界诸有情类。若善男子、善女人等,普教十方各如殑伽沙等世界诸有情类,皆于无上正等菩提得不退转。于意云何?是善男子、善女人等,由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,转施与一已于无上正等菩提不退转者受持、读诵,复作是言:‘来!善男子!汝当于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’是善男子、善女人等所获福聚甚多于前。 + +“复次,憍尸迦!若赡部洲诸有情类,皆发无上正等觉心。有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,普施与彼受持、读诵,复作是言:‘来!善男子!汝等于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“若善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,转施与一已于无上正等菩提不退转者受持、读诵,复作是言:‘来!善男子!汝当于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’是善男子、善女人等所获福聚甚多于前。所以者何?彼菩萨摩诃萨定证无上正等菩提,与诸有情作苦边际,令其速证三乘涅槃。 + +“复次,憍尸迦!置赡部洲诸有情类。若四大洲诸有情类,若小千界诸有情类,若中千界诸有情类,若大千界诸有情类,若复十方各如殑伽沙等世界诸有情类,皆发无上正等觉心。有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,普施与彼受持、读诵,复作是言:‘来!善男子!汝等于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“若善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,转施与一已于无上正等菩提不退转者受持、读诵,复作是言:‘来!善男子!汝当于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’是善男子、善女人等所获福聚甚多于前。所以者何?彼菩萨摩诃萨定证无上正等菩提,与诸有情作苦边际,令其速证三乘涅槃。 + +“复次,憍尸迦!若赡部洲诸有情类,皆于无上正等菩提得不退转。有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,普施与彼受持、读诵,复作是言:‘来!善男子!汝等于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“已于无上正等菩提得不退转诸菩萨中,有一菩萨作如是言:‘我今欣乐速证无上正等菩提,济拔有情生死众苦,令得殊胜毕竟安乐。’若善男子、善女人等为成彼事,书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,转施与彼受持、读诵,复作是言:‘来!善男子!汝当于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +“复次,憍尸迦!置赡部洲诸有情类。若四大洲诸有情类,若小千界诸有情类,若中千界诸有情类,若大千界诸有情类,若复十方各如殑伽沙等世界诸有情类,皆于无上正等菩提得不退转。有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,普施与彼受持、读诵,复作是言:‘来!善男子!汝等于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“已于无上正等菩提得不退转诸菩萨中,有一菩萨作如是言:‘我今欣乐速证无上正等菩提,济拔有情生死众苦,令得殊胜毕竟安乐。’若善男子、善女人等为成彼事,书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,转施与彼受持、读诵,复作是言:‘来!善男子!汝当于此甚深般若波罗蜜多,至心听闻、受持、读诵、令善通利、如理思惟,随此法门应正信解。若正信解,则能修学甚深般若波罗蜜多。若能修学甚深般若波罗蜜多,则能证得一切智法。若能证得一切智法,则修般若波罗蜜多疾得圆满。若修般若波罗蜜多疾得圆满,便能证得一切智智。’是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +> 中下品 + +“复次,憍尸迦!若赡部洲诸有情类,皆发无上正等觉心。有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,普施与彼受持、读诵,令善通利、如理思惟。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“若善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,于彼众中随施与一受持、读诵、令善通利、如理思惟,复以种种巧妙文义广为解释,分别义趣令其解了,教授教诫令勤修学。是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +“复次,憍尸迦!置赡部洲诸有情类。若四大洲诸有情类,若小千界诸有情类,若中千界诸有情类,若大千界诸有情类,若复十方各如殑伽沙等世界诸有情类,皆发无上正等觉心。有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,普施与彼受持、读诵,令善通利、如理思惟。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“若善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,于彼众中随施与一受持、读诵、令善通利、如理思惟,复以种种巧妙文义广为解释,分别义趣令其解了,教授教诫令勤修学,是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +> 中中品 + +“复次,憍尸迦!若赡部洲诸有情类,皆于无上正等菩提得不退转。有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,普施与彼受持、读诵,令善通利、如理思惟。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“若善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,于彼众中随施与一受持、读诵、令善通利、如理思惟,复以种种巧妙文义广为解释,分别义趣令其解了,教授教诫令勤修学。是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +“复次,憍尸迦!置赡部洲诸有情类。若四大洲诸有情类,若小千界诸有情类,若中千界诸有情类,若大千界诸有情类,若复十方各如殑伽沙等世界诸有情类,皆于无上正等菩提得不退转。有善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,普施与彼受持、读诵,令善通利、如理思惟。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“若善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,于彼众中随施与一受持、读诵、令善通利、如理思惟,复以种种巧妙文义广为解释,分别义趣令其解了,教授教诫令勤修学。是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +> 中上品 + +“复次,憍尸迦!若赡部洲诸有情类,皆发无上正等觉心。既发无上菩提心已,同作是言:‘我今欣乐速证无上正等菩提,济拔有情生死众苦,令得殊胜毕竟安乐。’有善男子、善女人等为成彼事,书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,普施与彼受持、读诵,令善通利、如理思惟。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“若善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,于彼众中随施与一受持、读诵、令善通利、如理思惟,以无量门巧妙文义广为解释,分别义趣令其解了,教授教诫令勤修学,是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +“复次,憍尸迦!置赡部洲诸有情类。若四大洲诸有情类,若小千界诸有情类,若中千界诸有情类,若大千界诸有情类,若复十方各如殑伽沙等世界诸有情类,皆发无上正等觉心。既发无上菩提心已,同作是言:‘我今欣乐速证无上正等菩提,济拔有情生死众苦,令得殊胜毕竟安乐。’有善男子、善女人等为成彼事,书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,普施与彼受持、读诵,令善通利、如理思惟。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“若善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,于彼众中随施与一受持、读诵、令善通利、如理思惟,以无量门巧妙文义广为解释,分别义趣令其解了,教授教诫令勤修学。是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +> 上下品 + +“复次,憍尸迦!若赡部洲诸有情类,皆于无上正等菩提得不退转,同作是言:‘我今欣乐速证无上正等菩提,济拔有情生死众苦,令得殊胜毕竟安乐。’有善男子、善女人等为成彼事,书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,普施与彼受持、读诵,令善通利、如理思惟,于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“若善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,于彼众中随施与一受持、读诵、令善通利、如理思惟,以无量门巧妙文义广为解释,分别义趣令其解了,教授教诫令勤修学,是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +“复次,憍尸迦!置赡部洲诸有情类。若四大洲诸有情类,若小千界诸有情类,若中千界诸有情类,若大千界诸有情类,若复十方各如殑伽沙等世界诸有情类,皆于无上正等菩提得不退转,同作是言:‘我今欣乐速证无上正等菩提,济拔有情生死众苦,令得殊胜毕竟安乐。’有善男子、善女人等为成彼事,书深般若波罗蜜多众宝庄严,供养恭敬、尊重赞叹,普施与彼受持、读诵、令善通利、如理思惟。于意云何?是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“若善男子、善女人等书深般若波罗蜜多,众宝庄严供养恭敬、尊重赞叹,于彼众中随施与一受持、读诵,令善通利、如理思惟,以无量门巧妙文义广为解释,分别义趣令其解了,教授教诫令勤修学,是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +> 上中品 + +“复次,憍尸迦!若善男子、善女人等书深般若波罗蜜多,种种庄严供养恭敬、尊重赞叹,施赡部洲一切有情,是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等为一有情,于深般若波罗蜜多,分别解说甚深义趣令其解了。是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +“复次,憍尸迦!若善男子、善女人等书深般若波罗蜜多,种种庄严供养恭敬、尊重赞叹,施四大洲一切有情,若小千界一切有情,若中千界一切有情,若大千界一切有情,若复十方各如殑伽沙等世界一切有情。是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等为一有情,于深般若波罗蜜多,分别解说甚深义趣令其解了。是善男子、善女人等所获福聚,甚多于前无量无边不可称数。 + +“复次,憍尸迦!若善男子、善女人等为赡部洲诸有情类,若四大洲诸有情类,若小千界诸有情类,若中千界诸有情类,若大千界诸有情类,若复十方各如殑伽沙等世界诸有情类,于深般若波罗蜜多,分别解说甚深义趣令其解了,是善男子、善女人等由此因缘得福多不?” + +天帝释言:“甚多!世尊!甚多!善逝!” + +尔时,佛告天帝释言:“有善男子、善女人等为一有情,于深般若波罗蜜多,以无染心分别解说甚深义趣令其解了,教授教诫令勤修学。是善男子、善女人等所获福聚,甚多于前无量无边不可称数。” + +时,天帝释便白佛言:“如如菩萨摩诃萨转近无上正等菩提,如是如是应以般若波罗蜜多甚深义趣教授、教诫,令善通达诸法真如;应以上妙衣服、饮食、卧具、医药及余资具,恭敬供养令无匮乏。若善男子、善女人等能以如是法施、财施,摄受供养彼菩萨摩诃萨,是善男子、善女人等由此因缘得大果报,获大胜利无量无边。所以者何?彼菩萨摩诃萨,要由如是法施、财施摄受供养,速能证得一切智智。” + +尔时,善现赞帝释言:“善哉!善哉!憍尸迦!善能劝励、摄受、护助诸菩萨摩诃萨,令疾证得一切智智。汝今已作佛圣弟子所应作事。何以故?憍尸迦!一切如来诸圣弟子,为欲利乐诸有情故,方便劝励、摄受、护助诸菩萨摩诃萨,令疾证得一切智智。所以者何?一切如来、声闻、独觉世间胜事,皆由菩萨摩诃萨众而得出现。何以故?憍尸迦!若无菩萨摩诃萨发菩提心,则无菩萨摩诃萨能学布施乃至般若波罗蜜多。若无菩萨摩诃萨能学布施乃至般若波罗蜜多,则无菩萨摩诃萨能证无上正等菩提。若无菩萨摩诃萨证得无上正等菩提,则无如来、声闻、独觉世间胜事。故应劝励、摄受、护助诸菩萨摩诃萨,令学六种波罗蜜多究竟圆满,疾证无上正等菩提,转妙法轮度有情众。” + +> 上上品 + +大般若波罗蜜多经卷第五百四十二 + +#7 戊二 论 + +般若波羅蜜 於諸勝解位 由三種九聚 讚事及稱揚 + +#6 丁八 经论说回向作意大乘修道 + +#7 戊一 经 + +#8 己一 有胜作用之回向 + +大般若波罗蜜多经卷第五百四十三 + +三藏法师玄奘奉 诏译 + +第四分随喜回向品第六之一 + +尔时,慈氏菩萨摩诃萨谓具寿善现言:“大德!诸菩萨摩诃萨所有随喜回向俱行诸福业事于余有情施、戒、修等诸福业事为最为胜、为尊为高、为妙为微妙、为上为无上、无等无等等。” + +#8 己二 无所得行相之回向 + +尔时,具寿善现问慈氏菩萨摩诃萨言:“诸菩萨摩诃萨所起随喜回向之心,普缘十方无量无数不可思议无边世界,一一世界无量无数不可思议无边如来、应、正等觉,断诸有路绝戏论道,已入无余依般涅槃界者,从初发心乃至证得所求无上正等菩提,如是乃至入无余依般涅槃界,展转乃至正法灭已,于其中间所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若六波罗蜜多相应善根,若佛圆满功德相应善根,若力、无畏相应善根,若神通波罗蜜多相应善根,若甚深般若波罗蜜多相应善根,若大愿波罗蜜多相应善根,若一切智智相应善根,若为利乐一切有情大慈、大悲、大喜、大舍,若无量无数诸佛功德,若证无上正等菩提所有妙乐,若于诸法得大自在波罗蜜多,若不可伏能伏一切无量最极神通妙行,若无障、无碍、无对、无等、无喻、无限如来如实勇猛威力,若佛智见,若佛十力波罗蜜多,若四无畏最极圆满所证佛法;若能引发诸法胜义所证佛法,若转法轮,若秉法炬,若击法鼓,若吹法螺,若雨法雨,若设法会,若以法味恣诸有情随意所欣皆令充足,若于如是无上法教,谓诸佛法、若独觉法、若声闻法,所有调伏胜解,决定趣三菩提,若佛世尊授诸菩萨无上正等大菩提记,若彼一切殊胜善根,所谓布施乃至般若波罗蜜多相应善根,若授独觉补特伽罗独觉乘菩提记,若彼一切殊胜善根,所谓观察十二缘起相应善根,若授声闻补特伽罗声闻乘菩提记,若彼一切殊胜善根,所谓施性、戒性、修性三福业事,若学、无学无漏善根,若诸异生于彼诸法所种善根,若诸如来、应、正等觉四众弟子,谓苾刍、苾刍尼、邬波索迦、邬波斯迦所有施性、戒性、修性三福业事,若于诸佛所说法教,天、龙、药叉广说乃至人非人等所种善根,若彼于佛般涅槃后所种善根,若有情类于佛、法、僧及余善士深心信乐,所起种种殊胜善根。是诸善根及余功德,一切合集观察称量,现前发起最尊最胜、最上最妙随喜之心。复以如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提,愿此善根与有情类同共引发所求无上正等菩提。如是所起随喜回向,于余所起诸福业事为最为胜、为尊为高、为妙为微妙、为上为无上、无等无等等。 + +“于意云何?彼菩萨摩诃萨缘如是事,起如是行相随喜回向心,为有如是所缘可得,如彼菩萨所取相不?” + +尔时,慈氏菩萨答具寿善现言:“彼菩萨摩诃萨缘如是事,起如是行相随喜回向心,实无如是所缘可得,如彼菩萨所取之相。” + +时,具寿善现谓慈氏菩萨言:“若无如是所缘诸事,如彼菩萨所取相者,彼诸菩萨随喜回向,岂不皆成想心见倒?所以者何?如有贪着无所有事,无常谓常,实苦谓乐,无我谓我,不净谓净,即便发起想心见倒。如所缘事实无所有,菩提及心亦复如是,一切法、一切界亦应尔。若一切种皆无所有、无差别者,何等是所缘事?何等是随喜心?何等是菩提?何等是回向?云何菩萨摩诃萨缘如是事,起随喜心回向无上正等菩提?” + +慈氏菩萨报善现言:“如是所起随喜回向,不应对彼新学大乘菩萨前说。所以者何?彼闻如是随喜回向,所有信乐恭敬之心皆当隐没。如是随喜回向之法,应为不退转菩萨摩诃萨,或曾供养无量诸佛,久发大愿,多植善根,为多善友所摄受者,分别开示。所以者何?彼闻如是随喜回向,不惊、不怖、不退、不没。 + +“诸菩萨摩诃萨应以如是随喜俱行诸福业事,回向无上正等菩提,当于尔时应作是念:‘所可用心随喜回向,此所用心尽、灭、离、变,此所缘事及诸善根,亦皆如心尽、灭、离、变。此中何等是所用心?复以何等为所缘事及诸善根,而说随喜回向无上正等菩提?是心于心,理不应有随喜回向,以无二心俱时起故。心亦不可随喜回向,心自性故,是故随喜回向之心及所缘事皆不可得。’” + +时,天帝释白善现言:“新学大乘诸菩萨众闻如是事,其心将无惊怖、退没?云何菩萨摩诃萨众于所缘事起随喜心?云何摄受随喜俱行诸福业事,回向无上正等菩提而不违理?” + +尔时,善现依承慈氏菩萨威力,告帝释言:“诸菩萨摩诃萨普缘十方无量无数不可思议无边世界一切如来、应、正等觉,断诸有路绝戏论道,殄诸云雾摧诸棘刺,舍诸重担逮得己利,尽诸有结正智解脱,到心自在第一究竟,入无余依涅槃界者,从初发心乃至证得所求无上正等菩提,转妙法轮度有情众,般涅槃后乃至法灭,于其中间所有种种功德善根,及弟子众于诸佛法所种善根,及余所起种种功德,一切合集观察称量,现前发起最尊最胜、最上最妙随喜之心。复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提。彼于尔时方便善巧,能不坠堕想心见倒。” + +#8 己三 不颠倒性之回向 + +尔时,慈氏菩萨摩诃萨谓具寿善现言:“若菩萨摩诃萨于自所起随喜回向俱行之心,不作随喜回向心想,于所念佛及诸弟子所有功德,不作诸佛及诸弟子功德之想,于诸天、人、阿素洛等所种善根,不作天、人、阿素洛等善根之想,而能随喜回向无上正等菩提,是菩萨摩诃萨所起随喜回向之心,则不堕于想心见倒。若菩萨摩诃萨于自所起随喜回向俱行之心,要作随喜回向心想,于所念佛及诸弟子所有功德,作所念佛及诸弟子功德之想,于诸天、人、阿素洛等所种善根,作诸天、人、阿素洛等善根之想,方能随喜回向无上正等菩提,是菩萨摩诃萨所起随喜回向之心,则便堕于想心见倒。 + +“诸菩萨摩诃萨以如是心,念一切佛及诸弟子功德善根,正知此心尽、灭、离、变,非能随喜,正知彼法其性亦然,非所随喜;又正了达能回向心法性亦尔,非能回向,及正了知所回向法其性亦尔,非所回向。若有能依如是所说随喜回向,是正非邪,诸菩萨摩诃萨皆应发起如是随喜回向无上正等菩提。 + +“复次,善现!若菩萨摩诃萨普于过去断诸有路绝戏论道诸佛世尊,从初发心乃至证得所求无上正等菩提,展转乃至入无余依般涅槃界,如是乃至正法灭已,于其中间所有诸佛波罗蜜多相应善根,若佛世尊授菩萨记,波罗蜜多相应善根,若佛世尊授独觉记,观察缘起相应善根,若佛世尊授声闻记,彼所发起施性、戒性、修性善根,若有学位一切有漏、无漏善根,若无学位无漏善根,若佛世尊戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若为利乐一切有情,大慈、大悲、大喜、大舍,若余无量无数佛法,若佛世尊宣说正法,若于正法精勤修学胜解安住彼诸善根,若于正法,诸异生类所种善根,若诸天、龙、阿素洛等听闻正法,及闻法已所种善根,乃至傍生听闻正法,及闻法已所种善根,若佛世尊般涅槃后,诸人、天等所种善根,如是一切合集称量,现前发起最尊最胜、最上最妙随喜之心,复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提。 + +“于如是时,若正解了诸能随喜回向之法尽、灭、离、变,诸所随喜回向之法自性皆空。虽如是知而能随喜回向无上正等菩提,复于是时,若正解了都无有法可能随喜回向于法。何以故?以一切法自性皆空,空中都无能、所随喜回向法故。虽如是知而能随喜回向无上正等菩提,是菩萨摩诃萨便能不堕想心见倒。所以者何?是菩萨摩诃萨于随喜心及所随喜功德善根不生执着,于回向心及所回向无上菩提亦不执着,由无执着不堕颠倒。如是菩萨所起随喜回向之心,名正无上随喜回向,远离一切虚妄分别。 + +“若菩萨摩诃萨于能随喜回向之法,起能随喜回向法想,于所随喜回向之法,起所随喜回向法想,而起随喜回向无上正等菩提,是菩萨摩诃萨所起随喜回向之心,则便堕于想心见倒,所起随喜回向皆邪,菩萨应知方便远离。 + +#8 己四 远离回向 + +“复次,善现!若菩萨摩诃萨普于未来断诸有路绝戏论道诸佛世尊,从初发心乃至证得所求无上正等菩提,展转乃至入无余依般涅槃界,如是乃至正法灭已,于其中间所有诸佛波罗蜜多相应善根;若佛世尊授菩萨记,波罗蜜多相应善根;若佛世尊授独觉记,观察缘起相应善根;若佛世尊授声闻记,彼所发起施性、戒性、修性善根,若有学位一切有漏、无漏善根;若无学位无漏善根;若佛世尊戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴;若为利乐一切有情,大慈、大悲、大喜、大舍;若余无量无数佛法;若佛世尊宣说正法;若于正法精勤修学、胜解安住彼诸善根;若于正法,诸异生类所种善根;若诸天、龙、阿素洛等听闻正法,及闻法已所种善根,乃至傍生听闻正法,及闻法已所种善根;若佛世尊般涅槃后,诸人、天等所种善根。如是一切合集称量,现前发起最尊最胜、最上最妙随喜之心。复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提。 + +“于如是时,若正解了诸能随喜回向之法尽、灭、离、变,诸所随喜回向之法自性皆空,虽如是知而能随喜回向无上正等菩提。复于是时,若正解了都无有法可能随喜回向于法。何以故?以一切法自性皆空,空中都无能、所随喜回向法故。虽如是知而能随喜回向无上正等菩提,是菩萨摩诃萨便能不堕想心见倒。所以者何?是菩萨摩诃萨于随喜心及所随喜功德善根不生执着,于回向心及所回向无上菩提亦不执着,由无执着不堕颠倒。如是菩萨所起随喜回向之心,名正无上随喜回向,远离一切虚妄分别。 + +“若菩萨摩诃萨于能随喜回向之法,起能随喜回向法想,于所随喜回向之法,起所随喜回向法想,而起随喜回向无上正等菩提,是菩萨摩诃萨所起随喜回向之心,则便堕于想心见倒,所起随喜回向皆邪,菩萨应知方便远离。 + +“复次,善现!若菩萨摩诃萨普于现在断诸有路绝戏论道诸佛世尊,从初发心乃至证得所求无上正等菩提,展转乃至入无余依般涅槃界,如是乃至正法灭已,于其中间所有诸佛波罗蜜多相应善根;若佛世尊授菩萨记,波罗蜜多相应善根;若佛世尊授独觉记,观察缘起相应善根;若佛世尊授声闻记,彼所发起施性、戒性、修性善根;若有学位一切有漏、无漏善根;若无学位无漏善根;若佛世尊戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴;若为利乐一切有情,大慈、大悲、大喜、大舍;若余无量无数佛法;若佛世尊宣说正法;若于正法精勤修学胜解安住彼诸善根;若于正法,诸异生类所种善根;若诸天、龙、阿素洛等听闻正法,及闻法已所种善根,乃至傍生听闻正法,及闻法已所种善根;若佛世尊般涅槃后,诸人、天等所种善根。如是一切合集称量,现前发起最尊最胜、最上最妙随喜之心。复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提。 + +“于如是时,若正解了诸能随喜回向之法尽、灭、离、变,诸所随喜回向之法自性皆空。虽如是知而能随喜回向无上正等菩提。复于是时,若正解了都无有法可能随喜回向于法。何以故?以一切法自性皆空,空中都无能、所随喜回向法故。虽如是知而能随喜回向无上正等菩提,是菩萨摩诃萨便能不堕想心见倒。所以者何?是菩萨摩诃萨于随喜心及所随喜功德善根不生执着,于回向心及所回向无上菩提亦不执着,由无执着不堕颠倒。如是菩萨所起随喜回向之心,名正无上随喜回向,远离一切虚妄分别。 + +“若菩萨摩诃萨于能随喜回向之法,起能随喜回向法想,于所随喜回向之法,起所随喜回向法想,而起随喜回向无上正等菩提,是菩萨摩诃萨所起随喜回向之心,则便堕于想心见倒,所起随喜回向皆邪,菩萨应知方便远离。 + +“复次,善现!若菩萨摩诃萨普于过去、未来、现在断诸有路绝戏论道诸佛世尊,从初发心乃至证得所求无上正等菩提,展转乃至入无余依般涅槃界,如是乃至正法灭已,于其中间所有诸佛波罗蜜多相应善根;若佛世尊授菩萨记,波罗蜜多相应善根;若佛世尊授独觉记,观察缘起相应善根;若佛世尊授声闻记,彼所发起施性、戒性、修性善根;若有学位一切有漏、无漏善根;若无学位无漏善根;若佛世尊戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴;若为利乐一切有情,大慈、大悲、大喜、大舍;若余无量无数佛法;若佛世尊宣说正法;若于正法精勤修学胜解安住彼诸善根;若于正法,诸异生类所种善根;若诸天、龙、阿素洛等听闻正法,及闻法已所种善根,乃至傍生听闻正法,及闻法已所种善根;若佛世尊般涅槃后,诸人、天等所种善根。如是一切合集称量,现前发起最尊最胜、最上最妙随喜之心。复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提。 + +“于如是时,若正解了诸能随喜回向之法尽、灭、离、变,诸所随喜回向之法自性皆空。虽如是知而能随喜回向无上正等菩提。复于是时,若正解了都无有法可能随喜回向于法。何以故?以一切法自性皆空,空中都无能、所随喜回向法故。虽如是知而能随喜回向无上正等菩提,是菩萨摩诃萨便能不堕想心见倒。所以者何?是菩萨摩诃萨于随喜心及所随喜功德善根不生执着,于回向心及所回向无上菩提亦不执着,由不执着不堕颠倒。如是菩萨所起随喜回向之心,名正无上随喜回向,远离一切虚妄分别。 + +“若菩萨摩诃萨于能随喜回向之法,起能随喜回向法想,于所随喜回向之法,起所随喜回向法想,而起随喜回向无上正等菩提,是菩萨摩诃萨所起随喜回向之心,则便堕于想心见倒,所起随喜回向皆邪,菩萨应知方便远离。 + +“复次,善现!若菩萨摩诃萨于所修作诸福业事,如实了知远离寂静,于能随喜回向之心,亦如实知远离寂静。如是知已,行深般若波罗蜜多,于诸法中都无取着,而起随喜回向无上正等菩提,是菩萨摩诃萨所起随喜回向之心,则不堕于想心见倒。若菩萨摩诃萨于所修作诸福业事,不如实知远离寂静,于能随喜回向之心,亦不能知远离寂静,于一切法执着诸相,而起随喜回向无上正等菩提,是菩萨摩诃萨所起随喜回向之心,则便堕于想心见倒。 + +#8 己五 忆念诸佛福品自性之回向 + +“复次,善现!若菩萨摩诃萨于已灭度诸佛世尊及诸弟子功德善根,若欲发起随喜回向无上正等菩提心者,应作是念:‘如佛世尊及诸弟子皆已灭度自性非有,功德善根亦复如是。我所发起随喜回向无上正等菩提之心,及所回向无上菩提,性相亦尔都不可得。’如是知已,于诸善根发生随喜回向无上正等菩提,便能不生想心见倒,名正随喜回向菩提。若菩萨摩诃萨以取相为方便,行深般若波罗蜜多,于已灭度佛及弟子功德善根,取相随喜回向菩提,是为非善随喜回向,由斯便堕想心见倒。若菩萨摩诃萨不取相为方便,行深般若波罗蜜多,于已灭度佛及弟子功德善根,离相随喜回向无上正等菩提,是名为善随喜回向,由斯不堕想心见倒。” + +#8 己六 有方便善巧之回向 + +尔时,慈氏菩萨摩诃萨问具寿善现言:“大德!云何菩萨摩诃萨于诸如来、应、正等觉及弟子众功德善根、随喜俱行福业事等皆不取相,而能随喜回向无上正等菩提?” + +善现答言:“应知菩萨摩诃萨所学般若波罗蜜多,有如是等方便善巧,虽不取相而所作成,非离般若波罗蜜多,有能正起随喜回向。是故菩萨摩诃萨众欲成所作,应学般若波罗蜜多。” + +慈氏菩萨摩诃萨言:“大德善现!莫作是说。所以者何?以甚深般若波罗蜜多中,诸佛世尊并弟子众及所成就功德善根,皆无所有都不可得,所作随喜诸福业事、发心回向无上菩提,亦无所有都不可得。 + +“此中菩萨摩诃萨行深般若波罗蜜多时,应作是观:过去诸佛及弟子众功德善根性皆已灭,所作随喜诸福业事、发心回向无上菩提性皆寂灭。我若于彼诸佛世尊及弟子众功德善根取相分别,及于所作随喜俱行诸福业事、发心回向无上菩提取相分别,以是取相分别方便,发生随喜回向无上正等菩提,诸佛世尊皆所不许。所以者何?于已灭度诸佛世尊及弟子等取相分别,随喜回向无上菩提,是则名为大有所得。过去已灭,无所有故,未来、现在佛弟子等未至、不住,亦不可得。若不可得非取相境,若取其相发生随喜回向菩提便堕颠倒。若有失念而取相者,当知非善随喜回向,要不取相无所分别,乃名为善随喜回向。 + +“是故菩萨摩诃萨众应学般若波罗蜜多方便善巧,由此方便善巧势力,能正发生随喜回向。若菩萨摩诃萨欲学如是方便善巧,应于般若波罗蜜多数数听闻、受持、读诵,令善通利、如理思惟,勤请问师甚深义趣。所以者何?若不依止甚深般若波罗蜜多,终不能得方便善巧。若无如是方便善巧,能正发生随喜回向,无有是处。何以故?于过去佛及弟子众诸功德等取相分别随喜回向,诸佛世尊皆不随喜。 + +“是故菩萨摩诃萨众欲于诸佛及诸弟子功德善根,正发随喜回向无上正等菩提,不应于中起有所得取相分别随喜回向。若于其中起有所得取相分别随喜回向,佛不说彼有大义利。所以者何?如是随喜回向之心妄想分别,名杂毒故。 + +#8 己七 无相回向 + +如有饮食,虽具上妙色香美味而杂毒药,愚夫浅识贪取啖之,初虽适意欢喜快乐,而后食消备受众苦,或便致死若近失命。 + +“如是一类补特伽罗,不善受持,不善观察甚深般若波罗蜜多文句义理,不善读诵,不善通达甚深义趣,而告大乘种性者曰:‘来!善男子!汝于过去未来现在诸佛世尊戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,及余无量无边功德;若佛弟子于诸佛所种诸善根;若佛世尊授诸菩萨无上正等大菩提记,彼诸菩萨所种善根;若佛世尊授诸独觉及声闻记,彼有情类所种善根;若诸天人、阿素洛等于诸佛所乃至正法未灭尽来所种善根;若善男子、善女人等所种善根,及有于他所成功德发生随喜回向善根。如是一切合集称量,现前随喜,与诸有情平等共有回向无上正等菩提。’如是所说随喜回向,以有所得取相分别而为方便。譬如世间杂毒饮食初益后损故,此非善随喜回向。所以者何?以有所得取相分别,发起随喜回向之心,皆杂毒故。菩萨种性补特伽罗,不应随彼所说而学。 + +#8 己八 诸佛随喜回向 + +“是故,大德!应说云何住菩萨乘善男子等,应于三世十方诸佛及弟子等功德善根随喜回向,可说名为无毒妙善随喜回向?” + +具寿善现答慈氏言:“住菩萨乘善男子等行深般若波罗蜜多,欲不谤佛而发随喜回向心者,应作是念:‘如诸如来、应、正等觉无障佛眼,通达遍知功德善根有如是性、有如是相、有如是法而可随喜,我今亦应如是随喜;如诸如来、应、正等觉无障佛眼,通达遍知应以如是诸福业事,回向无上正等菩提,我今亦应如是回向。’住菩萨乘诸善男子、善女人等,于诸如来、应、正等觉及弟子等功德善根,应作如是随喜回向。若作如是随喜回向则不谤佛,诸佛世尊同所随喜。是菩萨摩诃萨如是随喜回向之心,不杂众毒离诸过咎,名正名善随喜回向,称真法界,意乐胜解俱善圆满。 + +#8 己九 不系三界回向 + +“复次,大士!住菩萨乘诸善男子、善女人等行深般若波罗蜜多,于诸如来、应、正等觉及弟子等功德善根,应作如是随喜回向:‘如佛戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴及诸余法,不堕三界非三世摄,随喜回向亦应如是。所以者何?如彼诸法自性空故,不堕三界非三世摄,随喜回向亦复如是。谓诸如来自性空故,不堕三界非三世摄;诸佛功德自性空故,不堕三界非三世摄;声闻、独觉及人、天等自性空故,不堕三界非三世摄;彼诸善根自性空故,不堕三界非三世摄;于彼随喜自性空故,不堕三界非三世摄;所回向法自性空故,不堕三界非三世摄;能回向者自性空故,不堕三界非三世摄。’若菩萨摩诃萨行深般若波罗蜜多时,如实了知诸法性相,不堕三界非三世摄。若不堕三界非三世摄,即不可以彼有相为方便、有所得为方便,发生随喜回向无上正等菩提。所以者何?以一切法自性不生,若法不生则无所有,不可以彼无所有法随喜回向,无所有故,是菩萨摩诃萨如是随喜回向无上正等菩提,不杂众毒无所失坏名大回向,无堕无摄,称真法界,究竟圆满。 + +“住菩萨乘诸善男子、善女人等,若以有相而为方便,或有所得而为方便,于诸如来及弟子等功德善根,发生随喜回向之心,当知是邪随喜回向。此邪随喜回向之心,诸佛世尊所不称赞。若菩萨摩诃萨行深般若波罗蜜多时,作如是念:‘如十方界一切如来、应、正等觉如实通达功德善根有如是法,可依此法发生无倒随喜回向。我今亦应依如是法发生随喜,回向无上正等菩提,是为正发随喜回向。’由斯定证无上菩提,转妙法轮饶益一切。” + +#8 己十 下品出生广大福德之回向 + +尔时,世尊赞善现曰:“善哉!善哉!汝今乃能为诸菩萨摩诃萨等作大佛事。所以者何?汝为菩萨摩诃萨等宣说无倒随喜回向,如诸如来、应、正等觉通达遍知诸善根等有如是性、有如是相、有如是法,发生无倒随喜回向。如是随喜回向之心,称真法界,究竟圆满,汝今乃能如实宣说。 + +“善现当知!若善男子、善女人等,方便教化殑伽沙数三千大千世界有情,皆令安住十善业道所获功德,是菩萨摩诃萨所起无倒随喜回向,于彼功德为最为胜、为尊为高、为妙为微妙、为上为无上、无等无等等。 + +“复次,善现!且置令住十善业道。若善男子、善女人等,方便教化殑伽沙数三千大千世界有情,皆令安住四静虑、四无量、四无色定、五神通所获功德,是菩萨摩诃萨所起无倒随喜回向,于彼功德为最为胜、为尊为高、为妙为微妙、为上为无上、无等无等等。 + +#8 己十一 中品出生广大福德之回向 + +“复次,善现!且置令住四静虑等。若善男子、善女人等,方便教化殑伽沙数三千大千世界有情,皆令安住预流果、或一来果、或不还果、或阿罗汉果、或独觉菩提所获功德,是菩萨摩诃萨所起无倒随喜回向,于彼功德,为最为胜、为尊为高、为妙为微妙、为上为无上、无等无等等。 + +“复次,善现!且置令住预流果等。假使如是殑伽沙数三千大千世界有情,皆成预流、一来、不还、阿罗汉果、独觉菩提所有功德,是菩萨摩诃萨所起无倒随喜回向,于彼功德为最为胜、为尊为高、为妙为微妙、为上为无上、无等无等等。 + +#8 己十二 上品出生广大福德之回向 + +“复次,善现!且置如是预流果等所有功德。假使十方殑伽沙数三千大千世界有情,皆发无上正等觉心。设有十方殑伽沙数三千大千世界有情,一一于彼诸菩萨所,皆以上妙衣服、饮食、卧具、医药及无量种上妙乐具,经如殑伽沙数大劫,以有所得而为方便,供养恭敬、尊重赞叹,于意云何?是诸有情由此因缘得福多不?” + +善现答言:“甚多!世尊!甚多!善逝!如是福聚若有形色,十方各如殑伽沙界不能容受。” + +佛告善现:“如是!如是!如汝所说。若菩萨乘诸善男子、善女人等,于诸如来、应、正等觉及弟子等功德善根,发起无倒随喜回向,所获功德甚多于前无量无数算数譬喻所不能及。所以者何?此菩萨乘善男子等所起无倒随喜回向,以无所得而为方便,甚深般若波罗蜜多方便善巧所摄受故,称法界故,最胜无比。彼诸有情所获福聚,以有所得为方便故,于此所起随喜回向,百分不及一,千分不及一,乃至邬波尼杀昙分亦不及一。” + +尔时,四大天王各与眷属二万天子俱,顶礼佛足,合掌恭敬白言:“世尊!是菩萨摩诃萨所起无倒随喜回向,以无所得而为方便,甚深般若波罗蜜多方便善巧所摄受故,威力广大称真法界,疾能证得一切智智,胜前所说有所得施,无量倍数不可为比。” + +时,天帝释乃至他化自在天王,各与眷属十万天子俱,皆持种种天妙华鬘、涂散等香、衣服、璎珞、宝幢、幡盖、众妙、珍奇,奏天乐音以奉施佛,供养恭敬、尊重赞叹,顶礼佛足,合掌白言:“是菩萨摩诃萨所起无倒随喜回向,以无所得而为方便,甚深般若波罗蜜多方便善巧所摄受故,威力广大称真法界,疾能证得一切智智,胜前所说有所得施,无量倍数不可为比。” + +时,大梵天广说乃至色究竟天各与无量百千天众,前诣佛所,顶礼佛足,合掌恭敬俱发声言:“希有!世尊!甚奇!善逝!是菩萨摩诃萨所起无倒随喜回向,以无所得而为方便,甚深般若波罗蜜多方便善巧所摄受故,威力广大称真法界,疾能证得一切智智,胜前所说有所得施,无量倍数不可为比。” + +大般若波罗蜜多经卷第五百四十三 + +大般若波罗蜜多经卷第五百四十四 + +三藏法师玄奘奉 诏译 + +第四分随喜回向品第六之二 + +尔时,佛告净居天等诸天众言:“且置十方殑伽沙数三千大千世界有情皆发无上正等觉心。假使十方无边世界一切有情皆发无上正等觉心,设有十方无边世界一切有情,一一于彼诸菩萨所,皆持上妙衣服、饮食、卧具、医药及无量种上妙乐具,经如殑伽沙数大劫,以有所得而为方便,供养恭敬、尊重赞叹。若菩萨乘诸善男子、善女人等,于诸如来、应、正等觉及弟子等功德善根,发起无倒随喜回向所获功德,甚多于前无量无数算数譬喻所不能及。所以者何?此菩萨乘善男子等,所起无倒随喜回向,以无所得而为方便,甚深般若波罗蜜多方便善巧所摄受故,称法界故,最胜无比。彼诸有情所获福聚,以有所得为方便故,于此所起随喜回向,百分不及一,千分不及一,乃至邬波尼杀昙分亦不及一。 + +“诸天当知!且置是事。假使十方殑伽沙数三千大千世界有情,皆发无上正等觉心,普于过去未来现在一切如来、应、正等觉所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴及余无量无边佛法,若诸弟子所有善根,若余有情已集当集现集善根,如是一切合集称量,以有相有所得为方便,现前随喜回向无上正等菩提。若菩萨乘善男子等,发趣无上正等菩提,普于过去未来现在一切如来、应、正等觉所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴及余无量无边佛法,若诸弟子所有善根,若余有情已集当集现集善根,如是一切合集称量,现前发起最尊最胜、最上最妙、不可思议、不可称量、无上、无等随喜俱行诸福业事。复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提,如是所起随喜回向,于前所起随喜回向,百倍为胜,千倍为胜,乃至邬波尼杀昙倍亦复为胜。所以者何?如是所起随喜回向,无相、无得而为方便,彼前所起随喜回向,有相、有得为方便故。” + +#7 戊二 论 + +殊勝遍迴向 其作用最勝 無所得行相 不顛倒體性 + +遠離佛福品 自性念行境 有方便無相 諸佛所隨喜 + +不繫於三界 下中及上品 是餘三迴向 生大福為性 + +#6 丁九 经论说随喜作意 + +#7 戊一 经 + +尔时,善现便白佛言:“如世尊说,若菩萨乘善男子等发趣无上正等菩提,普于过去未来现在一切如来、应、正等觉及弟子等功德善根,如是一切合集称量,现前发起最尊最胜、最上最妙、不可思议、不可称量、无上、无等随喜俱行诸福业事。复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提,如是所起随喜回向,胜前所起随喜回向乃至邬波尼杀昙倍。世尊!齐何说后所起随喜回向,胜前所起随喜回向,乃至邬波尼杀昙倍?” + +佛告善现:“是菩萨乘善男子等,于三世法不取、不舍、不矜、不蔑,非有所得、非无所得,无所分别、无异分别,无所观见、无随观见,观如是法皆是分别之所积集,达一切法无生无灭、无去无来、无集无散、无入无出:‘此中无法已当现生,亦无有法已当现灭,我应如法真如、法界,以无所得而为方便,发生随喜回向无上正等菩提。’善现当知!齐此所起随喜回向,胜前所起有所得想、有所得见随喜回向,乃至邬波尼杀昙倍。 + +“复次,善现!住菩萨乘善男子等,欲于过去未来现在诸佛世尊及弟子等,布施、净戒、安忍、精进、静虑、般若波罗蜜多相应善根,发生无倒随喜回向,应作是念:‘如真解脱,布施亦尔;如真解脱,净戒亦尔;如真解脱,安忍亦尔;如真解脱,精进亦尔;如真解脱,静虑亦尔;如真解脱,般若亦尔;如真解脱,戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴亦尔;如真解脱,随喜亦尔;如真解脱,随喜俱行诸福业事亦尔;如真解脱,诸佛世尊独觉亦尔;如真解脱,已般涅槃声闻亦尔;如真解脱,过去已灭诸法亦尔;如真解脱,未来未生诸法亦尔;如真解脱,现在现转诸法亦尔;如真解脱,过去诸佛弟子亦尔;如真解脱,未来诸佛弟子亦尔;如真解脱,现在十方无量、无数、无边世界诸佛世尊弟子亦尔;如真解脱,一切功德善根亦尔;如诸法性无缚无解、无染无净、无起无尽、无生无灭、无取无舍。我于如是功德善根现前随喜,持此善根与诸有情平等共有,以无移转及无失坏、无相、无得而为方便,回向无上正等菩提。如是随喜回向,非能随喜回向,无所随喜所回向故。如是所起随喜回向非转、非息,无生灭故。’善现当知!是菩萨乘善男子等,所起无倒随喜回向,胜前所起有相有得随喜回向乃至邬波尼杀昙倍。若菩萨摩诃萨成就如是随喜回向,疾证无上正等菩提。 + +“复次,善现!假使十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提,方便善巧修菩萨行。复有十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提。此诸菩萨,一一于彼诸菩萨众,皆持上妙衣服、饮食、卧具、医药及无量种上妙乐具,经如殑伽沙等大劫,以有所得而为方便,供养恭敬、尊重赞叹。 + +“若菩萨摩诃萨甚深般若波罗蜜多方便善巧所摄受故,普于过去未来现在诸佛世尊所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸独觉所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸声闻所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若余有情施、戒、修性三福业事,如是一切合集称量,现前发起最尊最胜、最上最妙、不可思议、不可称量、无上、无等随喜俱行诸福业事。复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提。善现当知!如是菩萨随喜回向诸福业事,胜前所说诸菩萨众以有所得而为方便布施俱行诸福业事百倍、千倍乃至邬波尼杀昙倍。所以者何?彼诸菩萨布施俱行诸福业事,以有所得而为方便,如是菩萨随喜回向,以无所得为方便故。 + +“复次,善现!且置十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提,诸菩萨众以有所得而为方便布施俱行诸福业事。假使十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提,是诸菩萨各住殑伽沙数大劫,修身妙行,修语妙行,修意妙行,以有所得而为方便受持净戒。 + +“若菩萨摩诃萨甚深般若波罗蜜多方便善巧所摄受故,普于过去未来现在诸佛世尊所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸独觉所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸声闻所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若余有情施、戒、修性三福业事,如是一切合集称量,现前发起最尊最胜、最上最妙、不可思议、不可称量、无上、无等随喜俱行诸福业事。复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提。善现当知!如是菩萨随喜回向诸福业事,胜前所说诸菩萨众以有所得而为方便净戒俱行诸福业事百倍、千倍乃至邬波尼杀昙倍。所以者何?彼诸菩萨净戒俱行诸福业事,以有所得而为方便,如是菩萨随喜回向,以无所得为方便故。 + +“复次,善现!且置十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提,诸菩萨众以有所得而为方便净戒俱行诸福业事。假使十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提,是诸菩萨各住殑伽沙数大劫,恒为十方殑伽沙数三千大千世界有情呵毁、凌辱、刀杖加害,以有所得而为方便受行安忍。 + +“若菩萨摩诃萨甚深般若波罗蜜多方便善巧所摄受故,普于过去未来现在诸佛世尊所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸独觉所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸声闻所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若余有情施、戒、修性三福业事,如是一切合集称量,现前发起最尊最胜、最上最妙、不可思议、不可称量、无上、无等随喜俱行诸福业事。复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提。善现当知!如是菩萨随喜回向诸福业事,胜前所说诸菩萨众以有所得而为方便安忍俱行诸福业事百倍、千倍乃至邬波尼杀昙倍。所以者何?彼诸菩萨安忍俱行诸福业事,以有所得而为方便,如是菩萨随喜回向,以无所得为方便故。 + +“复次,善现!且置十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提,诸菩萨众以有所得而为方便安忍俱行诸福业事。假使十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提,是诸菩萨各住殑伽沙数大劫,不坐不卧恒不睡眠,以有所得而为方便受行精进。 + +“若菩萨摩诃萨甚深般若波罗蜜多方便善巧所摄受故,普于过去未来现在诸佛世尊所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸独觉所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸声闻所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若余有情施、戒、修性三福业事,如是一切合集称量,现前发起最尊最胜、最上最妙、不可思议、不可称量、无上、无等随喜俱行诸福业事。复持如是随喜俱行诸福业事,与诸有情平等共有,回向无上正等菩提。善现当知!如是菩萨随喜回向诸福业事,胜前所说诸菩萨众以有所得而为方便精进俱行诸福业事百倍、千倍乃至邬波尼杀昙倍。所以者何?彼诸菩萨精进俱行诸福业事,以有所得而为方便,如是菩萨随喜回向,以无所得为方便故。 + +“复次,善现!且置十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提,诸菩萨众以有所得而为方便精进俱行诸福业事。假使十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提,是诸菩萨各住殑伽沙数大劫,离诸散动心住一缘,以有所得而为方便受行静虑。 + +“若菩萨摩诃萨甚深般若波罗蜜多方便善巧所摄受故,普于过去未来现在诸佛世尊所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸独觉所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸声闻所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若余有情施、戒、修性三福业事,如是一切合集称量,现前发起最尊最胜、最上最妙、不可思议、不可称量、无上、无等随喜俱行诸福业事。复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提。善现当知!如是菩萨随喜回向诸福业事,胜前所说诸菩萨众以有所得而为方便静虑俱行诸福业事百倍、千倍乃至邬波尼杀昙倍。所以者何?彼诸菩萨静虑俱行诸福业事,以有所得而为方便,如是菩萨随喜回向,以无所得为方便故。 + +“复次,善现!且置十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提,诸菩萨众以有所得而为方便静虑俱行诸福业事。假使十方殑伽沙数三千大千世界有情,皆发无上正等觉心,发趣无上正等菩提,是诸菩萨各住殑伽沙数大劫,思惟观察诸法性相,以有所得而为方便,受行般若及余善根。 + +“若菩萨摩诃萨甚深般若波罗蜜多方便善巧所摄受故,普于过去未来现在诸佛世尊所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸独觉所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若诸声闻所有戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,若余有情施、戒、修性三福业事,如是一切合集称量,现前发起最尊最胜、最上最妙、不可思议、不可称量、无上、无等随喜俱行诸福业事。复持如是随喜俱行诸福业事,与诸有情平等共有回向无上正等菩提。善现当知!如是菩萨随喜回向诸福业事,胜前所说诸菩萨众以有所得而为方便般若及余善根俱行诸福业事百倍、千倍乃至邬波尼杀昙倍。所以者何?彼诸菩萨般若及余善根俱行诸福业事,以有所得而为方便,如是菩萨随喜回向,以无所得为方便故。” + +#7 戊二 论 + +由方便無得 隨喜諸善根 是此中所說 修隨喜作意 + +#6 丁十 经论说引发修道 + +#7 戊一 经 + +#8 己一 引发修道之自性 + +第四分地狱品第七 + +尔时,舍利子白佛言:“世尊!甚深般若波罗蜜多,当知即是一切智性,善能成办一切智智。” + +尔时,佛告舍利子言:“如是!如是!如汝所说。” + +时,舍利子复白佛言:“甚深般若波罗蜜多能作照明皆应敬礼,世间诸法不能染污,能遣昏翳能发光明,能施利安恒为上首,与诸盲者作净眼目,与涉闇徒作明灯炬,引失道者令入正路,显诸法性即萨婆若,示一切法无灭无生,是诸菩萨摩诃萨母,无依护者为作依护,能除一切生死苦恼,开示诸法无性为性,能令诸佛具转三转、十二行相无上法轮。 + +#8 己二 引发修道之殊胜 + +世尊!诸菩萨摩诃萨于深般若波罗蜜多应云何住?” + +尔时,佛告舍利子言:“诸菩萨摩诃萨于深般若波罗蜜多应如佛住,思惟敬事甚深般若波罗蜜多,应如思惟敬事于佛。” + +时,天帝释窃作是念:“今舍利子何因何缘问佛斯事?” + +念已便问舍利子言:“以何因缘而作是问?” + +时,舍利子告帝释言:“前佛世尊说诸菩萨摩诃萨众甚深般若波罗蜜多方便善巧所摄受故,所起随喜回向俱行诸福业事,疾能证得一切智智,胜有所得诸菩萨等布施、净戒、安忍、精进、静虑、般若及余善根。由此因缘,故问斯事。 + +“憍尸迦!如生盲众若百若千,无净眼者方便引导,近尚不能趣入正道,况能远达丰乐大城!如是前五波罗蜜多诸生盲众,若无般若波罗蜜多净眼者导,尚不能趣菩萨正道,况能证入萨婆若城!憍尸迦!布施等五波罗蜜多,要由般若波罗蜜多,名有目者。复由般若波罗蜜多之所摄受,名到彼岸。” + +#8 己三 引发修道之行相 + +时,舍利子复白佛言:“云何菩萨摩诃萨引发般若波罗蜜多?” + +佛告舍利子:“诸菩萨摩诃萨引发般若波罗蜜多,如引发色、受、想、行、识。舍利子!如五取蕴不应引发,甚深般若波罗蜜多应知亦尔。舍利子!如五取蕴不引发故说名引发,甚深般若波罗蜜多亦复如是,不引发故说名引发。” + +#8 己四 引发修道安立于诸法不可得之慧 + +时,舍利子复白佛言:“诸菩萨摩诃萨如是引发甚深般若波罗蜜多,为成何法?” + +佛告舍利子:“诸菩萨摩诃萨如是引发甚深般若波罗蜜多,于一切法都无所成,于一切法无所成故,乃名般若波罗蜜多。” + +时,天帝释便白佛言:“甚深般若波罗蜜多岂不能成一切智智?” + +尔时,佛告天帝释言:“如是!如是!如汝所说。甚深般若波罗蜜多亦不能成一切智智。何以故?憍尸迦!如有所得不能成故,如有名想不能成故,如有起造不能成故。” + +时,天帝释复白佛言:“甚深般若波罗蜜多云何说成一切智智?” + +尔时,佛告天帝释言:“甚深般若波罗蜜多于所引发一切智智无所成故说名为成。” + +时,天帝释复白佛言:“甚奇!世尊!希有!善逝!甚深般若波罗蜜多不为生灭一切法故出现世间,不为成坏一切法故出现世间,而与世间作大饶益。” + +尔时,具寿善现便白佛言:“世尊!若菩萨摩诃萨起如是想:‘甚深般若波罗蜜多,于一切法若生若灭、若成若坏。’是菩萨摩诃萨即便舍远甚深般若波罗蜜多。” + +佛告善现:“如是!如是!复有因缘,诸菩萨摩诃萨舍远如是甚深般若波罗蜜多,谓起是想:‘甚深般若波罗蜜多,无所有、非真实,不坚固、不自在。’是菩萨摩诃萨即便舍远甚深般若波罗蜜多。所以者何?甚深般若波罗蜜多非有非无、非虚非实、非坚固非不坚固、非自在非不自在,于一切法无分别故。” + +具寿善现复白佛言:“佛说如是甚深般若波罗蜜多为显何法?” + +佛告善现:“我说如是甚深般若波罗蜜多都无所显。所以者何?于此般若波罗蜜多甚深教中,不显示色,亦不显示受、想、行、识,不显示预流果,亦不显示一来、不还、阿罗汉果、独觉菩提,亦不显示一切菩萨摩诃萨行、诸佛无上正等菩提。” + +#8 己五 引发修道有大义利 + +具寿善现复白佛言:“甚深般若波罗蜜多即是广大波罗蜜多。” + +佛告善现:“汝缘何意作如是说:甚深般若波罗蜜多即是广大波罗蜜多?” + +善现答言:“甚深般若波罗蜜多于色不作大、不作小,于受、想、行、识亦不作大、不作小;于色不作集、不作散,于受、想、行、识亦不作集、不作散;于色不作有力、不作无力,于受、想、行、识亦不作有力、不作无力。如是乃至于诸如来、应、正等觉不作大、不作小,于佛所得一切智智亦不作大、不作小;于诸如来、应、正等觉不作集、不作散,于佛所得一切智智亦不作集、不作散;于诸如来、应、正等觉不作有力、不作无力,于佛所得一切智智亦不作有力、不作无力。所以者何?五蕴乃至一切智智非大非小、非集非散、非有力非无力,以一切法自性空故。若菩萨摩诃萨起如是想,非行般若波罗蜜多。所以者何?如是诸想非深般若波罗蜜多等流果故。 + +“甚深般若波罗蜜多无如是想:‘我当度脱若干有情入无余依般涅槃界。’若有此想,是则名为大有所得,非有所得能有所办。所以者何?有情无生故,当知般若波罗蜜多亦无生;有情无自性故,当知般若波罗蜜多亦无自性;有情远离故,当知般若波罗蜜多亦远离;有情不可思议故,当知般若波罗蜜多亦不可思议;有情无坏法故,当知般若波罗蜜多亦无坏法;有情无觉知故,当知般若波罗蜜多亦无觉知;有情如义无证觉故,当知般若波罗蜜多如义亦无证觉;有情力不成就故,当知般若波罗蜜多力亦不成就。 + +“世尊!我缘此意故作是说:甚深般若波罗蜜多即是广大波罗蜜多。所以者何?甚深般若波罗蜜多办大事故。” + +#7 戊二 论 + +此自性殊勝 一切無作行 立法不可得 是大義利性 + +#6 丁十一 经论说清净修道 + +#7 戊一 经 + +#8 己一 清净修道生起之顺缘 + +尔时,舍利子白佛言:“世尊!若菩萨摩诃萨于深般若波罗蜜多能深信解,无疑、无惑亦不迷谬,是菩萨摩诃萨从何处没来生此间?行深般若波罗蜜多已经几时,于深法义能随觉了?” + +佛告舍利子:“是菩萨摩诃萨从十方界所事诸佛法会中没来生此间,是菩萨摩诃萨行深般若波罗蜜多已经无量无数大劫,于深法义能随觉了。所以者何?若菩萨摩诃萨从他方界所事诸佛法会中没来生此者,是菩萨摩诃萨已多亲近诸佛世尊,曾问此中甚深法义,于深般若波罗蜜多若见若闻,便作是念:‘我今见佛,闻佛所说。’由此因缘,若闻宣说甚深般若波罗蜜多,属耳听闻恭敬信受,于深法义断诸疑惑。舍利子!是菩萨摩诃萨已曾供养无量诸佛,行深般若波罗蜜多已经多劫,故于今生能办是事。” + +尔时,善现便白佛言:“甚深般若波罗蜜多为可听闻,为可观察,为可引发,为可忆念,为可示现是此是彼,为可显了处、时差别,为可宣说诸行、状、相,显示般若波罗蜜多甚深义不?” + +佛言:“不也!善现当知!甚深般若波罗蜜多非蕴、界、处自性差别可能显示。所以者何?以一切法毕竟远离,非远离法可能显示甚深般若波罗蜜多。善现当知!甚深般若波罗蜜多离蕴、界、处亦不能觉。所以者何?即蕴、界、处能觉诸法毕竟远离,说名般若波罗蜜多,是故般若波罗蜜多与蕴、界、处无二无别。善现当知!即一切法毕竟空故、性远离故、永寂静故名不可得,即不可得说名般若波罗蜜多。善现当知!若时无想亦无等想施设言说,是时名为甚深般若波罗蜜多。” + +具寿善现复白佛言:“诸菩萨摩诃萨积行久如,能勤修学甚深般若波罗蜜多?” + +佛告善现:“此应分别,以诸菩萨根差别故。善现当知!有菩萨摩诃萨从初发心,遇真善友方便摄受,即能修学甚深般若波罗蜜多。是菩萨摩诃萨有方便善巧故,不谤正法,不见诸法有增有减,常不远离菩萨正行,常不远离诸佛、菩萨,恒种善根身心清净,严净佛土、成熟有情,疾能证得一切智智。 + +#8 己二 清净修道生起之违缘 + +“有菩萨乘善男子等虽曾得见多百千佛,于诸佛所修行梵行,而有所得为方便故,不能修学甚深般若波罗蜜多,闻说如是甚深般若波罗蜜多,不生信解即便舍去。所以者何?是菩萨乘善男子等,过去佛所曾闻宣说甚深般若波罗蜜多不生恭敬,不恭敬故不数听闻,不数闻故不能亲近,不亲近故不能请问,不请问故不能信解,不信解故舍众而去。由此因缘,造作增长匮正法业,由宿习力,今闻说此甚深般若波罗蜜多还复舍去,不生恭敬不能信受,不信受故若身若心皆不和合,不和合故于此般若波罗蜜多甚深义趣不能解了。彼于般若波罗蜜多甚深义趣不能信受、不能听闻、不能解了、不能观察,造作增长匮正法业,由此业故造作增长恶慧罪业,由此业故闻深般若波罗蜜多毁谤厌舍。 + +“善现当知!是菩萨乘善男子等,毁谤厌舍甚深般若波罗蜜多,当知即为毁谤厌舍三世诸佛一切智智。由此因缘,造作增长极重恶业,由此业故堕大地狱,经历多时受诸剧苦,谓彼宿习重恶业故,觉慧善根皆悉微劣,薄福德故,自损损他,于佛、法、僧虽成少分信受乐欲,而愚痴故不能思择正法浅深。自于大乘毁谤、厌舍,亦令新学正法有情于大乘教毁谤、厌舍,言:‘深般若波罗蜜多非真佛语,不应修学。’彼既令他毁谤般若,自于般若亦深毁谤。彼既毁谤甚深般若,于萨婆若亦深毁谤。由深毁谤萨婆若力,于佛、法、僧亦深毁谤,因斯造作极重恶业。由此恶业增长因缘,堕大地狱受诸剧苦,多百千岁不得解脱。 + +“彼罪重故,于此世界从一大地狱至一大地狱,乃至火劫、水劫、风劫未起已来受诸剧苦。若此世界火、水、风劫随一起时,彼重恶业犹未尽故,死已转生他方世界,与此同类大地狱中多百千岁受诸剧苦。彼罪重故,于他方界从一大地狱至一大地狱,乃至火劫、水劫、风劫未起已来受诸剧苦。若他方界火、水、风劫随一起时,彼重恶业犹未尽故,死已转生余他方界,与此同类大地狱中多百千岁受诸剧苦。彼罪重故,于余方界从一大地狱至一大地狱,乃至火劫、水劫、风劫未起已来受诸剧苦,如是展转遍历十方大地狱中受诸剧苦。若彼诸余十方世界火劫、水劫、风劫起时,彼重恶业犹未尽故,死已还生此堪忍界大地狱中,从一大地狱至一大地狱,乃至火劫、水劫、风劫未起已来受诸剧苦。若此世界火、水、风劫随一起时,彼重恶业犹未尽故,死已复生他余世界,遍历十方大地狱中受诸剧苦。 + +“如是轮回经无数劫,彼谤法罪业势稍微,从地狱出堕傍生趣,如前展转自界、他方,多劫轮回受种种苦。彼谤法罪业势稍薄,免傍生趣堕鬼趣中,此界、他方轮回展转受种种苦经无数劫。彼谤法业余势将尽,出饿鬼趣来生人中,虽得为人而居下贱,盲聋、喑哑、多病、贫穷、丑陋、顽愚、人皆轻诮,随所生处少乐多苦,尝不闻有佛、法、僧名。所以者何?彼语恶业谤三宝故,受如是类圆满苦果。” + +尔时,舍利子白佛言:“世尊!毁谤法罪与无间业,此二恶行为相似不?” + +尔时,佛告舍利子言:“勿谓此罪似无间业。所以者何?五无间业虽感重苦,而不可比毁谤正法,谓彼闻说甚深般若波罗蜜多,毁谤拒逆言:‘此般若波罗蜜多非真佛语,不应修学,非法、非律、非大师教。’由此因缘其罪极重。 + +“舍利子!是谤法人自谤正法亦教他谤,自坏其身亦令他坏,自饮毒药亦令他饮,自失生天解脱乐果亦令他失,自持其身足地狱火亦令他足,自不信解甚深般若波罗蜜多亦教他人令不信解,迷谬颠倒自沈苦海亦令他溺。舍利子!我于如是甚深般若波罗蜜多,尚不欲令谤正法者闻其名字,况为彼说!舍利子!谤正法者,我尚不听住菩萨乘善男子等闻其名字,况当眼见!岂许共住?舍利子!谤正法者,我尚不听被服袈裟,况受供养!何以故?舍利子!诸有毁谤甚深般若波罗蜜多,当知彼名坏正法者,堕黑闇类如秽蜗螺,自污污他如烂粪聚。诸有信用坏法者言,亦受如前所说大苦。” + +时,舍利子复白佛言:“何缘如来不说如是坏正法者当堕恶趣所受形貌、身量大小?” + +佛告舍利子:“止!不应说坏正法者当来所受形貌、身量。所以者何?我若具说彼趣形量,彼闻惊怖当吐热血,便致命终或近死苦,心顿忧恼如中毒箭,身渐枯悴如被截苗。恐彼闻说谤正法者,当受如是大丑苦身,徒自惊惶丧失身命,我愍彼故不为汝说。” + +时,舍利子第二、第三重请如来说彼形量,明诫后世,令知谤法获大苦身不造斯罪。 + +尔时,佛告舍利子言:“我前所说坏正法罪受恶趣苦,足为明诫。当来自类善男子等,闻我前说谤法罪报,宁舍身命终不谤法,勿我未来当受斯苦。” + +尔时,善现便白佛言:“诸有聪明善男子等,闻佛所说谤正法人于当来世久受大苦,应善护持身、语、意业。所以者何?勿我由此语恶业故,恶趣人中长时受苦。世尊!造作增长坏正法业,岂不由习诸恶业耶?” + +佛告善现:“如是!如是!于我正法毗奈耶中,当有愚痴诸出家者,彼虽称我为其大师,而于我说甚深般若波罗蜜多毁谤、拒逆。善现当知!若有毁谤甚深般若,则为毁谤无上菩提。若有毁谤无上菩提,则为毁谤一切智智。若有毁谤一切智智,则为毁谤佛、法、僧宝。若有毁谤佛、法、僧宝,则便摄受无边罪业。若有摄受无边罪业,则便摄受无边苦报。” + +具寿善现复白佛言:“彼愚痴人几因缘故,毁谤如是甚深般若波罗蜜多?” + +佛告善现:“由四因缘。何等为四?一者、为诸邪魔所扇惑故。二者、于甚深法不信解故。三者、不勤精进耽着五蕴,诸恶知识所摄受故。四者、多怀瞋恚乐行恶法,好自高举轻凌他故。彼愚痴人由具如是四因缘故,毁谤般若波罗蜜多,由此当来受诸剧苦。” + +大般若波罗蜜多经卷第五百四十四 + +大般若波罗蜜多经卷第五百四十五 + +三藏法师玄奘奉 诏译 + +第四分清净品第八 + +尔时,具寿善现复白佛言:“世尊!诸愚痴人不勤精进,具诸恶行薄少善根,暗钝无求少闻劣慧,为恶知识之所摄受,不事善友,不乐请问于诸胜善,不勤修学,闻佛所说甚深般若波罗蜜多实难信解。” + +佛告善现:“如是!如是!如汝所说。” + +尔时,善现复白佛言:“如是般若波罗蜜多云何甚深难信难解?” + +佛告善现:“色非缚非解。何以故?色以无性为自性故。受、想、行、识非缚非解。何以故?受、想、行、识以无性为自性故。 + +“复次,善现!色前际非缚非解。何以故?色前际以无性为自性故。色后际非缚非解。何以故?色后际以无性为自性故。色中际非缚非解。何以故?色中际以无性为自性故。受、想、行、识前际非缚非解。何以故?受、想、行、识前际以无性为自性故。受、想、行、识后际非缚非解。何以故?受、想、行、识后际以无性为自性故。受、想、行、识中际非缚非解。何以故?受、想、行、识中际以无性为自性故。” + +具寿善现复白佛言:“甚深般若波罗蜜多甚难信解!甚深般若波罗蜜多极难信解!” + +佛告善现:“如是!如是!如汝所说。 + +#8 己三 清净修道之境 + +所以者何?善现!色清净即果清净,果清净即色清净。何以故?是色清净与果清净无二、无二分、无别、无断故。受、想、行、识清净即果清净,果清净即受、想、行、识清净。何以故?是受、想、行、识清净与果清净无二、无二分、无别、无断故。 + +#8 己四 清净修道之果 + +“复次,善现!色清净即一切智清净,一切智清净即色清净。何以故?是色清净与一切智清净无二、无二分、无别、无断故。受、想、行、识清净即一切智清净,一切智清净即受、想、行、识清净。何以故?是受、想、行、识清净与一切智清净无二、无二分、无别、无断故。” + +#8 己五 清净之等差 + +尔时,舍利子白佛言:“世尊!如是般若波罗蜜多最为甚深。” + +佛言:“如是!极清净故。” + +舍利子言:“如是般若波罗蜜多甚能照了。” + +佛言:“如是!极清净故。” + +舍利子言:“如是般若波罗蜜多是大光明。” + +佛言:“如是!极清净故。” + +舍利子言:“如是般若波罗蜜多永不相续。” + +佛言:“如是!极清净故。” + +舍利子言:“如是般若波罗蜜多本无杂染。” + +佛言:“如是!极清净故。” + +舍利子言:“如是般若波罗蜜多无得、无现观。” + +佛言:“如是!极清净故。” + +舍利子言:“如是般若波罗蜜多无所生起。” + +佛言:“如是!极清净故。” + +舍利子言:“如是般若波罗蜜多毕竟不生。” + +佛言:“如是!极清净故。” + +#8 已六 余义抉择 + +舍利子言:“如是般若波罗蜜多不生欲界、不生色界、不生无色界。” + +佛言:“如是!极清净故。” + +舍利子言:“如是般若波罗蜜多无知无解。” + +佛言:“如是!极清净故。” + +舍利子言:“如是般若波罗蜜多于何等法无知无解?” + +佛言:“于色无知无解。何以故?极清净故。于受、想、行、识无知无解。何以故?极清净故。” + +舍利子言:“如是般若波罗蜜多于萨婆若无损无益。” + +佛言:“如是!极清净故。” + +舍利子言:“如是般若波罗蜜多于一切法无取无舍。” + +佛言:“如是!极清净故。” + +尔时,善现亦白佛言:“我清净故色清净。” + +佛言:“如是!毕竟净故。” + +善现复言:“我清净故受、想、行、识清净。” + +佛言:“如是!毕竟净故。” + +善现复言:“我清净故果清净。” + +佛言:“如是!毕竟净故。” + +善现复言:“我清净故一切智清净。” + +佛言:“如是!毕竟净故。” + +善现复言:“我清净故无得、无现观。” + +佛言:“如是!毕竟净故。” + +善现复言:“我无边故色无边。” + +佛言:“如是!毕竟净故。” + +善现复言:“我无边故受、想、行、识无边。” + +佛言:“如是!毕竟净故。” + +善现复言:“若菩萨摩诃萨能如是觉,是为般若波罗蜜多。” + +佛言:“如是!毕竟净故。” + +#7 戊二 论 + +#8 己一 清净修道之顺缘与违缘 + +依佛及施等 善巧諸方便 此是勝解因 諸法衰損因 + +謂魔所魅著 不信解深法 執著五蘊等 惡友所攝持 + +#8 己二 清净修道之境 + +果法清淨性 即色等清淨 以彼二無異 不可分故淨 + +#8 己三 清净修道之果 + +惑所知三道 斷故為弟子 麟喻佛子淨 佛一切最淨 + +#8 己四 清净修道之等差 + +#9 庚一 正说 + +對治九地中 上上等諸垢 謂由下下等 諸道能清淨 + +#9 庚二 断诤 + +由斷諍門中 道能量所量 由是平等性 遍對治三界 + +#5 丙三 经论说一切智 + +#6 丁一 不住三有与不滞涅槃之一切智 + +#7 戊一 经 + +善现复言:“如是般若波罗蜜多非此岸、非彼岸、非住中间。” + +佛言:“如是!毕竟净故。” + +#7 戊二 论 + +非此岸彼岸 不住其中間 知三世平等 故名般若度 + +#6 丁二 远离般若波罗蜜多之一切智与邻近般若波罗蜜多之一切智 + +#7 戊一 经 + +善现复言:“若菩萨摩诃萨起如是想,弃舍般若波罗蜜多,远离般若波罗蜜多。” + +佛告善现:“如是!如是!所以者何?是菩萨摩诃萨著名著相。” + +具寿善现便白佛言:“甚奇!世尊!希有!善逝!善为菩萨摩诃萨众,于深般若波罗蜜多,开示分别究竟著相。” + +#7 戊二 论 + +彼由緣相門 非方便故遠 由善巧方便 即說為鄰近 + +#6 丁三 所治品之一切智 + +#7 戊一 经 + +时,舍利子问善现言:“云何菩萨摩诃萨于深般若波罗蜜多所起著相?” + +善现答言:“若菩萨摩诃萨于色谓空起空想着,于受、想、行、识谓空起空想着,于过去法谓过去法起过去法想着,于未来法谓未来法起未来法想着,于现在法谓现在法起现在法想着,谓菩萨乘善男子等,初发心时生如是福,亦名著相。” + +时,天帝释问善现言:“何缘如是名为著相?” + +善现答言:“若谓此是大菩提心,若执此是初菩提心,回向无上正等菩提,是名著相。憍尸迦!心本性空不可回向。住菩萨乘善男子等,若作是执:我趣大乘。诸如是等皆名著相。 + +#7 戊二 论 + +色蘊等空性 三世所繫法 施等菩提分 行想所治品 + +#6 丁四 能治品之一切智 + +#7 戊一 经 + +是故菩萨摩诃萨众欲于无上正等菩提,示现、劝导、赞励、庆喜发趣大乘诸有情者,应随实相示现、劝导、赞励、庆喜。彼诸有情若能如是示现、劝导、赞励、庆喜他有情者,于自无损亦不损他,是诸如来所应许可。憍尸迦!安住大乘善男子等,若能如是示现、劝导、赞励、庆喜趣菩萨乘诸有情者,便能远离一切执着。” + +尔时,世尊赞善现曰:“善哉!善哉!汝今善能为诸菩萨说执著相,令诸菩萨觉知远离。复有此余微细执着当为汝说,汝应谛听!极善作意。” + +善现白言:“唯然!愿说!我等乐闻。” + +佛告善现:“安住大乘善男子等,欲趣无上正等菩提,于诸如来、应、正等觉,以净信心取相忆念,随所取相皆名执着。所以者何?诸取相者名执着故。若于过去未来现在一切如来、应、正等觉诸无漏法深生随喜,复持如是随喜善根,与诸有情平等共有回向无上正等菩提,亦名执着。所以者何?诸法实性非过去非未来非现在,远离三世。非离三世可能回向,离三世法不可取相、不可攀缘亦无见闻觉知事故。” + +具寿善现便白佛言:“诸法实性最为甚深。” + +佛言:“如是!本性离故。” + +善现复言:“如是般若波罗蜜多本性甚深。” + +佛言:“如是!本性净故。” + +善现复言:“如是般若波罗蜜多本性清净。” + +佛言:“如是!本性离故。” + +善现复言:“如是般若波罗蜜多皆应敬礼。” + +佛言:“如是!以一切法本性离故。善现当知!若一切法本性远离,即是般若波罗蜜多。所以者何?如来证觉诸法实性无造无作。” + +善现复言:“是故如来、应、正等觉于一切法无所证故名现等觉。” + +佛言:“如是!以一切法一性非二。善现当知!诸法一性即是无性,诸法无性即是一性,如是诸法一性、无性是本实性,此本实性即是一相,所谓无相。是故,善现!一切如来、应、正等觉于一切法无所证故名现等觉。所以者何?诸法本性唯一无二。善现当知!诸法本性即非本性,此非本性即是本性,能如是知即能远离一切执着。” + +善现复言:“如是般若波罗蜜多难可觉知。” + +佛言:“如是!无知者故。” + +善现复言:“如是般若波罗蜜多不可思议。” + +佛言:“如是!非一切心所了知故。” + +善现复言:“如是般若波罗蜜多无所造作。” + +佛言:“如是!以诸作者不可得故。” + +#7 戊二 论 + +#8 己一 正释能治品之一切智 + +施等無我執 於此令他行 此滅貪著邊 + +#8 己二 果上相执所治 + +執佛等微細 + +#8 己三 果上相执之能治 + +#9 庚一 是所治品之理 + +法道最甚深 自性遠離故 + +#9 庚二 正对治 + +知諸法性一 故能斷貪著 + +#9 庚三 傍义 + +由遣除見等 故說難通達 色等不可知 故為不思議 + +#8 己四 结 + +如是一切智 所治能治品 無餘諸差別 當知如經說 + +#6 丁五 经论说一切智加行 + +#7 戊一 经 + +尔时,具寿善现复白佛言:“世尊!云何菩萨摩诃萨应行般若波罗蜜多?” + +佛告善现:“诸菩萨摩诃萨若不行色,是行般若波罗蜜多;若不行受、想、行、识,是行般若波罗蜜多。复次,善现!诸菩萨摩诃萨若不行色空,是行般若波罗蜜多;若不行受、想、行、识空,是行般若波罗蜜多。复次,善现!诸菩萨摩诃萨若不行色不圆满相,是行般若波罗蜜多;若不行受、想、行、识不圆满相,是行般若波罗蜜多。所以者何?色不圆满即非色,受、想、行、识不圆满即非受、想、行、识,若不如是行,是行般若波罗蜜多。” + +尔时,善现便白佛言:“希有!世尊!甚奇!善逝!于诸着中说无著相。” + +佛告善现:“诸菩萨摩诃萨若不行色无所著相,是行般若波罗蜜多;若不行受、想、行、识无所著相,是行般若波罗蜜多。善现当知!诸菩萨摩诃萨若能如是行深般若波罗蜜多,于色不生着,于受、想、行、识不生着;于预流果不生着,于一来、不还、阿罗汉果不生着;于独觉菩提不生着;于佛无上正等菩提不生着;于萨婆若亦不生着。所以者何?无著无缚超过一切,名萨婆若。如是,善现!诸菩萨摩诃萨超一切着行深般若波罗蜜多。” + +具寿善现便白佛言:“希有!世尊!甚奇!善逝!如是般若波罗蜜多所证法性最为甚深,若说不说俱无增减。” + +佛告善现:“如是!如是!如汝所说。譬如虚空,假使诸佛尽其寿量或赞或毁,而彼虚空无增无减,甚深法性亦复如是,若说、不说俱无增减。复次,善现!譬如幻士,于赞毁时无喜无忧、不增不减,甚深法性亦复如是,若说、不说如本无异。” + +具寿善现复白佛言:“诸菩萨摩诃萨行深般若波罗蜜多甚为难事,谓深般若波罗蜜多若修不修无增无减、无进无退。诸菩萨摩诃萨修行般若波罗蜜多,如修虚空都无所有,谓于此中无法可得而勤修学,乃至无上正等菩提常无退转。 + +“世尊!诸菩萨摩诃萨我等有情皆应敬礼,能被如是大功德铠。所以者何?诸菩萨摩诃萨为度有情被功德铠,譬如欲与虚空战诤被坚固铠。世尊!诸菩萨摩诃萨为度有情被功德铠,如勇健者欲拔虚空置高胜处。世尊!诸菩萨摩诃萨甚为勇猛被功德铠,为如虚空、法界、法性诸有情故,欲趣无上正等菩提。世尊!诸菩萨摩诃萨得大精进波罗蜜多,为如虚空一切法故被功德铠。世尊!诸菩萨摩诃萨甚为希有,为如虚空诸有情类,脱如虚空生死苦故,得如虚空涅槃乐故,被功德铠。” + +尔时,会中有一苾刍向佛合掌白言:“世尊!我应敬礼甚深般若波罗蜜多,谓此般若波罗蜜多无法可生、无法可灭。” + +时,天帝释问善现言:“若菩萨摩诃萨欲学般若波罗蜜多,当如何学?” + +善现答言:“若菩萨摩诃萨欲学般若波罗蜜多,当如虚空精勤修学。” + +时,天帝释便白佛言:“若善男子、善女人等于深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,我当守护令无损恼。” + +尔时,善现告帝释言:“汝见有法可守护不?” + +天帝释言:“不也!大德!我不见法是可守护。” + +善现告言:“若菩萨摩诃萨如深般若波罗蜜多所说而住,即为守护。若离般若波罗蜜多,人非人等欲为损恼即得其便。憍尸迦!若欲守护行深般若波罗蜜多诸菩萨者,不异有人发勤精进守护虚空。若欲守护行深般若波罗蜜多诸菩萨者,唐设劬劳都无所益。憍尸迦!于意云何?有能守护谷响等不?” + +天帝释言:“不也!大德!” + +善现告言:“憍尸迦!若欲守护行深般若波罗蜜多诸菩萨者亦复如是,唐设劬劳都无所益。憍尸迦!诸菩萨摩诃萨行深般若波罗蜜多,虽知诸法皆如响等, + +#7 戊二 论 + +色等無常等 未圓滿圓滿 及於無貪性 破實行加行 不變無造者 + +三難行加行  如根性得果 故許為有果 不依仗於他 證知七現事 + +#6 丁六 经论说一切智加行之平等性 + +#7 戊一 经 + +而不观见亦不显示,以一切法都无所有、不可得故。若菩萨摩诃萨能如是住,是行般若波罗蜜多。” + +#7 戊二 论 + +不執著色等 四種平等性 + +#6 丁七 修加行之果 + +#7 戊一 经 + +尔时,世尊威神力故,令此三千大千世界四大天王及天帝释、大梵王等一切天众来诣佛所,顶礼双足,却住一面。以佛神力,于十方界各见千佛宣说般若波罗蜜多,义品名字皆同于此,请说般若波罗蜜多苾刍众首皆名善现,问难般若波罗蜜多诸天众首皆名帝释。 + +尔时,世尊告善现曰:“慈氏菩萨当证无上正等觉时即以此名,亦于此处宣说般若波罗蜜多。此贤劫中当来诸佛即以此名,亦于此处宣说般若波罗蜜多。” + +第四分赞叹品第九 + +尔时,具寿善现便白佛言:“世尊!如是般若波罗蜜多但有名字,如是名字亦不可得,但依语言假施设有,是故般若波罗蜜多亦无所有、实不可得。名字、般若波罗蜜多,如是二法展转相似,同无所有、俱不可得。何缘佛说:慈氏菩萨当证无上正等觉时即以此名,亦于此处宣说般若波罗蜜多。” + +佛告善现:“慈氏菩萨当证无上正等觉时,不证色空,不证受、想、行、识空;不证色缚,不证受、想、行、识缚;不证色脱,不证受、想、行、识脱。即以如是诸行、状、相,慈氏菩萨当证无上正等菩提即以此名,亦于此处宣说般若波罗蜜多。” + +具寿善现复白佛言:“甚深般若波罗蜜多最为清净。” + +佛告善现:“色清净故,甚深般若波罗蜜多最为清净;受、想、行、识清净故,甚深般若波罗蜜多最为清净;虚空清净故,甚深般若波罗蜜多最为清净;色无染故,甚深般若波罗蜜多最为清净;受、想、行、识无染故,甚深般若波罗蜜多最为清净;虚空无染故,甚深般若波罗蜜多最为清净;一切有染及无染法不可得故,甚深般若波罗蜜多最为清净。” + +具寿善现复白佛言:“若善男子、善女人等,但闻如是甚深般若波罗蜜多功德名号,尚为获得广大善利,况能受持、读诵、修习、书写、解说、广令流布!是善男子、善女人等,终不横死亦无横病及诸殃祸,常为无量百千天神恭敬围绕随逐守护。若善男子、善女人等于黑白月各第八日、第十四日、第十五日,在在处处读诵讲说甚深般若波罗蜜多,当获无边功德胜利。” + +佛告善现:“如是!如是!如汝所说。是善男子、善女人等,读诵、宣说甚深般若波罗蜜多,无量天神常来恭敬围绕守护。所以者何?甚深般若波罗蜜多,是诸天、人、阿素洛等无上珍宝。由此因缘,是善男子、善女人等当获无边功德胜利。 + +“复次,善现!甚深般若波罗蜜多听闻、受持、读诵、书写、供养、修学、宣说等时,多有邪魔为作留难。所以者何?甚深般若波罗蜜多是大珍宝多诸怨贼,譬如世间所贵珍宝,随所在处多诸怨贼。善现当知!甚深般若波罗蜜多是无上宝,能与世间利益安乐。 + +“复次,善现!甚深般若波罗蜜多于一切法不生不灭、不成不坏、不向不背、不引不遣、不取不舍、不垢不净、不增不减、不近不远。所以者何?以一切法都无所有皆不可得。善现当知!甚深般若波罗蜜多于一切法无所得故,非能染污、非所染污。所以者何?无法不能染污无法。善现当知!色无染污故,甚深般若波罗蜜多亦无染污;受、想、行、识无染污故,甚深般若波罗蜜多亦无染污;甚深般若波罗蜜多无染污故,色等诸法亦无染污。若于如是亦不分别,是行般若波罗蜜多。善现当知!甚深般若波罗蜜多无分别故,于一切法无取无舍、无说无示、无引无遣。” + +时,有无量百千天子住虚空中,欢喜踊跃互相庆慰,同声唱言:“我等今者于赡部洲见佛第二转妙法轮。” + +尔时,世尊告善现曰:“如是法轮非第一转亦非第二。所以者何?甚深般若波罗蜜多于一切法不为转故、不为还故出现世间,但以无性自性空故出现世间。若菩萨摩诃萨能如是知无所分别,是行般若波罗蜜多。” + +具寿善现便白佛言:“甚深般若波罗蜜多是为广大波罗蜜多,达一切法自性空故。虽达诸法自性皆空,而诸菩萨摩诃萨依深般若波罗蜜多,于一切法无缚无著,证得无上正等菩提,转妙法轮度有情众;虽证菩提而无所证,证不证法不可得故;虽转法轮而无所转,转法还法不可得故;虽度有情而无所度,见不见法不可得故。世尊!此大般若波罗蜜多甚深教中,转法轮事都不可得。所以者何?以于此中无法可显、无法可示、无法可得、无法可转、无法可还。所以者何?以一切法毕竟不生亦复不灭,不生灭故无转无还。” + +尔时,世尊告善现曰:“如是!如是!所以者何?非空、无相、无愿法中,可有能转及能还法,转还性法不可得故。若能如是宣说开示,是名善净宣说般若波罗蜜多,此中都无说者、受者、所说受法。既无说者、受者及法,诸能证者亦不可得,无证者故,亦无有能得涅槃者,亦无说法作福田者,福田无故,福性亦空。表示名言皆不可得故,名广大波罗蜜多。” + +#7 戊二 论 + +#8 己一 略标刹那 + +苦等諸聖諦 法智及類智 忍智剎那性 一切智見道 + +#8 己二 广释行相 + +色非常無常 出二邊清淨 無生無滅等 如虛空離貪 + +脫離諸攝持 自性不可說 由宣說此義 不能惠施他 + +皆悉不可得 畢竟淨無病 斷除諸惡趣 證果無分別 + +不繫屬諸相 於義名二種 其識無有生 一切智剎那 + +#6 丁八 总结三智 + +如是此及此 又此三段文 當知即顯示 此三品圓滿 + +#4 乙二 经论说四种加行 + +#5 丙一 经论说一切相现观加行 + +#6 丁一 经论说智相差别 + +#7 戊一 经 + +#8 己一 一切智之相 + +尔时,善现复白佛言:“甚深般若波罗蜜多是为无边波罗蜜多,如太虚空无边际故;是为无等波罗蜜多,以一切法不可得故;是为远离波罗蜜多,毕竟空故;是为难伏波罗蜜多,诸法性相不可得故;是为无迹波罗蜜多,无往无来无形体故;是为无性波罗蜜多,无往来故;是为无行波罗蜜多,以一切法无动转故;是为无夺波罗蜜多,以一切法不可取故;是为无尽波罗蜜多,与无尽法恒相应故;是为无生波罗蜜多,以一切法不可生故;是为无作波罗蜜多,以诸作者不可得故;是为无知波罗蜜多,以一切法无知者故;是为无见波罗蜜多,以一切法无见者故;是为无转波罗蜜多,以死生者不可得故;是为无坏波罗蜜多,前、后、中际不可得故;是为如幻波罗蜜多,诸法无生无表示故;是为如梦波罗蜜多,是诸意识平等性故;是无杂染波罗蜜多,以贪、瞋、痴无自性故;是无所得波罗蜜多,以所依止不可得故;是无戏论波罗蜜多,以一切法超思议故;是无思虑波罗蜜多,以一切法无动摇故;是无动转波罗蜜多,住法界故; + +#8 己二 道相智之相 + +是为离染波罗蜜多,以一切法不虚妄故;是无等起波罗蜜多,以一切法无分别故;是为寂静波罗蜜多,一切法相不可得故;是无过失波罗蜜多,修诸功德到彼岸故;是无有情波罗蜜多,证实际故;是为无断波罗蜜多,以一切法无等起故;是为如实波罗蜜多,无分别故;是无二边波罗蜜多,于一切法无执着故;是无杂坏波罗蜜多,以一切法不和合故;是无取着波罗蜜多,超诸声闻、独觉地故;是无寻伺波罗蜜多,至寻伺法平等性故;是为无量波罗蜜多,无量法故;是为无起波罗蜜多,离我法故;是无分别波罗蜜多,是诸分别平等性故;是不可得波罗蜜多,至一切法真实性故;是为无著波罗蜜多,于一切法皆无著故;是为无依波罗蜜多,无所依故;是为不生波罗蜜多,以一切法皆不生故;是为无常波罗蜜多,以一切法常无性故;是名为苦波罗蜜多,是逼恼法平等性故;是为无我波罗蜜多,于一切法无执着故;是名为空波罗蜜多,以一切法不可得故;是为无相波罗蜜多,以一切法离诸相故;是为无愿波罗蜜多,无所成故; + +#8 己三 一切相智之相 + +是名为力波罗蜜多,以一切法不可屈故;是无量佛法波罗蜜多,过数量故;是无所畏波罗蜜多,其心毕竟无怯畏故;是为真如波罗蜜多,是一切法无变性故;是为自然波罗蜜多,以一切法无自性故;是一切智智波罗蜜多,知一切法无自性故。” + +佛言:“善现!如是!如是!如汝所说。” + +#7 戊二 论 + +#8 已一 略标 + +一切智差別 行相為能相 由三種智故 許行相為三 + +#8 己二 广释 + +#9 庚一 一切智之相 + +始從無邊相 乃至無動相 三諦各有四 道中說十五 + +#9 庚二 道相智之相 + +於因道及苦 滅中如次第 說彼有八七 五及十六相 + +#9 庚三 一切相智之相 + +始從四念住 究竟諸佛相 道諦隨順中 由三智分別 + +弟子及菩薩 諸佛如次第 許為三十七 卅四三十九 + +#6 丁二 明胜加行 + +#7 戊一 经 + +#8 己一 明闻持此经之器 + +第四分总持品第十之一 + +时,天帝释作是念言:“若善男子、善女人等,但闻如是甚深般若波罗蜜多功德名号,当知过去已曾供养无量如来、应、正等觉,发弘誓愿、多种善根,况能受持、读诵、书写、如理思惟、为他演说,或能随力如教修行!当知是人已于过去无量佛所亲近供养、多种善根,曾闻般若波罗蜜多,闻已受持、思惟、读诵、为他演说、如教修行,或于此经能问能答,由先福力今办是事。若善男子、善女人等,已曾供养无量如来、应、正等觉,功德纯净,闻深般若波罗蜜多,其心不惊、不恐、不怖、不忧、不悔、不退、不没。” + +尔时,世尊知天帝释心之所念,即便告言:“如是!如是!如汝所念。” + +时,舍利子知天帝释心之所念,便白佛言:“若善男子、善女人等,闻深般若波罗蜜多深生信解,受持、读诵、如理思惟、书写、解说、广令流布、如教修行,当知是人如不退位诸大菩萨。所以者何?如是般若波罗蜜多义趣甚深难信难解,若于前世不久修行甚深般若波罗蜜多,不于佛前请问听受,不于佛所多种善根,岂暂得闻甚深般若波罗蜜多即能信解? + +“世尊!若善男子、善女人等,闻说般若波罗蜜多甚深义趣,心不信解、诽谤、毁呰,当知是人先世已于甚深般若波罗蜜多诽谤、毁呰。所以者何?如是愚人善根少故、无正愿故、近恶友故,闻说般若波罗蜜多甚深义趣,由宿习力不信、不乐、心不清净、不忍、不欲。何以故?如是愚人于过去世,未曾亲近诸佛、菩萨及余贤圣,未曾请问如是般若波罗蜜多甚深义故。” + +尔时,天帝释谓舍利子言:“如是般若波罗蜜多义趣甚深极难信解,诸有未久信乐修行甚深般若波罗蜜多,闻说此中甚深义趣,不能信解或生毁谤,未为希有。” + +时,天帝释复白佛言:“我今敬礼甚深般若波罗蜜多,我若敬礼甚深般若波罗蜜多,即为敬礼一切智智。” + +尔时,佛告天帝释言:“如是!如是!如汝所说。若能敬礼甚深般若波罗蜜多,即为敬礼一切智智。何以故?憍尸迦!诸佛所得一切智智,皆从般若波罗蜜多而得生故,甚深般若波罗蜜多复由诸佛一切智智而得有故。憍尸迦!诸菩萨摩诃萨应如是行甚深般若波罗蜜多,应如是住甚深般若波罗蜜多,应如是学甚深般若波罗蜜多。” + +#8 己二 正明加行 + +1尔时,天帝释白佛言:“世尊!诸菩萨摩诃萨云何行深般若波罗蜜多,名住深般若波罗蜜多?云何行深般若波罗蜜多,名学深般若波罗蜜多?” + +尔时,佛告天帝释言:“善哉!善哉!乃能请问如是深义,汝承佛力,能问如来、应、正等觉如是深义。 + +“憍尸迦!诸菩萨摩诃萨行深般若波罗蜜多时,若于色不住,亦不住此是色,是为学色;若于受、想、行、识不住,亦不住此是受、想、行、识,是为学受、想、行、识。 + +2复次,憍尸迦!诸菩萨摩诃萨行深般若波罗蜜多时,若于色不学,亦不学此是色,是不住色;若于受、想、行、识不学,亦不学此是受、想、行、识,是不住受、想、行、识。 + +3时,舍利子便白佛言:“如是般若波罗蜜多最为甚深,如是般若波罗蜜多难可测量,如是般若波罗蜜多难可执取,如是般若波罗蜜多无有限量。” + +尔时,佛告舍利子言:“如是!如是!舍利子!诸菩萨摩诃萨行深般若波罗蜜多时,若于色甚深性不住,亦不住此是色甚深性,是名学色甚深性;若于受、想、行、识甚深性不住,亦不住此是受、想、行、识甚深性,是名学受、想、行、识甚深性。复次,舍利子!诸菩萨摩诃萨行深般若波罗蜜多时,若于色甚深性不学,亦不学此是色甚深性,是名不住色甚深性;若于受、想、行、识甚深性不学,亦不学此是受、想、行、识甚深性,是名不住受、想、行、识甚深性。” + +4时,舍利子复白佛言:“如是般若波罗蜜多既最甚深,难可测量,难可执取,无有限量,则难信解,但应为彼不退转位诸菩萨说。所以者何?彼闻如是甚深般若波罗蜜多,心不惊惶、恐怖、疑惑,不生毁谤、深心信解。” + +时,天帝释便问具寿舍利子言:“若有为彼未得受记诸菩萨说甚深般若波罗蜜多,当有何失?” + +时,舍利子告帝释言:“彼闻惊惶、恐怖、疑惑,不能信解或生毁谤,由斯造作增长能感堕恶趣业,没三恶趣久受大苦,难证无上正等菩提。是故,不应为彼宣说甚深般若波罗蜜多。” + +5天帝释言:“颇有菩萨未得受记闻深般若波罗蜜多,心不惊惶、恐怖、疑惑,不生毁谤、深信解不?” + +舍利子言:“有!憍尸迦!是菩萨摩诃萨久发无上正等觉心,久修菩萨摩诃萨行,不久当受大菩提记。憍尸迦!若菩萨摩诃萨闻深般若波罗蜜多,心不惊惶、恐怖、疑惑,不生毁谤、深信解者,当知是菩萨摩诃萨已受无上大菩提记,设未受者,不过一佛或二佛所定当得受大菩提记。” + +尔时,佛告舍利子言:“如是!如是!如汝所说。舍利子!若菩萨摩诃萨久学大乘,久发大愿,久修大行,供养多佛,事多善友,善根成熟,闻深般若波罗蜜多,心不惊惶、恐怖、疑惑,深心信解,常乐听闻、受持、读诵,恭敬供养、如理思惟,为他演说或复书写,如说修行恒无懈惓。舍利子!是菩萨摩诃萨由此因缘,随所生处常见诸佛、恒闻正法,供养恭敬、尊重赞叹;随所见佛皆为受记,无空过者。” + +时,舍利子便白佛言:“我今乐说少分譬喻,唯愿听许!” + +尔时,佛告舍利子言:“随汝意说。” + +时,舍利子白言:“世尊!如住大乘善男子等梦见自坐妙菩提座,当知是人近证无上正等菩提。 + +6如是若有善男子等,得闻般若波罗蜜多深心信敬,受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,当知是人久学大乘、善根成熟,或已得受大菩提记,或近当受大菩提记,疾证无上正等菩提。 + +7“世尊!譬如有人游涉旷野,经过险道百逾缮那、或二、或三、或四五百,见诸城邑王都前相,谓放牧人园林田等,见是相已便作是念:‘城邑王都去此非远。’作是念已身意泰然,不畏恶兽恶贼饥渴。住菩萨乘善男子等亦复如是,若闻般若波罗蜜多深心信敬,受持、读诵、精勤修学、如理思惟、书写、解说、广令流布;当知是人不久得受大菩提记,疾证无上正等菩提,无堕声闻、独觉地畏。何以故?已得见闻供养恭敬甚深般若波罗蜜多无上菩提之前相故。 + +8“世尊!譬如有人欲观大海,渐次往趣经历多时,不见山林便作是念:‘今睹此相,大海非远。所以者何?近大海岸,地必渐下无诸山林。’彼人尔时虽未见海而见近相欢喜踊跃。住菩萨乘善男子等亦复如是,若得闻此甚深般若波罗蜜多深生信敬,受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,当知是人不久得受大菩提记,疾证无上正等菩提。何以故?已得闻此甚深般若波罗蜜多无上菩提之前相故。 + +9“世尊!譬如春时花果树等,故叶已堕枝条滋润,众人见之咸作是念:‘新花果叶当出非久。所以者何?此诸树等新花果叶先相现故。’住菩萨乘善男子等亦复如是,若得闻此甚深般若波罗蜜多深心信敬,受持、读诵、精勤修学、如理思惟、书写、解说、广令流布;当知是人不久得受大菩提记,疾证无上正等菩提。 + +10“世尊!譬如女人怀孕渐久,其身转重动止不安,饮食、睡眠悉皆减少,不喜多语厌常所作,受苦痛故众事顿息,有异母人见是相已,即知此女不久产生。住菩萨乘善男子等亦复如是,若得闻此甚深般若波罗蜜多深心信敬,受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,当知是人不久得受大菩提记,疾证无上正等菩提,转妙法轮度有情众。” + +尔时,佛赞舍利子言:“善哉!善哉!汝能善说菩萨譬喻,当知皆是如来神力。” + +大般若波罗蜜多经卷第五百四十五 + +大般若波罗蜜多经卷第五百四十六 + +三藏法师玄奘奉 诏译 + +第四分总持品第十之二 + +11尔时,具寿善现便白佛言:“世尊!希有如来、应、正等觉,善分别说诸菩萨事。” + +佛告善现:“如是!如是!所以者何?诸菩萨摩诃萨为欲利乐多众生故,哀愍世间大众生故,怜愍人、天令获大义利乐事故,求证无上正等菩提,为诸有情说无上法。” + +12尔时,善现复白佛言:“诸菩萨摩诃萨成就无边大功德聚,为欲饶益诸有情故,行深般若波罗蜜多。云何菩萨摩诃萨修行般若波罗蜜多疾得圆满?” + +佛告善现:“若菩萨摩诃萨行深般若波罗蜜多时,不见色增而行般若波罗蜜多,不见受、想、行、识增而行般若波罗蜜多,不见色减而行般若波罗蜜多,不见受、想、行、识减而行般若波罗蜜多, + +13不见是法而行般若波罗蜜多,不见非法而行般若波罗蜜多,是菩萨摩诃萨修行般若波罗蜜多疾得圆满。” + +14具寿善现复白佛言:“如来所说不可思议。” + +佛告善现:“如是!如是!色不可思议故,如来所说不可思议,受、想、行、识不可思议故,如来所说不可思议。若菩萨摩诃萨行深般若波罗蜜多,虽如实知色不可思议,而不起不可思议想,修行般若波罗蜜多;虽如实知受、想、行、识不可思议,而不起不可思议想,修行般若波罗蜜多,是菩萨摩诃萨修行般若波罗蜜多疾得圆满。” + +15时,舍利子便白佛言:“如是般若波罗蜜多义趣甚深,谁能信解?” + +尔时,佛告舍利子言:“若菩萨摩诃萨久修大行,于深般若波罗蜜多能生信解。” + +时,舍利子复白佛言:“齐何应知是菩萨摩诃萨久修大行,而得久修大行名号?” + +尔时,佛告舍利子言:“若菩萨摩诃萨行深般若波罗蜜多时,不分别如来十力,不分别四无所畏,不分别十八佛不共法,不分别一切智,不分别一切相智。所以者何?如来十力、四无所畏、十八佛不共法、一切智、一切相智皆不可思议,一切法亦不可思议。舍利子!若菩萨摩诃萨如是行者都无处行,是行般若波罗蜜多。舍利子!齐此应知是菩萨摩诃萨久修大行,乃得久修大行名号。” + +16具寿善现便白佛言:“如是般若波罗蜜多最为甚深,如是般若波罗蜜多是大宝聚, + +17如是般若波罗蜜多是清净聚,如太虚空极清净故。” + +佛告善现:“如是!如是!” + +18尔时,善现复白佛言:“希有!世尊!如是般若波罗蜜多以最甚深多诸留难,而今广说留难不生。” + +佛告善现:“如是!如是!佛神力故留难不起。是故大乘善男子等于深般若波罗蜜多,若欲书写、受持、读诵、修习、思惟、为他演说,应疾书写乃至演说。所以者何?甚深般若波罗蜜多多诸留难,勿令书写乃至演说不得究竟。善现当知!如是大乘善男子等,若欲一月乃至一岁书写、受持、读诵、修习、思惟、演说甚深般若波罗蜜多能究竟者,应勤精进系念书写乃至演说,经尔所时令得究竟。何以故?甚深般若波罗蜜多大宝神珠多留难故。” + +#7 戊二 论 + +#8 己一 明闻持此法之器 + +昔承事諸佛 佛所種善根 善知識攝受 是聞此法器 + +親近佛問答 及行施戒等 諸勝者許此 是受持等器 + +#8 己二 正明加行 + +不住色等故 遍彼加行故 彼真如深故 此等難測故 + +此等無量故 劬勞久證故 授記不退轉 出離及無間 + +近菩提速疾 利他無增減 不見法非法 色等不思議 + +色等諸行相 自性無分別 能與珍寶果 清淨及結界 + +#6 丁三 经论说修加行之功德 + +#7 戊一 经 + +憍尸迦!是名菩萨摩诃萨行深般若波罗蜜多,亦名住深般若波罗蜜多,亦名学深般若波罗蜜多。” + +尔时,善现复白佛言:“希有!世尊!甚深般若波罗蜜多大宝神珠多诸留难,而有书写、受持、读诵、修习、思惟、为他说者,恶魔于彼而作留难,令不书写乃至演说。” + +佛告善现:“恶魔于此甚深般若波罗蜜多,虽常伺求欲作留难,令不书写乃至演说,而彼无力可能留难,令彼菩萨所作不成。” + +时,舍利子即白佛言:“是谁神力,令彼恶魔不能留难彼诸菩萨书写等事?” + +尔时,佛告舍利子言:“是佛神力,令彼恶魔不能留难彼诸菩萨书写等事。又,舍利子!亦是十方一切世界诸佛神力,令彼恶魔不能留难彼诸菩萨书写等事。又,舍利子!一切如来、应、正等觉皆共护念行深般若波罗蜜多诸菩萨故,令彼恶魔不能留难。何以故?舍利子!诸佛世尊皆共护念行深般若波罗蜜多诸菩萨众所作善业,令彼恶魔不能留难。又,舍利子!若诸菩萨于深般若波罗蜜多书写、受持、读诵、修习、思惟、演说,法尔应为十方世界一切如来、应、正等觉现说法者之所护念,若蒙诸佛所护念者,恶魔法尔不能留难。又,舍利子!若有净信善男子等,于深般若波罗蜜多书写、受持、读诵、修习、思惟、演说,应作是念:‘我今书写乃至演说甚深般若波罗蜜多,皆是十方一切世界诸佛世尊神力护念。’” + +时,舍利子复白佛言:“若菩萨乘善男子等,于深般若波罗蜜多书写、受持、读诵、修习、思惟、演说,皆是十方诸佛神力慈悲护念,令彼所作殊胜善业,恶魔眷属不能留难。” + +尔时,佛告舍利子言:“如是!如是!如汝所说。” + +时,舍利子复白佛言:“若菩萨乘善男子等,于深般若波罗蜜多书写、受持、读诵、修习、思惟、演说,十方世界诸佛世尊皆共识知欢喜护念。十方世界诸佛世尊恒以佛眼皆共观见慈悲护念,令彼所修无不成就。” + +尔时,佛告舍利子言:“如是!如是!如汝所说。若菩萨乘善男子等,于深般若波罗蜜多书写、受持、读诵、修习、思惟、演说,恒为十方一切世界诸佛世尊佛眼观见识知护念,令诸恶魔不能娆恼,所作善业皆疾成就。又,舍利子!住菩萨乘善男子等,若能于此甚深般若波罗蜜多,书写、受持、读诵、修习、思惟、演说,当知已近无上菩提,诸恶魔怨不能留难。又,舍利子!住菩萨乘善男子等,若能书写甚深般若波罗蜜多,种种庄严、受持、读诵、供养恭敬,常为如来佛眼观见识知护念。由此因缘,定当获得大财、大利、大果、大报,乃至当得不退转地,常不远离诸佛、菩萨,恒闻正法不堕恶趣,生天、人中受诸妙乐。何以故?舍利子!甚深般若波罗蜜多,令诸有情如实通达诸法胜义,现在、未来能引种种利乐事故。 + +“又,舍利子!甚深般若波罗蜜多相应经典,我涅槃后,至东南方渐当兴盛,彼方多有住菩萨乘善男子等,能于如是甚深般若波罗蜜多相应经典深心信乐,书写、受持、读诵、修习、思惟、演说,供养恭敬、尊重赞叹。如是经典,我涅槃后,从东南方转至南方渐当兴盛;彼方多有住菩萨乘善男子等,能于如是甚深般若波罗蜜多相应经典深心信乐,书写、受持、读诵、修习、思惟、演说,供养恭敬、尊重赞叹。如是经典,我涅槃后,复从南方至西南方渐当兴盛,彼方多有住菩萨乘善男子等,能于如是甚深般若波罗蜜多相应经典,深心信乐,书写、受持、读诵、修习、思惟、演说,供养恭敬、尊重赞叹。如是经典,我涅槃后,从西南方至西北方渐当兴盛,彼方多有住菩萨乘善男子等,能于如是甚深般若波罗蜜多相应经典,深心信乐、书写、受持、读诵、修习、思惟、演说,供养恭敬、尊重赞叹。如是经典,我涅槃后,从西北方转至北方渐当兴盛,彼方多有住菩萨乘善男子等,能于如是甚深般若波罗蜜多相应经典深心信乐,书写、受持、读诵、修习、思惟、演说,供养恭敬、尊重赞叹。如是经典,我涅槃后,复从北方至东北方渐当兴盛,彼方多有住菩萨乘善男子等,能于如是甚深般若波罗蜜多相应经典,深心信乐,书写、受持、读诵、修习、思惟、演说,供养恭敬、尊重赞叹。 + +“又,舍利子!我涅槃已,后时、后分、后五百岁,甚深般若波罗蜜多相应经典,于东北方大为佛事。何以故?舍利子!甚深般若波罗蜜多相应经典,一切如来共所尊重,一切如来共所护念,令于彼方经久不灭。又,舍利子!非佛所得法毗奈耶无上正法有灭没相,诸佛所得法毗奈耶无上正法即是般若波罗蜜多相应经典。又,舍利子!彼东北方住菩萨乘善男子等,有能于此甚深般若波罗蜜多相应经典深心信乐,书写、受持、读诵、修习、思惟、演说,供养恭敬、尊重赞叹。我等诸佛常以佛眼观见护念,令无损恼,现在、未来身心安乐。” + +时,舍利子便白佛言:“甚深般若波罗蜜多相应经典,佛涅槃已,后时、后分、后五百岁,于东北方广流布耶?” + +尔时,佛告舍利子言:“如是!如是!舍利子!我涅槃已,后时、后分、后五百岁,彼东北方住菩萨乘善男子等,若得闻此甚深般若波罗蜜多相应经典深心信乐,书写、受持、读诵、修习、思惟、演说,供养恭敬、尊重赞叹。当知彼人久发无上正等觉心,久修菩萨摩诃萨行,供养多佛,事多善友,久多修习身戒心慧,所种善根皆已成熟,由斯福力,得闻如是甚深般若波罗蜜多相应经典深心信乐,复能书写、受持、读诵、精勤修学、如理思惟、广为有情开示分别。” + +时,舍利子复白佛言:“佛涅槃已,后时、后分、后五百岁法欲灭时,于东北方当有几许住菩萨乘善男子等,得闻如是甚深般若波罗蜜多相应经典深心信乐,复能书写、受持、读诵、修习、思惟、为他演说,供养恭敬、尊重赞叹?” + +尔时,佛告舍利子言:“我涅槃已,后时、后分、后五百岁法欲灭时,于东北方虽有无量住菩萨乘善男子等,而少得闻甚深般若波罗蜜多相应经典深心信乐,复能书写、受持、读诵、修习、思惟、为他演说,供养恭敬、尊重赞叹。 + +“又,舍利子!住菩萨乘善男子等,闻说如是甚深般若波罗蜜多相应经典,心不沉没,不惊、不怖、深生信乐,书写、受持、读诵、修习、思惟、演说,供养恭敬、尊重赞叹。当知是人已曾亲近、供养恭敬、尊重赞叹无量如来、应、正等觉及诸菩萨,请问般若波罗蜜多甚深义趣。 + +“又,舍利子!是菩萨乘善男子等,不久定当圆满菩萨摩诃萨道,一切如来所护念故,无量善友所摄受故,殊胜善根所任持故,为欲饶益多众生故,疾证无上正等菩提。何以故?舍利子!我常为彼住菩萨乘善男子等说一切智相应之法,过去如来亦常为彼说一切智相应之法。由此因缘,彼当来世常能修集一切智智相应正行,速趣无上正等菩提,亦能为他如应说法,令趣无上正等菩提,于一切时身心安定,诸恶魔王及彼眷属尚不能坏求趣无上正等觉心,何况其余乐行恶者毁谤般若波罗蜜多能阻其心,令不精进求趣无上正等菩提!所以者何?彼于无上正等菩提勇猛正勤极坚牢故。 + +“又,舍利子!住菩萨乘善男子等,闻说如是甚深般若波罗蜜多,心得广大清净喜乐,亦能安立无量有情于胜善法,令趣无上正等菩提。何以故?舍利子!是菩萨乘善男子等,今于我前发弘誓愿:‘我当安立无量百千诸有情类,令发无上正等觉心,修诸菩萨摩诃萨行,示现、劝导、赞励、庆喜,令于无上正等菩提乃至得受不退转记。’我于彼愿深生随喜。何以故?舍利子!我观彼人所发弘愿心语相应,彼于当来定能安立无量百千诸有情类,令发无上正等觉心,修诸菩萨摩诃萨行,示现、劝导、赞励、庆喜,令于无上正等菩提乃至得受不退转记。 + +“是菩萨乘善男子等,亦于过去无量佛前发弘誓愿:‘我当安立无量百千诸有情类,令发无上正等觉心;修诸菩萨摩诃萨行,示现、劝导、赞励、庆喜,令于无上正等菩提乃至得受不退转记。’过去如来、应、正等觉亦于彼愿深生随喜。何以故?舍利子!过去诸佛亦观如是住菩萨乘善男子等所发弘愿心语相应,彼于当来定能安立无量百千诸有情类,令发无上正等觉心,修诸菩萨摩诃萨行,示现、劝导、赞励、庆喜,令于无上正等菩提乃至得受不退转记。 + +“是菩萨乘善男子等,信解广大修广大行,愿生他方诸佛国土现有如来、应、正等觉宣说如是甚深般若波罗蜜多无上法处。彼闻如是甚深般若波罗蜜多无上法已,复能安立彼佛土中无量百千诸有情类,令发无上正等觉心,修诸菩萨摩诃萨行,示现、劝导、赞励、庆喜,令于无上正等菩提得不退转。” + +时,舍利子即白佛言:“希有!世尊!佛于过去、未来、现在所有诸法无不证知、无不觉了,于诸有情心行差别无不证知、无不觉了,于三世佛、菩萨、声闻及佛土等无不证知、无不觉了。世尊!若菩萨摩诃萨能于如是甚深般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、书写、解说、广令流布,是菩萨摩诃萨于当来世,若于般若波罗蜜多相应经典,勇猛精进常求不息。彼于般若波罗蜜多相应经典,为有得时、不得时不?” + +尔时,佛告舍利子言:“如是!如是!佛于一切无不证知、无不觉了。是菩萨摩诃萨常于般若波罗蜜多相应经典,勇猛精进欣求不息,一切时得,无不得时。何以故?舍利子!是菩萨摩诃萨常于般若波罗蜜多相应经典欣求不息,诸佛菩萨常护念故。” + +时,舍利子复白佛言:“是菩萨摩诃萨为但于此甚深般若波罗蜜多相应经典,勇猛精进欣求不息,一切时得,无不得时,为于余经亦能常得?” + +尔时,佛告舍利子言:“若菩萨摩诃萨常于般若波罗蜜多相应经典,勇猛信求不顾身命,有时不得诸余经典,无有是处。何以故?舍利子!是菩萨摩诃萨为求无上正等菩提,示现、劝导、赞励、庆喜诸有情类,令于般若波罗蜜多相应经典及余经典受持、读诵、思惟、修学;由此善根,随所生处,法尔常得甚深般若波罗蜜多空相应经及余经典受持、读诵。” + +#7 戊二 论 + +摧伏魔力等 十四種功德 + +#6 丁四 经论说修加行时所有之过失 + +#7 戊一 经 + +第四分魔事品第十一之一 + +尔时,善现便白佛言:“世尊!已说住菩萨乘善男子等修功德时多有留难,何等名为诸留难事?” + +佛告善现:“留难事者谓诸魔事。” + +具寿善现复白佛言:“云何名为菩萨魔事?” + +佛告善现:“若菩萨摩诃萨欲宣说般若波罗蜜多时,或说法要辩久乃生,或说法要辩乃卒起,或说法要辩过量生,或所欲说未尽便止,或说法要言词乱杂,或说法要言词间断,或说法时诸横事起,令所欲说不遂本心,当知是为菩萨魔事。 + +“复次,善现!若菩萨摩诃萨书写般若波罗蜜多甚深经时,或频申欠呿,或互相嗤笑,或更相轻凌,或身心躁扰,或失念散乱,或文句颠倒,或迷惑义理,或不得滋味心生厌舍,或横事卒起,或互相乖诤,由此等事书写不终,当知是为菩萨魔事。 + +“复次,善现!若菩萨摩诃萨受持、读诵、思惟、修习、说听般若波罗蜜多甚深经时,或频申欠呿,或互相嗤笑,或更相轻凌,或身心躁扰,或失念散乱,或文句颠倒,或迷惑义理,或不得滋味心生厌舍,或横事卒起,或互相乖诤,由此等事所作不成,当知是为菩萨魔事。 + +“复次,善现!若菩萨摩诃萨闻说般若波罗蜜多甚深经时,或作是念:‘我于此中不得受记,何用听为?’或作是念:‘此中不说我之名字,何用听为?’或作是念:‘此中不说我之生处城邑、聚落,何用听为?’由此等缘心不清净,即从座起厌舍而去,无顾恋心,当知是为菩萨魔事。善现当知!若菩萨摩诃萨闻说般若波罗蜜多甚深经时,心不清净厌舍去者,随彼所起不清净心,厌舍此经举步多少,便减尔许劫数功德,获尔许劫障菩提罪。受彼罪已,更尔许时发勤精进修诸菩萨难行苦行方可复本,是故名为菩萨魔事。 + +“复次,善现!若菩萨摩诃萨弃舍能引一切智智甚深般若波罗蜜多相应经典,学不能引一切智智随顺二乘诸余经典,弃舍根本而攀枝叶,当知是为菩萨魔事。所以者何?甚深般若波罗蜜多相应经典,能生菩萨摩诃萨众世、出世间殊胜功德,由斯能引一切智智,有大势用,譬如树根。诸余经典无如是用,譬如枝叶无胜功能。若菩萨乘善男子等,修学如是甚深般若波罗蜜多相应经典,即为修学一切菩萨摩诃萨众世、出世间殊胜功德,速能引发一切智智。若菩萨乘善男子等,弃舍如是甚深般若波罗蜜多相应经典,求学二乘相应经典,即为弃舍一切菩萨摩诃萨众世、出世间殊胜功德,终不能得一切智智。是菩萨乘善男子等,福慧狭少弃本求末,是故名为菩萨魔事。 + +“善现当知!如痴饿狗弃舍主食,反从仆使而求索之。于当来世有菩萨乘善男子等,弃舍一切智智根本甚深般若波罗蜜多相应经典,求学二乘相应经典,亦复如是。所以者何?是菩萨乘善男子等觉慧闇钝,弃舍能引一切智智甚深般若波罗蜜多相应经典,求学能引声闻独觉功德经典,定不能得一切智智。所以者何?声闻、独觉相应经典,但为自身调伏寂静,出生死苦得涅槃乐,精勤修学如是经典,所引善根究竟唯得住二乘地自利圆满。甚深般若波罗蜜多相应经典,普为济拔一切有情出生死苦得涅槃乐,精勤修学如是经典所引善根究竟能得一切智智,利益安乐一切有情。 + +“复次,善现!譬如有人欲观香象身量大小、形类胜劣,得而不观反寻其迹。于意云何?彼人黠不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于当来世有菩萨乘善男子等,弃舍一切智智根本甚深般若波罗蜜多相应经典,求学二乘相应经典,于中望得一切智智,亦复如是。 + +“复次,善现!譬如有人为珍宝故求趣大海,既至海岸不入大海反观牛迹,作是念言:‘大海中水其量深广岂及此耶?此中亦应有诸珍宝。’于意云何?彼人黠不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于当来世有菩萨乘善男子等,弃舍一切智智根本甚深般若波罗蜜多相应经典,求学二乘相应经典,于中望得一切智智,亦复如是。所以者何?精勤修学二乘经典,究竟唯能得预流果,展转乃至独觉菩提,必不能得一切智智。故菩萨乘善男子等,欲疾证得一切智智,应学般若波罗蜜多,不应求学二乘经典。何以故?甚深般若波罗蜜多定是一切智智根本,二乘经典如枝叶故。 + +“复次,善现!如有工匠或彼弟子,欲造大殿如天帝释殊胜殿量,见彼殿已而反规摸日月宫殿。于意云何?如是工匠或彼弟子,能造大殿量如帝释殊胜殿不?” + +善现对曰:“不也!世尊!” + +佛告善现:“彼人黠不?” + +善现答言:“彼人非黠。” + +佛告善现:“于当来世有菩萨乘善男子等,得深般若波罗蜜多,舍而求学二乘经典,欲证无上正等菩提利乐有情,亦复如是,当知彼是愚痴品类。 + +“复次,善现!如有欲见转轮圣王,见已不识舍至余处,见小国王观其形相,作如是念:‘转轮圣王形相威德岂胜于此?’于意云何?彼人黠不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于当来世有菩萨乘善男子等,欲趣无上正等菩提,转妙法轮度有情众,弃深般若波罗蜜多,求学二乘相应经典,言:‘彼经典与此何异?何用彼为?’彼由此缘定不能得一切智智。所以者何?甚深般若波罗蜜多相应经典,种种方便示现、劝导、赞励、庆喜住菩萨乘善男子等,令于无上正等菩提得不退转。舍而求学二乘经典,当知彼人亦复如是。何以故?精勤修学二乘经典,定于佛果不能证故。 + +“复次,善现!如有饥人得百味食,弃而求啖两月谷饭。于意云何?彼人黠不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于当来世有菩萨乘善男子等亦复如是,求趣无上正等菩提,弃深般若波罗蜜多,求学二乘相应经典,于中欲觅一切智智,徒设劬劳终不能得。 + +“复次,善现!如有贫人得无价宝,弃而翻取迦遮末尼。于意云何?彼人黠不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于当来世有菩萨乘善男子等亦复如是,求趣无上正等菩提,弃深般若波罗蜜多,求学二乘相应经典,于中欲觅一切智智,徒设劬劳终不能得。 + +“复次,善现!住菩萨乘善男子等,若正书写、受持、读诵、思惟、修习甚深般若波罗蜜多相应经时,众辩卒起,乐说种种差别法门,令书写等不得究竟,当知是为菩萨魔事。” + +具寿善现便白佛言:“甚深般若波罗蜜多可书写不?” + +世尊告曰:“不也!善现!若菩萨乘善男子等,书写如是甚深般若波罗蜜多相应经时,作如是念:‘我以文字书写般若波罗蜜多,如是文字即是般若波罗蜜多。’或依文字执着般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!住菩萨乘善男子等,书写、受持、读诵、修习、思惟、演说甚深般若波罗蜜多相应经时,或念国土,或念城邑,或念王都,或念方处,或念师友,或念父母,或念妻子,或念兄弟,或念姊妹,或念亲戚,或念朋侣,或念王臣,或念盗贼,或念猛兽,或念恶人,或念恶鬼,或念众集,或念游戏,或念音乐,或念报怨,或念报恩,或念饮食、衣服、卧具,或念诸余资身什物,或念制造文颂书论,或念时节寒热丰俭,或念象、马、水、火等事,或念诸余所作事业,当知皆是菩萨魔事。魔以此事扰恼菩萨,令书写等皆不得成,菩萨觉知皆应远离。 + +“复次,善现!住菩萨乘善男子等,书写、受持、读诵、修习、思惟、演说甚深般若波罗蜜多相应经时,得大名利恭敬供养,彼由此缘废所作业,当知亦是菩萨魔事,菩萨觉知皆应厌舍。 + +“复次,善现!住菩萨乘善男子等,书写、受持、读诵、修习、思惟、演说甚深般若波罗蜜多相应经时,恶魔化作苾刍等像,执持种种世俗书论或复二乘相应经典,诈现亲友授与菩萨,告菩萨言:‘如是经典义味深奥,应勤修学舍所习经。’此菩萨乘善男子等方便善巧,不应受着恶魔所授世俗书论或复二乘相应经典。所以者何?世俗书论、二乘经典,不能引发一切智智,非趣无上正等菩提无倒方便,乃于无上正等菩提极为障碍。善现当知!甚深般若波罗蜜多相应经中,广说菩萨摩诃萨道方便善巧,若于此中精勤修学,速能证得一切智智。若菩萨乘善男子等,无巧便故,近恶友故,弃深般若波罗蜜多,受学恶魔世俗书论、二乘经典,当知是为菩萨魔事。 + +“复次,善现!能听法者乐听、乐问、书写、受持、读诵、修习甚深般若波罗蜜多,能说法者着乐懈怠不欲为说,亦不施与甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者心不着乐亦不懈怠,乐说、乐施甚深般若波罗蜜多,方便劝励书写、受持、读诵、修习,能听法者懈怠着乐,不欲听受乃至修习,当知是为菩萨魔事。 + +“复次,善现!能听法者具念慧力,乐听、乐问、书写、受持、读诵、修习甚深般若波罗蜜多,能说法者欲往他方不获教授,当知是为菩萨魔事。 + +“复次,善现!能说法者乐说、乐施甚深般若波罗蜜多,方便劝励书写、受持、读诵、修习,能听法者欲往他方不获听受,当知是为菩萨魔事。 + +“复次,善现!能说法者具大恶欲,爱重名利,衣服、饮食、卧具、医药及余资财,供养恭敬心无厌足,能听法者少欲喜足修远离行,勇猛正勤具念定慧,厌怖利养恭敬名誉,或具嫉悭不能舍施,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者少欲喜足修远离行,勇猛正勤具念定慧,厌怖利养恭敬名誉,或具嫉悭不能舍施,能听法者具大恶欲,爱重名利、衣服、饮食、卧具、医药及余资财,供养恭敬心无厌足,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者有信、有戒,受行十二杜多功德,乐为他说甚深般若波罗蜜多,方便劝励书写、受持、读诵、修习,能听法者无信、无戒,亦无十二杜多功德,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能听法者有信、有戒,受行十二杜多功德,乐听、乐问、书写、受持、读诵、修习甚深般若波罗蜜多,能说法者无信、无戒,亦无十二杜多功德,不欲教授,两不和合,不获说听、书写、受持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者心无悭吝一切能舍,能听法者心有悭吝不能舍施,或上相违,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能听法者欲求供养能说法者衣服、饮食、卧具、医药及余资财,能说法者不乐受用,或上相违,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者成就开智不乐广说,能听法者成就演智不乐略说,或上相违,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者专乐广知十二分教次第法义,能听法者不乐广知十二分教次第法义,或上相违,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者成就六种波罗蜜多,方便善巧得陀罗尼,能听法者无如是德,或上相违,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者欲令恭敬书写、受持、读诵、修习甚深般若波罗蜜多,能听法者不随其意,或上相违,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者已离悭垢、已离五盖,能听法者未离悭垢、未离五盖,或上相违,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能听法者有信乐心欲了深义,而说法者于此经中未甚纯熟不能决了,能听法者不乐听闻,由是因缘,不得书写、受持、读诵、思惟、修习,当知是为菩萨魔事。 + +“复次,善现!能说法者心乐为说,能听法者不乐听闻,或上相违,两不和合,不获说听、书写、受持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者虽乐说法而身沉重,众病所缠不能为说,或听法者虽乐听法而身沉重,众病所缠不能听受,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!有菩萨乘善男子等,书写、受持、读诵、修习、思惟、演说甚深般若波罗蜜多相应经时,若有人来说诸恶趣种种苦事,因复告言:‘汝于此身应勤精进,速尽苦际入般涅槃,何用稽留生死大海,受百千种难忍苦事,求趣无上正等菩提?’彼由此言,于所书写、受持、读诵、修习、思惟、演说如是甚深般若波罗蜜多不得究竟,当知是为菩萨魔事。 + +“复次,善现!有菩萨乘善男子等,书写、受持、读诵、修习、思惟、演说甚深般若波罗蜜多相应经时,若有人来赞说人趣种种胜事,赞说诸天长寿安乐,因而告曰:‘虽于欲界受诸欲乐,于色界中受静虑乐,于无色界受等至乐,而彼皆是无常、苦、空、无我、不净、变坏之法、谢法、离法、尽法、灭法,汝于此身何不精进取预流果展转乃至独觉菩提,入般涅槃毕竟安乐,何用久处生死轮回,无事为他受诸勤苦,求趣无上正等菩提?’彼由此言,于所书写、受持、读诵、修习、思惟、演说如是甚深般若波罗蜜多不得究竟,当知是为菩萨魔事。 + +“复次,善现!能说法者一身无系,专修己事不忧他业,能听法者好领徒众,乐营他事不忧自业,或上相违,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者不乐喧杂,能听法者乐处喧杂,或上相违,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者欲令听者于我所为悉皆随助,能听法者不随其欲,或上相违,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者为名利故欲为他说,复欲令彼书写、受持、读诵、修习甚深般若波罗蜜多,能听法者知其所为不欲从受;或能听者为名利故欲请他说,复欲方便书写、受持、读诵、修习甚深般若波罗蜜多,能说法者知其所为而不随请,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者欲往他方危身命处,能听法者恐失身命不欲随往;或能听者欲往他方危身命处,能说法者恐失身命不欲共往,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者欲往他方多贼、疾疫、饥渴国土,能听法者虑彼艰辛不肯随往;或能听者欲往他方多贼、疾疫、饥渴国土,能说法者虑彼艰辛不肯共往,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +大般若波罗蜜多经卷第五百四十六 + +大般若波罗蜜多经卷第五百四十七 + +三藏法师玄奘奉 诏译 + +第四分魔事品第十一之二 + +“复次,善现!能说法者欲往他方安隐丰乐无难之处,能听法者欲随其去,能说法者方便试言:‘汝虽为利欲随我往,而汝至彼岂必遂心?宜善审思勿后忧悔。’时,听法者闻已念言:‘是师不欲令我去相,设固随往岂必闻法?’由此因缘不随其去,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者欲往他方,所经道路旷野险阻,多诸贼难及旃荼罗恶兽、猎师、毒蛇等怖,能听法者欲随其去,能说法者方便试言:‘汝今何故无事随我欲往如是诸险难处?宜善审思勿后忧悔。’能听法者闻已念言:‘师应不欲令我随往,设固随往何必闻法?’由此因缘不随其去,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!能说法者多有施主数相追随,听法者来请说般若波罗蜜多,或请书写、受持、读诵、如说修行,彼多缘碍无暇教授,能听法者起嫌恨心,后虽教授而不听受,两不和合,不获教授、听受、书持、读诵、修习甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!有诸恶魔作种种形,至菩萨所方便破坏,令于般若波罗蜜多相应经典,不得书写、受持、读诵、修习、思惟、为他演说。是故,善现!住菩萨乘善男子等,于深般若波罗蜜多书写等时所有留难,当知皆是菩萨魔事。” + +具寿善现便白佛言:“何缘恶魔作诸形像,至菩萨所方便破坏,令于般若波罗蜜多相应经典不得书写乃至演说?” + +佛告善现:“甚深般若波罗蜜多能生诸佛一切智智,诸佛所有一切智智能生佛教,佛教能生无量无数有情般若,有情般若能证无边诸烦恼断,烦恼断者一切恶魔不得其便,一切恶魔不得便故多生忧苦,如箭入心:‘勿我由斯甚深般若波罗蜜多境界空缺。’是故恶魔作诸形像,至菩萨所方便破坏,令于般若波罗蜜多相应经典不得书写乃至演说。” + +尔时,善现复白佛言:“云何恶魔作诸形像,至菩萨所方便破坏?” + +佛告善现:“有诸恶魔作沙门像,至菩萨所方便破坏,令其毁厌甚深般若波罗蜜多,谓作是言:‘汝所习诵无相经典非真般若波罗蜜多,我所习诵有相经典是真般若波罗蜜多。’作是语时,有诸菩萨未得受记,新学大乘智慧狭劣,便于般若波罗蜜多相应经典心生疑惑,由疑惑故便于般若波罗蜜多而生毁厌,由毁厌故遂不书写、受持、读诵、修习、思惟、为他演说甚深般若波罗蜜多,当知是为菩萨魔事。 + +“复次,善现!有诸恶魔作苾刍像,至菩萨所语菩萨言:‘若诸菩萨行深般若波罗蜜多,唯证实际得预流果乃至或得独觉菩提,终不能证无上佛果,何缘于此唐设劬劳?’菩萨既闻,便不书写、受持、读诵、修习、思惟、为他演说甚深般若波罗蜜多,当知是为菩萨魔事。 + +“如是,善现!甚深般若波罗蜜多书写等时多诸魔事,菩萨应觉,觉已精勤正念、正知,方便远离。” + +具寿善现便白佛言:“如是!世尊!如是!善逝!甚深般若波罗蜜多书写等时多诸魔事。譬如无价大宝神珠,虽有胜能而多怨贼;如是般若波罗蜜多,虽有胜德而多留难。住菩萨乘善男子等,少福德故,书写等时有诸恶魔为作留难,虽有乐欲而不能成。所以者何?有愚痴者为魔所惑,住菩萨乘善男子等,于深般若波罗蜜多书写等时为作留难。世尊!彼愚痴者觉慧微昧,不能思议广大佛法,自于般若波罗蜜多不能书写、受持、读诵、修习、思惟、听闻、演说,复乐障他书写等事。” + +佛告善现:“如是!如是!如汝所说。有愚痴人为魔所使,未种善根福慧薄劣,未于佛所发弘誓愿,未为善友之所摄受,自于般若波罗蜜多不能书写乃至演说,新学大乘善男子等,于深般若波罗蜜多书写等时为作留难。于当来世有善男子、善女人等,福慧薄劣善根微少,于诸如来广大功德心不欣乐,自于般若波罗蜜多不能书写、受持、读诵、修习、思惟、听闻、演说,复乐障他书写等事,当知彼类获罪无边。 + +“复次,善现!有菩萨乘善男子等,于深般若波罗蜜多书写等时,多有魔事为作留难,令书写等皆不得成,由此不能圆满功德,善根未熟、福慧少故。有菩萨乘善男子等,于深般若波罗蜜多书写等时,若无魔事,当知皆是诸佛神力慈悲护念。所以者何?恶魔眷属虽勤方便欲灭般若波罗蜜多,诸佛世尊亦勤方便慈悲护念,令菩萨乘善男子等于深般若波罗蜜多书写等时无诸留难,速证无上正等菩提。” + +第四分现世间品第十二 + +“复次,善现!譬如女人多有诸子,或五、或十、二十、三十、四十、五十、若百、若千。其母得病诸子各别勤求医药,咸作是念:‘云何令我母病除愈,令无障难身名不灭,久住安乐苦受不生,诸妙乐具咸归我母?所以者何?生育我等,示世间事,甚大艰辛。’作是念已,竞设方便,求安隐事覆护母身,勿为蚊虻、蛇蝎、风雨、人非人等非爱所触,勤加修饰令离众病、六根清净无诸忧苦。又以种种上妙乐具供养恭敬,而作是言:‘我母慈悲生育我等,诲示一切世间事业,我等岂得不报母恩?’如是如来、应、正等觉,常以种种善巧方便,护念般若波罗蜜多。若菩萨乘善男子等,能于般若波罗蜜多书写、受持、读诵、修习、思惟、演说无懈倦者,如来亦以种种方便勤加护念令无损恼。十方现在余世界中,一切如来、应、正等觉哀愍利乐诸有情者,亦以种种善巧方便,护念般若波罗蜜多,令诸恶魔不能毁灭,久住利乐一切世间。 + +#7 戊二 论 + +當知諸過失 有四十六種 + +#6 丁五 经论说加行之相 + +#7 戊一 经 + +#8 己一 三智之表相 + +#9 庚一 一切智加行之表相 + +如是如来、应、正等觉,皆以种种善巧方便,护持般若波罗蜜多。所以者何?甚深般若波罗蜜多能生如来、应、正等觉,能正显了一切智智,能示世间诸法实相,一切智智亦从彼生。 + +“善现当知!一切过去未来现在诸佛世尊,皆依如是甚深般若波罗蜜多,精勤修学证得无上正等菩提。我昔亦依甚深般若波罗蜜多,精勤修学证得无上正等菩提。是故般若波罗蜜多能生如来、应、正等觉,能正显了一切智智,能示世间诸法实相。” + +尔时,善现便白佛言:“云何般若波罗蜜多能生如来、应、正等觉,能示世间诸法实相?” + +佛告善现:“甚深般若波罗蜜多,能生如来一切智智及余功德故,说般若波罗蜜多能生如来、应、正等觉。能示世间诸法实相者,谓能示世间五蕴实相。” + +具寿善现复白佛言:“云何般若波罗蜜多能示世间五蕴实相?” + +佛告善现:“甚深般若波罗蜜多能示世间色等五蕴无变坏相故,说般若波罗蜜多能示世间诸法实相。所以者何?色等五蕴无自性故,说名为空、无相、无愿、无造、无作、无生、无灭,即真法界非空等法可有变坏故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,普能证知无量无数无边有情施设差别故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情心行差别故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情自性非有故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情心无所住,犹如虚空无所依止故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情所有略心,尽故、离故,无略心性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情所有散心,由法性故,无散心性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸染污心,不可示故,无染心性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情不染污心,本性净故,无杂染性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情所有下心,不可隐故,无下心性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情所有举心,不可测故,无举心性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸有漏心,无自性故,无分别故,无有漏性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸无漏心,无自性故,无警觉故,非无漏性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸有贪心,如实之性非有贪心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸离贪心,如实之性非离贪心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸有瞋心,如实之性非有瞋心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸离瞋心,如实之性非离瞋心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸有痴心,如实之性非有痴心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸离痴心,如实之性非离痴心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情所有小心,无来无去亦无系属,无小心性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情所有大心,自性平等、称平等性,无大心性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情所有狭心,无起方便、无所系属,无狭心性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情所有广心,无增无减亦非远离,已远离故,无广心性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸有量心,自性空故,非有量性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸无量心,无生、无灭、无住、无异,无所依止如太虚空,非无量心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸有见心,自性平等故,五眼不行故,非有见心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸无见心,无相可得故,离种种境故,非无见心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸有对心,虚妄分别,于所缘境不自在故,非有对心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸无对心,如实无尽亦无生起,非无对心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸有上心,如实之性无所思虑,非有上心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸无上心,离诸戏论,少分心性亦不可得,非无上心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸不定心,如实之性无等等故,非不定心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情所有定心,如实之性平等平等犹若虚空,无定心性故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情不解脱心,自性远离故,无性为性故,非不解脱心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情诸解脱心,如实之性非心性故,三世推徴皆不可得,非解脱心故,说般若波罗蜜多能示世间诸法实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情不可见心,无自性故,不可见故,非真实故,越根境故,不可了故,非圆成故,尚非慧眼、天眼所取,况肉眼取!以一切眼皆不能见名不可见,此不可见亦不可得故,不可说不可见心故,说般若波罗蜜多能示世间诸法实相。 + +“如是,善现!甚深般若波罗蜜多能示如来、应、正等觉世间实相。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情若出若没。 + +“善现!云何一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情若出若没?谓诸如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情心、心所法,皆依色、受、想、行、识生;如是如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情若出若没。 + +“善现!云何诸有情类心、心所法若出若没,皆依色、受、想、行、识生?谓诸有情心、心所法,或有依色、受、想、行、识,执如来死后或有、或非有、或亦有亦非有、或非有非非有,此是谛实余皆愚妄;或有依色、受、想、行、识,执我及世间或常、或无常、或亦常亦无常、或非常非无常,此是谛实余皆愚妄;或有依色、受、想、行、识,执我及世间或有边、或无边、或亦有边亦无边、或非有边非无边,此是谛实余皆愚妄;或有依色、受、想、行、识,执命者即身或复异身,此是谛实余皆愚妄。 + +“如是,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情心、心所法若出若没,皆依色、受、想、行、识生差别之想。 + +“复次,善现!一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情若出若没。 + +“善现!云何一切如来、应、正等觉皆依般若波罗蜜多,如实证知无量无数无边有情若出若没?谓诸如来、应、正等觉皆依般若波罗蜜多,如实知色、受、想、行、识皆如真如无二无别。 + +“善现当知!如来真如即五蕴真如,五蕴真如即世间真如。所以者何?如世尊说,依止五蕴立世间名。是故,善现!五蕴真如即世间真如,世间真如即预流果真如,预流果真如即一来果真如,展转乃至一切菩萨摩诃萨行真如即诸佛无上正等菩提真如,诸佛无上正等菩提真如即一切如来、应、正等觉真如,一切如来、应、正等觉真如即一切有情真如。善现当知!若一切如来、应、正等觉真如,若一切有情真如,若一切法真如,如是真如皆不相离,非一、非异、非一异故,无尽、无二亦无二分,不可分别。 + +“善现当知!一切如来、应、正等觉皆依般若波罗蜜多,证一切法真如究竟乃得无上正等菩提。由斯故说甚深般若波罗蜜多能生诸佛,是诸佛母,能示诸佛世间实相。善现当知!一切如来、应、正等觉皆依般若波罗蜜多,能如实觉诸法真如、不虚妄性、不变异性。由如实觉真如相故,说名如来、应、正等觉。” + +尔时,善现便白佛言:“甚深般若波罗蜜多所证真如、不虚妄性、不变异性,极为甚深,难见难觉。一切如来、应、正等觉,皆用真如显示分别诸佛无上正等菩提。如是真如甚深甚妙,谁能信解?唯有不退转菩萨摩诃萨,及诸愿满大阿罗汉,并具正见善男子等,闻佛说此甚深真如能生信解。如来为彼,依自所证真如之相显示分别。” + +佛告善现:“如是!如是!如汝所说。所以者何?真如无尽是故甚深,唯有如来现等正觉无尽真如甚深之相,为诸菩萨摩诃萨众宣说开示令生信解。” + +#9 庚二 道相智加行之表相 + +#10 辛一 诸天请问 + +时,天帝释将领欲界十千天子,大梵天王将领色界二万天子,俱诣佛所,顶礼双足,却住一面,同白佛言:“如来所说诸甚深法,以何为相?” + +#10 辛二 佛答 + +尔时,佛告诸天子言:“我所说法,以空、无相、无愿、无造、无生、无灭、寂灭、涅槃、法界为相。所以者何?佛所说法无所依止,譬如虚空不可表示。 + +“天子当知!如来所说甚深法相,不堕色数,亦不堕受、想、行、识数;不依于色,亦复不依受、想、行、识。天子当知!如来所说甚深法相,世间天、人、阿素洛等不能安立亦不能坏。何以故?世间天、人、阿素洛等皆是相故,诸有相者于无相相不能安立亦不能坏。天子当知!如来所说甚深法相,不可以手安立破坏,亦不可以所余诸法安立破坏。 + +“天子当知!设有是问:‘谁立虚空?谁复能坏?’作是问者为正问耶?” + +诸天子言:“彼非正问。何以故?虚空无体、无相、无为,不可安立、不可坏故。” + +尔时,佛告诸天子言:“如是!如是!如汝所说。天子当知!我所宣说甚深法相亦复如是,不可安立、不可破坏。有佛无佛法界法尔,佛于此相如实觉知,故名如来、应、正等觉。” + +时,诸天子复白佛言:“如来所觉如是诸相,极为甚深、难见、难觉。如来现觉如是相故,于一切法无碍智转。一切如来、应、正等觉住如是相,分别开示甚深般若波罗蜜多,为诸有情集诸法相方便开示,令于般若波罗蜜多得无碍智。甚深般若波罗蜜多是诸如来常所行处,一切如来行是处故,证得无上正等菩提,为诸有情分别开示。” + +尔时,佛告诸天子言:“如是!如是!如汝所说。天子当知!一切法相如来如实觉为无相。由此因缘,我说诸佛得无碍智,无与等者。” + +#9 庚三 一切相智加行之表相 + +尔时,佛告具寿善现:“甚深般若波罗蜜多是诸佛母,能示世间诸法实相。是故如来、应、正等觉依法而住,供养恭敬、尊重赞叹、摄受、护持所依住法,此法即是甚深般若波罗蜜多。一切如来、应、正等觉,无不依止甚深般若波罗蜜多,供养恭敬、尊重赞叹、摄受、护持。所以者何?甚深般若波罗蜜多能生诸佛,能与诸佛作依止处,能示世间诸法实相。 + +“善现当知!一切如来、应、正等觉,是知恩者、能报恩者。若有问言:‘谁是知恩、能报恩者?’应正答言:‘佛是知恩、能报恩者。’何以故?一切世间知恩、报恩无过佛故。” + +具寿善现便白佛言:“云何如来、应、正等觉知恩、报恩?” + +佛告善现:“一切如来、应、正等觉,乘如是乘、行如是道,来至无上正等菩提。得菩提已,于一切时供养恭敬、尊重赞叹、摄受、护持是乘是道曾无暂废,此乘此道当知即是甚深般若波罗蜜多。是名如来、应、正等觉知恩、报恩。 + +“复次,善现!一切如来、应、正等觉无不皆依甚深般若波罗蜜多,觉一切法无实作用,以能作者无所有故。一切如来、应、正等觉无不皆依甚深般若波罗蜜多,觉一切法无所成办,以诸形质不可得故。善现当知!以诸如来、应、正等觉知依如是甚深般若波罗蜜多,觉一切法皆无作用、无所成办,于一切时供养恭敬、尊重赞叹、摄受、护持曾无间断,故名真实知恩、报恩。 + +“复次,善现!一切如来、应、正等觉无不皆依甚深般若波罗蜜多,于一切法无作、无成、无生智转,复能知此无转因缘。是故应知甚深般若波罗蜜多能生如来、应、正等觉,亦能如实示世间相。” + +尔时,善现便白佛言:“如来常说一切法性无生、无起、无知、无见。如何可说甚深般若波罗蜜多能生如来、应、正等觉,亦能如实示世间相?” + +佛告善现:“善哉!善哉!能问如来如是深义。如是!如是!如汝所说。一切法性无生、无起、无知、无见;依世俗说,甚深般若波罗蜜多能生如来、应、正等觉,亦能如实示世间相。善现!云何一切法性无生、无起、无知、无见?以一切法空、无所有、无所依止、无所系属,由此因缘,无生、无起、无知、无见。善现当知!甚深般若波罗蜜多虽能生佛示世间相,而无所生亦无所示。善现当知!甚深般若波罗蜜多不见色故名示色相,不见受、想、行、识故名示受、想、行、识相。由如是义,甚深般若波罗蜜多能示世间诸法实相。” + +具寿善现便白佛言:“云何如是甚深般若波罗蜜多不见色故名示色相,不见受、想、行、识故名示受、想、行、识相?” + +佛告善现:“甚深般若波罗蜜多由不缘色而起于识,是为不见色故名示色相;不缘受、想、行、识而起于识,是为不见受、想、行、识故名示受、想、行、识相。由如是义,甚深般若波罗蜜多能示世间诸法实相。 + +“复次,善现!甚深般若波罗蜜多能示如来、应、正等觉世间空故、世间远离故、世间清净故、世间寂静故,说名能示世间实相。何以故?以空、远离、清净、寂静,是诸世间如实相故。” + +#8 己二 殊胜表相 + +庚一 苦法智忍:知苦等法性不可思议 + +庚二 苦法智:知苦等法性不可称量 + +庚三 苦类智忍:无数量 + +#9 庚四 苦类智:无等等 + +第四分不思议等品第十三 + +尔时,具寿善现便白佛言:“世尊!甚深般若波罗蜜多为大事故出现世间,为不可思议事故出现世间,为不可称量事故出现世间,为无数量事故出现世间,为无等等事故出现世间。” + +佛告善现:“如是!如是!如汝所说。善现!云何甚深般若波罗蜜多为大事故出现世间?谓诸如来、应、正等觉,皆以济拔一切有情,无时暂舍而为大事,甚深般若波罗蜜多为此事故出现世间。善现!云何甚深般若波罗蜜多为不可思议事故、不可称量事故、无数量事故、无等等事故出现世间?谓诸如来、应、正等觉所有佛性、如来性、自然觉性、一切智性,皆不可思议、不可称量、无数量、无等等,甚深般若波罗蜜多为此事故出现世间。” + +尔时,善现复白佛言:“为但如来、应、正等觉所有佛性、如来性、自然觉性、一切智性不可思议、不可称量、无数量、无等等,为色、受、想、行、识乃至一切法亦不可思议、不可称量、无数量、无等等?” + +佛告善现:“非但如来、应、正等觉所有佛性、如来性、自然觉性、一切智性不可思议、不可称量、无数量、无等等,色、受、想、行、识乃至一切法亦不可思议、不可称量、无数量、无等等。所以者何?于一切法真实性中,心及心所皆不可得。 + +“善现当知!诸所有色、受、想、行、识及一切法皆不可施设故,不可思议、不可称量、无数量、无等等。何以故?如是诸法无自性故、不可得故、自性空故。复次,善现!诸所有色、受、想、行、识及一切法皆不可得故,不可思议、不可称量、无数量、无等等。何以故?如是诸法无限量故、无所有故、自性空故。复次,善现!诸所有色、受、想、行、识及一切法皆无限量故,不可思议、不可称量、无数量、无等等。” + +具寿善现便白佛言:“何因缘故,所有诸色、受、想、行、识及一切法皆无限量?” + +佛告善现:“于意云何?虚空为有心、心所法能限量不?” + +善现对曰:“不也!世尊!” + +佛告善现:“诸所有色、受、想、行、识及一切法亦复如是,自性空故,心、心所法不能限量。由此因缘,诸所有色、受、想、行、识及一切法无限量故,皆不可思议、不可称量、无数量、无等等。 + +“善现当知!以一切法皆不可思议、不可称量、无数量、无等等故,一切如来、应、正等觉所有佛法、如来法、自然觉法、一切智法亦不可思议、不可称量、无数量、无等等。善现当知!如是诸法皆不可思议,思议灭故;不可称量,称量灭故;无数量,数量灭故;无等等,等等灭故。善现当知!如是诸法皆不可思议,过思议故;不可称量,过称量故;无数量,过数量故;无等等,过等等故。善现当知!不可思议、不可称量、无数量、无等等者,但有增语都无真实。善现当知!不可思议、不可称量、无数量、无等等者,皆如虚空都无所有。由此因缘,一切如来、应、正等觉所有佛法、如来法、自然觉法、一切智法皆不可思议、不可称量、无数量、无等等,声闻、独觉、世间天、人、阿素洛等皆悉不能思议、称量、数量、等等此诸法故。” + +佛说如是不可思议、不可称量、无数量、无等等法时,众中有五百苾刍、二千苾刍尼不受诸漏心得解脱,复有六十邬波索迦、三十邬波斯迦于诸法中远尘离垢生净法眼,复有二万菩萨摩诃萨得无生法忍,世尊记彼于贤劫中得受无上正等菩提不退转记;即前所说邬波索迦、邬波斯迦于诸法中远尘离垢生净法眼者,佛亦记彼不久当证永尽诸漏心慧解脱。◎ + +大般若波罗蜜多经卷第五百四十七 + +#9 庚五 集法智忍:总摄一切圣者功德 + +大般若波罗蜜多经卷第五百四十八 + +三藏法师玄奘奉 诏译 + +第四分譬喻品第十四 + +◎尔时,具寿善现复白佛言:“世尊!甚深般若波罗蜜多实为大事现世间不?” + +佛告善现:“如是!如是!甚深般若波罗蜜多实为大事出现世间。所以者何?甚深般若波罗蜜多实能成办一切智智,实能成办诸独觉地,实能成办诸声闻地。善现当知!如刹帝利灌顶大王,威德自在降伏一切,以诸国事付嘱大臣,端拱无为安隐快乐,诸佛亦尔,为大法王,威德自在降伏一切,以诸佛法、若独觉法、若声闻法,悉皆付嘱甚深般若波罗蜜多普令成办。是故,善现!甚深般若波罗蜜多实为大事出现世间。 + +“善现当知!甚深般若波罗蜜多不为摄受、执着色故出现世间,不为摄受、执着受、想、行、识故出现世间;不为摄受、执着预流果故出现世间,不为摄受、执着一来、不还、阿罗汉果故出现世间;不为摄受、执着独觉菩提故出现世间,亦不为摄受、执着一切智智故出现世间。” + +具寿善现即白佛言:“云何如是甚深般若波罗蜜多亦不为摄受、执着一切智智故出现世间?” + +佛告善现:“于意云何?汝颇见有阿罗汉果可摄受、执着不?” + +善现答言:“不也!世尊!我不见有阿罗汉果可于其中摄受、执着。” + +佛告善现:“善哉!善哉!我亦不见有如来法可于其中摄受、执着。是故,善现!甚深般若波罗蜜多亦不为摄受、执着一切智智故出现世间。” + +具寿善现复白佛言:“若甚深般若波罗蜜多亦不为摄受、执着一切智智故出现世间者,新学大乘诸菩萨众,闻如是说心便惊怖不能信受。若因圆满,曾于过去无量佛所发弘誓愿,长夜积集殊胜善根,诸菩萨众闻如是说乃能信受。” + +佛告善现:“如是!如是!如汝所说。由此因缘,甚深般若波罗蜜多不应辄为新学大乘诸菩萨说。” + +#9 庚六 集法智:知智者所知之如所有性及尽所有性 + +尔时,欲界、色界天子俱白佛言:“如是般若波罗蜜多最为甚深,难见难觉,极难信解。若诸有情,曾于过去无量佛所发弘誓愿,多种善根,事多善友,乃能信解甚深般若波罗蜜多。 + +#9 庚七 集类智忍:知般若波罗蜜多不共声闻独觉 + +假使三千大千世界诸有情类,一切皆成随信行等,彼有情类若经一劫若一劫余修自地行,不如有人一日于此甚深般若波罗蜜多忍乐思惟称量观察,所获功德胜彼无量。” + +#9 庚八 集类智:知般若波罗蜜多能令速成正觉 + +尔时,佛告诸天子言:“如是!如是!如汝所说。天子当知!若善男子、善女人等闻深般若波罗蜜多,疾得涅槃, + +#9 庚九 灭法智忍:知一切法于胜义中无增无减 + +胜前所说随信行等若经一劫若一劫余修自地行,况忍乐等!” + +时,诸天子闻佛所说,欢喜踊跃顶礼世尊,右绕三匝,辞佛还宫,去会未远忽然不现,随所属界各住本宫,劝进诸天修殊胜行。 + +#9 庚十 灭法智:知修行六度之进程 + +尔时,善现复白佛言:“若菩萨摩诃萨闻深般若波罗蜜多能生信解,不沈、不没、不迷、不闷,无惑、无疑、无取、无执,欢喜听受、恭敬供养,从何处没来生此间?” + +佛告善现:“若菩萨摩诃萨闻深般若波罗蜜多能生信解,不沈、不没、不迷、不闷,无惑、无疑、无取、无执,欢喜听受、恭敬供养,乐见、乐闻、受持、读诵,常不远离甚深般若波罗蜜多及彼相应殊胜作意,爱乐随逐能说法者。如犊随母未尝暂离,乃至未得甚深般若波罗蜜多所有义趣究竟通利能为他说,终不远离甚深般若波罗蜜多及说法师经须臾顷,是菩萨摩诃萨从人中没来生此间,乘宿胜因能成是事。” + +#9 庚十一 灭类智忍:知圆满修集福智 + +具寿善现复白佛言:“颇有成就如是功德诸菩萨摩诃萨,供养承事他方佛已,从彼处没来生此耶?” + +佛告善现:“有菩萨摩诃萨供养承事他方佛已,从彼处没来生此间,成就如是殊胜功德。所以者何?是菩萨摩诃萨先从他方无量佛所,闻深般若波罗蜜多能生信解,恭敬供养、书写、受持,请问其中甚深义趣,修习、思惟、广为他说,从彼处没来生此间,乘昔善根能办是事。 + +“复次,善现!有菩萨摩诃萨从睹史多天众同分没来生人中,彼亦成就如是功德。所以者何?是菩萨摩诃萨先世已于睹史多天慈氏菩萨摩诃萨所,闻深般若波罗蜜多能生信解、恭敬供养,请问其中甚深义趣,修习、思惟、广为他说,从彼处没来生此间,乘昔善根能办是事。 + +“复次,善现!有菩萨乘善男子等,虽于前世得闻般若波罗蜜多,而不请问甚深义趣,今生人中,闻说如是甚深般若波罗蜜多,其心迷闷、疑惑、沉没,或生异解难可开悟。所以者何?不了义者心多迷闷、疑惑、沉没。 + +“复次,善现!有菩萨乘善男子等,虽于前世得闻般若波罗蜜多,亦曾请问甚深义趣或经一日、二日、三日、四日、五日,而不精进如说修行。今生人中,闻说如是甚深般若波罗蜜多,虽经少时其心坚固无能坏者,若离所闻甚深般若波罗蜜多及说法师请问深义,寻便退失心生犹豫。所以者何?此菩萨乘善男子等,虽于前世得闻般若波罗蜜多,亦能请问甚深义趣,而不精进如说修行,故于今生于深般若波罗蜜多,或时乐闻或时不乐,或时坚固或时退失,其心轻动进退非恒,如堵罗绵随风飘转。当知如是住菩萨乘善男子等新学大乘,虽有信心而不坚净,于深般若波罗蜜多不能长时信乐,随转彼于二地或随堕一,所谓声闻及独觉地。 + +#9 庚十二 灭类智:知修行大乘应外以般若波罗蜜多为依附 + +“善现当知!如泛大海所乘船破,其中诸人若不取木器物、浮囊、板片、死尸为依附者,定知溺死不至彼岸。若能取木器物、浮囊、板片、死尸为所依附,当知是类终不没死,得至安隐大海彼岸,无损无害受诸快乐。住菩萨乘善男子等亦复如是,有于大乘虽成少分信敬爱乐,而不摄受甚深般若波罗蜜多为所依附。当知彼类中道退没,不能证得一切智智,谓堕声闻或独觉地。若于大乘有信、有忍、有乐、有欲、有精进、有胜解、有不放逸、有胜意乐、有舍、有敬、有欣、有喜、有清净心、有于无上正等菩提不舍善轭,复能摄受甚深般若波罗蜜多为所依附。当知此类终不中道退入声闻或独觉地,定证无上正等菩提,能尽未来利乐一切。 + +#9 庚十三 道法智忍:知修行大乘须内以本有菩萨种性为根本 + +“复次,善现!如有男子或诸女人,执持坏瓶诣河取水,若池、若井、若泉、若渠,当知此瓶不久烂坏。何以故?是瓶未熟,不堪盛水,终归地故。如是,善现!有菩萨乘善男子等,虽于大乘有信、有忍、有乐、有欲、有精进、有胜解、有不放逸、有胜意乐、有舍、有敬、有欣、有喜、有清净心、有于无上正等菩提不舍善轭,而不摄受甚深般若波罗蜜多方便善巧,当知彼类中道退没,不能证得一切智智,谓堕声闻或独觉地。 + +“复次,善现!如有男子或诸女人,持烧熟瓶诣河取水,若池、若井、若泉、若渠,当知此瓶终不烂坏。何以故?是瓶善熟,堪任盛水,极坚牢故。如是,善现!有菩萨乘善男子等,若于大乘有信、有忍,广说乃至有于无上正等菩提不舍善轭,复能摄受甚深般若波罗蜜多方便善巧,当知此类终不中道退入声闻或独觉地,定证无上正等菩提,能尽未来利乐一切。 + +#9 庚十四 道法智:知修行大乘须修习般若波罗蜜多之方便善巧 + +“复次,善现!如有商人无善巧智,船在海岸未固修营,即持财物安置其上,牵入水中速便进发,当知是船中道坏没,人船财物各散异处,如是商人无善巧智,丧失身命及诸财宝。如是,善现!有菩萨乘善男子等,虽于大乘有信、有忍,广说乃至有于无上正等菩提不舍善轭,而不摄受甚深般若波罗蜜多方便善巧,当知彼类中道退没,不能证得一切智智,谓堕声闻或独觉地。 + +“复次,善现!如有商人有善巧智,先在海岸固修船已,方牵入水知无穿穴,后持财物置上而去,当知是船必不坏没,人物安隐达所至处。如是,善现!有菩萨乘善男子等,若于大乘有信、有忍,广说乃至有于无上正等菩提不舍善轭,复能摄受甚深般若波罗蜜多方便善巧,当知此类终不中道退入声闻或独觉地,定证无上正等菩提,能尽未来利乐一切。何以故?若菩萨乘善男子等,能于大乘有信、有忍,广说乃至有于无上正等菩提不舍善轭,复能摄受甚深般若波罗蜜多方便善巧,中间法尔不堕声闻及独觉地,必证无上正等菩提,与诸有情常作饶益。 + +#9 庚十五 道类智忍:知修大乘须为宣说般若波罗蜜多之善知识所扶助 + +“复次,善现!譬如有人年百二十,老耄衰朽复加众病,所谓风病、热病、痰病或三杂病。于意云何?是老病人颇从床座自能起不?” + +善现对曰:“不也!世尊!” + +佛告善现:“是人设有扶令起立,亦无力行一俱卢舍、或二、或三。何以故?极老病故。如是,善现!有菩萨乘善男子等,设于大乘有信、有忍,广说乃至有于无上正等菩提不舍善轭,若不摄受甚深般若波罗蜜多方便善巧,当知彼类不证无上正等菩提,退堕声闻或独觉地。何以故?远离般若波罗蜜多方便善巧,法应尔故。 + +“复次,善现!譬如有人年百二十,老耄衰朽复加众病,谓风、热、痰或三杂病,是老病人欲从床座起往他处而自不能。有二健人各扶一腋,徐策令起而告之言:‘莫有所难,随意欲往,我等两人终不相弃,必达所趣安隐无损。’如是,善现!有菩萨乘善男子等,若于大乘有信、有忍,广说乃至有于无上正等菩提不舍善轭,复能摄受甚深般若波罗蜜多方便善巧,当知此类终不中道退堕声闻或独觉地,定证无上正等菩提,转妙法轮度有情众。” + +#9 庚十六道类智:于一切法皆无味着 + +第四分天赞品第十五 + +尔时,具寿善现便白佛言:“世尊!新学大乘诸菩萨摩诃萨云何应住甚深般若波罗蜜多?云何应学甚深般若波罗蜜多?” + +佛告善现:“新学大乘诸菩萨摩诃萨欲住、欲学甚深般若波罗蜜多,先应亲近、承事、供养真净善友。若能宣说甚深般若波罗蜜多,教授教诫诸菩萨者,当知是为真净善友。谓能宣说甚深般若波罗蜜多,教授教诫新学大乘诸菩萨言:‘来!善男子!汝应勤修布施、净戒、安忍、精进、静虑、般若波罗蜜多。汝勤修时,应无所得而为方便,与诸有情平等共有回向无上正等菩提。汝回向时,勿以色故而取无上正等菩提,勿以受、想、行、识故而取无上正等菩提。何以故?善男子!若无所取便能证得一切智智。汝善男子!于声闻地及独觉地勿生贪着。’如是,善现!真净善友教授教诫新学大乘诸菩萨摩诃萨,令其渐入甚深般若波罗蜜多。” + +#8 已三 作用之表相 + +#9 庚一 略标 + +尔时,善现复白佛言:“诸菩萨摩诃萨能为难事,依如是相布施、净戒、安忍、精进、静虑、般若波罗蜜多,发趣无上正等菩提,不欲自在而取灭度。观极重苦诸有情界,求证无上正等菩提,欲尽未来方便拔济,而不怖畏生死流转。” + +佛告善现:“如是!如是!诸菩萨摩诃萨能为难事,谓为利乐诸世间故,发趣无上正等菩提,哀愍世间诸有情故,发趣无上正等菩提,作是誓言:‘我为济拔诸世间故,为诸世间作舍宅故,为诸世间作归依故,为示世间究竟道故,为诸世间作洲渚故,为诸世间作光明故,为诸世间作导首故,为诸世间作所趣故,发勤精进趣向无上正等菩提。’ + +#9 庚二 广释 + +“云何菩萨摩诃萨作是誓言:我为济拔诸世间故,发勤精进趣向无上正等菩提?善现!菩萨摩诃萨见诸世间流转生死,受种种苦不能出离,为断彼苦,发勤精进趣向无上正等菩提,是为菩萨摩诃萨作是誓言:我为济拔诸世间故,发勤精进趣向无上正等菩提。 + +“云何菩萨摩诃萨为诸世间作舍宅故,发勤精进趣向无上正等菩提?善现!菩萨摩诃萨欲为世间说一切法皆不和合,发勤精进趣向无上正等菩提,是为菩萨摩诃萨为诸世间作舍宅故,发勤精进趣向无上正等菩提。” + +具寿善现白言:“世尊!云何一切法皆不和合?” + +佛告善现:“诸色不和合,即色不相属,若色不相属,即色无生灭,若色无生灭,即色不和合,受、想、行、识亦复如是,诸菩萨摩诃萨欲为世间说一切法皆有如是不和合相,发勤精进趣向无上正等菩提。 + +“云何菩萨摩诃萨为诸世间作归依故,发勤精进趣向无上正等菩提?善现!菩萨摩诃萨为令一切生老病死愁叹忧苦所逼世间,速得解脱生等众苦,入无余依般涅槃界,发勤精进趣向无上正等菩提,是为菩萨摩诃萨为诸世间作归依故,发勤精进趣向无上正等菩提。 + +“云何菩萨摩诃萨为示世间究竟道故,发勤精进趣向无上正等菩提?善现!菩萨摩诃萨欲为世间说如是法,谓色彼岸即非色,如彼岸,色亦尔;受、想、行、识彼岸即非受、想、行、识,如彼岸,受、想、行、识亦尔。如色、受、想、行、识彼岸,一切法亦尔。” + +具寿善现白言:“世尊!若如色、受、想、行、识彼岸,一切法亦尔者,岂不菩萨摩诃萨于一切法已现等觉?所以者何?此中都无分别事故。” + +佛告善现:“如是!如是!于彼岸中无所分别,无分别故,诸菩萨摩诃萨于一切法已现等觉。善现当知!诸菩萨摩诃萨甚为难事,虽能如是观一切法,而不作证亦不沉没,作是念言:‘我于此法现等觉已,证得无上正等菩提,为诸世间宣说开示。’是为菩萨摩诃萨为示世间究竟道故,发勤精进趣向无上正等菩提。 + +“云何菩萨摩诃萨为诸世间作洲渚故,发勤精进趣向无上正等菩提?善现!譬如大小海河池中高地可居,周回水断说为洲渚。如是,善现!色乃至识前后际断,由此断故一切法断,此一切法前后际断,即是寂灭微妙涅槃,亦是如实无颠倒性。善现!菩萨摩诃萨求证无上正等菩提,欲为有情说如是法,令速趣入如是涅槃,是为菩萨摩诃萨为诸世间作洲渚故,发勤精进趣向无上正等菩提。 + +“云何菩萨摩诃萨为诸世间作光明故,发勤精进趣向无上正等菩提?善现!菩萨摩诃萨为破长夜无明卵㲉所覆有情重黑闇故,为疗有情无知翳目令明朗故,为与一切愚冥有情作慧明故,发勤精进趣向无上正等菩提,是为菩萨摩诃萨为诸世间作光明故,发勤精进趣向无上正等菩提。 + +“云何菩萨摩诃萨为诸世间作导首故,发勤精进趣向无上正等菩提?善现!菩萨摩诃萨欲为世间宣说开示诸色本性无生无灭,欲为世间宣说开示受、想、行、识本性无生无灭,欲为世间宣说开示诸异生法本性无生无灭,欲为世间宣说开示声闻、独觉、菩萨、佛法本性无生无灭,欲为世间宣说开示一切法本性无生无灭,发勤精进趣向无上正等菩提,是为菩萨摩诃萨为诸世间作导首故,发勤精进趣向无上正等菩提。 + +“云何菩萨摩诃萨为诸世间作所趣故,发勤精进趣向无上正等菩提?善现!菩萨摩诃萨欲为世间宣说开示色以虚空为所趣,受、想、行、识亦以虚空为所趣,一切法皆以虚空为所趣,欲为世间宣说开示色无所趣与虚空等,受、想、行、识亦无所趣与虚空等,一切法皆无所趣与虚空等。如太虚空无来、无去、无作、无住、无所安立、无生、无灭,诸法亦尔,皆如虚空无分别故无所分别。何以故?诸色空故无来无去,受、想、行、识空故亦无来无去,一切法空故皆无来无去。所以者何?一切法皆以空、无相、无愿为趣,彼于是趣不可超越;一切法皆以无造、无作为趣,彼于是趣不可超越;一切法皆以无生、无起为趣,彼于是趣不可超越;一切法皆以无性为趣,彼于是趣不可超越;一切法皆以如梦为趣,彼于是趣不可超越;一切法皆以无我为趣,彼于是趣不可超越;一切法皆以无边为趣,彼于是趣不可超越;一切法皆以寂静、涅槃、无取、无舍、无来、无去、最极、寂灭为趣,彼于是趣不可超越。诸菩萨摩诃萨欲为世间说如是法,发勤精进趣向无上正等菩提,是为菩萨摩诃萨为诸世间作所趣故,发勤精进趣向无上正等菩提。” + +#8 己四 自性之表相 + +#9 庚一 问答发端 + +尔时,善现便白佛言:“谁于如是甚深般若波罗蜜多能生信解?”佛告善现:“若菩萨摩诃萨久修菩萨摩诃萨行,已曾供养无量诸佛,于诸佛所发弘誓愿,所种善根皆已纯熟,无量善友摄受护念,乃于如是甚深般若波罗蜜多能生信解。”具寿善现复白佛言:“若于如是甚深般若波罗蜜多能生信解,是菩萨摩诃萨以何为自性?” + +#9 庚二 正说 + +佛告善现:“是菩萨摩诃萨以调伏、远离为自性。” + +具寿善现复白佛言:“是菩萨摩诃萨当何所趣?” + +佛告善现:“是菩萨摩诃萨当趣一切智智。” + +具寿善现复白佛言:“若菩萨摩诃萨趣一切智智者,能觉是趣亦能宣说,亦与有情作所归趣。” + +佛告善现:“如是!如是!如汝所说。若菩萨摩诃萨趣一切智智者,能觉是趣亦能宣说,亦与有情作所归趣。” + +具寿善现复白佛言:“是菩萨摩诃萨能为难事,谓着如是坚固甲胄:‘我当度脱无量无数无边有情令入涅槃,而诸有情都不可得。’” + +佛告善现:“如是!如是!如汝所说。 + +“复次,善现!是菩萨摩诃萨所著甲胄,不属色不为色,不属受、想、行、识不为受、想、行、识,不属声闻、独觉地不为声闻、独觉地,不属菩萨地不为菩萨地,不属佛地不为佛地。所以者何?以一切法皆无所属、皆无所为。诸菩萨摩诃萨行深般若波罗蜜多,能着如是坚固甲胄。” + +具寿善现复白佛言:“若菩萨摩诃萨能着如是坚固甲胄行深般若波罗蜜多,即于三处无所住着。何等为三?一、声闻地。二、独觉地。三、如来地。” + +佛告善现:“汝观何义作如是说?” + +善现答言:“甚深般若波罗蜜多无所住着、无能修者、无所修法、无修时处,亦无由此而能修习。所以者何?非此般若波罗蜜多甚深义中而有少分实法可得名能修等。世尊!若修虚空是修般若波罗蜜多,若修一切法是修般若波罗蜜多,若修无所著是修般若波罗蜜多,若修无所有是修般若波罗蜜多,若修无摄受是修般若波罗蜜多,若修除遣法是修般若波罗蜜多。” + +佛告善现:“如是!如是!如汝所说。 + +“复次,善现!应依如是甚深般若波罗蜜多最胜行住,观察不退转菩萨摩诃萨。若菩萨摩诃萨虽行如是甚深般若波罗蜜多,而于如是甚深般若波罗蜜多无所执着,当知是为不退转菩萨摩诃萨。 + +“复次,善现!诸有不退转菩萨摩诃萨,不执他语及他教敕以为真要,非但信他而有所作,闻说如是甚深般若波罗蜜多,其心不惊、不恐、不怖、不沈、不没、无疑、无悔亦不迷闷,于深般若波罗蜜多,欢喜乐闻、深心信受、书持、读诵、如理思惟、为他演说常无厌倦,当知如是不退转菩萨摩诃萨,先世已闻甚深般若波罗蜜多所有义趣。何以故?由此不退转菩萨摩诃萨,闻说如是甚深般若波罗蜜多,其心不惊、不恐、不怖,广说乃至为他演说无厌倦故。” + +具寿善现便白佛言:“若菩萨摩诃萨闻说如是甚深般若波罗蜜多,其心不惊、不恐、不怖,广说乃至为他演说常无厌倦,是菩萨摩诃萨云何修行甚深般若波罗蜜多?” + +佛告善现:“是菩萨摩诃萨相续、随顺、趣向、临入一切智智,应作如是行深般若波罗蜜多。” + +具寿善现复白佛言:“是菩萨摩诃萨云何相续、随顺、趣向、临入一切智智行深般若波罗蜜多?” + +佛告善现:“若菩萨摩诃萨相续、随顺、趣向、临入虚空而行深般若波罗蜜多,是为菩萨摩诃萨相续、随顺、趣向、临入一切智智行深般若波罗蜜多。所以者何?以一切智智无量无边,若无量无边即非色亦非受、想、行、识,无得、无现观、无证、无道果,无智、无识,无生、无灭,无成、无坏、无起、无尽,无修、无作、无所从来亦无所去,无方、无域亦无所住,唯可说为无量无边。 + +“善现当知!虚空无量无边故一切智智亦无量无边,一切智智无量无边故无能证者,非色能证亦非受、想、行、识能证,非布施波罗蜜多能证,亦非净戒乃至般若波罗蜜多能证。所以者何?色即是一切智智,受、想、行、识即是一切智智,布施波罗蜜多即是一切智智,净戒乃至般若波罗蜜多即是一切智智。” + +时,天帝释将领欲界诸天子众,大梵天王将领色界诸天子众,来诣佛所顶礼双足,右绕三匝却住一面,合掌恭敬俱白佛言:“如是般若波罗蜜多最为甚深、难见、难测。” + +尔时,佛告诸天子言:“如是!如是!如汝所说。天子当知!我观此义初得无上正等觉时,宴坐思惟不乐说法,心作是念:‘我所证法微妙甚深,非诸世间卒能信受。’天子当知!我所证法即是般若波罗蜜多,此法甚深,非能证、非所证,无证处、无证时。天子当知!虚空甚深故此法甚深,我甚深故此法甚深,一切法无来无去故此法甚深,一切法无量无边故此法甚深,一切法无生无灭故此法甚深,一切法无染无净故此法甚深。” + +时,诸天子复白佛言:“甚奇!世尊!希有!善逝!佛所说法微妙甚深,一切世间难信难解。所以者何?佛所说法不为摄受、不为弃舍,世间有情多行摄受或行弃舍,是故世间于佛所说不能信解。” + +尔时,佛告诸天子言:“如是!如是!如汝所说。” + +第四分真如品第十六之一 + +尔时,具寿善现便白佛言:“世尊!佛所说法微妙甚深,于一切法皆能随顺无所障碍;佛所说法无障碍相,与虚空等都无足迹;佛所说法无待对相,无第二故;佛所说法无与等相,无敌对故;佛所说法都无足迹,无生灭故;佛所说法都无生灭,一切生灭不可得故;佛所说法都无蹊径,一切蹊径不可得故;佛所说法都无戏论,分别言说不可得故。” + +佛告善现:“如是!如是!如汝所说。” + +尔时,欲界、色界天子便白佛言:“大德善现是真佛子随如来生。所以者何?大德善现诸所说法,一切皆与空相应故。” + +尔时,善现告欲、色界诸天子言:“汝等说我是真佛子随如来生。云何善现随如来生?谓随如来真如生故,一切生法不可得故。所以者何?如来真如无来无去本性不生,善现真如亦无来去本性不生,故说善现随如来生。如来真如即一切法真如,一切法真如即如来真如,如是真如无真如性,亦无不真如性,善现真如亦复如是,故说善现随如来生。如来真如常住为相,善现真如亦复如是,故说善现随如来生。如来真如无变异、无分别、遍诸法转,善现真如亦复如是,故说善现随如来生。如来真如无所挂碍,一切法真如亦无所挂碍,若如来真如,若一切法真如,同一真如无二无别、无造无作。如是真如常真如相无时非真如相,以常真如相、无时非真如相故,无二无别,善现真如亦复如是,故说善现随如来生。如来真如于一切法无忆念、无分别,善现真如亦复如是,故说善现随如来生。如来真如无别异、不可得,善现真如亦复如是,故说善现随如来生。如来真如不离一切法真如,一切法真如不离如来真如,如是真如常真如相,无时非真如相,善现真如亦复如是,故说善现随如来生。虽说随生而无所随生,以善现真如不异佛故。如来真如非过去非未来非现在,一切法真如亦非过去非未来非现在,善现真如亦复如是,故说善现随如来生。善现真如随如来真如,如来真如随过去真如,过去真如随如来真如,如来真如随未来真如,未来真如随如来真如,如来真如随现在真如,现在真如随如来真如,如来真如随三世真如,三世真如随如来真如,三世真如、如来真如无二无别,一切法真如、善现真如亦无二无别,故说善现随如来生。一切菩萨摩诃萨行真如,即是诸佛无上正等菩提真如。诸菩萨摩诃萨由真如故,证得无上正等菩提,说名如来、应、正等觉。我于如是诸法真如深生信解,故说善现随如来生。当说如是真如相时,于此三千大千世界六种变动,如佛证得无上正等大菩提时等无差别,故说善现随如来生。 + +“天子当知!然我善现不由色故随如来生,不由受、想、行、识故随如来生,不由预流果故随如来生,不由一来、不还、阿罗汉果故随如来生,不由独觉菩提故随如来生,不由诸佛无上正等菩提故随如来生,但由真如故随如来生。 + +“天子当知!然我善现不随色生,不随受、想、行、识生,不随预流果生,不随一来、不还、阿罗汉果故生,不随独觉菩提生,不随诸佛无上正等菩提生,但随真如生故,我善现随如来生。” + +尔时,舍利子白佛言:“世尊!如是真如甚深微妙。” + +尔时,佛告舍利子言:“如是!如是!如汝所说。如是真如甚深微妙。” + +当说如是真如相时,三百苾刍永尽诸漏心得解脱,成阿罗汉;复有五百苾刍尼众远尘离垢,于诸法中得净法眼;五千天子宿业成熟,俱时证得无生法忍;六十菩萨不受诸漏心得解脱。 + +尔时,佛告舍利子言:“今此众中六十菩萨,已于过去五百佛所亲近供养,虽修布施、净戒、安忍、精进、静虑,而不摄受甚深般若波罗蜜多方便善巧,起别异想修别异行,不入菩萨正性离生故,于今时虽闻大法,而宿因力,不受诸漏心得解脱。是故,舍利子!诸菩萨摩诃萨虽有菩萨道空、无相、无愿,而不摄受甚深般若波罗蜜多方便善巧,便证实际,堕于声闻或独觉地。 + +“舍利子!譬如有鸟,其身广大百逾缮那,或复二百乃至五百逾缮那量,翅羽未成或已衰朽。是鸟从彼三十三天,投身而下趣赡部洲,于其中路欻作是念:‘我今还上三十三天。’于汝意云何?是鸟能还三十三天不?” + +舍利子曰:“不也!世尊!” + +佛告舍利子:“是鸟中路或作是愿:‘至赡部洲,当令我身无损无苦。’于意云何?是鸟所愿可得遂不?” + +舍利子曰:“不也!世尊!是鸟至此赡部洲时,其身决定有损有苦,或致命终,或复近死。何以故?是鸟身大从远而堕,翅羽未成或衰朽故。” + +佛告舍利子:“如是!如是!如汝所说。有菩萨乘善男子等亦复如是,虽发无上正等觉心,已经殑伽沙数大劫,勤修布施、净戒、安忍、精进、静虑,亦修空、无相、无愿解脱门,而不摄受甚深般若波罗蜜多方便善巧,便证实际,遂堕声闻或独觉地。 + +“舍利子!是菩萨乘善男子等,虽念三世诸佛世尊戒蕴、定蕴、慧蕴、解脱蕴、解脱智见蕴,而心取相,不知不见诸佛世尊如是五蕴真实功德,但闻空声取相执着,回向无上正等菩提,便堕声闻或独觉地。何以故?舍利子!是诸菩萨由不摄受甚深般若波罗蜜多方便善巧,虽持种种所修善根回向菩提,而无力故。” + +时,舍利子便白佛言:“如我解佛所说义者,若菩萨乘善男子等,远离般若波罗蜜多方便善巧,虽具无量福德资粮,而于菩提或得、不得。是故菩萨摩诃萨众欲得无上正等菩提,决定不应远离般若波罗蜜多方便善巧。” + +尔时,佛告舍利子言:“如是!如是!如汝所说。” + +大般若波罗蜜多经卷第五百四十八 + +#7 戊二 论 + +#8 己一 略标 + +由何相當知 即性相分三 謂智勝作用 自性亦所相 + +#8 己二 广释 + +#9 庚一 三智加行之表相 + +#10 辛一 一切智加行之表相 + +知如來出現 世界無壞性 有情諸心行 心略及外散 + +知無盡行相 有貪等及無 廣大無量心 識無見無對 + +及心不可見 了知心出等 除此等所餘 知真如行相 + +能仁證真如 復為他開示 是攝一切智 品中諸智相 + +#10 辛二 道相智加行之表相 + +空性及無相 并捨棄諸願 無生無滅等 法性無破壞 + +無作無分別 差別無性相 道相智品中 許為諸智相 + +#10 辛三 一切相智加行之表相 + +依真如法住 恭敬善知識 尊重及承事 供養無作用 + +及了知遍行 能示現無見 世間真空相 說知及現見 + +不思議寂靜 世間滅想滅 一切相智中 是說諸智相 + +#9 庚二 殊胜表相 + +#10 辛一 略标 + +由難思等別 勝進諦行境 十六剎那心 說名殊勝相 + +#10 辛二 广释 + +不思議無等 超越諸量數 攝聖智者了 證知諸不共 + +通疾無增減 修行及正行 所緣與所依 一切并攝受 + +及無味當知 十六殊勝性 由此勝餘道 故名殊勝道 + +#9 庚三 作用之表相 + +作利樂濟拔 諸人歸依處 宅舍示究竟 洲渚及導師 + +并任運所作 不證三乘果 最後作所依 此即作用相 + +#9 庚四 自性之表相 + +離煩惱狀貌 障品及對治 難性與決定 所為無所得 + +破一切執著 及名有所緣 不順無障礙 無跡無去生 + +真如不可得 此十六自性 由如所相事 許為第四相 + +#6 丁六 经论说顺解脱分 + +#7 戊一 经 + +#8 己一 明下劣众生难证菩提 + +大般若波罗蜜多经卷第五百四十九 + +三藏法师玄奘奉 诏译 + +第四分真如品第十六之二 + +尔时,欲界、色界天子恭敬合掌,俱白佛言:“世尊!般若波罗蜜多最为甚深极难信解。世尊!无上正等菩提亦最甚深极难信解。世尊!无上正等菩提既难信解亦难证得。” + +尔时,佛告诸天子言:“如是!如是!如汝所说。若诸有情成就恶慧,下劣精进、下劣胜解,无方便善巧,为恶友所摄,于深般若波罗蜜多实难信解,于佛无上正等菩提亦难信解,由斯无上正等菩提亦难证得。” + +#8 己二 明三类所化机 + +#9 庚一 利根 + +尔时,善现便白佛言:“如世尊说诸佛无上正等菩提既难信解亦难证得,云何无上正等菩提极难信解亦难证得?此中都无可证得者。何以故?以一切法毕竟空故,空中无法能证余法。所以者何?以一切法自性皆空,若为永断如是法故说如是法,此法亦空。由此义故,于佛无上正等菩提,若能证者、若所证法、若能知者、若所知法一切皆空。由此因缘,我作是念:‘诸佛无上正等菩提易可信解,易可证得,非难信解、非难证得,以一切法无不皆空,如是信知便证得故。’” + +佛告善现:“诸佛无上正等菩提,能信解者及证得者不可得故,说难信解及难证得;诸佛无上正等菩提非实有故,说难信解及难证得;诸佛无上正等菩提无积集故,说难信解及难证得。” + +#9 庚二 钝根 + +时,舍利子语善现言:“以一切法毕竟空故,诸佛无上正等菩提极难信解、甚难可得。所以者何?以一切法都无自性皆如虚空。譬如虚空不作是念:‘我于无上正等菩提,当生信解及当证得。’诸法亦尔,皆如虚空都无自性,是故无上正等菩提极难信解、甚难证得。复次,善现!若佛无上正等菩提易可信解,易可证得,则不应有如殑伽沙诸菩萨众发趣无上正等菩提后还退转,故知无上正等菩提极难信解、甚难证得。” + +#9 庚三 中根 + +时,具寿善现白舍利子言:“于意云何?色于无上正等菩提有退转不?” + +舍利子言:“不也!善现!” + +“于意云何?受、想、行、识于无上正等菩提有退转不?” + +舍利子言:“不也!善现!” + +“于意云何?离色,有法于无上正等菩提有退转不?” + +舍利子言:“不也!善现!” + +“于意云何?离受、想、行、识,有法于无上正等菩提有退转不?” + +舍利子言:“不也!善现!” + +“于意云何?色真如于无上正等菩提有退转不?” + +舍利子言:“不也!善现!” + +“于意云何?受、想、行、识真如于无上正等菩提有退转不?” + +舍利子言:“不也!善现!” + +“于意云何?离色真如,有法于无上正等菩提有退转不?” + +舍利子言:“不也!善现!” + +“于意云何?离受、想、行、识真如,有法于无上正等菩提有退转不?” + +舍利子言:“不也!善现!” + +“复次,舍利子!于意云何?色能证无上正等菩提不?” + +舍利子言:“不也!善现!” + +“于意云何?受、想、行、识能证无上正等菩提不?” + +舍利子言:“不也!善现!” + +“于意云何?离色,有法能证无上正等菩提不?” + +舍利子言:“不也!善现!” + +“于意云何?离受、想、行、识,有法能证无上正等菩提不?” + +舍利子言:“不也!善现!” + +“于意云何?色真如能证无上正等菩提不?” + +舍利子言:“不也!善现!” + +“于意云何?受、想、行、识真如能证无上正等菩提不?” + +舍利子言:“不也!善现!” + +“于意云何?离色真如,有法能证无上正等菩提不?” + +舍利子言:“不也!善现!” + +“于意云何?离受、想、行、识真如,有法能证无上正等菩提不?” + +舍利子言:“不也!善现!” + +“复次,舍利子!于意云何?真如于无上正等菩提有退转不?” + +舍利子言:“不也!善现!” + +“于意云何?离真如,有法于无上正等菩提有退转不?” + +舍利子言:“不也!善现!” + +“复次,舍利子!于意云何?真如能证无上正等菩提不?” + +舍利子言:“不也!善现!” + +“于意云何?离真如,有法能证无上正等菩提不?” + +舍利子言:“不也!善现!” + +“复次,舍利子!于意云何?颇有法非即色等、非离色等,非即真如、非离真如,于无上正等菩提有退转不?” + +舍利子言:“不也!善现!” + +“复次,舍利子!于意云何?颇有法非即色等、非离色等,非即真如、非离真如,能证无上正等菩提不?” + +舍利子言:“不也!善现!” + +时,具寿善现谓舍利子言:“若一切法谛故、住故,都无所有皆不可得,说何等法可于无上正等菩提而有退转?” + +时,舍利子语善现言:“如仁者所说,无生法忍中都无有法,亦无菩萨可于无上正等菩提说有退转。若尔,何故佛说三种住菩萨乘补特伽罗,但应说一?又如仁说,应无三乘菩萨差别,唯应有一正等觉乘。” + +时,满慈子便白具寿舍利子言:“应问善现:为许有一菩萨乘不?然后可难:应无三乘建立差别,唯应有一正等觉乘。” + +时,舍利子问善现言:“为许有一菩萨乘不?” + +善现报言:“于意云何?真如中颇有三乘差别不?” + +舍利子言:“不也!善现!真如尚无三相可得,况于其内有别三乘!” + +“于意云何?真如中颇有一乘可得不?” + +舍利子言:“不也!善现!真如尚无一相可得,况于其内而有一乘!” + +“于意云何?颇真如中见有一法、一菩萨不?” + +舍利子言:“不也!善现!” + +时,具寿善现谓舍利子言:“若一切法谛故、住故,都无所有、皆不可得,菩萨亦尔,云何尊者可作是念:此是声闻、此是独觉、此是菩萨,如是为三、如是为一? + +“舍利子!若菩萨摩诃萨于一切法都无所得,于法真如亦无所得,于诸菩萨亦无所得,于诸如来亦无所得,当知是为真实菩萨。舍利子!若菩萨摩诃萨闻说真如无差别相,不惊、不怖、不沈、不没,是菩萨摩诃萨疾证无上正等菩提,于其中间定无退转。” + +尔时,世尊赞善现曰:“善哉!善哉!汝今乃能为诸菩萨善说法要,汝之所说皆是如来威神之力。善现当知!若菩萨摩诃萨于法真如不可得相深生信解,知一切法无差别相,闻说如是诸法真如不可得相,不惊、不怖、不沈、不没,是菩萨摩诃萨疾证无上正等菩提。” + +时,舍利子便白佛言:“若菩萨摩诃萨成就此法,疾证无上正等觉耶?” + +尔时佛告舍利子言:“如是!如是!若菩萨摩诃萨成就此法,疾证无上正等菩提,不堕声闻、独觉等地。” + +#7 戊二 论 + +#8 己一 顺解脱分之总相 + +無相善施等 正行而善巧 一切相品中 謂順解脫分 + +#8 己二 顺解脱分所摄五法 + +緣佛等淨信 精進行施等 意樂圓滿念 無分別等持 + +知一切諸法 智慧共為五 利易證菩提 許鈍根難證 + +#8 己三 三类所化机 + +此煖等所緣 讚一切此情 緣彼心平等 說有十種相 + +自滅除諸惡 安住布施等 亦令他住彼 讚同法為頂 + +如是當知忍 自他住聖諦 如是第一法 成熟有情等 + +#6 丁七 经论说顺抉择分 + +#7 戊一 经 + +尔时,善现便白佛言:“若菩萨摩诃萨欲疾证得所求无上正等菩提,应云何住?云何应学?” + +佛告善现:“若菩萨摩诃萨欲疾证得所求无上正等菩提,于诸有情应平等住,于诸有情应起等心、慈心、悲心、喜心、舍心、利益心、安乐心、调柔心、恭敬心、无损心、无害心、质直心、如父心、如母心、如兄弟心、如姊妹心、为依怙心,亦以此心应与其语。善现当知!若菩萨摩诃萨欲疾证得所求无上正等菩提,于诸有情应如是住、应如是学。” + +#7 戊二 论 + +從順抉擇分 見修諸道中 所住諸菩薩 是此不退眾 + +#6 丁八 经论说有学不退转众 + +#7 戊一 经 + +#8 己一 略标 + +第四分不退相品第十七 + +尔时,善现复白佛言:“我等当以何行、状、相,知是不退转菩萨摩诃萨?” + +佛告善现:“若菩萨摩诃萨能如实知若异生地、若声闻地、若独觉地、若菩萨地、若如来地,如是诸地虽说有异,而于诸法真如性中无变异、无分别,皆无二、无二分。是菩萨摩诃萨虽实悟入诸法真如,亦实安住诸法真如无所分别,以无所得为方便故。是菩萨摩诃萨既实悟入诸法真如,虽闻真如与一切法无二无别而无疑滞。是菩萨摩诃萨既实安住诸法真如,出真如已,虽闻诸法种种异相,而于其中无所执着亦无疑滞,不作是念:‘此事如实,此不如实。’虽无此念,而于诸法能如实知。是菩萨摩诃萨终不轻尔而发语言,诸有所说皆引义利,若无义利终不发言。是菩萨摩诃萨终不观他好恶长短,平等怜愍而为说法。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#8 己二 广释 + +#9 庚一 加行位之不退转表相 + +#10 辛一 于真归依处断尽疑惑 + +“复次,善现!一切不退转菩萨摩诃萨,终不乐观外道沙门、婆罗门等形相言说。彼诸沙门、婆罗门等,于所知法实知实见,或能施设正见法门,无有是处。是菩萨摩诃萨终不礼敬诸余天神,如诸世间外道所事,亦终不以种种花鬘、涂散等香、衣服、璎珞、宝幢、幡盖、伎乐、灯明供养天神及诸外道。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#10 辛二 断尽八无暇处 + +“复次,善现!一切不退转菩萨摩诃萨,不堕恶趣,不受女身,亦不生于卑贱种族,除为度脱彼类有情现同类生方便摄受。 + +#10 辛三 善法亦令他住 + +是菩萨摩诃萨常乐受行十善业道,自离害生命乃至邪见,亦劝他离害生命乃至邪见,自受行十善业道,亦劝他受行十善业道,示现、劝导、赞励、庆喜、摄受有情令其坚固。是菩萨摩诃萨乃至梦中亦不现行十恶业道,亦不现起恶不善心,乃至梦中亦常受学十善业道。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#10 辛四 所修善法还施众生 + +“复次,善现!一切不退转菩萨摩诃萨,诸所受持、思惟、读诵种种经典令极通利,皆为利乐一切有情,恒作是念:‘我以此法为诸有情宣说开示,当令一切法愿满足。复持如是法施善根,与诸有情平等共有回向无上正等菩提。’若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#10 辛五 于甚深义无复犹豫 + +“复次,善现!一切不退转菩萨摩诃萨,于佛所说甚深法门,终不生于疑惑、犹豫,亦不迷闷,欢喜信受; + +#10 辛六 修慈愍业 + +诸所发言皆为饶益,知量而说言词柔软; + +#10 辛七 离睡眠等盖 + +寝寐轻少, + +#10 辛八 摧伏一切烦恼随眠 + +烦恼不行, + +#10 辛九 常具正念正智 + +入出往来心不迷谬;恒时安住正念正知,进止威仪、行住坐卧、举足下足亦复如是;诸所游履必观其地,安详系念直视而行,运动语言常无卒暴; + +#10 辛十 卧具衣服皆常洁净 + +诸所受用卧具、衣服皆常香洁无诸臭秽,亦无垢腻虮虱等虫;恒乐清净常无疾病, + +#10 辛十一 身不生虫 + +身中无有八万户虫。所以者何?是诸菩萨善根增上出过世间,如如善根渐渐增长,如是如是身心清净。由此因缘,是诸菩萨身心坚固犹若金刚,不为违缘之所侵恼。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。” + +#10 辛十二 心无歪曲 + +尔时,善现便白佛言:“是菩萨摩诃萨云何应知心常清净?” + +佛告善现:“是菩萨摩诃萨如如善根渐渐增长,如是如是心中一切谄曲、矫诳皆永不行。由此因缘,一切烦恼及余不善皆永息灭,亦超声闻及独觉地,疾趣无上正等菩提,是故应知心常清净。 + +#10 辛十三 无悭吝毁戒等过 + +“复次,善现!一切不退转菩萨摩诃萨,不重利养、不徇名誉,心离嫉悭、身无愆失,于诸饮食、衣服、卧具、医药、资财不生耽着, + +#10 辛十四 诸所造作皆依般若波罗蜜多 + +闻甚深法心不迷谬,智慧深固恭敬信受,随所听闻皆能会入甚深般若波罗蜜多,诸所造作世间事业亦依般若波罗蜜多方便善巧会入法性,不见一事出法性者,设有不与法性相应,亦能方便会入般若波罗蜜多甚深理趣,由斯不见出法性者。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#10 辛十五 为利他故欲往地狱 + +“复次,善现!一切不退转菩萨摩诃萨,设有恶魔现前化作八大地狱,复于一一大地狱中,化作无量百千菩萨,皆被猛焰交彻烧然,各受辛酸楚毒大苦;作是化已,告不退转诸菩萨言:‘此诸菩萨皆受无上正等菩提不退转记,故堕如是大地狱中,恒受如斯种种剧苦。汝等菩萨既受无上正等菩提不退转记,亦当堕此大地狱中受诸剧苦。佛授汝等大地狱中受极苦记,非授无上正等菩提不退转记。是故汝等应疾舍弃大菩提心,可得免脱此地狱苦,当生天上或生人中受诸妙乐。’是时,不退转菩萨摩诃萨见闻此事,其心不动亦不惊疑,但作是念:‘受不退转记菩萨摩诃萨若堕恶趣,受诸苦恼不能免脱,必无是处。今见闻者定是恶魔所作所说,皆非实有。’若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#10 辛十六 不为他所引入邪道 + +“复次,善现!一切不退转菩萨摩诃萨,设有恶魔作沙门像,来至其所说如是言:‘汝先所闻受持、读诵甚深般若波罗蜜多相应经典皆是邪说,应疾舍弃勿谓为真。汝等若能速疾弃舍,我当教汝真净佛法,令汝速证无上菩提。汝先所闻非真佛语,是文颂者虚诳撰集,我之所说是真佛语。’善现当知!若菩萨摩诃萨闻如是语心动惊疑,当知未受不退转记。若菩萨摩诃萨闻如是说,其心不动亦不惊疑,但随无作、无相、无生法性而住,是菩萨摩诃萨诸有所作不信他语,不随他教而便动转,如阿罗汉诸有所为不信他语,现证法性无惑无疑,一切恶魔不能倾动。如是不退转菩萨摩诃萨,一切声闻、独觉、外道、诸恶魔等不能破坏,令于菩提而生退屈。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#10 辛十七 于魔了知是魔 + +“复次,善现!一切不退转菩萨摩诃萨,设有恶魔来至其所,诈现亲友作如是言:‘汝等所行是生死法非菩萨行,汝等今应修尽苦道,速尽众苦得般涅槃。’是时,恶魔即为菩萨说堕生死相似道法,告菩萨言:‘此是真道,汝修此道,速尽一切生老病死得般涅槃。现在苦身尚应厌舍,况更求受当来苦身!宜自审思舍先所信。’是菩萨摩诃萨闻彼语时,其心不动亦不惊疑,但作是念:‘如是说者定是恶魔。’时,彼恶魔复语菩萨:‘欲闻菩萨无益行耶?谓诸菩萨经如殑伽沙数大劫,以无量种上妙供具供养诸佛,复于殑伽沙等佛所,修无量种难行苦行,亲近承事如殑伽沙诸佛世尊,请问无量无边菩萨所应修道;殑伽沙等诸佛世尊,如所请问次第为说。是诸菩萨摩诃萨众如佛教诫,精勤修学经无量劫,尚不能证所求无上正等菩提,况今汝等可能证得!’是时,菩萨虽闻其言,而心不动亦无疑惑。 + +“时,彼恶魔复于是处,化作无量苾刍形像,告菩萨曰:‘此诸苾刍皆于过去经无数劫修无量种难行苦行,而不能得无上菩提,今皆退住阿罗汉果,云何汝等能证菩提?’是诸菩萨见闻此已,即作是念:‘定是恶魔为扰乱我作如是事,定无菩萨修行般若波罗蜜多至圆满位,不证无上正等菩提,退住声闻、独觉等地。’复作是念:‘若诸菩萨如佛所说修菩萨行,不证无上正等菩提,必无是处。当知今者所见所闻,定是恶魔所作所说。’若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#9 庚二 见道者不退转之表相 + +#10 辛一 于无上菩提心无动转 + +“复次,善现!一切不退转菩萨摩诃萨,设有恶魔作苾刍像来至其所,欲令厌背无上菩提,作如是言:‘一切智智与虚空等,无性为性,自相本空,诸法亦尔,与虚空等,无性为性。自相空中,无有一法可名能证,无有一法可名所证,证处、证时及由此证亦不可得。既一切法与虚空等,无性为性,自相本空,汝等云何唐受勤苦,求证无上正等菩提?汝先所闻诸菩萨众应求无上正等菩提,皆是魔说非真佛语。汝等应舍求证无上正等觉心,勿于长夜为诸有情自受勤苦,虽行种种难行苦行,欲求菩提终不能得。’是菩萨摩诃萨闻说如是呵谏语时,能审观察:‘此恶魔事,欲退败我大菩提心,我今不应信受彼说退失所发大菩提心,应更坚牢终无动转。’若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#10 辛二 为利有情随欲受身 + +“复次,善现!一切不退转菩萨摩诃萨,欲入初静虑乃至第四静虑,即随意能入。是菩萨摩诃萨虽入四静虑,而不受彼果。为欲利乐诸有情故,随欲摄受所应受身,即随所愿皆能摄受,作所作已即能舍之,是故虽能入诸静虑,而不随彼势力受生。为度有情还生欲界,虽生欲界而不染欲。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#10 辛三 心无散乱恒住正念 + +“复次,善现!一切不退转菩萨摩诃萨,不贵名声、不著称誉,于有情类无恚恨心,常欲令其利益安乐;往来入出无散乱心,进止威仪恒住正念; + +#10 辛四 受用诸欲而无染着 + +为有情故,虽处居家,而于其中不生贪着,虽现受欲而常厌怖,如涉险路心恒惊恐,虽有所食惶惧不安,但念何时出斯险难; + +#10 辛五 常修梵行 + +虽现受用种种珍财,而于其中不起贪爱,不以邪命非法自活,宁自殒没不损于人。所以者何?是诸菩萨行深般若波罗蜜多,是人中尊、人中善士、人中豪贵、人中牛王、人中莲华、人中龙象、人中师子、人中勇健、人中调御、人中英杰,本为利乐一切有情,现处居家方便饶益,岂为自活侵损于人?所以者何?是诸菩萨甚深般若波罗蜜多方便善巧所任持故。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +“复次,善现!一切不退转菩萨摩诃萨,有执金刚药叉神王常随左右密为守护,不为一切人、非人等邪魅威力损害身心。 + +#10 辛六 正命清净 + +由此因缘,是诸菩萨乃至无上正等菩提,身意泰然常无扰乱,具丈夫相诸根圆满,心行调善恒修净命,不行幻术、占相、吉凶、咒禁、鬼神、合和汤药、诱诳卑末、结好贵人、侮傲圣贤、亲昵男女,不为名利自赞毁他,不以染心瞻顾戏笑,戒见清净志性淳质。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#10 辛七 不乐观察论说文艺王贼城邑等事 + +“复次,善现!一切不退转菩萨摩诃萨,于诸世间文章伎艺,虽得善巧而不爱着,达一切法不可得故,皆杂秽语邪命摄故;于诸世俗外道书论,虽亦善知而不乐着,达一切法本性空故;又诸世俗外道书论,所说理事多有增减,于菩萨道非随顺故。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +“复次,善现!一切不退转菩萨摩诃萨,复有所余诸行、状、相,吾当为汝分别解说。谓彼菩萨行深般若波罗蜜多,达诸法空,不乐观察论说众事、王事、贼事、军事、战事、城邑、聚落、象马、车乘、衣服、饮食、卧具、花香、男女、好丑、园林、池沼、山海等事,不乐观察论说药叉、罗刹娑等诸鬼神事,不乐观察论说街衢、市肆、楼阁、商贾等事,不乐观察论说歌舞、伎乐、俳优、戏谑等事,不乐观察论说洲渚、桥梁、船筏、珠宝等事,不乐观察论说星辰、风雨、寒热、吉凶等事,不乐观察论说种种法义相违、文颂等事,不乐观察论说异生、声闻、独觉相应之事,但乐观察论说般若波罗蜜多相应之事。 + +#10 辛八 于所证自地法决定无疑 + +“善现当知!是菩萨摩诃萨常不远离甚深般若波罗蜜多相应作意,常不远离萨婆若心,不好乖违、乐和诤讼,常希正法、不爱非法,恒慕善友、不乐恶友,好出法言、离非法言,乐见如来、欣出家众;十方国土有佛世尊宣说法要,愿往生彼亲近、供养、听闻正法。 + +“善现当知!是菩萨摩诃萨多从欲界、色界天没,生赡部洲中国人趣,善于伎艺、咒术、经书、地理、天文及诸法义;或生边地大国大城,与诸有情作大饶益。 + +“善现当知!是菩萨摩诃萨终不自疑:‘我为退转、为不退转?’于自地法亦不生疑:‘为有、为无?’于诸魔事善能觉了。如预流者于自地法终不生疑,设有恶魔种种惑乱不能倾动,如是不退转菩萨摩诃萨于自地法定不生疑,妙觉魔事不随魔力。如有造作无间业者,彼无间心恒常随逐,乃至命尽不能舍离,设起余心不能遮伏。此诸菩萨亦复如是,不退转心恒常随逐,安住菩萨不退转地,世间天、人、阿素洛等不能动坏自所得法,于诸魔业善能觉知,所证法中常无疑惑;虽生他世,亦不发起声闻、独觉相应之心,亦不自疑:‘我于来世能证无上佛菩提。’不安住自地,不随他缘,于自地法无能坏者。所以者何?是诸菩萨成就无动无退转智,一切恶缘不能倾动,其心坚固逾于金刚。设有恶魔作佛形像,来到其所作如是言:‘汝今应求阿罗汉果永尽诸漏入般涅槃。汝未堪受大菩提记,亦未证得无生法忍。汝今未有不退转地诸行、状、相,如来不应授汝无上大菩提记。’是菩萨摩诃萨闻彼语时心无变动,不退、不没、无惊、无怖,但作是念:‘此定恶魔或魔眷属化作佛像,来至我所作如是说,若真佛说不应有异。’ + +“善现当知!若菩萨摩诃萨闻彼语时,能作如是观察忆念:‘定是恶魔化为佛像,令我远离甚深般若波罗蜜多,令我弃舍所求无上正等菩提,是故不应随彼所说。’时,魔惊怖即便隐没。是菩萨摩诃萨定已安住不退转地,过去诸佛久已授彼大菩提记。所以者何?是菩萨摩诃萨具足成就不退转地诸行、状、相故,能觉知恶魔事业,令彼隐没更不复现。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +#10 辛九 摄护正法不惜身命 + +“复次,善现!诸有不退转菩萨摩诃萨行深般若波罗蜜多,摄护正法不惜身命,况余珍财、朋友、眷属!为护正法勇猛精进,恒作是念:‘如是正法即是诸佛清净法身,一切如来恭敬供养。我今摄护过去未来现在佛法,即为摄护三世诸佛清净法身故,我今应不惜身命、珍财、亲友摄护此法。’复作是念:‘如是正法通属三世诸佛世尊,我亦堕在未来佛数。佛已授我大菩提记,由此因缘,诸佛正法即是我法,我应摄护不惜身命、珍财、亲友。我未来世得作佛时,亦为有情宣说此法。’是菩萨摩诃萨见斯义利,摄护如来所说正法不惜身命,乃至菩提常无懈倦。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +“复次,善现!诸有不退转菩萨摩诃萨,闻诸如来、应、正等觉所说正法无惑无疑,闻已受持能不忘失,乃至无上正等菩提,已得闻持陀罗尼故。” + +尔时,善现便白佛言:“是菩萨摩诃萨但闻如来、应、正等觉所说正法无惑无疑,乃至菩提常不忘失;为闻菩萨及诸声闻、天、龙、药叉、人非人等所说正法,亦能于彼无惑无疑,乃至菩提常不忘失?” + +佛告善现:“是菩萨摩诃萨普闻一切有情言音、文字、义理皆能通达,无惑无疑、常不忘失。所以者何?是菩萨摩诃萨于诸法中得无生忍已,善通达诸法实性,闻皆随顺并无疑惑。又得闻持陀罗尼故,常能忆念终无忘失。若菩萨摩诃萨成就如是诸行、状、相,定于无上正等菩提不复退转。 + +“善现当知!是为不退转菩萨摩诃萨诸行、状、相。” + +#9 庚三 修道者不退转之表相 + +#10 辛一 修道甚深 + +#11 壬一 善现赞请 + +第四分空相品第十八之一 + +尔时,具寿善现复白佛言:“世尊!如是不退转菩萨摩诃萨,成就希有广大功德。世尊能如殑伽沙劫宣说不退转菩萨摩诃萨诸行、状、相,由佛所说诸行、状、相,显示不退转菩萨摩诃萨成就无量殊胜功德。惟愿如来、应、正等觉复为宣说甚深般若波罗蜜多相应义处,令诸菩萨安住其中,修诸功德速疾圆满。” + +#11 壬二 佛为说修道甚深义处 + +佛告善现:“善哉!善哉!汝今乃能为诸菩萨摩诃萨众,请问如来、应、正等觉甚深般若波罗蜜多相应义处,令诸菩萨安住其中,修诸功德速疾圆满。善现当知!甚深般若波罗蜜多相应义处,谓空、无相、无愿、无作、无生、无灭、非有、寂静、离染、涅槃。” + +具寿善现复白佛言:“为但此法名深般若波罗蜜多相应义处,为一切法皆得名为甚深般若波罗蜜多相应义处?” + +佛告善现:“余一切法亦得名为甚深般若波罗蜜多相应义处。所以者何?谓一切色、受、想、行、识亦得名为甚深般若波罗蜜多相应义处。 + +“善现!云何说一切色、受、想、行、识亦得名为甚深般若波罗蜜多相应义处? + +#11 壬三 明修道远离增减二边 + +善现当知!如真如甚深故色亦甚深,如真如甚深故受、想、行、识亦甚深,故一切色、受、想、行、识亦得名为甚深般若波罗蜜多相应义处。 + +“复次,善现!如色真如甚深故色亦甚深,如受、想、行、识真如甚深故受、想、行、识亦甚深,故一切色、受、想、行、识亦得名为甚深般若波罗蜜多相应义处。 + +“复次,善现!若处无色名色甚深,若处无受、想、行、识名受、想、行、识甚深,故一切色、受、想、行、识亦得名为甚深般若波罗蜜多相应义处。” + +尔时,善现复白佛言:“世尊甚奇微妙方便遮遣诸色显示涅槃,遮遣受、想、行、识显示涅槃。” + +#10 辛二 修道之相貌 + +#11 壬一 谛审思惟称量观察 + +佛告善现:“如是!如是!如汝所说。善现当知!诸菩萨摩诃萨应于如是甚深般若波罗蜜多相应义处,审谛思惟, + +#11 壬二 于顺抉择分见修道境重加思量观察 + +应作是念:‘我今应如甚深般若波罗蜜多所教而住,我今应如甚深般若波罗蜜多所说而学。’善现当知!若菩萨摩诃萨能于如是甚深般若波罗蜜多相应义处,审谛思惟,如深般若波罗蜜多所教而住,如深般若波罗蜜多所说而学。是菩萨摩诃萨由能如是依深般若波罗蜜多,审谛思惟、精勤修学, + +#11 壬三 由下中上品后后转胜 + +乃至一日,所获福聚无量无边。 + +“如贪行人复多寻伺,与他美女共为期契,彼女限碍不获赴期,此人欲心炽盛流注。善现!于意云何?其人欲心于何处转?” + +“世尊!此人欲心于女处转,谓作是念:‘彼何当来,共会于此欢娱戏乐?’” + +“善现!于意云何?其人昼夜几欲念生?” + +“世尊!此人昼夜欲念甚多。” + +佛告善现:“若菩萨摩诃萨依深般若波罗蜜多审谛思惟,精勤修学乃至一日,所超生死流转劫数,与贪行人经一昼夜所起欲念其数量等。 + +“善现当知!是菩萨摩诃萨随依如是甚深般若波罗蜜多,审谛思惟精勤修学,随能解脱能碍无上正等菩提所有过失,是故菩萨依深般若波罗蜜多,审谛思惟、精勤修学,疾证无上正等菩提。 + +#10 辛三 九品修道 + +#11 壬一 下下品修道 + +“善现当知!若菩萨摩诃萨依深般若波罗蜜多,审谛思惟精勤修学,经一昼夜所获功德,胜诸菩萨离深般若波罗蜜多,经如殑伽沙数大劫,布施功德无量无边。 + +#11 壬二 下中品修道 + +“复次,善现!若菩萨摩诃萨依深般若波罗蜜多,审谛思惟精勤修学,经一昼夜所获功德,胜诸菩萨离深般若波罗蜜多,经如殑伽沙数大劫,以诸供具供养预流、一来、不还、应果、独觉、菩萨、如来,布施功德无量无边。 + +#11 壬三 下上品修道 + +“复次,善现!若菩萨摩诃萨依深般若波罗蜜多所说而住,经一昼夜,精勤修学布施、净戒、安忍、精进、静虑、般若,所获功德,胜诸菩萨离深般若波罗蜜多,经如殑伽沙数大劫,精勤修学布施、净戒、安忍、精进、静虑、般若,所获功德无量无边。 + +#11 壬四 中下品修道 + +“复次,善现!若菩萨摩诃萨依深般若波罗蜜多所说而住,经一昼夜,以微妙法施诸有情所获功德,胜诸菩萨离深般若波罗蜜多,经如殑伽沙数大劫,以微妙法施诸有情,所获功德无量无边。 + +#11 壬五 中中品修道 + +“复次,善现!若菩萨摩诃萨依深般若波罗蜜多所说而住,经一昼夜,修三十七菩提分法及余善根所获功德,胜诸菩萨离深般若波罗蜜多,经如殑伽沙数大劫,修三十七菩提分法及余善根,所获功德无量无边。 + +#11 壬六 中上品修道 + +“复次,善现!若菩萨摩诃萨依深般若波罗蜜多所说而住,经一昼夜,修行种种财施、法施,住空闲处系念思惟,先所修行种种福业,与诸有情平等共有回向无上正等菩提所获功德,胜诸菩萨离深般若波罗蜜多,经如殑伽沙数大劫,修行种种财施、法施,住空闲处系念思惟,先所修行种种福业,与诸有情平等共有回向无上正等菩提,所获功德无量无边。 + +#11 壬七 上下品修道 + +“复次,善现!若菩萨摩诃萨依深般若波罗蜜多所说而住,经一昼夜,普缘三世诸佛世尊及诸弟子功德善根,和合称量现前随喜,与诸有情平等共有回向无上正等菩提所获功德,胜诸菩萨离深般若波罗蜜多,经如殑伽沙数大劫,普缘三世诸佛世尊及诸弟子功德善根,和合称量现前随喜,与诸有情平等共有回向无上正等菩提,所获功德无量无边。” + +大般若波罗蜜多经卷第五百四十九 + +#11 壬八 上中品修道 + +大般若波罗蜜多经卷第五百五十 + +三藏法师玄奘奉 诏译 + +第四分空相品第十八之二 + +尔时,善现便白佛言:“如世尊说:诸行皆是分别所作,从妄想生都非实有。以何因缘,此诸菩萨所获功德无量无边?” + +佛告善现:“如是!如是!如汝所说。然诸菩萨行深般若波罗蜜多,亦说诸行分别所作,空无所有、虚妄不实。所以者何?是诸菩萨善学内空乃至无性自性空已,观察诸行无不皆是分别所作,空无所有、虚妄不实。是菩萨摩诃萨如如观察诸行皆是分别所作,空无所有、虚妄不实, + +#11 壬九 上上品修道 + +如是如是便能不离甚深般若波罗蜜多,如如不离甚深般若波罗蜜多,如是如是所获功德无量无边。” + +#10 辛四 大菩提之表相 + +#11 壬一 无量无边 + +具寿善现便白佛言:“无量、无边有何差别?” + +佛告善现:“言无量者,谓于是处其量永息;言无边者,谓于此中数不可尽。” + +#11 壬二 自性是空 + +具寿善现复白佛言:“颇有因缘,色亦可说无量无边,受、想、行、识亦可说无量无边耶?” + +佛告善现:“有因缘故,色亦可说无量无边,受、想、行、识亦可说无量无边。” + +具寿善现复白佛言:“何因缘故,色亦可说无量无边,受、想、行、识亦可说无量无边耶?” + +佛告善现:“色性空故,亦可说为无量无边;受、想、行、识性空故,亦可说为无量无边。” + +具寿善现复白佛言:“为但色、受、想、行、识空,为一切法亦皆空耶?” + +佛告善现:“我先岂不说一切法皆空?” + +善现答言:“佛虽常说诸法皆空,而诸有情不知、见、觉,故我今者复作是问。” + +佛告善现:“非但色、受、想、行、识空,我说诸法无不皆空。” + +#11 壬三 体不可说说为无量等皆是方便假说 + +具寿善现复白佛言:“无量无边是何增语?” + +佛告善现:“无量无边是空、无相、无愿增语。” + +具寿善现复白佛言:“无量无边为但是空、无相、无愿,为更有余义耶?” + +佛告善现:“于意云何?我岂不说一切法门无不皆空?” + +善现答言:“如来常说一切法门无不皆空。” + +佛告善现:“空即无尽,空即无量,空即无边,空即余义。是故,善现!一切法门虽有种种言说差别,而义无异。 + +“善现当知!诸法空理皆不可说,如来方便说为无尽,或说无量,或说无边,或说为空,或说无相,或说无愿,或说无作,或说无生,或说无灭,或说非有,或说寂静,或说离染,或说涅槃。诸如是等无量法门义实无异,皆是如来、应、正等觉为诸有情方便演说。” + +#11 壬四 无增无减 + +尔时,善现便白佛言:“世尊甚奇方便善巧,诸法实性不可宣说,而为有情方便显示。如我解佛所说义者,诸法实性皆不可说。” + +佛告善现:“如是!如是!诸法实性皆不可说。所以者何?一切法性皆毕竟空,无能宣说毕竟空者。” + +具寿善现复白佛言:“不可说义有增减不?” + +佛告善现:“不可说义无增无减。” + +具寿善现复白佛言:“若不可说义无增无减者,则应布施乃至般若波罗蜜多亦无增减;若此六种波罗蜜多亦无增减,则应六种波罗蜜多皆无所有。若此六种波罗蜜多皆无所有,云何菩萨摩诃萨修行布施乃至般若波罗蜜多,求证无上正等菩提,能近无上正等菩提?” + +#11 壬五 虽无增减而有方便善巧 + +佛告善现:“如是!如是!布施等六波罗蜜多皆无增减亦无所有,然诸菩萨摩诃萨修行般若波罗蜜多时方便善巧,不作是念:‘如是布施乃至般若波罗蜜多有增有减。’但作是念:‘唯有名想谓为布施乃至般若波罗蜜多。’是菩萨摩诃萨修行布施乃至般若波罗蜜多时,持此布施乃至般若波罗蜜多俱行作意,并依此起心及善根,与诸有情平等共有回向无上正等菩提。如佛无上正等菩提微妙甚深而起回向,由此回向方便善巧增上势力,能证无上正等菩提。” + +#11 壬六 菩萨安住真如作意便近无上菩提 + +尔时,善现便白佛言:“何谓无上正等菩提?” + +佛告善现:“诸法真如是谓无上正等菩提。善现当知!诸法真如无增减故,诸佛无上正等菩提亦无增减。若菩萨摩诃萨数多安住如是真如相应作意,便近无上正等菩提。如是,善现!不可说义虽无增减,而不退失真如作意,波罗蜜多虽无增减,而不退失所求无上正等菩提。若菩萨摩诃萨安住如是真如作意,修行布施乃至般若波罗蜜多,便近无上正等菩提。” + +#10 辛五 大菩提之甚深性 + +#11 壬一 善现陈请 + +第四分深功德品第十九 + +尔时,善现便白佛言:“是菩萨摩诃萨为初心起能证无上正等菩提,为后心起能证无上正等菩提?若初心起能证无上正等菩提,初心起时后心未起无和合义;若后心起能证无上正等菩提,后心起时前心已灭无和合义。如是前后心、心所法,进退推徴无和合义,如何可得积集善根?若诸善根不可积集,云何菩萨善根圆满,能证无上正等菩提?” + +#11 壬二 佛说灯喻 + +佛告善现:“于意云何?如然灯时,为初焰能燋炷,为后焰能燋炷?” + +善现答言:“如我意解,非初焰能燋炷亦不离初焰,非后焰能燋炷亦不离后焰。” + +佛告善现:“于意云何?炷为燋不?” + +善现答言:“世间现见其炷实燋。” + +佛告善现:“诸菩萨摩诃萨亦复如是,非初心起能证无上正等菩提亦不离初心,非后心起能证无上正等菩提亦不离后心,而诸菩萨摩诃萨行深般若波罗蜜多方便善巧,令诸善根增长圆满,能证无上正等菩提。” + +#11 壬三 明八种甚深性 + +#12 癸一 生相甚深 + +具寿善现便白佛言:“如是缘起理趣甚深,谓诸菩萨摩诃萨非初心起能证无上正等菩提亦不离初心,非后心起能证无上正等菩提亦不离后心,非即如是诸心起故能证无上正等菩提,非离如是诸心起故能证无上正等菩提,而诸菩萨摩诃萨能证无上正等菩提。” + +#12 癸二 灭相甚深 + +佛告善现:“于意云何?若心灭已,更可生不?” + +善现对曰:“不也!世尊!是心已灭,不可更生。” + +佛告善现:“于意云何?若心已生,有灭法不?” + +善现对曰:“如是!世尊!若心已生,定有灭法。” + +佛告善现:“于意云何?有灭法心,非当灭不?” + +善现对曰:“不也!世尊!有灭法心,决定当灭。” + +#12 癸三 真如甚深 + +佛告善现:“于意云何?无灭法心,为可生不?” + +善现对曰:“不也!世尊!无灭法心,无可生义。” + +佛告善现:“于意云何?无生法心,为可灭不?” + +善现对曰:“不也!世尊!无生法心,无可灭义。” + +佛告善现:“于意云何?无生灭法心,为可生灭不?” + +善现对曰:“不也!世尊!无生灭法心,无可生灭义。” + +佛告善现:“于意云何?若法已灭,更可灭不?” + +善现对曰:“不也!世尊!若法已灭,不可更灭。” + +佛告善现:“于意云何?若法已生,更可生不?” + +善现对曰:“不也!世尊!若法已生,不可更生。” + +佛告善现:“于意云何?诸法实性有生灭不?” + +善现对曰:“不也!世尊!诸法实性无生无灭。” + +佛告善现:“于意云何?心住为如心真如不?” + +善现对曰:“如是!世尊!如心真如,心如是住。” + +佛告善现:“于意云何?若心住如真如,是心为如真如、实际性常住不?” + +善现对曰:“不也!世尊!是心非如真如、实际其性常住。” + +佛告善现:“于意云何?诸法真如极甚深不?” + +善现对曰:“如是!世尊!诸法真如极为甚深。” + +#12 癸四 心与真如不即离甚深 + +佛告善现:“于意云何?即真如是心不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于意云何?离真如有心不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于意云何?即心是真如不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于意云何?离心有真如不?” + +善现对曰:“不也!世尊!” + +#12 癸五 真如非能见甚深 + +佛告善现:“于意云何?真如为能见真如不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于意云何?汝为见有实真如不?” + +善现对曰:“不也!世尊!” + +#12 癸六 修行甚深 + +佛告善现:“于意云何?若菩萨摩诃萨能如是行,是行深般若波罗蜜多不?” + +善现对曰:“如是!世尊!若菩萨摩诃萨能如是行,是行深般若波罗蜜多。” + +佛告善现:“于意云何?若菩萨摩诃萨能如是行,为行何处?” + +善现对曰:“若菩萨摩诃萨能如是行,都无行处。所以者何?若菩萨摩诃萨能如是行,都不见有能行、所行、行时、行处,诸现行法皆不转故。” + +#12 癸七 所行胜义谛甚深 + +佛告善现:“于意云何?若菩萨摩诃萨行深般若波罗蜜多时,为何所行?” + +善现对曰:“若菩萨摩诃萨行深般若波罗蜜多时,行胜义谛,此中一切分别无故。” + +佛告善现:“于意云何?若菩萨摩诃萨行深般若波罗蜜多时,于胜义谛为取相不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于意云何?若菩萨摩诃萨行深般若波罗蜜多时,于胜义谛虽不取相而行相不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于意云何?是菩萨摩诃萨于胜义谛为坏相不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于意云何?是菩萨摩诃萨于胜义谛为遣相不?” + +善现对曰:“不也!世尊!” + +#12 癸八 方便善巧甚深 + +佛告善现:“是菩萨摩诃萨行深般若波罗蜜多时,于胜义谛若不坏相亦不遣相,云何能断取相之想?” + +善现答言:“是菩萨摩诃萨行深般若波罗蜜多时,不作是念:‘我今坏相,我今遣相,断取相想,亦不修学断相想道。’若菩萨摩诃萨精勤修学菩萨行时修断想道,尔时一切佛法未满,应堕声闻或独觉地。世尊!是菩萨摩诃萨成就最胜方便善巧,虽于诸相及取相想深知过失,而不坏断速证无相。何以故?一切佛法未圆满故。” + +佛告善现:“如是!如是!如汝所说。” + +#7 戊二 论 + +#8 己一 略标 + +從順抉擇分 見修諸道中 所住諸菩薩 是此不退眾 + +#8 己二 广释 + +#9 庚一 加行位不退转之表相 + +#10 辛一 略标 + +由說於色等 轉等二十相 即住決擇分 所有不退相 + +#10 辛二 广释 + +由於色等轉 盡疑惑無暇 自安住善法 亦令他安住 + +於他行施等 深義無猶豫 身等修慈行 不共五蓋住 + +摧伏諸隨眠 具正念正知 衣等恆潔淨 身不生諸蟲 + +心無曲杜多 及無慳吝等 成就法性行 利他求地獄 + +非他能牽引 魔開顯似道 了知彼是魔 諸佛歡喜行 + +由此二十相 諸住煖頂忍 世第一法眾 不退大菩提 + +#9 庚二 见道者不退转之表相 + +#10 辛一 略标 + +見道中忍智 十六剎那心 當知此即是 菩薩不退相 + +#10 辛二 广释 + +遣除色等想 心堅退小乘 永盡靜慮等 所有諸支分 + +身心輕利性 巧便行諸欲 常修淨梵行 善清淨正命 + +蘊等諸留難 資糧及根等 戰事慳吝等 加行及隨行 + +破彼所依處 不得塵許法 安住三地中 於自地決定 + +為法捨身命 此十六剎那 是住見道位 智者不退相 + +#9 庚三 修道者不退转之表相 + +#10 辛一 广释大乘修道 + +#11 壬一 明修道甚深 + +修道謂甚深 其深空性等 甚深離增益 及損減邊際 + +#11 壬二 修习之相貌 + +於順決擇分 見道修道中 有數思稱量 及觀察修道 + +#11 壬三 九品修道后后转胜 + +此常相續故 諸下中上品 由下下等別 許為九種相 + +#11 壬四 释难 + +#12 癸一释修道九品决定之难 + +經說無數等 非勝義可爾 佛許是世俗 大悲等流果 + +#12 癸二 释修道无断无得之难 + +不可說性中 不可有增減 則所說修道 何斷復何得 + +如所說菩提 此辦所欲事 菩提真如相 此亦彼為相 + +#12 癸三 释修道不得菩提之难 + +初心證菩提 非理亦非後 由燈喻道理 顯八深法性 + +#10 辛二 重明修道之甚深性 + +生滅與真如 所知及能知 正行并無二 巧便皆甚深 + +#6 丁九 经论说三有与寂静平等之加行 + +#7 戊一 经 + +尔时,舍利子问具寿善现言:“若菩萨摩诃萨梦中修空、无相、无愿三解脱门,于深般若波罗蜜多有增益不?” + +善现答言:“若菩萨摩诃萨觉时修此三解脱门,于深般若波罗蜜多有增益者,彼梦中修亦有增益。何以故?佛说梦、觉无差别故。舍利子!若菩萨摩诃萨已得般若波罗蜜多,觉时修行甚深般若波罗蜜多,既名安住甚深般若波罗蜜多,是菩萨摩诃萨梦中修行甚深般若波罗蜜多,亦名安住甚深般若波罗蜜多。三解脱门于深般若波罗蜜多能为增益亦复如是,若梦、若觉义无缺减。” + +时,舍利子问善现言:“若善男子、善女人等梦中造业,为有增益或损减不?” + +善现答言:“佛说一切法皆如梦所见,若梦造业无增减者,觉时所造业亦应无增减。然于梦中所造诸业无胜增减,要至觉时忆想分别梦中所造,乃令彼业成胜增减。如人梦中断他命已,后至觉时忆想分别,深自庆快其业便增,若深悔愧其业便减。” + +时,舍利子谓善现言:“有人觉时断他命已,后至梦中或自庆快或深悔愧,令觉时业有增减不?” + +善现报言:“亦有增减。然彼增减不及觉时明了,心中所作胜故。” + +时,舍利子问善现言:“无所缘事,若思若业俱不得生,要有所缘思业方起。梦中思业缘何而生?” + +善现答言:“如是!如是!若梦若觉无所缘事思业不生,要有所缘思业方起。何以故?舍利子!要于见闻觉知法中有觉慧转,由斯起染或复起净。若无见闻觉知,诸法无觉慧转亦无染净。由此故知,若梦若觉有所缘事思业乃生,无所缘事思业不起。” + +时,舍利子问善现言:“佛说所缘皆离自性,如何可说有所缘事思业乃生,无所缘事思业不起?” + +善现答言:“虽诸思业及所缘事皆离自性,而由自心取相分别,世俗施设说有所缘。由此所缘起诸思业,如说无明为缘生行,行为缘生识等,皆由自心取相分别说有所缘,非实有性。” + +时,舍利子谓善现言:“若菩萨摩诃萨梦中行施,施已回向无上菩提,是菩萨摩诃萨为实以施回向无上佛菩提不?” + +善现报言:“慈氏菩萨久已受得大菩提记,一生所系定当作佛,善能酬答一切难问,现在此会宜请问之,补处慈尊定当为答。” + +时,舍利子如善现言,恭敬请问慈氏菩萨。 + +时,慈氏菩萨还诘善现言:“尊者所言慈氏菩萨能答此义,何等名为慈氏菩萨?为名能答?为色能答?为受、想、行、识能答?为显能答?为形能答?为色空能答?为受、想、行、识空能答耶?且慈氏名不能答,色亦不能答,受、想、行、识亦不能答,显亦不能答,形亦不能答,色空亦不能答,受、想、行、识空亦不能答。所以者何?我都不见有法能答、有法所答,答处、答时及由此答皆亦不见。我都不见有法能记、有法所记,记处、记时及由此记皆亦不见。何以故?以一切法本性皆空都无所有、无二无别,毕竟推徴不可得故。” + +时,舍利子问慈氏菩萨言:“仁者所说法为如所证不?” + +慈氏菩萨摩诃萨言:“我所说法非如所证。所以者何?我所证法不可说故。又,舍利子!我都不见有所证法自性可得,如心所思,如言所说。又,舍利子!诸法自性非身能触、非语能表、非意能念。何以故?舍利子!以一切法无自性故。” + +时,舍利子作是念言:“慈氏菩萨觉慧甚深,长夜修行甚深般若波罗蜜多能如是说。” + +尔时,佛告舍利子言:“汝心所念‘慈氏菩萨觉慧甚深,长夜修行甚深般若波罗蜜多能如是说。’者,舍利子!如汝所念。又,舍利子!于意云何?汝由是法成阿罗汉,为见此法是可说不?” + +舍利子曰:“不也!世尊!” + +佛告舍利子:“菩萨摩诃萨行深般若波罗蜜多,所证法性亦复如是不可宣说。 + +“又,舍利子!是菩萨摩诃萨不作是念:‘我由此法,于佛无上正等菩提已得受记、今得受记、当得受记。’不作是念:‘我由此法当证无上正等菩提。’若菩萨摩诃萨能如是行,是行般若波罗蜜多。若菩萨摩诃萨能如是行,不生疑惑:‘我于无上正等菩提为得、不得?’但作是念:‘我勤精进,定得无上正等菩提,已于菩提得胜力故。’若菩萨摩诃萨能如是行,是行般若波罗蜜多。 + +“又,舍利子!诸菩萨摩诃萨行深般若波罗蜜多,闻甚深法不惊、不恐、不怖、不畏、不沈、不没,于得无上正等菩提亦无怖畏,决定自知我当证故。 + +#7 戊二 论 + +諸法同夢故 不分別有靜 無業等問難 如經已盡答 + +#6 丁十 经论说严净佛土之加行 + +#7 戊一 经 + +“又,舍利子!是诸菩萨若在旷野有恶兽处亦无怖畏。所以者何?是诸菩萨为欲饶益诸有情故,能舍一切内外所有,恒作是念:‘诸有恶鬼及恶兽等欲啖我身,我当施与令其充足。由此善根,令我布施波罗蜜多速得圆满,疾近无上正等菩提。我当如是勤修正行,证得无上正等觉时,我佛土中得无一切傍生、饿鬼。’ + +“又,舍利子!是诸菩萨若在旷野有恶贼处亦无怖畏。所以者何?是诸菩萨为欲饶益诸有情故,能舍一切内外所有乐修诸善,于身、命、财无所顾吝,恒作是念:‘若诸有情竞来劫夺我诸资具,我当恭敬欢喜施与;或有因斯害我身命,我终于彼不生瞋恨,亦不发生身、语、意恶。由此因缘,令我布施、净戒、安忍波罗蜜多速得圆满,疾近无上正等菩提。我当如是勤修正行,证得无上正等觉时,我佛土中得无一切劫害、怨贼,由我佛土极清净故,亦无余恶。’ + +“又,舍利子!是诸菩萨若在旷野无水之处亦无怖畏。所以者何?菩萨法尔无诸怖畏,恒作是念:‘我当求学断诸有情渴爱之法,不应于此而生怖畏,设我由此渴乏命终,于诸有情必不舍离大悲作意施妙法水。奇哉薄福!是诸有情居在如斯无水世界。我当如是勤修正行,证得无上正等觉时,我佛土中得无如是一切燋渴乏水旷野。我当方便劝诸有情修胜福业,随所在处皆令具足八功德水。我由如是坚猛精进,方便教化一切有情。由此因缘,令我精进波罗蜜多速得圆满,疾近无上正等菩提。’ + +“又,舍利子!是诸菩萨在饥馑国亦无怖畏。所以者何?是诸菩萨被功德铠,勇猛精进严净佛土,作是愿言:‘当证无上正等觉时,我佛土中得无如是一切饥馑,诸有情类具足快乐,随意所须应念即至,如诸天上所念皆得。我当发起坚猛精进,令诸有情法愿满足,一切时处一切有情于一切种命缘资具无所乏少。’ + +“又,舍利子!是诸菩萨遇疾疫时亦无怖畏。所以者何?是诸菩萨恒审观察:‘无法名病,亦无有法可名病者,一切皆空不应怖畏。我当如是勤修正行,证得无上正等觉时,我佛土中诸有情类得无一切灾横、疾疫,精进修行殊胜正行。’ + +“又,舍利子!是诸菩萨若念无上正等菩提,经久乃得,不应怖畏。所以者何?前际劫数虽有无量,而一念顷忆念分别积集所成,后际劫数应知亦尔,是故菩萨不应于中生久远想,而谓无上正等菩提要经长时方乃证得,便生怖畏。何以故?前际、后际劫数长短,皆一刹那心相应故。如是,舍利子!菩萨摩诃萨虽闻经久乃证无上正等菩提,而于其中审谛观察不生怖畏。 + +“又,舍利子!若诸菩萨于余一切见闻觉知可怖畏法不生怖畏,应知速证所求无上正等菩提。是故,舍利子!菩萨摩诃萨欲疾证得所求无上正等菩提,应随如来真净空教,被功德铠精勤修学,于一切法不应怖畏。”◎ + +第四分殑伽天品第二十 + +◎尔时,会中有一天女名殑伽天,从座而起稽首佛足,偏覆左肩右膝着地,合掌向佛白言:“世尊!我于是处亦无怖畏,于诸法中亦无疑惑,我未来世亦为有情说无怖畏、无疑惑法。” + +尔时,世尊即便微笑,从面门出金色光明,普照十方无边世界,还来梵世现大神通,渐至佛边右绕三匝,作神变已入佛顶中。 + +时,殑伽天睹斯事已欢喜踊跃,取妙金花恭敬至诚散如来上。佛神力故,令此金花上踊空中缤纷而住。 + +时,阿难陀见闻是已,从座而起顶礼佛足,偏覆左肩右膝着地,合掌恭敬白言:“世尊!何因何缘现此微笑?佛现微笑非无因缘!” + +尔时,世尊告庆喜曰:“今此天女于未来世当成如来、应、正等觉,劫名星喻,佛号金花。庆喜当知!今此天女即是最后所受女身,舍此身已便受男身,尽未来际不复为女。从此殁已生于东方不动如来可爱世界,于彼佛所勤修梵行,此女彼界便字金花。从不动佛世界殁已,复生他方有佛世界,从一佛国趣一佛国,常不远离诸佛世尊。如转轮王从一台观至一台观欢娱受乐,乃至命终足不履地,金花菩萨亦复如是,从一佛土往一佛土,乃至无上正等菩提,随所生处常不离佛。” + +时,阿难陀窃作是念:“金花菩萨当作佛时,亦应宣说甚深般若波罗蜜多。彼会菩萨摩诃萨众,其数多少应如今佛菩萨众会。” + +佛知其念,告庆喜言:“如是!如是!如汝所念。金花菩萨当作佛时,亦为众会宣说如是甚深般若波罗蜜多,彼会菩萨摩诃萨众,其数多少亦如今佛菩萨众会。庆喜当知!金花菩萨当作佛时,声闻弟子得涅槃者,其数甚多不可称计,谓不可数若百、若千、若俱胝等,但可总说无量无边。庆喜当知!金花菩萨当作佛时,其土无有恶兽、恶鬼,亦无怨贼、乏水、饥馑、疾疫等难。庆喜当知!金花菩萨当证无上正等觉时,其土有情无诸怖畏,及无种种灾横、过失。” + +尔时,庆喜复白佛言:“今此天女先于何佛初发无上正等觉心,种诸善根回向发愿?” + +佛告庆喜:“今此天女先于过去然灯佛所初发无上正等觉心,种诸善根回向发愿。尔时,亦以金花散佛,求证无上正等菩提。庆喜当知!我于过去然灯佛所,以五茎花奉散彼佛回向发愿,尔时便得无生法忍。然灯如来、应、正等觉,知我根熟与我授记:‘汝于来世当得作佛,号曰能寂,界名堪忍,劫号为贤。’天女尔时闻佛授我大菩提记,欢喜踊跃,即以金华奉散佛上,便发无上正等觉心,种诸善根回向发愿:‘使我来世于此菩萨当作佛时,亦如今佛现前授我大菩提记。’故我今者与彼授记。” + +尔时,庆喜闻佛所说,欢喜踊跃,复白佛言:“今此天女久发无上正等觉心,种诸善根回向发愿今得成熟,是故如来授与彼记。” + +佛告庆喜:“如是!如是!如汝所说。彼善根熟故,我授彼大菩提记。” + +#7 戊二 论 + +如有情世間 器世未清淨 修治令清淨 即嚴淨佛土 + +#6 丁十一 经论说方便善巧加行 + +#7 戊一 经 + +#8 己一 总说 + +第四分觉魔事品第二十一之一 + +尔时,善现便白佛言:“行深般若波罗蜜多诸菩萨摩诃萨云何习空?云何现入空三摩地?” + +佛告善现:“若菩萨摩诃萨行深般若波罗蜜多,应观色空,应观受、想、行、识空,作此观时不令心乱,若心不乱则不见法,若不见法则不作证。” + +尔时,善现便白佛言:“如世尊说,诸菩萨摩诃萨行深般若波罗蜜多,应观法空而不作证,云何菩萨摩诃萨行深般若波罗蜜多时,住空等持而不作证?” + +佛告善现:“诸菩萨摩诃萨行深般若波罗蜜多,观法空时,先作是念:‘我应观法诸相皆空,不应作证。我为学故观诸法空,不为证故观诸法空,今是学时非为证时。’是菩萨摩诃萨未入定时,系心于境摄受般若波罗蜜多,非入定位系心于境摄受般若波罗蜜多。是菩萨摩诃萨于如是时,不退一切菩提分法,不证漏尽。所以者何?是菩萨摩诃萨成就如是广大智慧,善住法空及一切种菩提分法,恒作是念:‘今时应学,不应作证。’ + +“善现当知!若时菩萨摩诃萨住空三摩地而不证空,是时菩萨摩诃萨亦住无相三摩地而不证无相。所以者何?是菩萨摩诃萨成就殊胜坚净善根,常作是念:‘今时应学,不应作证。今应摄受甚深般若波罗蜜多,于一切法观空、无相,圆满一切菩提分法,不应今时证于实际。’由此因缘,是菩萨摩诃萨不堕声闻及独觉地,疾证无上正等菩提。 + +#8 己二 别列方便善巧加行所对之境 + +#9 庚一 超过四魔之方便善巧加行 + +“善现!譬如有人勇健威猛,所立坚固难可动摇,形色端严众人喜见,具多最胜功德尸罗,聪慧巧言善能酬对,具辩具行知处知时,于兵伎术学至究竟,所防坚固能摧多敌,一切伎能皆善成就,诸工巧处学至穷尽,具念慧行勇捍仪式,于诸经典得无所畏,具慈具义有大势力,支体无缺诸根圆满,眷属资财无不具足,众人敬伏悉皆钦仰,诸有所为皆能成办,善事业故功少利多。由此因缘富诸财宝,善能给施多品有情,应供养者能供养之,应恭敬者能恭敬之,应尊重者能尊重之,应赞叹者能赞叹之。 + +“善现!于意云何?彼人由此倍增喜跃,深心欢悦自庆慰不?” + +善现对曰:“如是!世尊!如是!善逝!” + +佛告善现:“彼勇健人成就如是大兴盛事。有因缘故,将其父母、妻子、眷属发趣他方,中路经过险难旷野,其中多有恶兽、怨贼、怨家潜伏诸怖畏事,眷属小大无不惊惶。其人自恃多诸伎术,威猛勇健身意泰然,安慰父母、妻子、眷属:‘勿有忧惧!必令无苦,疾度旷野至安隐处。’ + +“复次,善现!于意云何?此旷野中怨害现起,彼人既具勇健伎能,慈爱尊亲备诸器仗,而弃父母、妻子、眷属,独运自身度险难不?” + +善现对曰:“不也!世尊!所以者何?彼多伎术,能于旷野化作兵仗,勇健精锐过诸怨敌,令彼见之自然退散,而舍亲爱独运自身度险旷野,无有是处。然彼壮士于旷野中,恶兽、怨贼无加害意。所以者何?自恃威猛、具诸伎术、无怖畏故。世尊!彼人以善巧术将诸眷属,度险旷野无所损害,必至村城或大王都安乐之处。” + +佛告善现:“诸菩萨摩诃萨亦复如是,愍生死苦诸有情类,系念安住慈、悲、喜、舍,摄受般若波罗蜜多殊胜善根,方便善巧如佛所许,持诸功德回向无上正等菩提。虽具修空、无相、无愿,而于实际无作证心,勿堕声闻及独觉地。所以者何?是诸菩萨具大势力精进坚固,摄受般若波罗蜜多,殊胜善根方便善巧,誓不弃舍一切有情,由此定能安隐无难,速证无上正等菩提。 + +“善现当知!若时菩萨慈心愍念一切有情,缘诸有情欲施安乐,是时菩萨超烦恼品,亦超魔品及二乘地,虽住三摩地而不至漏尽,虽善习空而不作证。善现当知!若时菩萨能善安住空解脱门,是时菩萨于无相定亦能安住,而于其中方便善巧不证无相,由此因缘超二乘地,必趣无上正等菩提。 + +#9 庚二 无所住之方便善巧加行 + +“善现当知!如坚翅鸟飞腾虚空,自在翱翔久不堕落,虽依空戏而不住空,亦不为空之所拘碍,应知菩萨亦复如是,虽习空、无相、无愿解脱门,而不住空、无相、无愿,乃至佛法未极圆满,终不依彼永尽诸漏。 + +#9 庚三 由昔愿力所引之方便善巧加行 + +“善现当知!如有壮夫善闲射术,欲显己伎仰射虚空,为令空中箭不堕地,复以后箭射前箭筈,如是展转经于多时,箭箭相承不令其堕,若欲令堕便止后箭,尔时诸箭方顿堕落;应知菩萨亦复如是,行深般若波罗蜜多,摄受殊胜方便善巧,乃至无上正等菩提因行善根未皆成熟,终不中道证于实际,若时无上正等菩提因行善根一切成熟,尔时菩萨方证实际,便得无上正等菩提。 + +“是故,善现!诸菩萨摩诃萨行深般若波罗蜜多,摄受殊胜方便善巧,皆应如是于深法性审谛观察,若诸佛法未极圆满不应作证。” + +#9 庚四 不共二乘之方便善巧加行 + +尔时,善现便白佛言:“诸菩萨摩诃萨甚为希有,能为难事,谓虽行空而不住空,虽现入空定而不证实际。” + +佛告善现:“如是!如是!如汝所说。所以者何?是诸菩萨于有情类誓不弃舍,谓发如是殊胜妙愿:‘若诸有情未得解脱,我终不舍加行善根。’善现当知!是诸菩萨由起如是广大心故,为欲解脱一切有情,虽引发空、无相、无愿三三摩地,而由摄受方便善巧不证实际。所以者何?是诸菩萨方便善巧所护持故,常作是念:‘我终不舍一切有情而趣圆寂。’由起此念方便善巧,故于中间不证实际。 + +庚五 无实执之方便善巧加行 + +> (见下) + +#9 庚六 空方便善巧加行 + +“复次,善现!若诸菩萨于甚深处或已观察、或当观察,谓空、无相、无愿等持三解脱门所行之处。是诸菩萨恒作是念:‘有情长夜起有情想行有所得,引生种种邪恶见趣,轮回生死受苦无穷。我为断彼邪恶见趣,应求无上正等菩提,为诸有情说深空法,令断彼执出生死苦。是故虽学空解脱门,而于中间不证实际。’善现当知!是诸菩萨由起此念方便善巧,虽于中间不证实际,而不退失四无量定。所以者何?是诸菩萨甚深般若波罗蜜多方便善巧所摄受故,倍增白法诸根渐利,力、觉、道支转复增益。 + +#9 庚七 无相方便善巧加行 + +“复次,善现!是诸菩萨恒作是念:‘有情长夜行诸相中起种种执,由斯轮转受苦无穷。我为断彼诸相执故,应求无上正等菩提,为诸有情说无相法,令断相执出生死苦,由斯数入无相等持。’善现当知!是诸菩萨由先成就方便善巧及所起念,虽数现入无相等持,而于中间不证实际。虽于中间不证实际,而不退失慈、悲、喜、舍及诸余定。所以者何?是诸菩萨甚深般若波罗蜜多方便善巧所摄受故,倍增白法诸根渐利,力、觉、道支转复增益。 + +#9 庚八 无愿方便善巧加行 + +“复次,善现!是诸菩萨恒作是念:‘有情长夜其心常起常想、乐想、我想、净想,由此引生颠倒执着,轮回生死受苦无穷。我为断彼四颠倒故,应求无上正等菩提,为诸有情说无倒法,谓说生死无常、无乐、无我、无净,唯有涅槃微妙寂静,具足种种真实功德。由斯数入无愿等持。’善现当知!是诸菩萨由先成就方便善巧及所起念,虽数现入无愿等持,而诸佛法未极圆满,终不中间证于实际。虽于中间不证实际,而不退失慈、悲、喜、舍及诸余定。所以者何?是诸菩萨甚深般若波罗蜜多方便善巧所摄受故,倍增白法诸根渐利,力、觉、道支转复增益。 + +“复次,善现!是诸菩萨恒作是念:‘有情长夜先已行有所得,今亦行有所得,先已行有相,今亦行有相,先已行颠倒,今亦行颠倒,先已行和合想,今亦行和合想,先已行虚妄想,今亦行虚妄想,先已行邪见,今亦行邪见,由斯轮转受苦无穷。我为断彼如是过失,应求无上正等菩提,为诸有情说甚深法,令彼过失皆永断除,不复轮回受生死苦,速证常乐真净涅槃。’善现当知!是诸菩萨由深愍念一切有情,成就殊胜方便善巧;甚深般若波罗蜜多所摄受故,于深法性常乐观察,谓空、无相、无愿、无作、无生、无灭、无起、无尽、无性、实际。善现当知!是诸菩萨成就如是殊胜智见,若堕无相无作之法或住三界,俱无是处。善现当知!是诸菩萨成就如是殊胜功德,舍诸有情而趣圆寂,不证无上正等菩提饶益有情,定无是处。 + +大般若波罗蜜多经卷第五百五十 + +#9 庚九 示现不退转相之方便善巧加行 + +大般若波罗蜜多经卷第五百五十一 + +三藏法师玄奘奉 诏译 + +第四分觉魔事品第二十一之二 + +“复次,善现!若诸菩萨欲证无上正等菩提,应审请问诸余菩萨:‘云何菩萨修习一切菩提分法,引发何心,能令菩萨习空、无相、无愿、无作、无生、无灭、无起、无尽、无性、实际而不作证,然修般若波罗蜜多?’善现当知!若余菩萨得此问时作如是答:‘诸菩萨摩诃萨但应思惟:若空、若无相乃至若实际不为显示,应念不舍一切有情,摄受殊胜方便善巧。’当知彼菩萨先未蒙诸佛授与无上正等菩提不退转记。所以者何?彼诸菩萨未能开示、记别、显了不退转地诸菩萨众不共法相,不如实知他所请问不退转地诸行、状、相,亦不能答。” + +#9 庚十 无限量之方便善巧加行 + +尔时,善现便白佛言:“颇有因缘知诸菩萨不退转不?” + +佛告善现:“亦有因缘知诸菩萨是不退转,谓有菩萨于深般若波罗蜜多,若闻、不闻能如实答先所请问,能如实行不退转地诸菩萨行,由此因缘知彼菩萨是不退转。” + +具寿善现复白佛言:“以何因缘,有多菩萨求学无上正等菩提,少有能作如实答者?” + +佛告善现:“虽多菩萨求学无上正等菩提,而少菩萨得受如是不退转地微妙慧记。若有得受如是记者,皆能于此作如实答。善现当知!是诸菩萨善根明净智慧深广,世间天、人、阿素洛等不能破坏,必证无上正等菩提。 + +#7 戊二 论 + +境及此加行 超過諸魔怨 無住如願力 及不共行相 + +無著無所得 無相盡諸願 相狀與無量 十方便善巧 + +#5 丙二 经论说顶现观加行 + +#6 丁一 相 + +#7 戊一 经 + +“复次,善现!若诸菩萨乃至梦中,亦不爱乐三界诸法,亦不称赞一切声闻、独觉地法,虽观诸法如梦所见,而于实际不证不取,当知是为不退转地诸菩萨相。 + +“复次,善现!若诸菩萨梦见如来、应、正等觉坐师子座,有无数量百千俱胝苾刍众等恭敬围绕而为说法,或见自身有如是事,当知是为不退转地诸菩萨相。 + +“复次,善现!若诸菩萨梦见如来、应、正等觉,三十二相、八十随好圆满庄严,常光一寻周匝照曜,与无量众踊在虚空现大神通说正法要,化作化士令往他方无边佛土施作佛事,或见自身有如是事,当知是为不退转地诸菩萨相。 + +“复次,善现!若诸菩萨梦见狂贼破坏村城,或见火起焚烧聚落,或见师子、虎狼、猛兽、毒蛇、恶蝎欲来害身,或见怨家欲斩其首,或见父母、妻子、眷属临当命终,或见自身有余苦事欲相逼迫;虽见此等诸怖畏事,而不惊惧亦不忧恼,从梦觉已即能思惟:‘三界非真皆如梦见,我得无上正等觉时,当为有情说三界法一切虚妄皆如梦境。’当知是为不退转地诸菩萨相。 + +“复次,善现!若诸菩萨乃至梦中见有地狱、傍生、鬼界诸有情类,便作是念:‘我当精勤修诸菩萨摩诃萨行,速趣无上正等菩提,我佛土中得无地狱、傍生、鬼界恶趣及名。’从梦觉已亦作是念。善现当知!是诸菩萨当作佛时国土清净,定无恶趣及恶趣名,当知是为不退转地诸菩萨相。 + +“复次,善现!若诸菩萨梦中见火烧地狱等诸有情类,或复见烧城邑聚落,便发誓愿:‘我若已受不退转记当证无上正等菩提,愿此大火即时顿灭变为清凉。’若此菩萨作是愿已,梦中见火即时顿灭,当知已受不退转记;若此菩萨作是愿已,梦中见火不即顿灭,当知未受不退转记。 + +“复次,善现!若诸菩萨觉时现见大火卒起,烧诸城邑或烧聚落,便作是念:‘我在梦中或在觉位,曾见自有不退转地诸行、状、相,未审虚实?若我所见是实有者,愿此大火即时顿灭变为清凉。’善现当知!若此菩萨作是誓愿发诚谛言,尔时大火即为顿灭,当知已受不退转记;若此菩萨作是誓愿发诚谛言,火不顿灭,当知未受不退转记。 + +“复次,善现!若诸菩萨觉时见火烧诸城邑或烧聚落,便作是念:‘我在梦中或在觉位,曾见自有不退转地诸行、状、相。若我所见定是实有,必证无上正等菩提,愿此大火即时顿灭变为清凉。’善现当知!此诸菩萨发是誓愿诚谛言已,尔时大火不为顿灭,然烧一家越置一家复烧一家,或烧一巷越置一巷复烧一巷,如是展转其火乃灭,是诸菩萨决定已受不退转记。然被烧者,由彼有情造作增长坏正法业,彼由此业先堕恶趣,无量劫中受正苦果,今生人趣受彼余殃,或由此业当堕恶趣,经无量劫受正苦果,今在人趣先现少殃,当知是为不退转地诸菩萨相。 + +“复次,善现!更有所余诸行、状、相,知是不退转菩萨摩诃萨,吾当为汝分别解说,汝应谛听,极善思惟。” + +善现答言:“唯然!愿说!我等乐闻。” + +佛告善现:“若诸菩萨见有男子、或有女人、或有童男、或有童女现为非人之所魅着,受诸苦恼不能远离,便作是念:‘若诸如来、应、正等觉知我已得清净意乐,授我无上正等菩提不退转记;若我久发清净意乐,求证无上正等菩提,远离声闻、独觉作意,不以声闻、独觉作意求证无上正等菩提;若我当来必得无上正等菩提,能尽未来利益安乐诸有情类;若十方界现在实有无量如来、应、正等觉说正法要饶益有情,彼诸如来、应、正等觉无所不见、无所不知、无所不解、无所不证,现知见觉一切有情意乐差别,愿垂照察我心所念及诚谛言:若我实能修菩萨行,必证无上正等菩提救拔有情生死苦者,愿是男子、或此女人、或此童男、或此童女不为非人之所扰恼,彼随我语即当舍去。’是诸菩萨作此语时,若彼非人不为去者,当知未受不退转记。若彼非人即为去者,当知已受不退转记。 + +“复次,善现!有诸菩萨未具修行一切佛法,未入菩萨正性离生,未免恶魔之所扰乱,于诸魔事未能觉知,未受菩提不退转记,不能自审善根厚薄,于少所修起增上慢,学诸菩萨发诚谛言,便为恶魔之所诳惑。谓彼菩萨见有男子、或有女人、或有童男、或有童女现为非人之所魅着,受诸苦恼不能远离,即便轻尔发诚谛言:‘我若已从过去诸佛受得无上正等菩提不退转记,令此男子或女人等不为非人之所扰恼,彼随我语速当舍去。’是诸菩萨作此语已,尔时恶魔为诳惑故,即便驱迫非人令去。所以者何?恶魔威力胜彼非人,是故非人受魔教敕即便舍去。时,彼菩萨见此事已,欢喜踊跃作是念言:‘非人今去是吾威力。所以者何?非人随我所发誓愿即便放此诸男女等,无别缘故。’是诸菩萨不能觉知恶魔所作,谓是己力妄生欢喜,恃此轻弄诸余菩萨言:‘我已从过去诸佛受得无上正等菩提不退转记,所发誓愿皆不唐捐。汝等未蒙诸佛授记,不应相学发诚谛言,设有要期必空无果。’是诸菩萨轻弄毁蔑余菩萨故,妄恃少能于诸功德生长多种增上慢故,远离无上正等菩提,不能证得一切智智。是诸菩萨以无方便善巧力故,生长多种增上慢故,毁訾轻蔑余菩萨故,虽勤精进而堕声闻或独觉地。是诸菩萨薄福德故,所作善业发诚谛言皆动魔事。是诸菩萨不能亲近、供养恭敬、尊重赞叹真善知识,不能请问得不退转菩萨行相,不能咨受诸恶魔军所作事业,由斯魔缚转复坚牢。所以者何?是诸菩萨不久修行六到彼岸,远离般若波罗蜜多方便善巧,故为恶魔之所诳惑。是故,菩萨应善觉知诸恶魔事,勤修善业。 + +“复次,善现!有诸菩萨未久修行六到彼岸,远离般若波罗蜜多方便善巧,故为恶魔之所诳惑。谓有恶魔为诳惑故,方便化作种种形像,至菩萨所作如是言:‘咄!善男子!汝自知耶?过去诸佛已曾授汝大菩提记,汝于无上正等菩提决定当得不复退转。汝身父母、兄弟、姊妹、亲友、眷属乃至七世名字差别我悉善知,汝身生在某方、某国、某城、某邑、某聚落中,汝在某年、某月、某日、某时、某宿相王中生。’如是恶魔若见菩萨禀性柔软、诸根昧钝,便诈记言:‘汝于先世所禀根性已曾如是。’若见菩萨禀性刚强、诸根明利,便诈记言:‘汝于先世所禀根性亦曾如是。’若见菩萨居阿练若,或常乞食,或受一食,或一坐食,或一钵食,或居冢间,或居露地,或居树下,或粪扫衣,或但三衣,或常坐不卧,或如旧敷具,或少欲,或喜足,或乐远离,或乐寂定,或具正念,或具妙慧,或不重利养,或不贵名誉,或好廉俭不涂其足,或省睡眠,或离掉举,或好少言,或乐软语。如是恶魔见此菩萨种种行已,便诈记言:‘汝于先世亦曾如是。所以者何?汝今成就如是如是殊胜功德,世间同见,先世定应亦有如是殊胜功德,应自庆慰勿得自轻。’ + +“时,彼菩萨闻此恶魔说其过去、当来功德,及说现在亲友自身名等功德,兼叹种种殊胜善根,欢喜踊跃起增上慢,凌蔑毁骂诸余菩萨。尔时,恶魔知其闇钝,生增上慢凌蔑他人,复告之言:‘汝定成就殊胜功德,过去如来已授汝记,汝于无上正等菩提定当证得不复退转,已有如是瑞相现前。’尔时,恶魔为扰乱故,或矫现作出家形像,或矫现作在家形像,或矫现作父母、兄弟、姊妹、亲友、梵志、师主、天、龙、药叉、人非人等种种形像,至此菩萨所居之处,作如是言:‘过去如来久已授汝大菩提记,汝于无上正等菩提决定当得不复退转。所以者何?不退转地菩萨行相汝皆具有,应自尊重莫生疑惑。’时,此菩萨闻彼语已,增上慢心转复坚固。 + +“善现当知!如我所说不退转地诸行、状、相,是诸菩萨实皆未有。善现当知!是诸菩萨魔所执持,为魔所娆不得自在。所以者何?是诸菩萨于不退转诸行、状、相实皆非有,但闻恶魔诈说其德及名字等,生增上慢,凌蔑毁骂诸余菩萨。是故,善现!若诸菩萨欲得无上正等菩提,应善觉知诸恶魔事。 + +“复次,善现!有诸菩萨魔所执持、为魔所魅,但闻名字妄生执着。所以者何?是诸菩萨未善修行六到彼岸及余无量无边佛法,由此因缘令魔得便。是诸菩萨不能了知四魔行相,由此因缘令魔得便。是诸菩萨不能了知五取蕴等无量法门,亦不了知有情诸法名字实相,由此因缘令魔得便,方便化作种种形像,告菩萨言:‘汝所修行愿行已满,当得无上正等菩提,汝成佛时当得如是功德名号。’谓彼恶魔知此菩萨长夜思愿:‘我成佛时当得如是功德名号。’随其思愿而记说之。 + +“时,此菩萨远离般若波罗蜜多方便善巧,闻魔记说,作是念言:‘此人奇哉!为我记说当得成佛功德名号,与我长夜思愿相应。由此故知,过去诸佛必已授我大菩提记,我于无上正等菩提决定当得不复退转,我成佛时必定当得如是功德尊贵名号。’是诸菩萨如如恶魔、或魔眷属、或魔所执诸沙门等记说当来成佛名号,如是如是憍慢转增:‘我于未来定当作佛,获得如是功德名号,诸余菩萨无与我等。’ + +“善现当知!如我所说不退转地诸行、状、相,此诸菩萨皆未成就,但闻魔说成佛虚名,便生憍慢轻弄、毁蔑余菩萨众。由此因缘,是诸菩萨远离无上正等菩提。是诸菩萨远离般若波罗蜜多方便善巧,弃舍善友,为恶知识所摄受故,当堕声闻或独觉地。 + +“善现当知!是诸菩萨或有此身,还得正念,至诚悔过,舍憍慢心,亲近供养真净善友;彼虽流转生死多时,而后复依甚深般若波罗蜜多渐次修学,当证无上正等菩提。善现当知!是诸菩萨若有此身,不得正念,不能悔过,不舍慢心,不乐亲承真净善友;彼定流转生死多时,后虽精进修诸善业,而堕声闻或独觉地。譬如苾刍求声闻果,于四重罪若随犯一,便非沙门、非释迦子,彼于现在定不能得预流等果。妄执虚名菩萨亦尔,但闻魔说成佛空名,便起慢心轻弄、毁蔑余菩萨众,当知此罪过彼苾刍所犯四重无边倍数。置彼苾刍所犯四重,此菩萨罪过五无间亦无量倍。所以者何?是诸菩萨实不成就殊胜功德,闻恶魔说成佛虚名,便自憍慢轻余菩萨,是故此罪过五无间无量倍数。 + +“由此当知,若诸菩萨欲证无上正等菩提,应善觉知如是记说虚名号等微细魔事。 + +“复次,善现!有诸菩萨修远离行,谓隐山林、空泽、旷野,居阿练若宴坐思惟。时,有恶魔来至其所,恭敬赞叹远离功德,谓作是言:‘善哉!大士!能修如是真远离行。此远离行一切如来、应、正等觉共所称赞,天帝释等诸天神仙皆共守护、供养尊重,应常住此勿往余处。’善现当知!我不称叹诸菩萨众常乐寂静,居阿练若、旷野、山林宴坐思惟修远离行。” + +尔时,善现便白佛言:“诸菩萨众应修何等真远离行?而佛世尊今作是说:‘我不称叹诸菩萨众常乐寂静,居阿练若、旷野、山林宴坐思惟修远离行。’” + +佛告善现:“若诸菩萨或居山林、空泽、旷野、阿练若处,或住城邑、聚落、王都、喧杂之处,但能远离烦恼恶业及诸声闻、独觉作意,行深般若波罗蜜多方便善巧,及修诸余殊胜功德,是名菩萨真远离行。此远离行,一切如来、应、正等觉共所称叹,诸佛世尊皆共开许。诸菩萨众常应修学,若昼若夜应正思惟,精进修行此远离法,是名菩萨修远离行。此远离行不杂声闻、独觉作意,不杂一切烦恼恶业,离诸喧杂毕竟清净,令诸菩萨疾证无上正等菩提,能尽未来度有情众。 + +“善现当知!魔所称赞隐于山林、空泽、旷野、阿练若处,弃胜卧具宴坐思惟,非诸菩萨真远离行。所以者何?彼远离行犹有喧杂,谓彼或杂恶业烦恼,或杂声闻、独觉作意,于深般若波罗蜜多方便善巧不能精进信受修学,不能圆满一切智智。 + +“善现当知!有诸菩萨虽乐修行魔所称赞远离行法,而起憍慢不清净心,轻蔑毁呰诸余菩萨摩诃萨众。谓有菩萨摩诃萨众虽居城邑、聚落、王都而心清净,不杂种种烦恼恶业及诸声闻、独觉作意,精勤修学波罗蜜多及余无量菩提分法,成熟有情、严净佛土,虽居愦闹而心寂静,常乐修习真远离行。彼于如是真净菩萨摩诃萨众,心生憍慢轻弄、毁呰、诽谤、凌蔑。 + +“善现当知!是诸菩萨远离般若波罗蜜多方便善巧,虽居旷野百逾缮那,其中绝无诸恶禽兽、蛇蝎、盗贼,唯有鬼神、罗刹娑等游止其中。彼居如是阿练若处,虽经一年,或五、或十、或复乃至百千俱胝若过是数修远离行,而不了知真远离行,谓诸菩萨虽居愦闹而心寂静,远离种种烦恼恶业及诸声闻、独觉作意,发趣无上正等菩提。 + +“善现当知!是诸菩萨虽居旷野经历多时,而杂声闻、独觉作意,于彼二地深生乐着,依二地法修远离行,复于此行深生耽染。彼虽如是修远离行,而不称顺诸佛之心。 + +“善现当知!我所称叹诸菩萨众真远离行,是诸菩萨都不成就。彼于真净远离行中,亦不见有相似行相。所以者何?彼于如是真远离行不生爱乐,但乐勤修声闻、独觉空远离行。 + +“善现当知!是诸菩萨修不真净远离行时,魔来空中欢喜赞叹,告言:‘大士!善哉!善哉!汝能勤修真远离行。此远离行一切如来、应、正等觉共所称叹,汝于此行精勤修学,疾证无上正等菩提。’ + +“善现当知!是诸菩萨执着如是二乘所修远离行法以为最胜,轻弄毁蔑住菩萨乘虽居愦闹而心寂静成调善法诸苾刍等言:‘彼不能修远离行,身居愦闹心不寂静,无调善法。’ + +“善现当知!是诸菩萨于佛所赞住真远离行菩萨摩诃萨轻弄毁呰,谓居愦闹心不寂静,不能勤修真远离行。于诸如来所不称赞住真喧杂行菩萨摩诃萨尊重赞叹,谓不喧杂其心寂静,能正修行真远离行。 + +“善现当知!是诸菩萨于应亲近、恭敬供养如世尊者,而不亲近、供养恭敬,反加轻蔑。于应远离,不应亲近、恭敬供养如恶友者,而反亲近、供养恭敬如事世尊。 + +“善现当知!是诸菩萨远离般若波罗蜜多方便善巧,妄起种种分别执着。所以者何?彼作是念:‘我所修学是真远离,故为非人称赞护念。居城邑者身心扰乱,谁当护念、称赞、敬重?’是诸菩萨由此因缘心多憍慢,轻蔑毁呰诸余菩萨,烦恼恶业昼夜增长。 + +“善现当知!是诸菩萨于余菩萨为旃荼罗,秽污菩萨摩诃萨众,虽似菩萨摩诃萨相,而是天上、人中大贼,诳惑天、人、阿素洛等,其身虽服沙门法衣,而心常怀盗贼意乐。诸有发趣菩萨乘者,不应亲近、供养恭敬、尊重赞叹如是恶人。所以者何?此诸人等怀增上慢,外似菩萨内多烦恼。是故,善现!若菩萨摩诃萨真实不舍一切智智,不弃无上正等菩提,深心欣求一切智智,欲得无上正等菩提,普为利乐诸有情者,不应亲近、供养恭敬、尊重赞叹如是恶人。 + +“善现当知!诸菩萨摩诃萨常应精进修自事业,厌离生死不着三界,于彼恶贼旃荼罗人,常应发心慈、悲、喜、舍,应作是念:‘我不应起如彼恶人所起过患,设当失念如彼暂起,即应觉知令速除灭。’是故,善现!诸菩萨摩诃萨欲证无上正等菩提,当善觉知诸恶魔事,应勤精进远离、除灭如彼菩萨所起过患,勤求无上正等菩提。 + +“善现当知!如是学者,是为菩萨方便善巧,如实觉知诸恶魔事。” + +第四分善友品第二十二之一 + +尔时,世尊复告善现:“若菩萨摩诃萨深心欲证无上菩提,常应亲近、供养恭敬、尊重赞叹真净善友。” + +具寿善现便白佛言:“何等名为诸菩萨摩诃萨真净善友?” + +佛告善现:“一切如来、应、正等觉,是诸菩萨摩诃萨众真净善友;一切不退转菩萨摩诃萨,亦是菩萨摩诃萨众真净善友。若余菩萨及诸声闻并余善士,能为菩萨宣说开示甚深般若波罗蜜多相应法门,教诫教授诸菩萨众令种善根修菩萨行速圆满者,亦是菩萨摩诃萨众真净善友。甚深般若波罗蜜多相应经典,亦是菩萨摩诃萨众真净善友。 + +“复次,善现!布施、净戒、安忍、精进、静虑、般若波罗蜜多,当知亦是诸菩萨众真净善友。善现当知!如是六种波罗蜜多亦是菩萨摩诃萨师,如是六种波罗蜜多亦是菩萨摩诃萨导,如是六种波罗蜜多亦是菩萨摩诃萨明,如是六种波罗蜜多亦是菩萨摩诃萨照,如是六种波罗蜜多亦是菩萨摩诃萨舍,如是六种波罗蜜多亦是菩萨摩诃萨护,如是六种波罗蜜多亦是菩萨摩诃萨归,如是六种波罗蜜多亦是菩萨摩诃萨趣,如是六种波罗蜜多亦是菩萨摩诃萨洲,如是六种波罗蜜多亦是菩萨摩诃萨父,如是六种波罗蜜多亦是菩萨摩诃萨母,如是六种波罗蜜多,能令菩萨摩诃萨众得微妙智、生如实觉,疾证无上正等菩提。所以者何?一切菩萨摩诃萨众,皆因六种波罗蜜多,修习般若波罗蜜多究竟圆满。 + +“善现当知!过去如来、应、正等觉,已证无上正等菩提、已般涅槃,彼佛世尊皆依六种波罗蜜多生一切智;未来如来、应、正等觉,当证无上正等菩提、当般涅槃,彼佛世尊亦依六种波罗蜜多生一切智;现在十方无量无数无边世界一切如来、应、正等觉,现证无上正等菩提,现为有情宣说正法,彼佛世尊亦依六种波罗蜜多生一切智。今我如来、应、正等觉,现证无上正等菩提,现为有情宣说正法,亦依六种波罗蜜多生一切智。何以故?如是六种波罗蜜多,普能摄受三十七种菩提分法,若四梵住,若四摄事,若余无量无边佛法,若诸佛智,若自然智、不思议智、无敌对智、一切智智,悉皆摄在如是六种波罗蜜多。是故我说如是六种波罗蜜多,是诸菩萨摩诃萨众真净善友,与诸菩萨摩诃萨众为师为导,为明为照,为舍为护,为归为趣,为洲为渚、为父为母,能令菩萨摩诃萨众得微妙智、生如实觉,疾证无上正等菩提,作诸有情不希报友。是故,善现!诸菩萨摩诃萨应学六种波罗蜜多。 + +“复次,善现!诸菩萨摩诃萨欲学六种波罗蜜多,应于般若波罗蜜多甚深经典,至心听闻、受持、读诵、观察义趣、请决所疑。所以者何?如是般若波罗蜜多,能与六种波罗蜜多,为尊、为导、能示、能转,为生养母。所以者何?若离般若波罗蜜多,则无前五波罗蜜多,虽有布施、净戒、安忍、精进、静虑,而不名为能到彼岸。是故,善现!诸菩萨摩诃萨欲得不随他教行,欲住不随他教地,欲断一切有情疑,欲满一切有情愿,欲严净佛土,欲成熟有情,应学般若波罗蜜多。所以者何?于此般若波罗蜜多甚深经中,广说菩萨摩诃萨众所应学法。一切菩萨摩诃萨众皆于其中应勤修学。若勤修学甚深般若波罗蜜多方便善巧,定证无上正等菩提,能尽未来利乐一切。” + +尔时,善现便白佛言:“甚深般若波罗蜜多以何为相?” + +佛告善现:“甚深般若波罗蜜多无著为相。” + +具寿善现复白佛言:“颇有因缘,甚深般若波罗蜜多无著之相,余一切法可说亦有无著相耶?” + +佛告善现:“如是!如是!有因缘故,甚深般若波罗蜜多无著之相,余一切法亦可说有此无著相。所以者何?以一切法无不皆如甚深般若波罗蜜多是空、远离。是故,善现!甚深般若波罗蜜多由无著相是空、远离,余一切法由无著相亦空、远离。” + +具寿善现复白佛言:“若一切法皆空、远离,云何有情可得施设有染有净?世尊!非空、远离法可说有染有净。世尊!非空、远离能证无上正等菩提,非离空、远离有别法可得能证无上正等菩提。世尊!云何令我解佛所说甚深义趣?” + +佛告善现:“于意云何?有情长夜有我、我所,心执我、我所不?” + +善现答言:“如是!世尊!如是!善逝!有情长夜有我、我所,心执着我、我所。” + +佛告善现:“于意云何?有情所执我及我所空、远离不?” + +善现答言:“如是!世尊!如是!善逝!有情所执我及我所皆空、远离。” + +佛告善现:“于意云何?岂不有情由我、我所执流转生死?” + +善现答言:“如是!世尊!如是!善逝!诸有情类由我、我所执流转生死。” + +佛告善现:“如是有情流转生死,施设杂染及清净者。由诸有情虚妄执着我及我所说有杂染,而于其中无杂染者;由诸有情不妄执着我及我所说有清净,而于其中无清净者。是故,善现!虽一切法皆空、远离,而诸有情亦可施设有染有净。善现当知!若菩萨摩诃萨能如是行,名行般若波罗蜜多。” + +具寿善现便白佛言:“甚奇!世尊!希有!善逝!虽一切法皆空、远离,而诸有情有染有净。世尊!若菩萨摩诃萨能如是行,则不行色,亦不行受、想、行、识。世尊!若菩萨摩诃萨能如是行,世间天、人、阿素洛等皆不能伏。世尊!若菩萨摩诃萨能如是行,便胜一切声闻、独觉所行之行至无胜处。所以者何?以诸佛性及如来性、自然觉性、一切智性皆不可胜。世尊!诸菩萨摩诃萨由此般若波罗蜜多相应作意,昼夜安住方便善巧,趣向无上正等菩提,疾证无上正等菩提。” + +佛告善现:“如是!如是!如汝所说。 + +#7 戊二 论 + +夢亦於諸法 觀知如夢等 是至頂加行 所有十二相 + +#6 丁二 增长 + +#7 戊一 经 + +“复次,善现!于意云何?假使于此赡部洲中一切有情,非前非后皆得人身,得人身已皆发无上正等觉心,既发心已修诸菩萨摩诃萨行,皆证无上正等菩提。有善男子、善女人等尽其形寿,以诸世间上妙乐具,供养恭敬、尊重赞叹此诸如来、应、正等觉。复持如是所集善根,与诸有情平等共有回向无上正等菩提。是善男子、善女人等由此因缘得福多不?” + +善现答言:“甚多!世尊!甚多!善逝!” + +佛告善现:“若善男子、善女人等,于大众中宣说如是甚深般若波罗蜜多,施设、建立、分别、开示令其易解,及住如是甚深般若波罗蜜多相应作意。此善男子、善女人等,由是因缘所获功德甚多于前无量无数。 + +“复次,善现!于意云何?假使于此赡部洲中一切有情,非前非后皆得人身,得人身已皆发无上正等觉心,既发心已尽其形寿,以诸世间一切乐具,恭敬布施一切有情。复持如是布施善根,与诸有情平等共有回向无上正等菩提。是诸菩萨摩诃萨众,由此因缘得福多不?” + +善现答言:“甚多!世尊!甚多!善逝!” + +佛告善现:“若菩萨摩诃萨下至一日安住般若波罗蜜多相应作意,所获功德甚多于前无量无数。所以者何?诸菩萨摩诃萨如如昼夜安住般若波罗蜜多相应作意,如是如是堪为一切有情福田。所以者何?是菩萨摩诃萨所起慈心,诸有情类无能及者,唯除如来、应、正等觉。何以故?一切如来、应、正等觉无与等故,一切如来、应、正等觉无譬喻故,一切如来、应、正等觉所成就法不思议故。 + +“善现!云何是菩萨摩诃萨能引尔许殊胜功德?善现当知!是菩萨摩诃萨成就如是殊胜般若波罗蜜多,由此般若波罗蜜多,见诸有情受诸苦恼如被刑戮,起大悲心。复以天眼观诸世间,见有无边诸有情类,成无间业堕无暇处受诸剧苦,或为见网之所覆蔽不得正道;或复见有诸有情类,堕无暇处离诸有暇。见如是等诸有情已,生大厌怖,普缘一切有情世间,起大慈悲相应作意:‘我当普为一切有情作大依护,我当解脱一切有情所受苦恼。’虽作是念,而不住此想亦不住余想。善现当知!是名菩萨摩诃萨众大慧光明,能证无上正等菩提。 + +“善现当知!是菩萨摩诃萨由住此住,能作一切世间福田,虽未证得一切智智,而于无上正等菩提得不退转,堪受施主衣服、饮食、卧具、医药及余资具。善现当知!是菩萨摩诃萨善住般若波罗蜜多故,能毕竟报施主恩,亦能亲近一切智智。是故,善现!若菩萨摩诃萨欲不虚受国王、大臣及诸有情所有信施,欲示有情真净道路,欲为有情作大明照,欲脱有情生死牢狱,欲施有情清净法眼,应常安住甚深般若波罗蜜多相应作意。 + +“善现当知!若菩萨摩诃萨常住般若波罗蜜多相应作意,是菩萨摩诃萨于此作意恒时忆念,不令诸余作意暂起,所有言说亦与般若波罗蜜多理趣相应。善现当知!是菩萨摩诃萨昼夜精勤,恒住般若波罗蜜多相应作意无时暂舍。譬如有人先未曾有末尼宝珠,后时遇得欢喜自庆,遇缘还失生大忧恼,常怀叹惜未尝离念,思当何计还得此珠。彼人由是相应作意,缘此宝珠无时暂舍。诸菩萨摩诃萨亦复如是,应常安住甚深般若波罗蜜多相应作意,若不安住甚深般若波罗蜜多相应作意,则为丧失一切智智相应作意。是故,善现!诸菩萨摩诃萨于深般若波罗蜜多相应作意,应常安住无得暂舍。” + +尔时,善现便白佛言:“若一切法及诸作意皆离自性,空无所有,云何菩萨摩诃萨不离般若波罗蜜多一切智智相应作意?” + +佛告善现:“若菩萨摩诃萨知一切法及诸作意皆离自性,空无所有,是菩萨摩诃萨不离般若波罗蜜多一切智智相应作意。所以者何?甚深般若波罗蜜多一切智智及诸作意皆离自性,空无所有,此中一切增减俱无,若正通达即名不离。” + +具寿善现复白佛言:“若深般若波罗蜜多自性常空,无增无减,云何菩萨摩诃萨众修证般若波罗蜜多,便得无上正等菩提?” + +佛告善现:“诸菩萨摩诃萨修证般若波罗蜜多,于一切法无增无减,于菩萨摩诃萨亦无增减,如深般若波罗蜜多自性空故无增无减,诸佛菩萨亦复如是。若菩萨摩诃萨能如是知,是则名为修证般若波罗蜜多,由此因缘,能疾证得所求无上正等菩提。 + +“善现当知!若菩萨摩诃萨闻说如是甚深般若波罗蜜多无增减时,不惊、不怖、不沈、不没亦无犹豫,是菩萨摩诃萨行深般若波罗蜜多已到究竟,安住菩萨不退转地,疾证无上正等菩提,能尽未来度有情众。” + +大般若波罗蜜多经卷第五百五十一 + +大般若波罗蜜多经卷第五百五十二 + +三藏法师玄奘奉 诏译 + +第四分善友品第二十二之二 + +尔时,具寿善现复白佛言:“世尊!为即般若波罗蜜多,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为离般若波罗蜜多有法可得,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为即般若波罗蜜多空,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为离般若波罗蜜多空有法可得,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为即空,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为离空有法可得,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为即空,能行空不?” + +“不尔!善现!” + +“世尊!为离空有法可得,能行空不?” + +“不尔!善现!” + +“世尊!为即般若波罗蜜多,能行空不?” + +“不尔!善现!” + +“世尊!为离般若波罗蜜多有法可得,能行空不?” + +“不尔!善现!” + +“世尊!为即色,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为离色有法可得,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为即受、想、行、识,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为离受、想、行、识有法可得,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为即色空,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为离色空有法可得,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为即受、想、行、识空,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为离受、想、行、识空有法可得,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为即色,能行空不?” + +“不尔!善现!” + +“世尊!为离色有法可得,能行空不?” + +“不尔!善现!” + +“世尊!为即受、想、行、识,能行空不?” + +“不尔!善现!” + +“世尊!为离受、想、行、识有法可得,能行空不?” + +“不尔!善现!” + +“世尊!为即色空,能行空不?” + +“不尔!善现!” + +“世尊!为离色空有法可得,能行空不?” + +“不尔!善现!” + +“世尊!为即受、想、行、识空,能行空不?” + +“不尔!善现!” + +“世尊!为离受、想、行、识空有法可得,能行空不?” + +“不尔!善现!” + +“世尊!为即一切法,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为离一切法有法可得,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为即一切法空,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为离一切法空有法可得,能行般若波罗蜜多不?” + +“不尔!善现!” + +“世尊!为即一切法,能行空不?” + +“不尔!善现!” + +“世尊!为离一切法有法可得,能行空不?” + +“不尔!善现!” + +“世尊!为即一切法空,能行空不?” + +“不尔!善现!” + +“世尊!为离一切法空有法可得,能行空不?” + +“不尔!善现!” + +尔时,善现便白佛言:“若尔,诸菩萨摩诃萨以何等法,能行般若波罗蜜多及能行空?” + +佛告善现:“于意云何?汝见有法能行般若波罗蜜多及能行空不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于意云何?汝见有般若波罗蜜多及见有空是菩萨摩诃萨所行处不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于意云何?汝所不见法,是法可得不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于意云何?不可得法,有生灭不?” + +善现对曰:“不也!世尊!” + +佛告善现:“汝所不见、所不得法所有实相,即是菩萨无生法忍。若菩萨摩诃萨成就如是无生法忍,便于无上正等菩提堪得受记。善现当知!是菩萨摩诃萨于佛十力、四无所畏、四无碍解、大慈、大悲、大喜、大舍及十八佛不共法等无量无边殊胜功德,名能精进如实行者。若能如是精进修行,不得无上正等觉智、一切相智、大智、妙智、一切智智、大商主智,无有是处。” + +具寿善现复白佛言:“诸菩萨摩诃萨为以一切法无生法性,于佛无上正等菩提得受记不?” + +“不尔!善现!” + +“世尊!诸菩萨摩诃萨为以一切法有生法性,于佛无上正等菩提得受记不?” + +“不尔!善现!” + +“世尊!诸菩萨摩诃萨为以一切法有生无生法性,于佛无上正等菩提得受记不?” + +“不尔!善现!” + +“世尊!诸菩萨摩诃萨为以一切法非有生非无生法性,于佛无上正等菩提得受记不?” + +“不尔!善现!” + +尔时,善现便白佛言:“若尔,云何诸菩萨摩诃萨于佛无上正等菩提堪得受记?” + +佛告善现:“于意云何?汝见有法于佛无上正等菩提得受记不?” + +善现对曰:“不也!世尊!我不见法于佛无上正等菩提堪得受记,亦不见法于佛无上正等菩提有能证者,证时、证处及由此证若所证法皆亦不见。何以故?以一切法皆无所得,于一切法无所得中,能证、所证、证时、证处及由此证不可得故。” + +佛告善现:“如是!如是!如汝所说。善现当知!若菩萨摩诃萨于一切法无所得时,不作是念:‘我于无上正等菩提当能证得,我用是法于如是时、于如是处证得无上正等菩提。’” + +第四分天主品第二十三 + +尔时,天帝释白佛言:“世尊!如是般若波罗蜜多最为甚深难见难觉。” + +尔时,佛告天帝释言:“如是!如是!如汝所说。憍尸迦!如是般若波罗蜜多最为甚深,如是般若波罗蜜多难见难觉。憍尸迦!虚空甚深故,如是般若波罗蜜多最为甚深,虚空难见难觉故,如是般若波罗蜜多难见难觉。何以故?憍尸迦!如是般若波罗蜜多自性远离都无所有,如虚空故。” + +时,天帝释复白佛言:“非少善根诸有情类,能于如是甚深难见难觉般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、广为有情分别解说。” + +尔时,佛告天帝释言:“如是!如是!如汝所说。憍尸迦!非少善根诸有情类,能于如是甚深难见难觉般若波罗蜜多,至心听闻、受持、读诵、精勤修学、如理思惟、广为有情分别解说,或能书写广令流布,是诸有情功德无量。 + +“憍尸迦!假使于此赡部洲中,一切有情悉皆成就十善业道。于意云何?是诸有情功德多不?” + +天帝释曰:“甚多!世尊!甚多!善逝!” + +佛言:“憍尸迦!有善男子、善女人等,于此般若波罗蜜多甚深经典,至心听闻、受持、读诵、精勤修学、如理思惟、广为有情分别解说,或能书写广令流布,是善男子、善女人等所获福聚于前功德,百倍为胜,千倍为胜,乃至邬波尼杀昙倍亦复为胜。” + +尔时,会中有一苾刍告天帝释:“憍尸迦!若善男子、善女人等,于此般若波罗蜜多甚深经典,至心听闻、受持、读诵、精勤修学、如理思惟、广为有情分别解说,或复书写广令流布,是善男子、善女人等所获福聚胜于仁者。” + +天帝释言:“是善男子、善女人等初一发心尚胜于我,况于般若波罗蜜多甚深经典,至心听闻、受持、读诵、精勤修学、如理思惟、广为有情分别解说,或复书写广令流布! + +“苾刍当知!是菩萨摩诃萨所获福聚,亦胜一切世间天、人、阿素洛等所有功德。 + +“苾刍当知!是菩萨摩诃萨所获福聚,非唯普胜世间天、人、阿素洛等所有功德,亦胜一切预流、一来、不还、阿罗汉、独觉所有功德。 + +“苾刍当知!是菩萨摩诃萨所获福聚,非唯普胜一切预流、一来、不还、阿罗汉、独觉所有功德,亦胜一切菩萨摩诃萨远离般若波罗蜜多方便善巧,为大施主修行布施。 + +“苾刍当知!是菩萨摩诃萨所获福聚,亦胜一切菩萨摩诃萨远离般若波罗蜜多方便善巧,常所修学清净尸罗、无缺尸罗、无隙尸罗、无杂尸罗、无秽尸罗、圆满戒蕴。 + +“苾刍当知!是菩萨摩诃萨所获福聚,亦胜一切菩萨摩诃萨远离般若波罗蜜多方便善巧,常所修学圆满安忍,圆满寂静、无瞋无恨乃至燋木亦无害心究竟安忍。 + +“苾刍当知!是菩萨摩诃萨所获福聚,亦胜一切菩萨摩诃萨远离般若波罗蜜多方便善巧,常所修学勇猛精进,不舍善轭、无怠无下,身、语、意业圆满精进。 + +“苾刍当知!是菩萨摩诃萨所获福聚,亦胜一切菩萨摩诃萨远离般若波罗蜜多方便善巧,常所修学可爱静虑、可乐静虑、勇健静虑、安住静虑、自在静虑、圆满静虑。 + +“苾刍当知!是菩萨摩诃萨所获福聚,亦胜一切菩萨摩诃萨远离般若波罗蜜多方便善巧,常所修学诸余善根。 + +“苾刍当知!是菩萨摩诃萨如说修行甚深般若波罗蜜多,有方便善巧故,皆胜一切世间天、人、阿素洛等,亦胜一切声闻、独觉,亦胜一切远离般若波罗蜜多方便善巧诸菩萨众。所以者何?是菩萨摩诃萨如说修行甚深般若波罗蜜多,于深般若波罗蜜多究竟随转。是菩萨摩诃萨能绍一切智智种性令不断绝,常不远离诸佛、菩萨、真净善友。是菩萨摩诃萨如是修行殊胜净行,常不远离妙菩提座,降伏众魔制诸外道。是菩萨摩诃萨如是学时方便善巧,常能济拔溺烦恼泥诸有情类。是菩萨摩诃萨如是学时方便善巧,常学菩萨摩诃萨众所应学法,不学声闻、独觉乘等所应学法。 + +“苾刍当知!是菩萨摩诃萨于深般若波罗蜜多如是学时,诸天神众皆大欢喜,护世四王各领天众来至其所,供养恭敬、尊重赞叹,咸作是言:‘善哉!大士!当勤精进学诸菩萨摩诃萨众所应学法,勿学声闻、独觉乘等所应学法,若如是学疾当安坐妙菩提座,速证无上正等菩提。如先如来、应、正等觉受四天王所奉四钵,汝亦当受;如昔护世四大天王奉上四钵,我亦当奉。’ + +“苾刍当知!是菩萨摩诃萨如是学时,我等天帝尚领天众来至其所,供养恭敬、尊重赞叹,况余天神不诣其所! + +“苾刍当知!是菩萨摩诃萨如是学时,一切如来、应、正等觉及诸菩萨摩诃萨众,并诸天、龙、阿素洛等,常随护念。由此因缘,是菩萨摩诃萨一切世间险难、危厄、身心忧苦皆不侵害,世间所有四大相违种种疾病皆于身中永无所有,唯除重业转现轻受。 + +“苾刍当知!是菩萨摩诃萨如说修行甚深般若波罗蜜多方便善巧,获如是等现世功德、后世功德无量无边。” + +时,阿难陀窃作是念:“天主帝释为自辩才赞说如是甚深般若波罗蜜多及诸菩萨功德胜利,为是如来威神之力?” + +时,天帝释承佛威神,知阿难陀心之所念,白言:“大德!我所赞说甚深般若波罗蜜多及诸菩萨功德胜利,皆是如来威神之力。” + +尔时,佛告阿难陀言:“如是!如是!今天帝释赞说如是甚深般若波罗蜜多及诸菩萨功德胜利,当知皆是如来神力非自辩才。所以者何?甚深般若波罗蜜多及诸菩萨摩诃萨众功德胜利,定非一切世间天、人、阿素洛等所能赞说。” + +第四分无杂无异品第二十四 + +尔时,佛告阿难陀言:“若时菩萨摩诃萨思惟般若波罗蜜多,习学般若波罗蜜多,修行般若波罗蜜多。是时,三千大千世界一切恶魔皆生犹豫,咸作是念:‘此菩萨摩诃萨为于中间证于实际,退堕声闻或独觉地;为趣无上正等菩提,能尽未来利乐一切?’ + +“复次,庆喜!若时菩萨摩诃萨安住般若波罗蜜多,是时恶魔生大忧苦,身心战栗如中毒箭。 + +“复次,庆喜!若时菩萨摩诃萨修行般若波罗蜜多,是时恶魔来到其所,化作种种可怖畏事,所谓刀剑、恶兽、毒蛇,猛火炽燃四方俱发,欲令菩萨身心惊惧,迷失无上正等觉心,于所修行心生退屈,乃至发起一念乱意,障碍无上正等菩提,是彼恶魔深心所愿。” + +尔时,庆喜便白佛言:“为诸菩萨摩诃萨修行般若波罗蜜多时,皆为恶魔之所扰乱,为有扰乱不扰乱者?” + +佛告庆喜:“非诸菩萨摩诃萨修行般若波罗蜜多时,皆为恶魔之所扰乱,然有扰乱不扰乱者。” + +具寿庆喜复白佛言:“何等菩萨摩诃萨修行般若波罗蜜多时,为诸恶魔之所扰乱?何等菩萨摩诃萨修行般若波罗蜜多时,不为恶魔之所扰乱?” + +佛告庆喜:“若菩萨摩诃萨先世闻说甚深般若波罗蜜多,无信解心、毁訾、诽谤,是菩萨摩诃萨修行般若波罗蜜多时,便为恶魔之所扰乱。若菩萨摩诃萨先世闻说甚深般若波罗蜜多,有信解心、不起毁谤,是菩萨摩诃萨修行般若波罗蜜多时,不为恶魔之所扰乱。 + +“复次,庆喜!若菩萨摩诃萨闻说如是甚深般若波罗蜜多,疑惑犹豫为有为无、为实不实?是菩萨摩诃萨修行般若波罗蜜多时,便为恶魔之所扰乱。若菩萨摩诃萨闻说如是甚深般若波罗蜜多,其心都无疑惑犹豫、信定实有,是菩萨摩诃萨修行般若波罗蜜多时,不为恶魔之所扰乱。 + +“复次,庆喜!若菩萨摩诃萨远离善友,为诸恶友之所摄持,不闻般若波罗蜜多甚深义处,由不闻故不能解了,不解了故不能修习,不修习故不能请问:云何应修甚深般若波罗蜜多?云何应学甚深般若波罗蜜多?是菩萨摩诃萨修行般若波罗蜜多时,便为恶魔之所扰乱。若菩萨摩诃萨亲近善友,不为恶友之所摄持,得闻般若波罗蜜多甚深义处,由得闻故便能解了,由解了故即能修习,由修习故便能请问:云何应修甚深般若波罗蜜多?云何应学甚深般若波罗蜜多?是菩萨摩诃萨修行般若波罗蜜多时,不为恶魔之所扰乱。 + +“复次,庆喜!若菩萨摩诃萨远离般若波罗蜜多,摄受、赞叹非真妙法,是菩萨摩诃萨修行般若波罗蜜多时,便为恶魔之所扰乱。若菩萨摩诃萨亲近般若波罗蜜多,不摄、不赞非真妙法,是菩萨摩诃萨修行般若波罗蜜多时,不为恶魔之所扰乱。 + +“复次,庆喜!若菩萨摩诃萨远离般若波罗蜜多,于真妙法毁呰、诽谤。尔时,恶魔便作是念:‘今此菩萨与我为伴,由彼毁谤真妙法故,便有无量初学大乘诸菩萨众于真妙法亦生毁谤,由此因缘我愿圆满。虽有无量新学大乘诸菩萨众与我为伴,然不能令我愿满足,今此菩萨与我为伴,令我所愿一切满足,故此菩萨是我真伴,我应摄受令增势力。’是菩萨摩诃萨修行般若波罗蜜多时,便为恶魔之所扰乱。若菩萨摩诃萨亲近般若波罗蜜多,于真妙法赞叹信受,亦令无量新学大乘诸菩萨众于真妙法赞叹信受,由此恶魔愁忧惊怖,是菩萨摩诃萨修行般若波罗蜜多时,不为恶魔之所扰乱。 + +“复次,庆喜!若菩萨摩诃萨闻说般若波罗蜜多甚深经时,作如是语:‘如是般若波罗蜜多理趣甚深、难见、难觉,何用宣说、听闻、受持、读诵、思惟、精勤修学、书写流布?此经典为我尚不能得其源底,况余薄福浅智者哉!’时,有无量新学大乘诸菩萨等,闻其所说心皆惊怖,便退无上正等觉心,堕于声闻或独觉地。是菩萨摩诃萨修行般若波罗蜜多时,便为恶魔之所扰乱。若菩萨摩诃萨闻说般若波罗蜜多甚深经时,作如是语:‘如是般若波罗蜜多理趣甚深难见难觉,若不宣说、听闻、受持、读诵、思惟、精勤修学、书写流布,能证无上正等菩提必无是处。’时,有无量新学大乘诸菩萨等,闻其所说欢喜踊跃,便于般若波罗蜜多常乐听闻、受持、读诵、令善通利、如理思惟、精进修行、为他演说、书写流布,求趣无上正等菩提,是菩萨摩诃萨修行般若波罗蜜多时,不为恶魔之所扰乱。 + +“复次,庆喜!若菩萨摩诃萨恃己所有功德善根,轻余菩萨摩诃萨众,谓作是言:‘我能安住真远离行,汝等皆无。我能修习真远离行,汝等不能。’尔时,恶魔欢喜踊跃言:‘此菩萨是吾伴侣,流转生死未有出期。所以者何?是诸菩萨恃己所有功德善根,轻余菩萨摩诃萨众,便远无上正等菩提,不能精勤空我境界。’是菩萨摩诃萨修行般若波罗蜜多时,便为恶魔之所扰乱。若菩萨摩诃萨不恃己有功德善根,轻余菩萨摩诃萨众,虽常精进修诸善法,而不执着诸善法相,是菩萨摩诃萨修行般若波罗蜜多时,不为恶魔之所扰乱。 + +“复次,庆喜!若菩萨摩诃萨自恃名姓及所修习杜多功德,轻蔑诸余修胜善法诸菩萨众,常自赞叹、毁呰他人,实无不退转菩萨摩诃萨诸行、状、相而谓实有,起诸烦恼言:‘汝等无菩萨名姓,唯我独有。’由增上慢轻余菩萨。尔时,恶魔便大欢喜,作如是念:‘今此菩萨令我国土宫殿不空,增益地狱、傍生、鬼界。’是时,恶魔助其神力,令转增益威势辩才,由此多人信受其语,因斯劝发同彼恶见,同恶见已随彼邪学,随邪学已烦恼炽盛,心颠倒故,诸所发起身、语、意业皆能感得不可爱乐衰损苦果。由此因缘,增长地狱、傍生、鬼界,令魔宫殿国土充满,由此恶魔欢喜踊跃,诸有所作随意自在,是菩萨摩诃萨修行般若波罗蜜多时,便为恶魔之所扰乱。若菩萨摩诃萨不恃己有虚妄姓名及所修习杜多功德,轻蔑诸余修胜善法诸菩萨众,于诸功德离增上慢,常不自赞亦不毁他,能善觉知诸恶魔事,是菩萨摩诃萨修行般若波罗蜜多时,不为恶魔之所扰乱。 + +“复次,庆喜!若时菩萨摩诃萨与求声闻、独觉乘者更相毁蔑、斗诤、诽谤,是时恶魔见此事已,便作是念:‘今此菩萨虽远无上正等菩提而不极远,虽近地狱、傍生、鬼界而不甚近。’作是念已,虽生欢喜而不踊跃。若时菩萨摩诃萨与诸菩萨摩诃萨众更相毁蔑、斗诤、诽谤,是时恶魔见此事已,便作是念:‘此二菩萨极远无上正等菩提,甚近地狱、傍生、鬼界。’作是念已欢喜踊跃,增其威势,令二朋党斗诤不息,使余无量无边有情皆于大乘深心厌离,是菩萨摩诃萨修行般若波罗蜜多时,便为恶魔之所扰乱。若菩萨摩诃萨与求声闻、独觉乘者不相毁蔑、斗诤、诽谤,方便化导令趣大乘,或令勤修自乘胜善,与求无上正等菩提善男子等不相毁蔑、斗诤、诽谤,更相教诲修胜善法,速趣无上正等菩提,转妙法轮度有情众,是菩萨摩诃萨修行般若波罗蜜多时,不为恶魔之所扰乱。 + +“复次,庆喜!若菩萨摩诃萨未得无上正等菩提不退转记,于得无上正等菩提不退转记诸菩萨摩诃萨起损害心,斗诤、轻蔑、骂辱、诽谤,是菩萨摩诃萨随起尔所念不饶益心,还退尔所劫曾修胜行,经尔所时远离善友,还受尔所生死系缚。若不弃舍大菩提心,还尔所劫被弘誓铠,勤修胜行时无间断,然后乃补所退功德。” + +尔时,庆喜便白佛言:“是菩萨摩诃萨所起恶心生死罪苦,为要流转经尔所时,为于中间亦得出离?是菩萨摩诃萨所退胜行,为要精勤经尔所劫被弘誓铠,修诸胜行时无间断,然后乃补所退功德,为于中间有复本义?” + +佛告庆喜:“我为菩萨、独觉、声闻说有出罪还补善法。 + +“庆喜当知!若菩萨摩诃萨未得无上正等菩提不退转记,于得无上正等菩提不退转记诸菩萨摩诃萨起损害心,斗诤、轻蔑、毁辱、诽谤,后无惭愧怀恶不舍,不能如法发露悔过。我说彼类于其中间无有出罪还补善义,要尔所劫流转生死,远离善友众苦所缚。若不弃舍大菩提心,要尔所劫被弘誓铠,勤修胜行时无间断,然后乃补所退功德。 + +“若菩萨摩诃萨未得无上正等菩提不退转记,于得无上正等菩提不退转记诸菩萨摩诃萨起损害心,斗诤、轻蔑、毁辱、诽谤,后生惭愧心不系恶,寻能如法发露悔过,作如是念:‘我今已得难得人身,何容复起如是过恶失大善利?我应饶益一切有情,何容于中反作衰损?我应恭敬一切有情如仆事主,何容于中反生憍慢、毁辱、凌蔑?我应忍受一切有情捶打诃骂,何容于彼反以暴恶身语加报?我应和解一切有情令相敬爱,何容复起勃恶语言与彼乖争?我应堪耐一切有情长时履践,犹如道路亦如桥梁,何容于彼反加凌辱?我求无上正等菩提,为拔有情生死大苦,令得究竟安乐涅槃,何容反欲加之以苦?我应从今尽未来际,如痴、如哑、如聋、如盲,于诸有情无所分别。假使斩截头足手臂、挑目、割耳、劓鼻、截舌、锯解一切身分支体,于彼有情终不起恶。若我起恶,则便退坏所发无上正等觉心,障碍所求一切智智,不能利益安乐有情。’庆喜当知!是菩萨摩诃萨我说中间亦有出罪还补善义,非要经于尔所劫数流转生死。恶魔于彼不能扰乱,疾证无上正等菩提。 + +“复次,庆喜!诸菩萨摩诃萨与求声闻、独觉乘者不应交涉,设与交涉不应共住,设与共住不应与彼论义决择。所以者何?若与彼类论义决择,或当发起忿恚等心,或复令生粗恶言说;然诸菩萨于有情类不应发起忿恚等心,亦不应生粗恶言说,设被斩斫首足身分亦不应起忿恚恶言。所以者何?诸菩萨摩诃萨应作是念:‘我求无上正等菩提,为拔有情生死众苦,令得究竟利益安乐,何容于彼翻为恶事?’庆喜当知!若菩萨摩诃萨于有情类起忿恚心、发粗恶言,便碍无上正等菩提,亦坏无边菩萨行法。是故菩萨摩诃萨众欲得无上正等菩提,于诸有情不应忿恚,亦不应起粗恶言说。” + +尔时,庆喜便白佛言:“诸菩萨摩诃萨与菩萨摩诃萨云何共住?” + +佛告庆喜:“诸菩萨摩诃萨与菩萨摩诃萨共住相视应如大师。所以者何?诸菩萨摩诃萨与菩萨摩诃萨展转相视,应作是念:‘彼是我等真善知识,与我为伴同乘一舡、同行一道、同一所趣、同一事业,我等与彼学时、学处及所学法、若由此学皆无有异。’复作是念:‘彼诸菩萨为我等说大菩提道,即我良伴亦我导师。若彼菩萨摩诃萨住杂作意,远离一切智智相应作意,我当于中不同彼学。若彼菩萨摩诃萨离杂作意,不离一切智智相应作意,我当于中常同彼学。’庆喜当知!若菩萨摩诃萨能如是学,菩提资粮疾得圆满,速证无上正等菩提,于其中间无障无难。” + +第四分迅速品第二十五之一 + +尔时,具寿善现便白佛言:“世尊!若菩萨摩诃萨为尽故学,是学一切智智不?若菩萨摩诃萨为不生故学,是学一切智智不?若菩萨摩诃萨为灭故学,是学一切智智不?若菩萨摩诃萨为不起故学,是学一切智智不?若菩萨摩诃萨为非有故学,是学一切智智不?若菩萨摩诃萨为远离故学,是学一切智智不?若菩萨摩诃萨为离染故学,是学一切智智不?若菩萨摩诃萨为虚空故学,是学一切智智不?若菩萨摩诃萨为法界故学,是学一切智智不?若菩萨摩诃萨为涅槃故学,是学一切智智不?” + +佛告善现:“若菩萨摩诃萨如是学时,非学一切智智。” + +具寿善现复白佛言:“何缘菩萨摩诃萨如是学时,非学一切智智?” + +佛告善现:“于意云何?佛证真如极圆满故,说名如来、应、正等觉,如是真如可说为尽,乃至可说为涅槃不?” + +善现对曰:“不也!世尊!所以者何?真如离相不可说尽,乃至不可说为涅槃。” + +佛告善现:“是故菩萨摩诃萨如是学时,非学一切智智。善现当知!若菩萨摩诃萨不为尽故学,是学一切智智,乃至不为涅槃故学,是学一切智智。所以者何?佛证真如极圆满故,说名如来、应、正等觉,尔时证得一切智智真如非尽乃至涅槃。是故菩萨摩诃萨如是学时,是学一切智智。 + +“善现当知!若菩萨摩诃萨如是学时,是学般若波罗蜜多方便善巧,是学佛地,是学十力、四无所畏、四无碍解、大慈、大悲、大喜、大舍、十八佛不共法及余无量无边佛法,即为已学一切智智。 + +“善现当知!若菩萨摩诃萨如是学时,至一切学究竟彼岸。 + +“善现当知!若菩萨摩诃萨如是学时,一切天、魔及诸外道皆不能伏。 + +“善现当知!若菩萨摩诃萨如是学时,速得菩萨不退法性。 + +“善现当知!若菩萨摩诃萨如是学时,速住菩萨不退转地。 + +“善现当知!若菩萨摩诃萨如是学时,速当安坐妙菩提座。 + +“善现当知!若菩萨摩诃萨如是学时,行自祖父如来行处。 + +“善现当知!若菩萨摩诃萨如是学时,即为已学与诸有情为依护法,是学大慈、大悲性故。 + +“善现当知!若菩萨摩诃萨如是学时,是学三转、十二行相无上法轮。 + +“善现当知!若菩萨摩诃萨如是学时,是学安处百千俱胝诸有情界,令住涅槃毕竟安乐。 + +“善现当知!若菩萨摩诃萨如是学时,是学不断如来种姓。 + +“善现当知!若菩萨摩诃萨如是学时,是学诸佛开甘露门。 + +“善现当知!若菩萨摩诃萨如是学时,是学安立无量无数无边有情住三乘法。 + +“善现当知!若菩萨摩诃萨如是学时,是学示现一切有情究竟寂灭真无为界,是为修学一切智智。 + +“善现当知!如是学者,下劣有情所不能学。所以者何?如是学者,欲善拔济一切有情生死大苦,欲善安立一切有情广大胜事,欲与有情同受毕竟利益安乐,欲与有情同证无上正等菩提,欲与有情同学自利利他妙行,如太虚空无断无尽。 + +“复次,善现!若菩萨摩诃萨如是学时,决定不堕一切地狱、傍生、鬼界、阿素洛中,决定不生边地达絮蔑戾车中,决定不生旃荼罗家、补羯娑家及余种种贫穷、下贱、不律仪家,决定不生种种工巧、妓乐、商贾、杂秽之家。 + +“复次,善现!若菩萨摩诃萨如是学时,随所生处终不盲聋、喑哑、挛躄、根支残缺、背偻、癫痫、痈疽、疥癞、痔漏、恶疮,不长不短亦不黧黑,及无种种秽恶疮病。 + +“复次,善现!若菩萨摩诃萨如是学时,生生常得眷属圆满、诸根圆满、支体圆满,音声清亮、形貌端严,言词威肃众人爱敬。 + +“复次,善现!若菩萨摩诃萨如是学时,所生之处离害生命,离不与取,离欲邪行,离虚诳语,离粗恶语,离离间语,离杂秽语,亦离贪欲、瞋恚、邪见,终不摄受虚妄邪法,不以邪法而自活命,亦不摄受破戒、恶见、谤法有情以为亲友。 + +“复次,善现!若菩萨摩诃萨如是学时,终不生于耽乐少慧长寿天处。所以者何?是菩萨摩诃萨成就方便善巧势力,由此方便善巧势力,虽能数入静虑、无量及无色定,而不随彼势力受生。甚深般若波罗蜜多所摄受故,成就如是方便善巧,于诸定中虽常获得入出自在,而不随彼诸定势力生长寿天,废修菩萨摩诃萨行。 + +“复次,善现!若菩萨摩诃萨如是学时,得清净力、清净无畏、清净佛法。” + +具寿善现便白佛言:“若一切法本性清净,云何菩萨摩诃萨众如是学时,复能证得清净诸力、清净无畏、清净佛法?” + +佛告善现:“如是!如是!如汝所说。诸法本来自性清净。是菩萨摩诃萨于一切法本性净中,精勤修学甚深般若波罗蜜多方便善巧,如实通达心不沉没亦无滞碍,远离一切烦恼染着。故说菩萨如是学时,于一切法复得清净,由此因缘得清净力、清净无畏、清净佛法。 + +“复次,善现!虽一切法本性清净,而诸异生不知、见、觉。是菩萨摩诃萨为欲令彼知、见、觉故,发勤精进修行般若波罗蜜多方便善巧,作如是念:‘我于诸法本性清净知、见、觉已,如实开悟一切有情,令于诸法本性清净亦知、见、觉。’是菩萨摩诃萨如是学时,得清净力、清净无畏、清净佛法。 + +“复次,善现!若菩萨摩诃萨如是学时,于诸有情心行差别皆能通达至极彼岸,方便善巧令诸有情知一切法本性清净,证得毕竟清凉涅槃。 + +大般若波罗蜜多经卷第五百五十二 + +大般若波罗蜜多经卷第五百五十三 + +三藏法师玄奘奉 诏译 + +第四分迅速品第二十五之二 + +“善现当知!譬如大地少处出生金银等宝,多处出生碱卤等物,诸有情类亦复如是,少学般若波罗蜜多,多学声闻、独觉地法。善现当知!譬如人趣少分能作转轮王业,多分能作诸小王业,诸有情类亦复如是,少分能修一切智智道,多分能修声闻、独觉道。善现当知!譬如欲界地居天中,少分能造天帝释业,多分能造余天众业,诸有情类亦复如是,少求无上正等菩提,多求声闻、独觉乘果。善现当知!譬如色界初静虑中,少分能修大梵王业,多分能修梵天众业,诸有情类亦复如是,少于无上正等菩提得不退转,多于无上正等菩提犹有退转。 + +“是故,善现!诸有情类少分能发大菩提心,于中转少能修菩萨摩诃萨行,于中转少能学般若波罗蜜多,于中转少能于般若波罗蜜多方便善巧,于中极少能于无上正等菩提得不退转。是故,善现!若菩萨摩诃萨欲堕极少有情数者,当勤修学甚深般若波罗蜜多方便善巧,令于无上正等菩提得不退转,疾证无上正等菩提。 + +“复次,善现!若菩萨摩诃萨如是修学甚深般若波罗蜜多方便善巧,不起栽檗俱行之心,不起疑惑俱行之心,不起悭吝俱行之心,不起犯戒俱行之心,不起忿恚俱行之心,不起懈怠俱行之心,不起散乱俱行之心,不起恶慧俱行之心。 + +“复次,善现!若菩萨摩诃萨如是修学甚深般若波罗蜜多方便善巧,能摄一切波罗蜜多,能集一切波罗蜜多,能导一切波罗蜜多。所以者何?甚深般若波罗蜜多中含容一切波罗蜜多故。善现当知!如伪身见普能摄受六十二见,甚深般若波罗蜜多亦复如是,含容一切波罗蜜多。若菩萨摩诃萨能正修学甚深般若波罗蜜多方便善巧,能引一切波罗蜜多令渐增长。善现当知!譬如命根能持诸根,甚深般若波罗蜜多亦复如是,能持一切殊胜善法。所以者何?若菩萨摩诃萨能正修学甚深般若波罗蜜多,普能摄持一切善法。善现当知!如命根灭诸根随灭,甚深般若波罗蜜多亦复如是。若菩萨摩诃萨退失如是甚深般若波罗蜜多,则为退失一切善法。若菩萨摩诃萨能正修学甚深般若波罗蜜多,普能灭除诸不善法。是故,善现!若菩萨摩诃萨欲至一切波罗蜜多究竟彼岸,应勤修学甚深般若波罗蜜多。 + +“复次,善现!若菩萨摩诃萨能勤修学甚深般若波罗蜜多,于诸有情最上、最胜。所以者何?是菩萨摩诃萨能勤修学甚深般若波罗蜜多无上法故。 + +“复次,善现!于意云何?于此三千大千世界诸有情类宁为多不?” + +善现对曰:“赡部洲中诸有情类尚多无数,何况三千大千世界诸有情类宁不为多!” + +佛告善现:“如是!如是!如汝所说。善现当知!假使三千大千世界诸有情类,非前非后皆得人身。得人身已,非前非后皆发无上正等觉心,修诸菩萨摩诃萨行。修行满已,非前非后皆得无上正等菩提。有菩萨摩诃萨尽其形寿,能以上妙衣服、饮食、房舍、卧具、病缘医药及诸资财,供养恭敬、尊重赞叹此诸如来、应、正等觉。于意云何?是菩萨摩诃萨由此因缘得福多不?” + +善现对曰:“甚多!世尊!甚多!善逝!” + +佛告善现:“若菩萨摩诃萨能修如是甚深般若波罗蜜多,经弹指顷所获功德,甚多于前无量无数。所以者何?甚深般若波罗蜜多具大义用,能令菩萨摩诃萨众疾证无上正等菩提。是故,善现!若菩萨摩诃萨欲证无上正等菩提,欲为一切有情上首,欲普饶益一切有情,无救护者为作救护,无归依者为作归依,无投趣者为作投趣,无眼目者为作眼目,无光明者为作光明,失正路者示以正路,未涅槃者令得涅槃,当学如是甚深般若波罗蜜多。 + +“复次,善现!若菩萨摩诃萨欲行诸佛所行境界,欲居诸佛大仙尊位,欲游戏佛所游戏处,欲作诸佛大师子吼,欲击诸佛无上法鼓,欲扣诸佛无上法钟,欲吹诸佛无上法螺,欲升诸佛无上法座,欲演诸佛无上法义,欲决一切有情疑网,欲入诸佛甘露法界,欲受诸佛微妙法乐,欲证诸佛圆净功德,欲以一音为三千界一切有情宣说正法,普令一切获大饶益,当学如是甚深般若波罗蜜多。 + +“复次,善现!若菩萨摩诃萨修学如是甚深般若波罗蜜多,无有一切世、出世间功德胜利而不能得。所以者何?甚深般若波罗蜜多是一切种功德善根所依处故。善现当知!我曾不见有菩萨摩诃萨勤修如是甚深般若波罗蜜多,而不能得世、出世间功德胜利。” + +尔时,善现便白佛言:“诸菩萨摩诃萨修学如是甚深般若波罗蜜多,岂亦能得声闻、独觉功德善根?” + +佛告善现:“声闻、独觉功德善根,此诸菩萨摩诃萨众亦皆能得,但于其中无住无著,以胜智见正观察已,超过声闻及独觉地,趣入菩萨正性离生故。此菩萨摩诃萨众无有一切功德善根而不能得。 + +“复次,善现!诸菩萨摩诃萨于一切种声闻、独觉功德善根皆应修学,虽于其中不求作证,而于一切欲善通达,为彼有情宣说开示。 + +“复次,善现!若菩萨摩诃萨如是学时,则为邻近一切智智,速证无上正等菩提,能尽未来利乐一切。 + +“复次,善现!若菩萨摩诃萨如是学时,则为一切世间天、人、阿素洛等真净福田,超诸世间沙门、梵志、声闻、独觉福田之上,疾能证得一切智智。 + +“复次,善现!若菩萨摩诃萨如是学时,随所生处,不舍如是甚深般若波罗蜜多,不离如是甚深般若波罗蜜多,常行如是甚深般若波罗蜜多。 + +“复次,善现!若菩萨摩诃萨能行如是甚深般若波罗蜜多,当知已于一切智智得不退转,于一切法能正觉知,远离声闻、独觉等地,亲近无上正等菩提。 + +“复次,善现!若菩萨摩诃萨行深般若波罗蜜多时,作如是念:‘此是般若波罗蜜多,此是修时,此是修处。我能修此甚深般若波罗蜜多,我由如是甚深般若波罗蜜多,弃舍如是所应舍法,当能引发一切智智。’是菩萨摩诃萨非行般若波罗蜜多,亦于般若波罗蜜多不能解了。所以者何?甚深般若波罗蜜多不作是念:‘我是般若波罗蜜多,此是修时,此是修处,此是修者,此是般若波罗蜜多所远离法,此是般若波罗蜜多所照了法,此是般若波罗蜜多所证无上正等菩提。’若如是知,是行般若波罗蜜多。 + +“复次,善现!若菩萨摩诃萨行深般若波罗蜜多时,作如是念:‘此非般若波罗蜜多,此非修时,此非修处,此非修者,非由般若波罗蜜多远离一切所应舍法,非由般若波罗蜜多能证无上正等菩提。所以者何?以一切法皆住真如无差别故。’善现当知!若菩萨摩诃萨于一切法都无分别、无所觉了,是行般若波罗蜜多。” + +#7 戊二 论 + +盡瞻部有情 供佛善根等 眾多善為喻 說十六增長 + +#6 丁三 坚稳 + +#7 戊一 经 + +第四分幻喻品第二十六 + +时,天帝释作是念言:“若菩萨摩诃萨修行般若波罗蜜多,尚胜一切有情之类,况得无上正等菩提!若诸有情闻说一切智智名字深生信解,尚为获得人中善利,及得世间最胜寿命,况发无上正等觉心,或能听闻甚深般若波罗蜜多!若诸有情能发无上正等觉心,听闻般若波罗蜜多甚深经典,诸余有情皆应愿乐,所获功德,世间天、人、阿素洛等皆不能及。” + +尔时,世尊知天帝释心之所念,便告之言:“如是!如是!如汝所念。” + +时,天帝释踊跃欢喜,化作天上微妙音花,捧散如来及诸菩萨,既散花已作是愿言:“若菩萨乘善男子等求趣无上正等菩提,以我所生善根功德,令彼所愿殊胜功德速得圆满,令彼所求无上佛法速得圆满,令彼所求一切智智相应诸法速得圆满,令彼所求自然人法速得圆满,令彼所求无漏圣法速得圆满,令彼一切所欲闻法皆得如意。若求声闻、独觉乘者,亦令所愿疾得满足。” + +作是愿已,便白佛言:“若菩萨乘善男子等已发无上正等觉心,我终不生一念异意,令其退转大菩提心;我终不生一念异意,令诸菩萨摩诃萨众厌离无上正等菩提,退堕声闻、独觉等地;我终不起一念异心,令诸菩萨摩诃萨众退失大悲相应作意。若菩萨摩诃萨已于无上正等菩提深心乐欲,我愿彼心倍复增进,速证无上正等菩提;愿彼菩萨摩诃萨众见生死中种种苦已,为欲利乐世间天、人、阿素洛等,发起种种坚固大愿:‘我既自度生死大海,亦当精勤度未度者;我既自解生死系缚,亦当精勤解未解者;我于种种生死恐怖既自安隐,亦当精勤安未安者;我既自证究竟涅槃,亦当精勤令未证者皆同证得。’ + +“世尊!若有情类于初发心菩萨功德深心随喜,得几许福?于久发心修诸胜行菩萨功德深心随喜,得几许福?于不退转地菩萨功德深心随喜,得几许福?于一生所系菩萨功德深心随喜,得几许福?” + +#7 戊二 论 + +由三智諸法 圓滿最無上 不捨利有情 說名為堅穩 + +#6 丁四 心遍住 + +#7 戊一 经 + +尔时,佛告天帝释言:“憍尸迦!妙高山王可知两数,此有情类随喜俱心所生福德不可知量。憍尸迦!四大洲界可知两数,此有情类随喜俱心所生福德不可知量。憍尸迦!小千世界可知两数,此有情类随喜俱心所生福德不可知量。憍尸迦!中千世界可知两数,此有情类随喜俱心所生福德不可知量。憍尸迦!我此三千大千世界可知两数,此有情类随喜俱心所生福德不可知量。憍尸迦!假使三千大千世界合为一海,有取一毛析为百分,持一分端沾彼海尽可知滴数,此有情类随喜俱心所生福德不可知量。” + +时,天帝释复白佛言:“若诸有情于诸菩萨从初发心乃至证得所求无上正等菩提,无量无边殊胜功德不生随喜,或复于彼随喜俱心所生福德不闻、不知、不起忆念、不生随喜,当知皆是魔所执持、魔所魅着、魔之朋党、魔天界没来生此间。所以者何?若菩萨摩诃萨求趣无上正等菩提,修诸菩萨摩诃萨行,若有发心于彼功德深生随喜,若有于彼随喜功德深心忆念生随喜者,皆能破坏一切魔军宫殿眷属,疾证无上正等菩提,能尽未来利乐一切。世尊!若诸有情深心敬爱佛、法、僧宝,随所生处常欲见佛、闻法、遇僧,于诸菩萨摩诃萨众功德善根应深随喜,既随喜已回向无上正等菩提,而不应生二、不二想。若能如是,疾证无上正等菩提,饶益有情破魔军众。” + +尔时,佛告天帝释言:“如是!如是!如汝所说。憍尸迦!若诸有情于诸菩萨摩诃萨众功德善根,深心随喜回向无上正等菩提,是诸有情速能圆满诸菩萨行,疾证无上正等菩提。 + +“若诸有情于诸菩萨摩诃萨众功德善根,深心随喜回向无上正等菩提,是诸有情具大威力,常能奉事一切如来、应、正等觉及善知识,恒闻般若波罗蜜多甚深经典,善知义趣。是诸有情成就如是随喜回向功德善根,随所生处,常为一切世间天、人、阿素洛等供养恭敬、尊重赞叹,不见恶色,不闻恶声,不嗅恶香,不尝恶味,不觉恶触,不思恶法,不堕恶趣,生天、人中恒受种种无染胜乐,常不远离诸佛世尊,从一佛国趣一佛国,亲近诸佛、种诸善根,成熟有情、严净佛土。何以故?憍尸迦!是诸有情能于无量诸菩萨众功德善根,深心随喜回向无上正等菩提,由此因缘善根增进,疾证无上正等菩提。既得无上正等菩提,能尽未来如实饶益无量无数无边有情,令住无余般涅槃界。 + +“以是故,憍尸迦!住菩萨乘善男子等,于菩萨众功德善根,皆应随喜回向无上正等菩提,于生随喜及回向时,不应执着即心、离心随喜回向,不应执着即心修行、离心修行。若能如是无所执着随喜回向,修诸菩萨摩诃萨行,速证无上正等菩提,度诸天、人、阿素洛等,令脱生死得般涅槃。由此因缘,诸有情类于诸菩萨功德善根,皆应发生随喜回向,能令无量无边有情种诸善根获大利乐。” + +#7 戊二 论 + +四洲及小千 中大千為喻 以無量福德 宣說三摩地 + +#6 丁五 见道 + +#7 戊一 经 + +#8 己一 所取分别 + +尔时,善现便白佛言:“心皆如幻,云何菩萨摩诃萨能证无上正等菩提?” + +佛告善现:“于意云何?汝为见有如幻心不?” + +善现对曰:“不也!世尊!” + +佛告善现:“于意云何?汝见幻不?” + +善现对曰:“不也!世尊!我不见幻,亦不见有如幻之心。” + +佛告善现:“于意云何?若汝不见幻,不见如幻心,若处无幻、无如幻心,汝见有是心能得无上正等菩提不?” + +善现对曰:“不也!世尊!我都不见有处无幻、无如幻心,更有是心能得无上正等菩提!” + +佛告善现:“于意云何?若处离幻、离如幻心,汝见有是法能得无上正等菩提不?” + +善现对曰:“不也!世尊!我都不见有处离幻、离如幻心,更有是法能得无上正等菩提。 + +“世尊!我都不见即、离心法,说何等法是有是无?以一切法毕竟离故。若一切法毕竟离者,不可施设是有是无;若法不可施设有无,则不可说能得无上正等菩提,非无所有法能得菩提故。所以者何?以一切法皆无所有,性不可得、无染无净,毕竟离法无所有故,不得无上正等菩提,是故般若波罗蜜多亦毕竟离。若法毕竟离,是法不应修,亦不应遣,亦复不应有所引发。 + +“世尊!甚深般若波罗蜜多既毕竟离,云何可说诸菩萨摩诃萨依深般若波罗蜜多证得无上正等菩提?世尊!诸佛无上正等菩提亦毕竟离,云何毕竟离法能得毕竟离法?是故般若波罗蜜多应不可说证得无上正等菩提。” + +佛告善现:“善哉!善哉!如是!如是!如汝所说。甚深般若波罗蜜多既毕竟离,诸佛无上正等菩提亦毕竟离。善现当知!甚深般若波罗蜜多毕竟离故,得毕竟离诸佛无上正等菩提。善现当知!若深般若波罗蜜多非毕竟离,应非般若波罗蜜多,以深般若波罗蜜多毕竟离故,得名般若波罗蜜多。是故,善现!诸菩萨摩诃萨非不依止甚深般若波罗蜜多证得无上正等菩提。善现当知!虽非离法能得离法,而得无上正等菩提非不依止甚深般若波罗蜜多,是故菩萨摩诃萨众欲得无上正等菩提,应勤修学甚深般若波罗蜜多。” + +具寿善现便白佛言:“诸菩萨摩诃萨所行义趣极为甚深。” + +佛告善现:“如是!如是!诸菩萨摩诃萨所行义趣极为甚深。善现当知!诸菩萨摩诃萨能为难事,虽行如是甚深义趣,而于声闻、独觉地法能不作证。” + +尔时,善现复白佛言:“如我解佛所说义者,诸菩萨摩诃萨所作不难,不应说彼能为难事。所以者何?诸菩萨摩诃萨所证义趣都不可得,能证般若波罗蜜多亦不可得,证法、证者、证处、证时亦不可得。世尊!若菩萨摩诃萨闻如是语,心不沉没亦不忧悔、不惊、不怖,是行般若波罗蜜多。世尊!是菩萨摩诃萨如是行时,不见众相,不见我行,不见不行,不见般若波罗蜜多是我所行,不见无上正等菩提是我所证,亦复不见证处、时等。世尊!是菩萨摩诃萨于如是事亦复不见,是行般若波罗蜜多,便近无上正等菩提。世尊!是菩萨摩诃萨于如是事亦复不见,是行般若波罗蜜多,便远声闻、独觉等地。世尊!是菩萨摩诃萨于如是事亦不分别,虽行般若波罗蜜多,不作是念:‘我行般若波罗蜜多,亲近无上正等菩提,远离声闻、独觉等地。’ + +“世尊!譬如虚空,不作是念:‘我去彼事若远若近。’所以者何?虚空无动亦无分别,无分别故。诸菩萨摩诃萨亦复如是,行深般若波罗蜜多,不作是念:‘我远声闻、独觉等地,我近无上正等菩提。’所以者何?甚深般若波罗蜜多于一切法无分别故。 + +“世尊!譬如幻士,不作是念:‘幻质、幻师去我为近,傍观众等去我为远。’所以者何?所幻化者无分别故。诸菩萨摩诃萨亦复如是,行深般若波罗蜜多,不作是念:‘我远声闻、独觉等地,我近无上正等菩提。’所以者何?甚深般若波罗蜜多于一切法无分别故。 + +“世尊!譬如影像,不作是念:‘我因彼现去我为近,镜水等法去我为远。’所以者何?所现影像无分别故。诸菩萨摩诃萨亦复如是,行深般若波罗蜜多,不作是念:‘我远声闻、独觉等地,我近无上正等菩提。’所以者何?甚深般若波罗蜜多于一切法无分别故。 + +“世尊!如诸如来、应、正等觉,于一切法无爱无憎。所以者何?如来永断一切分别爱憎等故。诸菩萨摩诃萨亦复如是,行深般若波罗蜜多,于一切法无爱无憎。所以者何?如诸如来、应、正等觉,所得般若波罗蜜多永断一切妄想分别故,于诸法无爱无憎。诸菩萨摩诃萨所行般若波罗蜜多,永伏一切妄想分别故,于诸法无爱无憎。 + +“世尊!如诸如来、应、正等觉所变化者,不作是念:‘我远声闻、独觉等地,我近无上正等菩提。’所以者何?所变化者无分别故。行深般若波罗蜜多诸菩萨摩诃萨亦复如是,不作是念:‘我远声闻、独觉等地,我近无上正等菩提。’所以者何?甚深般若波罗蜜多于一切法无分别故。 + +“世尊!如诸如来、应、正等觉欲有所作,化作化者令作彼事,然所化者不作是念:‘我能造作如是事业。’所以者何?诸所化者于所作业无分别故。行深般若波罗蜜多诸菩萨摩诃萨亦复如是,有所为故而勤修学,既修学已虽能成办所作事业,而于所作无所分别。所以者何?甚深般若波罗蜜多于一切法无分别故。 + +“世尊!譬如巧匠或彼弟子,有所为故造作机关或男、或女、或象、马等;此诸机关虽有所作,而于彼事都无分别。所以者何?机关法尔无分别故。行深般若波罗蜜多诸菩萨摩诃萨亦复如是,有所为故而成立之,既成立已虽能成办种种事业,而于其中都无分别。所以者何?甚深般若波罗蜜多法尔于法无分别故。” + +#8 己二 能取分别 + +#9 庚一 异生执实有有情等之能取分别 + +第四分坚固品第二十七之一 + +时,舍利子问善现言:“诸菩萨摩诃萨行深般若波罗蜜多时,为行坚固法,为行不坚固法?” + +善现答言:“诸菩萨摩诃萨行深般若波罗蜜多时,行不坚固法,不行坚固法。何以故?舍利子!甚深般若波罗蜜多及一切法,毕竟皆无坚固性故。所以者何?诸菩萨摩诃萨行深般若波罗蜜多时,于深般若波罗蜜多及一切法,尚不见有非坚固法可得,况见有坚固法可得!” + +时,有无量欲界天子、色界天子,咸作是念:“若菩萨乘善男子等,能发无上正等觉心,虽行般若波罗蜜多甚深义趣,而于实际能不作证,不堕声闻及独觉地。由此因缘,是有情类甚为希有能为难事,应当敬礼。所以者何?是菩萨乘善男子等虽行法性,而于其中能不作证。” + +尔时,善现知诸天子心之所念,便告之言:“此菩萨乘善男子等,不证实际,不堕声闻及独觉地,非甚希有亦未为难。若菩萨摩诃萨知一切法及诸有情毕竟非有皆不可得,而发无上正等觉心,被精进甲誓度无量无边有情,令入无余般涅槃界,是菩萨摩诃萨乃甚希有能为难事。天子当知!若菩萨摩诃萨虽知有情毕竟非有都不可得,而发无上正等觉心,被精进甲为欲调伏诸有情类,如有为欲调伏虚空。何以故?诸天子!虚空离故,当知一切有情亦离;虚空空故,当知一切有情亦空;虚空不坚实故,当知一切有情亦不坚实;虚空无所有故,当知一切有情亦无所有。由此因缘,是菩萨摩诃萨乃甚希有能为难事。 + +“天子当知!是菩萨摩诃萨被大愿铠,为欲调伏一切有情,而诸有情毕竟非有、都不可得,如有被铠与虚空战。天子当知!是菩萨摩诃萨被大愿铠,为欲饶益一切有情,而诸有情及大愿铠毕竟非有、俱不可得。何以故?诸天子!有情离故,此大愿铠当知亦离;有情空故,此大愿铠当知亦空;有情不坚实故,此大愿铠当知亦不坚实;有情无所有故,此大愿铠当知亦无所有。天子当知!是菩萨摩诃萨调伏饶益诸有情事亦不可得。何以故?诸天子!有情离故,此调伏饶益事当知亦离;有情空故,此调伏饶益事当知亦空;有情不坚实故,此调伏饶益事当知亦不坚实;有情无所有故,此调伏饶益事当知亦无所有。天子当知!诸菩萨摩诃萨亦无所有。何以故?诸天子!有情离故,诸菩萨摩诃萨当知亦离;有情空故,诸菩萨摩诃萨当知亦空;有情不坚实故,诸菩萨摩诃萨当知亦不坚实;有情无所有故,诸菩萨摩诃萨当知亦无所有。 + +“天子当知!若菩萨摩诃萨闻如是语,心不沉没亦不忧悔、不惊、不怖,当知是菩萨摩诃萨行深般若波罗蜜多。何以故?诸天子!有情离故,当知色蕴亦离,有情离故,当知受、想、行、识蕴亦离;有情离故,当知眼处亦离,有情离故,当知耳、鼻、舌、身、意处亦离;有情离故,当知色处亦离,有情离故,当知声、香、味、触、法处亦离;有情离故,当知眼界亦离,有情离故,当知耳、鼻、舌、身、意界亦离;有情离故,当知色界亦离;有情离故,当知声、香、味、触、法界亦离;有情离故,当知眼识界亦离,有情离故,当知耳、鼻、舌、身、意识界亦离;有情离故,当知眼触亦离,有情离故,当知耳、鼻、舌、身、意触亦离;有情离故,当知眼触为缘所生诸受亦离,有情离故,当知耳、鼻、舌、身、意触为缘所生诸受亦离;有情离故,当知地界亦离,有情离故,当知水、火、风、空、识界亦离;有情离故,当知因缘亦离,有情离故,当知等无间缘、所缘缘、增上缘亦离;有情离故,当知无明亦离,有情离故,当知行、识、名色、六处、触、受、爱、取、有、生、老死亦离;有情离故,当知布施波罗蜜多乃至般若波罗蜜多亦离;有情离故,当知内空乃至无性自性空亦离;有情离故,当知真如乃至不思议界亦离;有情离故,当知苦圣谛乃至道圣谛亦离;有情离故,当知四念住乃至八圣道支亦离;有情离故,当知四静虑、四无量、四无色定亦离;有情离故,当知空、无相、无愿解脱门亦离;有情离故,当知八解脱乃至十遍处亦离;有情离故,当知净观地乃至如来地亦离;有情离故,当知极喜地乃至法云地亦离;有情离故,当知一切陀罗尼门、三摩地门亦离;有情离故,当知五眼、六神通亦离;有情离故,当知如来十力乃至十八佛不共法亦离;有情离故,当知大慈、大悲、大喜、大舍亦离;有情离故,当知三十二相、八十随好亦离;有情离故,当知无忘失法、恒住舍性亦离;有情离故,当知一切智、道相智、一切相智亦离;有情离故,当知预流果乃至独觉菩提亦离;有情离故,当知一切菩萨摩诃萨行、诸佛无上正等菩提亦离;有情离故,当知一切智智亦离;有情离故,当知一切法亦离。 + +“天子当知!若菩萨摩诃萨闻说一切法无不离时,其心不惊、不恐、不怖、不沈、不没,当知是菩萨摩诃萨行深般若波罗蜜多。” + +#9 庚二 圣者执为假有士夫等之能取分别 + +尔时,世尊告善现曰:“何因缘故诸菩萨摩诃萨闻说一切法无不离时,其心不惊、不恐、不怖、不沈、不没?” + +具寿善现白言:“世尊!以一切法皆远离故,诸菩萨摩诃萨闻说一切法无不离时,其心不惊、不恐、不怖、不沈、不没。所以者何?诸菩萨摩诃萨于一切法,若能惊等、若所惊等、若惊等处、若惊等时、若惊等者、由此惊等皆无所得,以一切法不可得故。世尊!若菩萨摩诃萨闻说是事,心不沉没亦不惊怖、不忧、不悔,当知是菩萨摩诃萨行深般若波罗蜜多。所以者何?是菩萨摩诃萨观一切法皆不可得,不可施设是能沈等、是所沈等、是沈等处、是沈等时、是沈等者、由此沈等,以是因缘,诸菩萨摩诃萨闻如是事,心不沉没亦不惊怖、不忧、不悔。 + +“世尊!若菩萨摩诃萨能如是行甚深般若波罗蜜多,诸天帝释、大梵天王、世界主等皆共敬礼、供养恭敬、尊重赞叹。” + +佛告善现:“若菩萨摩诃萨能如是行甚深般若波罗蜜多,非但恒为诸天帝释、大梵天王、世界主等,皆共敬礼、供养恭敬、尊重赞叹,是菩萨摩诃萨亦为过此极光净天、若遍净天、若广果天、若净居天及余天、龙、阿素洛等,皆共敬礼、供养恭敬、尊重赞叹。是菩萨摩诃萨能如是行甚深般若波罗蜜多,亦为十方无量无数无边世界一切如来、应、正等觉及诸菩萨摩诃萨众常共护念。善现当知!是菩萨摩诃萨能如是行甚深般若波罗蜜多,即令一切功德善根疾得圆满。善现当知!若菩萨摩诃萨能如是行甚深般若波罗蜜多,常为诸佛及诸菩萨并诸天、龙、阿素洛等守护忆念,当知行佛所应行处,亦正修行佛所行行,速证无上正等菩提。 + +“善现当知!是菩萨摩诃萨已于无上正等菩提得不退转,一切魔军及诸外道恶知识等不能留难。所以者何?是菩萨摩诃萨其心坚固逾于金刚。假使三千大千世界诸有情类皆变为魔,是一一魔各复化作尔所恶魔,此恶魔众皆有无量无数神力,是诸恶魔尽其神力,不能留难是菩萨摩诃萨,令不能行甚深般若波罗蜜多,及于无上正等菩提或有退转。所以者何?是菩萨摩诃萨已得般若波罗蜜多方便善巧,知一切法不可得故。 + +“复次,善现!置一三千大千世界诸有情类皆变为魔。假使十方殑伽沙等诸佛世界,一切有情皆变为魔,是诸魔众各复化作尔所恶魔,此诸恶魔皆有无量无数神力,是诸恶魔尽其神力,不能留难是菩萨摩诃萨,令不能行甚深般若波罗蜜多,及于无上正等菩提或有退转。所以者何?是菩萨摩诃萨已得般若波罗蜜多方便善巧,知一切法不可得故。 + +“善现当知!若菩萨摩诃萨成就二法,一切恶魔不能留难,令不能行甚深般若波罗蜜多,及于无上正等菩提或有退转。何等为二?一者、不舍一切有情。二者、观察诸法皆空。复次,善现!若菩萨摩诃萨成就二法,一切恶魔不能障碍,令不能行甚深般若波罗蜜多,及于无上正等菩提或有退转。何等为二?一者、如说悉皆能作。二者、常为诸佛护念。 + +“善现当知!若菩萨摩诃萨能如是行甚深般若波罗蜜多,诸天神等常来礼敬、亲近、供养、请问、劝发,作如是言:‘善哉!大士!汝能如是行深般若波罗蜜多方便善巧,疾证无上正等菩提,一切有情无依怙者能作依怙,无归依者能作归依,无救护者能作救护,无投趣者能作投趣,无舍宅者能作舍宅,无洲渚者能作洲渚,与闇冥者能作光明,与聋盲者能作耳目。何以故?善男子!若能安住甚深般若波罗蜜多方便善巧,疾证无上正等菩提,一切恶魔不能留难。’ + +大般若波罗蜜多经卷第五百五十三 + +大般若波罗蜜多经卷第五百五十四 + +三藏法师玄奘奉 诏译 + +第四分坚固品第二十七之二 + +“善现当知!若菩萨摩诃萨能如是住甚深般若波罗蜜多,则为十方无量、无数、无边世界现在如来、应、正等觉,苾刍等众前后围绕,宣说般若波罗蜜多。处大众中自然欢喜称扬赞叹是菩萨摩诃萨名字、种姓、色相功德,所谓安住甚深般若波罗蜜多真净功德。 + +“善现当知!如我今者为众宣说甚深般若波罗蜜多,在大众中自然欢喜称扬赞叹宝幢菩萨摩诃萨等诸菩萨摩诃萨,及余现住不动佛所净修梵行住深般若波罗蜜多诸菩萨摩诃萨名字、种姓、色相功德,所谓安住甚深般若波罗蜜多真净功德。现在十方无量、无数、无边世界一切如来、应、正等觉为众宣说甚深般若波罗蜜多,于彼亦有诸菩萨摩诃萨净修梵行,不离般若波罗蜜多。彼诸如来、应、正等觉,各于众中自然欢喜称扬赞叹彼菩萨摩诃萨名字、种姓、色相功德,所谓不离甚深般若波罗蜜多真净功德。” + +尔时,善现便白佛言:“一切如来、应、正等觉为众宣说甚深般若波罗蜜多时,皆在众中自然欢喜称扬赞叹一切菩萨摩诃萨众名字、种姓、色相功德耶?” + +佛言:“不也!非诸如来、应、正等觉为众宣说甚深般若波罗蜜多时,皆在众中自然欢喜称扬赞叹一切菩萨摩诃萨众名字、种姓、色相功德。善现当知!有菩萨摩诃萨已于无上正等菩提得不退转,行深般若波罗蜜多方便善巧,是菩萨摩诃萨蒙诸如来、应、正等觉为众宣说甚深般若波罗蜜多时,在大众中自然欢喜称扬赞叹名字、种姓、色相功德。” + +具寿善现复白佛言:“颇有菩萨摩诃萨众未于无上正等菩提得不退转,而蒙如来、应、正等觉为众宣说甚深般若波罗蜜多时,在大众中自然欢喜称扬赞叹名字、种姓、色相功德耶?” + +佛言:“亦有!谓有菩萨摩诃萨众虽于无上正等菩提未得不退,而修般若波罗蜜多方便善巧,是菩萨摩诃萨亦蒙如来、应、正等觉为众宣说甚深般若波罗蜜多时,在大众中自然欢喜称扬赞叹名字、种姓、色相功德。” + +具寿善现复白佛言:“此所说者是何菩萨摩诃萨耶?” + +佛告善现:“有诸菩萨摩诃萨众随不动佛为菩萨时所修而学、所行而住,修行般若波罗蜜多方便善巧。是菩萨摩诃萨虽于无上正等菩提未得不退,而蒙如来、应、正等觉为众宣说甚深般若波罗蜜多时,在大众中自然欢喜称扬赞叹名字、种姓、色相功德。复有菩萨摩诃萨众随宝幢菩萨摩诃萨等所修而学、所行而住,修行般若波罗蜜多方便善巧,是菩萨摩诃萨虽于无上正等菩提未得不退,而蒙如来、应、正等觉为众宣说甚深般若波罗蜜多时,在大众中自然欢喜称扬赞叹名字、种姓、色相功德。 + +“复次,善现!有菩萨摩诃萨行深般若波罗蜜多,于一切法无生性中,虽深信解而未证得无生法忍,于一切法皆寂静性,虽深信解而未得入不退转地,是菩萨摩诃萨已住般若波罗蜜多方便善巧,亦蒙如来、应、正等觉为众宣说甚深般若波罗蜜多时,在大众中自然欢喜称扬赞叹名字、种姓、色相功德。善现当知!若菩萨摩诃萨蒙诸如来、应、正等觉为众宣说甚深般若波罗蜜多时,在大众中自然欢喜称扬赞叹名字、种姓、色相功德,是菩萨摩诃萨超诸声闻及独觉地,近得无上正等菩提不退转记。所以者何?是菩萨摩诃萨修行般若波罗蜜多方便善巧,必当安住不退转地,疾证无上正等菩提。 + +“复次,善现!若菩萨摩诃萨闻说如是甚深般若波罗蜜多所有义趣深心信解,无惑、无疑、不迷、不闷,但作是念:‘如佛所说甚深般若波罗蜜多,理趣必然,定非颠倒。’是菩萨摩诃萨应作是念:‘我于般若波罗蜜多甚深义趣深生信解,决定已于或复当于不动如来、应、正等觉及诸菩萨摩诃萨所,广闻般若波罗蜜多,于深义趣深生信解,既信解已,勤修梵行,当得住于不退转地,住是地已,疾证无上正等菩提。’善现当知!若菩萨摩诃萨但闻如是甚深般若波罗蜜多,尚获无边功德胜利,况深信解、如说修行,系念思惟甚深义趣!是菩萨摩诃萨安住真如近一切智,疾证无上正等菩提,为诸有情宣说法要。” + +尔时,善现便白佛言:“法离真如无别可得,为说何法安住真如?复说谁能近一切智,疾证无上正等菩提?谁复为谁说何法要?” + +佛告善现:“汝所问言‘法离真如无别可得?为说何法安住真如?复说谁能近一切智,疾证无上正等菩提?谁复为谁说何法?’者,如是!如是!如汝所说。法离真如都不可得,如何可说法住真如? + +“善现!真如尚不可得,况别有法能住真如?岂复有能近一切智,疾证无上正等菩提?宁复有能为他说法?善现当知!真如不可自住真如,此中都无能、所住故;真如不能近一切智,此中都无能、所近故;真如不能证得无上正等菩提,此中都无能得、所得差别性故;真如不能为他说法,此中都无能、所说故。随世俗故,说有菩萨行深般若波罗蜜多,安住真如,近一切智,疾证无上正等菩提,为诸有情宣说法要。” + +时,天帝释便白佛言:“如是般若波罗蜜多理趣甚深极难信解,诸菩萨摩诃萨行深般若波罗蜜多,虽知诸法皆不可得,而求无上正等菩提,欲为有情宣说法要,甚为难事。所以者何?定无有法能住真如,亦无有能近一切智、疾证无上正等菩提,亦无有能宣说法要,然诸菩萨闻如是事,心不沉没、无惑、无疑、不惊、不恐亦不迷闷,如是等事甚为希有。” + +#8 己三 见道顶加行之因 + +#9 庚一 为他开示证菩提之方便 + +尔时,善现谓帝释言:“憍尸迦!如汝所说‘诸菩萨众闻甚深法,心不沉没、无惑、无疑、不惊、不恐亦不迷闷,而求无上正等菩提,欲为有情宣说法要,极为难事甚希有!’者。憍尸迦!诸菩萨摩诃萨行深般若波罗蜜多,观法皆空、都无所有,谁沈?谁没?谁惑?谁疑?谁惊?谁恐?谁迷?谁闷?是故此事未为希有。然为有情愚痴颠倒,不能通达诸法皆空故,求菩提欲为宣说方便善巧,非极为难。” + +天帝释言:“尊者善现!诸有所说无不依空,是故所言常无滞碍。如有以箭仰射虚空,若远若近俱无滞碍,尊者所说亦复如是,若深若浅一切依空,谁能于中敢作留难?” + +时,天帝释便白佛言:“我与尊者善现所说,为顺如来实语、法语,于法随法,为正说耶?” + +尔时,世尊告天帝释:“汝与善现诸有所言,皆顺如来实语、法语,于法随法,无颠倒说。何以故?憍尸迦!具寿善现所有辩才,无不依空而施设故。所以者何?具寿善现观一切法皆毕竟空,尚不得甚深般若波罗蜜多,况有能行甚深般若波罗蜜多者!尚不得诸佛无上正等菩提,况有能证诸佛无上正等菩提者!尚不得一切智,况有能得一切智者!尚不得真如,况有能得真如成如来者!尚不得无生性,况有能证无生性者!尚不得菩提,况有能证佛菩提者!尚不得十力,况有能成十力者!尚不得四无所畏,况有能成四无所畏者!尚不得诸法,况有能说法者!何以故?憍尸迦!具寿善现于一切法住远离住,于一切法住无所得住,观一切法毕竟皆空,所能行等不可得故。 + +“憍尸迦!具寿善现于一切法住远离住、无所得住,比诸菩萨摩诃萨众所住般若波罗蜜多微妙行住,百分不及一,千分不及一,百千分不及一,乃至邬波尼杀昙分亦不及一。何以故?憍尸迦!是诸菩萨摩诃萨众所住般若波罗蜜多微妙行住,除如来住,于余菩萨及诸声闻、独觉等住为最为胜、为尊为高、为妙为微妙、为上为无上。以是故,憍尸迦!若菩萨摩诃萨欲于一切有情众中为最为胜、为尊为高、为妙为微妙、为上为无上者,当住般若波罗蜜多微妙行住无得暂舍。” + +第四分散花品第二十八 + +尔时,会中无量无数三十三天欢喜踊跃,各取天上微妙音花,奉散如来及诸菩萨。 + +是时,众内六千苾刍俱从座起顶礼佛足,偏覆左肩,右膝着地,向薄伽梵曲躬合掌。佛神力故,各于掌中微妙音花自然盈满。是苾刍众踊跃欢喜得未曾有,各以此花奉散佛上及诸菩萨,既散花已同发愿言:“我等用斯胜善根力,愿常安住甚深般若波罗蜜多微妙行住,速趣无上正等菩提。” + +尔时,世尊即便微笑。如佛常法,从其面门放种种光,青黄赤白红紫碧绿金银颇胝,傍照无边诸佛国土,上至梵世下彻风轮,渐复还来绕佛右转,经三匝已从顶上入。 + +时,阿难陀即从座起,礼佛合掌白言:“世尊!何因何缘现此微笑?诸佛现笑非无因缘,唯愿如来哀愍为说!” + +尔时,佛告阿难陀言:“此诸苾刍于当来世星喻劫中皆得作佛,同名散花,十号具足,声闻僧数一切皆等,寿量亦等二十千劫。彼一一佛所演言教,理趣深广流布天、人,正法住世俱二万劫。彼诸佛土广博严净,人物炽盛安隐丰乐。彼诸如来各于自土,将诸弟子循环游历村城、聚落、国邑、王都,转妙法轮度天、人众,令获殊胜利益安乐。彼诸世尊往来住处,昼夜常雨五色妙花。由此因缘,故我微笑。是故,庆喜!若菩萨摩诃萨欲得安住最胜住者,当住般若波罗蜜多微妙行住。若菩萨摩诃萨欲得安住如来住者,当住般若波罗蜜多微妙行住。 + +#9 庚二 付嘱般若波罗蜜多 + +“庆喜当知!若菩萨摩诃萨精勤修学甚深般若波罗蜜多令得究竟,是菩萨摩诃萨先世或从人中没已还生此处,或从睹史多天上没来生人间。所以者何?彼于先世或在人中、或居天上,由曾广闻甚深般若波罗蜜多故,于今生能勤修学甚深般若波罗蜜多。庆喜当知!如来现见,若菩萨摩诃萨能勤修学甚深般若波罗蜜多,于身、命、财无所顾者,定于无上正等菩提得不退转。 + +“复次,庆喜!若有情类爱乐听闻甚深般若波罗蜜多,闻已受持、读诵、书写、精勤修学、如理思惟,为菩萨乘善男子等宣说、开示、教诫、教授。当知彼人是大菩萨,曾于过去亲从如来、应、正等觉闻说如是甚深般若波罗蜜多,闻已受持、读诵、书写、精勤修学、如理思惟,亦曾为他宣说、开示、教诫、教授甚深般若波罗蜜多故,于今生能办是事。庆喜当知!是有情类曾于过去无量佛所种诸善根故,于今生能作是事。此有情类应作是思:‘我先非唯从声闻等闻说如是甚深般若波罗蜜多,定从如来、应、正等觉闻说如是甚深般若波罗蜜多;我先非唯于声闻等亲近、供养、种诸善根,定于如来、应、正等觉亲近、供养、种诸善根。由是因缘,今得闻此甚深般若波罗蜜多,爱乐、受持、读诵、书写、精勤修学、如理思惟,广为有情宣说无倦。’ + +“复次,庆喜!若有情类不惊不怖,爱乐听闻甚深般若波罗蜜多,闻已受持、读诵、书写、精勤修学、如理思惟,若法、若义、若文、若意皆善通达随顺修行,是诸有情则为现见我等如来、应、正等觉。庆喜当知!若有情类闻说如是甚深般若波罗蜜多所有义趣,深心信解、不生毁谤、不可沮坏。是诸有情已曾供养无量诸佛,于诸佛所多种善根,亦为无量善友摄受。 + +“复次,庆喜!若诸有情能于如来、应、正等觉胜福田所种诸善根,虽定当得或声闻果、或独觉果、或如来果,而证无上正等菩提,要于般若波罗蜜多甚深义趣善达无碍,精进修行诸菩萨行令极圆满。庆喜当知!若菩萨摩诃萨能于般若波罗蜜多甚深义趣善达无碍,精进修行诸菩萨行令极圆满,是菩萨摩诃萨不证无上正等菩提,而住声闻、独觉地者,必无是处。是故菩萨摩诃萨众欲得无上正等菩提,应于般若波罗蜜多甚深义趣善达无碍,精进修行诸菩萨行令极圆满。 + +“是故,庆喜!我以般若波罗蜜多甚深经典付嘱于汝,应正受持、读诵、通利,莫令忘失。庆喜当知!除此般若波罗蜜多甚深经典,受持诸余我所说法,设有忘失其罪尚轻。若于般若波罗蜜多甚深经典不善受持,下至一句有所忘失,其罪甚重。庆喜当知!若于般若波罗蜜多甚深经典,下至一句能善受持不忘失者获福无量。若于般若波罗蜜多甚深经典不善受持,下至一句有忘失者,所获重罪同前福量。是故,庆喜!我以般若波罗蜜多甚深经典殷勤付汝,当正受持、读诵、通利、如理思惟、广为他说、分别开示,令受持者究竟解了文义意趣。 + +“庆喜当知!若菩萨摩诃萨于深般若波罗蜜多,受持、读诵、究竟通利、如理思惟、广为他说,分别开示令其解了,是菩萨摩诃萨则为受持摄取过去、未来、现在诸佛世尊所证无上正等菩提生长之处。庆喜当知!若有情类起殷净心现于我所,欲持种种上妙花鬘乃至灯明,供养恭敬、尊重赞叹无懈倦者,当于般若波罗蜜多至心听闻、受持、读诵、究竟通利、如理思惟、广为他说,分别开示令其解了,或复书写众宝庄严,恒以种种上妙花鬘乃至灯明,供养恭敬、尊重赞叹不应懈息。 + +“庆喜当知!若菩萨摩诃萨供养恭敬、尊重赞叹甚深般若波罗蜜多,则为现前供养恭敬、尊重赞叹我及十方三世诸佛。庆喜当知!若菩萨摩诃萨闻深般若波罗蜜多,起殷净心恭敬爱乐,即于过去、未来、现在一切如来、应、正等觉所证无上正等菩提,起殷净心恭敬爱乐。庆喜!汝若爱乐于我、不舍于我,亦当爱乐、不舍般若波罗蜜多甚深经典,下至一句勿令忘失。 + +“庆喜!我说如是般若波罗蜜多甚深经典付嘱因缘,虽经无量百千大劫亦不可尽。举要言之,如我既是汝等大师,甚深般若波罗蜜多当知亦是汝等大师,汝等天、人、阿素洛等敬重于我,亦当敬重甚深般若波罗蜜多。是故,庆喜我以无量善巧方便,付汝般若波罗蜜多甚深经典,汝当受持无令忘失。我今持此甚深般若波罗蜜多,对诸天、人、阿素洛等无量大众付嘱于汝,应正受持勿令忘失。 + +“庆喜!我今实言告汝,诸有净信欲不舍佛、欲不舍法、欲不舍僧,复欲不舍三世诸佛所证无上正等菩提,定不应舍甚深般若波罗蜜多,如是名为我等诸佛教诫教授诸弟子法。 + +“庆喜当知!若善男子、善女人等爱乐听闻甚深般若波罗蜜多,受持、读诵、究竟通利、如理思惟,以无量门广为他说,分别开示施设建立,令其解了精进修行;是善男子、善女人等疾证无上正等菩提,能近圆满一切智智。所以者何?诸佛无上正等菩提、一切智智皆依如是甚深般若波罗蜜多而得生故。庆喜当知!三世诸佛皆依如是甚深般若波罗蜜多,出生无上正等菩提。是故,庆喜!若菩萨摩诃萨欲得无上正等菩提,当勤精进修学如是甚深般若波罗蜜多。所以者何?甚深般若波罗蜜多是诸菩萨摩诃萨母,生诸菩萨摩诃萨故。 + +“庆喜当知!若菩萨摩诃萨勤学六种波罗蜜多,速证无上正等菩提。是故,庆喜!我以此六波罗蜜多更付嘱汝,当正受持无令忘失。所以者何?如是六种波罗蜜多是诸如来、应、正等觉无尽法藏,一切佛法从此生故。庆喜当知!十方三世诸佛世尊所说法要,皆是六种波罗蜜多无尽法藏之所流出。庆喜当知!十方三世诸佛世尊,皆依六种波罗蜜多无尽法藏精勤修学,证得无上正等菩提。庆喜当知!十方三世诸佛世尊声闻弟子,皆依六种波罗蜜多无尽法藏精勤修学,已、正、当入无余涅槃。 + +“复次,庆喜!假使汝为声闻乘人说声闻法,由此法故,三千大千世界有情一切皆得阿罗汉果,犹未为我作佛弟子所应作事。汝若能为菩萨乘人宣说一句甚深般若波罗蜜多相应之法,即名为我作佛弟子所应作事,我于此事深生随喜,胜汝教化三千大千世界有情一切皆得阿罗汉果。 + +“复次,庆喜!假使三千大千世界一切有情,由他教力,非前非后皆得人身,俱时证得阿罗汉果,是诸阿罗汉所有施性、戒性、修性诸福业事,于汝意云何?彼福业事宁为多不?” + +庆喜答言:“甚多!世尊!甚多!善逝!彼福业事无量无边。” + +佛告庆喜:“若有声闻能为菩萨宣说般若波罗蜜多相应之法,经一日夜,所获福聚甚多于彼。 + +“庆喜当知!置一日夜但经一日,复置一日但经半日,复置半日但经一时,复置一时但经食顷,复置食顷但经须臾,复置须臾但经俄尔,复置俄尔经弹指顷,是声闻人能为菩萨宣说般若波罗蜜多相应之法,所获福聚甚多于前。何以故?此声闻人所获福聚,超过一切声闻、独觉诸善根故。 + +“复次,庆喜!若菩萨摩诃萨为声闻人宣说种种声闻乘法,假使三千大千世界一切有情由此法故,悉皆证得阿罗汉果,皆具种种殊胜功德。于意云何?是菩萨摩诃萨由此因缘,所获福聚宁为多不?” + +庆喜答言:“甚多!世尊!甚多!善逝!是菩萨摩诃萨所获福聚无量无边。” + +佛告庆喜:“若菩萨摩诃萨为声闻乘善男子等,或独觉乘善男子等,或无上乘善男子等,宣说般若波罗蜜多相应之法,经一日夜,所获福聚甚多于前。 + +“庆喜当知!置一日夜但经一日,复置一日但经半日,复置半日但经一时,复置一时但经食顷,复置食顷但经须臾,复置须臾但经俄尔,复置俄尔经弹指顷,是菩萨摩诃萨能为三乘善男子等宣说般若波罗蜜多相应之法,所获福聚甚多于前无量无数。何以故?甚深般若波罗蜜多相应法施,超过一切声闻、独觉相应法施及彼二乘诸善根故。所以者何?是菩萨摩诃萨自求无上正等菩提,亦以大乘相应之法示现、劝导、赞励、庆喜他诸有情,令于无上正等菩提得不退转。 + +“庆喜当知!是菩萨摩诃萨自修布施波罗蜜多乃至般若波罗蜜多,亦教他修布施波罗蜜多乃至般若波罗蜜多;自住内空乃至无性自性空,亦教他住内空乃至无性自性空;自住真如乃至不思议界,亦教他住真如乃至不思议界;自住苦、集、灭、道圣谛,亦教他住苦、集、灭、道圣谛;自修四念住乃至八圣道支,亦教他修四念住乃至八圣道支;自修四静虑、四无量、四无色定,亦教他修四静虑、四无量、四无色定;自修空、无相、无愿解脱门,亦教他修空、无相、无愿解脱门;自修八解脱乃至十遍处,亦教他修八解脱乃至十遍处;自修极喜地乃至法云地,亦教他修极喜地乃至法云地;自修一切陀罗尼门、三摩地门,亦教他修一切陀罗尼门、三摩地门;自修五眼、六神通,亦教他修五眼、六神通;自修如来十力乃至十八佛不共法,亦教他修如来十力乃至十八佛不共法;自修三十二相、八十随好,亦教他修三十二相、八十随好;自修无忘失法、恒住舍性,亦教他修无忘失法、恒住舍性;自修一切智、道相智、一切相智,亦教他修一切智、道相智、一切相智;自修菩萨摩诃萨行,亦教他修菩萨摩诃萨行;自修无上正等菩提,亦教他修无上正等菩提;自修一切智智,亦教他修一切智智。由此因缘善根增长,疾证无上正等菩提。 + +“庆喜当知!是菩萨摩诃萨成就如是殊胜善根,忆念如是殊胜善根,若于无上正等菩提有退转者,无有是处。” + +尔时,世尊四众围绕,赞说般若波罗蜜多,付阿难陀令受持已,复于一切天、龙、药叉、健达缚、阿素洛、揭路荼、紧捺洛、莫呼洛伽、人非人等大众会前现神通力,令众皆见不动如来、应、正等觉,声闻、菩萨、大众围绕,为海喻会宣说妙法,及见彼土严净之相;其声闻僧皆阿罗汉、诸漏已尽,无复烦恼、得真自在,心善解脱、慧善解脱,如调慧马亦如大龙,已作所作、已办所办,弃诸重担、逮得己利,尽诸有结、正知解脱,至心自在、第一究竟;其菩萨僧一切皆是众望所识,得陀罗尼及无碍辩,成就无量不可思议、不可称量微妙功德。佛摄神力,令此众会天、龙、药叉、健达缚等,不复见彼不动如来应正等觉、声闻、菩萨及余大众,并彼佛土严净之相。彼佛众会及严净土,皆非此土眼根所对。所以者何?佛摄神力,于彼远境无见缘故。 + +尔时,佛告阿难陀言:“不动如来、应、正等觉国土众会,汝更见不?” + +阿难陀言:“我不复见彼事,非此眼所行故。” + +佛告具寿阿难陀言:“如彼如来众会国土非此土眼所行境界,当知诸法亦复如是,非眼根等所行境界。庆喜当知!法不行法,法不见法,法不知法,法不证法。庆喜当知!一切法性无能行者、无能见者、无能知者、无能证者、无动、无作。所以者何?以一切法皆无作用,能取、所取俱如虚空,性远离故;以一切法不可思议,能、所思议皆如幻士,性远离故;以一切法无作、受者,如光影等,不坚实故。 + +“庆喜当知!若菩萨摩诃萨能如是行,能如是见,能如是知,能如是证,是行般若波罗蜜多,亦不执着此诸法相。庆喜当知!若菩萨摩诃萨如是学时,是学般若波罗蜜多。庆喜当知!若菩萨摩诃萨欲得一切波罗蜜多速疾圆满,至一切法究竟彼岸,应学般若波罗蜜多。所以者何?如是学者,于诸学中为最为胜、为尊为高、为妙为微妙、为上为无上,利益安乐一切世间,无依护者为作依护,诸佛世尊开许称赞修学般若波罗蜜多。 + +“庆喜当知!诸佛、菩萨学此学已住此学中,能以右手若右足指,举取三千大千世界,掷置他方或还本处,其中有情不知不觉无损无怖。所以者何?甚深般若波罗蜜多功德威力不可思议。过去未来现在诸佛及诸菩萨,学此般若波罗蜜多,于去、来、今及无为法,悉皆获得无碍智见。是故,庆喜!我说能学甚深般若波罗蜜多,于诸学中为最为胜、为尊为高、为妙为微妙、为上为无上。庆喜当知!诸有欲取甚深般若波罗蜜多量、边际者,如愚痴者欲取虚空量及边际,何以故?甚深般若波罗蜜多功德无量无边际故。 + +“庆喜当知!我终不说甚深般若波罗蜜多功德胜利,如名身等有量、边际。所以者何?名句、文身是有量法,甚深般若波罗蜜多功德胜利非有量法,非名身等能量般若波罗蜜多功德胜利,亦非般若波罗蜜多功德胜利是彼所量。” + +#8 己四 彼大菩提果 + +尔时,庆喜便白佛言:“何因缘故,甚深般若波罗蜜多说为无量?” + +佛告庆喜:“甚深般若波罗蜜多性无尽故说为无量,性远离故说为无量,性寂静故说为无量,如实际故说为无量,如虚空故说为无量,功德多故说为无量,无边际故说为无量,不可量故说为无量。庆喜当知!三世诸佛皆学般若波罗蜜多,究竟圆满证得无上正等菩提,为诸有情宣说开示,而此般若波罗蜜多常无减尽。所以者何?甚深般若波罗蜜多如太虚空不可尽故。庆喜当知!诸有欲尽甚深般若波罗蜜多,则为欲尽虚空边际。是故,庆喜!甚深般若波罗蜜多说为无尽,由无尽故说为无量。” + +尔时,善现作是念言:“此处甚深,我当问佛。” + +作是念已,便白佛言:“甚深般若波罗蜜多,何故如来说为无尽?” + +佛告善现:“甚深般若波罗蜜多如太虚空,不可尽故说为无尽。” + +具寿善现复白佛言:“云何菩萨摩诃萨应引发般若波罗蜜多?” + +佛告善现:“诸菩萨摩诃萨应观色无尽故,引发般若波罗蜜多,应观受、想、行、识无尽故,引发般若波罗蜜多;应观眼处无尽故,引发般若波罗蜜多,应观耳、鼻、舌、身、意处无尽故,引发般若波罗蜜多;应观色处无尽故,引发般若波罗蜜多,应观声、香、味、触、法处无尽故,引发般若波罗蜜多;应观眼界无尽故,引发般若波罗蜜多,应观耳、鼻、舌、身、意界无尽故,引发般若波罗蜜多;应观色界无尽故,引发般若波罗蜜多,应观声、香、味、触、法界无尽故,引发般若波罗蜜多;应观眼识界无尽故,引发般若波罗蜜多;应观耳、鼻、舌、身、意识界无尽故,引发般若波罗蜜多;应观眼触无尽故,引发般若波罗蜜多,应观耳、鼻、舌、身、意触无尽故,引发般若波罗蜜多;应观眼触为缘所生诸受无尽故,引发般若波罗蜜多,应观耳、鼻、舌、身、意触为缘所生诸受无尽故,引发般若波罗蜜多;应观地界无尽故,引发般若波罗蜜多,应观水、火、风、空、识界无尽故,引发般若波罗蜜多;应观因缘无尽故,引发般若波罗蜜多,应观等无间缘、所缘缘、增上缘无尽故,引发般若波罗蜜多;应观无明无尽故,引发般若波罗蜜多,应观行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼无尽故,引发般若波罗蜜多。 + +“复次,善现!诸菩萨摩诃萨应观色如虚空无尽故,引发般若波罗蜜多,应观受、想、行、识如虚空无尽故,引发般若波罗蜜多;应观眼处如虚空无尽故,引发般若波罗蜜多,应观耳、鼻、舌、身、意处如虚空无尽故,引发般若波罗蜜多;应观色处如虚空无尽故,引发般若波罗蜜多,应观声、香、味、触、法处如虚空无尽故,引发般若波罗蜜多;应观眼界如虚空无尽故,引发般若波罗蜜多,应观耳、鼻、舌、身、意界如虚空无尽故,引发般若波罗蜜多;应观色界如虚空无尽故,引发般若波罗蜜多,应观声、香、味、触、法界如虚空无尽故,引发般若波罗蜜多;应观眼识界如虚空无尽故,引发般若波罗蜜多,应观耳、鼻、舌、身、意识界如虚空无尽故,引发般若波罗蜜多;应观眼触如虚空无尽故,引发般若波罗蜜多,应观耳、鼻、舌、身、意触如虚空无尽故,引发般若波罗蜜多;应观眼触为缘所生诸受如虚空无尽故,引发般若波罗蜜多,应观耳、鼻、舌、身、意触为缘所生诸受如虚空无尽故,引发般若波罗蜜多;应观地界如虚空无尽故,引发般若波罗蜜多,应观水、火、风、空、识界如虚空无尽故,引发般若波罗蜜多;应观因缘如虚空无尽故,引发般若波罗蜜多,应观等无间缘、所缘缘、增上缘如虚空无尽故,引发般若波罗蜜多;应观无明如虚空无尽故,引发般若波罗蜜多,应观行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如虚空无尽故,引发般若波罗蜜多。 + +“善现!诸菩萨摩诃萨应作如是,引发般若波罗蜜多。 + +“善现当知!诸菩萨摩诃萨如是观察十二缘起远离二边,诸菩萨摩诃萨如是观察十二缘起无中无边,是诸菩萨摩诃萨众不共妙观,谓要安坐妙菩提座,方能如是如实观察十二缘起理趣甚深,如太虚空不可尽故,便能证得一切智智。善现当知!若菩萨摩诃萨以如虚空无尽行相,行深般若波罗蜜多,如实观察十二缘起,不堕声闻及独觉地,疾证无上正等菩提。善现当知!诸菩萨摩诃萨若于无上正等菩提有退转者,皆由不依如是作意方便善巧,不如实知诸菩萨摩诃萨行深般若波罗蜜多,云何应以无尽行相引发般若波罗蜜多?云何应以无尽行相如实观察十二缘起? + +“善现当知!诸菩萨摩诃萨若于无上正等菩提有退转者,皆由远离引发般若波罗蜜多方便善巧。善现当知!诸菩萨摩诃萨若于无上正等菩提不退转者,一切皆依引发般若波罗蜜多方便善巧,是菩萨摩诃萨由依如是方便善巧行深般若波罗蜜多,以如虚空无尽行相如实观察十二缘起。由此因缘,速能圆满甚深般若波罗蜜多,疾能证得一切智智。 + +“善现当知!诸菩萨摩诃萨如是观察缘起法时,不见有法无因而生,不见有法性相常住,不见有法有作、受者。善现当知!诸菩萨摩诃萨行深般若波罗蜜多,以如虚空无尽行相如实观察十二缘起,引发般若波罗蜜多修诸菩萨摩诃萨行,疾证无上正等菩提。 + +“善现当知!若时菩萨摩诃萨行深般若波罗蜜多,以如虚空无尽行相引发般若波罗蜜多,如实观察十二缘起。是时菩萨摩诃萨不见色蕴,不见受、想、行、识蕴;不见眼处,不见耳、鼻、舌、身、意处;不见色处,不见声、香、味、触、法处;不见眼界,不见耳、鼻、舌、身、意界;不见色界,不见声、香、味、触、法界;不见眼识界,不见耳、鼻、舌、身、意识界;不见眼触,不见耳、鼻、舌、身、意触;不见眼触为缘所生诸受,不见耳、鼻、舌、身、意触为缘所生诸受;不见地界,不见水、火、风、空、识界;不见因缘,不见等无间缘、所缘缘、增上缘;不见无明,不见行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼;不见布施波罗蜜多,不见净戒、安忍、精进、静虑、般若波罗蜜多;不见内空乃至无性自性空;不见真如乃至不思议界;不见苦、集、灭、道圣谛;不见四念住乃至八圣道支;不见四静虑、四无量、四无色定;不见空、无相、无愿解脱门;不见八解脱乃至十遍处;不见净观地乃至如来地;不见极喜地乃至法云地;不见一切陀罗尼门、三摩地门;不见五眼、六神通;不见如来十力乃至十八佛不共法;不见三十二相、八十随好;不见无忘失法、恒住舍性;不见一切智、道相智、一切相智;不见预流果乃至独觉菩提;不见一切菩萨摩诃萨行;不见诸佛无上正等菩提;不见一切智智;不见此佛世界,不见彼佛世界;不见有法能见此佛、彼佛世界。善现!若菩萨摩诃萨能如是行,是行般若波罗蜜多。 + +“善现当知!若时菩萨摩诃萨行深般若波罗蜜多,是时恶魔极生忧恼如中毒箭。譬如有人父母卒丧身心苦痛,恶魔亦尔。” + +具寿善现便白佛言:“为一恶魔,见诸菩萨行深般若波罗蜜多,极生忧恼如中毒箭?为多恶魔,为遍三千大千世界一切恶魔皆亦如是?” + +佛告善现:“遍满三千大千世界一切恶魔,见诸菩萨行深般若波罗蜜多,极生忧恼如中毒箭,各于本座不能自安。所以者何?若菩萨摩诃萨住深般若波罗蜜多微妙行住,世间天、人、阿素洛等伺求其短皆不能得,亦复不能扰乱障碍。是故,善现!若菩萨摩诃萨欲证无上正等菩提,当勤安住甚深般若波罗蜜多微妙行住。 + +#8 己五 具足修满六波罗蜜多 + +“善现当知!若菩萨摩诃萨能勤安住甚深般若波罗蜜多微妙行住,则能修满布施、净戒、安忍、精进、静虑、般若波罗蜜多。善现当知!若菩萨摩诃萨能正修行甚深般若波罗蜜多方便善巧,便能具足修满一切波罗蜜多,留难事起皆能如实觉知远离。 + +#7 戊二 论 + +#8 己一 所治分别 + +#9 庚一 略标 + +#10 辛一 略标所取分别 + +轉趣及退還 其所取分別 當知各有九 非如其境性 + +#10 辛二 略标能取分别 + +由異生聖別 分有情實假 是能取分別 彼各有九性 + +若所取真如 彼執為誰性 如是彼執著 自性空為相 + +#9 庚二 广释 + +#10 辛一 广释所取分别 + +#11 壬一 于转趣事所起分别 + +自性及種姓 正修行諸道 智所緣無亂 所治品能治 + +自內證作用 彼業所造果 是為轉趣品 所有九分別 + +#11 壬二 于退还事所起分别 + +墮三有寂滅 故智德下劣 無有攝受者 道相不圓滿 + +由他緣而行 所為義顛倒 少分及種種 於住行愚蒙 + +及於隨行相 九分別體性 是所退還品 聲聞等心起 + +#10 辛二 广释能取分别 + +#11 壬一 实执能取分别 + +所取及所捨 作意與繫屬 所作意三界 安住與執著 + +法義唯假立 貪欲及對治 失壞如欲行 當知初能取 + +#11 壬二 假执能取分别 + +不如所為生 執道為非道 謂生俱有滅 具不具道性 + +安住壞種性 無希求無因 及緣諸敵者 是餘取分別 + +#8 己二 分别之对治 + +#9 庚一 见道顶加行之因 + +為他示菩提 其因謂付囑 證彼無間因 具多福德相 + +#9 庚二 彼大菩提果 + +#10 辛一 正明大菩提 + +垢盡無生智 說為大菩提 無盡無生故 彼如次應知 + +#10 辛二 遮实执 + +無滅自性中 謂當以見道 盡何分別種 得何無生相 + +若有餘實法 而於所知上 說能盡諸障 吾以彼為奇 + +#10 辛三 明欲证大菩提须许诸法皆空 + +此中無所遣 亦無少可立 於正性正觀 正見而解脫 + +#9 庚三 见道顶加行之自性 + +#10 辛一 正说 + +施等一一中 彼等互攝入 一剎那忍攝 是此中見道 + +#10 辛二 明断德自在 + +次由入獅子 奮迅三摩地 觀察諸緣起 隨順及迴逆 + +#6 丁六 修道位顶加行 + +#7 戊一 经 + +善现当知!若菩萨摩诃萨欲正摄受方便善巧,应行般若波罗蜜多,应修般若波罗蜜多。 + +“善现当知!若时菩萨摩诃萨修行般若波罗蜜多,引发般若波罗蜜多,是时无量无数世界诸佛世尊现说法者皆悉护念。是菩萨摩诃萨应作是念:‘彼诸如来、应、正等觉亦从般若波罗蜜多生一切智。’是菩萨摩诃萨作此念已,复应思惟:‘如诸如来、应、正等觉所应证法,我亦当证。’如是,善现!若菩萨摩诃萨修行般若波罗蜜多,引发般若波罗蜜多,作是思惟经弹指顷所生福聚,胜有所得诸菩萨众经如殑伽沙数大劫修行布施所获功德,何况能经一日、半日修行般若波罗蜜多,引发般若波罗蜜多,忆念思惟诸佛功德! + +“善现当知!若菩萨摩诃萨能经一日,或复乃至经弹指顷,修行般若波罗蜜多,引发般若波罗蜜多,忆念思惟诸佛功德,是菩萨摩诃萨不久当住不退转地,是菩萨摩诃萨常为如来、应、正等觉共所护念。善现当知!若菩萨摩诃萨常为如来、应、正等觉所护念者,定证无上正等菩提,不堕声闻、独觉等地,是菩萨摩诃萨决定不复堕诸恶趣,决定不生诸无暇处,常生善趣不离诸佛。 + +“善现当知!若菩萨摩诃萨修行般若波罗蜜多,引发般若波罗蜜多,忆念思惟诸佛功德经弹指顷,尚获无边功德胜利,况经一日若过一日,修行般若波罗蜜多,引发般若波罗蜜多,忆念思惟诸佛功德!如香象菩萨摩诃萨常能修行般若波罗蜜多,引发般若波罗蜜多,忆念思惟诸佛功德常不舍离,是菩萨摩诃萨今在不动如来、应、正等觉所修行梵行。 + +大般若波罗蜜多经卷第五百五十四 + +大般若波罗蜜多经卷第五百五十五 + +三藏法师玄奘奉 诏译 + +第四分随顺品第二十九 + +“复次,善现!诸菩萨摩诃萨应观诸法不和合故,随顺般若波罗蜜多;应观诸法无分别故,随顺般若波罗蜜多;应观诸法无杂坏故,随顺般若波罗蜜多;应观诸法无变异故,随顺般若波罗蜜多;应观诸法无表示故,随顺般若波罗蜜多;应观诸法随觉慧故,随顺般若波罗蜜多;应观诸法唯有假名所诠表故,随顺般若波罗蜜多;应观诸法唯有言说假施设故,随顺般若波罗蜜多;应观诸法唯假建立,无处、无时亦无实事可宣说故,随顺般若波罗蜜多;应观诸法但有虚假性相用故,随顺般若波罗蜜多;应观诸法无限碍故,随顺般若波罗蜜多;应观色蕴无限量故,随顺般若波罗蜜多;应观受、想、行、识蕴无限量故,随顺般若波罗蜜多;应观眼处无限量故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意处无限量故,随顺般若波罗蜜多;应观色处无限量故,随顺般若波罗蜜多;应观声、香、味、触、法处无限量故,随顺般若波罗蜜多;应观眼界无限量故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意界无限量故,随顺般若波罗蜜多;应观色界无限量故,随顺般若波罗蜜多;应观声、香、味、触、法界无限量故,随顺般若波罗蜜多;应观眼识界无限量故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意识界无限量故,随顺般若波罗蜜多;应观眼触无限量故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意触无限量故,随顺般若波罗蜜多;应观眼触为缘所生诸受无限量故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意触为缘所生诸受无限量故,随顺般若波罗蜜多;应观地界无限量故,随顺般若波罗蜜多;应观水、火、风、空、识界无限量故,随顺般若波罗蜜多;应观因缘无限量故,随顺般若波罗蜜多;应观等无间缘、所缘缘、增上缘无限量故,随顺般若波罗蜜多;应观无明无限量故,随顺般若波罗蜜多;应观行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼无限量故,随顺般若波罗蜜多;应观诸法无相状故,随顺般若波罗蜜多;应观诸法通达相故,随顺般若波罗蜜多;应观诸法本性净故,随顺般若波罗蜜多;应观诸法无言说故,随顺般若波罗蜜多;应观诸法无生等故,随顺般若波罗蜜多;应观诸法无灭等故,随顺般若波罗蜜多;应观诸法涅槃等故,随顺般若波罗蜜多;应观诸法真如等故,随顺般若波罗蜜多;应观诸法无去来故,随顺般若波罗蜜多;应观诸法无自他故,随顺般若波罗蜜多;应观诸法自他等故,随顺般若波罗蜜多;应观诸法异生圣者本性净故,随顺般若波罗蜜多;应观诸法弃舍重担无增益故,随顺般若波罗蜜多;应观诸法无方处故,随顺般若波罗蜜多。 + +“所以者何?色蕴本性无方无处,受、想、行、识蕴本性无方无处;眼处本性无方无处,耳、鼻、舌、身、意处本性无方无处;色处本性无方无处,声、香、味、触、法处本性无方无处;眼界本性无方无处,耳、鼻、舌、身、意界本性无方无处;色界本性无方无处,声、香、味、触、法界本性无方无处;眼识界本性无方无处,耳、鼻、舌、身、意识界本性无方无处;眼触本性无方无处,耳、鼻、舌、身、意触本性无方无处;眼触为缘所生诸受本性无方无处,耳、鼻、舌、身、意触为缘所生诸受本性无方无处;地界本性无方无处,水、火、风、空、识界本性无方无处;因缘本性无方无处,等无间缘、所缘缘、增上缘本性无方无处;无明本性无方无处,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼本性无方无处。 + +“复次,善现!应观诸法寂灭安乐故,随顺般若波罗蜜多;应观诸法无爱、无离爱故,随顺般若波罗蜜多;应观诸法无染、无离染故,随顺般若波罗蜜多。所以者何?色蕴真性无染、无离染,受、想、行、识蕴真性无染、无离染;眼处真性无染、无离染,耳、鼻、舌、身、意处真性无染、无离染;色处真性无染、无离染,声、香、味、触、法处真性无染、无离染;眼界真性无染、无离染,耳、鼻、舌、身、意界真性无染、无离染;色界真性无染、无离染,声、香、味、触、法界真性无染、无离染;眼识界真性无染、无离染,耳、鼻、舌、身、意识界真性无染、无离染;眼触真性无染、无离染,耳、鼻、舌、身、意触真性无染、无离染;眼触为缘所生诸受真性无染、无离染,耳、鼻、舌、身、意触为缘所生诸受真性无染、无离染;地界真性无染、无离染,水、火、风、空、识界真性无染、无离染;因缘真性无染、无离染,等无间缘、所缘缘、增上缘真性无染、无离染;无明真性无染、无离染,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼真性无染、无离染。 + +“复次,善现!应观诸法毕竟清净故,随顺般若波罗蜜多;应观诸法无著离着故,随顺般若波罗蜜多;应观诸法觉悟菩提及佛智故,随顺般若波罗蜜多;应观诸法空、无相、无愿故,随顺般若波罗蜜多;应观诸法良药慈悲为上首故,随顺般若波罗蜜多;应观诸法慈住、梵住、无过、无取故,随顺般若波罗蜜多;应观诸法于诸有情无瞋无忿故,随顺般若波罗蜜多;应观大海无边际故,随顺般若波罗蜜多;应观虚空无边际故,随顺般若波罗蜜多;应观色蕴离诸相故,随顺般若波罗蜜多;应观受、想、行、识蕴离诸相故,随顺般若波罗蜜多;应观眼处离诸相故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意处离诸相故,随顺般若波罗蜜多;应观色处离诸相故,随顺般若波罗蜜多;应观声、香、味、触、法处离诸相故,随顺般若波罗蜜多;应观眼界离诸相故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意界离诸相故,随顺般若波罗蜜多;应观色界离诸相故,随顺般若波罗蜜多;应观声、香、味、触、法界离诸相故,随顺般若波罗蜜多;应观眼识界离诸相故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意识界离诸相故,随顺般若波罗蜜多;应观眼触离诸相故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意触离诸相故,随顺般若波罗蜜多;应观眼触为缘所生诸受离诸相故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意触为缘所生诸受离诸相故,随顺般若波罗蜜多;应观地界离诸相故,随顺般若波罗蜜多;应观水、火、风、空、识界离诸相故,随顺般若波罗蜜多;应观因缘离诸相故,随顺般若波罗蜜多;应观等无间缘、所缘缘、增上缘离诸相故,随顺般若波罗蜜多;应观无明离诸相故,随顺般若波罗蜜多;应观行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼离诸相故,随顺般若波罗蜜多;应观色蕴无边际故,随顺般若波罗蜜多;应观受、想、行、识蕴无边际故,随顺般若波罗蜜多;应观眼处无边际故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意处无边际故,随顺般若波罗蜜多;应观色处无边际故,随顺般若波罗蜜多;应观声、香、味、触、法处无边际故,随顺般若波罗蜜多;应观眼界无边际故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意界无边际故,随顺般若波罗蜜多;应观色界无边际故,随顺般若波罗蜜多;应观声、香、味、触、法界无边际故,随顺般若波罗蜜多;应观眼识界无边际故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意识界无边际故,随顺般若波罗蜜多;应观眼触无边际故,随顺般若波罗蜜多,应观耳、鼻、舌、身、意触无边际故,随顺般若波罗蜜多;应观眼触为缘所生诸受无边际故,随顺般若波罗蜜多;应观耳、鼻、舌、身、意触为缘所生诸受无边际故,随顺般若波罗蜜多;应观地界无边际故,随顺般若波罗蜜多;应观水、火、风、空、识界无边际故,随顺般若波罗蜜多;应观因缘无边际故,随顺般若波罗蜜多;应观等无间缘、所缘缘、增上缘无边际故,随顺般若波罗蜜多;应观无明无边际故,随顺般若波罗蜜多;应观行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼无边际故,随顺般若波罗蜜多;应观日光轮照无边际故,随顺般若波罗蜜多; + +#7 戊二 论 + +#8 己一 超越等持 + +滅盡等九定 修往還二相 後以欲界攝 非定心為界 + +超越入諸定 超一二三四 及五六七八 至滅定不同 + +#8 己二 所断分别 + +#9 庚一 所取分别 + +#10 辛一 于转趣事所起之所取分别 + +略標及廣釋 佛所不攝受 無三世功德 及於三妙道 + +所取初分別 加行相行境 + +#10 辛二 于退还事所起之所取分别 + +次許心心所 轉趣時有境 不發菩提心 不作意菩提 作意小乘法 + +不思大菩提 有修與無修 及與彼相反 非如義分別 當知屬修道 + +#9 庚二 能取分别 + +#10 辛一 实执能取分别 + +施設有情境 施設法不空 貪著簡擇性 為寂事三乘 + +受供不清淨 破壞諸正行 經說是第一 能取應當知 + +#10 辛二 假执能取分别 + +#11 壬一 略标 + +設有情及因 由此所摧害 故是修道繫 其餘九違品 + +#11 壬二 广释 + +如自所緣性 三智障有三 靜道真如等 相應不相應 + +不等及苦等 諸煩惱自性 及無二愚蒙 為最後分別 + +#8 己三 断除所断之胜利 + +如諸病痊愈 常時獲安隱 恆修眾生樂 一切勝功德 + +任運而依附 勝果所莊嚴 上品位菩薩 如眾流歸海 + +#6 丁七 无间道顶加行 + +#7 戊一 经 + +应观一切音声无边际故,随顺般若波罗蜜多;应观一切有情无边际故,随顺般若波罗蜜多; + +> (详 大品 经) + +#7 戊二 论 + +#8 己一 以多福喻显 + +安立三千生 聲聞麟喻德 及離生菩薩 眾善為譬喻 + +輕以無量福 明佛無間道 無間三摩地 證一切相智 + +#8 己二 释所缘及行相 + +無性為所緣 正念為增上 寂靜為行相 愛說者常難 + +#6 丁八 邪执着 + +#7 戊一 经 + +应观积集善法无边际故,随顺般若波罗蜜多;应观诸法得定无边际故,随顺般若波罗蜜多;应观一切佛法无边际故,随顺般若波罗蜜多;应观诸法无边际故,随顺般若波罗蜜多;应观空性无边际故,随顺般若波罗蜜多;应观一切心及心所无边际故,随顺般若波罗蜜多;应观心行无边际故,随顺般若波罗蜜多;应观善法无转变故,随顺般若波罗蜜多;应观不善法无量故,随顺般若波罗蜜多; + +#7 戊二 论 + +於所緣證成 及明所緣性 一切相智智 勝義世俗諦 + +加行與三寶 巧便佛現觀 顛倒及道性 能治所治品 + +性相並修習 說者邪分別 依一切相智 說為十六種 + +#5 丙三 经论说渐次现观加行 + +#6 丁一 经 + +应观一切法如师子吼故,随顺般若波罗蜜多。 + +#6 丁二 论 + +布施至般若 隨念於佛等 法無性自性 許為漸次行 + +#5 丙四 刹那现证菩提加行 + +#6 丁一 经 + +#7 戊一 正说刹那加行 + +(应观一切法无动故,随顺般若波罗蜜多。) + +> (奘译本无,法尊法师加之) + +#7 戊二 明顶加行、邪行、渐次行、刹那行之能立理 + +“所以者何?色蕴如大海,受、想、行、识蕴如大海;眼处如大海,耳、鼻、舌、身、意处如大海;色处如大海,声、香、味、触、法处如大海;眼界如大海,耳、鼻、舌、身、意界如大海;色界如大海,声、香、味、触、法界如大海;眼识界如大海,耳、鼻、舌、身、意识界如大海;眼触如大海,耳、鼻、舌、身、意触如大海;眼触为缘所生诸受如大海,耳、鼻、舌、身、意触为缘所生诸受如大海;地界如大海,水、火、风、空、识界如大海;因缘如大海,等无间缘、所缘缘、增上缘如大海;无明如大海,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如大海。 + +“复次,善现!色蕴如虚空,受、想、行、识蕴如虚空;眼处如虚空,耳、鼻、舌、身、意处如虚空;色处如虚空,声、香、味、触、法处如虚空;眼界如虚空,耳、鼻、舌、身、意界如虚空;色界如虚空,声、香、味、触、法界如虚空;眼识界如虚空,耳、鼻、舌、身、意识界如虚空;眼触如虚空,耳、鼻、舌、身、意触如虚空;眼触为缘所生诸受如虚空,耳、鼻、舌、身、意触为缘所生诸受如虚空;地界如虚空,水、火、风、空、识界如虚空;因缘如虚空,等无间缘、所缘缘、增上缘如虚空;无明如虚空,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如虚空。 + +“复次,善现!色如妙高山种种严饰,受、想、行、识如妙高山种种严饰;眼处如妙高山种种严饰,耳、鼻、舌、身、意处如妙高山种种严饰;色处如妙高山种种严饰,声、香、味、触、法处如妙高山种种严饰;眼界如妙高山种种严饰,耳、鼻、舌、身、意界如妙高山种种严饰;色界如妙高山种种严饰,声、香、味、触、法界如妙高山种种严饰;眼识界如妙高山种种严饰,耳、鼻、舌、身、意识界如妙高山种种严饰;眼触如妙高山种种严饰,耳、鼻、舌、身、意触如妙高山种种严饰;眼触为缘所生诸受如妙高山种种严饰,耳、鼻、舌、身、意触为缘所生诸受如妙高山种种严饰;地界如妙高山种种严饰,水、火、风、空、识界如妙高山种种严饰;因缘如妙高山种种严饰,等无间缘、所缘缘、增上缘如妙高山种种严饰;无明如妙高山种种严饰,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如妙高山种种严饰。 + +“复次,善现!色蕴如日轮生光,受、想、行、识蕴如日轮生光;眼处如日轮生光,耳、鼻、舌、身、意处如日轮生光;色处如日轮生光,声、香、味、触、法处如日轮生光;眼界如日轮生光,耳、鼻、舌、身、意界如日轮生光;色界如日轮生光,声、香、味、触、法界如日轮生光;眼识界如日轮生光,耳、鼻、舌、身、意识界如日轮生光;眼触如日轮生光,耳、鼻、舌、身、意触如日轮生光;眼触为缘所生诸受如日轮生光,耳、鼻、舌、身、意触为缘所生诸受如日轮生光;地界如日轮生光,水、火、风、空、识界如日轮生光;因缘如日轮生光,等无间缘、所缘缘、增上缘如日轮生光;无明如日轮生光,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如日轮生光。 + +“复次,善现!色蕴如声无边际,受、想、行、识蕴如声无边际;眼处如声无边际,耳、鼻、舌、身、意处如声无边际;色处如声无边际,声、香、味、触、法处如声无边际;眼界如声无边际,耳、鼻、舌、身、意界如声无边际;色界如声无边际,声、香、味、触、法界如声无边际;眼识界如声无边际,耳、鼻、舌、身、意识界如声无边际;眼触如声无边际,耳、鼻、舌、身、意触如声无边际;眼触为缘所生诸受如声无边际,耳、鼻、舌、身、意触为缘所生诸受如声无边际;地界如声无边际,水、火、风、空、识界如声无边际;因缘如声无边际,等无间缘、所缘缘、增上缘如声无边际;无明如声无边际,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如声无边际。 + +“复次,善现!色蕴如有情界无边际,受、想、行、识蕴如有情界无边际;眼处如有情界无边际,耳、鼻、舌、身、意处如有情界无边际;色处如有情界无边际,声、香、味、触、法处如有情界无边际;眼界如有情界无边际,耳、鼻、舌、身、意界如有情界无边际;色界如有情界无边际,声、香、味、触、法界如有情界无边际;眼识界如有情界无边际,耳、鼻、舌、身、意识界如有情界无边际;眼触如有情界无边际,耳、鼻、舌、身、意触如有情界无边际;眼触为缘所生诸受如有情界无边际,耳、鼻、舌、身、意触为缘所生诸受如有情界无边际;地界如有情界无边际,水、火、风、空、识界如有情界无边际;因缘如有情界无边际,等无间缘、所缘缘、增上缘如有情界无边际;无明如有情界无边际,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如有情界无边际。 + +“复次,善现!色蕴如地无边际,受、想、行、识蕴如地无边际;眼处如地无边际,耳、鼻、舌、身、意处如地无边际;色处如地无边际,声、香、味、触、法处如地无边际;眼界如地无边际,耳、鼻、舌、身、意界如地无边际;色界如地无边际,声、香、味、触、法界如地无边际;眼识界如地无边际,耳、鼻、舌、身、意识界如地无边际;眼触如地无边际,耳、鼻、舌、身、意触如地无边际;眼触为缘所生诸受如地无边际,耳、鼻、舌、身、意触为缘所生诸受如地无边际;地界如地无边际,水、火、风、空、识界如地无边际;因缘如地无边际,等无间缘、所缘缘、增上缘如地无边际;无明如地无边际,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如地无边际。 + +“复次,善现!色蕴如水无边际,受、想、行、识蕴如水无边际;眼处如水无边际,耳、鼻、舌、身、意处如水无边际;色处如水无边际,声、香、味、触、法处如水无边际;眼界如水无边际,耳、鼻、舌、身、意界如水无边际;色界如水无边际,声、香、味、触、法界如水无边际;眼识界如水无边际,耳、鼻、舌、身、意识界如水无边际;眼触如水无边际,耳、鼻、舌、身、意触如水无边际;眼触为缘所生诸受如水无边际,耳、鼻、舌、身、意触为缘所生诸受如水无边际;地界如水无边际,水、火、风、空、识界如水无边际;因缘如水无边际,等无间缘、所缘缘、增上缘如水无边际;无明如水无边际,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如水无边际。 + +“复次,善现!色蕴如火无边际,受、想、行、识蕴如火无边际;眼处如火无边际,耳、鼻、舌、身、意处如火无边际;色处如火无边际,声、香、味、触、法处如火无边际;眼界如火无边际,耳、鼻、舌、身、意界如火无边际;色界如火无边际,声、香、味、触、法界如火无边际;眼识界如火无边际,耳、鼻、舌、身、意识界如火无边际;眼触如火无边际,耳、鼻、舌、身、意触如火无边际;眼触为缘所生诸受如火无边际,耳、鼻、舌、身、意触为缘所生诸受如火无边际;地界如火无边际,水、火、风、空、识界如火无边际;因缘如火无边际,等无间缘、所缘缘、增上缘如火无边际;无明如火无边际,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如火无边际。 + +“复次,善现!色蕴如风无边际,受、想、行、识蕴如风无边际;眼处如风无边际,耳、鼻、舌、身、意处如风无边际;色处如风无边际,声、香、味、触、法处如风无边际;眼界如风无边际,耳、鼻、舌、身、意界如风无边际;色界如风无边际,声、香、味、触、法界如风无边际;眼识界如风无边际,耳、鼻、舌、身、意识界如风无边际;眼触如风无边际,耳、鼻、舌、身、意触如风无边际;眼触为缘所生诸受如风无边际,耳、鼻、舌、身、意触为缘所生诸受如风无边际;地界如风无边际,水、火、风、空、识界如风无边际;因缘如风无边际,等无间缘、所缘缘、增上缘如风无边际;无明如风无边际,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如风无边际。 + +“复次,善现!色蕴如虚空无边际,受、想、行、识蕴如虚空无边际;眼处如虚空无边际,耳、鼻、舌、身、意处如虚空无边际;色处如虚空无边际,声、香、味、触、法处如虚空无边际;眼界如虚空无边际,耳、鼻、舌、身、意界如虚空无边际;色界如虚空无边际,声、香、味、触、法界如虚空无边际;眼识界如虚空无边际,耳、鼻、舌、身、意识界如虚空无边际;眼触如虚空无边际,耳、鼻、舌、身、意触如虚空无边际;眼触为缘所生诸受如虚空无边际,耳、鼻、舌、身、意触为缘所生诸受如虚空无边际;地界如虚空无边际,水、火、风、空、识界如虚空无边际;因缘如虚空无边际,等无间缘、所缘缘、增上缘如虚空无边际;无明如虚空无边际,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如虚空无边际。 + +“复次,善现!色蕴离集善相,受、想、行、识蕴离集善相;眼处离集善相,耳、鼻、舌、身、意处离集善相;色处离集善相,声、香、味、触、法处离集善相;眼界离集善相,耳、鼻、舌、身、意界离集善相;色界离集善相,声、香、味、触、法界离集善相;眼识界离集善相,耳、鼻、舌、身、意识界离集善相;眼触离集善相,耳、鼻、舌、身、意触离集善相;眼触为缘所生诸受离集善相,耳、鼻、舌、身、意触为缘所生诸受离集善相;地界离集善相,水、火、风、空、识界离集善相;因缘离集善相,等无间缘、所缘缘、增上缘离集善相;无明离集善相,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼离集善相。 + +“复次,善现!色蕴离集法相,受、想、行、识蕴离集法相;眼处离集法相,耳、鼻、舌、身、意处离集法相;色处离集法相,声、香、味、触、法处离集法相;眼界离集法相,耳、鼻、舌、身、意界离集法相;色界离集法相,声、香、味、触、法界离集法相;眼识界离集法相,耳、鼻、舌、身、意识界离集法相;眼触离集法相,耳、鼻、舌、身、意触离集法相;眼触为缘所生诸受离集法相,耳、鼻、舌、身、意触为缘所生诸受离集法相;地界离集法相,水、火、风、空、识界离集法相;因缘离集法相,等无间缘、所缘缘、增上缘离集法相;无明离集法相,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼离集法相。 + +“复次,善现!色蕴如定无边际,受、想、行、识蕴如定无边际;眼处如定无边际,耳、鼻、舌、身、意处如定无边际;色处如定无边际,声、香、味、触、法处如定无边际;眼界如定无边际,耳、鼻、舌、身、意界如定无边际;色界如定无边际,声、香、味、触、法界如定无边际;眼识界如定无边际,耳、鼻、舌、身、意识界如定无边际;眼触如定无边际,耳、鼻、舌、身、意触如定无边际;眼触为缘所生诸受如定无边际,耳、鼻、舌、身、意触为缘所生诸受如定无边际;地界如定无边际,水、火、风、空、识界如定无边际;因缘如定无边际,等无间缘、所缘缘、增上缘如定无边际;无明如定无边际,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如定无边际。 + +“复次,善现!色蕴离色蕴自性,色蕴真如是佛法;受、想、行、识蕴离受蕴等自性,受蕴等真如是佛法。眼处离眼处自性,眼处真如是佛法;耳、鼻、舌、身、意处离耳处等自性,耳处等真如是佛法。色处离色处自性,色处真如是佛法;声、香、味、触、法处离声处等自性,声处等真如是佛法。眼界离眼界自性,眼界真如是佛法;耳、鼻、舌、身、意界离耳界等自性,耳界等真如是佛法。色界离色界自性,色界真如是佛法;声、香、味、触、法界离声界等自性,声界等真如是佛法。眼识界离眼识界自性,眼识界真如是佛法;耳、鼻、舌、身、意识界离耳识界等自性,耳识界等真如是佛法。眼触离眼触自性、眼触真如是佛法;耳、鼻、舌、身、意触离耳触等自性,耳触等真如是佛法。眼触为缘所生诸受离眼触为缘所生诸受自性,眼触为缘所生诸受真如是佛法;耳、鼻、舌、身、意触为缘所生诸受离耳触为缘所生诸受等自性,耳触为缘所生诸受等真如是佛法。地界离地界自性,地界真如是佛法;水、火、风、空、识界离水界等自性,水界等真如是佛法。因缘离因缘自性,因缘真如是佛法;等无间缘、所缘缘、增上缘离等无间缘等自性,等无间缘等真如是佛法。无明离无明自性,无明真如是佛法;行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼离行等自性,行等真如是佛法。 + +“复次,善现!色蕴法性无边际,受、想、行、识蕴法性无边际;眼处法性无边际,耳、鼻、舌、身、意处法性无边际;色处法性无边际,声、香、味、触、法处法性无边际;眼界法性无边际,耳、鼻、舌、身、意界法性无边际;色界法性无边际,声、香、味、触、法界法性无边际;眼识界法性无边际,耳、鼻、舌、身、意识界法性无边际;眼触法性无边际,耳、鼻、舌、身、意触法性无边际;眼触为缘所生诸受法性无边际,耳、鼻、舌、身、意触为缘所生诸受法性无边际;地界法性无边际,水、火、风、空、识界法性无边际;因缘法性无边际,等无间缘、所缘缘、增上缘法性无边际;无明法性无边际,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼法性无边际。 + +“复次,善现!色蕴空法性无边际,受、想、行、识蕴空法性无边际;眼处空法性无边际,耳、鼻、舌、身、意处空法性无边际;色处空法性无边际,声、香、味、触、法处空法性无边际;眼界空法性无边际,耳、鼻、舌、身、意界空法性无边际;色界空法性无边际,声、香、味、触、法界空法性无边际;眼识界空法性无边际,耳、鼻、舌、身、意识界空法性无边际;眼触空法性无边际,耳、鼻、舌、身、意触空法性无边际;眼触为缘所生诸受空法性无边际,耳、鼻、舌、身、意触为缘所生诸受空法性无边际;地界空法性无边际,水、火、风、空、识界空法性无边际;因缘空法性无边际,等无间缘、所缘缘、增上缘空法性无边际;无明空法性无边际,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼空法性无边际。 + +“复次,善现!色蕴心无边际,色蕴心行生故;受、想、行、识蕴心无边际,受蕴等心行生故。眼处心无边际,眼处心行生故;耳、鼻、舌、身、意处心无边际,耳处等心行生故。色处心无边际,色处心行生故;声、香、味、触、法处心无边际,声处等心行生故。眼界心无边际,眼界心行生故;耳、鼻、舌、身、意界心无边际,耳界等心行生故。色界心无边际,色界心行生故;声、香、味、触、法界心无边际,声界等心行生故。眼识界心无边际,眼识界心行生故;耳、鼻、舌、身、意识界心无边际,耳识界等心行生故。眼触心无边际,眼触心行生故;耳、鼻、舌、身、意触心无边际,耳触等心行生故。眼触为缘所生诸受心无边际,眼触为缘所生诸受心行生故;耳、鼻、舌、身、意触为缘所生诸受心无边际,耳触为缘所生诸受等心行生故。地界心无边际,地界心行生故;水、火、风、空、识界心无边际,水界等心行生故。因缘心无边际,因缘心行生故;等无间缘、所缘缘、增上缘心无边际,等无间缘等心行生故。无明心无边际,无明心行生故;行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼心无边际,行等心行生故。 + +“复次,善现!色蕴善、不善乃至不可得,受、想、行、识蕴善、不善乃至不可得;眼处善、不善乃至不可得,耳、鼻、舌、身、意处善、不善乃至不可得;色处善、不善乃至不可得,声、香、味、触、法处善、不善乃至不可得;眼界善、不善乃至不可得,耳、鼻、舌、身、意界善、不善乃至不可得;色界善、不善乃至不可得,声、香、味、触、法界善、不善乃至不可得;眼识界善、不善乃至不可得,耳、鼻、舌、身、意识界善、不善乃至不可得;眼触善、不善乃至不可得,耳、鼻、舌、身、意触善、不善乃至不可得;眼触为缘所生诸受善、不善乃至不可得,耳、鼻、舌、身、意触为缘所生诸受善、不善乃至不可得;地界善、不善乃至不可得,水、火、风、空、识界善、不善乃至不可得;因缘善、不善乃至不可得,等无间缘、所缘缘、增上缘善、不善乃至不可得;无明善、不善乃至不可得,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼善、不善乃至不可得。 + +“复次,善现!色蕴无动,受、想、行、识蕴无动;眼处无动,耳、鼻、舌、身、意处无动;色处无动,声、香、味、触、法处无动;眼界无动,耳、鼻、舌、身、意界无动;色界无动,声、香、味、触、法界无动;眼识界无动,耳、鼻、舌、身、意识界无动;眼触无动,耳、鼻、舌、身、意触无动;眼触为缘所生诸受无动,耳、鼻、舌、身、意触为缘所生诸受无动;地界无动,水、火、风、空、识界无动;因缘无动,等无间缘、所缘缘、增上缘无动;无明无动,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼无动。 + +“复次,善现!色蕴如师子吼,受、想、行、识蕴如师子吼;眼处如师子吼,耳、鼻、舌、身、意处如师子吼;色处如师子吼,声、香、味、触、法处如师子吼;眼界如师子吼,耳、鼻、舌、身、意界如师子吼;色界如师子吼,声、香、味、触、法界如师子吼;眼识界如师子吼,耳、鼻、舌、身、意识界如师子吼;眼触如师子吼,耳、鼻、舌、身、意触如师子吼;眼触为缘所生诸受如师子吼,耳、鼻、舌、身、意触为缘所生诸受如师子吼;地界如师子吼,水、火、风、空、识界如师子吼;因缘如师子吼,等无间缘、所缘缘、增上缘如师子吼;无明如师子吼,行、识、名色、六处、触、受、爱、取、有、生、老死愁叹苦忧恼如师子吼。 + +#6 丁二 论 + +施等一一中 攝諸無漏法 當知即能仁 一剎那智德 + +猶如諸士夫 動一處水輪 一切頓轉動 剎那智亦爾 + +若時起異熟 一切白法性 般若波羅蜜 即一剎那智 + +由布施等行 諸法如夢住 一剎那能證 諸法無相性 + +如夢與能見 不見有二相 一剎那能見 諸法無二性 + +#4 乙三 经论说所证果德 + +#5 丙一 经 + +“善现当知!诸菩萨摩诃萨若能如是思惟观察觉悟蕴等,随顺般若波罗蜜多,便能远离诳谄作意,亦能远离憍慢作意,亦能远离自赞作意,亦能远离毁他作意,亦能远离我想作意,亦能远离名利作意,亦能远离五盖作意,亦能远离嫉悭作意,由此亦能圆满一切难得希有真净功德,亦能圆满严净佛土,亦能圆满无上佛法,所谓无上正等菩提。” + +#5 丙二 论 + +#6 丁一 身建立 + +#7 戊一 自性身 + +能仁自性身 得諸無漏法 一切種清淨 彼自性為相 + +#7 戊二 智法身 + +#8 己一 正义 + +順菩提分法 無量及解脫 九次第等至 十遍處自體 + +最為殊勝處 差別有八種 無諍與願智 神通無礙解 + +四一切清淨 十自在十力 四種無所畏 及三種不護 + +並三種念住 無忘失法性 永害諸隨眠 大悲諸眾生 + +唯佛不共法 說有十八種 及一切相智 說名為法身 + +#8 己二 差别 + +聲聞無諍定 離見者煩惱 佛無諍永斷 聚落等煩惱 + +佛所有願智 任運無礙著 無障礙常住 普答一切問 + +#8 己三 断诤 + +#9 庚一 于法身常住断诤 + +若善因成熟 於彼彼所化 爾時能饒益 即於彼彼現 + +如天雖降雨 種壞不發芽 諸佛雖出世 無根不獲善 + +#9 庚二 于遍常断诤 + +如是事廣大 故說佛為遍 即此無盡故 亦可說為常 + +#7 戊三 受用身 + +#8 己一 略标行相 + +許三十二相 八十隨好性 受用大乘故 名佛受用身 + +#8 己二 广释功德 + +#9 庚一 释相 + +手足輪相具 足底如龜腹 手足指網連 柔軟極細嫩 + +身七處充滿 手足指纖長 跟廣身洪直 足膝骨不突 + +諸毛皆上靡 踹如硻泥耶 雙臂形長妙 陰藏密第一 + +皮金色細薄 孔一毛右旋 眉間毫相嚴 上身如獅子 + +髆圓實項豐 非勝現勝昧 身量縱橫等 譬諾瞿陀樹 + +頂肉髻圓顯 舌廣長梵音 兩頰如獅王 齒潔白平齊 + +諸齒極細密 數量滿四十 紺目牛王睫 妙相三十二 + +此中此此相 所有能生因 由彼彼圓滿 能感此諸相 + +迎送師長等 正受堅固住 習近四攝事 布施妙資財 + +救放所殺生 增長受善等 是能生因相 如經所宣說 + +#9 庚二 释随好 + +佛爪赤銅色 潤澤高諸指 圓滿而纖長 脈不現無結 + +踝隱足平隱 行步如獅象 鵝牛王右旋 妙直進堅密 + +光潔身相稱 潔淨軟清淨 眾相皆圓滿 身廣大微妙 + +步庠序雙目 清淨身細嫩 身無怯充實 其身善策勵 + +支節善開展 顧視淨無翳 身圓而相稱 無歪身平整 + +臍深臍右旋 為眾所樂見 行淨身無疣 無諸黑黶點 + +手軟如木棉 手文明深長 面門不太長 唇紅如頻婆 + +舌柔軟微薄 赤紅發雷音 語美妙牙圓 鋒利白平齊 + +漸細鼻高修 清淨最第一 眼廣眼睫密 猶如蓮華葉 + +眉修長細軟 潤澤毛齊整 手長滿耳齊 耳輪無過失 + +額部善分展 開廣頂周圓 髮紺青如蜂 稠密軟不亂 + +不澀出妙香 能奪眾生意 德紋相吉祥 是為佛隨好 + +#7 戊四 胜应身 + +若乃至三有 於眾生平等 作種種利益 佛化身無斷 + +#6 丁二 事业 + +如是盡生死 此事業無斷 諸趣寂滅業 安立四攝事 + +令知諸雜染 及知諸清淨 有情如證義 六波羅蜜多 + +佛道自性空 盡滅二戲論 假名無所得 成熟諸有情 + +及立菩薩道 遣除諸執著 得菩提嚴淨 佛土及決定 + +無量有情利 親近佛等德 菩提分諸業 不失壞見諦 + +遠離諸顛倒 無彼根本理 清淨及資糧 有為與無為 + +悉不知有異 安立大涅槃 許法身事業 有二十七種 + +#3 甲三 经流通分 + +#4 乙一 经 + +时,薄伽梵说是经已,无量菩萨摩诃萨众慈氏菩萨而为上首,具寿善现及舍利子、阿难陀等诸大声闻,并诸天、龙、阿素洛等,一切大众闻佛所说皆大欢喜、信受奉行。 + +#4 乙二 论 + +#5 丙一 摄为六义 + +相及彼加行 彼極彼漸次 彼竟彼異熟 餘六種略義 + +#5 丙二 摄为三义 + +初境有三種 因四加行性 法身事業果 餘三種略表 + +謹依先覺論 摘譯少分義 歸命慈氏尊 加持成佛事 + +#4 回向偈 + +愿以此功德 庄严佛净土 上报四重恩 下济三途苦 + +若有见闻者 悉发菩提心 尽此一报身 同生极乐国 + +诵经功德殊胜行,无边胜福皆回向,普愿沉溺诸众生, + +速往无量光佛刹,十方三世一切佛,一切菩萨摩诃萨, + +摩诃般若波罗蜜 + diff --git "a/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\345\244\232\347\266\223\350\210\254\350\213\245\347\220\206\350\266\243\345\210\206\350\277\260\350\256\232.md" "b/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\345\244\232\347\266\223\350\210\254\350\213\245\347\220\206\350\266\243\345\210\206\350\277\260\350\256\232.md" new file mode 100644 index 0000000..935b1f0 --- /dev/null +++ "b/docs/\345\244\247\350\210\254\350\213\245\346\263\242\347\276\205\350\234\234\345\244\232\347\266\223\350\210\254\350\213\245\347\220\206\350\266\243\345\210\206\350\277\260\350\256\232.md" @@ -0,0 +1,5571 @@ +#1 大般若波罗蜜多經 第十會 | 般若理趣分述讚 窺 + +#2 大般若波羅蜜多經般若理趣分述讚 + +> No. 1695 [cf. No. 220(10)] http://cbetaonline.cn/zh/T1695_001 +經錄信息:http://jinglu.cbeta.org/cgi-bin/jl_detail.pl?lang=&sid=zroon​ +本經全文:https://mubu.com/doc/71cOSaOlvMn;http://cbetaonline.cn/zh/T0220_578 +​ +經文9008字,述讚63228字,約七倍。1天7小時,15000字。 + + +#3 特色 + +基師此疏,全文六萬餘字,以160餘處述讚,詮釋理趣般若之甚深理趣、顯密圓融之無上密法。文似淺近,義實幽深。尤以首卷廣引經論,隨經文勢勝讚佛德。文采斐然,珠落玉盤,一氣呵成,歎為觀止! + +大般若空性之體“性”,義“相”。謂染妄法,性即真如。真如之法,平等無二,清淨無染,體“無戲論”,自性遠離,甚深寂静。“戲論”者,謂分別相、名言相、尋思相。知“無戲論”染淨亡,染淨亡性無分別,無分別故生死滅,而能自利利他,廣行六度萬行,疾證無上菩提。 + +卷首即讚佛求加持,由此開啟般若法門,文如泉湧,勢不可擋,體現了隨信行和隨法行的高度統一,也是福德、智慧二互不違的中道典範。 + +#3 凡例 + +#4 經文譯本 + +#5 (1)唐‧不空譯《大樂金剛不空真實三麼耶經 般若波羅蜜多理趣品》一卷。 + +> http://cbetaonline.cn/zh/T0243_001 + +大乐金刚不空真实三昧耶经般若波罗蜜多理趣释 The Dale jingang bukong zhenshi sanmeiye jing banruoboluomiduo liqushi; 2 fasc. (T 1003.18.607-617), tr. Amoghavajra 不空, abbr. Rishushaku 理趣释. Foremost East Asian commentary on the symbolism and significance of the Rishukyo^ 理趣经. Japanese commentaries: T 2240, T 2241. See Gelfman (1979) for a study and English translation.  T08n0243: Da le jin gang bu kong zhen shi san mo ye jing + + 大樂金剛不空真實三麼耶經耶經 + +> https://mbingenheimer.net/tools/bibls/transbibl.html + + +[Check CBC Attribution Database] + +en: complete + +translated by: Gelfman, Wayne + +The Rishukyō and Its Influence on Kūkai: The Identity of the Sentient Being with the Buddha + +Ph.D. diss., University of Wisconsin, 1979. + +en: complete + +translated by: Miyata, Taisen + +The Way of Great Enjoyment - Mahā-sukha-vajra-amogha-samaya-sūtra (Prajñā-pāramitā-naya) [Hannya rishukyō] + +Northern California Koyasan Temple, Sacramento, CA, 1989. Republished as 'The Sutra of the Vow of Fulfilling the Great Perpetual Enjoyment and Benefiting All Sensient Beings Without Exception' In: Esoteric Texts. Berkeley: Numata Center for Buddhist Translation and Research, 2015 + +en: complete + +translated by: Ian Astley-Kristensen (ed. and tr.) + +The Rishukyō: the Sino-Japanese Tantric Prajñāpāramitā in 150 verses (Amoghavajra's version) + +Tring, Hertfordshire, UK: Institute of Buddhist Studies, 1991. (Buddhica Britannica, Series Continua) + +en: complete + +translated by: Yamamoto, Chikyō + +In: Works of St. Kōbō Daishi + +Kōyasan: Kōyasan University 1993, pp. 599–618. + +(2)唐‧菩提流志譯《實相般若波羅蜜經》一卷。 + +> http://cbetaonline.cn/zh/T0240_001 + +(3)唐‧金剛智譯《金剛頂瑜伽理趣般若經》一卷。 + +> http://cbetaonline.cn/zh/T0241_001 + +(4)宋‧施護譯《遍照般若波羅蜜經》一卷。 + +> http://cbetaonline.cn/zh/T0242_001 + +(5)宋‧法賢譯《最上根本大樂金剛不空三昧大教王經》七卷。 + +> http://cbetaonline.cn/zh/T0244_001 + +#4 參考註疏 + +不空三藏(705-774)《大乐金刚不空真实三昧耶经般若波罗蜜多理趣释》 2卷 + +> http://cbetaonline.cn/zh/T1003_001 + +窥基法师《大般若波羅蜜多經般若理趣分述讚》3卷 + +> http://authority.dila.edu.tw/person/?fromInner=A001019 + +空海法师(774-835)《實相般若經答釋》《理趣经开题》 + +> http://authority.dila.edu.tw/person/?fromInner=A000759;http://www.nanputuo.com/nptlib/bookinfo.asp?mid=206 + + +杲宝法师(1306-1362)《理趣释秘要钞》 12卷 + +> http://authority.dila.edu.tw/person/?fromInner=A000684;http://www.nanputuo.com/nptlib/html/201104/0709503473499.html + +廣安恭壽(1856-1922) 《訓点 般若理趣經和解》《通俗般若理趣經和解》 + +> https://dl.ndl.go.jp/info:ndljp/pid/818038 + +《般若理趣經講話》 + +> https://dl.ndl.go.jp/info:ndljp/pid/914036 + +持松法师(1894-1972)《般若理趣经集解》 + +> http://read.goodweb.net.cn/news/news_more.asp?lm2=1794 + +真圆法师(1963-)《理趣经简牍》 + +> http://read.goodweb.net.cn/news/news_more.asp?lm2=1209&open=_blank&tj=0&hot=0 + +加藤精神《理趣經講說》 + +尾祥雲《理趣經研究》 + +神林隆淨《理趣經講義》 + +《般若理趣经释义述胜德》 + +> http://book.kongfz.com/257522/1905278427/ + +《般若理趣品汇释》 + +> http://book.kongfz.com/14419/1650115493/ + +本註疏底本文字為CBETA所用大正藏版本(【原】享保元年刊宗教大學藏本),對照卍續藏,抄錄其校勘記錄。CBETA新校記錄,仍有待對照。 + +> http://www.cbeta.org/format/abbr_dz.php + +科判標題,為編者根據疏文所加。 + +經名、偈頌,加以粗體​。 + +文意要點,加下劃線。 + +述讚引用《理趣分》本經原文,加引號;解釋其他經文,暫不加引號。 + +疑難待考之處,標以【?】。引用經論出處,未及詳考者,有待來日。 + +#3 將欲開闡,先當讚佛 + +大般若波羅蜜多經般若理趣分述讚卷第一 + +大慈恩寺沙門 基撰 + +> http://authority.dila.edu.tw/person/?fromInner=A001580 + +稽首離性相 心言本空寂 常住真三寶 及我親教尊 + +理趣甚深法 非我所能讚 今依尊智悲 加持力故說 + +#4 《瑜伽》論第八十二云:諸說法師將欲開闡,先當讚佛,或略、或廣。 + +#5 略讚佛者由五種相。 + +一者妙色,具三十二大丈夫相,圓滿莊嚴,八十隨好,間飾支體,光明照耀如大金山。 + +二者寂靜,端嚴殊妙,諸根閑寂,其心晏然,已能善得最上調順寂止究竟,已能善到第一調順寂止彼岸,善能密護降伏諸根,為丈夫龍無誤失故,丈夫牛王御大眾故,丈夫良馬心調善故,清淨無撓如澂泉池,已能永拔煩惱習氣。 + +三者勝智,謂於三世及非世法,無礙無著。 + +四者正行,六度、四攝,自他利行,皆悉圓滿。 + +五者威德,謂諸如來神通遊戲,威德熾盛。 + +#5 復有六讚。 + +功德圓滿故。離垢染故。無濁穢故。無與等故。唯利有情以為業故。於此業用有堪能故。 + +廣讚無邊,皆如彼說。 + +> 註:瑜伽卷74 + +#4 既讚佛已,要成十法,名說法師。言十法者, + +> 註:瑜伽卷81 + +一者善於法義,謂六法、十義善能解故。 + +> 云何為「文」?謂有六種:一者、名身;二者、句身;三者、字身;四者、語;五者、行相;六者、機請。 +云何為「義」?當知略有十種:一者、地義;二者、相義;三者、作意等義;四者、依處義;五者、過患義,六者、勝利義;七者、所治義,八者、能治義;九者、略義,十者、廣義。 + + +二者能廣宣說,謂多聞聞持,其聞積集。 + +三者具足無畏,勝大眾中,宣說正法無所怯懼,聲不嘶掉,腋不流汗,念無忘失。 + +四者言詞善巧,語工圓滿,八支成就,言詞具足,處眾說法。 + +五者善方便說,謂二十種善巧方便,宣說正法。如以時殷重等。 + +> 註:瑜伽卷38 + +六者具足成就,法隨法行,不唯聽聞以為究竟,如其所說即如是行。 + +七者威儀具足,謂說法時,手足不亂,頭不動搖,面無變易,鼻不改異,進止往來,威儀庠序。 + +八者勇猛精進,常樂聽聞所未聞法,於已聞法轉令明淨,不捨瑜伽,不捨作意,心不捨離內奢摩他。 + +九者無有厭倦,謂為四眾廣宣妙法,身、心無倦。 + +十者具足忍力,謂罵弄訶責,終不返報,若被輕蔑,不生忿憾,乃至廣說。 + +> 註:瑜伽卷25 + +#4 其聽法者,是說法師說正法時,應安處他,令住恭敬,無倒聽聞。謂由一因或乃至十。 + +> 註:瑜伽卷82 + +#5 一者, + +恭敬聽法,現前能證利益安樂。此有四句,如菩薩地法處中說。 + +> 註:根據瑜伽卷35,“法處”應為“法受”:http://cbetaonline.cn/zh/T30n1579_p0483b11 + +#5 二者, + +一,善建立一切法,離諸過失,具大義故; + +二,說者聽者,所設劬勞,有勝果故。 + +#5 三者, + +一,能令眾生捨惡趣故, + +二,得善趣故, + +三,速能引攝涅槃因故。 + +如是三事要由恭敬聽聞方得。 + +#5 四者, + +一,能善了達契經等故, + +二,如是正法能令眾生捨諸不善、攝受諸善,若善聽者能受、捨故。 + +三,由此捨、受,捨離惡因所招後苦故。 + +四,速證涅槃故、 + +#5 五者, + +一,謂我今當聞所未聞。 + +二,聞已研究。 + +三,當斷疑網。 + +四,棄背諸見。 + +五,我當以慧通達一切甚深句義。 + +此顯三慧:初二顯聞,次二顯思,後一顯修。 + +#5 六者, + +一,為欲敬報大師恩德,謂佛為我行於無量難行苦行,求得此法,云何今者而不聽聞? + +二,觀自義利。 + +三,究竟能離一切熱惱。 + +四,善順正儀。 + +五,易可見了。 + +六,諸聰慧者內證所知。 + +#5 七者, + +謂我當集七種正法,知法、知義,乃至廣說,尊卑差別。 + +> 註:根據福嚴佛學院講義,關於「七種正法」的內容,根據《中阿含經》卷 1〈七法品〉《善法經》(大正 1,421a12-422a16)〔~A. VII. 64. DhammaJJU sutta〕為:知法、知義、知時、知節、知己、知眾、知人勝如。〔~dhammaJJU,attaJJU,kAlaJJU,mattaJJU,atthaJJU,parisaJJU,puggalaparaJJU.〕。另參見《七知經》卷1(大正 1,810a6-b28);《增壹阿含經》卷 33〈等法品〉(大正 2,728b25-729b10)〔~A. VII. 64.DhammaJJU.〕;《集異門足論》卷 17(大正 26,437b18-c10);《大毘婆沙論》卷 31(大正 27,160c8-11)。 + + +#5 八者, + +一,佛法易得,乃至亦為旃荼羅等而開示故。 + +二,易學,行住坐臥皆得修故。 + +三,能引發增上生果、決定勝果。 + +四,初善。 + +五,中善。 + +六,後善 + +七,感現樂果。 + +八,引後樂故。 + +#5 九者,謂能解脫九種世間逼迫事故。 + +一,能出生死大牢獄故。 + +二,永斷貪等堅牢縛故。 + +三,棄捨七財貧,建立七財富故。 + +四,超度善行,聞正法儉,建立善行,聞正法豐故。 + +五,滅無明闇,起智明故。 + +六,度四暴流,升涅槃岸故。 + +七,究竟能療煩惱病故。 + +八,解脫一切貪愛羂故。 + +九,能度無始生死曠野稠林行故。 + +#5 十者, + +一,恭敬聽法得思擇力,由此能受聞法勝利,如法求財,不以非法,深見過患而受用之,乃至第十,能引一切世間出世間,靜慮、解脫、等持、等至,廣如彼說。 + +> 註:瑜伽卷82 + +說者、聽者,先住上法,方可說、聽。若不住此,徒設劬勞,終無大果。 + +將讚經文,略以四門解釋。一敘經宗旨。二顯經體性。三彰經勝德。四釋經本文。 + +#3 一、敘經宗旨 + +敘經宗旨者。佛滅度後九百年間,有應真大士,厥名清辨。身同數論之儀,示無朋黨之執,心處釋迦之理,宗無偏滯之情。時人號為妙吉祥菩薩,神異聖德,廣如別記。 + +#4 彼造《掌珍論》云: + +凡所知境略有二種:一者有為,二者無為。以諸愚夫,不正覺了勝義諦理,有為、無為,無顛倒性,妄執諸法自性、差別,增益種種邪見羂網。 + +如世有一無智畫師,畫作可畏藥刃、鬼像或女人像,眩目亂意,謂為實有。執實有故,自起驚怖,或生貪染。於彼境界,眾多計度,增長、分別諸見羂網。 + +若正覺知,勝義諦理,有為、無為,無顛倒性,爾時如世有智畫師,不執彼為真實自性。非如前說,有為、無為,境界差別,以自纏裹,如蠶處繭。 + +彼非有故,無分別慧,趣入行成。然證出世無分別智,要須積集,能壞一切邪見眼膜,無倒觀空,安繕那藥。如是積集,無倒觀空,要藉能遣一切所緣自性聞慧故,應聽此《般若》深經。 + +#4 依此所說以為宗者,真性有為空,如幻緣生故,無為無有實,不起似空花。 + +此中世俗,許少分有;若依勝義,一切皆空。 + +此中畫師,有智、無智,怖染譬喻,喻佛菩薩、一切異生。自業所招,返生憎愛,智者知畫俱於平等,不生怖染。 + +#4 彌勒《中邊》頌曰:虛妄分別有,於此二都無,此中唯有空,於彼亦有此。故說一切法,非空非不空,有無及有故,是即契中道。 + +此以無所執有,有無為以為宗。廣如常說。 + +#3 二、顯經體性 + +#4 二,顯經體性者。 + +#5 般若有五: + +一者,實相。 + +二者,觀照。 + +三者,文字。 + +四者,境界,謂真俗二諦。 + +五者,眷屬,謂一切福智。如開題中,已略顯示。 + +#5 經體有二:一者文,二者義。文字是文,四種是義。 + +實相是般若性。 + +觀照是般若相。 + +文字是般若因。 + +境界是般若境。 + +眷屬是般若伴。 + +故此五種,皆名般若。 + +#5 龍猛釋言: + +就勝義諦,一切皆空,教既無教無不教,體亦無體無不體, + +於俗諦中,亦可說有句言章論,聲為教體。 + +廣如清辨《般若燈》說。 + +#5 護法釋言:教體有四。 + +> 註:見下文釋“聞”。 + +#6 一,攝相歸性體。 + +《般若論》說:應化非真佛,亦非說法者,說法不二取,無說離言相。 + +此經下言:一切有情及法,皆即真如故。甚深般若波羅蜜多,亦即真如。 + +《無垢稱》言:文字性離,無有文字,是即解脫。解脫相者,即諸法也。又一切法,亦如也。 + +故知教體,性即真如。 + +#6 二,攝餘歸識體。 + +故《十地》言:三界唯心。 + +《二十唯識》言:謂餘相續識差別故,令餘相續差別識生,展轉互為增上緣。故說者、聽者心為教體。 + +#6 三,攝假隨實體。 + +《對法》論說:成所引聲者,謂諸聖所說。故知但取聲為教體,攝名等假法,隨實聲說故。 + +#6 四,相用別論體。 + +能說法者識上,所現聲名句文,以為教體,以假及實為教體故。《十地論》云:說者、聽者俱以二事而得究竟,一者聲,二善字。由熏習力、唯識變力,於說法者識心之上,聚集現故。 + +如別章說不能煩引。 + +#3 三、彰經勝德 + +#4 三,彰經勝德者。此經總名《般若理趣》,準義名別有十四種。 + +#5 一,此一切法甚深微妙清淨法門,若聞已信受,得八勝果。 + +一,乃至當坐妙菩提座,一切障蓋皆不能染,謂煩惱障、業障、法障,雖多積集而不能染。 + +二,雖造種種極重惡業,而易消滅。 + +三,不墮惡趣。 + +四,若能受持,日日讀誦,精勤無間,如理思惟,彼於此生,定得一切法平等性金剛等持。 + +五,於一切法皆得自在。 + +六,恒受一切勝妙喜樂。 + +七,當經十六大菩薩生,定得如來執金剛性。 + +八,疾證無上正等菩提。 + +#5 二者,寂靜法性現等覺門。若有聞已,信解受持,讀誦修習,得二勝果。 + +一,乃至當坐妙菩提座,雖造一切極重惡業,而能超越一切惡趣。 + +二,疾證無上正等菩提。 + +#5 三者,調伏眾惡普勝法門。若有聞已,信解受持,讀誦修習,得四勝果。 + +一,假使殺害三界所有一切有情,而不由斯墮於地獄、傍生、鬼界,以能調伏一切煩惱及隨煩惱、惡業等故。 + +二,常生善趣,受勝妙樂。 + +三,修諸菩薩摩訶薩行。 + +四,疾證無上正等菩提。 + +#5 四者,平等智印清淨法門。若有聞已,信解受持,讀誦修習,得三勝果。 + +一,雖住一切貪瞋癡等,客塵煩惱垢穢聚中,而猶蓮花,不為一切客塵垢穢過失所染。 + +> 註:慈海宋顺註:什曰:心本清淨,無有塵垢;塵垢事會,而生於心,爲客塵也。 + +二,常能修習菩薩勝行。 + +三,疾證無上正等菩提。 + +五者,灌頂法門。得二勝果。 + +六者,如來智印金剛法門。得五勝果。 + +七者,離諸戲論輪字法門。得二勝果。 + +八者,入廣大輪平等性法門。得二勝果。 + +九者,真淨供養無上法門。得二勝果。 + +十者,能善調伏智藏法門。得六種果。 + +十一者,性平等性最勝法門。得三勝果。 + +十二者,一切有情住持遍滿勝藏法門。得二勝果。 + +十三者,無邊無際究竟理趣金剛法門。得三勝果。 + +#5 十四者,甚深理趣最勝法門。能受持者有十八勝德。 + +一,一切障滅。 + +二,隨心所欲,無不成辨。 + +三,是諸佛母。 + +四,能誦持者,一切罪滅。 + +五,常見諸佛。 + +六,得宿住智。 + +七,若有情類,未多佛所植眾善根、久發大願,於此般若波羅蜜多甚深理趣最勝法門,不能聽聞、書寫、讀誦、供養、恭敬、思惟、修習。要多佛所植眾善根、久發大願,乃能於此甚深理趣最勝法門,下至聽聞一句一字,況能具足讀誦受持。 + +八,若諸有情,供養、恭敬、尊重、讚歎八十殑伽沙等俱胝那庾多佛,乃能具足聞此般若波羅蜜多甚深理趣,乃至…… + +十三,諸天常隨擁護。 + +十四,終不橫死。 + +十五,不枉遭衰患。 + +十六,諸佛菩薩常共護持,令一切時善增、惡減。 + +十七,於諸佛土隨願往生。 + +十八,乃至菩提不墮惡趣。 + +諸有情類受持此經,定獲無邊勝利功德,我今略說如是少分。 + +#3 四、釋經本文 + +四,釋經本文者。 + +#4 (一)文前由致分 + +#5 1 總顯已聞 + +經曰:如是我聞。 + +#6 述曰: + +#7 於此經中,略有三分: + +初從“如是”乃至“圓滿清白梵行”,是序分也。 + +“爾時世尊為諸菩薩說一切法甚深微妙”乃至“略說如是少分”,是正宗分也。 + +“時薄伽梵”乃至“奉行”,是流通分也。 + +《佛地》三名科,與古來別,如彼論說。 + +今解三別:一,文前由致述分;二,應機廣說分;三,感悟修行分。此之三科,今古名字,隨義應悉。 + +> 註:據基師《金剛般若經讚述》之三分,初應為“文前由致分”,“述”字疑衍。【?】 + +#7 就初分中,依天親菩薩《燈論》偈中分之為六。彼云:前三明弟子,後三證師說。 + +第一,“如是”,弟子之信,如是之言,今說不虛。 + +第二,“我聞”,顯非傳受。 + +第三,“一時”,聞法有時也。《智度論》云:說時、方、人,令生信故。 + +四,主;五,處;六,機。 + +今依《佛地論》初分,有五:一總顯已聞,“如是我聞”,二時、三主、四處、五機。 + +今依此經,開之為六:前五如《佛地》,第六歎法有十勝德,“宣說正法初、中、後善”等。 + +#7 然此序述佛教安置,亦是佛說。 + +#8 《集法經》云:阿難問四事,以何為師?依何法住?如何治惡性?經首置何言? + +#9 佛言: + +戒能訓誨,可以為師; + +念處破倒,依之而住; + +梵法默伏彼惡人; + +一切經初皆標六事。 + +初是正行,次是正解,後辨治障,修解、行之緣。然此三門,必依聖教故,但四問,不減不增。 + +> 註:卍續藏:(“修解、行之緣”)一無“解”字。 + +《智度論》云:阿㝹樓馱教阿難請四事。《大悲經》說優波離教。今謂二人同教。又廣明結集因緣,如別抄記。 + +#8 真諦云:微細律,明阿難昇座出法藏時,身如諸佛,具諸相好——今勘《集藏傳》亦作此說——下座之時,復本之形。 + +#9 眾疑有三: + +一,疑佛慈悲,從涅槃起,更說妙法。 + +二,疑有佛從他方來,住此說法。 + +三,疑阿難轉身成佛,為眾說法。 + +故經初言“如是我聞”,為令生信。 + +#7 言“如是”者, + +《法花注》云:“如是”感應之瑞,“如”以順機受名,“是”以無非立稱。眾生以無非為感,如來以順機為應,傳經者以名教出於感應,故云“如是”。此應肇公解也。 + +又《注無量義經》言:至人說法,但為顯“如”,唯如為“是”,故言“如是”。 + +瑤公云:以離五謗,名為“如是”。前四句,離增益等謗;第五“如是”,此經因果非非有、非非無,名戲論謗。第四句名愚癡謗。 + +> 註:參考《法華義疏》卷1〈1 序品〉:「四、如言此經因果非[1]有無,名愚癡謗」(CBETA 2020.Q1, T34, no. 1721, p. 454b8-9)[1]:有【大】,有非【甲】 + + +光宅云:“如是”將傳“所聞”前,題舉一部也。“如是”一部經義,我親從佛聞,即為“我聞”作呼徹也。 + +> 註:呼徹:底本冠註曰:吉藏《法花義疏》,呼徹作𠱚胤。【?】𠱚,「弄」之異體。https://dict.variants.moe.edu.tw/variants/rbt/word_attribute.rbt?quote_code=QjAwMzMx +​應為“弄引”之義。參考:智雲法師:《妙經文句私志記》卷2:「光宅云如是者將傳所聞先提一部如是一部經我從佛聞即為我聞而作弄胤此得其實」(CBETA 2020.Q1, X29, no. 596, p. 186c18-20 // R45, p. 740b9-11 // Z 1:45, p. 370d9-11) +《禪林象器箋》卷22:「可殼唐音相近。故假用。猶如弄引作弄胤。此類甚多。」(CBETA 2020.Q1, B19, no. 103, p. 631a1-2) + +​又,“弄引”之義,亦解作“詮敘”。 +​法雲法師:《法華經義記》卷1〈1 序品〉:「正為總舉一部經,為我聞作詮敘,言如是一部經,我佛邊聞也。」(CBETA 2020.Q1, T33, no. 1715, p. 576c27-29) +窺基大師:​《說無垢稱經疏》卷1〈1 序品(一本-二末)〉:「光宅云。如是。將傳所聞。前題舉一部也。如是一部經。我親從佛聞。即為我聞作[5]詮敘耳。」(CBETA 2020.Q1, T38, no. 1782, p. 1003b20-22)[5]:詮敘【大】,呼轍【甲】 +​ + + +梁武帝云:“如是”如斯之言,是佛所說,故言“如是”。 + +上來五解,竝是吉藏法師之所引也。 + +> 註:此處引用五解,與吉藏法師原文不同。 + +#7 真諦及長耳皆云:如是有三: + +一就佛。三世諸佛,共說不異名“如”,以同說故稱“是”。由斯可信,以同說故。 + +二就理明。諸法實相,古今不異,故名為“如”,如如而說,故稱為“是”。既稱理言,不增不減,決定可信,故稱“如是”。 + +三就人。以阿難望佛教所傳不異,故名為“如”,無非曰“是”。 + +此上三解,淨法師等之所引也。 + +#7 又解: + +“如是”之言,標一部之玄宗,即真俗二諦,真為“如”,俗為“是”。欲顯所詮不異二故。 + +又所言順理曰“如”,遮其虛妄為“是”。 + +又顯詮於二智教,為二智之因,如所有性為“如”,盡所有性為“是”。故下云:一切智、道相智、一切相智是也。 + +又標福智,顯是二嚴之因,福為“如”,智為“是”也。 + +又教順於理曰“如”,依教修行為“是”。 + +又境為“如”,智為“是”,所乘、能乘,實相、觀照以標首也。 + +又“如是”者,吉祥詞也,欲顯經首皆致此言,異外道等,一切經初置“阿憂”二字。 + +又“如是”者,指斥詞也,指下一部之所明也。 + +上來八解,皆此方先德之所傳釋。 + +#7 又“如是”言,依四義轉: + +> 註:此中“如”“是”二字,文意繁複,故略不全加引號標點。 + +#8 一依譬喻。如有說言:如是富貴,如毘沙門。如是所傳所聞之法,如佛所說,定為利樂方便之因。 + +或當所說“如是”文句,如我昔聞。 + +#8 二依教誨。如有說言:汝當如是讀誦經論,此中“如是”遠即佛之教誨,近即傳法者之教誨也。 + +或告時眾,如是當聽我昔所聞。 + +三依問答。如是我聞,如是演說。謂有問言:汝當所說,昔定聞耶?故此答言:“如是我聞”。 + +#8 四依許可。如有說言:我當為汝如是而思,如是而作,如是而說。謂結集時,諸菩薩眾,咸共請言:如汝所聞,當如是說。傳法菩薩便許可言:如是當說,如我所聞。 + +或信可言,是事如是,謂如是法,我昔曾聞,此事如是,齊此當說,定無有異。 + +上來四解,竝《佛地論》親光菩薩等解。 + +又“如是”者,信順之辭。故《智度論》云。“如是我聞”,生信也;信受奉行,生智也。信為能入,智為能度。信為入法之初基,智為究竟之玄術。信即所言之理順,順即師資之道成。由信故,所說之法,皆可順從;由順故,說、聽二徒,師資建立。 + +> 註:此中說“信”,同樣文字參考《阿彌陀經通贊疏》卷1:「立之所以者,為令眾生生信順故。」(CBETA 2020.Q1, T37, no. 1758, p. 331b15-16) + + +#7 於此信中,略為十釋。所以須初令生信, + +一,《成唯識》云:信如水清珠能清濁水,能治不信自性渾濁。所以兵、食、信三,信不可棄。 + +二,《瑜伽》云:信為欲依,欲為精進依。故入一切法,欲為根本,作意所生,觸所集起,受所引攝,定為增上,慧為最勝,解脫為堅固,出離為後邊。信既為欲依,所以初說。 + +> 註:瑜伽卷97 + +三,學佛法者,如大龍象,以信為手,以捨為牙,以念為頸,以慧為頭,於其兩肩擔集善法,此乃《大毘婆沙》說也。 + +> 註:卍續藏:“牙”一本作“身”。 +​按:《婆沙》卷103,應為“牙”。 + +四,法為諸佛手,信為眾生手。故《俱舍》言:拔眾生出生死泥也。正宗既為佛手,序分生信,則為眾生手。兩手相接,故登彼岸,出生死泥。 + +次下兩解,《最勝軍王經》意。 + +五,汎大溟海,假手以行舟;渡生死河,須信以發慧。 + +六,遊大曠野,以手持杖,捍御群賊;遊生死原,以其信手,持智慧刀,御煩惱賊。 + +七,見珍財寶,手以採拾。聞法寶,假信而方得。 + +八,信為聖財之初,故初令起。《顯揚》云:七聖財者,謂信、戒、聞、捨、慧、慚、愧。故初令生信也。 + +九,信者趣聖位之梯橙,故四十心以信為初。有信根、信力。有信根故,萬善因此而生;有信力故,四魔不能屈伏。 + +十,諸論云:信者能越惡道,離貧賤因,故有四不壞信。 + +由斯義故,一切經初,置“如是”言,為令生信。 + +言“我聞”者,傳法菩薩自指己身。言“如是”法,親從佛聞,故名“我聞”。 + +#7 “我”謂於諸蘊世俗之假者。然“我”有三: + +一,妄所執我。謂諸外道及諸異生所橫計我,或同虛空,或如芥子。 + +#8 二,假施設我。謂常樂我淨,隨引二乘,於無我中,施設為我,令捨無我小乘之果。謂如經言:諸佛或說我,或時說無我,諸法實相中,無我、無非我。 + +謂為聲聞說無常等,除凡夫時所計四倒。說無有情我,但法有因。 + +故後為菩薩說常樂等,除二乘時所起四失。 + +由此諸法本性皆離我、無我等,說為常我。故假設也。 + +三,世流布我。謂世共傳,張王等姓、天授等名,世流之我。 + +今傳法者,隨順世間自指之言,稱之為“我”,不同前二,非妄執故,非假施設,然體即是無我之“我”也。 + +問:諸佛說法,本除我執,何故阿難不稱名字,乃稱於“我”? + +#7 答:以理而言,亦應稱字,略有三義,但總稱“我”。 + +一,示不乖俗。宗雖顯真,言不乖俗。雖無有我,仍立“我”名,欲顯真諦不離俗故。 + +二,“我”者,主宰、自在之義。阿難多聞聞持,其聞積集,三慧齊備,文義竝持,於聖教中,總持自在。若稱“阿難聞如是法”,雖指己體,無於法中,得自在義,欲顯於法自在義成,故稱“我聞”,不稱“慶喜”。 + +三,“我”者,親義。世間共言,“我”見聞此,將為親證。若但總稱,言“阿難聞”,或非親聞,從他傳受。今顯親聞世尊所說,非他傳聞,故稱“我”也。 + +由此三義,不稱“慶喜”,但總曰“我聞”。 + +“聞”者,謂即耳根發識,聽受所說。今廢耳,別就“我”總稱,故名“我聞”。 + +諸部計“聞”,說各不等。今依大乘,根、識、心所、境至和合,方名為“聞”。然根五義,勝於識等,故名為“聞”。《對法》及龍樹皆作此說。若但聞聲,即唯在耳;通緣名等,亦在意中。由此唯意,獨應名“聞”。故《瑜伽》言:聞謂比量,耳名聞者,親聞於聲,與意為門。而聞教者,由耳聞故,因聞所成,總名為“聞”。因耳而得,故耳名“聞”。然耳不能親取諸法差別名等,如《聞所成地》,從方便說。因聞成法,竝名耳聞。如觀第二月、見旋火輪等。如毘留離王為殺諸釋種語,皆唯意識,自耳不緣故。 + +> 註:《瑜伽》卷2: +「云何四種言說?謂依見、聞、覺、知,所有言說。 +​依見言說者:謂依眼故、現見外色,由此因緣,為他宣說,是名依見言說。 +​依聞言說者:謂從他聞,由此因緣,為他宣說,是名依聞言說。 +​依覺言說者:謂不見不聞,但自思惟稱量觀察,由此因緣,為他宣說,是名依覺言說。 +​依知言說者:謂各別於內,所受、所證、所觸、所得,由此因緣,為他宣說,是名依知言說。」 +​​​卷93:若見、若知二種言說,是依現量;若覺言說,是依比量;若聞言說,依至教量。 + +​《解深密經圓測疏》: +​​問:若爾,如何 《瑜伽》說聞為聖言量? +答:聖言量自有二種: +一、聖者言教為聖言量,此即聖言即量,名聖言量,是持業釋;二、聞慧等名聖言量,此即聖言之量,故言聖言量,是依主釋。 +《瑜伽》依此故說聞慧等為聖言量。 +​ +《佛地經論》:云何能知諸法共相?若共相境,現量所知。云何二量?依二相立。 +有義:二量在散心位,依二相立,不說定位。若在定心緣一切相,皆現量攝。 +有義:定心唯緣自相,然由共相方便所引,緣諸共相。所顯理者,就方便說名知共相,不如是者名知自相。由此道理,或說真如名空無我諸法共相,或說真如二空所顯非是共相。 +如實義者:彼《因明論》立自共相,與此少異。彼說一切法上實義,皆名自相,以諸法上自相、共相各附己體,不共他故。 +若分別心,立一種類,能詮、所詮,通在諸法,如縷貫花,名為共相。 +此要散心分別假立,是比量境。一切定心離此分別,皆名現量。 +雖緣諸法苦無常等,亦一一法各別有故,名為自相。 +真如雖是共相所顯,以是諸法自實性故,自有相故,亦非共相,不可以其與一切法不一不異,即名共相,自相亦與一切共相不一異故,是故彼論說諸法上所有實義,皆名自相。 +此經不爾,故無相違。 +​​ +​ +如毘留離王為殺諸釋種語,皆唯意識,自耳不緣故。​——待考【?】 +​ +王穆提先生補充:基師《大乘阿毗達磨雜集論述記》卷第三: + 初、出體者,此論第二、《瑜伽》第五十六皆作是說:約勝義諦,見等非根,亦非識等,眾緣生故,剎那滅故,無作用故,由有和合,假名見等;依世俗諦,見等是根,非彼識等,具五義故。廣如後說。由此,《瑜伽》第二卷說:「見,謂眼根現見外色;聞,謂從他聞,起言說;覺,謂不曾見及不曾聞,但自思惟,稱量觀察;知,謂於內所受所證,所觸所得。」九十三說:「見、知二種,現量所攝;覺,謂比量;聞,聖言量。」準此即說眼根名見,意因耳生,緣教名聞,通緣一切名、句、文三屈曲生故。 +陳那說彼聖言量者,比量所攝,故聞是意。因耳聞聲,故耳稱聞,耳實不能緣名等故,非比量故。緣非聖言,亦此聞攝,論多依彼聖言說故。覺者,即是不依見等,獨生意識及第七識。《瑜伽》但說為比量者,依意識說,末那亦能起搆畫故。亦不曾嗅,不曾嘗觸,不曾知證,但起思惟籌量觀察,亦是覺收。論中但舉不曾見聞,舉勝說故。隨五識後所起意識比、非量者,亦此覺收,但舉獨頭,彰勝用故。不爾,便闕此之意識。知者,即是耳鼻舌身、五俱意識、第八心品及諸定心。《瑜伽》別說自內所受所證等故,又說此知現量攝故,即顯見、知唯現量攝,聞、覺二種通比、非量,及顯見、知通有漏無漏,聞、覺唯有漏。諸無漏心緣教生者,知所攝故,非比量故。 +​​ + + +問:阿難于時,親見佛說,亦親覺知佛說,何故不言“如是我見、我覺、我知”,但言“我聞”? + +#7 答:有三義。 + +一,欲證深理,欲悟所詮,要依聞教。見、覺、知等,非初達理。雖亦實見等,但得言“我聞”。 + +二,娑婆世界,以音聲為佛事。欲顯異於諸佛國土,故但言“聞”。諸餘佛土,或以光明、妙香味等為佛事者,經首亦得言“我見、覺、知”等。今顯異彼,故但言“聞”。 + +三,欲顯智覺菩提,要因熏習方得,若不聽聞正法,三慧無由得生,故經首言“聞”。令熏習增長有漏、無漏,遞相增長,能生出世、世間果等,故但言“聞”。 + +問:《大般若》等,佛自說言:我從成道,終至涅槃,於其中間,不說一字。何故慶喜謗佛說法,自稱“我聞”?又《升攝波葉喻經》言:已所說法如手中葉,未所說法如林中葉,明佛說法,今言“我聞”,復言不說,一何乖返? + +> 註:《升攝波葉喻經》:參考《雜阿含經》卷15(404經)。 + +#7 答曰: + +#8 《佛地論》說: + +#9 有義:如來慈悲本願增上緣力,聞者識上,文義相生。此文義相,雖親依自善根力起,而就強緣,名為佛說。由耳根力,自心變現,故名“我聞”。 + +#10 此師意說:佛有三法,謂定、智、悲三法為體,實不說法。由本因中,願利生故,大悲恒起。眾生久修遇佛善業,今時成熟,自識心上,聞佛說法,變似教生,而實不說。 + +如曾參之母嚙指,曾參心痛,知母喚而還。母實無言,但有念子之意,風雲相感,其子心疼,變似母喚之相,急歸,果如所說。今佛如母,眾生喻參,有言、無言,其類相似。 + +亦如女人請比丘說法,比丘私去,實不為說,女人得道,言由比丘之恩。以比丘為增上緣,心厭生死,遂得證果。 + +眾生以佛為增上緣,自心變似三乘教起,從強緣論,名為佛說,佛實無言。 + +此言“我聞”,其義亦爾。 + +#9 有義:聞者善根本願增上緣力,如來識上,文義相生。此文義相,是佛利他善根所起,名為佛說。聞者識心,雖不親得,然似彼相,分明顯說,故名“我聞”。 + +#10 此師意說:佛有五蘊、十八界等,實有說法利他事業。雖無分利,不起攀緣,任運恒時,隨機說法,作大利樂。 + +如末尼珠及天帝鼓,雖無有心,為雨眾寶,及為天帝,有說、不說。天帝善業感彼力故,鼓任運鳴,天帝聞之而自嚴警。 + +#10 今佛亦爾,無心分別說與不說,眾生善業聞法因熟,如來任運現說法事。 + +此中說法,譬如幻人為幻人說法,名字性離,無有文字,是即解脫,非如妄執,名定屬法,實有能說、能聽、所說。故佛說言:不說一字。夫說法者,無說、無示等。 + +若如幻士為幻人說,即是非無。 + +故經說言:說法非有亦非無,待因緣故,諸法立也。 + +佛既說法,慶喜親聞,故名“我聞”。 + +此中二解,初是龍軍、無性等一類師解,後是護法、親光一師之義。 + +> 註:此為基師之解說。 + +應知說此“如是我聞”,意避增減異分過失。謂如是法我從佛聞,非他展轉,顯示聞者有所堪能,諸有所聞,皆離增減異分過失。非如愚夫無所堪能,諸有所聞,或不能離增減異分。結集法時,傳佛教者,依如來教,初說此言,為令眾生恭敬信受,言“如是”法,“我從佛”聞“,文義決定,無所增減。是故聞者,應正聞已,如理思惟,常勤修學。 + +> 註:此段文字為《佛地經論》之總結。 + +#5 2 說教時分 + +經曰:一時。 + +#6 述曰: + +#7 第二,明說教時分,即化辰也。法王啟化之日,大眾嘉會之時。此就剎那相續無斷,說、聽究竟,隨其分位,總名“一時”。不爾,字等,說、聽時異,云何名“一”? + +#8 此中不定約剎那,亦不定約相續,亦不定約四時、八時及十二時,并成道竟,若干時節,名為“一時”。但是說、聽二徒,共相會遇,說、聽究竟,總名“一時”。 + +由能說者,得陀羅尼,說一字時,於餘一切,悉已演說。或能聽者,得淨耳根,解一字時,於餘一切,悉能解了。 + +或能說者,經多剎那,或復多劫。其能聽者,亦或乃至多劫聽聞。 + +故不可定一念、多劫之時節也。 + +#7 由於一會聽者之機,有利有鈍,如來神力,延短念為長劫,促長劫為短劫。時分別故,論有二解: + +> 註:卍續藏:(“延短念為長劫”)“劫”疑“念”。 + +#8 一者,此“時”,有為法上,分位假立。謂道理時,說、聽之人,五蘊諸行,剎那生滅,無定時體。有酬前引後,現在假法,即說所酬所引之法,假名過去及現在世。聽、說二徒,五蘊假法,事緒究竟,假說為“時”,故總名“一時”。 + +> 註:參考《阿彌陀經通贊疏》卷1:「第二說教時分也。此有二義:一者道理時,說聽二徒雖唯現在五蘊諸行剎那生滅,即此現法有酬於前引後之義,即以所酬假名過去,即以所引假名未來,對此二種說為現在,此過未世並於現在法上假立,即說聽者五蘊諸法剎那生滅,前後相續事緒究竟假立三世總名一時,[A2]即一生滅之一時也;二者唯識時,說聽二徒識心之上變作三時相狀而起,實是現在,隨心分限變作短長事緒終訖總名一時,如夢所見謂有多生,覺位唯心都無實境,聽者心變三世亦爾,唯意所緣是不相應行蘊法處法界所攝,不別約四時八時,但聽者根熟感佛為說,說者慈悲應機為言,說聽事訖總名時。」(CBETA 2020.Q1, T37, no. 1758, p. 332c5-18)[A2]:即【CB】,那【大】 + + +如算師等,以一算子,經歷諸位,名為一、十、百、千、萬等,其實一物;橫竪不同,得名有異。 + +此說聽者,現五蘊法曾有名過去,當有名未來,現有名現在,即名為時,說為三世。今此三世,事緒究竟,總名“一時”。 + +#8 二者,此“時”,說、聽二徒,識心之上,變作行相。三時體起,即是世識。謂是一念,或復多劫,事緒究竟,假名“一時”。 + +如人夢中,夢見多生生死,謂三世遷流,覺竟但有一虛妄心,知無三世。 + +> 註:卍續藏:(“夢見多生生死”)一無“夢”字。 + +今以理說,時體亦爾,但有妄心,變似三世,事緒究竟,總名“一時”,由義說故,唯意所緣,行蘊、法處、法界所攝。 + +> 註:是不相應行法。 + +何不別說十二時等?如淨、穢處,晝夜時分,諸方不定。處則方定。故於時中,但總言“一”。 + +問:處中有淨、穢不定,但說“一”;諸方時不同,何妨亦定說?凡夫見穢處,知聖居淨土,何不別論?此“時”說,準餘知別時。 + +答:或一剎那,或復多劫,不可定說,準不解故。由是總相,但言“一時”。其延促劫量,或唯識以促延,或所執以雙泯,或依他以妄法,或實性以平等,或聖力以加持,故有延促。無勞疑惑。義準應釋。 + +#5 3 別說教主 + +#6 1 初標名 + +經曰:薄伽梵。 + +#7 述曰: + +自下第三,別說教主。欲歎法出勝人,其法必勝。顯教主中有二:初標名,後歎德。此標名也。 + +#8 古名“婆伽婆”,義當世尊之號。然義猶闕,所以不翻,漢無此言也。 + +《瑜伽》第八十三卷云:坦然安坐妙菩提座,任運摧滅一切魔軍,大勢力故,名“薄伽梵”。 + +#9 《佛地論》言: + +#10 謂薄伽聲,依六義轉:自在、熾盛與端嚴,名稱、吉祥及尊貴,如是六種義差別,應知總名為薄伽。 + +此中意說:若有為此薄伽聲目,必具此德。如是一切如來具有,於一切種皆不能離,是故如來名“薄伽梵”。 + +#11 謂諸如來: + +永不繫屬諸煩惱故,具自在義。 + +炎猛智火所燒練故,具熾盛義。 + +妙三十二大丈夫相所莊飾故,具端嚴義。 + +一切殊勝功德圓滿,無不知故,具名稱義。 + +一切世間親近供養,咸稱讚故,具吉祥義。 + +具一切德,常起方便,利益安樂一切有情,無懈疲故,具尊貴義。 + +#10 或能破壞四魔怨故,名“薄伽梵”。四魔怨者,謂煩惱、蘊、死、自在天魔。破諸有情所修善等,名之為魔。 + +入第三劫,破煩惱、死魔。將至金剛心,取破其天魔。解脫道起,破其蘊魔。 + +> 註:卍續藏:(“取破其天魔”)一無“取”字。 + +若論其相,金剛心時,破煩惱魔。菩提樹下,破自在天魔。捨第五分壽,入無餘滅,破其蘊魔。更留三月,破其死魔。 + +#11 若其實義,惱亂菩薩,皆名煩惱,二障俱是。金剛心起,永破煩惱魔。二障種有故,解脫道起,永破蘊、死二魔。此依二死作論。其伏天魔,不見文說。 + +今依一義,十信菩薩,八相成道已,應伏天魔。或十住第六心,始伏天魔。是中永離生死,出三界故,可伏天魔。或入初地,即伏天魔。 + +《佛地論》初地已上,離麁四魔。隨情取捨,故破四魔,名薄伽梵。 + +> 註:初地已上諸大菩薩,在淨土中離麁四魔,無五怖畏。https://mubu.com/doc/y3FGFBwmVn + +問:佛具十號,何故經首佛教慶喜說此名也? + +答:由此一名,世咸尊重,故諸外道,皆稱本師名“薄伽梵”。又此一名,總攝眾德,餘名不爾。是故經首皆置此名。 + +> 註:此問答是《佛地論》文。 + +#8 然諸經首,雖標教主,然各不同。 + +且如新譯《稱讚大乘功德經》,住法界藏諸佛所行,眾寶莊嚴大功德殿法性土中,即法身說。 + +其《佛地經》,處最勝光耀七寶莊嚴,乃至廣說大寶花王之所建立大宮殿中,十八圓滿淨土之中,報身所說。 + +其此經首,雖彰佛實德,然稍異餘經。所居即在他化自在天王宮中,末尼殿內,化身所說。 + +然法性土,雖唯佛居,標德嚴花菩薩亦在彼會。 + +其淨土中,雖但菩薩,經中亦說有諸天龍。 + +> 註:無量天龍人非人等,常所翼從。 + +此經雖但說他化宮,列眾但標十地圓滿諸大菩薩。 + +此等總明一質異見。《金剛論》說:應化非真佛,亦非說法者,說法不二取,無說離言相。推功歸本,以法身為身,餘身非身。法身為說,二說非說。體依聚義,總名為身。法身總為身說之依、身說之本,二身方起,非是常身及非常說。般若但以法性為宗,意在亡相。二身、二說,皆有相故,名非身說。實此二身亦有身說。欲顯大乘名義深遠,證二空理,方能知說。故假妙土,以顯經深。 + +> 註:此經說具報身之德,居妙土(欲界之變化土)而非淨土(實報土)。 + +法性土中言說《稱讚大乘功德經》,理實嚴花但居淨土,不居法性土。法性土中無身、無說,菩薩何由有聽聞等?又為顯正智,內證真空,名居法性土。後智起悲化,名居淨土等,亦無過失。天龍八部,見居化土。 + +其《佛地經》,欲顯十八圓滿淨土之相,所說五法如來實德,寄淨土說,以顯經深。其實菩薩正智契真,亦居法性。天龍聞法,亦居化土。 + +其此般若,觀照證實相,一切菩薩及與如來,亡相為本,實皆居法性身,現居淨土。然顯悲深慈厚,歎報身之德,言居化土而說。其聽法者,亦但標勝人,與佛實德相稱,寄化土以彰別意,如下當說。 + +今言“薄伽梵”,隨應當說,即顯三身皆能說法,徒眾皆有住三土義。唯標報身之德,然則不見經文居自報土說。由此應準佛德及處,以知佛土。 + +今此“薄伽梵”,準下別德,即報身實德所居之處,即是化土。彰勝身以顯法勝,舉化處以顯經深。欲顯悲智皆是事法修生,不言法性之身土也。 + +#6 2 後歎德 + +#7 經曰: + +(一)妙善成就一切如來金剛住持平等性智,種種希有殊勝功德。 + +(二)已能善獲一切如來灌頂寶冠,超過三界。 + +(三)已能善得一切如來遍金剛智,大觀自在。 + +(四)已得圓滿一切如來決定諸法,大妙智印。 + +(五)已善圓證一切如來畢竟空寂,平等性印。 + +(六)於諸能作、所作事業,皆得善巧成辦無餘。 + +(七)一切有情種種希願,隨其無罪皆能滿足。 + +(八)已善安住三世平等,常無斷盡廣大遍照。 + +(九)身語心性,猶若金剛,等諸如來,無動無壞。 + +#7 述曰: + +#8 此中九句,歎如來德,依諸經論,略為三釋。 + +#9 第一,且依此經文解。 + +#10 1其第一句, + +總歎如來,兼以下德。餘之八句,別歎如來,列諸德異。 + +#11 然下正宗,有十四段,以顯世尊十四實德。今此初句總標眾德,餘句別屬功德法門。 + +“金剛住持平等性智”者,舉次第二“灌頂寶冠超過三界”德,即是十四段中第三段“調伏眾惡普勝法門”,亦是第五“法王灌頂智藏法門”之所顯也。舉下一德,二種法門。 + +其“種種希有殊勝功德”者,總指餘七句所有勝德。餘十二段所有法門,不可一一具足烈故。 + +> 註:按:應為:具足“列”故。 + +#11 此總解已,別解釋者: + +“妙”者功德微細故,“善”者非佛不惻故。又內道不了名“妙”,外道不知名“善”。又智深難測名“妙”,福細叵識為“善”。 + +> 註:卍續藏:(“非佛不惻”)“惻”恐“測”字。 + +言“成就”者,自在任運能現前義。又剋獲圓滿名為“成就”。 + +“一切如來”者,欲顯佛德,諸佛共故,由此共故,佛德可尊,是真實德。 + +#12 梵云“達他揭多”,古云“多陀阿伽度”,此云“如來”。 + +《菩薩地》說言:無虛妄故名如來。 + +#13 《涅槃經》云:如過去佛說契經等,不變改故,名之為“如”;從波羅蜜、三十七品、十一空,來至涅槃,故名為“來”。 + +此意說言:如諸佛等,而說妙法,從修萬行,來至涅槃,故言不虛,是“如來”義。 + +又言不虛,常行諦語,來至佛位,故名“如來”。 + +《瑜伽論》云:十號之中,初是總序。若住生死,由行妙行,去至佛位,名“蘇揭多”,號為“善逝”,古云“修伽陀”也。若住彼岸,因如成佛,號曰“如來”。一“揭多”言,義通來、去。如言“蜜多”,通離、到義,此亦如是。 + +“金剛”者,喻也。平等性智能調眾惡,降伏煩惱,普勝一切,名曰“金剛”,如於金剛,能摧壞故。 + +言“住持”者,至法王位,能為一切三界勝主,世間所有勝法皆是此智之所住持。令其不壞名“住”,助其生長名“持”。又此平等智是諸智藏,一切福智以此為因。此能住持一切佛德,能滅諸惑,名“金剛住持”,此是平等性智之作用也,內能住持,外能摧壞。 + +#12 “平等性智”者,非是四智中第二平等性智也。畢竟空寂平等法性,能證之智名平等性智,即無分別智,正能斷惑,為無間道,猶若金剛,即妙觀智中之正智也。 + +若為住持眾德之本,為能摧壞之根本智,即圓鏡中平等性智。 + +若能摧壞著生死涅槃,住無所住,即第七識所成平等性智。 + +若能摧壞二乘、異生一切煩惱,住於慈悲利他功德,即成所作平等性智。 + +今以正義,即諸智中,隨其所應,證性平等,皆能壞分別及二障等,諸德之本,名為“金剛住持平等性智”。一切菩薩根本所求,如灌頂位之寶冠也。性是無漏,離三界繫,永無分別。 + +此牒次下第一德已,餘德非一,名為“種種”。 + +無始未得,名為“希有”。 + +唯佛乃成,故名“殊勝”。 + +積力道成,名為“功德”。 + +此總含下,下自當知。 + +#10 2第二句云“已能善獲一切如來灌頂寶冠,超過三界”者,即下十四段中,第三“調伏眾惡普勝法門”,及第五“灌頂智藏法門”所顯。 + +下經解言:若以世間灌頂位施,當得出世灌頂位果。西域世間剎帝利種太子,將受帝王之位,先請有德婆羅門等以為師傅,乘千里象,取四大海水,以吉祥茅,沾彼海水,灑太子頂,令其淨潔,作大吉祥,四方歸伏,方受王位。古翻經云“剎利水澆頭王”,今新翻云“剎帝利種灌頂大王”。王身必是剎帝利種,請婆羅門以為師傅,灌其頭頂,以婆羅門性修梵行,淨戒之族故。剎帝利請灌其頂,此乃效習受法王位之儀式也。 + +謂第十地究竟菩薩,生色界上大自在宮蓮華臺中,將起金剛定,受佛之位,勝諸菩薩,菩薩中尊,佛之長子,名為太子。十方諸佛是其師傅,各舒慧手及右臂手,以三世佛清淨法水,“灌”灑其“頂”。“頂”謂心首及其頭首。除無始來二障垢穢有漏染污,遍滿清淨無漏潔白殊勝法王位。 + +> 註:卍續藏:(“法王位”)一無“王”字。 + +如世太子既“灌頂”已,將受王位,戴王之“冠”,著王之服,處王之殿,佛法太子亦復如是,將受法王、法主之位,戴佛之“冠”,謂一切智、一切種智,是佛心首所戴持故,即是觀照波羅蜜多。此功德法,真實珍“寶”,七聖財中名為慧財,故此冠冕名為“寶冠”。服二際佛功德法衣,即是慚愧柔和忍辱之上衣也。此智慧冠是大智藏,一切善法因此生故,處十方佛空寂寶殿。由戴如是冠、衣等故,無始惡友以煩惱水澆其心頂,生死心首所戴愚癡醜惡冠冤、生死所著無慚無愧剛強佷戾瞋恚惡服,悉得消滅,永為棄捨,永更不入三界牢獄,故名“降伏眾惡普勝法門”,亦名“灌頂智藏法門”。由如是故,為三界主,出諸有漏生死繫縛,“超三界”也。 + +> 註:卍續藏:(“二際”)“二”一作“三”。 +按:若為二際,則為生死、涅槃二際;若為三際,則為​三世之意。【?】 +​ +王穆提先生補充: + 《大乘法苑義林章》卷第四: +「前後際者,際謂際畔,時分之義。即《阿含》云:「本劫本見、末劫末見。」 +八十七云:「諸見依世者,謂依過去及現在世起分別故,名計前際;依未來世起分別故,名計後際。」 +此約多分二際道理。如四全常第四常見,見死生故,現在名前。如是等類,多分義故,非據實義。且如五現涅槃論說為後際,然唯現在,故知現在通前後際。名前際者,未來前故,未來因故;或名後際,過去後故,過去果故。由是現在通前後際。辨總名相已。 +​​​​ + +自體無漏,名為“遍”也。故下經云:若以世間灌頂位施,當得出世法王位果。 + +> 註:卍續藏:“遍”恐“過”字。 +按:“超過三界”,是無漏、出世​之意。 + + +#10 3第三句云“遍金剛智,大觀自在”者,即下十四段中,第十二“一切有情住持遍滿勝藏法門”。 + +謂佛具證一切有情皆如來藏,普賢菩薩自體遍故。能證如來藏遍諸有情,此能證智,名“遍金剛智”,摧滅生死一切障故。然由悲故,觀諸有情身語心行,可濟拔者,應時為現。 + +故諸有情皆金剛藏,以金剛藏所灌灑故;皆正法藏,一切皆隨正語轉故;皆妙業藏,一切事業加行依故。 + +由觀有情而起三業,故曰“觀自在”。於求念者,如應利樂,無失時處法器等,故“大觀自在”。如龜茲國聖苾芻尼所現事也。 + +> 註:十一面觀自在菩薩之傳承祖師,吉祥女比丘尼帕莫【?】 + +#10 4第四句云“決定諸法,大妙智印”者,即下十四段中,第二“寂靜法性般若理趣現等覺門”。 + +總一切法不過有二:一,智;二,境。智謂金剛智,境謂一切法。 + +又有二種:一,能詮;二,所詮。能詮謂法,所詮謂義。 + +今顯世尊於二、二種,諸法之中,決定悟解,無有疑惑,能知此智,名“大妙智印”。 + +此智印定二、二種法,離諸疑網,非凡愚所測,名之為“妙”;神用難思,復名為“大”,即觀有“智”,“印”定諸法,無疑惑也。 + +#10 5第五句云“一切如來畢竟空寂,平等性印”者,即下十四段中,五法門也。 + +第一,一切諸法,甚深微妙清淨法門。 + +第四,平等智印,清淨法門。 + +第七,離諸戲論,輪字法門。 + +第八,入廣大輪,平等性法門。 + +第十一,性平等性,最勝法門。 + +謂昔妄想,計諸法有,今離妄想,計執永除。所執既無,所證亦滿,諸妄永棄,名為“清淨”。 + +此諸妄想,“畢竟”體空,世出世間,染淨等法,無不“空寂”。 + +空寂之體,性即真如,即一切法“平等”之“性”。 + +此理決定遍諸法中,名之為“印”。 + +佛得此如,一切圓滿,故名“善證”。 + +> 註:經文爲“圓證”。 + +然《中邊論》解二十空中“畢竟空”云:為於有情,常作饒益而觀空故,名“畢竟空”。此意說言:為有情故,別觀於空,或觀所為有情為空。此觀有情等,畢竟不可得,畢竟即空,名“畢竟空”。此“畢竟空寂”,一切有情,一切法中,皆悉平等。是諸人、法平等之性,印定諸法,定畢竟空。若計所執、若二空理,皆畢竟空故。此解即是第一“一切法甚深微妙清淨法門”之大義也。 + +自餘四門,準下應悉,恐文繁廣,故不並釋。 + +#10 6第六句云“於諸能作、所作事業,皆得善巧成辦無餘”者,當下十四段中,第十“能善調伏智藏法門”之所顯德。 + +所調伏者,謂諸纏垢忿恚等過,謂佛世尊自能調伏忿恚等過,亦能調伏一切有情纏垢等失,隨其大小、善惡事緣,起纏垢等,如來善巧皆能調伏。成辨此智,一切皆盡,更無遺餘,故佛世尊,自智圓滿,伏眾惡患,亦能調伏諸有情等纏垢等患,亦令乃至得佛菩提,是名“善巧成辨無餘”。但是能伏諸纏垢等,所有方便皆悉成辨,故言“善巧成辨無餘”。 + +智慧善巧名“能作事業”,所伏忿等名“所作事業”。又智慧方便名“能作事”,其所調伏身語意業,令離纏垢,名“所作事”。 + +此歎世尊具智方便,善能調伏自他忿等,一切無餘。 + +#10 7第七句云“一切有情種種希願,隨其無罪皆能滿足”者,顯下十四段中,第十四“甚深理趣最勝法門”。 + +謂佛世尊由具般若波羅蜜多方便善巧成立勝智,善辨一切清淨事業,能令諸有,皆得清淨。 + +又以貪等調伏世間,普遍恒時乃至諸有,皆令清淨,自然調伏。 + +又大貪等,能得清淨大樂、大財,三界自在,常能堅固饒益有情。 + +由斯陀羅尼,以隱密言詞說其神呪,能受持者一切障滅,隨心所欲無不成辨,乃至廣說。 + +若離煩惱惡業,諸願世出世間,若今、若後,由“無罪”故,悉能“滿足”。若起煩惱、惡業根本,由有罪故,如是諸願皆不與之。故說世尊不奪有情一切諸願,然不皆與,要除無罪。若起煩惱及起惡願,雖有至誠,亦定不與。如如意珠,所發善願一切皆得。 + +#10 8第八句云“已善安住三世平等,常無斷、盡,廣大,遍照”者,顯下十四段中,第十三段“無邊無際究竟理趣金剛法門”。 + +#11 此意總顯般若波羅蜜多,若體、若用,弘廣深遠,不異最勝,是故如來,無邊、無際、一味、究竟。 + +能觀般若,體、用“廣大”,所以無邊; + +能“遍照”故,所以無際; + +由“無斷”故,所以一味; + +由“無盡”故,所以最勝。 + +故能觀智,妙知“三世”,知過、未世,猶如現在,名為“平等”。又觀照智,無邊、無際、一味、究竟,能觀三世,若理、若事,事事分明,皆善了達,故名“平等”,其理一相亦名“平等”。若理、若事,皆能了達。故“平等”言,通其理事。 + +“常無斷盡,廣大遍照”,智之用也。 + +“善安住”者,能觀之智,妙達三際,名“善安住”。理事之中,皆無謬亂,名“善安住”,於一切時,智用遍了,是此意也。 + +#10 9第九句云“身、語、心性,猶若金剛,等諸如來無動無壞“者,顯下十四段中,第六段“如來智印金剛法門”,顯第九段“真淨供養無上法門”。 + +佛具攝受一切如來金剛“身”印,能證一切佛之法身; + +具攝諸佛金剛“語”印,於一切法得自在轉; + +具攝諸佛金剛“心”印,於一切定當得自在。 + +具攝諸佛金剛智印,能得無上妙“身、語、心”,“猶如金剛”,“無動無壞”,不為煩惱之所鼓“動”,不為外道魔王破“壞”,令其三業有所“動壞”。以佛三業,智為前導,離諸過失,不可破壞令起過失,故“無動壞”。“無動壞”者,與一切佛功德無差,故名為“等”。 + +“等諸如來”,即上諸門所說,“一切如來”之妙義也。此如金剛不可動壞。 + +殊勝三業,由昔因中,如法三業供養諸佛,為法供養故,至佛位,得是果也。真淨供養所得報故,不可動壞。或此三業,非外道惡友所動,非天魔邪朋所壞故,猶若金剛,破滅生死所有三業。 + +“三業性”者,即三業體,更無他義。 + +#10 此中九句,顯佛世尊下十四段經所顯功德。 + +今歎佛德,欲令眾生知佛具德,起殷重心,敬受所說。 + +或聞此已,當發勝心,欣求證得。 + +或顯世尊具此諸德,超過一切。 + +是故所說甚深理趣,最為殊勝,可依修學。 + +#9 第二,又解:依諸經中說佛具有二十一德,別配此等九句。 + +> 註:二十一德,以①-㉑標記。 + +#10 1經文“金剛住持平等性智”者,謂佛“不二現行”②,一向無障殊勝功德;及顯“逮得一切佛平等性”⑤,得一切佛相似事業殊勝功德。如是一句,總顯二德: + +#11 謂佛世尊,離諸凡夫現行生死起諸雜染,住著生死;離二乘者現行涅槃一向棄背利樂他事,住著涅槃。世尊無彼現行二障,是故說名不二現行。 + +> 註:此釋“不二現行”,先引《佛地經論》文,後配釋此經文。下二十一德亦同。 + +悲智遍故,生死、涅槃,二俱不住,故名“平等”。能破此二障,故假喻“金剛”。住無所住無住涅槃,故名“住持”,住持悲智故。 + +#11 又逮得一切佛平等性, + +謂所證理等、能證智等、所成身等、意業悲行,悉皆“平等”。由此平等,能壞生死,故名“金剛”。平等為依,能持眾德,故名“住持”。今但舉一,此等甚多,故名“種種殊勝功德”。 + +#10 2經第二句云“灌頂寶冠超過三界”,即佛三德:一者,“一切菩薩正所求智”⑯;二者,“極於法界”⑳;三者,“所行無礙”⑧。 + +#11 此中初句,成就佛種不斷方便殊勝功德。謂諸菩薩為令佛種無斷絕故,勤修加行,非二乘等。是故佛智唯諸菩薩正所應求。 + +由此灌頂法王子位,唯第十地,著佛“寶冠”,紹佛之位,非二乘等。 + +謂令眾生求聽般若甚深經典,擬成種覺,亦是紹繼法王之位。是故若障破滅眾生,不令修學般若經典,即為斷絕諸佛種子。 + +#11 此第二句,證得果相殊勝功德。謂得窮極清淨法界,此淨法界修道之果。 + +觀照心中常現前,故喻於頭上所戴“寶冠”。寶冠即是身之上飾,法界亦是功德根本,故喻“寶冠”。 + +#11 此第三句,降伏魔怨殊勝功德。謂所行者,即色等境。此所行境,擾亂心故,障礙善故,說名魔怨。諸佛世尊心善安住,極悅意境亦不能亂,所有功德極善成滿,一切惡境不能為礙,以能摧伏一切境界,一切所行不能拘礙。 + +離繫縛法,故至佛位,“超過三界”。 + +此第二句世尊之德,無始不成,今時始得,名之為“獲”。 + +> 註:此釋經文“已能善獲”,得、獲,參考俱舍法義。 + +#10 3第三句云“遍金剛智大觀自在”,即佛三德:一,“不可轉法”⑦;二,“住於佛住”④;三,“於一切行成就大覺”⑬。 + +> 註:卍續藏:(“住於佛住”)“住”一作“位”。 +按:勘《佛地經論》等,應為“住於佛住”​。 + +#11 此中初句,降伏外道殊勝功德。謂佛正法,一切外道不能退轉,降伏彼已,顯自正道。 + +以由成就“遍金剛智”,說甚深法,降伏外道。又由成就“遍諸法智”,能說深法,降諸外道。故說此智,喻若“金剛”。言“遍智”者,遍解諸法,一切智也。 + +此第二句,觀所化生殊勝功德。謂住大悲,晝夜六時觀世間故。 + +#11 此第三句,於一切乘所化有情,能隨所應示現自身殊勝功德。謂遍了知一切有情性行差別,如其所應現自身故。 + +“大觀自在”,若觀有情心行差別,不自在者,不能隨類即現其身。由此既能隨應現者,故知佛具“遍智大觀自在”故也。 + +#11 又初句言“遍金剛智”,是二十一功德之智總句“最清淨覺”①。謂於一切有為、無為,所應覺境,正開覺故;淨妙圓滿正開覺故;又於如所有性、盡所有性,正開覺故。 + +名“遍金剛智”。 + +此中二德,今顯創圓,名之為“得”。 + +> 註:此釋經文“已能善得”。“二德”疑為“三德”【?】 + +#10 4第四句云“決定諸法大妙智印”者,此智十地分已得之,今顯滿也。顯二種德:一,“於一切法智無疑滯”⑫;二,“於諸法智無有疑惑”⑭。 + +此中初句,斷一切疑殊勝功德。謂於諸法已得能除一切疑惑決定智故。 + +#11 此第二句,妙善了達一切法智,能隨所應,恒正教誨殊勝功德。謂於諸法懷疑惑者,無有力能隨應教誨。唯佛世尊證見諸法,智善決定,能隨所應,無倒教誨,無休廢故。 + +若於諸法不“決定”者,理即不然。 + +又得三法印:諸行無常,有為別印;涅槃寂靜,無為別印;諸法無我,二法遍印。此三妙理,印定諸法,稱之為“印”。佛得此智,名為“智印”。 + +#10 5第五句云“畢竟空寂平等性印”者,顯二種德:一,“得佛無二住勝彼岸”⑰;二,“證無中邊佛地平等”⑲。 + +#11 此中初句,自性身分殊勝功德。佛無二住,即是法身真如為體,無差別相。於中一切二相分別,皆不現行。緣彼勝定常住其中,故名為住。即無二住,名勝彼岸。佛已窮到,故名為得。 + +此之法身,諸佛共有“平等”之性,要除二我,觀二我“空寂”,方始“圓證”。 + +#11 此第二句,證真如相殊勝功德。謂真如相,遠離一切有為、無為中邊相故,遠離方處中邊相故,即是佛地平等法性。由證此故,遍知諸法,於中不染。 + +此真如理,印於諸法,契“畢竟空”,方能證會。 + +佛皆“圓證”。 + +> 註:此釋經文“已善圓證”。 + +#10 6第六句云“於諸能作、所作事業,皆得善巧成辨無餘”者,此顯世尊二種功德:一,“其身流布一切世界”⑪;二,“其所成立不可思議”⑨。 + +> 註:卍續藏:(“流布”)“布”一作“下”。 +按:勘《佛地經論》等,應為“流布”。​ + +#11 此中第一句,現從覩史多天宮來下殊勝功德。謂現化身,普於一切世界洲渚,同時流下入母胎故。 + +謂即八相示現成道,此即世尊“能作事業皆得善巧”。化身既爾,他報身等,隨應化現,理亦如是。 + +#11 此第二句,安立法教殊勝功德。謂佛安立一切法教,超過一切尋思境故。 + +是則名為“所作事業皆得善巧”。三劫修因,本為有情,現身說法,作大利樂。 + +今既圓滿故名“善巧成辨無餘”。 + +#10 7第七句云“一切有情種種希願,隨其無罪皆能滿足”,此顯世尊二種功德:一,“趣無相法”③;二,“不相間雜,如來解脫妙智究竟”⑱。 + +#11 此中初句,調伏方便殊勝功德。無相法者,即是涅槃。佛善了知三乘有情,隨彼堪能,調伏方便,如實為說,令彼趣證無相法故。 + +此意說言:“一切有情”,求出生死,皆得涅槃。三乘妙“願”,由“無罪”故,佛皆能“滿”。 + +#11 此第二句,受用身分殊勝功德。謂受用身不相間雜,一切如來受用身體,各各別故。如來妙智,能令一切有情解脫故,言如來解脫妙智。佛於此智,已得究竟。如來此智,不相間雜。於淨佛土,現受用身。亦不相雜。大集會中現種種身,與諸菩薩受用法樂,亦不相雜。如來於此智,所現身,亦到究竟。 + +此意即顯如來之智,及所現身,已得究竟,隨諸有情一切“無罪”所樂、所“願”,皆能為現方便,拔濟令離生死,故名“滿足”。 + +#10 8第八句云“已善安住三世平等,常無斷盡廣大遍照”,此顯世尊三種功德:一,“遊於三世平等法性”⑩;二,“盡虛空性”㉑;三,“窮未來際”㉑。 + +#11 此中初句,記別三世殊勝功德。謂如現在記別過去、未來世事,皆無礙故。 + +謂記般若於東北方最後興盛,最初滅之,乃至正法滅盡時事。 + +於瞻波國,記法當滅,如《正法滅經》,當廣說相。 + +> 註:瞻波國事為何,待考。【?】 + +又記菩提樹邊二石菩薩,身若滅盡,正法當滅。今沒至胸,事可驗矣。 + +記阿輸迦為輪王事,即其證也。 + +#11 此後二句,自利、利他,二德無盡殊勝功德。謂如虛空,經成壞劫,性常無盡。如來一切真實功德,亦復如是,常無斷盡,如未來際,無有盡期。利他功德亦復如是,窮未來際,常作一切有情利益安樂事。 + +故“廣大遍照”,即“無斷盡”真實功德之照用也。 + +#10 9第九句云“身、語、心性,猶若金剛,等諸如來無動無壞”者,此顯世尊二種功德:一,“到無障處”⑥;二,“凡所現身不可分別”⑮。 + +#11 此中初句,已修一切障結對治殊勝功德。謂已修習一切二障對治聖道,已到解脫一切障處。 + +所依、所趣,故名為處。由此如來所有三業,皆善無漏,猶如“金剛”,以一切佛,非餘“動壞”。 + +#11 此第二句,能正攝受無染自身殊勝功德。謂佛自身,非是虛妄分別所起,無煩惱、業、生雜染故。以如來身,非是雜染分別起故。不可分別。 + +故佛三業,由離過失,猶若“金剛”,不可“動壞”,“等”一切佛。 + +此中九句,文義開合,總歎二十一德。此中且依《佛地》初釋。恐文繁廣,不錄後師。《攝大乘》等,隨應廣說,不能一一。 + +#9 第三,又解:此九句經, + +#10 初四句,嘆報身。 + +第一句,總歎四智微圓,報身實德,不論法界。 + +第二句,歎道勝位尊。 + +第三句,歎悲深、智遍,二果齊圓。 + +第四句,歎慧廣智德,總印一切有、空事理,證不謬故。 + +第五句,歎照寂斷德。此歎法身。 + +#10 下四句,歎化身。 + +第六句,歎成巧恩德。 + +第七句,總歎神通輪,能滿勝願。 + +第八句,歎記心輪,能為說法。 + +第九句,歎漏盡輪,能現離染教誡教授。 + +#10 第一句,總歎四智微圓,報身實德中, + +言“金剛”者,總喻四智所依真如,性能摧壞,竝名“金剛”,非皆正有摧壞事用。 + +#11 言“住持”者,圓鏡智也,即是證於“金剛”真如之“住持”者。此為世出世間眾善之本,又為餘智之根本,故名為“住持”。 + +#12 依《佛地經》有九圓鏡喻: + +#13 一,如依圓鏡,眾像影現,喻如來智鏡,諸處、境、識,眾像影現,故由此名為一切智者。 + +故佛身諸德,此能“住持”。又由鏡智,自餘相續,出世世善諸處、境、識,皆依鏡智而得生,故名為“住持”。 + +二,又如圓鏡,無動無搖,眾生觀察自身得失,為欲存德、捨諸失,喻如來鏡智,懸法界幢,無間斷故,無所動搖,無數眾生觀於染淨,為欲存淨、捨諸染故。 + +> 註:卍續藏:(“得失”)“得”一作“德”。 + +三,如鏡善鑒,鑒淨無垢,光明遍照,喻如來鏡智,離二障垢,極善磨瑩,為定攝持,鑒淨無垢,作大利樂事,名光明遍照。 + +> 註:卍續藏:(“鑒淨無垢”)“鑒”恐“瑩”字舛誤。 + +四,如鏡依緣本質,種種影相生起,喻如來鏡智,恒依緣故,智影相生。 + +五,如鏡周瑩其面,於一切處為諸影像遍起依緣,喻如來鏡智不斷,無量眾善行瑩,為諸三乘智影依緣。 + +> 註:應為“無量眾行善瑩”。此中略而不說《佛地經論》第五、六喻。 + +六,如鏡,大地、大山、宮舍大影可得,而鏡不等大影之量,喻如來鏡智,十地影現,世出世善,一切影現,而智不同彼之分量。 + +七,又如圓鏡,非處障質影像起緣,喻如來鏡智,非惡友攝、聞不正法障礙眾生智影起緣,彼非器故。 + +八,又如圓鏡,非處闇質影像起緣,喻如來鏡智,非處樂惡愚昧眾生智影起緣,彼非器故,愚昧重故,雖有三寶良田生長一切善法,不欲聽受、不樂歸依,返信外道,豈非愚癡,尤重覆蔽?故云非器。 + +九,又如圓鏡,非處遠質影像起緣,喻如來智鏡,非處不淨感匱法業、不信眾生智影起緣,彼非器故。由前身中誹謗正法,經無量劫不聞正法,自業障故;或由無性,不信因緣,非聖法器,故非彼緣。 + +> 註:應為“如來鏡智”。 + +由此九喻,隨其所應,與自他身、有性無性、世出世善為因緣故,名為“住持”。 + +#11 “平等性”者,謂十平等。 + +> 註:卍續藏:(“平等性”)“性”下一有“智”字。 + +一,諸相增上喜愛平等法性。謂於相、好,生喜愛故,今證法性,悉皆平等。 + +二,一切領受緣起平等法性。謂內、外緣起。 + +#12 三,遠離異相、非相平等法性。 + +色等諸法變壞等相,不相似故,名為異相; + +遠離各別異相,即是共相。 + +如是共相,以非相為相,即法平等性。故經說言:一切諸法,皆同一相,所謂非相。 + +#12 四,弘濟大慈平等法性。 + +#13 慈有三種: + +一,有情緣,緣有情為境,初發心菩薩修。 + +二,法緣,緣正法為境,修正行菩薩多分修,緣教生故。 + +三,無緣,緣真如為境,無生忍菩薩多修。 + +此慈雖有所緣,緣法界故,亦名無緣,無分別故。佛皆具有平等福業,長時無間殷重無餘,故名弘濟。 + +#12 五,無待大悲平等法性。 + +二乘之悲,不拔一切,唯拔欲界,暫時而轉。 + +如來普拔,遍緣三界,恒時而轉,無所觀待,恒救不捨,能拔三苦所苦有情,等如一子,不生分別。 + +此子、非子,及拔、不拔。 + +如來證得大菩提已,恒作是念:我常安立一切有情,諸善根本,若未悟者,我當開悟。 + +此亦三種,準慈應說。 + +六,隨諸眾生所樂示現平等法性。如來雖居無戲論位,由平等智增上力故,大圓鏡智相應淨識,現瑠璃等微妙色身,令諸有情善根成就,自心變似如是身相,謂自心外,見如來身。 + +七,一切有情敬受所說平等法性。隨眾生樂,如是語業,發生歡喜,如來即現由悲願故,說必稱機,不虛捐也。雖有眾生不順佛語,此是化作,或當有益,後必信受。 + +八,世間寂靜皆同一味平等法性。有漏五蘊,名為世間,即彼息滅,名為寂靜。生死、涅槃,二俱平等,故名一味。又所執世間,本性無故,名為寂靜。此即顯如,無差別故,名為一味。 + +#12 九,世間諸法苦樂一味平等法性。 + +世間有八,謂利、衰、毀、譽、稱、譏、苦、樂。 + +得可意事名利。失可意事名衰。不現誹撥名毀。不現讚美名譽。現前讚美名稱。現前誹撥名譏。逼惱身心名苦。適悅身心名樂。 + +聖者居中,恒常一味,得利不高,遇衰不下,乃至遇苦無患,得樂無愛,應如虛空,平等一味。 + +十,修植無量功德究竟平等法性。功德即是菩提分等,熏種、長養、成熟、解脫,名為修植。 + +具此十德,名“平等性智”。 + +又有二平等。謂一切有情平等、諸佛平等,如《攝大乘》等解,轉第七得。因昔有我,此彼不等,今離我故,名等平等。 + +> 註:應為“三平等”【?】《攝大乘論》:悟入此故,入極喜地。善達法界,生如來家,得一切有情平等心性,得一切菩薩平等心性,得一切佛平等心性。 + +#11 “種種希有殊勝功德”者,即妙觀智及成事智,各有十因。 + +#12 妙觀察智,十種因者: + +一,建立因。此智住持一切陀羅尼門、三摩地門,無礙辨說諸佛妙法,謂十力等。 + +二,生起因。此智能為頓起一切所知無礙妙智,種種無量相識因緣,謂一切智能頓了知一切境相,一切境相頓起生因也。 + +三,歡喜因。此智可玩,波羅蜜多、菩提分法、十力、無畏、不共佛法之所莊嚴,甚可愛樂。 + +四,分別因。此智之上,世及出世,衰盛因果,三乘圓證,無餘觀察妙飾間烈。世間惡趣善趣以為衰盛因果,出世以二乘大乘為衰盛因果也。又有異解,如《佛地》第五。 + +> 註:應為:妙飾間列。 + +五,受用因。此智助平等智為增上緣,擊發鏡智相應淨識,現受用身,種種眾會威德熾盛,雨大法雨,為令十地諸大菩薩受大法樂;亦助成智,現變化身,乃至為令地前所化,受用法樂。 + +六,趣差別因。此智之上,無邊因果,五趣差別,具足顯現。 + +七,界差別因。此智之上,無邊因果,三界差別,具足顯現。 + +八,雨大法雨因。此智之上,諸佛菩薩威神所引,廣大甚深教法可得。 + +九,降伏怨敵因。此智之上,一切天魔、外道、異論所不傾動,甚深法界教法可得。 + +十,斷一切疑因。妙觀察智,不愚一切自相、共相之所圍繞故。此中廣辨自、共相體。 + +> 註:卍續藏:(“不愚”)“愚”恐為“誤”。 +按:勘《佛地經論》,應為“不愚”​。 + +此等十因,廣說其相,如《佛地論》。 + +#12 成所作智,十種因者: + +#13 謂三業化: + +#14 一,身業化。此有三種: + +一,現神通化。由是如來示現種種工巧等處,摧伏諸伎傲慢眾生,以是善巧方便力故,引諸眾生令入聖教、成熟、解脫。 + +二,現受生化。由是如來往諸眾生種種生處,示同類生而居尊位,由其示現同類生故,攝伏一切異類眾生。 + +#15 三,現業果化。由是如來示現領受本事、本生,難修諸行。 + +如契經說:如來先世迦葉佛時,作是罵言:何處沙門剃除鬢髮,有大菩提?無上菩提極難得。故由彼惡業,今受如是難行苦果。此言亦是為止惡行,現化所作。若不爾者,何有繫屬一生菩薩,已曾親事無量如來、植諸善本、性憶宿命,更起如是動語惡行?當知此言,為欲化度宜聞此言而得度者,令於佛所離此言故。 + +#14 二,語業化。此亦三種: + +一,慶慰語化。由是如來宣暢種種隨所樂法,文義巧妙,小智眾生初聞尚信,謂佛言音具六十德,諸凡愚慧暫時得聞,尚生信解,何況其餘聰慜者慧? + +二,方便語化。由是如來立正學處,毀諸放逸,讚不放逸。又復建立隨信行人、隨法行等。由大悲故,為諸有情安立學處,令伏諸惡,修世間善。安立聖道分位差別,令入正道,出離三界。 + +三,辨揚語化。由是如來,斷諸眾生無量疑惑,謂成事智,隨諸眾生意樂差別,現化語業,說種種義,斷諸疑惑。謂發一音,表一切義,令諸有情隨類獲益。佛以一音演說諸法,眾生隨類各得解等,此由如來本願所引,不思議力。若作化身,一質異見,利樂事成。 + +#14 三,意業化。此有四種: + +#15 一,決擇意化。由是如來決擇眾生八萬四千心行差別,謂諸有情八萬四千諸垢塵勞心行差別,此能障礙八萬四千波羅蜜多、陀羅尼門、三摩地等,如《賢劫經》廣說其相。 + +> 註:六度無極:https://mubu.com/doc/1q5xgtPnGOT + +所謂最初修習行法波羅蜜多,乃至最後分布佛體波羅蜜多三百五十,一一皆具六到彼岸,如是總有二千一百。 + +對治貪、瞋、癡及等分有情,心行差別,八千四百。 + +除四大種及六無義所生過失,十轉合數,八萬四千。 + +修習此故,後得成就八萬四千陀羅尼門、三摩地等。此猶略說,廣則無量。 + +二,造作意化。由是如來觀諸眾生所行之行,行與不行,若德、若失,為令取捨造作對治。謂隨觀察一切有情所行之行,若諸惡行,不行有德,行即有失。若諸善行,行即有德,不行有失。如是觀察為欲令彼取德、捨失,於德造作住持對治,於失造作遠離對治。 + +三,發起意化。由是如來為欲宣說彼對治故,顯彼所樂名句字身。謂隨眾生所樂說法,令起愛樂,發生對治。 + +四,受領意化。由是如來於定、不定、返問、置記為記別,故隨其所應,受領去、來、現在等義。此四即是一向、分別、返問、置記,四種論說,謂三寶性、良福田等。 + +此三業化,即三神變,謂神通、記說、教戒三種。由此義故,說佛世尊名大聖智藥。能除一切煩惱病故。 + +> 註:卍續藏:(“大聖智藥”)一無“聖”字。 +按:勘《佛地經論》為“大智藥”​。 + +妙觀察智、成所作智,各有十因,故名“種種希有功德”。 + +此句總顯報身實德,故以四智初門讚述。餘色、非色,諸有為德,皆是四智品類攝故。 + +#10 第二句云“灌頂寶冠超過三界”,此歎道勝位尊。 + +出第十地灌頂位已,戴佛“寶冠”,殊勝妙智,身淨無漏,離諸繫縛,非界所攝故,名“超過”。由此二乘、異生、外道,位皆卑下故。 + +《十地》云:有此淨土,出過三界,第十地菩薩當生其中。彼土處所,不離三界,以離繫縛故,名“超”也,非彼攝故。如來之身亦復如是,非有漏故,名為“超過”,非離三界,別處生也。 + +#10 第三句云“遍金剛智大觀自在”者,歎悲深、智廣,二果齊圓。 + +因中修行自利利他,悲、智為因,果道成滿。果既了知諸法,名“遍金剛智”。 + +能證遍智,能摧二障,故喻“金剛”。或所破二障,堅窂難壞,亦喻“金剛”。能證遍破猶如金剛煩惱、所知真實妙智,名“遍金剛智”。 + +得此智覺,能悲拔濟一切有情,自利智圓,利他悲滿,名“觀自在”。隨其眾生,三業求願,即能悲拔,無有遺漏,名“大觀自在”。 + +顯佛諸德,莫過此二,攝法周盡,隨應廣。 + +#10 第四句云“決定諸法大妙智印”者,歎慧廣智德,總印一切有、空事理,證不謬故。 + +智有二種,二種無智皆已斷盡,故得二智。有為智能知有為定無常,無為智能知無為定寂靜。此二無我,“印”法定然,必無猶預,故用廣大,名“大妙智印”。若無此智,於“法”不能“決定”智起。 + +> 註:卍續藏:(“二種無智”)“智”一作“知”。 + +#10 第五句云“畢竟空寂平等性印”者,歎照寂斷德。此歎法身。 + +要斷二障,方證二空。二空之理,“印”定諸法。諸法平等,皆由二空。由二空門,證此法性,名“平等性”。 + +然“畢竟空”但能入門,非平等性。“平等性”者,真如之體,非空非有。今從方便,名“畢竟空”。由觀有情,為“畢竟空”所證得故。佛已圓得,故名為“證”。 + +#10 第六句云“於諸能作、所作事業,皆得善巧成辨無餘”者,下四句歎化身。此歎成巧恩德。 + +#11 謂佛世尊,大悲熏煮,六時驅逼,為利有情,為現方便報身、化身,如應說法,利樂菩薩及二乘等。 + +其平等智,擊發鏡智,為諸菩薩現他報身,妙觀察智於中說法,斷眾疑網; + +成所作智,擊發鏡智,起變化身,為二乘等現化身語,妙觀察智於中說法,斷諸疑網。 + +成所作智現三業化,總有十種,如此中解釋初句總德中解。此成事智及平等性智,名為“能作事業”。其十種化,平等智等之所作事,名為“所作事業”。 + +世尊於此能作、所作,皆得“善巧成辨無餘”,一切皆得善巧滿故。 + +#10 第七句云“一切有情種種希願,隨其無罪皆能滿足”者,歎神通輪能滿勝願。 + +由佛具有神通威力,一切有情,世及出世諸“無罪”願,“皆能滿足”,然不皆與,故說為“能”,恐諸有情增惡業故。謂見貧者常求其財,應亦施與,然得財已,增長惡業,所以不與。《攝大乘》云:寧使貧乏於財位,遠離惡趣諸惡行,勿彼起過亂諸根,能感當來眾苦器。諸根缺等,類此應知。 + +#11 若求智門,“無罪”福慧,然必皆與。 + +> 註:卍續藏:(“智門”)“門”一作“明”。 + +如末利夫人,願為王妃,後獲聖果; + +五百聖種,願見佛身,說本生事; + +迦葉夫婦,願為道心夫妻眷屬,後得聖果; + +阿育王女,願得錢施,後為王女。 + +此等皆是“無罪”之願,“皆能滿足”。不同父母亦與其子有罪之願,無罪希願,則不能與。 + +#11 又現神通,隨其宜現,佛則為現,“滿足”所求。 + +如為優樓頻螺迦葉三人等,現神通事; + +如為調伏劫比拏等現大神通,令其入道。 + +皆“滿”勝願也。 + +#10 第八句“已善安住三世平等,常無斷盡廣大遍照”者,歎佛世尊,記心輪能為說法。 + +天眼通,知現在世,如知人間牛產犢事。 + +生死智,知未來,知未來婆羅門等旃遮,謗已後自敗事。亦知欝頭藍子生天已,為著翅狸,後入地獄事。 + +> 註:《大毗婆沙論》:毀:謂戰遮 (Savca) 婆羅門女及孫陀利 (Sundari)謗佛,聲遍十六大 +國。​《大智度論》:鬱陀羅伽仙人……生非有想非無想處,於彼壽盡下生作飛狸。 +卍續藏:(“翅狸”)“狸”一作“貓”。​​ +按:應為“翅狸”。勘《阿毘曇毘婆沙論》卷32:「憂陀羅摩子因緣……作著翅狸。」(CBETA 2020.Q1, T28, no. 1546, p. 237b13)。​ + + +以宿住智,知下乞兒久發善根,為其說法,拔濟饒益。 + +記別“三世”而為說法,行利樂事無有差別,名為“平等”。 + +能觀此智相續現前,“常無斷盡”,無所不知,“廣大遍照”。 + +#10 第九句云“身、語、心性,猶若金剛,等諸如來無動無壞”者,歎漏盡輪,能現離染教誡教授。 + +三身之中,惑業皆盡,故似“金剛”,“等”於諸佛。不為一切外道、天魔、生死惡友之所“動”亂破“壞”,令起惡業等也。由三業中,一切漏盡,故能教誡教授眾生,故名漏盡。如《對法論》第一疏解。又第四解。 + +> 註:卍續藏:(“三身之中”)“身”恐“業”字。 +第四解為何?待考【?】​ + +此中九句,初之一句,總歎四智法身報身。次有二句,歎位尊德廣。次三句,別歎三德。後三句,別歎三神變。 + +欲令眾生聞佛功德,生勝歡喜,殷重聞法,起趣求故。佛具此德,以歎經初,令知所說,最勝妙故。 + +般若理趣分疏卷第一終 + +#5 4 明說教處 + +#6 1 處尊勝 + +大般若波羅蜜多經般若理趣分述讚卷第二 + +大慈恩寺沙門 基撰 + +經曰:是薄伽梵,住欲界頂,他化自在天王宮中。 + +#7 讚曰: + +> 註:此下,基師由“述”轉“讚”。 + +#8 自下第四,明說教處。於化土中,略彰四德,以顯經勝。舉化勝處,以表報身及法身土,亦含實德。 + +第一,處尊勝,在欲極天他化宮故。 + +第二,同居勝,諸佛曾遊大寶殿故。 + +第三,嚴麗勝,無價末尼鎣眾寶故。 + +第四,愛重勝,賢聖天仙所欣樂故。 + +#8 此文第一,處尊勝也。 + +“是薄伽梵”者,指說教主,即能住人。 + +“住”者,依止居處之義。 + +“欲”,者貪愛,即是婬觸、段食之貪。 + +“界”者,族類疆畔之義,界由欲生,能生於欲,名為欲界。如胡椒飲,如金剛環。 + +“頂”者,頭頂高極之義。此於欲界六欲天中,最高勝處,名“欲界頂”。 + +雖言勝處,仍未顯名,為顯天名,故經次言“他化自在”。諸天福力,隨欲所須,如應即現。然第五天,業既殊勝,則不如是隨欲化物,但以生得變化之力,變作種種所須之具而受用之。今第六天,業更殊勝,雖有眾具隨欲即現,亦能自變化作眾具,而不受用,要待他天變為樂具,自方受用,業力勝故。由如是義,名“他化天”。 + +就此天中,非無貴賤臣主等別。今處彼天,貴主所居,非住臣賤下惡天處。故經復言“天王宮中”,欲顯法尊,說必依於上極勝處,非於餘下也。如證菩提,要金剛座,說此勝法,必他化宮。如《十地經》,依勝處也。 + +此表報身,住無漏淨土之中;亦表法身,住離貪欲究竟極處清淨法界。證此法者,能作利他之勝事。故亦為利他,處於淨土及法性。無分別智及後得智,神用無方,名為“自在”。此乃諸天法王曾居之宮室也。故餘經言:畢竟空寂以為舍。 + +故三身利物,各各別故,所居之土,亦各別也。 + +寄在“天宮”,彰處尊而法勝;標居“界頂”,顯妙理以幽深也。 + +#6 2 同居勝 + +經曰:一切如來嘗所遊處,咸共稱美,大寶藏殿。 + +#7 讚曰: + +#8 此即第二,同居勝也。 + +“嘗”者,曾也。 + +“遊”謂遊陟。 + +“處”謂安處。唯一佛住、諸佛不居,則非好處。今顯十方過現諸佛,皆曾於此他化天宮,遊陟安處,諸聖共履,故知勝處。 + +設後諸佛,現雖不住,皆共“稱”揚,讚“美”其宮。“稱”者稱揚,“美”者歎美。 + +天王宮中,舍有無量,今佛居彼“大寶藏殿”。眾珍所成,名之為“寶”。以寶為藏,名為“寶藏”。寶藏即殿,名“寶藏殿”。殿既高廣,復以貴寶之所莊嚴,名為“大寶”。佛居天宮內,“大寶藏殿”中住也。 + +此意總表報、法二身,無分別智及後得智,居過現佛曾所遊處,并共稱美大寶藏殿。亦顯諸佛共居、同讚,故知處勝。 + +佛受用身住報土,及後得智分別法性義,名為“遊”。無分別智住法性土,遊戲如理,號為“處”。 + +由受用土,具十八德;法性之土,具含萬善。所以諸佛,常共讚歎此二土故,名“共稱美”。“稱”者稱揚,顯名言之所不及;“美”者歎美,假言詮以談實德。 + +廣同法界名“大”,萬德所成名“寶”,含容眾善名“藏”,空寂之室名“殿”。 + +報、法二身,初、後二智,常居此處,說法利他。 + +諸佛同居,彰共遊而處麗;三明竝讚,示具德以號藏。 + +#6 3 莊嚴勝 + +#7 1 明總嚴 + +經曰:其殿無價末尼所成,種種珍奇間雜嚴飾。 + +#8 讚曰: + +自下第三,莊嚴勝也。於中有三:一,明總嚴;二,列別嚴;三,列餘嚴。此總嚴也。 + +梵云“末尼”,此云“如意”。其殿既以“無價”如意神珠所成,加以帝青、大青、石藏、杵藏,四寶四色、七“珍”七光,間錯莊嚴,朱紫交映。 + +> 註:慈海宋順註:摩尼,正云末尼,即珠之總名也。此云離垢。 + +此意總表:法性之殿,如如意珠,無為萬德之所“嚴”鎣;受用土殿,般若為體,同彼末尼,有為眾善之所莊“飾”,義同“間雜嚴飾”其殿。 + +二大殿二身所居,如如意珠,隨欲所求,一切皆得。 + +末尼“無價”,更飾之以七珍;境智莫方,加嚴之以萬德。此其總嚴也。 + +#7 2 列別嚴 + +經曰:眾色交映,放大光明。 + +#8 讚曰: + +自下第二,列別嚴也。於中總有十四別嚴。此有二嚴也。 + +七珍間錯,所以“眾色交映”;四輝𭀬燿,故能“放大光明”。又朱紫相雜,舉事而論“交映”;素黃飛彩,離質而放“光明”。 + +此意總表:法性無著,約緣涅槃分四,譬猶交映,任物以成眾色。又智分真、俗,似眾色而交映。 + +此二齊垂教彩,若色以放光明,既有照耀之功,兼資破闇之力。故此二句,即是二嚴。 + +經曰:寶鐸、金鈴,處處懸列,微風吹動,出和雅音。 + +#8 讚曰: + +此有四嚴:一,懸寶鐸;二,列金鈴;三,吹動以微風;四,發音而和雅。 + +既鏗鏘以振響,足觀聽以明心。 + +此意:運以六通,同“寶鐸”而振駭;飛乎四辯,若“金鈴”而驚濟。 + +隨機往利,“處處”之義顯然;愍物宣揚,“懸列”之言攸顯。 + +若不大悲之“風”飄扇,七辯之“音”無發。故知感應道成,智悲之德被也。言七辯者,所謂捷辯、迅辯、應辯、無疏謬辯、無斷盡辯、凡所演說豐義味辯、一切世間最勝妙辯。六通等義竝如下釋。 + +> 註:此中“捷辯”應作“無礙辯”。【?】據《大般若經》卷四九九所載,七辯為:(1)無礙辯,相當於利辯。(2)無斷盡辯,相當於不盡辯。(3)無疏謬辯,相當於不可斷辯。(4)應辯,相當於隨應辯。(5)迅辯,相當於捷疾辯。(6)諸所演說豐義味辯,相當於義辯。(7)一切世間最勝妙辯,相當於一切世間最上辯。  + +經曰:綺蓋、繒旛、華幢、綵拂、寶珠、纓絡、半滿月等。 + +#8 讚曰: + +#9 此有八嚴: + +羅“蓋”扶疎,飛圓華而孕“綺”;霞“旛”飄颺,曳曲𭛙以疑虹。 + +> 註:大正藏作“𭛙”,原本為“影”字。CBETA:𭛙【大】,影【校異-原】。 + +“華幢”肅以干雲,“綵拂”嚴而曳地。 + +明“珠”磊磊,映明銀星;珍“纓”絡絡,潔逾金鏡。 + +輪低翠嶺,同浮“半月”之暉;璧掛青巖,如含“滿月”之彩。 + +即其化土所居天宮之麗飾也。 + +#9 此意總顯:報、法二土: + +四無量,如“綺蓋”以蔭群生。 + +四總持,若“繒旛”而轉眾惡。 + +三三摩地,喻彼“華幢”,百千功德所莊飾故。 + +四種攝事,譬斯“綵拂”,垂遍含生拂塵垢故。四總持、三三昧,皆如下釋;四無量、攝事等,不異常談。 + +三念住,為“寶珠”,恒時平等故。 + +四弘願,為“纓絡”,助嚴眾行故。 + +無畏為“半月”,能破外道,消除邪惡故。 + +十力為“滿月”,能破天魔,令除諸惡故。或以六度為“寶珠”,通攝萬行故。 + +三念住者,謂一分讚不生愛,一分毀不生瞋,於一會中,半讚、半毀,不愛、不恚。於此三中,但住大捨,名為念住。 + +四弘願者,一,未離苦願離;二,未得樂願得;三,未發心修斷,願發心修斷;四,未成佛者,願早成佛。 + +無畏、十力,至下當知。此上第二,列別嚴也。 + +#7 3 列餘嚴 + +經曰:種種雜飾而用莊嚴。 + +#8 讚曰: + +此即第三,列餘嚴也。末尼之殿,大嚴如是。子細別嚴,今總彰舉。 + +所謂戶牖、軒窓、甍棟、蘭楯,皆隨具有。 + +即顯解脫、勝處、遍處、無諍、願智、永斷習氣、一切種妙智,百千功德所嚴二土,有為、無為,理應爾故。 + +#6 4 愛重勝 + +經曰:賢聖天仙之所愛樂。 + +#7 讚曰: + +此即第四,寶重勝也。 + +> 註:前文作“愛重勝”。 + +五乘凡夫曰“賢”,三乘證果曰“聖”,五趣之極曰“天”,人有神德曰“仙”。 + +寶而重之為“愛”,欣求傾渴為“樂”。此化土也。 + +今顯三乘之中,若凡、若聖,俱生愛重,欣求趣證,名為“愛樂”。此顯法、報二身,隨應土也。 + +#5 5 教所被機 + +#6 1 舉數 + +經曰:與八十億大菩薩俱。 + +#7 讚曰: + +自下第五,教所被機。然此經中,實通凡聖。如下經云:金剛手等諸大菩薩,及餘天眾,聞佛所說,信受奉行。“金剛手等”,聖人眾也。“餘天”等者,凡夫眾也。故知此會,凡聖兩集。又準化處在他化宮,顯居化土,理然天宮非是淨土。若準《十地》,諸大菩薩者,即應化處,不說天宮。由此人處,影顯可知。 + +> 註:何謂人處顯可知處【?】 + +處說“天宮”,彰凡夫皆居穢土;眾標“菩薩”,明大士咸處淨方。然則教迹幽深,非愚所測故,乃但題“菩薩”,應此通機。化處舉勝,而說“天宮”,聽眾標尊,但言“菩薩”,理兼通也。又法門仲邃,但被一乘之人;玄宗寥廓,遂隔二乘之眾也。 + +> 註:卍續藏:(“仲邃”)“仲”恐“沖”字。 + +#8 此被機中,文勢有四:一,舉數;二,陳德;三,列名;四,彰軌。此舉數也。 + +“與”者,兼并及會之義。 + +十萬為“億”,“八十億”者,八百萬也。 + +#9 所言“大”者,略有四義: + +一,數大,八百萬菩薩,會集聽法故。 + +二,德大,皆具總持等諸大功德故。 + +三,業大,竝具妙辯才,說法利生故。 + +四,名大,如金剛手等,十地滿名故。 + +“菩薩俱”者,顯教深妙,唯被上機。欲令有情,得希有法,精勤渴仰,信受奉行故。 + +#6 2 陳德 + +#7 1 列名 + +經曰:一切皆具陀羅尼門、三摩地門、無礙妙辯。 + +#8 讚曰: + +#9 下陳德也。於中有二:初,列名;後,例指。此列名也。 + +“陀羅尼”者,此云總持,以念慧為性。此有四種:法義及明呪,能得菩薩忍。法謂能詮,於一名等中,持諸名等故。義謂所詮,於一義中,持諸義故。呪如下說。能得菩薩忍者,謂有一呪,速得菩薩無生法忍。彌勒菩薩說:壹胝密胝吉胝思羼底(丁履反)鉢陀膩莎訶。 + +> 註:《瑜伽師地論略纂》曰:「論云:陀羅尼有四種:一法,二義,三咒,四能得忍。(中略)法陀羅尼以法為境,即能詮名言,以念慧為體。義陀羅尼其體同法,唯境界異。其異者何?所詮義為境,謂無量義意越等,即唯在意地。咒陀羅尼以定為體,依定持咒令不忘故,以咒為境也。能得忍陀羅尼者,以無分別智為忍體,即證真如。 + +“三摩地”者,此云等持,舊云三昧。謂諸有漏、無漏等定,皆能平等持心於境,名曰等持。謂大空等、三三昧等。 + +“無礙妙辯”,謂法、義、詞、辯說無礙。 + +初之二德,舉自利行,第三之德,舉利他行。此三體性、依處、修法、得位,一切義門,如別處說。 + +#7 2 例指 + +經曰:如是等類無量功德,設經多劫說不能盡。 + +> 註:卍續藏:(“說不能盡”)“說”經本作“讚”。 + +#8 述曰: + +> 註:此下由“讚”改“述”,不知何故【?】 + +#9 此指例也。 + +“劫”者,時分。菩薩修因,時、行並大,故讚“功德”,經劫不窮。謂轉法輪、無生忍等,恐文繁廣,故例指也。 + +#10 何故須讚菩薩功德? + +為捨眾生輕慢心故。有作是言:諸聲聞眾,久修梵行,諸菩薩眾,應當敬禮。 + +又令眾生起淨心故,菩薩尚有如是功德,何況如來?故諸有情,至心歸禮,竝願速證。 + +#6 3 列名 + +經曰:其名曰:金剛手菩薩摩訶薩、觀自在菩薩摩訶薩、虛空藏菩薩摩訶薩、金剛拳菩薩摩訶薩、妙吉祥菩薩摩訶薩、大空藏菩薩摩訶薩、發心即轉法輪菩薩摩訶薩、摧伏一切魔怨菩薩摩訶薩。 + +> 註:大正藏:原本冠註曰:此疏原本,自下牒經,舉前後文置“乃至言”,省略中間,贊主疏述,體例多爾。而今為便檢讀,牒經具文,除疏“乃至”二字,尚恐失本,製加以「」幟其新增,覽者應知。 +按:​此為日本學者征引原文之工作,應當隨喜讚歎。 + +#7 述曰: + +下列名也。此有八人,舉其勝者。 + +#8 言“菩薩摩訶薩”者, + +“菩提”言覺,即一切智。“薩埵”言有情,即求菩提之有情也。此通三乘。“摩訶”言大,“薩埵”如前,為簡取大,故言“摩訶薩”。 + +又“菩提”者,所求之果智境也;言“薩埵”者,所為拔濟之有情悲境也,即是自利利他二德。 + +又“薩埵”者,是勇健義,精進勇猛,求大菩提,故言“菩薩”。 + +此後二解,許通凡聖。今取第十金剛心者,故復說言“摩訶薩”也。 + +言“金剛手”,“手”者,取義、執義。常起信手,取諸功德故。起智慧手,執受金剛本法性故。又信、智二手,猶如“金剛”,堅固難壞,非邪惡友所能壞故。 + +“觀自在”者,即觀世音。“觀”謂觀察,觀諸有情,身、語、心性。受苦惡時,或祈念時,應時為拔,往詣救護,名“觀自在”,神用無方,得“自在”故。 + +“虛空藏”者,以空為“藏”,藏諸珍寶。見諸有情,貧無財寶,從“虛空”中,雨種種寶,施貧乏故。 + +“金剛拳”者,“拳”者,破壞擊碎之能,發起堅固智慧之“拳”,擊破生死煩惱業等。如以“金剛拳”,擊碎諸物,因以名也。 + +“妙吉祥”者,即文殊師利,先云妙德。“妙”者善義,由善能作勝福利事,饒益有情,名“妙吉祥”也。 + +“大空藏”者,“大空”即是遍滿法界,真如空理以此為“藏”。為諸有情說大空法,以此法施,令諸有情皆獲種種聖法財寶,名“大空藏”。 + +“發心即轉法輪”者,“輪”謂摧伏、移轉之義。“法”謂教法,如《法輪章》說法輪義。此大菩薩,從初發心,終至十地,凡所舉措,身語意業,皆為有情,說深妙理,轉大法輪,行饒益故。 + +> 註:法輪章,可見《⼤乘法苑義林章卷·總料簡章/三輪義林章》。 + + +“摧伏一切魔怨”者,“魔”謂四魔,如前已說。此四能破有情善事,為眾生“怨”。此大菩薩,住金剛心,離分段死,及諸煩惱,故能“摧伏一切魔怨”。 + +#8 此八名中, + +金剛手智,取善為名; + +觀自在悲,拔苦為號; + +虛空藏,濟貧為字; + +金剛拳,破惡為能; + +妙吉祥,作善為目; + +大空藏,顯真為稱; + +轉法輪,說法為利; + +摧伏魔怨,害賊為益。 + +或智慧、慈悲一對,或顯真、顯妄一對。拳如妄法故。 + +> 註:“拳如妄法故”似疑錯簡【?】 + +或顯有為、無為善法一對,或進善、破惡一對。隨其所應,準名知義。 + +#6 4 彰軌 + +經曰:如是上首,有八百萬大菩薩眾,前後圍遶。 + +#7 讚曰: + +#8 此第四,彰軌也。 + +“八百萬”者,八十億也。 + +言“前後”者,以方為首,故有前後。各見世尊,在其前坐,為其說法,既無背面,寧有“前後”?如珠星而拱朗月,譬金山而輔妙高,若眾梵之繞梵王,似諸天之圍天帝。尊人重道,渴法希益,翹注一心,冀聞深致。 + +#5 6 歎法勝德 + +經曰:宣說正法,初、中、後善,文義巧妙,純一,圓滿,清、白,梵行。 + +#6 讚曰: + +#7 此即第六,歎法勝德。 + +“宣說正法”是總句也。刊定可軌,離邪分別,名為“正法”。“宣”顯未聞,為初開智;“說”彰舊理,為久悟人。 + +#8 “初、中”等者,總有十德,以彰教勝。 + +#9 《瑜伽師論》八十三云:一,初善;二,中善;三,後善;四,文巧;五,義妙;六,純一;七,圓滿;八,清淨;九,鮮白;十,梵行。彼自釋言: + +#10 初善者,謂聽聞時,生歡喜故。 + +由法殊勝,初有聽聞,即令生喜。 + +#10 中善者,謂修行時,無有艱苦,遠離二邊,依中行故。 + +既聽聞已,正修行時,遠離苦樂邪怠二邊。依處中行,以求出世,故中善也。 + +> 註:卍續藏:(“邪怠”)“怠”一作“惡”。 + +#10 後善者,謂極究竟,離諸垢故,及一切究竟離欲為後邊故。 + +謂佛言教,理極究竟,性離諸垢,能現涅槃,依修行者,能離欲故。 + +#10 文巧者,謂善緝綴名身等故,及八語具得圓滿故。 + +八十一云:先首、美妙、顯了、易解、樂聞、無依、不逆、無邊,名八語具。如彼廣說。其能詮文,善能緝綴。 + +#10 義妙者,謂能引發勝利樂故。 + +其所詮義,能引利樂。 + +#10 純一者,謂不與一切外道共故。 + +其所說法,唯佛能說,諸外道等不能說故。所說法中,非雜外道邪惡法故。 + +#10 圓滿者,謂無限量故,最尊勝故。 + +教廣無限,義深無量,其修學者功德無量,故最尊勝。 + +#10 清淨者,謂自性解脫故。 + +其所說法,一剎那中亦無過失。離三毒根,離諸繫縛,故性解脫,非有三毒而起說故。 + +#10 鮮白者,謂相縛解脫故。 + +> 註:應作“相續解脫”。 + +非唯一念無其過失,相續論之亦離諸過。又前清淨,法體離過,此中鮮白,能令覺者身亦鮮白。 + +#10 梵行者,謂八支聖道。此出梵行之體。當知此道,由純一等四種妙相之所顯說故。 + +八聖道,名為梵行。若依此解,與古不同。 + +此上十德,總顯經勝。 + +#4 (二)應機廣說分 + +#5 1 明菩薩境 + +#6 1 明體境 + +#7 1 甚深微妙清淨法門 + +#8 1 初敘世尊所說法門之名 + +經曰:爾時,世尊為諸菩薩,說一切法甚深微妙般若理趣清淨法門,此門即是菩薩句義。 + +#9 讚曰: + +#10 自下明第二,應機廣說分。 + +#11 於中總有十四段經,合之為三:初六段明菩薩境,次六段明菩薩行,後二段明菩薩果。 + +> 註:慈海宋順註中,十四法門分別對應:金刚手菩薩、大日覺王、釋迦如來、觀自在菩薩、虛空藏菩薩、金剛拳菩薩、文殊菩薩、轉法輪菩薩、大空藏菩薩、摧伏一切魔怨菩薩、普賢菩薩、住持藏法如來、外金剛部、毗盧遮那佛。 + +#12 一切佛教所詮義理,不離此三。 + +說境,先令知法染淨、因果善惡,此可欣厭、此可修斷。 + +說行,次令知依境起行,修斷之法。 + +說果,後令知行行得果,殊勝之相。 + +#12 初六段明境,復分為三: + +#13 初二段明體境: + +第一,甚深微妙清淨法門。即是對妄顯真,實相真如境體。 + +第二,寂靜法性現等覺門。即是除闇,顯於觀照正智境體。真如是性,正智是相,說有前後,下皆準知。 + +#13 次二段明行境: + +第三,調伏眾惡普勝法門。由觀實相,能伏眾惡。 + +第四,平等智印清淨法門。由觀觀照,智慧照明。 + +#13 後二段明果境: + +第五,法王灌頂智藏法門。顯由二行,得位財果。 + +第六,如來智印金剛法門。顯由二行,得自體果。 + +#12 次六段明行,復分為三: + +#13 初二段,明依實相斷修之相。 + +第七,離諸戲論輪字法門。由觀無相,斷分別故。 + +第八,入廣大輪平等法門。由觀平等,修證真故。 + +#13 次二段,明依觀照修斷之相。 + +第九,真淨供養無上法門。由依觀照,修真供養故。 + +第十,能善調伏智藏法門。由依觀照,能除忿等故。 + +#13 後二段,明依二法遍修之相。 + +第十一,性平等性最勝法門。修觀實相,一切人、法,平等遍滿故。 + +第十二,有情住持勝藏法門。修觀觀照,遍諸人、法,皆善緣故。由觀前六境,而起六行。 + +#12 已後二段,明得果。 + +第十三,無邊無際究竟法門。得二果時,廣深一味,極殊勝故。自利果德。 + +第十四,甚深理趣無上法門。得二果已,自利利他,為三界主,隨諸有情,所願皆證。利他果德。 + +#10 就第一段,甚深微妙清淨法門,即是對妄顯真,實相真如境體中,文分為三:初敘世尊所說法門之名,次敘世尊所說理趣之義,後敘世尊所說法門之德。此即第一,敘法門之號。 + +“爾時”者,發端義。處天宮,眾雲集,所化機感法王應現,說聽懸會,故言“爾時”。 + +“世尊”者,能說教主。為諸菩薩所被深機,說一切法,有為、無為,諸法體事。 + +甚深微妙法性真如,非凡所測,名曰“甚深”。二乘莫知,復稱“微妙”。 + +“般若理趣”即深妙法理,謂法性道理義理。“趣”謂意況,所趣旨趣。此意即說:般若之文,所詮深趣,觀照般若,所取意趣。 + +自性潔白名“清”,離諸垢染名“淨”。“門”者,虛通趣入之道,即顯照理會證之由。欲證二空,要聞此教理,依之修學,方可會真,不知何名,強名“門”也。 + +> 註:卍續藏:(“趣入之道”)“道”一作“徑”。 + +此“門”是何?此“門”即是“菩薩句義”。“菩薩”三義,已釋如前。 + +#11 言“句義”者, + +“句”謂能詮聲之差別。不說文、名,但說“句”者,句詮義周,非文名故。 + +“義”謂所詮法之差別。不說自體,但說“義”者,法義圓被,非自體故。 + +“句”既能詮,所詮唯“義”。欲顯此教能詮一一皆圓滿故,所詮一一亦周被故,舉寬能詮及寬所詮,文、名、體、法,皆已攝故。 + +欲求菩提,於有情之類,起大悲智而起修學,及求菩提,發勇猛者,名為“菩薩”。 + +今此“理趣”能詮之教,即是能詮“菩薩”之“句”;所詮之理,即是所詮“菩薩”之“義”。 + +若依此教而行此義、證此理者,名為“菩薩”。後道滿時,名之為佛,遂捨因名。 + +此言“菩薩”,略有三位:一,初發心;二,修正行;三,證法性。三位皆須依此修學,方可得證,故名為“門”。 + +#8 2 次敘世尊所說理趣之義 + +#9 1 初佛自問 + +經曰:云何名為菩薩句義? + +#10 讚曰: + +自下第二,敘佛所說理趣之義。於中有三:初佛自問,次述其義,後勸修學。此初,問也。 + +#9 2 次述其義 + +#10 1 初釋其義 + +#11 1 明菩薩修果清淨句義,以顯菩薩所有句義(十門) + +#12 1 熾盛修之果(一句) + +經曰:謂極妙樂,清淨句義,是菩薩句義。 + +#13 讚曰: + +自下述其義。於中有二:初釋其義,後釋所由。 + +若依清辨,世俗可有,勝義皆空,今說正義空寂。 + +若依護法,應依下釋。就釋義中,合有四十一句義,釋菩薩句義。復分為二:初有十門,明菩薩修果清淨句義,以顯菩薩所有句義。後“色蘊空寂”下,三十一門,依諸法本性及所由空寂清淨句義,以顯菩薩所有句義。 + +> 註:此初中,應有十一門,計數有誤。【?】 + +​​參考:《大般若經》中“一百零八句法”。https://mubu.com/doc/5MIXMafsbH7 + +#14 就初十門,明菩薩修果清淨句義以顯菩薩句義之中,復分為五。然菩薩修,略有五種,所謂:集總修、無相修、無功用修、熾盛修、無喜足修。 + +謂集一切總為一聚,簡要修習。初修行者,諸惡皆斷,諸善皆修,諸生皆度。或觀一切為骨瑣等,或觀此身從頭至足,唯膿血等,名集總修。 + +於離十相,真法界中,遣事差別而修習故,名無相修。漸修行者,應觀無相。 + +為令此修,純熟自在,不假功力,任運現前,名無功用修。 + +雖無功用,修有勝劣,為令增勝,說熾盛修。 + +或雖熾盛,恐有少所得,便生喜足,謂且修此,餘何用為?為令勿厭,乃至菩提,名無喜足修。 + +今顯菩薩得轉依時,地前名為益力損能轉。由習慚愧及勝解故,益聖道力,損二障能,亦可分得五修之果。十地正證正行五修。 + +今此十句,顯五修果,至文當知。 + +此即第一,順清淨分,無所分別,無相現行④。當來佛果,名清淨分。此能引彼,故名順。如佛輪王,鮮白蓋等,無所分別,無相現行。 + +> 註:五果之釋文,見《攝大乘論無性釋》,配果見《瑜伽倫記》《解深密經圓測疏》。 + +由得於此順清淨分,無分別故,悟“極妙樂”,即無漏智。地上正證,地前分得。若有分別,不順清淨,得苦惡果。今無分別,順清淨分,故“極妙樂”,苦果永無,觸無相樂故。 + +此“極妙樂”,非分別引生,故名“清淨”。 + +能詮此“句”,此“句”所詮即是“菩薩句義”。詮辨聞行即此。是故下文所說“菩薩句義”,竝準此知,更不重釋。 + +#12 2 無相修之果(二句) + +經曰:諸見永寂,清淨句義,是菩薩句義。 + +微妙適悅,清淨句義,是菩薩句義。 + +#13 讚曰: + +此中二句義,即五果中,離種種想,得法苑樂②。 + +由“見永寂”,故離諸相,諸相多由諸見生故。 + +由得法苑樂,故“微妙適悅”。 + +“諸見”者,五見等。地前、地上,伏斷無餘,故言“永寂”。 + +以法界為苑,於中遊翫故,於此喜悅,名法苑樂。證會名得。如王宮外,上妙園苑,遊戲其中,受勝喜樂,法界亦爾,求證、正證,皆生樂故。 + +#12 3 集總修之果(三句) + +經曰:渴愛永息,清淨句義,是菩薩句義。 + +胎藏超越,清淨句義,是菩薩句義。 + +眾德莊嚴,清淨句義,是菩薩句義。 + +#13 讚曰: + +#14 此中三句。 + +“渴愛”者,謂貪欲。由“渴”,“愛”生,故名“渴愛”。謂如鹿渴,遙見陽煙,將以為水,而起貪求,奔走往趣。有情亦爾,由煩惱“渴”,見不淨物,謂以為淨,廣起貪求,故名“渴愛”。此潤生惑,以“愛”為先,或通發業,諸煩惱等,貪為首故。此但舉之。 + +地前漸伏,地上能除,故名“永息”。 + +由因滅故,苦果不生,是故“胎藏”亦能“超越”。舉一胎生,意離分段,處變易故。 + +此之生死因果既亡,遂得殊勝變易異熟。故於地前,種相好因,化成八相。十地之位,得諸相好清淨“功德”,“莊嚴”其身。 + +惡法既亡,勝果斯起。即是念念消融一切麁重依止①。有漏身器,依止本識,鞕強不安,名為麁重,如癰瘡等,三苦迫逼,不安穩故。若在地前,由聞般若,修行無相,令聞熏增,銷融本識依上麁重,如大良藥銷眾病塊。若在十地,正能斷之,名銷融也。 + +麁重既滅,故“渴愛”“息”,“胎藏超越”,得無麁重,“眾德莊嚴”。 + +“愛”能潤發,下緣生中,自當廣說。 + +#14 “胎藏”身者, + +#15 《瑜伽論》說胎藏有八位: + +已結凝箭內稀,名羯剌濫位。 + +> 註:按《瑜伽》卷2,應為“羯羅藍”。 + +表裏如酪,未至肉位,名頞部曇位。 + +若已成肉,仍極柔軟,名閉尸位。 + +若已堅厚,稍堪摩觸,名健南位。 + +> 註:應為“鍵南”。 + +肉轉增長,支分相現,名鉢羅賒佉位。 + +> 註:應為“肉摶增長”。 + +此後髮毛爪生位。 + +眼等根生位。 + +依處分明願,名形位。 + +> 註:應為“分明顯(現)”。 + +#16 然由先業或母惡緣,令此胎藏,或髮、或色、或皮、或支,變異而生。由業及母多習灰鹽等味,令髮毛稀尠。由業及母多習燸熱,令色黑黯。近寒室等,令色白生。多噉熱食,色極赤生。由業及母多習婬欲,皮或癬、疥或癩等。由業及母多習馳走、跳躑威儀,或倒或屈,支分缺減。女居左脇,倚背向腹。男居右脇,倚腹向背。胎成滿時,其母不堪持此重胎,內風便起,發生苦痛。又此業報生分風起,令頭向下,足便向上,胎衣纏裹,而趣產門。其正出時,胎衣遂裂,分之兩腋。生產門時,名正生位。時令其母苦痛無量,胎身亦爾。 + +此《大般若》第五百八十九卷說:此胎藏身,三十六物不淨所成:一,髮毛;二,爪;三,齒;四,皮革;五,血;六,肉;七,筋;八,脈;九,骨;十,髓;十一,心;十二,肝;十三,肺;十四,腎;十五,脾;十六,膽;十七,胞;十八,胃;十九,大腸;二十,小腸;二十一,屎;二十二,尿;二十三,洟;二十四,唾;二十五,涎;二十六,淚;二十七,垢;二十八,汗;二十九,淡;三十,膿;三十一,肪;三十二,𦙽;三十三,腦;三十四,膜;三十五,𭿇;三十六,聹。 + +> 註:三十五“(目+虽)”應為“眵”(chī)字。589卷,應為 《大般若波羅蜜多經》卷489:「「復次,善現!諸菩薩摩訶薩行深般若波羅蜜多時,以無所得而為方便,於內身住循身觀,熾然精進,正知具念,除世貪憂者,謂菩薩摩訶薩行深般若波羅蜜多時,以無所得而為方便,審觀自身,從足至頂種種不淨充滿其中,外為薄皮之所纏裹,所謂此身唯有種種髮毛爪齒、皮革血肉、筋脈骨髓、心肝肺腎、脾膽胞胃、大腸小腸、屎尿洟唾、涎淚垢汗、[1]痰膿肪𦙽(sān)、腦膜眵聹(níng ),如是不淨充滿身中。如有農夫或諸長者,倉中盛滿種種雜穀,所謂稻、麻、粟、豆、麥等,有明眼者開倉覩之,能如實知其中唯有稻、麻、粟等種種雜穀。是菩薩摩訶薩亦復如是,審觀自身,從足至頂不淨充滿,不可貪樂。是為菩薩摩訶薩行深般若波羅蜜多時,以無所得而為方便,於內身住循身觀,熾然精進,正知具念,除世貪憂。」(CBETA 2020.Q1, T07, no. 220, p. 485b26-c13)[1]:痰【CB】【宋】【元】【明】,淡【大】 + +既生長已,次起六觸,次隨世學,次耽家室,次造生業,次受色等苦樂境界。次隨其業,流隨五趣,復受此身。 + +菩薩不爾,隨願受生。設入母胎,即至鉢羅賒佉位。自無惡業,亦不令母習近惡緣,自損髮等,亦不令母受諸苦惱。既生長已,亦無如前所說惡過。唯以悲智受生為業,故名“超越”。變易之身,無是事也。 + +具三十二相、八十隨好,故名“眾德莊嚴”,悲智熏修,得是身故。 + +#12 4 無功用修之果(二句) + +經曰:意極猗適,清淨句義,是菩薩句義。 + +得大光明,清淨句義,是菩薩句義。 + +#13 讚曰: + +此中二句義,即是能正了知,無量無分限相,大法光明③。 + +得達法界等十方無邊無分量相,故“極猗適”。 + +顯照行故,名“法光明”。 + +既能廣達,契會法性,證真妙理,“意極猗適”。能了此智,分明顯照,名“法光明”。此二離垢,故名“清淨”。 + +#12 5 無喜足修之果(三句) + +經曰:身善安樂,清淨句義,是菩薩句義。 + +語善安樂,清淨句義,是菩薩句義。 + +意善安樂,清淨句義,是菩薩句義。 + +#13 讚曰: + +此中三句,即是第五,為令法身圓滿成辨,能正攝受後後勝因⑤。 + +第十地名圓滿,在佛地名成辨,感此之因,最是殊勝,說為勝因。即是此中,三業“安樂”“清淨”之義。正由前位,“意善安樂”,“語、身”二業,助“安樂”故,後後法身圓滿、成辨。三業不淨,逼迫現前,便無“安樂”,後後法身,無由成辨。 + +此上十句義,明菩薩修果清淨句義,以顯菩薩所有句義。 + +此中“清淨”,若是染者,離過清淨;若善者,修習清淨。“菩薩句義”不離此。故地前分得,地上正證。故益力轉,在地前位。 + +#11 2 依諸法本性及所由空寂清淨句義,以顯菩薩所有句義(三十一門) + +#12 1 明世俗、勝義法,所依、所從,本性空寂清淨句義,以顯菩薩所有句義(二十六門) + +#13 1 唯明世俗法所依,本性空寂清淨句義,以顯菩薩所有句義(九門) + +#14 1-3 蘊、處、界 + +經曰:色蘊空寂,清淨句義,是菩薩句義。受、想、行、識蘊空寂,清淨句義,是菩薩句義。 + +眼處空寂,清淨句義,是菩薩句義。耳、鼻、舌、身、意處空寂,清淨句義,是菩薩句義。色處空寂,清淨句義,是菩薩句義。聲、香、味、觸、法處空寂,清淨句義,是菩薩句義。 + +眼界空寂,清淨句義,是菩薩句義。耳、鼻、舌、身、意界空寂,清淨句義,是菩薩句義。色界空寂,清淨句義,是菩薩句義。聲、香、味、觸、法界空寂,清淨句義,是菩薩句義。眼識界空寂,清淨句義,是菩薩句義。耳、鼻、舌、身、意識界空寂,清淨句義,是菩薩句義。 + +#15 讚曰: + +自下第二,三十一門,依諸法本性及所由空寂清淨句義,以顯菩薩所有句義。於中分二:初有二十六門,明世俗、勝義法,所依、所從,本性空寂清淨句義,以顯菩薩所有句義。第二,“善非善”下,五對,通染淨法差別,本性空寂清淨句義,以顯菩薩所有句義。初中分三:初有九門,唯明世俗法所依,本性空寂清淨句義,以顯菩薩所有句義;次有十六門,唯明勝義法所從,本性空寂句義,以顯菩薩所有句義;後有一門,總明世俗及勝義法所依,本性空寂清淨句義,以顯菩薩所有句義。 + +初中九門,即分為九。此所牒中,有三句義,即三科法。 + +且如凡夫遍計所執“色蘊”等法,本來“空寂”。“空寂”即“清淨”,但有妄心,境都無故。依他門有,本性亦空。 + +#16 經自說言:色如聚沫,受喻浮泡,想同陽焰,行類芭蕉,識猶幻事。 + +#17 色如聚沫者,速增減故,水界生故,思飲食味、水所生故,不可捼接故。 + +非如泥團,可令轉變,造作餘物故。 + +又實非聚,似聚顯現,乃能發起有情解故。 + +> 註:應為“不可揉捼(ruó)故”。 + +#17 受喻浮泡者,三和合生,不久堅住,相似法故。 + +謂下有水,上有天雨,傍風所擊,有浮泡生,三和合為緣,生受亦爾。觸等心所法,略不說為緣。 + +> 註:基師此段釋文,說由觸風擊識雨,而生受之浮泡,此與《瑜伽》卷84略不同:言如地者:所謂諸根;彼生依故。言如雲者:謂諸境界。言如雨者:所謂諸識。 如雨擊者:所謂諸觸。如浮泡者:所謂諸受速疾起謝,不堅住故。 + +又速疾謝起,不堅住故。 + +想同陽焰者,飈動性故,無量種相變異生故,令於所緣發顛倒故,令其境界極顯了故,由此分別男女等相成差別故。 + +#17 行類芭蕉者,不堅實故,枝葉廣大,速即壞故。 + +如明眼人,持利刃,入於林,取端直芭蕉柱,截其根、披枝葉,彼於其中都無所獲,何況有實? + +謂聖弟子,以妙慧刃,於五趣林,取作、受、我見,名之為柱。截其根,斷我見故。委細簡擇,名披枝葉。唯有種種思等諸行,差別法故,何況有餘常恒之我?故如芭蕉。 + +> 註:應為“披折葉”。 + +#17 識猶幻事者,譬如幻士,住四衢道,造作四種諸幻化事。 + +言幻士者,喻隨福、非福、不動行識。 + +住四衢道者,住四識住。 + +四幻事者,謂象馬等。 + +此雖可見,而無真實象馬等事。如是應知,隨福等識,住四識住,雖有作、受,我等之相,然無真實我性可得。 + +又識於中,隱其實性,外現異相,猶如幻像。 + +故知依他,亦性“空寂”,幻法上無自然性故,名之為空。圓成之體,實理而說,非空不空。由依二空門,方可顯證,亦可名空。故三種法,皆名為空。上護法解。 + +清辨釋言:又世俗妄說,色等可有;勝義入真,色等皆無。故本“空寂”,如第二月,妄有即真無,故本皆“空寂”。 + +下諸“空寂”,皆準此知,並應二解。 + +但解其法,不解理也。詮“空寂”句,所顯“空寂”,即是菩薩能詮之“句”所詮之“義”,依此、證此,名“菩薩”。 + +故集聚荷擔是蘊義,出生是處義,因性、族類是界義。變礙名色,領納名受,取像名想,造作名行,了別名識。 + +以心所中,受、想二法,資助心強;修禪無色,此二用勝,外道說為生死因,故別名為蘊。蘊但攝有為,無為非聚故。 + +出生名處,根不壞、境現前,能生於識,故根及境,別得處名。所生之識,不開為處。此亦通無為,為境生識故。六根有取各自境用,故立別名。六境為根各別取故,所以名別。性義、因義,名之為界,故開六識,立十八界,亦通無為。為破有情,識煩惱執,對上、中、下三根差別,說此三科。三科竝通有漏、無漏,餘義竝如諸論處說。 + +#14 4-5 六觸、六受 + +經曰:眼觸空寂,清淨句義,是菩薩句義。耳、鼻、舌、身、意觸空寂,清淨句義,是菩薩句義。 + +眼觸為緣所生諸受空寂,清淨句義,是菩薩句義。耳、鼻、舌、身、意觸為緣,所生諸受空寂,清淨句義,是菩薩句義。 + +#15 讚曰:此中二句義。 + +於心所中,舉二為首,以有三位、五位別故。根等生時,近而勝故。能生心所,觸等強故。觸謂觸對,即是觸數。令心、心所同觸於境,名之為觸。觸由根、境、識,三和生,能和三種,故諸經論,名為三和。由根變異,引觸起時,勝彼識、境,故名眼觸乃至意觸。由觸分別,領似三和,生心所用,諸心所中,故先說觸。受能同觸,五、三位別,近而相順,但說六觸為緣所生六種受數,不說一切。 + +又此二法,說為有支,說為異熟,故同蘊等。 + +說其“空寂”,所有“句義”,即是“菩薩”所有“句義”。不說自餘諸心所等。 + +#14 6 六界 + +經曰:地界空寂,清淨句義,是菩薩句義。水、火、風、空、識界空寂,清淨句義,是菩薩句義。 + +#15 讚曰: + +#16 此一法門,即是六界,成眾生者。 + +“四大”可知。 + +所言“空”者,即內身中空界之色。 + +“識”謂八識。 + +#16 此中但說三種根本: + +謂色所依,但說“四大”; + +行動所依,說“空”界,內身無此空界之色,不得動故; + +心所所依,但說於“識”。 + +#16 論其根本,故但說六根: + +> 註:“六根”應為“六界”。 + +成積聚形,故說“四大”; + +能起分別,故說於“識”; + +能有往來轉動等業,故說“空寂”。 + +不增不減。 + +#14 7 四諦 + +經曰:苦聖諦空寂,清淨句義,是菩薩句義。集、滅、道聖諦空寂,清淨句義,是菩薩句義。 + +#15 讚曰: + +此一法門,即是四諦。為二乘者差別安立,故名世俗。 + +#16 “苦”者,逼迫,不安穩、不可樂義,即有漏法,一切皆是。一切有情及器世界,並是苦故。煩惱、業、苦,並是苦故。 + +> 註:卍續藏:(“煩惱、業、苦”)“苦”一作“果”。 + +#17 果苦有三,或說有八:三謂行苦、苦苦、壞苦。八謂生苦、老苦、病苦、死苦、怨憎會苦、愛別離苦、求不得苦、略攝一切五取蘊苦。 + +生苦有二因:一,眾苦所逼;二,餘苦所依。謂於母胎生熟藏間,具受種種極不淨物所逼迫苦;正出胎時,復受支體逼切大苦;由有生故,老、病、死等眾苦隨逐。 + +老苦者,時分變壞苦故云云。 + +病苦者,大種變異苦故云云。 + +死苦者,壽命變壞苦故云云。 + +餘苦可解,各各應知,以古來說。 + +“諦”者,實義。苦真是苦,更無異苦,故名為“諦”。凡夫不知,唯聖所識。聖者之諦,故名“聖諦”。 + +“集”者,因義。謂煩惱、業,能集生苦故。“苦”攝有漏,“集”除苦果。 + +“滅”者,擇滅,即是涅槃。此有四種。 + +“道”謂聖道,通運路逕所由之義。即諸聖行,無漏有為。 + +初二有漏,後二無漏。此四妙理,體一真如。由依詮別,以分四種,故性“清淨”。 + +#14 8 四緣 + +經曰:因緣空寂,清淨句義,是菩薩句義。等無間緣、所緣緣、增上緣空寂,清淨句義。是菩薩句義。 + +#15 讚曰: + +親能辨體,生長諸法,名之為“因”。以因為緣,故曰“因緣”。“緣”謂緣藉,四緣通稱。即除佛果,因位七識,見、相分等,能熏種者,名曰“因緣”。種通諸位,自類相生及生現者,皆名“因緣”,皆親辨體,生自果故。 + +#16 “等無間”者,即心、心所,各自識聚,前望於後,為無間緣。 + +#17 “等”有二義: + +一,相似名“等”,且心所中,前亦一受,後亦一受,以體“等”故,名曰相似。 + +二,力齊等,名之為“等”。 + +或前念一法,“等”與後一法為無間緣;前念一切,“等”能與後一法為無間緣,故名“等無間緣”。是開道義。如前念眼識,與後自眼識聚,為無間緣,非與耳等。或與並生,多少不等故。 + +#16 “所緣緣”者, + +境有體法,能生心等,名之為“緣”。 + +心等之上,帶彼境相,說所取境,名為“所緣”。 + +具二支義,有所簡別。 + +“增上緣”者,是威勢義。與彼威勢,令生等故。 + +等無間緣,體唯心、心所。其所緣緣,通一切法。此二緣,唯待心、心所為果故。因緣之體,通一切有為,其果亦爾。其增上緣,體、果俱通一切法盡。 + +> 註:四緣體、果之說,未見他處。【?】 + +#14 9 十二緣起 + +經曰:無明空寂,清淨句義,是菩薩句義。行、識、名色、六處、觸、受、愛、取、有、生老死空寂,清淨句義,是菩薩句義。 + +#15 讚曰: + +#16 此十二緣起中, + +“無明”以癡為體,發業之惑。 + +“行”通三業,非福及福、不動之業。此二皆通現行、種子。 + +“識”唯本識。 + +“名色”通五蘊。 + +“六處”唯六根。 + +“觸”、“受”二法,唯異熟性,當體為體。“識”支以下,五唯種子。 + +“愛”唯貪愛以為自體。 + +“取”通一切煩惱為性。此二亦通現行、種子。 + +“有”體合用六支為體。謂“愛”、“取”二,潤前“行”等已下六支,當果現起,後有果生,說名為“有”。“有”唯是種子。 + +從中有位至本有位,未衰變來,所有五蘊,皆名“生”支。 + +從衰變位乃至命終,所有五蘊,名為“老死”。 + +謂由“無明”,造善、惡“行”,熏於本“識”,與“識”等五,相感屬已,“愛”、“取”合潤。此前六支,當果可生,名之為“有”。趣相生起,名之為“生”。衰變命終,名之為“死”。十二有支,體唯有漏。如《唯識》等,廣說其相。 + +#13 2 唯明勝義法所由,本性空寂清淨句義,以顯菩薩所有句義(十六門) + +#14 1 明行(六門) + +#15 1 總六度行(一門) + +經曰:布施波羅蜜多空寂,清淨句義,是菩薩句義。淨戒、安忍、精進、靜慮、般若波羅蜜多空寂,清淨句義,是菩薩句義。 + +#16 讚曰: + +自下第二有十六門,明勝義法所由,本性空寂句義,以顯菩薩所有句義。於中有三:一,明行有六門;二,明位有二門;三,明德有八門。行中有三:一,總六度行;二,所觀理行;三,別修起行。此即初也。 + +施有三種,謂財、法、無畏。此以無貪及彼所起二業為性。 + +戒有三種,謂律儀、攝善、饒益有情。此以受菩薩戒時,三業為性。 + +安忍有三種,謂安受苦、耐怨害、諦察法。此中如次,以無瞋、精進、審慧,及彼所起三業為性。 + +精進有三,謂被甲、攝善、利樂。精進此三,以勤及彼所起三業為體。 + +靜慮有三,謂安住、引發、辨事。靜慮此三,但以等持為性。 + +般若有三,謂加行、正智、後智。般若此三,皆以擇法為性。 + +此前所說,但說自性。若并眷屬,一一皆以一切俱行功德為性。 + +#17 何故此六,名到彼岸?由七最勝所攝受故: + +一,安住勝,要有菩薩性。 + +二,依止勝,要大菩提心。 + +三,意樂勝,要悲愍有情。 + +四,事業勝,要具行一切。 + +五,巧便勝,要無相智所攝。 + +六,迴向勝,要迴向菩提。 + +七,清淨勝,要不為二障雜。 + +由具七義,名到彼岸,不爾即非。 + +#17 由斯施等,皆有四句: + +一,施非波羅蜜,不具七勝故。 + +二,波羅蜜非施,見他行施,自具七故。 + +三,亦施亦波羅蜜,自行施,復具七故。 + +四,非施非波羅蜜,自不行施,見他行施不生隨喜故。 + +#17 修此六度,有其五種:一,依止任持修;二,依止作意修;三,依止意樂修;四,依止方便修;五,依止自在修。 + +#18 第一,依止任持修有四: + +一,依因修。謂依種性力修習正行。 + +二,依止報修。謂由勝身修習正行。 + +三,依止願修。謂由本願修習正行。 + +四,依簡擇慧修習正行。 + +#18 第二,依止作意修亦有四: + +一,依勝解,於度一切相應契經,起增上解。 + +二,依愛味,於度見勝功德,深生愛味。 + +三,依隨喜,於一切有情所行六度,深生隨喜。 + +四,依意樂修,於自他當來勝品六度,深生願樂。 + +#18 第三,依止意樂修有六: + +一,無厭意樂,如施無厭者。謂菩薩於一剎那,以三千大千世界七寶唯布施一有情,又以殑伽沙等身命布施,如是布施住殑伽沙劫,如於一有情,如是乃至於一切有情界,如是施時,皆令於無上菩提速得成就。菩薩爾時,猶不厭足,名施無厭意樂。 + +二,施廣大意樂。菩薩如是展轉相續,無一剎那有退有斷,乃至究竟坐菩提座,名施廣大意樂。 + +三,歡喜意樂。菩薩如是行施之時,於來求者,生大歡喜,來求之者,雖生歡喜,不如菩薩,名施歡喜意樂。 + +四,恩德意樂。菩薩如是行施之時,觀彼求者,於我已身,有大恩德,不見已身,於彼有恩。由資助我無上菩提故,名施恩德意樂。 + +五,無染意樂。菩薩如是雖於無量諸有情所,興大施福,而不祈報恩當來異熟,名施無染意樂。 + +六,善好意樂。菩薩如是以所修行廣大施聚所得異熟,施諸有情,不自為己。又以此福,共諸有情迴向無上正等菩提,名施善好意樂。 + +廣說餘五度,如《對法》等。 + +> 註:此處引《集論》之文字與《攝大乘》略異。 + +第四,依止方便修。謂由無分別智,觀察三輪皆清淨故。由此速成所修行故。 + +#18 第五,依止自在修,有三: + +一,身自在,謂自性受用身。 + +二,行自在,謂變化身等,示現諸有情一切種,同法行故。 + +三,說自在,謂說六度一切種差別,無有滯礙故。 + +#15 2 所觀理行(一門) + +經曰:真如空寂,清淨句義,是菩薩句義。法界、法性、不虛妄性、不變異性、平等性、離生性、法定、法住、實際、虛空界、不思議界空寂,清淨句義,是菩薩句義。 + +#16 讚曰: + +第二所觀理行,此前應說二十空等,以空即“空寂”,名字既同,不應更立,所以不說。 + +#17 此“真如”等,體雖即“空寂”之所顯,名字既別,所以別立。此中八名,體一“真如”。 + +“真”謂真實,顯非虛妄。“如”謂如常,表無變異。即是湛然不虛妄義,遮妄顯常,名“真如”也。 + +“法界”者,三乘妙法所依相故。 + +“法性”者,一切諸法真實本體。 + +“不虛妄性”者,離妄顛倒,不妄性也。 + +“不變異性”者,謂一切時,不改轉故。 + +“平等性”者,遍諸法故。 + +“離生性”者,“生”謂生梗,如生食等,此即虛妄有漏諸法。“離”此生梗、堅強之性。又“生”者生滅,離生滅體,名“離生性”。 + +“實際”者,無倒所緣故。“實”謂無顛倒,此處究竟,故名為“際”。過無我性,更無所求故。 + +此中文略,但舉八名。《第一會》中有十二名,《對法》等中有其六名,體但一如,名有差別。約其所治,隨其詮別,故成多種。 + +> 註:此處經文有十二名,闕釋“法定、法住、實際、虛空界、不思議界”。【?】 + +#15 3 別修起行(四門) + +#16 1 禪、無色行 + +經曰:四靜慮空寂,清淨句義,是菩薩句義。 + +四無量、四無色定空寂,清淨句義,是菩薩句義。 + +#17 讚曰: + +#18 自下第三,別修起行。於中有四:一,禪、無色行;二,菩提分行;三,解脫門行;四,別對治行。此即初也。 + +#19 “靜”其心,專一“慮”,定慧齊均,功德殊勝,得“靜慮”名。 + +離欲惡不善法,有尋有伺,離生喜樂,初靜慮。 + +第二,離尋、伺,喜靜慮。 + +第三,已離喜,樂靜慮。 + +第四,已離尋、伺、喜、樂,捨念清淨靜慮。 + +此等總說初、二、三、四,以為名別,更無別名。唯在色地,通有、無漏。 + +#19 “四無量”者,慈、悲、喜、捨。 + +與樂名慈,無瞋為性。 + +拔苦名悲,不害為性。 + +不離樂為喜,不嫉善根為自性。 + +令利益為捨,捨善根為性。 + +通有、無漏,遍在四禪,境行俱寬,故名無量。 + +四無色者,謂空、識無邊,無所有處,非想非非想處。此通有、無漏,三乘俱起。 + +#16 2 菩提分行 + +經曰:四念住空寂,清淨句義,是菩薩句義。四正斷、四神足、五根、五力、七等覺支、八聖道支空寂,清淨句義。是菩薩句義。 + +#17 讚曰: + +此即第二,菩提分行。 + +“四念住”者,身、受、心、法,以慧為性。慧由相應之念,住此四境之中,名為“念住”。 + +#18 “四正斷”者: + +一,律儀斷。謂已生惡法,為令斷故,生欲策勵。 + +二,斷斷。謂未生惡法,為令不生故,生欲策勵。 + +三,修習斷。謂未生善法,為令生故,乃至策心持心。 + +四,防護斷。謂於已生善法為欲令住,乃至策心持心。 + +此四種以精進為體,策發於慧,自能漸伏,名為“正斷”。 + +“四神足”者:欲、勤、心、觀。由此四故,引生於定故,四神足以定為體。運轉最勝,自在為“神”。由定能得、能證於此,故名“神足”。 + +“五根”者,信、進、念、定、慧。生出世法,此為上首,故名為“根”。此五於諸出世法中,深生勝解,清信難伏,說名為“力”,天魔外道及沙門等,不能伏故。此五隨名,各自為體。 + +“七等覺支“者,謂擇法、精進、喜、輕安、定、捨及念為七。此七唯無漏,在見道位起。“覺”者擇法。“支”謂支分。擇法覺是覺亦覺支,餘覺支而非覺,如其自名,即為其體。此七能遍觀諸法,故立以“等”名,“等”是遍義。 + +“八聖道支”者,正見、正思惟、正精進、正語、正業,及正命、正念及正定。語、業、命三,戒蘊所攝。餘體如名。修道位起。諸聖有學,由八支攝行迹正道,能無餘斷一切煩惱,能於解脫究竟作證,是故此八,名“聖道支”。 + +#18 合此三十七種道品,總以十一法而為自體: + +一,慧。即四念住慧,根、力,擇法覺,正見支。 + +二,精進。即四正斷,精進根、力,精進覺支,正精進。 + +三,定。即四神足,定根、力,定覺支,正定。 + +四,信。即信根、力。 + +五,念。即念根、力,念覺支,正念。 + +六,欲。即四神足。 + +七,喜受。即喜覺支。 + +八,輕安。即安覺支。 + +九,捨。即捨覺支。 + +十,尋即正思惟,實體即慧。 + +十一色,即無表戒,正語、業、命。 + +此中假實、修法、廢立、開合、學攝、體支對辨,並如別鈔。 + +#16 3 解脫門行 + +經曰:空解脫門空寂,清淨句義,是菩薩句義。無相、無願解脫門空寂,清淨句義,是菩薩句義。 + +> 註:大正藏作“地相無願解脫門”,應為“無相無願解脫門”。【?】 + +#17 讚曰: + +自下第三,解脫門行。 + +觀空無我,名之為“空”。 + +觀滅離相,名為“無相”。 + +觀苦、集、道,諸有為法,不生願求,名為“無願”。 + +#18 由此三種能入諦理,名之為“門”。體是無漏法,復能證解脫,故名“解脫”。 + +若但言空、無相、無願,即通三慧,定之與散,通有、無漏。 + +若言三昧,即唯修慧,唯定,非散,通有、無漏。 + +言解脫門,即唯修慧,唯定,非散,不通有漏。 + +此三或總或別,緣諦如餘處說。 + +又除見說空,離愛說無願,離無明說無相。 + +#16 4 別對治行 + +經曰:八解脫空寂,清淨句義,是菩薩句義。八勝處、九次第定、十遍處空寂,清淨句義,是菩薩句義。 + +#17 述曰: + +> 註:此處由“讚”改“述”。【?】 + +自下第四,別對治行。 + +#18 “八解脫”者: + +一,內有色觀諸色; + +二,內無色觀諸色; + +三,淨解脫身作證; + +四,空處; + +五,識處; + +六,無所有處; + +七,非想非非想處; + +八,滅盡解脫。 + +謂諸聖者,能順無漏,能離諸障,名為“解脫”。 + +#18 “八勝處”者: + +一,內有色觀外色少,若好若惡若劣若勝,於彼諸色,勝知勝見,得如實相。 + +二,內有色觀外色多,餘如前說,下準此知。 + +三,內無色想,觀外色少。 + +四,內無色想,觀外色多。 + +五,內無色想,觀外諸色,若青、青顯、青現、青光。 + +> 註:參考《大毗婆沙論》卷85。 + +六,內無色想,觀外色黃。 + +七,內無色想,觀外色赤。 + +八,內無色想,觀外色白。 + +勝伏所緣,名為“勝處”。 + +“九次第定”者,謂四靜慮、四無色及滅盡定。麁細漸次,上下次故。 + +“十遍處”者,謂地、水、火、風、青、黃、赤、白,空、識無邊處。觀遍一切,其量廣大,名為“遍處”。 + +此等體性、增減、所由無量義門,如別處說。 + +#14 2 明位(二門) + +#15 1 明大乘位 + +經曰:極喜地空寂,清淨句義,是菩薩句義。 + +離垢地、發光地、焰慧地、極難勝地、現前地、遠行地、不動地、法雲地、善慧地空寂,清淨句義,是菩薩句義。 + +> 註:大正藏作“雲無法”,應為“法雲地”。【?】 + +#16 讚曰: + +自下第二,明勝義位。於中有二:初,大乘位;後,三乘位。此即初也。 + +#17 但明因中菩薩十地: + +一,極喜地。初獲聖性,具證二空,能益自他,生大喜故。 + +二,離垢地。具淨尸羅,遠離能起微細毀犯煩惱垢故。 + +三,發光地。成就勝定,大法總持,能發無邊妙慧光故。 + +四,焰慧地。安住最勝菩提分法,燒煩惱薪,慧焰增故。 + +五,極難勝地。真俗兩智,行相互違,合令相應,極難勝故。 + +六,現前地。住緣起智,引無分別最勝般若,令現前故。 + +七,遠行地。至無相住功用後邊,出過世間二乘道故。 + +八,不動地。無分別智,任運相續,相用煩惱不能動故。 + +九,善慧地。成就微妙四無礙解,能遍十方善說法故。 + +十,法雲地。大法智雲,含眾德水,弊如空麁重,充滿法身故。 + +此“地”總以有為、無為一切功德,以為自性。與所修行,為勝依持,令得生長,故名為“地”。 + +#15 2 明三乘位 + +經曰:淨觀地空寂,清淨句義,是菩薩句義。 + +種性地、第八地、具見地、薄地、離欲地、已辦地、獨覺地、菩薩地、如來地空寂,清淨句義,是菩薩句義。 + +#16 讚曰: + +#17 此即第二,明三乘位。 + +#18 初二地中,略有二釋。 + +#19 一云: + +“淨觀地”,在解脫分位,及前三善根。 + +“種性地”,唯在世第一法。故《婆娑》云:有說種性地法,亦可說有退。 + +#19 二解云: + +“淨觀地”,唯在解脫分位,未為諦觀。“種性”未定,但淨修心,觀身、受等,故名“淨觀”。 + +“種性地”,通在四善根。煗等位中,“種性”方定,不可轉故。 + +“第八地”,謂預流向,從阿羅漢向前數故,即住見道前十五心。 + +“具見地”者,謂預流果,此位具足十六心故。 + +“薄地”謂一來,於欲界九品惑,已斷六品故。 + +“離欲地”謂不還,決定全離欲界惑故。 + +“已辦地”者,謂阿羅漢,我生已盡,所作已辦故。 + +餘之三地,隨名釋義。 + +前唯一乘,今通師弟,長短作說,故十地別。 + +#14 3 明德(八門) + +#15 1 引生諸德 + +經曰:一切陀羅尼門空寂,清淨句義,是菩薩句義。 + +一切三摩地門空寂,清淨句義,是菩薩句義。 + +#16 讚曰: + +自下第三,明所成德,依行入位,成此德故。於中有八德,此即第一,引生諸德:一是總持門,二是等持門。前此經序,菩薩德中,已略解訖。由此二種,引生諸德故。 + +#15 2 觀照化生德 + +經曰:五眼空寂,清淨句義,是菩薩句義。 + +六神通空寂,清淨句義,是菩薩句義。 + +#16 讚曰: + +此即第二,觀照化生德。 + +“五眼”者,謂肉、天、慧、法及佛眼。照了導義,名之為“眼”。 + +#17 “六神通”者: + +一,神境通; + +二,天耳通; + +三,心差別通; + +四,宿住隨念通; + +五,死生通; + +六,漏盡通。 + +運轉自在名“神”,事無障擁名“通”。 + +此二體性,如經廣說,及如《瑜伽論》第五十四、六十九,《對法論》中第十四卷等文解釋。 + +#15 3 降服不共德 + +經曰:如來十力空寂,清淨句義,是菩薩句義。 + +四無所畏、四無礙解、大慈大悲大喜大捨、十八佛不共法空寂,清淨句義,是菩薩句義。 + +#16 讚曰: + +此即第三,降伏不共德。 + +#17 十力者: + +一,處非處智力。 + +二,自業智力。 + +三,靜慮、解脫、等持、等至智力。 + +四,根勝劣智力。 + +五,種種勝解智力。 + +六,種種界智力。 + +七,遍趣行智力。 + +八,宿住隨念智力。 + +九,死生智力。 + +十,漏盡智力。 + +由與利生功德相應,畢竟勝伏一切魔怨,大威力故,說名為“力”。總以信等五根為性。 + +#17 “四無畏”者: + +一,正等覺無畏; + +二,漏盡無畏; + +三,障法無畏; + +四,出苦道無畏。 + +於大眾中,正師子吼,沙門魔梵,無能難者,故名“無畏”。 + +#17 “四無礙解”者: + +一,法無礙解; + +二,義無礙解; + +三,訓詞無礙解; + +四,辯才無礙解。 + +通達無礙,名“無礙解”。 + +#17 “大慈大悲大喜大捨”者,遍緣三界,周及四生,行境寬廣,故名為“大”。“慈、悲”等相,如前已說。 + +四無量,境狹,在欲、色,通在三乘,假、實觀攝。 + +此唯佛具,境、行寬遍,通在三界,唯是實觀。 + +#17 “十八佛不共法”者: + +一,身無誤失,越杌等。 + +> 註:卍續藏:(“越杌”)“杌”一作“坑”。 +按:《瑜伽師地論略纂》卷13:「如阿羅漢齊足越坑。名為習氣。此乃現行。」(CBETA 2020.Q1, T43, no. 1829, p. 173a15-16)​ + +二,無卒暴揚聲等。 + +三,無忘失念久所作等。 + +四,無不定心,恒在定故。 + +五,無種種相,生死、涅槃等。 + +六,無不擇捨利樂等。此上六種,由所知障有此習故。 + +七者,欲無退。 + +八,精進無退。 + +九,念無退。 + +十,定無退。 + +十一,慧無退。 + +十二,解脫無退。此上六種,依所知障修斷事中,而無退減。 + +十三,身業智為前導。 + +十四,語業智為前導。 + +十五,意業智為前導。 + +十六,知過去。 + +十七,知未來。 + +十八,知現在,無差無礙。此上六種,亦由有彼所知障習。 + +此十八法,唯佛所有,非二乘等,故名“不共”。 + +餘體義門,廢立、增減,如《瑜伽》等,廣說其相。然此大經,亦具宣說,應勘異同。 + +#15 4 相好殊異德 + +經曰:三十二相空寂,清淨句義,是菩薩句義。 + +八十隨好空寂,清淨句義,是菩薩句義。 + +#16 讚曰: + +#17 此即第四,相好殊異德。今依《大般若波羅蜜多經》卷第三百八十一,佛言: + +> 註:此下2831字,參考:http://cbetaonline.cn/zh/T06n0220_p0967b23 + +#18 善現!云何如來、應、正等覺,三十二大士相? + +善現!世尊足下有平滿相,妙善安住猶如奩底,地雖高下,隨足所蹈皆悉坦然無不等觸,是為第一。 + +世尊足下千輻輪文,輞轂眾相無不圓滿,是為第二。 + +世尊手足皆悉柔軟,如覩羅綿勝過一切,是為第三。 + +世尊手足一一指間,猶如鴈王咸有鞔網,金色交絡文同綺畫,是為第四。 + +世尊手足所有諸指,圓滿纖長甚可愛樂,是為第五。 + +世尊足跟廣長圓滿,與趺相稱勝餘有情,是為第六。 + +世尊足趺脩高充滿,柔軟妙好與跟相稱,是為第七。 + +世尊雙腨漸次纖圓,如瑿泥[A2]耶仙鹿王腨,是為第八。 + +世尊雙臂脩直𦟛圓,如象王鼻平立摩膝,是為第九。 + +世尊陰相勢峯藏密,其猶龍馬亦如象王,是為第十。 + +世尊毛孔各一毛生,柔潤紺青右旋宛轉,是第十一。 + +世尊髮毛端皆上靡,右旋宛轉柔潤紺青,嚴金色身甚可愛樂,是第十二。 + +世尊身皮細薄潤滑,塵垢水等皆所不住,是第十三。 + +世尊身皮皆真金色,光潔晃曜如妙金臺,眾寶莊嚴眾所樂見,是第十四。 + +世尊兩足、二手掌中、頸及雙肩七處充滿,是第十五。 + +世尊肩項圓滿殊妙,是第十六。 + +世尊髆腋悉皆充實,是第十七。 + +世尊容儀圓滿端直,是第十八。 + +世尊身相脩廣端嚴,是第十九。 + +世尊體相縱廣量等,周匝圓滿如諾瞿陀,是第二十。 + +世尊頷臆并身上半,威容廣大如師子王,是二十一。 + +世尊常光面各一尋,是二十二。 + +世尊齒相四十齊平,淨密根深白[3]逾珂雪,是二十三。 + +世尊四牙鮮白鋒利,是二十四。 + +世尊常得味中上味,喉脈直故能引身中諸支節脈所有上味,風熱痰病不能為雜,由彼不雜脈離沈浮、延縮、壞損、[A3]擁曲等過,能正吞咽津液通流故,身心適悅常得上味,是二十五。 + +世尊舌相薄淨廣長,能覆面輪至耳髮際,是二十六。 + +世尊梵音詞韻弘雅,隨眾多少無不等聞,其聲洪震猶如天鼓,發言婉約如頻迦音,是二十七。 + +世尊眼睫猶若牛王,紺青齊整不相雜亂,是二十八。 + +世尊眼睛紺青鮮白,[1]紅環間飾[2]皎潔分明,是二十九。 + +世尊面輪其猶滿月,眉相[*]皎淨如天帝弓,是第三十。 + +世尊眉間有白毫相,右旋柔軟如覩羅綿,鮮白光淨[*]逾珂雪等,是三十一。 + +世尊頂上烏瑟膩沙,高顯周圓猶如天蓋,是三十二。 + +善現!是名三十二大士相。 + +#18 善現!云何如來、應、正等覺,八十隨好? + +善現!世尊指[3]爪狹長薄潤,光潔鮮淨如花赤銅,是為第一。 + +世尊手足指圓纖長,𦟛直柔軟節骨不現,是為第二。 + +世尊手足各等無差,於諸指間悉皆充密,是為第三。 + +世尊手足圓滿如意,軟淨光澤色如蓮華,是為第四。 + +世尊筋脈盤結堅固深隱不現,是為第五。 + +世尊兩踝俱隱不現,是為第六。 + +世尊行步直進庠審如龍象王,是為第七。 + +世尊行步威容齊肅如師子王,是為第八。 + +世尊行步安平庠序,不過不減猶如牛王,是為第九。 + +世尊行步進止儀雅猶如鵝王,是為第十。 + +世尊迴顧必皆右旋,如龍象王舉身隨轉,是第十一。 + +世尊支節漸次𦟛圓妙善安布,是第十二。 + +世尊骨節交結無隙猶若龍[4]盤,是第十三。 + +世尊膝輪妙善安布堅固圓滿,是第十四。 + +世尊隱處其文妙好,威勢具足圓滿清淨,是第十五。 + +世尊身支潤滑柔軟,光悅鮮淨塵垢不著,是第十六。 + +世尊身容敦肅無畏常不怯弱,是第十七。 + +世尊身支堅固稠密善相屬著,是第十八。 + +世尊身支安定敦重,曾不掉動圓滿無壞,是第十九。 + +世尊身相猶如仙王,周匝端嚴光淨離翳,是第二十。 + +世尊身有周匝圓光,於行等時恒自照曜,是二十一。 + +世尊腹形方正無[A4]欠,柔軟不現眾相莊嚴,是二十二。 + +世尊䐡深右旋,圓妙清淨光澤,是二十三。 + +世尊䐡厚不窊不凸周匝妙好,是二十四。 + +世尊皮膚遠離疥癬,亦無黶點、疣贅等過,是二十五。 + +世尊手掌充滿柔軟,足下安平,是二十六。 + +世尊手文深長明直潤澤不斷,是二十七。 + +世尊脣色光潤丹暉,如頻婆果上下相稱,是二十八。 + +世尊面門不長不短、不大不小如量端嚴,是二十九。 + +世尊舌相軟薄廣長如赤銅色,是第三十。 + +世尊發聲威震深遠,如象王吼明朗清徹,是三十一。 + +世尊音韻美妙具足如深谷響,是三十二。 + +世尊鼻高脩而且直,其孔不現,是三十三。 + +世尊諸齒方整鮮白,是三十四。 + +世尊諸牙圓白光潔漸次鋒利,是三十五。 + +世尊眼淨青白分明,是三十六。 + +世尊眼相脩廣,譬如青蓮華葉甚可愛樂,是三十七。 + +世尊眼睫上下齊整稠密不白,是三十八。 + +世尊雙眉長而不白緻而細軟,是三十九。 + +世尊雙眉綺靡順次紺瑠璃色,是第四十。 + +世尊雙眉高顯光潤形如初月,是四十一。 + +世尊耳厚廣大脩長輪埵成就,是四十二。 + +世尊兩耳綺麗齊平離眾過失,是四十三。 + +世尊容儀能令見者無損無[5]染皆生愛敬,是四十四。 + +世尊額廣圓滿平正形相殊妙,是四十五。 + +世尊身分上半圓滿,如師子王威嚴無對,是四十六。 + +世尊首髮脩長紺青稠密不白,是四十七。 + +世尊首髮香潔細軟潤澤旋轉,是四十八。 + +世尊首髮齊整無亂亦不交雜,是四十九。 + +世尊首髮堅固不斷永無[6]褫落,是第五十。 + +世尊首髮光滑殊妙塵垢不著,是五十一。 + +世尊身分堅固充實逾那羅延,是五十二。 + +世尊身體長大端直,是五十三。 + +世尊諸竅清淨圓好,是五十四。 + +世尊身支勢力殊勝無與等者,是五十五。 + +世尊身相眾所樂觀[7]甞無厭足,是五十六。 + +世尊面輪脩廣得所,[*]皎潔光淨如秋滿月,是五十七。 + +世尊顏貌舒泰光顯,[A5]含笑先言唯向不背,是五十八。 + +世尊面貌光澤熙怡,遠離[8]顰蹙青赤等過,是五十九。 + +世尊身皮清淨無垢常無臭穢,是第六十。 + +世尊所有諸毛孔中常出如意微妙之香,是六十一。 + +世尊面門常出最上殊勝之香,是六十二。 + +世尊首相周圓妙好,如末達那亦猶天蓋,是六十三。 + +世尊身毛紺青光淨,如孔雀項紅暉綺飾色類赤銅,是六十四。 + +世尊法音隨眾大小不增不減應理無差,是六十五。 + +世尊[9]頂相無能見者,是六十六。 + +世尊手足指[10]約分明,莊嚴妙好如赤銅色,是六十七。 + +世尊行時其足去地如四指量而現印文,是六十八。 + +世尊自持不待他衛,身無傾動亦不逶迤,是六十九。 + +世尊威德遠震一切,惡心見喜恐怖見安,是第七十。 + +世尊音聲不高不下,隨眾生意和悅與言,是七十一。 + +世尊能隨諸有情類言音意樂而為說法,是七十二。 + +世尊一音演說正法,隨有情類各令得解,是七十三。 + +世尊說法咸依次第,必有因緣言無不善,是七十四。 + +世尊等觀諸有情類,讚善毀惡而無愛憎,是七十五。 + +世尊所為先觀後作,軌範具足令識善淨,是七十六。 + +世尊相好,一切有情無能觀盡,是七十七。 + +世尊[*]頂骨堅實圓滿,是七十八。 + +世尊顏容常少不老好巡舊處,是七十九。 + +世尊手足及胸臆前俱有吉祥喜旋德相,文同綺畫色類朱丹,是第八十。 + +善現!是名八十隨好。 + +善現!如來、應、正等覺成就如是諸相好故,身光任運能照三千大千世界,無不遍滿,若作意時,即能普照無量無邊無數世界。然為憐愍諸有情故,攝光常照面各一尋。若縱身光,即日月等所有光明皆常不現,諸有情類便不能知晝夜、半月、日時、歲數,所作事業有不得成。 + +佛聲任運能遍三千大千世界,若作意時,即能遍滿無量無邊無數世界,然為利樂諸有情故,聲隨眾量不減不增。 + +善現!如是功德勝利,我先菩薩位,修行般若波羅蜜多時已能成辦,故今相好圓滿莊嚴,一切有情見者歡喜,皆獲殊勝利益安樂。 + +如是,善現!菩薩摩訶薩行深般若波羅蜜多時,能以財、法二種布施攝諸有情,是為甚奇希有之法。 + +#15 5 常記平等德 + +經曰:無忘失法空寂,清淨句義,是菩薩句義。 + +恒住捨性空寂,清淨句義,是菩薩句義。 + +#16 讚曰: + +#17 此即第五,常記平等德。 + +謂諸如來,常隨記念,若事、若處、若如、若時,有所為作,皆隨正念。普於一切所作事業、普於一切方處差別、普於一切所作方便、普於一切時分差別,念無忘失,常住正念,名“無忘”念。 + +“恒住捨性”者,謂六恒住法,於六根門,不憂、不喜,但起正捨,平等觀境。 + +#15 6 覺了空有德 + +經曰:一切智空寂,清淨句義,是菩薩句義。道相智、一切相智空寂,清淨句義,是菩薩句義。 + +#16 讚曰: + +此即第六,覺了空有德。 + +觀空性智,名“一切智”,即正體智。 + +#17 觀有智中,分之為二:一觀無漏道,一觀所餘法相。 + +“相”者,相狀差別之相,即後得智。智觀無漏道,此名“道相智”。 + +觀所餘法,名“一切相智”。 + +一切種智,分為二故。 + +#15 7-8 因果位二滿總德 + +經曰:一切菩薩摩訶薩行空寂,清淨句義,是菩薩句義。 + +諸佛無上正等菩提空寂,清淨句義,是菩薩句義。 + +#16 讚曰: + +此即第七、第八二門,明因、果位,二滿總德。 + +此上所說諸功德等,若在因位,名菩薩行,若在果位,名佛菩提。 + +“菩提”,覺義。其菩提智及菩提斷,一切竝名為“菩提”,故有為、無為一切功德,隨應皆攝在此二故。 + +#13 3 總明世俗及勝義法所依,本性空寂清淨句義,以顯菩薩所有句義(一門) + +經曰:一切異生法空寂,清淨句義,是菩薩句義。 + +一切預流、一來、不還、阿羅漢、獨覺、菩薩、如來法空寂,清淨句義,是菩薩句義。 + +#14 讚曰: + +#15 此即第三,總明世俗、勝義法所依,本性空寂句義,以顯菩薩所有句義。 + +“一切異生”,唯在凡位,以業、煩惱輪迴六趣。異聖者生,故名“異生”。 + +“一切預流”等,竝是聖位。預流向、果,並名“預流”,無間漸超三界見道諸煩惱盡,十五心來皆名為向,第十六心名之為果,預聖流故,名為“預流”。 + +即此進向,三界見惑竝已斷盡,欲界修道前五品盡,名“一來向”,六品盡時,名之為“果”。此於欲界唯有一生,如從人中,得第二果,捨此身已,次生天中,天中沒已,來生人中,便得無學,故名“一來”。 + +即此進向,已斷見惑盡,欲界修惑斷七八品,名“不還向”。欲界修惑要皆斷盡,餘地不定,心不還生於欲界故,名為“不還”。 + +“阿羅漢”者,名之為應:一,應永害煩惱賊;二,應不後受分段生;三,應受妙供養。三界見惑並皆斷盡,初定已上所有修惑,或多或少,乃至非想八品解脫、九品無間已前,能斷盡者,名“阿羅漢向”。三界見修並俱斷盡,名“阿羅漢果”。以上果、向、無間、解脫,皆準此說。 + +此觀諦理,若思風動樹,悟十二緣起,不藉善友,自得菩提,或麟角、或眾出,名為“獨覺”。 + +十地已去,名為“菩薩”。 + +法雲地後,號曰“如來”。 + +此亦竝是初二十六門,明世俗、勝義法所依、所從,本性空寂清淨句義,以顯菩薩所有句義。 + +自下第二,五對十門,通染淨法差別,本性空寂清淨句義,以顯菩薩所有句義。 + +#12 2 通染淨法差別,本性空寂清淨句義,以顯菩薩所有句義(五門) + +經曰:一切善、非善法空寂,清淨句義,是菩薩句義。 + +一切有記無記法、有漏無漏法、有為無為法、世間出世間法空寂,清淨句義,是菩薩句義。 + +#13 讚曰: + +順理益物,名之為“善”,通有、無為。與此相違,名為“非善”,即不善、無記。 + +自體殊勝,及有當果可記別故,名之為“記”,即善、不善。與此相違,名為“無記”。 + +與煩惱漏相應、相雜、相隨增長,名為“有漏”。“漏”是流漏義。於六根門,當流泄故,毀之名“漏”。“無漏”翻此。 + +“為”之言作,亦名為生。有作,有生,名曰“有為”。與此相違,名曰“無為”。 + +體、用顯現,遷流名“世”。墮虛偽中,名之為“間”。與此相違,名“出世間”。 + +此等差別,所依本性真如空寂清淨句義,以顯菩薩所有句義。妄即真故,性即相故。 + +#10 2 後釋所由 + +#11 1 問 + +經曰:所以者何? + +#12 讚曰: + +大文第二,釋其所由。於中有二:初問,後釋。此初,問也。 + +謂此諸法清淨句義,即是菩薩所有句義,此義之“所以”者,“何”謂也? + +#11 2 釋 + +經曰:以一切法,自性空故,自性遠離。 + +#12 讚曰: + +下釋所由,如幻㝹等,世俗妄有,勝義知“空”,故說諸法空寂句義,即是菩薩所有句義。 + +> 註:“㝹”字不解,或作幻化【?】 + +故言諸法“自性空故”,釋上所由,為欲顯發般若尊勝,以“自性空”釋“遠離”等。由此諸法勝義“自性空”,無性故,“遠離”虛妄顛倒相也。 + +經曰:由遠離故,自性寂靜;由寂靜故,自性清淨;由清淨故,甚深般若波羅蜜多最勝甚深。 + +> 註:卍續藏:(“最勝甚深”)“甚深”經本作“清淨”。 + +#12 讚曰: + +生死囂煩,真如寂靜,故由“遠離”,“自性”亦“靜”。煩惱有染,空性清淨,故由“寂靜”,顯體“清淨”。 + +此意總顯:由一切法自性空故,空寂句義,即是菩薩所有句義。諸法既空,故“離”虛妄,離虛妄故,體無囂動,故“性寂靜”。既無囂動,自性空寂,故非染污,“自性清淨”。“自性清淨”者,顯般若“最勝”“清淨”。觀照悟此本性“清淨”,真相自體,本來“清淨”。故文字等“甚深”般若,“最勝”“清淨”。 + +清辨、護法,二釋隨應。 + +#10 3 結勸修學 + +> 註:此科判此前未言,根據文意補入。 + +經曰:如是般若波羅蜜多,當知即是菩薩句義,諸菩薩眾皆應修學。 + +#11 讚曰: + +此即第三,結勸修學。文字般若,即“菩薩句義”。求此、學此,名為“句”故。餘四般若,名“菩薩義”,“菩薩”之教,詮此四故。 + +既成“菩薩”,由此五種,五種即是“菩薩”能詮所詮之“義”。諸“菩薩”中,下位望進勝上位者,應勤精進,“學”此五種。 + +> 註:參考前文“顯經體性”五種般若。 + +#8 3 後敘世尊所說法門之德 + +#9 1 結前義以發經端 + +經曰:佛說如是菩薩句義,般若理趣清淨法已。 + +#10 讚曰: + +自下第三,敘佛所說法門之德。於中有二:初,結前義以發經端;後,正告陳所說之德。此即初也。 + +#9 2 正告陳所說之德 + +#10 1 明聞經深信受果 + +經曰:告金剛手菩薩等言:若有得聞此一切法甚深微妙般若理趣清淨法門,深信受者,乃至當坐妙菩提座,一切障、蓋皆不能染。謂煩惱障、業障、法障,雖多積集,而不能染。雖造種種極重惡業,而易消滅,不墮惡趣。 + +#11 讚曰: + +於中復二:初,明聞經深信受果;後,明受持精勤等果。 + +所以但告“金剛手”者,欲令有情取一切佛大珍寶故。 + +“聞”者,聽聞。“信”者,能順。“受”者,領納。殷重供養恭敬,名“深”。 + +#12 此意總顯:聽“聞”、“信”順、領納、殷重,始從今日乃至菩提,三“障”、五“蓋”皆不能染。 + +“蓋”謂五蓋,謂:貪欲於樂出家位;瞋恚於覺邪行位;惛沈、睡眠、掉舉、惡作及與疑蓋,於止、舉、捨位,能覆蔽心,名之為“蓋”。 + +#13 “障”者,障礙。障道不生,礙滅不證。此有三種,經文自列。 + +#14 若小乘中, + +以數行煩惱難可伏除,名“煩惱障”; + +以殺父等五種逆業,名為“業障”; + +合三惡趣、人趣北洲及無想天,名“異熟障”。 + +然不見說別有“法障”。 + +#14 然今此文, + +障解脫惑,名“煩惱障”。 + +《薩遮尼犍子經》以破塔壞寺等為五逆。《像法決疑經》說有七逆,然不離《尼犍子經》所說五種,名為“業障”。 + +言“法障”者,前異熟障,亦名“法障”,感遺法業,名為“法障”。或去世時,障礙正法、障他修定,不種聞法所有種子,所以今生於法不聞、不信、不悟,名為“法障”。 + +“集”者,作也。“積”者,積造。“雖多積集,而不能染”,由解法空,不樂生死。雖起“煩惱”、“重業”障法,以經威力,定不能染。“染”者,染污,令感苦果等,名為“染”也。 + +> 註:“障法”似應為“法障”。 + +又“雖造種種極重惡業”,由體性空,煩惱不堅,故“而易消滅”。“易消滅”故,“不墮惡趣”。業既易亡,惡果寧起?由法性空,諸法實理,體實遠鑒,三障故銷。 + +#10 2 明受持精勤等果 + +經曰:若能受持,日日讀、誦,精勤無間,如理思惟,彼於此生,定得一切法平等性金剛等持,於一切法皆得自在,恒受一切勝妙喜樂。 + +#11 讚曰: + +下明受持精勤等果。 + +言“受持”者,愛樂寶重,領“受”在心,“持”之不忘。如念子等,不忘在心。 + +“日日讀”者,披文。“誦”者,暗說。 + +“精”者,專精。“勤”者,勇勵身心。日夜六時,中無間隙,如其“理”趣,而諦“思惟”。 + +“彼於此生”,現報果也。“定得一切法平等性”,真如理也。 + +#12 “金剛等持”者, + +“等持”謂定。“金剛”者,喻。能破分別著相煩惱,謂觀“一切法平等性”真如空理所有“等持”,能破分別著相顛倒,故名“金剛”。 + +又真如理,名曰“金剛”,緣此之定,名“金剛等持”。 + +謂能“受持”,心心不忘,“日日讀誦”,“精勤”“思惟”如是法性,故得此定,當起勝慧,破諸分別顛倒著相。 + +今時證此“金剛等持”,聞、思位中相應定。 + +此中但有五種法行,謂聽聞、受持、披讀、諷誦、思惟五種,略無書寫、供養、施他、開演、修行五種,互影顯故。其實而論,行十法行,竝得此果,讀誦尚得,況能演說及修行等? + +“於一切法皆得自在”者,未體真空,理事皆擁。體真遠鑒,於理既通,故得“自在”。“自在”者,無礙義。 + +“恒受一切勝妙喜樂”者,於法著有憂有恚,於真會空,於俗體妄,既無憂恚,故得“恒”時“受”“妙喜樂”。既聞法性,真喜未曾得故。 + +經曰:當經十六大菩薩生,定得如來執金剛性,疾證無上正等菩提。 + +#11 讚曰: + +世尊自說,善修神足,能住一劫,或一劫餘。“菩薩十六大生”,即義當十六劫。 + +#12 “金剛性”者, + +謂真如性,能破裂生死過失,名為“金剛”。諸法之體,故名為“性”。“執”者,受義,親領受之,故名為“執”。即正體智,能緣於空。 + +或“執金剛”之“性”即是真如,經“十六生”得此真“性”故。 + +由於此經,行前法行,能超生死,不經僧祇,經十六劫,便入初地。以經所明實相之理,有大神驗,聞此法等,故超生死無邊劫量,既爾,故能疾證無上菩提。 + +> 註:卍續藏:(“無邊劫量”)“量”下一有“地前”二字。 + +此中所說,現在定得“金剛等持”,於法“自在”,“受”“勝”“喜樂”,後生之“障”,皆不能“染”,“不墮惡趣”,得“金剛性”,“疾”得“菩提”,經力故也。 + +般若理趣分疏卷第二終 + +#7 2 寂靜法性現等覺門 + +#8 1 初敘佛說法門之號 + +#9 1 初明所依如來之相 + +大般若波羅蜜多經般若理趣分述讚卷第三 + +大慈恩寺沙門 基撰 + +經曰:爾時,世尊復依遍照如來之相, + +#10 讚曰: + +上來第一,明實相境法。此下第二,寂靜法性現等覺門,即是觀照正智體境。前門真性,此明智相。於中亦三:初,敘佛說法門之號。此門有二:初,明所依如來之相;後,陳所說法門之名。此即初也。 + +前門明性,本體之法不說為“相”。下門是義,所以稱“相”。如來總體,別有多能。今依一義,即是“遍照如來”之相。“相”謂義相、相狀,非是分別有相之“相”。今於無相之法,後說義相之“相”,由一切智、一切種智,斷惑、遊觀二種智故。 + +> 註:卍續藏:(“義相”)“相”下一有“體相”二字。 + +於一切法皆能了知,名為“遍照”,“遍照”之智,即“如來”“相”。今依此體“相”,而說於法門,故名為“依”“遍照”之“相”。 + +#9 2 後陳所說法門之名 + +經曰:為諸菩薩宣說般若波羅蜜多一切如來寂靜法性其深理趣現等覺門。 + +#10 讚曰: + +此陳所說法門之名。“一切如來寂靜法性甚深理趣”者,即前所說實相妙法,是一切佛“寂靜法性甚深理趣”。 + +“現等覺門”者,“現”謂顯現,現前明了親證之義。“等”者,遍義。“覺”謂照義。 + +此意即顯:無分別智,明了親能遍照法性。“現等覺”體,即無分別智。“門”者,通由入趣之義。以能詮法等為由,為通入趣法性。無分別智,由此深教等為由,能入“現等覺”故。 + +#8 2 次敘佛說理趣之義 + +> 註:此科判此前未言,仿上一法門補入。下一科判“結歎”亦同。 + +#9 1 能證金剛智 + +> 註:此科判亦根據文意補入。 + +經曰:謂金剛平等性現等覺門,以大菩提,堅實難壞,如金剛故。 + +#10 讚曰: + +此下第二,有四門。第一,能斷生死,性堅實故,“金剛平等性”。 + +“現等覺”者,能破生死,“現等”之“覺”,猶如“金剛”。 + +以智所證法性、菩提,堅牢真實,難可破壞,若破“金剛”,故能證智,名“金剛”智。“金剛”般若,名曰“金剛”,義亦同此。 + +以所證如,性堅實故,能證之智,亦如“金剛”,能破生死。 + +#9 2 觀察所詮智 + +經曰:義平等性現等覺門,以大菩提,其義一故。 + +#10 讚曰: + +此即第二,觀察所詮智。 + +一切有為、無為等“義”,皆悉平等。以法本性、真如、菩提,“其義一故”,性無差別。 + +#9 3 觀察能詮智 + +經曰:法平等性現等覺門,以大菩提,自性淨故。 + +#10 讚曰: + +此即第三,觀察能詮智。 + +以所證理,“大菩提”性,“自性”清“淨”故,於能詮教,悟其平等。 + +#9 4 通證諸法智 + +經曰:一切法平等性現等覺門,以大菩提,於一切法無分別故。 + +#10 讚曰: + +此即第四,通證諸法智。 + +“一切法”者,有為、無為,諸法之中,皆“現等覺”。以法本性,於諸法中,“無”有“分別”故。能證智證諸法時,皆亦不“分別”,故法本性,亦“性”“平等”。 + +由如空中種種雲霧,如屏風上種種像貌,空及屏風竝無分別,雲及畫像種種相起。 + +#8 3 結歎佛說法門之德 + +經曰:佛說如是寂靜法性般若理趣現等覺已, + +#9 讚曰: + +自下第三,結歎法德。此即結也。 + +經曰:告金剛手菩薩等言:若有得聞如是四種般若理趣現等覺門,信解、受持、讀、誦、修習,乃至當坐妙菩提座,雖造一切極重惡業,而能超越一切惡趣,疾證無上正等菩提。 + +#9 讚曰: + +此即歎德。然準經中有十法行,此中但說有六法行:一,“聞”;二,“信解”;三,“受持”;四,“讀”;五,“誦”;六;“修習”。始從今日,於十法行,初首行時,乃至未來“坐”“菩提座”,成佛已來,“雖造一切極重惡業”,謂見中邪見、業中意業、逆中破和合僧等,雖皆具造,由悟解故,不為被染,“而能超越一切惡趣”。由聞經行等,大威神力,此諸惡業,作不增長,故不墮於三惡道等,乃至“速證無上菩提”。 + +> 註:卍續藏:(“成佛已來”)“佛”一作“道”。 + +計此功德,應與前同,但為別讚經之勝用,故各別說。 + +#6 2 明行境 + +#7 3 調伏眾惡普勝法門 + +#8 1 法門之號 + +#9 1 初明所依如來之相 + +經曰:爾時,世尊復依調伏一切惡法,釋迦牟尼如來之相, + +#10 讚曰: + +自下第二,有二段經,明行境法。於中有二:初段,調伏眾惡普勝法門,由觀實相,能伏眾惡;後段,平等智印清淨法門,由觀觀照,智慧照明。今此初段,於中有三:初明所說法門之號。於中有二:初,明所依如來之相。此為初也。 + +“一切惡法”者,二障分別、因果分別、染淨分別,悉能除也。 + +“釋迦”者,能義。“牟尼”者,寂默義。能“調”眾“惡”,離諸諠動。諠動之法,謂生死法。故名能寂默“如來之相”。 + +依此“調伏一切惡法”能寂“如來之相”,說此法門也。 + +#9 2 後陳所說法門之名 + +經曰:為諸菩薩宣說般若波羅蜜多攝受一切法平等性甚深理趣普勝法門。 + +#10 讚曰: + +此陳所說法門之名。“攝受一切法平等性”者,謂“攝一切”染淨因果,皆入“平等性”法界中,由此故能“普勝”眾惡,由此法門名“普勝法”。 + +#8 2 正說法門 + +#9 1 別說生死惑業苦法性無戲論 + +#10 1 煩惱性無戲論 + +#11 1 明根本 + +經曰:謂貪欲性無戲論故,嗔恚性亦無戲論;嗔恚性無戲論故,愚癡性亦無戲論;愚癡性無戲論故,猶預性亦無戲論;猶預性無戲論故,諸見性亦無戲論;諸見性無戲論故,憍慢性亦無戲論; + +#12 讚曰: + +此下第二,正說法門。於中有三:初,別說生死惑業苦法性無戲論;次,陳諸染淨法性無戲論;後,說般若亦無戲論結歸深趣。初中復三:一,明煩惱性無戲論;二,明業;三,明果。煩惱中有二:初,明根本;後,明隨惑。此根本也。 + +根本有六,由此為本,一切煩惱皆得生長。“謂貪欲性無戲論”者,謂染妄法,性即真如。真如之法,體“無戲論”。“戲論”者,謂分別相、名言相、尋思相。由“戲論”故,執著染淨,有所分別,分別故生死生。知“無戲論”染淨亡,染淨亡性無分別,無分別故,生死滅故,能除惡。下皆準知。 + +> 註:慈海宋順註:《中論》青目釋曰:“戲論”名憶念取相,分別此彼。 + +初三,三毒。“猶預”者,疑。“諸見”謂五見,即耶推度。“憍”謂憍逸。“慢”謂七慢,恃已陵人,名之為“慢”。 + +> 註:“耶”為“邪”之俗字,下文“耶友”亦同。 + +此六根本,真如本性,“性無戲論”。“性無戲論”故能離分別,契此本性,離分別,無戲論,“一切惡法”悉能降伏。 + +#11 2 明隨惑 + +經曰:憍慢性無戲論故,諸纏性亦無戲論;諸纏性無戲論故,煩惱垢性亦無戲論; + +#12 讚曰: + +此明隨惑。 + +“纏”謂數數增盛,現前纏繞於心,故名“纏”也。此有八種,謂:惛沈、睡眠,於止為障;掉舉、惡作,於舉為障;嫉、慳,於捨為障;無慚、無愧,於戒為障,故但立八。 + +“垢”有六種,謂害、恨、惱及諂、誑、憍。“垢”穢眾生,故名為“垢”。此六相麁,毀責之甚,立以“垢”名。 + +#10 2-3 業苦無戲論 + +經曰:煩惱垢性無戲論故,諸惡業性亦無戲論;諸惡業性無戲論故,諸果報性亦無戲論; + +#11 讚曰: + +上惑“無戲論”,“業”、“果”亦復然。總名生死法性無戲論。證此“無戲論”,故離生死“一切惡法”。 + +#9 2 陳諸染淨法性無戲論 + +經曰:諸果報性無戲論故,雜染法性亦無戲論;雜染法性無戲論故,清淨法性亦無戲論;清淨法性無戲論故,一切法性亦無戲論; + +#10 讚曰: + +此第二,明諸染淨法性無戲論。 + +“雜染”者,總攝一切有漏法盡,與染雜故。“清淨”者,總攝一切無漏法盡。“一切法”者,總攝一切有漏、無漏、有為、無為。生死有情,先染後淨,先別後總,義次第故。 + +#9 3 說般若亦無戲論結歸深趣 + +經曰:一切法性無戲論故,當知般若波羅蜜多亦無戲論。 + +#10 讚曰: + +由所觀境,性無戲論,能觀之智,亦無戲論,如實知故。由此境、智,悉無戲論,故離生死一切分別,降伏“一切惡法”皆盡。 + +#8 3 歎此經德 + +經曰:佛說如是調伏眾惡般若理趣普勝法已, + +#9 讚曰: + +自下第三,歎此經德。意此結前已。 + +> 註:“意”字疑衍【?】 + +經曰:告金剛手菩薩等言:若有得聞如是般若波羅蜜多甚深理趣,信解、受持、讀、誦、修習,假使殺害三界所攝一切有情,而不由斯墮於地獄、傍生、鬼界,以能調伏一切煩惱及隨煩惱、惡業等故。 + +#9 讚曰: + +以經威力,能調眾惡,故是“殺”罪竝得銷除。由悟法性,起斯勝行,故此大罪,不招惡果。以經威力,善能“調伏一切煩惱及隨煩惱、惡業等故”。設有是罪,不招惡果。 + +相縛縛眾生,亦由麁重縛,善後雙修止觀,方乃俱解脫。 + +> 註:据《瑜伽》卷59,“後”字應衍。 + +一切“惡業”,從“煩惱”生;一切煩惱,從分別起。今離戲論,斷諸分別,分別既盡,惑、業亦亡。故此大罪,“聞”經“信解”,定得消滅。 + +經曰:常生善趣,受勝妙樂,修諸菩薩摩訶薩行,疾證無上正等菩提。 + +#9 讚曰: + +上能除惡,下能攝善。於中二果:一,世間果;二,出世果。 + +#7 4 平等智印清淨法門 + +#8 1 法門之號 + +經曰:爾時,世尊復依性淨如來之相,為諸菩薩宣說般若波羅蜜多一切法平等性,觀自在妙智印甚深理趣清淨法門。 + +#9 讚曰: + +此第四段,由觀觀照,智慧照明,以顯行境界。文中有三,竝同前解。 + +由能觀智,證會諸法本性清淨,故分別相,智皆離之,名為“性淨”,今名得清淨。 + +“一切法平等性”者,即是真如。 + +“觀自在”,悲行也。“妙智印”者,智行也。又此“觀自在”,即“妙智印”,印“一切法平等”故。餘文可知。 + +#8 2 正說法門 + +#9 1 明惑業果 + +> 註:此處科判無,依文意加。 + +經曰:謂一切貪欲本性清淨,極照明故,能令世間嗔恚清淨;一切嗔恚本性清淨,極照明故,能令世間愚癡清淨;一切愚癡本性清淨,極照明故,能令世間疑惑清淨;一切疑惑本性清淨,極照明故,能令世間見趣清淨;一切見趣本性清淨,極照明故,能令世間憍慢清淨; + +#10 讚曰: + +此文有三,同前文說。前文是境,此文是智,“照明”前故。 + +謂於“貪欲”“本性”真如“清淨”境中,“極照明故”。能“照明”者即是智。 + +以“貪欲”為本,生於“嗔”等故。 + +經曰:一切憍慢本性清淨,極照明故,能令世間纏結清淨;一切纏結本性清淨,極照明故,能令世間垢穢清淨; + +#10 述曰: + +> 註:此處由“讚”改“述”。【?】 + +此明於隨煩惱,“本性清淨”,“極照明”也。“纏”、“垢”等義,竝如前解。 + +所言“結”者,即是九結,謂愛、恚、慢、無明、見取、疑、嫉、慳、結。“結”是結縛,能和合苦,難可解故,名之為“結”。 + +經曰:一切垢穢本性清淨,極照明故,能令世間惡法清淨;一切惡法本性清淨,極照明故,能令世間生死清淨; + +#10 讚曰: + +上明惑,此明業果。 + +以生死業,逼迫果業,故名“惡法”。 + +言“生死”者,謂異熟果,即前惡業所招苦果。 + +#9 2 總攝諸法 + +經曰:一切生死本性清淨,極照明故,能令世間諸法清淨; + +#10 讚曰: + +“世間諸法”即雜染法,總攝有漏。自下第二,總攝諸法。 + +經曰:以一切法本性清淨,極照明故,能令世間有情清淨; + +#10 讚曰: + +由有漏法,成“有情”故,故有漏後,明其“有情”。 + +經曰:一切有情本性清淨,極照明故,能令世間一切智清淨; + +#10 讚曰: + +出世間中,“一切智”為本,舉此攝餘清淨法盡。三乘總觀諸無我智,名“一切智”。 + +#9 3 般若清淨 + +經曰:以一切智本性清淨,極照明故,能令世間甚深般若波羅蜜多最勝清淨。 + +#10 讚曰: + +此即第三,般若清淨。由能照明一切法性“本性清淨”,故能觀智,“最勝清淨”,與所緣境極相應故。 + +#8 3 陳經勝德 + +經曰:佛說如是平等智印般若理趣清淨法已, + +#9 讚曰: + +自下第三文,陳經勝德。“平等智印”者,謂一切法性無戲論,能觀之智,名“平等智印”。 + +經曰:告金剛手菩薩等言:若有得聞如是般若波羅蜜多清淨理趣,信解、受持、讀、誦、修習,雖住一切貪嗔癡等客塵煩惱垢穢聚中,而猶蓮華不為一切客塵垢穢過失所染, + +#9 讚曰: + +由能觀智,觀染淨法,“本性清淨”,故“住”“煩惱”,“不為”“染”污,悟本性故,此說離過。 + +經曰:常能修習菩薩勝行,疾證無上正等菩提。 + +#9 讚曰: + +此釋得善果。由起法行,悟於真智故,“常”“修習菩薩勝行”,乃至終後“疾證”“菩提”。 + +#6 3 明果境 + +#7 5 法王灌頂智藏法門 + +#8 1 標所說法門號 + +#9 1 明所依如來之相 + +經曰:爾時,世尊復依一切三界勝主如來之相, + +#10 讚曰: + +明境六中,自下第三,有二段經,明果法境。於二段中,初段,法王灌頂智藏法門,顯由二行,得財位果;後段,如來智印金剛法門,顯由二行,得自體果。今此初段,於中有三,準前應釋。初標所說法門號中,文復有二:初,明所依如來之相;後,明所說法門之名。此即初也。 + +> 註:二行應為:調伏眾惡普勝法門、平等智印清淨法門。【?】 +卍續藏:(“得財位果​​”)“財”恐當作“職”。 + +“三界”之宅,擾攘無安,煩惱蟲獸,諸苦惱火,無量逼切。種種驚怖,令有情等,危難竝生。 + +由佛世尊,如大長者,怜愍諸子,方便拔濟,故佛世尊稱“三界”“主”,佛為法王,故言“勝主”,依此尊位,以說法門。 + +#9 2 明所說法門之名 + +經曰:為諸菩薩宣說般若波羅蜜多一切如來和合灌頂甚深理趣智藏法門。 + +#10 讚曰: + +此明所說法門之號。至第十地,將受如來法王位時,“一切”十方“如來”“和合”咸“灌”其“頂”,如剎帝利受王位法。 + +今此菩薩受佛尊位,以何法水,“灌”灑其“頂”,令作吉祥?謂一切佛智慧法水,有殊勝“智”,出生諸德,含容諸,德譬如於“藏”。以此“智”水,“灌”菩薩“頂”,令無始來二障垢盡,“一切如來”吉祥功德,皆悉圓滿。今說此“法”,令依趣入,是故稱“門”。 + +#8 2 正顯所說法門 + +經曰:謂以世間灌頂位施,當得三界法王位果; + +以出世間無上義施,當得一切希願滿足; + +以出世間無上法施,於一切法當得自在; + +若以世間財食等施,當得一切身、語、心樂; + +若以種種財、法等施,能令布施波羅蜜多速得圓滿。 + +#9 讚曰: + +自下第二,正顯所說法門。六度不同,隨成六段。 + +#10 “施”中有五:一,位施;二,義施;三,法施;四,財施;五,總無畏施。其實五施一一竝得多果,此中且說五相似果。 + +若捨榮貴“位”而修正法,當得成佛,為“三界法王”。 + +由“施”“義”味,順於理故,“當”來“希願”悉皆“滿足”。 + +因以“法施”,當能達解“一切”佛“法”。 + +“財食”因“施”,充益三業,故於當來得“樂三業”。 + +“若以種種財法等施”者,謂以“財、法”,攝取眾生,令其無畏,名無畏施。 + +#10 《菩提心經》說: + +#11 願行財施要有五種:一,至心;二,信心;三,隨時;四,自手;五,如法。 + +> 註:見《發菩提心經論》。 + +如有頌言:施者殊勝,信等具足,恭敬應時,自手施等。又有頌言:利他加行於有情,不簡有力及無力,於一切時一切施,隨力所能廣說法饒益。 + +> 註:卍續藏:(“說法”)一無“說法”二字。 +按:​此二頌出《攝大乘論無性釋》,“說法”二字疑衍,【?】或應加小字括號。下文還依《發菩提心經論》。 + +#11 不應施有五: + +非理財不應施,不淨故。 + +酒及毒不應施,亂生故。 + +罝羅機網不應施,惱生故。 + +刀杖弓箭不應施,害生故。 + +音樂女色不應施,壞淨心故。 + +#11 施有五利: + +一,常近賢聖; + +二,眾生樂見; + +三,入眾宗敬; + +四,好名流布; + +五,作菩提因。 + +無著菩薩說,謂修六種意樂:一,廣大;二,長時;三,歡喜;四,荷恩;五,大志;六,純善。於此六中,起三作意:一,愛重;二,隨喜;三,欣樂。聞此六種,但當能起一念信心,尚能發生無量福聚,諸惡業障亦當銷滅,何況菩薩? + +> 註:見《攝大乘論》“作意修”,及前文第一法門。 + +經曰:受持種種清淨禁戒,能令淨戒波羅蜜多速得圓滿; + +於一切事修學安忍,能令安忍波羅蜜多速得圓滿; + +於一切時修習精進,能令精進波羅蜜多速得圓滿; + +於一切境修行靜慮,能令靜慮波羅蜜多速得圓滿; + +於一切法常修妙慧,能令般若波羅蜜多速得圓滿。 + +#9 讚曰: + +三種“戒”法皆能“圓滿”,草結、鵝珠,而能不壞。三戒非一,故言“種種”。 + +> 註:“草結”應說“草繫比丘”,忘生護戒。 + +“事事”能“忍”。 + +“一切時”能“勤”,無懈疲故。 + +“於一切境”能“靜慮”,無散亂心故。 + +“於一切法”“修慧”,皆能簡擇故。 + +行此六度,得六果報:一,富貴;二,大生;三,大朋屬;四,大業成就;五,無惱縛垢;六,達五明。 + +能作義利,如《攝大乘》廣說其相。 + +#8 3 結歎法門之德 + +> 註:此科判依文意加,下文無明確科判者,亦同。 + +經曰:佛說如是灌頂法門般若理趣智藏法已,告金剛手菩薩等言:若有得聞如是灌頂甚深理趣智藏法門,信解、受持、讀、誦、修習,速能滿足諸菩薩行,疾證無上正等菩提。 + +#9 讚曰: + +由“聞”六度“菩薩行”成,所求“菩提”亦能“速”得。 + +#7 6 如來智印金剛法門 + +#8 1 標所說法門之號 + +經曰:爾時,世尊復依一切如來智印,持一切佛祕密法門如來之相,為諸菩薩宣說般若波羅蜜多一切如來住持智印甚深理趣金剛法門。 + +> 註:卍續藏:(“住持智印”)“住”疏作“任”。 + +#9 讚曰: + +此第二段,如來智印金剛法門,顯由二行,得自體果。文有三等,竝同前釋。此即第一,標所說法門之號。 + +以妙智印,“任持”一切佛甚深法。佛甚深法,體性難知,名為“祕密”。以一“智印”,“持”諸佛法,一切佛法,竝入此故,名為“任持”。今說此“法”,令勤趣入,故名為“門”。以能破壞一切生死,智體堅實,故名“金剛”。 + +> 註:“任持”或應為“住持”【?】原經文用字亦應為“任持”。 + +#8 2 正說法門 + +經曰:謂具攝受一切如來金剛身印,當證一切如來法身; + +若具攝受一切如來金剛語印,於一切法當得自在; + +#9 讚曰: + +由在因中,別行如來“三業”因“印”,得果之時,得如“金剛”“法身”等果。 + +經曰:若具攝受一切如來金剛心印,於一切定當得自在; + +若具攝受一切如來金剛智印,能得最上妙身、語、心,猶若金剛,無動無壞。 + +#9 讚曰: + +由在因中,具行“三業”“金剛智印”,得果之時,能得“最上妙身、語、心”。謂如“金剛”,不為耶友所“動”,不為生死所“壞”。 + +此中意說:別行三業殊勝之因,別得三果。具行三業所有勝因,總得一果。三業堅實,“猶如金剛,不可動壞”。 + +#8 3 歎此經德 + +#9 1 因位所得勝利 + +經曰:佛說如是如來智印般若理趣金剛法已,告金剛手菩薩等言:若有得聞如是智印甚深理趣金剛法門,信解、受持、讀、誦、修習,一切事業皆能成辦,常與一切勝事和合,所欲修行一切勝智、諸勝福業,皆速圓滿, + +> 註:卍續藏:(“皆能成辦”)“能”疏作“得”。 + +#10 讚曰: + +自下第三,歎此經德。 + +“一切事業皆得成辨”者,謂諸無罪順理善事。 + +“常與一切勝事和合”者,現在、後生,“常與”“勝事”“和合”相應。 + +衰減等事,皆悉遠離,“所修”“福、慧”,“皆速圓滿”。 + +此說因位所得勝利。 + +#9 2 未來所得果位 + +經曰:當得最勝淨身、語、心,猶若金剛,不可破壞,疾證無上正等菩提。 + +#10 讚曰: + +此說未來所得果位,殊勝妙果。 + +#5 2 明菩薩行 + +#6 1 明依實相斷修之相 + +#7 7 離諸戲論輪字法門 + +#8 1 初標所說法門之號 + +#9 1 初辨所依如來之相 + +經曰:爾時,世尊復依一切無戲論法如來之相,為諸菩薩宣說般若波羅蜜多甚深理趣輪字法門。 + +#10 讚曰: + +上六段經,明勝境訖,次有六段,當明勝行。復分為三:初二段,顯依實相斷修之相;次二段,顯依觀照修斷之相;後二段,顯依二法遍修之相。就初二段,顯依實相斷修相中有二:初,離諸戲論輪字法門,由觀真如,斷分別故;後,入廣大輪平等性門,由觀平等,修證真故。此下初段,文勢有三。初標所說法門之號中,復分為二,初辨所依如來之相。 + +真如法性,離諸分別,離言說道故。“無戲論”即是依於法身之相。 + +詮此“輪”理,所有“法門”,名“輪字法”。教能詮顯,故名為“門”。 + +由聞此教,遂起“輪”行。起“輪”行已,得“輪”果;得“輪”果已,復為他轉。如是展轉。 + +#9 2 後陳所說法門之名 + +> 註:此科判原無。 + +#10 “輪字法門”者, + +#11 “輪”有二義:一,周圓義;二,摧壞義。 + +由觀真如,性“無戲論”,遍一切法,故名周圓。 + +由觀此故,離分別執,摧壞生死一切執著,故名“摧壞”。 + +#8 2 正陳所說 + +#9 1 解脫門境 + +經曰:謂一切法空,無自性故; + +一切法無相,離眾相故; + +一切法無願,無所願故。 + +#10 讚曰: + +以下第二,正陳所說,於中有四。初三,解脫門境。 + +遍計所執,一切皆“空”;圓成“無相”;依他“無願”。 + +又此三種,皆通三性。 + +又但有二,謂妄與真。真、妄皆通有三種故。非我有名“空”,離十名“無相”,不希名“無願”。 + +#9 2 離著離生 + +經曰:一切法遠離,無所著故; + +一切法寂靜,永寂滅故。 + +#10 讚曰: + +此即第二,離“著”、離生。 + +#9 3 離四倒執 + +經曰:一切法無常,性常無故; + +一切法無樂,非可樂故; + +一切法無我,不自在故; + +一切法無淨,離淨相故。 + +#10 讚曰: + +此即第三,離四倒執。 + +> 註:卍續藏:“執”一作“想”。 + +#9 4 離諸執著 + +經曰:一切法不可得,推尋其性,不可得故; + +一切法不思議,思議其性,無所有故; + +一切法無所有,眾緣和合,假施設故; + +一切法無戲論,本性空寂,離言說故; + +一切法本性淨,甚深般若波羅蜜多本性淨故。 + +#10 讚曰: + +此第四,離諸執著也。 + +無如所執,有所“得”故。 + +尋思之心,言說之議,“不”可“思議”故。 + +法“假施設”,無實有故。 + +法性“離言”,“無戲論”故。 + +> 註:慈海宋順註:《華嚴疏》曰:《瑜伽》九十五:有六種戲論,故名爲“諸”。《同鈔》曰:一,顛倒;二,唐捐;三,諍競;四,於他分別勝劣;五,分別工巧養命;六,耽著世間財食戲論。 + +法性“本淨”,實相“般若”,“本性淨故”。此既是法性,諸法隨本體故,皆是空。 + +#8 3 歎此經德 + +經曰:佛說如是離諸戲論般若理趣輪字法已,告金剛手菩薩等言:若有得聞此無戲論般若理趣輪字法門,信解、受持、讀誦、修習,於一切法得無礙智,疾證無上正等菩提。 + +#9 讚曰: + +此即第三,歎經勝德。 + +達法性空,故於諸法得“無礙智”。 + +#7 8 入廣大輪平等法門 + +#8 1 初標法門之名 + +經曰:爾時,世尊復依一切如來輪攝如來之相,為諸菩薩宣說般若波羅蜜多入廣大輪甚深理趣平等性門。 + +#9 讚曰: + +此即第二,入廣大輪平等性門,由觀平等,修證真故。於中有三,此標所說法門之名。 + +前明“輪”字,未明“攝”法,今明諸法皆真所“攝”,圓滿周備,離執著故。 + +此遍滿故,名為“廣大”。無法不攝,故名“平等”。諸法本體,故名為“性”。 + +#8 2 正陳所說 + +#9 1 初別明性輪 + +#10 1 明聖者性輪 + +經曰:謂入金剛平等性,能入一切如來性輪故; + +入義平等性,能入一切菩薩性輪故; + +入法平等性,能入一切法性輪故。 + +#11 讚曰: + +自下第二,正陳所說。於中有三,初別明性輪,後總明性輪。別明性輪中有三:初,明聖者性輪;二,明法性輪;三,明有情性輪。初中有三,初明佛性輪。 + +法身本性,能破生死,堅實難壞,如“金剛”故。 + +“菩薩”之法,依教所詮,以行修證故。“義平等”名“菩薩性”。佛亦應是“義平等性”,以離能詮,堅實之義,別名“金剛”,不名為“義”。菩薩證此,未得“金剛”圓滿法性,但立“義”名。 + +其二能詮,總名為“法”。“法”謂教法,欲顯所詮因果勝“法”,能詮之教,竝攝入於“法性輪”故。 + +隨順說別,性竝即真。 + +#10 2 明法性輪 + +#11 1 別法 + +經曰:入蘊平等性,能入一切蘊性輪故; + +入處平等性,能入一切處性輪故; + +入界平等性,能入一切界性輪故。 + +#12 讚曰: + +自下第二,明法性輪。於中有三:初,別法;次,通法;後,位法。別法中有七。此初三科也。 + +義別說三,體真法性。 + +經曰:入諦平等性,能入一切諦性輪故; + +入緣起平等性,能入一切緣起性輪故; + +入寶平等性,能入一切寶性輪故; + +入食平等性,能入一切食性輪故。 + +#12 讚曰: + +#13 此四別法。 + +“諦”謂四諦。 + +“緣起”有十二。 + +“寶”謂三寶。 + +“食”謂四食。謂段、觸、思及與識食。香、味、觸三,名為段食。觸謂觸數,第六識俱。思謂思數,即第六俱。識謂識蘊,即唯第八。 + +隨緣說四,攝歸法性。 + +#11 2 通法 + +經曰:入善法平等性,能入一切善法性輪故。 + +入非善法平等性,能入一切非善法性輪故。 + +入有記法平等性,能入一切有記法性輪故。 + +入無記法平等性,能入一切無記法性輪故。 + +入有漏法平等性,能入一切有漏法性輪故。 + +入無漏法平等性,能入一切無漏法性輪故。 + +入有為法平等性,能入一切有為法性輪故。 + +入無為法平等性,能入一切無為法性輪故。 + +入世間法平等性,能入一切世間法性輪故。 + +入出世間法平等性,能入一切出世間法性輪故。 + +#12 讚曰: + +此即第二,明諸通法,入“法性輪”,於中有五,其義如文。此五通在人、法二種。 + +#11 3 位法 + +經曰:入異生法平等性,能入一切異生法性輪故。 + +入聲聞法平等性,能入一切聲聞法性輪故。 + +入獨覺法平等性,能入一切獨覺法性輪故。 + +入菩薩法平等性,能入一切菩薩法性輪故。 + +入如來法平等性,能入如來法性輪故。 + +> 註:卍續藏:(“能入如來法性輪故”)“入”下經有“一切”二字。 + +#12 讚曰: + +此即第三,明諸位法,入“法性輪”,於中有五,一凡法,四聖法,如應當知。 + +#10 3 明有情性輪 + +經曰:入有情平等性,能入一切有情性輪故。 + +#11 讚曰: + +此即第三,明有情入本性輪。 + +#9 2 後總明性輪 + +經曰:入一切平等性,能入一切性輪故。 + +#10 讚曰: + +此即第二,總明性輪。若聖、若凡、若人、若法,一切皆入本性輪故。欲顯一切皆歸本性“廣大輪”攝。 + +#8 3 歎經勝德 + +經曰:佛說如是入廣大輪般若理趣平等性已,告金剛手菩薩等言:若有得聞如是輪性甚深理趣平等性門,信解、受持、讀、誦、修習,能善悟入諸平等性,疾證無上正等菩提。 + +#9 讚曰: + +此即第三,歎經勝德。 + +由“聞”此故,現在、後生,“能善悟入諸平等性”。學悟、證悟,皆“善悟入”,乃至究竟“疾”得“菩提”。 + +#6 2 明依觀照修斷之相 + +#7 9 真淨供養無上法門 + +#8 1 初標法門之號 + +經曰:爾時,世尊復依一切廣受供養真淨器田如來之相,為諸菩薩宣說般若波羅蜜多一切供養甚深理趣無上法門。 + +#9 讚曰: + +明行中,自下兩段,顯依觀照修斷之相。初段,真淨供養無上法門,由依觀照,修供養故。後段,能善調伏智藏法門,由依觀照,除忿等故。此即初也。於中有三,初標所說法門之號。 + +“廣受供養真淨器田”者,由佛因行,具“真”“供養”,能行一切“真”法行故,成佛之時,一切滿足,三業純淨,堪能“廣受”眾生“供養”。 + +“真”實法“器”,與諸眾生作“真淨”“田”,故名“無上”。其二乘等,雖“真”福“田”,非“無上”故。 + +#8 2 正說法門之義 + +#9 1 修習行 + +#10 1 發心行 + +經曰:謂發無上正等覺心,於諸如來廣設供養; + +攝護正法,於諸如來廣設供養; + +修行一切波羅蜜多,於諸如來廣設供養; + +修行一切菩提分法,於諸如來廣設供養; + +修行一切總持、等持,於諸如來廣設供養; + +修行一切五眼、六通,於諸如來廣設供養; + +修行一切靜慮、解脫,於諸如來廣設供養; + +修行一切慈悲喜捨,於諸如來廣設供養; + +修行一切佛不共法,於諸如來廣設供養。 + +#11 讚曰: + +自下正說。由在因中,行正供養,後為淨因。於中有三:初,修習行;次,觀察行;後,法行行。此即初也。就中復三:初,發心行;次,攝護行;後,修習行。 + +於諸“供養”中,法供養為最勝。《天王會》云:二人遠離王賊等、所不能侵大寶藏,百千萬劫法難聞,得聞不持不施等,大菩提心、護正法、如教修行心寂靜,自利利他心平等,是則名真供養佛。 + +> 註:二人,或為聲聞、獨覺。【?】​真供養之三法,對比《勝天王般若波羅蜜經》卷6〈12 陀羅尼品〉:「『[9]天人遠離大寶藏,王賊水火所去失,百千萬劫法難聞,得聞不持不施等。道心為本化眾生,如實修行心寂靜,自利利他平等心,如是修行供養佛。』」(CBETA 2020.Q1, T08, no. 231, pp. 720c27-721a2)[9]:天【大】,二【宮】【聖】 +​ +​參考:《攝大乘論釋》卷8:論曰:云何菩薩能行惠施?若諸菩薩無少所施,然於十方無量世界廣行惠施。 +​云何菩薩樂行惠施?若諸菩薩於一切施都無欲樂。 +​云何菩薩於惠施中深生信解?若諸菩薩不信如來而行布施。 +​云何菩薩於施策勵?若諸菩薩於惠施中不自策勵。…… + + +#12 大菩提心者,佛自說言: + +如諸菩薩最初發心下劣一念福德果報,為千萬劫說不能盡,況經多劫! + +> 註:卍續藏:(“為千萬劫”)“為”疑“百”。 + +譬如大海,初漸起時,當知皆為乃至無價寶珠作所住處,一切寶珠皆海生故。 + +三千大千世界初起,當知便為二十五有一切眾生作依止處。 + +菩薩發心亦復如是,初漸起時,普為一切無量眾生作依止處。 + +菩薩發心,慈悲為首,譬如虛空,無不普覆。虛空無量故,眾生無量。眾生無量故,菩薩發心,亦復如是,以能遍覆一切世界、一切生故。 + +若菩薩親近善知識、供養諸佛、修集善根、志求勝法、心常柔和、遭苦能忍、慈悲淳厚、深心平等、信樂大乘、求佛智慧,若人能具如是十法,乃能發於阿耨多羅三藐三菩提心。廣如經說。 + +> 註:以上出自《發菩提心經論》。 + +#10 2 攝護行 + +“攝護正法”者,“攝”謂攝受、攝持,即是《勝鬘》攝受正法;“護”謂擁護、護念,即是護念、付囑正法。 + +> 註:見《金剛經》。 + +“攝”受、擁“護”,為法城塹,不惜身命,以“設供養”。 + +#10 3 修習行 + +#11 “波羅蜜多”以下是修習行,於中有七。 + +“總持”者,謂陀羅尼。“等持”者,謂三摩地。 + +> 註:慈海宋順註:陀羅尼,此云總持。肇曰:總持,謂持善不失,持惡不生,無所漏忘,謂之持。又曰:經云,有五百總持,亦云,無量總持也。等持,《玄應》,《音義》曰三昧,或言三摩提,或云三摩帝,皆譌也。正言三摩地,此云等持。等者,正也,正持心也。持謂持諸功德也。或云正定,謂住緣一境,離諸邪亂也。《名義集》曰:離沉掉曰等,令心住一境性曰持。 + + +“靜慮”謂四靜慮。“解脫”謂八解脫。 + +“慈悲喜捨”即四無量。 + +#12 “一切佛不共法”者,《菩薩地》說:諸佛世尊有百四十不共佛法,謂諸如來三十二相、八十隨好,四一切種清淨,十力,四無所畏,三念住,三不護,大悲,無忘失法,永害習氣,及一切種妙智,是名一切佛不共法。其三十二相、八十隨好、十力、四無所畏、大悲、無忘失法,竝如前辨。 + +#13 四一切種清淨者: + +一,一切種所依清淨。煩惱麁重、習氣皆永盡故。又於自體,如自所欲,取住捨中,自在而住。 + +二,一切種所緣清淨。謂於種種,若化、若變、若所顯現,一切所緣,皆自在轉。 + +三,一切種心清淨。諸心麁重,永遠離故。一切善根,皆積集故。 + +四,一切種智清淨。無明麁重,永遠離故。又遍所知,智無障礙,智自在轉。 + +三念住者,謂諸如來於其長夜有如是欲:如何當令諸有情類,於我善說法毘奈耶,無倒行中,如實隨住?如是長夜欲樂法主,化御眾時,若所希欲,或遂、不遂,不生雜染。由三念住,略所顯故。此三復由三眾別:一,一向正行;二,一向邪行;三,一分正行、一分邪行。不生喜、患,但生大捨。 + +三不護者,謂諸如來三業清淨現行。 + +永害習氣者,謂諸如來,或於動轉,或於瞻視,或於言論,或於安住,似有煩惱所起作業多不現行,一切習氣皆斷無餘。 + +一切種妙智者,總於諸法無顛倒智。 + +所餘佛法,如前已說。 + +#9 2 觀察行 + +#10 1 離四倒行 + +經曰:觀一切法若常、若無常,皆不可得,於諸如來廣設供養; + +觀一切法若樂、若苦,皆不可得,於諸如來廣設供養; + +觀一切法若我、若無我,皆不可得,於諸如來廣設供養; + +觀一切法若淨、若不淨,皆不可得,於諸如來廣設供養。 + +#11 讚曰: + +自下第二,觀察行相,於中復三:一,離四倒行;二,三門行;三,離著生滅行。此則初也。 + +異生多執身、受、心、法,以為“淨、樂、我、常”。為破彼故,說四諦理。既無常、無樂、無我、無淨,令壓生死,趣求二乘。二乘遂執真實有彼“無常”等四,既有法執,附著小果,不欲大乘。 + +世尊後說《大般涅槃》“常、樂、我、淨”,令捨小果,趣求大乘。彼聞厭捨,遂得佛果。 + +此二俱是引攝方便,非實道理,諸法實非此二四種。故有說言:諸佛或說我,或時說非我,諸法實相中,無我、無非我。餘三亦爾。 + +今觀實相,以“設供養”,故觀諸法“常”、“無常”等,“皆不可得”。 + +#10 2 離三門行 + +經曰:觀一切法若空、若不空,皆不可得,於諸如來廣設供養; + +觀一切法若有相、若無相,皆不可得,於諸如來廣設供養; + +觀一切法若有願、若無願,皆不可得,於諸如來廣設供養。 + +#11 讚曰: + +此即第二,三門行也。 + +若是二乘,觀苦為“空”,即空、無我行故;觀集、道全,苦諦少分,為“無願”行;觀於滅諦,為“無相”行。欣、厭事成。 + +若大乘者,觀遍計所執實我法為“空”行;觀依他起為“無願”行;觀圓成實為“無相”行。又三皆通“空、無相、無願”,竝破凡夫妄想分別,我、法執等。故不空是凡,執有願、有相,竝皆如是。 + +其“空”等行,此皆趣入方便之門。據理實相,非“空、不空,有願、無願,有相、無相”。今觀實相,故“不可得”,推前一法,達一切故。 + +故論說言:舜若多者,名為空性,法性非空,空之性故。 + +> 註:《成唯識論》:梵言瞬若,可說如空。名舜若多,如是「空性」,即是「二空」所顯實性。故言空者,從能顯說。「二空」之性,名「二空」性,「依士釋」名。言「真如」空,未善理故。 +参考《辯了不了義善說藏論》: 故於自相所立性中,俱無勝義、世俗諸法 。然於法性所立性中 , 無世俗法有勝義諦 , 故有無自性應細分別。 」 +《大般若經》:诸法一性即是无性,诸法无性即是一性,如是诸法一性、无性是本实性,此本实性即是一相,所谓无相。​​ +​ + + +#10 3 離著生滅行 + +經曰:觀一切法若遠離、若不遠離,皆不可得,於諸如來廣設供養; + +觀一切法若寂靜、若不寂靜,皆不可得,於諸如來廣設供養。 + +#11 讚曰: + +凡夫妄想,樂著生死,性不寂靜,有“不遠離”及“不寂靜”。為破彼故,說為“遠離”及於“寂靜”。 + +依於“遠離”及“寂靜”門,破彼病故,以入於真,名為“遠離”及“寂靜”等。據實法體非“遠、不遠”,非“靜、不靜”。“靜、不靜”等,皆是入門,故非法性。以實相體,名言路絕,尋思道息,故“遠離”等,“皆不可得”。 + +#9 3 法行行 + +經曰:於深般若波羅蜜多,書寫,聽聞,受持,讀,誦,思惟,修習,廣為有情宣說流布,或自供養,或轉施他,於諸如來廣設供養。 + +#10 讚曰: + +#11 自下第三行門,法行行。 + +> 註:卍續藏:(“行門”)“門”一作“相”。 + +一,書寫。 + +二,聽聞。 + +三,受持,愛樂寶重,不離於心。生死威儀,願相隨故。 + +四,讀。 + +五,誦。 + +六,思惟。 + +七,修習,如說行也。 + +八,廣為有情宣說流布。 + +九,自供養。 + +十,施他。 + +此十名為行法行行。此中皆得自作、教他、讚歎、隨喜、慶慰。 + +“供養”之中,說“自”言者,以對“施他”,且復言“自”。據實而言,自供、教他、讚歎、隨喜、慶慰,竝得“供養”。施他書寫乃至教他、施他、讚歎等事,竝名法行,名為“供養”。 + +行十法行者,獲福聚無量,勝故、無盡故,由攝他、不息。廣如《中邊論》說。 + +#8 3 歎此經德 + +經曰:佛說如是真淨供養甚深理趣無上法已,告金剛手菩薩等言:若有得聞如是供養般若理趣無上法門,信解、受持、讀、誦、修習,速能圓滿諸菩薩行,疾證無上正等菩提。 + +#9 讚曰: + +此即第三,歎經勝德。以法“供養”即“菩薩行”,故“菩薩行”“速”得“圓滿”。 + +#7 10 能善調伏智藏法門 + +#8 1 初標法門之號 + +經曰:爾時,世尊復依一切能善調伏如來之相,為諸菩薩宣說般若波羅蜜多攝受智密調伏有情甚深理趣智藏法門。 + +#9 讚曰: + +明依觀照修行相中,自下第二,能善調伏智藏法門。由依觀照,除忿等故。文意有三,準前應釋。此即第一,總標所說法門之名。 + +> 註:卍續藏:(“明依觀照修行相中”)“行”一作“斷”。 + +“能善調伏”者,能除忿等,名“善調伏”。 + +“攝受智密調伏有情”者,觀照之“智”,微妙名“密”。此“智”為“藏”,具能“攝受”一切諸佛法所有功德,名為“攝受”,亦名“智藏”。以此“智藏”能除自他忿恚等過,故名“調伏”。 + +此門義顯:由觀照智,達法本性,忿恚惡法,竝能“調伏”。 + +#8 2 正陳所說 + +#9 1 初說十七實相即忿實相 + +#10 1 以不二、除斷、無變,三種實相,以即於忿 + +經曰:謂一切有情平等性,即忿平等性; + +一切有情調伏性,即忿調伏性; + +一切有情真法性,即忿真法性; + +#11 讚曰: + +此下第二,正陳所說,文中有二。 + +#12 初說十七實相,即“忿”實相;後釋所由。此即初也,文分為五。 + +#13 初,以不二、除斷、無變三種實相,以即於“忿”。他“忿”之時,應作此念: + +法既“平等”,何有瞋“忿”? + +法既離染,忿能“調”我? + +法既無變,忿性亦然。 + +何須分別,見他生“忿”,而起恚惱? + +作此觀已,故一切惑,皆悉除滅。下皆準知。 + +#10 2 以實常德性,滅破真境,四種實相,以即於忿 + +一切有情真如性,即忿真如性; + +一切有情法界性,即忿法界性; + +一切有情離生性,即忿離生性; + +#11 一切有情實際性,即忿實際性; + +第二,以實常德性,滅破真境四種實相,以即於“忿”。 + +#10 3 以非有、離相、不求,三種實相,以即於忿 + +一切有情本空性,即忿本空性; + +一切有情無相性,即忿無相性; + +#11 一切有情無願性,即忿無願性; + +第三,以非有離相,不求三種實相,以即於“忿”。 + +#10 4 以斷染法、離生二種,以即於忿 + +一切有情遠離性,即忿遠離性; + +#11 一切有情寂靜性,即忿寂靜性; + +第四,以斷染法、離生二種,以即於“忿”。 + +#10 5 以無得、虛偽、深妙、離言、堅實五種,以即於忿 + +一切有情不可得性,即忿不可得性; + +一切有情無所有性,即忿無所有性; + +一切有情難思議性,即忿難思議性; + +一切有情無戲論性,即忿無戲論性; + +#11 一切有情如金剛性,即忿如金剛性。 + +第五,以無得、虛偽、深妙、離言、堅實五種,以即於“忿”。如其次第,一一配之。 + +此中法門,如前已辨,故不解釋。 + +煩惱之中,瞋“忿”為重,此中偏舉,論實通餘一切染也。以“忿”即真,知本染盡。 + +“有情”起“忿”,“有情”本“性”,即“忿”本“性”。人、法本“性”,皆即實相,無二分故。既知此已,不見“忿”等,故不應生煩惱之過。 + +#9 2 釋其所由 + +經曰:所以者何?一切有情真調伏性,即是無上正等菩提,亦是般若波羅蜜多,亦是諸佛一切智智。 + +#10 讚曰: + +自下第二,釋其所由。以有情本“調伏性”,實相即是法身“無上正等菩提”。此說實相。 + +本性“菩提”,亦是能觀觀照“般若”,法性、法相,體不異故。如刀之利,體無別故。 + +#11 由此故知,“忿”之本性,亦是“諸佛一切智智”。此有多解: + +真“智”、俗“智”,各得一名。 + +第二解云:“一切智”者,佛也。又言“智”者,“佛”所成“智”。此本性“般若”,即“佛”之“智”。 + +以“忿”即真如,亦即“佛”之“智”。故煩惱性,即是覺分,更無異故。 + +又復覺知是煩惱故,永不起之。法性本同,用不異故。 + +又“調伏性”,即是實相。“菩提”亦是實相。“般若”亦是“諸佛”“智”之本性。本性名“智”,“智”之本故。四名雖有別,體一故相即。“智”及“智”處,皆名“般若”,義意同故。 + +#8 3 歎經勝德 + +#9 1 調伏諸染 + +經曰:佛說如是能善調伏甚深理趣智藏法已,告金剛手菩薩等言:若有得聞如是調伏般若理趣智藏法門,信解、受持、讀、誦、修習,能自調伏忿恚等過,亦能調伏一切有情。 + +#10 讚曰: + +自下第三,歎經勝德。此雜染失、“忿恚等”者,通諸染也。 + +#9 2 世間勝果 + +經曰:常生善趣,受諸妙樂,現世怨敵皆起慈心。 + +#10 讚曰: + +此即第二,世間勝果。“忿”唯不善,起必招苦。今離“忿”等,故“生趣”,“受”勝“樂”果,以無忿故。不惱於他故,“現”“怨”家“慈心”相向。 + +#9 3 出世勝果 + +經曰:能善修行諸菩薩行,疾證無上正等菩提。 + +#10 讚曰: + +此即出世勝善果也。 + +#6 3 明依二法遍修之相 + +#7 11 性平等性最勝法門 + +#8 1 初標法門之號 + +經曰: + +爾時,世尊復依一切能善建立性平等法如來之相,為諸菩薩宣說般若波羅蜜多一切法性甚深理趣最勝法門。 + +#9 讚曰: + +明行之中,總有六段,自下末後二段,顯依二法遍修之相。此段性平等性最勝法門,修觀實相,人、法平等,皆遍滿故;後段有情住持勝藏法門,修觀觀照,遍諸人、法,皆善緣故。此中有三,此即第一,總標所說法門之號。 + +“能善建立性平等法”者,“性平等法”,謂即真如,遍於人、法,名“性平等”。此真實性,不可施設言說分別。今施設為“性平等法”故,名“建立”。真實法性故,名“最勝法”。令趣入故,名為“門”。 + +#8 2 正陳所說 + +#9 1 以人、法,遍滿離染真理三種,以即般若 + +經曰: + +謂一切有情性平等故,甚深般若波羅蜜多亦性平等; + +一切法性平等故,甚深般若波羅蜜多亦性平等。 + +一切有情性調伏故,甚深般若波羅蜜多亦性調伏; + +一切法性調伏故,甚深般若波羅蜜多亦性調伏。 + +一切有情有實義故,甚深般若波羅蜜多亦有實義; + +一切法有實義故,甚深般若波羅蜜多亦有實義。 + +#10 讚曰: + +此下第二,正陳所說,於中有六。第一,以人、法遍滿離染真理,三種,以即“般若”。皆同前門。 + +第三名無變。此名真理者,前名真法,此名“實義”故。 + +世、出世間,莫過二種:一,“有情”;二,“法”。悟此二種,即是“般若波羅蜜多”觀照之智。二種本性,即成是實相“般若波羅蜜多”,故皆相即。 + +> 註:卍續藏:(“即成是實相”)“成”一作“或”,今恐“成”字衍。 + +#9 2 以人、法,實常德性,法體真境四種,以即般若 + +經曰: + +一切有情即真如故,甚深般若波羅蜜多亦即真如; + +一切法即真如故,甚深般若波羅蜜多亦即真如。 + +一切有情即法界故,甚深般若波羅蜜多亦即法界; + +一切法即法界故,甚深般若波羅蜜多亦即法界。 + +一切有情即法性故,甚深般若波羅蜜多亦即法性; + +一切法即法性故,甚深般若波羅蜜多亦即法性。 + +一切有情即實際故,甚深般若波羅蜜多亦即實際; + +一切法即實際故,甚深般若波羅蜜多亦即實際。 + +#10 讚曰: + +第二,以人、法,實常德性,法體真境,四種,以即“般若”。 + +#9 3 以人、法,非有、離相、不求三種,以即般若 + +經曰: + +一切有情即本空故,甚深般若波羅蜜多亦即本空; + +一切法即本空故,甚深般若波羅蜜多亦即本空。 + +一切有情即無相故,甚深般若波羅蜜多亦即無相; + +一切法即無相故,甚深般若波羅蜜多亦即無相。 + +一切有情即無願故,甚深般若波羅蜜多亦即無願; + +一切法即無願故,甚深般若波羅蜜多亦即無願。 + +#10 讚曰: + +第三,以人、法,非有、離相、不求,三種,以即“般若”。 + +#9 4 以人、法,離染、離生二種,以即般若 + +經曰: + +一切有情即遠離故,甚深般若波羅蜜多亦即遠離; + +一切法即遠離故,甚深般若波羅蜜多亦即遠離。 + +一切有情即寂靜故,甚深般若波羅蜜多亦即寂靜; + +一切法即寂靜故,甚深般若波羅蜜多亦即寂靜。 + +#10 讚曰: + +第四,以人、法,離染、離生,二種,以即“般若”。 + +#9 5 以人、法,無得、虛偽、深妙、離言四種,以即般若 + +經曰: + +一切有情不可得故,甚深般若波羅蜜多亦不可得; + +一切法不可得故,甚深般若波羅蜜多亦不可得。 + +一切有情無所有故,甚深般若波羅蜜多亦無所有; + +一切法無所有故,甚深般若波羅蜜多亦無所有。 + +一切有情不思議故,甚深般若波羅蜜多亦不思議; + +一切法不思議故,甚深般若波羅蜜多亦不思議。 + +一切有情無戲論故,甚深般若波羅蜜多亦無戲論; + +一切法無戲論故,甚深般若波羅蜜多亦無戲論。 + +#10 讚曰: + +第五,以人、法,無得、虛偽、深妙、離言,四種,以即“般若”。 + +> 註:此中略而未說前文之“金剛性”(堅實)。 + +#9 6 以人、法,廣大作用二種,即於般若 + +經曰: + +一切有情無邊際故,甚深般若波羅蜜多亦無邊際; + +一切法無邊際故,甚深般若波羅蜜多亦無邊際。 + +一切有情有業用故,當知般若波羅蜜多亦有業用; + +一切法有業用故,當知般若波羅蜜多亦有業用。 + +#10 讚曰: + +第六,以人、法,廣大、作用,二種,即於“般若”。 + +以境“廣大”,智亦如是。以境具有流轉“業用”,般若亦有觀照境界、除斷之“用”。 + +#8 3 歎此經德 + +經曰: + +佛說如是性平等性甚深理趣最勝法已,告金剛手菩薩等言:若有得聞如是平等般若理趣最勝法門,信解、受持、讀、誦、修習,則能通達平等法性甚深般若波羅蜜多。 + +#9 讚曰: + +第三歎德。“性平等性”者,真如實相,體性“平等”,人、法本性故,名“性平等性”。 + +“則能通達平等法性”,由“聞”、“信”等,此“性平等”威神力故,故“能通達平等法性”。 + +“平等法性”即“深般若波羅蜜多”。“深般若波羅蜜多”,義合二種:一,實相;二,觀照。今達實相,由觀本“性”,遍人、法故。前文所即“深般若”者,即是觀照,不爾,如何實相般若“亦有業用”? + +> 註:卍續藏:(“義合二種”)“合”恐“含”。 + +經曰: + +於諸有情,心無罣礙,疾證無上正等菩提。 + +#9 讚曰: + +所依“法性”,尚能“通達”,能依人、法,理亦無“礙”。 + +“罣”者,障也。“礙”者,拘礙。通達人、法,亦無障“礙”,達所依故,能依亦達。 + +#7 12 有情住持勝藏法門 + +#8 1 標法門名 + +經曰:爾時,世尊復依一切住持藏法如來之相,為諸菩薩宣說般若波羅蜜多一切有情住持遍滿甚深理趣勝藏法門。 + +#9 讚曰: + +#10 此第二段,有情住持勝藏法門,修觀觀照,遍諸人、法,皆善緣故。文中有三,此即第一,標所說法門之名。就中復二:初說依相,後說其名。 + +#11 “住持藏法”者: + +“住”謂住止,謂如來藏等,無始有情皆依之“住”。或此先“住”諸有情中。 + +“持”謂住持,謂如來藏等“住持”有情,為有情本,亦能“住持”一切佛法所有種子。 + +“藏法”者,謂如來藏,即無為中,含容無邊佛功德故,名之為“藏”。 + +“一切有情住持遍滿”,謂如來藏,遍滿依住“有情”身心,能持一切佛法功德,此即一切殊勝寶藏。詮此教法,名為“法門”。如來藏義,是根本名,故不說餘金剛藏等。 + +#8 2 正陳所說 + +#9 1 第一法體,談本藏故 + +經曰:謂一切有情皆如來藏,普賢菩薩自體遍故。 + +#10 讚曰: + +自下第二,正陳所說,於中有四。此即第一。 + +“一切有情皆如來藏”者,“如來藏”者,即是真如在纏之名,出纏之時名法身故。“藏”謂庫藏,諸佛所有一切功德皆在其中,名“如來藏”。現行功德未能起故,不名法身。又此真性正實“如來藏”,在纏中名“如來藏”。一切眾生皆有真理,故《勝鬘》云:夫生死者,是如來藏。 + +“普賢菩薩自體遍故”者,“賢”謂賢善,遍體三業,一切賢善,故名“普賢”。菩薩證此“普賢”善理,又其自體“普”皆“賢”善,三業等法,一切皆“賢”。由是菩薩所證真理、能證有為自體等法,一切調順,竝皆“賢”善。 + +又由此性,體遍三業,能令三業“普”皆“賢”善,故名“普賢”。 + +然今“菩薩”“普賢”本性即“如來藏”。故說“普賢菩薩”“自體”“遍”“有情”“體”故。“有情”者,皆“如來藏”,廢用、顯“體”,名“普賢”“遍”。 + +#9 2 第二法用,破生死故 + +經曰:一切有情皆金剛藏,以金剛藏所灌灑故。 + +#10 讚曰: + +此即第二。“一切有情皆金剛藏”,即“如來藏”。堅實難壞,能有破裂生死之德,名“金剛藏”。金剛藏菩薩能證於此“金剛藏”理,亦能獲得“金剛藏”智,名“金剛藏”。 + +然今“一切有情”,本體皆“金剛藏”。然以般若“金剛藏”教,“灌灑”身心,悉得堅實破裂生死堅固之法,故知“有情皆金剛藏”。 + +“灌”者,入身心之義。“灑”者破生死之業。以彼展轉“金剛藏”教,所“灌灑”時,破生死故。 + +#9 3 第三教依,無倒本故 + +經曰:一切有情皆正法藏,一切皆隨正語轉故。 + +#10 讚曰: + +此即第三。“一切有情皆正法藏”,“正法”即是般若真教。“藏”謂庫藏,“一切有情”皆是“正法”之庫“藏”也。以諸“有情”“皆”能“隨”順“正語”“轉”故。 + +言“正語”者,謂順理語即是。契經謂諸“有情”“皆”能“隨”順“正語”而“轉”。 + +“轉”謂動轉,能依正語聖教法行,得堅實法故。 + +有情性、相,竝名“有情”。從諸“有情”,發起“正語”,故諸“有情”,名“正法藏”。 + +#9 4 第四德依,諸德本故 + +經曰:一切有情皆妙業藏,一切事業加行依故。 + +#10 讚曰: + +此即第四。 + +“一切有情皆妙業藏”,“妙業”即是菩薩所有諸善三“業”。“藏”義同前。“一切有情”皆是菩薩“妙業”庫“藏”。 + +菩薩欲起諸善“事業”,皆為“有情”。或為證彼“有情”本性,或欲拔彼生死苦惱,發起“加行”。故有情是“加行”所“依”,所依即“藏”。從諸“有情”起“妙業”故。 + +#11 上來四種: + +第一法體,談本藏故。 + +第二法用,破生死故。 + +第三教依,無倒本故。 + +第四德依,諸德本故。 + +若不能曉,與此相違。 + +#8 3 歎經勝德 + +經曰:佛說如是有情住持甚深理趣勝藏法已,告金剛手菩薩等言:若有得聞如是遍滿般若理趣勝藏法門,信解、受持、讀、誦、修習,則能通達勝藏法性,疾證無上正等菩提。 + +#9 讚曰: + +自下第三,歎經勝德。“勝藏法性”即“如來藏”等四種“勝藏法”本“性”故。由今“聞”等,故後“通達”。 + +#5 3 明菩薩果 + +#6 13 無邊無際究竟法門 + +#7 1 總標所說法門之號 + +經曰:爾時,世尊復依究竟無邊際法如來之相,為諸菩薩宣說般若波羅蜜多究竟住持法義平等金剛法門。 + +#8 讚曰: + +自下第三,二段明行得果,於中分二:初,無邊無際究竟法門,得二果時,廣深一味,極殊勝故,自利果德;後,甚深理趣無上法門,得二果已,自利利他,為三界主,隨諸有情,所願皆從,利他果德。此即初段。就此初段中,文有其三,此即第一,總標所說法門之號。於中復二:初說所依,後辨其名。 + +“究竟”者,最勝義、第一義、無上義、窮極義。“無邊”者,廣;“無際”者,深。此意說言:佛身最勝、廣、深之法。 + +“究竟住持法義平等”者,“究竟”者同前釋。“住”者依止。“持”者住持。 + +“法”者,能詮文字之教。“義”者,所詮理趣之義。“平等”者,相似義、不異義。 + +“金剛”者,堅實義、能破義。謂最勝依止“住持”教、理不異,破壞生死。 + +“法門”謂“法、義”皆能“無邊、際”等故。又“究竟住持”,“住持”一切諸佛法故。“法義平等”,相順無二。“金剛法”者,能破生死堅實“法門”。 + +#7 2 正陳所說 + +經曰:謂甚深般若波羅蜜多無邊故,一切如來亦無邊。 + +#8 讚曰: + +此下第二,正陳所說。 + +#9 前性平等性最勝法門中,說“一切有情無邊”等故,“甚深般若波羅蜜多亦無邊”。“般若”既通實相、觀照、文字等五,三身“如來”,隨亦“無邊”。 + +> 註:見“顯經體性”中五般若:實相、觀照、文字、境界、眷屬。 + +實相之理,法身“無邊”。 + +觀照之智,報身“無邊”。 + +依此二種,化身應物隨緣,即現業用“無邊”。 + +“無邊”者,廣量難測故。諸根相好一一“無邊”,無限善根所引生故。 + +經曰:甚深般若波羅蜜多無際故,一切如來亦無際。 + +#8 讚曰: + +“無際”者,深妙難知故,亦由三劫難修所得故。“深般若”名為“無際”。此成三身,亦名“無際”。非是二乘凡夫等類、十地菩薩所能知故。 + +經曰:甚深般若波羅蜜多一味故,一切法亦一味。 + +#8 讚曰: + +此能觀觀照及所觀理、方便等五法,皆“一味”故,名為“平等”。 + +“一味”者,一相義,謂無相和合義、無分別義。 + +又“一味”者,堅實故,離苦樂相,無歡戚故。其一切法,若教、若義,皆亦“一味”。隨二般若,無乖諍故。 + +#9 《佛地經》說: + +譬如三十三天未入雜林,終不能於若事、若受,無我、我所,和合受用。若入雜林,即無分別,隨意受用。由此雜林,有如是德能,令諸天入此林者,天諸果報,若事、若受,無所思惟,和合受用。 + +如是菩薩,若未證得無生法忍,終不能得平等之心、平等之捨,乃與一切聲聞獨覺無有差別,有二想故,彼不能住受用和合一味事智。若已證得無生法忍,遣二想故,得平等心,遂與聲聞獨覺差別,由平等心而能住捨,受用和合一味事智。 + +#9 彼《論》說言: + +三十三天有一雜林,諸天和合福力所感,令諸天眾,不在此林,宮殿等事、苦樂受等勝劣有異,有我、我所差別受用。若在此林,若事、若受,都無勝劣,皆同上妙無我、我所,和合受用,能令平等和合受用,故名雜林。此由諸天,各修平等和合福業增上力故,令彼諸天,本識變現,同處、同時、同一相法。由彼雜林增上力故,令彼轉識,亦同變現,雖各受用,而謂無別。 + +如是地前、地上菩薩,差別、無差別,亦復如是。二相、無相所引生故,未得無生及得別。 + +#9 故即彼《經》云: + +又如種種大小眾流,未入大海,各別所依,異水、少水,水有增、減,隨其水業,所作各異,少分依持水族生命。若入大海,無別所依,水無差別,水無限量,水無增減,所作業一,廣大依持水族生命。 + +如是菩薩,若未證入如來清淨法界大海,各別所依,異智、少智,智有增減,隨其智業,所作各異,少分眾生成熟善根之所依止。若已證入如來清淨法界大海,無別所依,智無限量,智無增減,受用和合一味事智,無量眾生成熟善根之所依止。 + +#9 彼《論》說言: + +水別所依,種種地方為所依故。菩薩所依,別別如來為所依故。 + +異水者,清、濁、灰、美,水差別故。菩薩異智者,各別勝解所修成故。所餘法譬,隨義可知。 + +菩薩既然,故修成時,成佛之位,三身萬德,各唯一味。 + +經曰:甚深般若波羅蜜多究竟故,一切法亦究竟。 + +#8 讚曰: + +此觀照及境、文字等五,最勝第一,名為“究竟”。諸法及義,隨般若亦爾。 + +此中意顯:由深般若,因位文字、眷屬、境界,“無邊”“無際”“一味”“究竟”,所行之行得三身果,所說“法”“義”,隨身亦爾。有深般若諸法本性,本性既“一味”、“究竟”,故法亦爾。 + +#7 3 歎經勝德 + +經曰:佛說如是無邊無際究竟理趣金剛法已,告金剛手菩薩等言:若有得聞如是究竟般若理趣金剛法門,信解、受持、讀、誦、修習,一切障法皆悉消除,定得如來執金剛性,疾證無上正等菩提。 + +#8 讚曰: + +此即第三,歎經勝德。既聞般若及佛三身所有“法、義”,“無邊、際”等,“一切障法皆悉銷除,定得如來執金剛性”,謂領受此能破生死真實本性、真如法界,“疾證無上正等菩提”。此中具有滅惡、攝善二種勝德。 + +#6 14 甚深理趣無上法門 + +#7 1 初標法門之號 + +經曰:爾時,世尊復依遍照如來之相,為諸菩薩宣說般若波羅蜜多得諸如來祕密法性及一切法無戲論性,大樂金剛不空神呪金剛法門;初中後位,最勝第一甚深理趣無上法門。 + +> 註:卍續藏:(“不空神呪金剛法門”)“門”疏牒作“性”。 + +#8 讚曰: + +此第二段,甚深理趣無上法門,得二果已,自利利他,為三界主,隨諸有情所願皆從,利他果德。 + +“遍照”智者,即一切智、一切種智。如睡夢覺,如蓮華開,通達諸法,遍能自利及利他盡,名為“遍照”。 + +“得諸如來祕密法性”,“得”謂獲證,謂此法門能“得”“祕密”等。可貴可重名“祕”,幽隱難知名“密”,即是有為一切殊勝幽微諸法,謂菩提是。 + +“及一切法無戲論性”,即真法界,離諸名言及分別故。 + +#9 “大樂”者,得無漏樂。樂有五種: + +一,因樂; + +二,受樂; + +三,苦對治樂; + +四,斷受樂; + +#10 五,無惱害樂,此中有四: + +一,出離樂; + +二,遠離樂; + +三,菩提樂; + +四,涅槃樂。 + +今得此五及後四種,故言“大樂”,遍滿法界俱是“樂”故。 + +“金剛”者,能破義一切障法,悉能破故。 + +“不空”者,顯此妙法,非空無果,必有靈驗殊勝異果,名為“不空”。 + +“神呪“者,“神”謂聖德,理事自在。“呪”謂總持。謂十方佛共有聖德,名之為“神”。以一略言,具一切佛法所有功德,破滅一切生死怨敵,總含諸德,故名“總持”。此名為“呪”。 + +“金剛法”性者,諸佛般若,堅實諸法,此為第一,故名“法性”。 + +此上所詮法門所得行,以下總是能得法門。 + +“初中後位”者,謂此經中初說、中說、後說三位;或發心、修行、證得三位;或聽聞、修行、離欲三位。此為“最勝”無二,“第一”“無上”法行,由此法門,最“第一”故,能證“如來祕密法性”等。 + +#7 2 正陳所說 + +#8 1 以三復次,說菩薩行十惡業道等因,所得果利 + +#9 1 初復次:為返惡故,說相似貪 + +#10 1 明惡業道,貪等為因,所得果利 + +#11 1 明自利果 + +經曰:謂大貪等最勝成就,令大菩薩大樂最勝成就; + +#12 讚曰: + +自下第二,正陳所說,文中有二。初以三復次,說菩薩行十惡業道等因,所得果利;後三復次,說陀羅尼。初中有三復次,初復次中有二:初,明惡業道,貪等為因,所得果利;後,明善業道,般若為因,所得果利。明貪等為因中,初明自利果,後明利他果。 + +#13 明自利果中,明由貪等為因,展轉得四種果: + +一,由貪等為因,得大樂; + +二,大樂為因,得大覺; + +三,大覺為因,得能降四魔; + +四,降四魔為因,得自在。 + +#13 云何名為“謂大貪等最勝成就”?所謂菩薩於其因中,翻其生死十惡業道,自行出世十惡業道: + +> 註:參考《攝大乘論無性釋》卷8:(增上戒學之引發差別,十種難行)「八隨覺難行,於諸如來所說甚深祕密言詞能隨覺故。」(CBETA 2020.Q1, T31, no. 1598, p. 427c12-13) + +一,能殺生。謂斷眾生,生死流轉。斷是殺義。 + +二,不與取。無有與者,自然攝取。是無他求,自攝益義。 + +#14 三,欲邪行。了知欲為邪,而修於正行。若分別欲,實知唯邪。 + +> 註:卍續藏:(“於正行”)“性”下一有“若境界欲”四字。 + +如有頌言:佛說貪、恚、癡,皆從分別起,淨、不淨顛倒,此亦為緣生。淨、不淨顛倒,為緣而有者,彼自性皆無,故顯非真實。 + +#14 四,妄語。若於妄中,能說為妄。 + +如有頌言:一切虛妄法,世尊如實說,於虛妄法中,諸行最虛妄。 + +五,離間語。云何貝戍尼?謂常居最勝空。貝戍尼言,顯目離間語,密詮常勝空。貝表勝義,戍表空義,尼表常義。今取密義。 + +六,麁惡語。云何波魯師?謂善安住所知彼岸。此波魯師,顯目麁惡語,密詮住彼岸。彼岸即是一切智,佛於其中能善安住名波魯師。 + +七,綺間語。若正說法品類差別。 + +> 註:卍續藏:(“綺間語”)“間”疑“飾”。 + +八,貪欲。《攝大乘》說:若有數數欲自證得無上靜慮,此意但說從散引生,但言貪定。謂起大貪欲,欲無上菩提。貪於生死,度脫有情,名為貪欲。 + +> 註:卍續藏:(“但言貪定”)“定”一作“欲”。 + +九,嗔恚。若於其心,能正憎害一切煩惱,已斷、已滅,是憎害義。 + +十,邪見。若一切處,遍行邪性,皆如實見。即見一切虛妄分別,邪亂為性。 + +雖諸菩薩密行十惡業道,今舉意業,“大貪”為首,據實通行三業為因。由此菩薩“最勝成就”,行此十因,故感前五種“樂”,勝於凡位所有諸“樂”,故名“最勝”。又“大樂”者,謂五修果,離種種相得法苑樂,如前已辨。 + +> 註:見第一“甚深微妙清淨法門”。 + +經曰:大樂最勝成就,令大菩薩一切如來大覺最勝成就; + +#12 讚曰: + +證得五樂法苑樂故,能得“大覺”,“覺”自及他,若理、若事。菩薩位得一切佛因,佛位名得“大覺”圓滿。 + +經曰:一切如來大覺最勝成就,令大菩薩降伏一切大魔最勝成就; + +#12 讚曰: + +由“覺”事、理,自他邪正,故能永斷四種“大魔”。 + +經曰:降伏一切大魔最勝成就,令大菩薩普大三界自在最勝成就; + +#12 讚曰: + +由降四魔,超過“三界”,得尊位果,故“普大三界”。不為生死四魔所壞,故名“自在”。 + +#13 略說“自在”,有其十種: + +> 註:六度之果,見“法王灌頂智藏法門”。 + +謂壽自在;心自在;眾具自在。此三,因施度圓滿。 + +業自在;生自在。由戒度圓滿。 + +勝解自在,由忍度圓滿。 + +願自在,由勤度圓滿。 + +神力自在,由定度圓滿。 + +智自在;法自在。由般若度圓滿。 + +如《攝論》等第九卷說。 + +此十自在,以宗而說,名自利果。證得之時,亦有分位,故“佛自在”“普大”於“三界”。 + +故有頌言:天地此界多聞室,逝宮天處十方無,丈夫牛王大沙門,尋地山林遍無等。故佛世尊“普大三界”。 + +略而言之,清淨法界、大圓鏡智、平等性智、妙觀察智、成所作智,福德、智慧二種莊嚴,故為“最勝”。 + +#11 2 明利他果 + +經曰:普大三界自在最勝成就,令大菩薩能無遺餘拔有情界,利益安樂一切有情畢竟大樂最勝成就。 + +#12 讚曰: + +上明自利,下明利他,於中有二,初明廣大、第一之心,利他之行。所以者何?下後明常心、不顛倒心,利他之行。 + +> ​​註:《金剛般若波羅蜜經論》卷1:「論曰:云何菩薩大乘中住?問答示現此義。偈言:廣大第一常,  其心不顛倒,利益深心住,  此乘功德滿。此偈說何等義?若菩薩有四種深利益菩提心,此是菩薩大乘住處。何以故?此深心功德滿足,是故四種深利益攝取心生,能住大乘中。何等為四種心?一、廣;二、第一;三、常;四、不顛倒。云何廣心利益?如經「諸菩薩生如是心,所有一切眾生眾生所攝,乃至所有眾生界眾生所攝」故。云何第一心利益?如經「我皆令[1]住無餘涅槃而滅度之」故。云何常心利益?如經「如是滅度無量無邊眾生,實無眾生得滅度者。何以故?須菩提!若菩薩有眾生相即非菩薩」故。此義云何?菩薩取一切眾生猶如我身。以此義故,菩薩自身滅度,無異眾生得滅度者。若菩薩於眾生起眾生想,不生我想者,則不應得菩薩名。如是取眾生如我身,常不捨離,是名常心利益。云何不顛倒心利益?如經「何以故非?須菩提!若菩薩起眾生相、人相、壽者相,則不名菩薩」故。此示現遠離依止身見眾生等相故。」(CBETA 2020.Q1, T25, no. 1511, pp. 781c21-782a14)[1]:住【大】,入【宋】【元】【明】【宮】​《瑜伽論記》卷21釋《解深密經》:「第六辨菩薩行諸大願。言廣大妙勝願者。此有兩釋。一釋廣化諸有情故。名廣大願。修一切善故。名妙願。斷一切惡故。名勝願。一釋廣大願者。即廣大心。妙願即是第一心。勝願即無顛倒心也。」(CBETA 2020.Q1, T42, no. 1828, p. 785b5-9)​​ + +“能無遺餘拔有情界”者,即所有眾生、眾生所攝,卵生、胎生、濕生、化生,若有色、若無色,若有想、若無想,若非有想、若非無想,竝皆拔苦,而與其樂。 + +無一眾生非悲智境,故“無遺餘”。“遺”者,遺落、失沒之義。“餘”者,剩杖,殘不盡義。 + +> 註:卍續藏:(“剩杖”)“杖”恐當作“枚”。 +按:下文亦有“剩杖”。是何意?【?】​ + +“拔”謂拔濟,“拔”諸“有情”,無一“有情”,遺落失沒,剩杖殘叢,而不“拔”者。 + +意樂遍滿十方三界,五趣、四生,故名廣大心也。 + +#13 “利益安樂”“畢竟大樂最勝成就”者,利益有十利,謂《菩薩地》說: + +一,純利;二,共利;三,利益種類利;四,安樂種類利;五,因攝利;六,果攝利;七,此世利;八,他世利;九,畢竟利;十,不畢竟利。 + +安樂有五,如前已說。 + +又攝善名“利益”,離惡名“安樂”。等有十對,解如《唯識疏》。 + +“畢竟大樂”,所謂《涅槃》《金剛經》云:我皆令入無餘涅槃。彼通三乘,但說涅槃,不說餘者,今取菩提及涅槃樂,即是有為、無為一切無漏所有功德,令諸有情怡適調順,無所違損,無所逼惱,故名“大樂”。即第一心,欲令有情住極勝處,故名第一。 + +> 註:卍續藏:(“《金剛經》云”)“剛”下一有“般若”二字。 + +經曰:所以者何?乃至生死流轉住處,有勝智者,齊此常能以無等法饒益有情,不入寂滅。 + +#12 讚曰: + +“所以者何”?徵其所由。“拔”諸“有情”“能無遺餘”致涅槃界之“所以”者,“何”謂是也?“乃至生死流轉住處”者,能盡未來,時無限也。能隨十方一切有情“生死流轉”之時,時名節。十方世界“住處”所在,即顯處廣、時廣。 + +> 註:卍續藏:(“時名節”)“時名”恐字倒。 + +“有勝智者”,謂能共離我及我所。離人、法執,名“勝智者”。生、法二智,悉皆圓滿,即是其言心不顛倒也。名“勝智”者,離二執故。齊此常能以“無等法”,“饒益有情”,“不入寂滅”。齊十方界處、齊未來際生死之時,常能以此第一最勝“無等”類法,利樂“有情”。有情無限,入涅槃期,不可窮盡故。 + +“勝智”者,隨諸有情,“不入寂滅”。何以故?以無法執及有情執,無自、他相,故利有情,常無窮盡。如世父母,拔濟男女,心生悲愍,無自、他相,不憚劬勞,故能長時,生悲濟意。菩薩亦爾,故名常心。 + +因中四心既圓滿已,故至佛位,能益有情,無盡限期,常能濟拔十方法界,皆度脫盡。即是《金剛》四種心因,得四果也。 + +#10 2 明善業道,般若為因,所得果利 + +經曰:又以般若波羅蜜多方便善巧成立勝智,善辦一切清淨事業,能令諸有皆得清淨。 + +#11 讚曰: + +初復次中,上來以貪等為因,所得果利;此以般若為因,所得果利。 + +#12 “方便”者,由智慧力,隨諸有情病行、機器、意樂,應時即為顯現說法等事,故名“方便”。曲順時宜,令其入道之前加行,名為“方便”。 + +如在路行,見人逐兔,他問見不?應坐答言:我實不見,為護殺事,即現坐相,云我不見,非是立時,我不見也。不犯妄言,護殺事成。 + +菩薩亦爾,欲令眾生捨偽入真,於無名法,以名字說,隨其輕重、時節所宜,應機而說,令其入道。 + +以象表無象,以言表無言,不稱其真,故名“方便”。 + +妙得其趣,應物隨時,處事之間,亦不曾失,故名“善巧”。 + +“成立勝智”,由此“善巧”為其因故,果得“勝智”,“勝智”即是二智所攝,“方便善巧”“波羅蜜多”。智之差別有其二種:一,迴向;二,拔濟。此迴向也,究竟歸一切智故。 + +“善辨一切清淨事業”者,謂神通、記心、漏盡三種。福智二因,自他二利,一切善事悉皆善辨。 + +“能令諸有皆得清淨”者,三有、九有,因果雙亡。生死染污悉皆銷滅,故名“清淨”,即一切惡悉皆除滅。 + +前貪等為因,雖有二利,宗在利他,起四種心。此以般若為因,能修善盡,能除惡盡。菩提之心,既有三種,所得果利,亦有其三。雖前門說貪等為因,體即般若,以異名說。一切皆以般若為性。此上總是初復次解。 + +> 註:三種菩提之心為何?【?】 + +#9 2 二復次:大悲所逼,說相似貪 + +#10 1 明利他 + +經曰:又以貪等調伏世間,普遍恒時乃至諸有皆令清淨,自然調伏。 + +#11 讚曰: + +自下第二,重解貪等所得果利,於中有二:初明利他,後明自利。此利他也。 + +謂以“貪等調伏世間”等者,謂佛菩薩觀諸有情,多慳所蔽,雖有珍財,不能修福,亦不自用,如割身肉,深生痛惜。菩薩知其因慳所蔽,增長惡業,當墮惡趣,無有出期,遂起大貪,集其財寶,令捨慳悋,不起惡業。 + +#12 菩薩實是後得智中大悲之心,起此貪等,不為己身名利、諸眾眷屬恭敬,故起一貪,增百千善。 + +由是善財求善知識,遇見一王殺縛鞭杖無量眾生,善財心悔,王語之言:此諸眾生愚鈍恨悷,若不苦楚,終不調伏,故我苦之。善財方解。 + +> 註:卍續藏:“恨”一作“佷”。 + +如仙譽國王,殺五百波羅門,更增功德,此亦如是。 + +> 註:見《涅槃經》“仙豫”。《諸經要集》十一曰:「如仙譽國王,殺五百婆羅門生地獄中。發生信心,生甘露國。」 + +一切十惡所有業道,皆準此知。故起貪時,菩薩大利。 + +#10 2 明自利 + +經曰:又如蓮華形色光淨,不為一切穢物所染,如是貪等饒益世間,住過、有過,常不能染。 + +#11 讚曰: + +此明貪等自利之行。菩薩身心起此“貪等”,“形色光淨”,“不為一切穢物”煩惱“所”能“染”污,故留煩惱,助願受生,作大自在。 + +若是佛者,似其“貪等”,以此“貪等”“饒益”有情。 + +設“住”煩惱“過”失之心;“住”餘有漏善、無記心,名為“有過”。“過”是漏義。 + +於此三性,一切時中,“不能染”污。如“蓮華”等,雖出泥中,泥“不能染”。菩薩之心亦復如是。 + +#9 3 三復次:為求利己,說相似貪 + +經曰:又大貪等能得清淨大樂大財,三界自在,常能堅固饒益有情。 + +#10 讚曰: + +此即第三,復次重釋。 + +“又大貪等”者,謂我貪等。“貪”名貪好,恐身造惡,當墮生死。“貪”為自身,修道離苦。故《維摩》云:寧起我見如須彌山,不起空見如毛髮許。以空邪見,無斷修故。若“貪”有我,恐增惡名,便增修道。 + +因以“貪等”,果得“大樂”,七種聖“財”、法界珍“財”,為“三界”主,不為過染,得十“自在”,於一切時、於一切處、於一切事,“堅固饒益”一切“有情”。“有情”“饒益”即菩薩利。 + +#11 此中三種,由昔因中,或在果位,能以“貪等”為因修習,故在果位,得果無邊。 + +初是實行,為返惡故,說相似貪。 + +第二,大悲所逼,說相似貪。 + +第三,為求利己,說相似貪。 + +然正起行,生死煩惱、惡業皆滅。故染貪等,一切皆亡,如何說起? + +#8 後三復次,說陀羅尼 + +#9 經曰:爾時,如來即說神呪: + +納慕薄伽筏帝(一)鉢剌壤波囉弭多曳(二)薄底(丁履反下同)筏攃(七葛反)羅曳(三)罨跛履弭多窶拏曳(四)薩縛呾他揭多跛履布視多曳(五)薩縛呾他揭多奴壤多奴壤多邲壤多曳(六)呾姪他(七)鉢剌𠯋(一第反下同)鉢剌𠯋(八)莫訶鉢剌𠯋(九)鉢剌壤婆娑羯囇(十)鉢剌壤路迦羯囇(十一)案馱迦囉毘談末泥(十二)悉遞(十三)蘇悉遞(十四)悉殿都漫薄伽筏底(十五)薩防伽孫達囇(十六)薄底筏攃囇(十七)鉢剌娑履多喝悉帝(十八)參磨濕嚩娑羯囇(十九)勃𭈪勃𭈪(二十)悉𭈪悉陀(二十一)劍波劍波(二十二)浙羅浙羅(二十三)曷邏嚩曷邏嚩(二十四)阿揭車阿揭車(二十五)薄伽筏底(二十六)麼毘濫婆(二十七)莎訶(二十八) + +如是神呪,三世諸佛皆共宣說,同所護念。能受持者,一切障滅,隨心所欲,無不成辨,疾證無上正等菩提。 + +#9 爾時,如來復說神呪: + +納慕薄伽筏帝(一)鉢剌壤波囉弭多曳(二)呾姪他(三)牟尼達謎(四)僧揭洛訶達謎(五)遏奴揭洛訶達謎(六)毘目底達謎(七)薩馱奴揭洛訶達謎(八)吠室洛末拏達謎(九)參漫多奴跛履筏剌呾那達謎(十)窶拏僧揭洛訶達謎(十一)薩縛迦羅跛履波剌那達謎(十二)莎訶(十三) + +如是神呪,是諸佛母,能誦持者,一切罪滅,常見諸佛,得宿住智,疾證無上正等菩提。 + +#9 爾時,如來復說神呪: + +納慕薄伽筏帝(一)鉢剌壤波囉弭多曳(二)怛姪他(三)室囇曳(四)室囇曳(五)室囇曳(六)室囇曳細(七)莎訶(八) + +如是神呪,具大威力,能受持者,業障消除,所聞正法,總持不忘,疾證無上正等菩提。 + +#9 讚曰: + +自下第二段,三復次呪。此第一呪,歎德如文。 + +諸佛口同“說”,心皆共“護念”。“護”者,加持。“念”者,記憶。諸佛之心,加持不忘。 + +“隨心所欲”,除諸惡願,善者皆從。 + +其第二呪,歎德之中,出生諸佛,名之為“母”,一切諸佛生其本故。“宿住智”者,所生之處,皆得妙智,知過去世住劫等事,善惡因果皆能了知,即“宿住智”。 + +其第三呪,歎德之中,“具大威”者,眾德莊嚴,一切敬畏。“力”者,能伏一切。“所聞正法總持不忘“者,得法義持。念慧明記,應永不忘。 + +故此中所釋,逐彼歎文。所餘異文,準義可解。 + +> 註:慈海宋順註:此下三咒,又出《陀羅尼集經》第三,及《法苑珠林》第七十五。 + +#7 3 歎經勝德 + +#8 1 別歎此處一段法門 + +#9 1 歎滅惡攝善德 + +#10 1 總歎斷惡得善德 + +經曰:爾時,世尊說是呪已,告金剛手菩薩等言:若諸有情,於每日旦,至心聽誦如是般若波羅蜜多甚深理趣最勝法門,無間斷者,諸惡業障皆得消滅,諸勝喜樂常現在前。 + +#11 讚曰: + +自下第三,歎經勝德,於中分二:初,別歎此處一段法門;第二,總歎一卷經德。就初之中,文有其三:初,歎滅惡攝善德;次,歎種因方遇德;後,歎所在應尊德。初歎之中,初總歎斷惡得善德,後別歎引生諸善德。此為初也。 + +#10 2 別歎引生諸善德 + +經曰:大樂金剛不空神呪,現身必得究竟成滿一切如來金剛祕密最勝成就,不久當得大執金剛及如來性。 + +#11 讚曰: + +#12 自下別歎引生諸善德。於中有三: + +一,成滿大樂金剛呪; + +二,成就金剛祕祕法,此即教行及理法寶,現前必得; + +#13 三,得執金剛如來性,此在佛位。“大執金剛”謂佛真智。“如來性”者,即是法身,果法寶也。 + +此後二果,因位不成,故言“當得”,至佛得故。 + +#9 2 歎種因方遇德 + +經曰:若有情類,未多佛所植眾善根、久發大願,於此般若波羅蜜多甚深理趣最勝法門,不能聽聞、書寫、讀、誦、供養、恭敬、思惟、修習。 + +#10 讚曰: + +此下第二,種因方遇德。凡所修習,行、願必兼。若先無二,不能於此起十法行。於中有七:一,聽聞;二,書寫;三,讀;四,誦;五,供養、恭敬;六,思惟;七,修習。餘三法行,亦復如是,謂施他、受持、開演三種。 + +此中之書寫,尚由因遇,況復受持等。此等都明:無因不遇。 + +經曰:要多佛所植眾善根、久發大願,乃能於此甚深理趣最勝法門,下至聽聞一句一字,況能具足讀、誦、受持。 + +#10 讚曰: + +自下正論,有因方遇。其文可解,義準前知,不能具說,十種竝然。 + +經曰:若諸有情供養、恭敬、尊重、讚歎八十殑伽沙等俱胝那庾多佛,乃能具足聞此般若波羅蜜多甚深理趣。 + +#10 讚曰: + +#11 上明一句一字,尚假先因,此明從首至終,故資多行。 + +四事俱羅,號為“供養”。 + +三業虔奉,立“恭敬”名。 + +頂載慇懃,復稱“尊重”。 + +> 註:卍續藏:“載”恐“戴”。 + +先談不已,又名“讚歎”。 + +“殑伽”者,恒神之名。“等”者相似,佛數齊均,與沙相似。此河之中,純沙無石。如今渭水,無石唯沙。 + +“俱胝”者,百萬也。“那庾多”者,萬萬也。 + +一顆沙為一“俱胝那庾多”佛,令供養等八“十殑伽沙”百萬之萬萬佛,“乃能具足”“聞此”深經。不爾,無能具聞深義,以經“深”“理”,非是小智、下愚所知。故假大因,今方修遇。歡哉今者,幸遇靈文! + +#9 3 歎所在應尊德 + +經曰:若他方所流行此經,一切天、人、阿素洛等,皆應供養,如佛制多。有置此經在身或手,諸天、人等皆應禮敬。 + +#10 讚曰: + +自下第三,所在應尊德。在處處尊,在人人貴,隨文可解。 + +“佛制多”者,舊云支提,即塔廟。塔廟安置化身遺骨,尚可“敬”嚴,況此法身,能無“供養”? + +#8 2 總歎一卷經德 + +#9 1 略別歎 + +經曰:若有情類受持此經,多俱胝劫得宿住智,常勤精進修諸善法,惡魔外道不能稽留,四大天王及餘天眾常隨擁衛,未曾暫捨,終不橫死、枉遭衰患,諸佛菩薩常共護持,令一切時善增惡減,於諸佛土隨願往生,乃至菩提,不墮惡趣。 + +#10 讚曰: + +自下第二,總歎一卷經之勝德。於中有二:初略別歎,後總結歎。此即初也。 + +#11 於中有十德: + +一,“多”“劫”“得宿住智”。 + +二,所生“常”“精進”“修”“善”。 + +三,“魔”等“不”“稽留”。 + +四,諸“天”“常”“衛”護。 + +五,“終不橫死”。 + +六,無“枉”“衰患”。“衰”謂禍起,“衰”家敗身。“患“謂染疾。終無此事。 + +七,“佛”及“菩薩”“常”所“護”念。 + +八,令“惡”滅、“善”生。 + +九,“隨願”“生”“佛土”。 + +十,從今日後,“乃至菩提”,“不墮”三“惡趣”。“惡趣”之言,通攝人中三種惡趣,皆亦“不墮”。謂無形、黃門二形、女人。 + +> 註:人中三惡趣之說有不同【?】,見《成唯識論疏抄》卷8:「人中三惡趣。謂如人是人中地獄。由如八大地獄。若二形是人中畜生。若黃門是人中餓鬼。」(CBETA 2020.Q1, X50, no. 819, p. 283b11-12 // R80, p. 512b9-10 // Z 1:80, p. 256d9-10) + +#9 2 總結歎 + +經曰:諸有情類,受持此經,定獲無邊勝利功德,我今略說如是少分。 + +#10 讚曰: + +此總結歎也。所詮真相,窮本性之甚深;能詮教門,因玄宗之極妙。 + +“受持”者,“獲”“利”“無邊”,未可具言,故說“少分”。故修行者,欲證此德,當勤修學,究竟取證,方知“此經”“勝利”無盡。 + +#4 (三)感悟修行分 + +#5 經曰:時薄伽梵說是經已,金剛手等諸大菩薩,及餘天眾,聞佛所說,皆大歡喜,信受奉行。 + +#6 讚曰: + +此即第三,感悟修行分。“諸大菩薩”,集報土之上人。“及餘天眾”,會化身之大士。皆感如來盛說,能悟寂止之宏宗,順領深心,修行散席。 + +#7 般若理趣分疏卷第三大尾 + +享保丙申歲十月吉日 + +京兆吉田元信 + +> 2020.6.17 宗超校錄 + diff --git "a/docs/\351\207\221\345\211\233\350\210\254\350\213\245\346\263\242\347\276\205\345\257\206\347\266\223\357\274\210\346\242\265\346\226\207\343\200\201\344\270\203\350\255\257\346\234\254\345\260\215\347\205\247\357\274\211.md" "b/docs/\351\207\221\345\211\233\350\210\254\350\213\245\346\263\242\347\276\205\345\257\206\347\266\223\357\274\210\346\242\265\346\226\207\343\200\201\344\270\203\350\255\257\346\234\254\345\260\215\347\205\247\357\274\211.md" new file mode 100644 index 0000000..0a9c483 --- /dev/null +++ "b/docs/\351\207\221\345\211\233\350\210\254\350\213\245\346\263\242\347\276\205\345\257\206\347\266\223\357\274\210\346\242\265\346\226\207\343\200\201\344\270\203\350\255\257\346\234\254\345\260\215\347\205\247\357\274\211.md" @@ -0,0 +1,4162 @@ +#1 金剛般若波羅密經(梵文、七譯本對照) + +#2 金剛般若波羅密經 + +> 讲解:http://www.duobaojiangsi.com/f/news/detail2?id=f49cf1a05b104de49c489109511b01ce +​​ +​金剛般若波羅密經 鳩摩羅什大師譯本 http://cbetaonline.cn/zh/T0235_001 為底本, +​附七譯本對照​: + http://blog.sina.com.cn/s/blog_631c31220102e59s.html + ​http://www.baus-ebs.org/sutra/fan-read/008/0220/577.htm +https://www2.hf.uio.no/polyglotta/index.php?page=fulltext&vid=22&view=fulltext (藏、蒙、英译)​ +​ +参考:世界佛学名著译丛 11 蒙藏梵汉和 五译合璧 金剛般若波羅密經 +​​ + 00 Vajracchedikā nāma triśatikā prajñāpāramitā* + Vaidya, Dr. P.L ed.  Buddhist Sanskrit Texts No. 17 Mahāyāna-sūtra-saṁgrahaḥ (part 1).  Darbhanga :The Mithila Institute, 1961. + + 00 Namo bhagavatyā āryaprajñāpāramitāyai +​​ + 01《金刚般若波罗蜜经》(大正8,748c-752c) +姚秦天竺三藏鸠摩罗什译(弘始四年.西元401~?) + + 02《金刚般若波罗蜜经》(大正8,752c-757a) +元魏天竺三藏菩提流支译(永平二年.西元509) + 03《金刚般若波罗蜜经》(大正8,757a-761c) +元魏留支三藏奉诏译(永平二年.西元509) + + 04《金刚般若波罗蜜经》(大正8,762a-766c) + 陈天竺三藏真谛译(天嘉三年.西元562) + + 05《金刚能断般若波罗蜜经》(大正8,766c-771c) + 隋大业年中三藏笈多译(开皇十年.西元590) + + *归命一切佛菩萨海等 + + 06《大般若波罗蜜多经》卷第五百七十七〈第九能断金刚分〉(大正7,980a-985c) +三藏法师玄奘奉诏译 (显庆五年~龙朔三年.西元660~663) +https://mubu.com/doc/1_yOI8vZTon​ + + 07《佛说能断金刚般若波罗蜜多经》(大正8,771c-775b) + 唐三藏沙门义净译(长安三年.西元703) +​​ +科判参考: +​ +​妙境长老 http://fayun.org/index.php?p=book07-F1 +​ 《金剛經梵藏漢經論寶鬘》 +​​林崇安老师 http://www.ss.ncu.edu.tw/~calin/article-all.html​ +​《金剛般若論》https://mubu.com/doc/2ZZaZKpuC8T +​ +http://cbetaonline.cn/zh/J31nB269_p0673a01 十八住階位圖 +http://cbetaonline.cn/zh/X25n0492_p0499a02 二十七疑脈絡圖​ +​ +​布施——​摄大乘论: +​ +论曰。如是六种波罗蜜多互相决择。云何可见。世尊于此一切六种波罗蜜多。或有处所以施声说。或有处所以戒声说。或有处所以忍声说。或有处所以勤声说。或有处所以定声说。或有处所以慧声说。如是所说有何意趣。谓于一切波罗蜜多修加行中。皆有一切波罗蜜多互相助成。如是意趣。 +​释曰。于三百颂般若波罗蜜多等经中。本为说一波罗蜜多。乃说一切波罗蜜多。于如是说有何意趣。于修一时一切相助。应知此中有是意趣。谓修施时防护身语。由此有戒波罗蜜多而相助成。乃至了知施之因果。由此有慧波罗蜜多而相助成。其余相助如应当知。​​​​ + ​ + +#3 甲一、序分 + +#4 乙一、通序 + +#5 如是我聞:一時,佛在舍衛國祇樹給孤獨園,與大比丘眾千二百五十人俱。 + +【00梵文】 evaṁ mayā śrutam| ekasmin samaye bhagavān śrāvastyāṁ viharati sma jetavane'nāthapiṇḍadasyārāme mahatā bhikṣusaṁghena sārthaṁ trayodaśabhirbhikṣuśataiḥ saṁbahulaiśca bodhisattvairmahāsattvaiḥ| + +【01罗什】如是我闻。一时,佛在舍卫国祇树给孤独园,与大比丘众千二百五十人俱。 + +【02流支】如是我闻。一时,婆伽婆在舍婆提城祇树给孤独园,与大比丘众千二百五十人俱。 + +【03留支】如是我闻。一时,佛婆伽婆住舍卫国祇陀树林给孤独园,与大比丘众千二百五十人俱。 + +【04真谛】如是我闻。一时,佛婆迦婆住舍卫国祇陀树林给孤独园,与大比丘众千二百五十人俱。 + +【05笈多】如是我闻。一时,世尊闻者游行胜林中,无亲搏施与园中,大比丘众共,半三十比丘百。 + +【06玄奘】如是我闻。一时,薄伽梵在室罗筏,住誓多林给孤独园,与大苾刍众千二百五十人俱。 + +【07义净】如是我闻。一时,薄伽梵在名称大城战胜林施孤独园,与大苾刍众千二百五十人俱,及大菩萨众。 + +#4 乙二、别序 + +#5 爾時,世尊,食時,著衣持缽,入舍衛大城乞食。 + +【00梵文】 atha khalu bhagavān pūrvāhṇakālasamaye nivāsya pātracīvaramādāya śrāvastīṁ mahānagarīṁ piṇḍāya prāvikṣat| + +【01罗什】尔时,世尊食时,着衣持钵,入舍卫大城乞食。 + +【02流支】尔时,世尊食时,着衣持钵,入舍婆提大城乞食。 + +【03留支】尔时,世尊于日前分,着衣持钵,入舍卫大国而行乞食。 + +【04真谛】尔时,世尊于日前分,着衣持钵,入舍卫大国而行乞食。 + +【05笈多】尔时,世尊前分时,上裙着已,器上给衣持,闻者大城搏为入。 + +【06玄奘】尔时,世尊于日初分,整理裳服,执持衣钵,入室罗筏大城乞食。 + +【07义净】尔时,世尊于日初分时,着衣持钵,入城乞食。 + +#5 於其城中次第乞已,還至本處。飯食訖,收衣缽,洗足已,敷座而坐。 + +【00梵文】 atha khalu bhagavān śrāvastīṁ mahānagarīṁ piṇḍāya caritvā kṛtabhaktakṛtyaḥ paścādbhaktapiṇḍapātapratikrāntaḥ pātracīvaraṁ pratiśāmya pādau prakṣālya nyaṣīdatprajñapta evāsane paryaṅkamābhujya ṛjuṁ kāyaṁ praṇidhāya pratimukhīṁ smṛtimupasthāpya + +【01罗什】于其城中次第乞已,还至本处。饭食讫,收衣钵,洗足已,敷座而坐。 + +【02流支】于其城中,次第乞食已,还至本处。饭食讫,收衣钵,洗足已,如常敷座,结加趺坐,端身而住,正念不动。 + +【03留支】于其国中,次第行已,还至本处。饭食事讫,于中后时,收衣钵,洗足已,如常敷座,跏趺安坐,端身而住,正念现前。 + +【04真谛】于其国中,次第行乞,还至本处。饭食事讫,于中后时,收衣钵,洗足已,如常敷座,加趺安坐,端身而住,正念现前。 + +【05笈多】尔时,世尊闻者大城搏为行已,作已食作已后,食搏堕过,器上给衣收摄,两足洗,坐具世尊施设如是座中,跏趺结,直身作,现前念近住。 + +【06玄奘】时薄伽梵于其城中,行乞食已,出还本处。饭食讫,收衣钵,洗足已,于食后时,敷如常座,结跏趺坐,端身正愿,住对面念。 + +【07义净】次第乞已,还至本处。饭食讫,收衣钵,洗足已,于先设座,加趺端坐,正念而住。 + +#5 (缺) + +【00梵文】 atha khalu saṁbahulā bhikṣavo yena bhagavāṁstenopasaṁkrāman| upasaṁkramya bhagavataḥ pādau śirobhirabhivandya bhagavantaṁ triṣpradakṣiṇīkṛtya ekānte nyaṣīdan||1|| + +【01罗什】(缺) + +【02流支】尔时,诸比丘来诣佛所。到已,顶礼佛足,右繞三匝,退坐一面。 + +【03留支】时,诸比丘俱往佛所。至佛所已,顶礼佛足,右繞三匝,却坐一面。 + +【04真谛】时,诸比丘俱往佛所。至佛所已,顶礼佛足,右繞三匝,却坐一面。 + +【05笈多】尔时,多比丘,若世尊彼诣。到已,世尊两足顶礼,世尊边三右绕作已,一边坐彼。 + +【06玄奘】时,诸苾刍来诣佛所。到已,顶礼世尊双足,右繞三匝,退坐一面。 + +【07义净】时,诸苾刍来诣佛所,顶礼双足,右绕三匝,退坐一面。 + +#3 甲一、正宗分四 + +#4 乙一、善现虔恭赞请 + +#5 時長老須菩提,在大眾中, + +【00梵文】  tena khalu punaḥ samayenāyuṣmān subhutistasyāmeva parṣadi saṁnipatito'bhūtsaṁniṣaṇṇaḥ| + +【01罗什】时,长老须菩提在大众中, + +【02流支】尔时,慧命须菩提在大众中, + +【03留支】尔时,净命须菩提于大众中,共坐聚集。 + +【04真谛】尔时,净命须菩提于大众中,共坐聚集。 + +【05笈多】复时,命者善实彼所如是众聚集会坐。 + +【06玄奘】具寿善现亦于如是众会中坐。 + +【07义净】尔时,具寿妙生在大众中, + +#5 即從座起,偏袒右肩,右膝著地,合掌恭敬而白佛言: + +【00梵文】 atha khalvāyuṣmān subhūtirutthāyāsanādekāṁsamuttarāsaṅgaṁ kṛtvā dakṣiṇaṁ jānumaṇḍalaṁ pṛthivyāṁ pratiṣṭhāpya yena bhagavāṁstenāñjaliṁ praṇamya bhagavantametadavocat- + +【01罗什】即从座起,偏袒右肩,右膝着地,合掌恭敬而白佛言: + +【02流支】即从座起,偏袒右肩,右膝着地,向佛合掌恭敬而立,白佛言: + +【03留支】时,净命须菩提即从座起,偏袒右肩,顶礼佛足,右膝着地,向佛合掌而白佛言: + +【04真谛】时,净命须菩提即从座起,偏袒右肩,顶礼佛足,右膝着地,向佛合掌而白佛言: + +【05笈多】尔时,命者善实起坐,一肩上著作已,右膝轮地着已,若世尊彼合掌,向世尊边如是言: + +【06玄奘】尔时,众中具寿善现从座而起,偏袒一肩,右膝着地,合掌恭敬而白佛言: + +【07义净】承佛神力,即从座起,偏袒右肩,右膝着地,合掌恭敬白佛言: + +#5 「希有世尊!如來善護念諸菩薩, + +【00梵文】 āścaryaṁ bhagavan, paramāścaryaṁ sugata, yāvadeva tathāgatenārhatā samyaksaṁbuddhena bodhisattvā mahāsattvā anuparigṛhītāḥ parameṇānugraheṇa| + +【01罗什】「希有,世尊!如来善护念诸菩萨, + +【02流支】「希有,世尊!如来、应供、正遍知,善护念诸菩萨, + +【03留支】「希有,世尊!如来、应供、正遍觉知,善护念诸菩萨摩诃萨,由无上利益故; + +【04真谛】「希有,世尊!如来、应供、正遍觉知,善护念诸菩萨摩诃萨,由无上利益故; + +【05笈多】「希有,世尊!乃至所有如来、应、正遍知,菩萨摩诃萨顺摄,最胜顺摄。 + +【06玄奘】「希有,世尊!乃至如来、应、正等觉,能以最胜摄受,摄受诸菩萨摩诃萨。 + +【07义净】「希有,世尊!希有,善逝!如来、应、正等觉,能以最胜利益,益诸菩萨; + +#5 善付囑諸菩薩! + +【00梵文】 āścaryaṁ bhagavan yāvadeva tathāgatenārhatā samyaksaṁbuddhena bodhisattvā mahāsattvāḥ parīnditāḥ paramayā parīndanayā| + +【01罗什】善付嘱诸菩萨。 + +【02流支】善付嘱诸菩萨。 + +【03留支】善付嘱诸菩萨摩诃萨,由无上教故。 + +【04真谛】善付嘱诸菩萨摩诃萨,由无上教故。 + +【05笈多】乃至所有如来、应、正遍知,菩萨摩诃萨付嘱,最胜付嘱。 + +【06玄奘】乃至如来、应、正等觉,能以最胜付嘱,付嘱诸菩萨摩诃萨。 + +【07义净】能以最胜付嘱,嘱诸菩萨。 + +#5 世尊!善男子、善女人發阿耨多羅三藐三菩提心,應云何住?云何降伏其心?」 + +【00梵文】 tatkathaṁ bhagavan bodhisattvayānasaṁprasthitena kulaputreṇa vā kuladuhitrā vā sthātavyaṁ kathaṁ pratipattavyaṁ kathaṁ cittaṁ pragrahītavyam ? + +【01罗什】世尊!善男子、善女人,发阿耨多罗三藐三菩提心,应云何住?云何降伏其心?」 + +【02流支】世尊!云何菩萨大乘中,发阿耨多罗三藐三菩提心?应云何住?云何修行?云何降伏其心?」 + +【03留支】世尊!若善男子、善女人,发阿耨多罗三藐三菩提心,行菩萨乘,云何应住?云何修行?云何发起菩萨心?」 + +【04真谛】世尊!若善男子、善女人,发阿耨多罗三藐三菩提心,行菩萨乘,云何应住?云何修行?云何发起菩萨心?」 + +【05笈多】彼云何,世尊!菩萨乘发行住应?云何修行应?云何心降伏应?」 + +【06玄奘】世尊!诸有发趣菩萨乘者,应云何住?云何修行?云何摄伏其心?」 + +【07义净】世尊!若有发趣菩萨乘者,云何应住?云何修行?云何摄伏其心?」 + +#4 乙二、如来叹印许陈 + +#5 佛言:「善哉!善哉!須菩提!如汝所說『如來善護念諸菩薩,善付囑諸菩薩!』 + +【00梵文】 evamukte bhagavānāyuṣmantaṁ subhūtimetadavocat- sādhu sādhu subhūte, evametatsubhūte, evametadyathā vadasi| anuparigṛhītāstathāgatena bodhisattvā mahāsattvāḥ parameṇānugraheṇa| parīnditāstathāgatena bodhisattvā mahāsattvāḥ paramayā parīndanayā| + +【01罗什】佛言:「善哉!善哉!须菩提!如汝所说,如来善护念诸菩萨,善付嘱诸菩萨。 + +【02流支】尔时,佛告须菩提:「善哉!善哉!须菩提!如汝所说,如来善护念诸菩萨,善付嘱诸菩萨。 + +【03留支】净命须菩提作是问已。尔时,世尊告须菩提:「须菩提!善哉!善哉!如是,善男子!如来善护念诸菩萨摩诃萨,无上利益故;善付嘱诸菩萨摩诃萨,无上教故。 + +【04真谛】净命须菩提作是问已。尔时,世尊告须菩提:「须菩提!善哉!善哉!如是,善男子!如来善护念诸菩萨摩诃萨,无上利益故;善付嘱诸菩萨摩诃萨,无上教故。 + +【05笈多】如是语已。世尊命者善实边如是言:「善!善!善实!如是,如是。善实!如是,如是。顺摄如来菩萨摩诃萨,最胜顺摄。付嘱如来菩萨摩诃萨,最胜付嘱。 + +【06玄奘】作是语已。尔时,世尊告具寿善现曰:「善哉!善哉!善现!如是,如是。如汝所说,乃至如来、应、正等觉,能以最胜摄受,摄受诸菩萨摩诃萨。乃至如来、应、正等觉,能以最胜付嘱,付嘱诸菩萨摩诃萨。 + +【07义净】佛告妙生:「善哉!善哉!如是,如是。如汝所说,如来以胜利益,益诸菩萨,以胜付嘱,嘱诸菩萨。 + +#5 汝今諦聽,當為汝說。善男子、善女人發阿耨多羅三藐三菩提心,應如是住,如是降伏其心!」 + +【00梵文】 tena hi subhūte śṛṇu, sādhu ca suṣṭhu ca manasi kuru, bhāṣiṣye'haṁ te-yathā bodhisattvayānasaṁprasthitena sthātavyaṁ yathā pratipattavyaṁ yathā cittaṁ pragrahītavyam| + +【01罗什】汝今谛听,当为汝说,善男子、善女人,发阿耨多罗三藐三菩提心,应如是住,如是降伏其心。」 + +【02流支】汝今谛听,当为汝说,如菩萨大乘中发阿耨多罗三藐三菩提心,应如是住,如是修行,如是降伏其心。」 + +【03留支】须菩提!是故汝今一心谛听,恭敬善思念之,我今当为汝说,如菩萨发菩提心,行菩萨乘,如是应住,如是修行,如是发心。」 + +【04真谛】须菩提!是故汝今一心谛听,恭敬善思念之,我今当为汝说,如菩萨发菩提心,行菩萨乘,如是应住,如是修行,如是发心。」 + +【05笈多】彼,善实!听善,善意念作。说当如菩萨乘发行住应,如修行应,如心降伏应。」 + +【06玄奘】是故,善现!汝应谛听,极善作意,吾当为汝分别解说。诸有发趣菩萨乘者,应如是住,如是修行,如是摄伏其心。」 + +【07义净】妙生!汝应谛听,极善作意,吾当为汝分别解说,若有发趣菩萨乘者,应如是住,如是修行,如是摄伏其心。」 + +#4 乙三、敬诺希闻 + +#5 「唯然,世尊!願樂欲聞!」 + +【00梵文】 evaṁ bhagavan ityāyuṣyān subhūtirbhagavataḥ pratyaśrauṣīt||2|| + +【01罗什】「唯然,世尊!愿乐欲闻。」 + +【02流支】须菩提白佛言:「世尊!如是,愿乐欲闻。」 + +【03留支】须菩提言:「唯然,世尊!」 + +【04真谛】须菩提言:「唯然,世尊!」 + +【05笈多】「如是,世尊!」命者善实,世尊边,愿欲闻。 + +【06玄奘】具寿善现白佛言:「如是,如是。世尊!愿乐欲闻。」 + +【07义净】妙生言:「唯然,世尊!愿乐欲闻。」 + +#4 乙四、随问别答六(略八住处,广则十八住处)  + +#5 丙一、摄住处(一、发心住) + +#6 佛告須菩提:「諸菩薩摩訶薩應如是降伏其心:所有一切眾生之類︱︱若卵生、若胎生、若溼生、若化生,若有色、若無色,若有想、若無想、若非有想非無想,我皆令入無餘涅槃而滅度之。 + +【00梵文】 bhagavānasyaitadavocat-iha subhūte bodhisattvayānasaṁprasthitenaiva cittamutpādayitavyam-yāvantaḥ subhūte sattvāḥ sattvadhātau sattvasaṁgraheṇa saṁgṛhītā aṇḍajā vā jarāyujā vā saṁsvedajā vā aupapādukā vā rūpiṇo vā arūpiṇo vā saṁjñino vā asaṁjñino vā naivasaṁjñino nāsaṁjñino vā, yāvān kaścitsattvadhātuḥ prajñapyamānaḥ prajñapyate, te ca mayā sarve'nupadhiśeṣe nirvāṇadhātau parinirvāpayitavyāḥ| + +【01罗什】佛告须菩提:「诸菩萨摩诃萨应如是降伏其心:所有一切众生之类,若卵生、若胎生、若湿生、若化生,若有色、若无色,若有想、若无想、若非有想非无想,我皆令入无余涅槃而灭度之。 + +【02流支】佛告须菩提:「诸菩萨生如是心:所有一切众生,众生所摄,若卵生、若胎生、若湿生、若化生,若有色、若无色,若有想、若无想、若非有想非无想,所有众生界,众生所摄,我皆令入无余涅槃而灭度之。 + +【03留支】佛告须菩提:「须菩提!若善男子、善女人,发菩提心,行菩萨乘,应如是发心:所有一切众生类摄,若卵生、若胎生、若湿生、若化生,若有色、若无色,若有想、若无想、若非有相若非无想,乃至众生界及假名说,如是众生,我皆安置于无余涅槃。 + +【04真谛】佛告须菩提:「须菩提!善男子、善女人,发菩提心,行菩萨乘,应如是发心:所有一切众生类摄,若卵生、若胎生、若湿生、若化生,若有色、若无色,若有想、若无想、若非有想若非无想,乃至众生界及假名说,如是众生,我皆安置于无余涅槃。 + +【05笈多】世尊于此言:「此,善实!菩萨乘发行如是心发生应:所有、善实!众生,众生摄摄已,卵生、若胎生、若湿生、若化生,若色、若无色,若想、若无想、若非想非无想,所有众生界施设已,彼我一切无受余涅槃界灭度应。 + +【06玄奘】佛言:「善现!诸有发趣菩萨乘者,应当发趣如是之心:所有诸有情,有情摄所摄,若卵生、若胎生、若湿生、若化生,若有色、若无色,若有想、若无想、若非有想非无想,乃至有情界,施设所施设,如是一切,我当皆令于无余依妙涅槃界而般涅槃。 + +【07义净】佛告妙生:「若有发趣菩萨乘者,当生如是心:所有一切众生之类,若卵生、胎生、湿生、化生,若有色、无色,有想、无想、非有想非无想,尽诸世界所有众生,如是一切,我皆令入无余涅槃而灭度之。 + +#6 如是滅度無量無數無邊眾生,實無眾生得滅度者。 + +【00梵文】 evamaparimāṇānapi sattvān parinirvāpya na kaścitsattvaḥ parinirvāpito bhavati| + +【01罗什】如是灭度无量无数无边众生,实无众生得灭度者。 + +【02流支】如是灭度无量无边众生,实无众生得灭度者。 + +【03留支】如是般涅槃无量众生已,无一众生被涅槃者。 + +【04真谛】如是涅槃无量众生已,无一众生被涅槃者。 + +【05笈多】如是无量虽众生灭度,无有一众生灭度有。 + +【06玄奘】虽度如是无量有情,令灭度已,而无有情得灭度者。 + +【07义净】虽令如是无量众生证圆寂已,而无有一众生入圆寂者。 + +#6 (缺) + +【00梵文】 tat kasya hetoḥ ? sacetsubhūte bodhisattvasya sattvasaṁjñā pravarteta, na sa bodhisattva iti vaktavyaḥ| + +【01罗什】(缺) + +【02流支】何以故?须菩提!若菩萨有众生相,即非菩萨。 + +【03留支】何以故?须菩提!若菩萨有众生想,即不应说名为菩萨。 + +【04真谛】何以故?须菩提!若菩萨有众生想,即不应说名为菩萨。 + +【05笈多】彼何所因?若,善实!菩萨摩诃萨众生想转,不彼菩萨摩诃萨名说应。 + +【06玄奘】何以故?善现!若诸菩萨摩诃萨有情想转,不应说名菩萨摩诃萨。 + +【07义净】何以故?妙生!若菩萨有众生想者,则不名菩萨。 + +#6 何以故?須菩提!若菩薩有我相、人相、眾生相、壽者相,即非菩薩。 + +【00梵文】 tatkasya hetoḥ ? na sa subhūte bodhisattvo vaktavyo yasya sattvasaṁjñā pravarteta, jīvasaṁjñā vā pudgalasaṁjñā va pravarteta||3|| + +【01罗什】何以故?须菩提!若菩萨有我相、人相、众生相、寿者相,即非菩萨。」 + +【02流支】何以故?非须菩提!若菩萨起众生相、人相、寿者相,则不名菩萨。」 + +【03留支】何以故?须菩提!一切菩萨无我想、众生想、寿者想、受者想。」 + +【04真谛】何以故?须菩提!一切菩萨无我想、众生想、寿者想、受者想。」 + +【05笈多】彼何所因?不彼,善实!菩萨名说应,若众生想转,寿想若、人想若转。」 + +【06玄奘】所以者何?善现!若诸菩萨摩诃萨,不应说言有情想转,如是命者想、士夫想、补特伽罗想、意生想、摩纳婆想、作者想、受者想转,当知亦尔。何以故?善现!无有少法名为发趣菩萨乘者。」 + +【07义净】所以者何?由有我想、众生想、寿者想、更求趣想故。」 + +#5 丙二、波罗蜜净住处(二、波罗蜜相应行住处) + +#6 復次,須菩提!菩薩於法應無所住行於布施,所謂不住色布施,不住聲香味觸法布施。 + +【00梵文】 api tu khalu punaḥ subhute na bodhisattvena vastupratiṣṭhitena dānaṁ dātavyam, na kvacitpratiṣṭhitena dānaṁ dātavyam| na rūpapratiṣṭhitena dānaṁ dātavyam| na śabdagandharasaspraṣṭavyadharmeṣu pratiṣṭhitena dānaṁ dātavyam| + +【01罗什】「复次,须菩提!菩萨于法应无所住行于布施:所谓不住色布施,不住声、香、味、触、法布施。 + +【02流支】「复次,须菩提!菩萨不住于事行于布施,无所住行于布施:不住色布施,不住声、香、味、触、法布施。 + +【03留支】「复次,须菩提!菩萨不着己类而行布施,不着所余行于布施:不着色、声、香、味、触、法,应行布施。 + +【04真谛】「复次,须菩提!菩萨不着己类而行布施,不着所余行于布施:不着色、声、香、味、触、法,应行布施。 + +【05笈多】「虽然,复次时,善实!不菩萨摩诃萨事住施与应,无所住施与应:不色住施与应,不声、香、味、触、法中住施与应。 + +【06玄奘】「复次,善现!若菩萨摩诃萨,不住于事应行布施,都无所住应行布施:不住于色应行布施,不住声、香、味、触、法应行布施。 + +【07义净】「复次,妙生!菩萨不住于事应行布施,不住随处应行布施:不住色、声、香、味、触、法,应行布施。 + +#6 須菩提!菩薩應如是布施,不住於相。 + +【00梵文】 evaṁ hi sūbhūte bodhisattvena mahāsattvena dānaṁ dātavyaṁ yathā na nimittasaṁjñāyāmapi pratitiṣṭhet| + +【01罗什】须菩提!菩萨应如是布施,不住于相。 + +【02流支】须菩提!菩萨应如是布施,不住于相想。 + +【03留支】须菩提!菩萨应如是行施,不着相想。 + +【04真谛】须菩提!菩萨应如是行施,不着相想。 + +【05笈多】如是,此,善实!菩萨摩诃萨施与应,如不相想亦住。 + +【06玄奘】善现!如是菩萨摩诃萨如不住相想应行布施。 + +【07义净】妙生!菩萨如是布施,乃至相应亦不应住。 + +#6 何以故?若菩薩不住相布施,其福德不可思量。 + +【00梵文】 tatkasya hetoḥ ? yaḥ subhūte bodhisattvo'pratiṣṭhito dānaṁ dadāti, tasya subhūte puṇyaskandhasya na sukaraṁ pramāṇāmudgrahītum| + +【01罗什】何以故?若菩萨不住相布施,其福德不可思量。 + +【02流支】何以故?若菩萨不住相布施,其福德聚不可思量。 + +【03留支】何以故?须菩提!若菩萨无执着心行于布施,是福德聚不可数量。 + +【04真谛】何以故?须菩提!若菩萨无执着心行于布施,是福德聚不可数量。 + +【05笈多】彼何所因?若,善实!菩萨摩诃萨不住施与,彼所,善实!福聚不可量受取。 + +【06玄奘】何以故?善现!若菩萨摩诃萨都无所住而行布施,其福德聚不可取量。」 + +【07义净】何以故?由不住施,福聚难量。 + +#6 須菩提!於意云何?東方虛空可思量不?」 + +【00梵文】 tatkiṁ manyase subhūte sukaraṁ pūrvasyāṁ diśi ākāśasya pramāṇamudgrahītum ? + +【01罗什】须菩提!于意云何?东方虚空可思量不?」 + +【02流支】须菩提!于汝意云何?东方虚空可思量不?」 + +【03留支】须菩提!汝意云何?东方虚空可数量不?」 + +【04真谛】须菩提!汝意云何?东方虚空可数量不?」 + +【05笈多】彼何意念?善实!可前方虚空量受取?」 + +【06玄奘】佛告善现:「于汝意云何?东方虚空可取量不?」 + +【07义净】妙生!于汝意云何?东方虚空可知量不?」 + +#6 「不也,世尊!」 + +【00梵文】 subhūtirāha-no hīdaṁ bhagavan| + +【01罗什】「不也,世尊!」 + +【02流支】须菩提言:「不也,世尊!」 + +【03留支】须菩提言:「不可,世尊!」 + +【04真谛】须菩提言:「不可,世尊!」 + +【05笈多】善实言:「不如此,世尊!」 + +【06玄奘】善现答言:「不也,世尊!」 + +【07义净】妙生言:「不尔,世尊!」 + +#6 「須菩提!南、西、北方、四維、上、下虛空可思量不?」 + +【00梵文】 bhagavānāha- evaṁ dakṣiṇapaścimottarāsu adha ūrdhvaṁ digvidikṣu samantāddaśasu dikṣu sukaramākāśasya pramāṇamudgrahītum ? + +【01罗什】「须菩提!南、西、北方,四维,上下虚空,可思量不?」 + +【02流支】佛言:「如是,须菩提!南、西、北方,四维,上下虚空,可思量不?」 + +【03留支】佛言:「如是,须菩提!南、西、北方,四维,上下,十方虚空可数量不?」 + +【04真谛】佛言:「如是,须菩提!南、西、北方,四维,上下,十方虚空可数量不?」 + +【05笈多】世尊言:「如是,右(南)、后(西)、高(北),下上方,顺、不正方,普十方可虚空量受取?」 + +【06玄奘】「善现!如是南、西、北方,四维,上下,周遍十方一切世界虚空可取量不?」 + +【07义净】「南、西、北方,四维,上下,十方虚空,可知量不?」 + +#6 「不也,世尊!」 + +【00梵文】 subhūtirāha-no hīdaṁ bhagavan| + +【01罗什】「不也,世尊!」 + +【02流支】须菩提言:「不也,世尊!」 + +【03留支】须菩提言:「不可。世尊!」 + +【04真谛】须菩提言:「不可,世尊!」 + +【05笈多】善实言:「不如此,世尊!」 + +【06玄奘】善现答言:「不也,世尊!」 + +【07义净】妙生言:「不尔,世尊!」 + +#6 「須菩提!菩薩無住相布施,福德亦復如是不可思量。 + +【00梵文】 bhagavānāha-evameva subhūte yo bodhisattvo'pratiṣṭhito dānaṁ dadāti, tasya subhūte puṇyaskandhasya na sukaraṁ pramāṇamudgrahītum| + +【01罗什】「须菩提!菩萨无住相布施,福德亦复如是不可思量。 + +【02流支】佛言:「如是,如是。须菩提!菩萨无住相布施,福德聚亦复如是不可思量。」 + +【03留支】佛言:「如是,须菩提!若菩萨无执着心行于布施,是福德聚亦复如是不可数量。」 + +【04真谛】佛言:「如是,须菩提!若菩萨无执着心行于布施,是福德聚亦复如是不可数量。」 + +【05笈多】世尊言:「如是,如是。善实!如是,如是。若菩萨摩诃萨不住施与,彼所,善实!福聚不可量受取。 + +【06玄奘】佛言:「善现!如是,如是。若菩萨摩诃萨都无所住而行布施,其福德聚不可取量,亦复如是。 + +【07义净】「妙生!菩萨行不住施,所得福聚不可知量,亦复如是。」 + +#6 須菩提!菩薩但應如所教住! + +【00梵文】 evaṁ hi subhūte bodhisattvayānasaṁprasthitena dānaṁ dātavyaṁ yathā na nimittasaṁjñāyāmapi pratitiṣṭhet||4|| + +【01罗什】须菩提!菩萨但应如所教住。」 + +【02流支】佛复告须菩提:「菩萨但应如是行于布施。」 + +【03留支】(缺) + +【04真谛】(缺) + +【05笈多】虽然,复次时,善实!如是菩萨乘发行施与应,如不相想亦住。」 + +【06玄奘】善现!菩萨如是,如不住相想应行布施。」 + +【07义净】(缺) + +#5 丙三、欲住处二 + +#6 丁一、(三)欲得色身 + +#7 須菩提!於意云何?可以身相見如來不?」 + +【00梵文】 tat kiṁ manyase subhūte lakṣaṇasaṁpadā tathāgato draṣṭavyaḥ ? + +【01罗什】「须菩提!于意云何?可以身相见如来不? + +【02流支】「须菩提!于意云何?可以相成就见如来不?」 + +【03留支】「须菩提!汝意云何?可以身相胜德见如来不?」 + +【04真谛】「须菩提!汝意云何?可以身相胜德见如来不?」 + +【05笈多】「彼何意念?善实!相具足如来见应?」 + +【06玄奘】佛告善现:「于汝意云何?可以诸相具足观如来不?」 + +【07义净】「妙生!于汝意云何?可以具足胜相观如来不?」 + +#7 「不也,世尊!不可以身相得見如來。何以故?如來所說身相,即非身相。」 + +【00梵文】 subhūtirāha-no hīdaṁ bhagavan| na lakṣaṇasaṁpadā tathāgato draṣṭavyaḥ| tatkasya hetoḥ ? yā sā bhagavan lakṣaṇasaṁpattathāgatena bhāṣitā saivālakṣaṇasaṁpat| + +【01罗什】不也,世尊!不可以身相得见如来。何以故?如来所说身相,即非身相。」 + +【02流支】须菩提言:「不也,世尊!不可以相成就得见如来。何以故?如来所说相即非相。」 + +【03留支】「不也,世尊!何以故?如来所说身相胜德,非相胜德。」 + +【04真谛】「不能,世尊!何以故?如来所说身相胜德,非相胜德。」 + +【05笈多】善实言:「不,世尊!相具足如来见应。彼何所因?若彼如来相具足说,彼如是非相具足。」 + +【06玄奘】善现答言:「不也,世尊!不应以诸相具足观于如来。何以故?如来说诸相具足,即非诸相具足。」 + +【07义净】妙生言:「不尔,世尊!不应以胜相观于如来。何以故?如来说胜相,即非胜相。」 + +#7 佛告須菩提:「凡所有相,皆是虛妄;若見諸相非相,即見如來。」 + +【00梵文】 evamukte bhagavānāyuṣmantaṁ subhūtimetadavocat yāvatsubhūte lakṣaṇasaṁpat tāvanmṛṣā, yāvadalakṣaṇasaṁpat tāvanna mṛṣeti hi lakṣaṇālakṣaṇatas tathāgato draṣṭavyaḥ||5|| + +【01罗什】佛告须菩提:「凡所有相皆是虚妄。若见诸相非相,则见如来。」 + +【02流支】佛告须菩提:「凡所有相皆是妄语。若见诸相非相,则非妄语。如是诸相非相,则见如来。」 + +【03留支】「何以故?须菩提!凡所有相皆是虚妄,无所有相即是真实。由相无相,应见如来。」 + +【04真谛】「何以故?须菩提!凡所有相皆是虚妄,无所有相即是真实。由相无相,应见如来。」 + +【05笈多】如是语已。世尊命者善实边如是言:「所有,善实!相具足,所有妄。所有不相具足,所有不妄名。此相不相,如来见应。」 + +【06玄奘】说是语已。佛复告具寿善现言:「善现!乃至诸相具足皆是虚妄,乃至非相具足皆非虚妄。如是以相非相,应观如来。」 + +【07义净】「妙生!所有胜相皆是虚妄。若无胜相,即非虚妄。是故应以胜相无相观于如来。」 + +#6 丁二、(四)欲得法身二 + +#7 戊一、欲得言说法身 + +#8 須菩提白佛言:「世尊!頗有眾生得聞如是言說章句,生實信不?」 + +【00梵文】 evam ukte āyuṣmān subhūtir bhagavantam etad avocat- asti bhagavan| kecit sattvā bhaviṣyanty anāgate'dhvani paścime kāle paścime samaye paścimāyāṁ pañcaśatyāṁ saddharmavipralopakāle vartamāne, ye imeṣv evaṁrūpeṣu sūtrāntapadeṣu bhāṣyamāṇeṣu bhūtasaṁjñām utpādayiṣyanti| + +【01罗什】须菩提白佛言:「世尊!颇有众生得闻如是言说章句,生实信不?」 + +【02流支】须菩提白佛言:「世尊!颇有众生,于未来世、末世,得闻如是修多罗章句,生实相不?」 + +【03留支】如是说已,净命须菩提白佛言:「世尊!于今现时,及未来世,颇有菩萨听闻正说如是等相此经章句,生实想不?」 + +【04真谛】如是说已,净命须菩提白佛言:「世尊!于今现时及未来世,颇有菩萨听闻正说如是等相此经章句,生实想不?」 + +【05笈多】如是语已。命者善实世尊边如是言:「虽然,世尊!颇有众生,当有未来世、后时、后长时、后分、五十,正法破坏时中、转时中,若此中,如是色类经中说中,实想发生当有? + +【06玄奘】说是语已。具寿善现复白佛言:「世尊!颇有有情,于当来世、后时、后分、后五百岁,正法将灭时分转时,闻说如是色经典句,生实想不?」 + +【07义净】妙生言:「世尊!颇有众生,于当来世、后五百岁,正法灭时,闻说是经,生实信不?」 + +#8 佛告須菩提:「莫作是說! + +【00梵文】 bhagavān āha mā subhūte tvaṃ evaṃ vocaḥ -asti kecit sattvā bhaviṣyanty anāgate'dhvani paścime kāle paścime samaye paścimāyāṁ pañcaśatyāṁ saddharmavipralopakāle vartamāne, ye imeṣv evaṁrūpeṣu sūtrāntapadeṣu bhāṣyamāṇeṣu bhūtasaṁjñām utpādayiṣyanti| + +【01罗什】佛告须菩提:「莫作是说。 + +【02流支】佛告须菩提:「莫作是说:『颇有众生,于未来世、末世,得闻如是修多罗章句,生实相不?』」 + +【03留支】佛告须菩提:「莫作是说:『于今现时,及未来世,颇有菩萨听闻正说如是等相此经章句,生实想不?』 + +【04真谛】佛告须菩提:「莫作是说:『于今现时,及未来世,颇有菩萨听闻正说如是等相此经章句,生实想不?』 + +【05笈多】世尊言:「莫,善实!汝如是语:虽然,世尊!颇有众生,当有未来世、后时、后长时、后分、五十,正法破坏时中、转时中,若此中,如是色类经中说中,实想发生当有? + +【06玄奘】佛告善现:「勿作是说:『颇有有情,于当来世、后时、后分、后五百岁,正法将灭时分转时,闻说如是色经典句,生实想不?』 + +【07义净】佛告妙生:「莫作是说:『颇有众生,于当来世、后五百岁,正法灭时,闻说是经,生实信不?』 + +#8 如來滅後,後五百歲,有持戒修福者,於此章句能生信心,以此為實。 + +【00梵文】 api tu khalu punaḥ subhūte bhaviṣyantyanāgate'dhvani bodhisattvā mahāsattvāḥ paścime kāle paścime samaye paścimāyāṁ pañcaśatyāṁ saddharmavipralope vartamāne guṇavantaḥ śīlavantaḥ prajñāvantaśca bhaviṣyanti, ye imeṣvevaṁrūpeṣu sūtrāntapadeṣu bhāṣyamāṇeṣu bhūtasaṁjñāmutpāadayiṣyanti| + +【01罗什】如来灭后,后五百岁,有持戒修福者,于此章句能生信心,以此为实。 + +【02流支】佛复告须菩提:「有未来世、末世,有菩萨摩诃萨,法欲灭时,有持戒、修福德、智慧者,于此修多罗章句能生信心,以此为实。」 + +【03留支】何以故?须菩提!于未来世,实有众生得闻此经,能生实想。复次,须菩提!于未来世;后五十岁,正法灭时,有诸菩萨摩诃萨,持戒、修福,及有智慧。 + +【04真谛】何以故?须菩提!于未来世,实有众生得闻此经,能生实想。复次,须菩提!于未来世、后五百岁,正法灭时,有诸菩萨摩诃萨,持戒、修福,及有智慧。 + +【05笈多】虽然,复次时,善实!当有未来世,菩萨摩诃萨,后分五十,正法破坏时中、转时中、戒究竟、功德究竟、智慧究竟。 + +【06玄奘】然复,善现!有菩萨摩诃萨,于当来世、后时、后分、后五百岁,正法将灭时分转时,具足尸罗、具德、具慧。 + +【07义净】妙生!当来之世,有诸菩萨,具戒、具德、具慧。 + +#8 當知是人,不於一佛二佛三四五佛而種善根,已於無量千萬佛所種諸善根。聞是章句乃至一念生淨信者, + +【00梵文】 na khalu punaste subhūte bodhisattvā mahāsattvā ekabuddhaparyupāsitā bhaviṣyanti, naikabuddhāvaropitakuśalamūlā bhaviṣyanti| api tu khalu punaḥ subhūte anekabuddhaśatasahasraparyupāsitā anekabuddhaśatasahasrāvaropitakuśalamūlāste bodhisattvā mahāsattvā bhaviṣyanti, ye imeṣvevaṁrūpeṣu sūtrāntapadeṣu bhāṣyamāṇeṣu ekacittaprasādamapi pratilapsyante| + +【01罗什】当知是人不于一佛、二佛、三、四、五佛而种善根,已于无量千万佛所种诸善根。闻是章句,乃至一念生净信者, + +【02流支】佛复告须菩提:「当知彼菩萨摩诃萨,非于一佛、二佛、三、四、五佛所,修行供养;非于一佛、二佛、三、四、五佛所而种善根。」佛复告须菩提:「已于无量百千万诸佛所,修行供养;无量百千万诸佛所,种诸善根。闻是修多罗,乃至一念能生净信。 + +【03留支】须菩提!是诸菩萨摩诃萨,非事一佛,非于一佛种诸善根;已事无量百千诸佛,已于无量百千佛所而种善根。若有善男子、善女人,听闻正说如是等相此经章句,乃至一念生实信者。 + +【04真谛】须菩提!是诸菩萨摩诃萨,非事一佛,非于一佛种诸善根;已事无量百千诸佛,已于无量百千佛所而种善根。若有善男子、善女人,听闻正说如是等相此经章句,乃至一念生实信者。 + +【05笈多】虽然,复次时,善实!当有未来世,菩萨摩诃萨,后分五十,正法破坏时中、转时中,戒究竟、功德究竟、智慧究竟。 + +【06玄奘】复次,善现!彼菩萨摩诃萨非于一佛所,承事供养;非于一佛所,种诸善根。然复,善现!彼菩萨摩诃萨于其非一百千佛所,承事供养;于其非一百千佛所,种诸善根。乃能闻说如是色经典句,当得一净信心。 + +【07义净】而彼菩萨非于一佛承事供养植诸善根。已于无量百千佛所而行奉事植诸善根。是人乃能于此经典,生一信心。 + +#8 須菩提!如來悉知悉見, + +【00梵文】 jñātāste subhūte tathāgatena buddhajñānena, dṛṣṭāste subhūte tathāgatena buddhacakṣuṣā, buddhāste subhūte tathāgatena| + +【01罗什】须菩提!如来悉知、悉见, + +【02流支】须菩提!如来悉知是诸众生,如来悉见是诸众生。 + +【03留支】须菩提!如来悉知是人,悉见是人。 + +【04真谛】须菩提!如来悉知是人,悉见是人。 + +【05笈多】亦得当知彼,善实!如来佛智,见彼,善实!如来佛眼, + +【06玄奘】善现!如来以其佛智悉已知彼,如来以其佛眼悉已见彼。善现!如来悉已觉彼。 + +【07义净】妙生!如来悉知是人,悉见是人, + +#8 是諸眾生得如是無量福德。 + +【00梵文】 sarve te subhūte aprameyamasaṁkhyeyaṁ puṇyaskandhaṁ prasaviṣyanti pratigrahīṣyanti| + +【01罗什】是诸众生得如是无量福德。 + +【02流支】须菩提!是诸菩萨生如是无量福德聚,取如是无量福德。 + +【03留支】须菩提!是善男子、善女人,生长无量福德之聚。 + +【04真谛】须菩提!是善男子、善女人,生长无量福德之聚。 + +【05笈多】一切彼,善实!无量福聚生当、取当。 + +【06玄奘】一切有情当生无量无数福聚,当摄无量无数福聚。 + +【07义净】彼诸菩萨,当生、当摄无量福聚。 + +#8 何以故?是諸眾生無復我相、人相、眾生相、壽者相, + +【00梵文】 tatkasya hetoḥ ? na hi subhūte teṣāṁ bodhisattvānāṁ mahāsattvānāmātmasaṁjñā pravartate, na sattvasaṁjñā, na jīvasaṁjñā, na pudgalasaṁjñā pravartate| + +【01罗什】何以故?是诸众生无复我相、人相、众生相、寿者相。 + +【02流支】何以故?须菩提!是诸菩萨无复我相、众生相、人相、寿者相。 + +【03留支】何以故?须菩提!是诸菩萨无复我想、众生想、寿者想、受者想。 + +【04真谛】何以故?须菩提!是诸菩萨无复我想众生想寿者想受者想 + +【05笈多】彼何所因?不,善实!彼等菩萨摩诃萨我想转,不众生想、不寿想、不人想转。 + +【06玄奘】何以故?善现!彼菩萨摩诃萨无我想转,无有情想、无命者想、无士夫想、无补特伽罗想、无意生想、无摩纳婆想、无作者想、无受者想转。 + +【07义净】何以故?由彼菩萨无我想、众生想、寿者想、更求趣想。 + +#8 無法相,亦無非法相。 + +【00梵文】 nāpi teṣāṁ subhūte bodhisattvānāṁ mahāsattvānāṁ dharmasaṁjñā pravartate| evaṁ nādharmasaṁjñā| nāpi teṣāṁ subhūte saṁjñā nāsaṁjñā pravartate| + +【01罗什】无法相亦无非法相。 + +【02流支】须菩提!是诸菩萨无法相亦非无法相,无相亦非无相。 + +【03留支】是诸菩萨无法想、无非法想,无想、非无想。 + +【04真谛】是诸菩萨无法想、非无法想,无想、非无想。 + +【05笈多】不亦彼等,善实!菩萨摩诃萨法想转,无法想转不,亦彼等,想、无想转不。 + +【06玄奘】善现!彼菩萨摩诃萨无法想转,无非法想转,无想转亦无非想转。 + +【07义净】彼诸菩萨非法想、非非法想,非想、非无想。 + +#8 何以故?是諸眾生,若心取相,即為著我、人、眾生、壽者。若取法相,即著我、人、眾生、壽者。 + +【00梵文】 tatkasya hetoḥ ? sacetsubhūte teṣāṁ bodhisattvānāṁ mahāsattvānāṁ dharmasaṁjñā pravarteta, sa eva teṣāmātmagrāho bhavet, sattvagrāho jīvagrāhaḥ pudgalagrāho bhavet| + +【01罗什】何以故?是诸众生若心取相,则为着我、人、众生、寿者。若取法相,即着我、人、众生、寿者。 + +【02流支】何以故?须菩提!是诸菩萨若取法相,则为着我、人、众生、寿者。 + +【03留支】何以故?须菩提!是诸菩萨若有法想,即是我执及众生、寿者、受者执。 + +【04真谛】何以故?须菩提!是诸菩萨若有法想,即是我执及众生、寿者、受者执。 + +【05笈多】彼何所因?若,善实!彼等菩萨摩诃萨法想转,彼如是彼等我取有,众生取、寿取、人取有。 + +【06玄奘】所以者何?善现!若菩萨摩诃萨有法想转,彼即应有我执、有情执、命者执、补特伽罗等执。 + +【07义净】何以故?若彼菩萨有法想,即有我执、有情执、寿者执、更求趣执。 + +#8 何以故?若取非法相,即著我、人、眾生、壽者。 + +【00梵文】 sacedadharmasaṁjñā pravarteta, sa eva teṣāmātmagrāho bhavet, sattvagrāho jīvagrāhaḥ pudgalagrāha iti| + +【01罗什】何以故?若取非法相,即着我、人、众生、寿者。 + +【02流支】须菩提!若是菩萨有法相,即着我相、人相、众生相、寿者相。 + +【03留支】(缺) + +【04真谛】(缺) + +【05笈多】若无法想转,彼如是彼等我取有,众生取、寿取、人取有。 + +【06玄奘】若有非法想转,彼亦应有我执、有情执、命者执、补特伽罗等执。 + +【07义净】若有非法想,彼亦有我执、有情执、寿者执、更求趣执。 + +#8 是故不應取法,不應取非法。 + +【00梵文】 tatkasya hetoḥ ? na khalu punaḥ subhūte bodhisattvena mahāsattvena dharma udgrahītavyo nādharmaḥ| + +【01罗什】是故不应取法,不应取非法。 + +【02流支】何以故?须菩提!不应取法,非不取法。 + +【03留支】须菩提!是故菩萨不应取法,不应取非法。 + +【04真谛】须菩提!是故菩萨不应取法,不应取非法。 + +【05笈多】彼何所因?不,复次时,善实!菩萨摩诃萨法取应,不非法取应。 + +【06玄奘】何以故?善现!不应取法,不应取非法。 + +【07义净】妙生!是故菩萨不应取法,不应取非法。 + +#8 以是義故,如來常說:『汝等比丘!知我說法如筏喻者,法尚應捨,何況非法!』 + +【00梵文】 tasmādiyaṁ tathāgatena saṁdhāya vāgbhāṣitā-kolopamaṁ dharmaparyāyam ājānadbhidharmā eva prahātavyāḥ prāgevādharmā iti||6|| + +【01罗什】以是义故,如来常说:『汝等比丘!知我说法如筏喻者,法尚应舍,何况非法。』」 + +【02流支】以是义故,如来常说『栰喻』法门:是法应舍,非舍法故。」 + +【03留支】为如是义故,如来说:『若观行人解《筏喻经》法尚应舍,何况非法。』」 + +【04真谛】为如是义故,如来说:『若观行人解《筏喻经》,法尚应舍,何况非法。』」 + +【05笈多】彼故,此义意如来说:『筏喻法本解,法如是舍应,何况非法。』」 + +【06玄奘】是故,如来密意而说『筏喻』法门:『诸有智者,法尚应断,何况非法。』」 + +【07义净】以是义故,如来密意宣说『筏喻』法门:『诸有智者,法尚应舍,何况非法。』」 + +#7 戊二、欲得证得法身 二 + +#8 己一、欲得智相至得法身 + +#9 須菩提!於意云何?如來得阿耨多羅三藐三菩提耶?如來有所說法耶?」 + +【00梵文】 punar aparaṁ bhagavānāyuṣmantaṁ subhūtimetadavocat- tatkiṁ manyase subhūte, asti sa kaściddharmo yastathāgatenānuttarā samyaksaṁbodhirityabhisaṁbuddhaḥ, kaścidvā dharmastathāgatena deśitaḥ ? + +【01罗什】「须菩提!于意云何?如来得阿耨多罗三藐三菩提耶?如来有所说法耶?」 + +【02流支】复次,佛告慧命须菩提:「须菩提!于意云何?如来得阿耨多罗三藐三菩提耶?如来有所说法耶?」 + +【03留支】佛复告净命须菩提:「须菩提!汝意云何?如来得阿耨多罗三藐三菩提耶?如来有所说法耶?」 + +【04真谛】复次,佛告净命须菩提:「须菩提!汝意云何?如来得阿耨多罗三藐三菩提耶?如来有所说法耶?」 + +【05笈多】复次,世尊命者善实边如是言:「彼何意念?善实!有如来、应、正遍知,无上正遍知证觉?有复法如来说?」 + +【06玄奘】佛复告具寿善现言:「善现!于汝意云何?颇有少法如来、应、正等觉,证得阿耨多罗三藐三菩提耶?颇有少法如来、应、正等觉,是所说耶?」 + +【07义净】「妙生!于汝意云何?如来于无上菩提有所证不?复有少法是所说不?」 + +#9 須菩提言:「如我解佛所說義,無有定法名阿耨多羅三藐三菩提,亦無有定法如來可說。 + +【00梵文】 evamukte āyuṣmān subhūtirbhagavantametadavocat-yathāhaṁ bhagavan bhagavato bhāṣitasyārthamājānāmi, nāsti sa kaściddharmo yastathāgatena anuttarā samyaksaṁbodhir ityabhisaṁbuddhaḥ, nāsti dharmo yastathāgatena deśitaḥ| + +【01罗什】须菩提言:「如我解佛所说义,无有定法名阿耨多罗三藐三菩提,亦无有定法如来可说。 + +【02流支】须菩提言:「如我解佛所说义,无有定法如来得阿耨多罗三藐三菩提,亦无有定法如来可说。 + +【03留支】须菩提言:「如我解佛所说义,无所有法如来所得,名阿耨多罗三藐三菩提,亦无有法如来所说。 + +【04真谛】须菩提言:「如我解佛说义无,所有法如来所得,名阿耨多罗三藐三菩提,亦无有法如来所说。 + +【05笈多】善实言:「如我,世尊!世尊说义解我,无有一法若如来无上正遍知证觉,无有一法若如来说。 + +【06玄奘】善现答言:「世尊!如我解佛所说义者,无有少法如来、应、正等觉,证得阿耨多罗三藐三菩提,亦无有少法是如来、应、正等觉所说。 + +【07义净】妙生言:「如我解佛所说义,如来于无上菩提,实无所证,亦无所说。 + +#9 何以故?如來所說法,皆不可取、不可說,非法、非非法。 + +【00梵文】 tatkasya hetoḥ ? yo'sau tathāgatena dharmo'bhisaṁbuddho deśito vā, agrāhyaḥ so'nabhilapyaḥ| na sa dharmo nādharmaḥ| + +【01罗什】何以故?如来所说法,皆不可取、不可说,非法、非非法。 + +【02流支】何以故?如来所说法,皆不可取、不可说,非法、非非法。 + +【03留支】何以故?是法如来所说,不可取、不可言,非法、非非法。 + +【04真谛】何以故?是法如来所说,不可取、不可言,非法、非非法。 + +【05笈多】彼何所因?若彼如来法说,不可取、彼不可说,不彼法、非不法。 + +【06玄奘】何以故?世尊!如来、应、正等觉所证、所说、所思惟法,皆不可取、不可宣说,非法、非非法。 + +【07义净】何以故?佛所说法,不可取、不可说,彼非法、非非法。 + +#9 所以者何?一切賢聖皆以無為法而有差別。」 + +【00梵文】 tatkasya hetoḥ ? asaṁskṛtaprabhāvitā hyāryapudgalāḥ||7|| + +【01罗什】所以者何?一切贤圣皆以无为法而有差别。」 + +【02流支】何以故?一切圣人皆以无为法得名。」 + +【03留支】何以故?一切圣人皆以无为真如所显现故。」 + +【04真谛】何以故?一切圣人皆以无为真如所显现故。」 + +【05笈多】彼何因?无为法显明圣人。」 + +【06玄奘】何以故?以诸贤圣补特伽罗皆是无为之所显故。」 + +【07义净】何以故?以诸圣者皆是无为所显现故。」 + +#8 己二、欲得福相至得法身 + +#9 「須菩提!於意云何?若人滿三千大千世界七寶以用布施,是人所得福德寧為多不?」 + +【00梵文】 bhagavānāha- tatkiṁ manyase subhūte yaḥ kaścitkulaputro vā kuladuhitā vā imaṁ trisāhasramahāsāhasraṁ lokadhātuṁ saptaratnaparipūrṇaṁ kṛtvā tathāgatebhyo'rhadbhayaḥ samyaksaṁbuddhebhyo dānaṁ dadyāt, api nu sa kulaputro vā kuladuhitā vā tatonidānaṁ bahu puṇyaskandhaṁ prasunuyāt| + +【01罗什】「须菩提!于意云何?若人满三千大千世界七宝,以用布施,是人所得福德宁为多不?」 + +【02流支】「须菩提!于意云何?若满三千大千世界七宝,以用布施,须菩提!于意云何?是善男子、善女人所得福德,宁为多不?」 + +【03留支】「须菩提!汝意云何?以三千大千世界遍满七宝,若人持用布施,是善男子、善女人,因此布施,生福多不?」 + +【04真谛】「须菩提!汝意云何?以三千大千世界遍满七宝,若人持用布施,是善男子、善女人,因此布施,生福多不?」 + +【05笈多】世尊言:「彼何意念?善实!若有善家子、若善家女,若此三千大千世界,七宝满作已,如来等、应等、正遍知等施与,彼何意念?善实!虽然,彼善家子、若善家女,若彼缘,多福聚生?」 + +【06玄奘】佛告善现:「于汝意云何?若善男子或善女人,以此三千大千世界盛满七宝,持用布施,是善男子或善女人,由此因缘所生福聚,宁为多不?」 + +【07义净】「妙生!于汝意云何?若善男子、善女人,以满三千大千世界七宝,持用布施,得福多不?」 + +#9 須菩提言:「甚多,世尊! + +【00梵文】 subhūtirāha-bahu bhagavan, bahu sugata sa kulaputro vā kuladuhitā vā tatonidānaṁ puṇyaskandhaṁ prasunuyāt| + +【01罗什】须菩提言:「甚多,世尊! + +【02流支】须菩提言:「甚多,婆伽婆!甚多,修伽陀!彼善男子、善女人得福甚多。 + +【03留支】须菩提言:「甚多,世尊!甚多,修伽陀!是善男子、善女人,因此布施,得福甚多。 + +【04真谛】须菩提言:「甚多,世尊!甚多,修伽陀!是善男子、善女人,因此布施,得福甚多。 + +【05笈多】善实言:「多,世尊!多,善逝!彼善家子、若善家女,若彼缘,多福聚生。 + +【06玄奘】善现答言:「甚多,世尊!甚多,善逝!是善男子或善女人,由此因缘所生福聚,其量甚多。 + +【07义净】妙生言:「甚多,世尊! + +#9 何以故?是福德,即非福德性,是故如來說福德多。」 + +【00梵文】 tatkasya hetoḥ ? yo'sau bhagavan puṇyaskandhastathāgatena bhāṣitaḥ, askandhaḥ sa tathāgatena bhāṣitaḥ| tasmāttathāgato bhāṣate- puṇyaskandhaḥ puṇyaskandha iti| + +【01罗什】何以故?是福德,即非福德性,是故如来说福德多。」 + +【02流支】何以故?世尊!是福德聚,即非福德聚,是故如来说福德聚、福德聚。」 + +【03留支】何以故?世尊!此福德聚,即非福德聚,是故如来说福德聚。」 + +【04真谛】何以故?世尊!此福德聚,即非福德聚,是故如来说福德聚。」 + +【05笈多】彼何所因?若彼,世尊!福聚,如来说非聚,彼,世尊!如来说福聚、福聚者。」 + +【06玄奘】何以故?世尊!福德聚、福德聚者,如来说为非福德聚,是故如来说名福德聚、福德聚。」 + +【07义净】何以故?此福聚者,则非是聚,是故如来说为福聚、福聚。」 + +#9 「若復有人於此經中,受持乃至四句偈等,為他人說,其福勝彼。 + +【00梵文】 bhagavān āha-yaśca khalu punaḥ subhūte kulaputro vā kuladuhitā va imaṁ trisāhasramahāsāhasraṁ lokadhātuṁ saptaratnaparipūrṇaṁ kṛtvā tathāgatebhyo'rhadbhyaḥ samyaksaṁbuddhebhyo dānaṁ dadyāt, yaśca ito dharmaparyāyādantaśaścatuṣpādikāmapi gāthāmudgṛhya parebhyo vistareṇa deśayet saṁprakāśayet, ayameva tatonidānaṁ bahutaraṁ puṇyaskandhaṁ prasunuyādapramey asaṁkhyeyam| + +【01罗什】「若复有人于此经中受持,乃至四句偈等,为他人说,其福胜彼。 + +【02流支】佛言:「须菩提!若善男子、善女人,以满三千大千世界七宝,持用布施;若复于此经中受持,乃至四句偈等,为他人说,其福胜彼无量不可数。 + +【03留支】佛言:「须菩提!若善男子、善女人,以三千大千世界遍满七宝,持用布施;若复有人从此经中,受四句偈,为他正说,显示其义,此人以是因缘所生福德,最多于彼无量无数。 + +【04真谛】佛言:「须菩提!若善男子、善女人,以三千大千世界遍满七宝,持用布施;若复有人从此经中,受四句偈,为他正说,显示其义,此人以是因缘所生福德,最多于彼无量无数。 + +【05笈多】世尊言:「若复,善实!善家子、若善家女,若此三千大千世界,七宝满作已,如来等、应等、正遍知等施与;若此法本,乃至四句等偈,受已,为他等分别广说,此彼缘,多过福聚生,无量不可数。 + +【06玄奘】佛复告善现言:「善现!若善男子或善女人,以此三千大千世界盛满七宝,持用布施;若善男子或善女人,于此法门,乃至四句伽陀,受持、读诵,究竟通利,及广为他宣说开示,如理作意,由是因缘所生福聚,甚多于前无量无数。 + +【07义净】「妙生!若有善男子、善女人,以满三千大千世界七宝,持用布施;若复有人,能于此经,乃至一四句颂,若自受持、为他演说,以是因缘,所生福聚,极多于彼,无量无数。 + +#9 何以故?須菩提!一切諸佛及諸佛阿耨多羅三藐三菩提法,皆從此經出。 + +【00梵文】 tatkasya hetoḥ ? atonirjātā hi subhūte tathāgatānāmarhatāṁ samyaksaṁbuddhānāmanuttarā samyaksaṁbodhiḥ, atonirjātāśca buddhā bhagavantaḥ| + +【01罗什】何以故?须菩提!一切诸佛及诸佛阿耨多罗三藐三菩提法皆从此经出。 + +【02流支】何以故?须菩提!一切诸佛阿耨多罗三藐三菩提法皆从此经出,一切诸佛如来皆从此经生。 + +【03留支】何以故?须菩提!如来无上菩提从此福成,诸佛世尊从此福生。 + +【04真谛】何以故?须菩提!如来无上菩提从此福成,诸佛世尊从此福生。 + +【05笈多】彼何所因?此出,善实!如来、应、正遍知无上正遍知,此生佛、世尊。 + +【06玄奘】何以故?一切如来、应、正等觉阿耨多罗三藐三菩提,皆从此经出,诸佛世尊皆从此经生。 + +【07义净】何以故?妙生!由诸如来无上等觉从此经出,诸佛世尊从此经生。 + +#9 須菩提!所謂佛法者,即非佛法,是名佛法。 + +【00梵文】 tatkasya hetoḥ ? buddhadharmā buddhadharmā iti subhūte abuddhadharmāścaiva te tathāgatena bhāṣitāḥ| tenocyante buddhadharmā iti||8|| + +【01罗什】须菩提!所谓佛法者,即非佛法。」 + +【02流支】须菩提!所谓佛法、佛法者,即非佛法。」 + +【03留支】何以故?须菩提!所言佛法者,即非佛法,是名佛法。」 + +【04真谛】何以故?须菩提!所言佛法者,即非佛法,是名佛法。」 + +【05笈多】彼何所因?佛法、佛法者,善实!非佛法如是彼,彼故说名佛法者。」 + +【06玄奘】所以者何?善现!诸佛法、诸佛法者,如来说为非诸佛法,是故如来说名诸佛法、诸佛法。」 + +【07义净】是故,妙生!佛法者,如来说非佛法,是名佛法。」 + +#5 丙四、离障碍住处 十二 + +#6 丁一、(五、于修道得胜中 无慢 住处 | 对治 我得慢) + +#7 須菩提!於意云何?須陀洹能作是念:『我得須陀洹果』不?」 + +【00梵文】 tatkiṁ manyase subhūte api nu srotaāpannasyaivaṁ bhavati-mayā srotaāpattiphalaṁ prāptamiti? + +【01罗什】「须菩提!于意云何?须陀洹能作是念:我得须陀洹果不?」 + +【02流支】「须菩提!于意云何?须陀洹能作是念:我得须陀洹果不?」 + +【03留支】「须菩提!汝意云何?须陀洹能作是念:我得须陀洹果不?」 + +【04真谛】「须菩提!汝意云何?须陀洹能作是念:我得须陀洹果不?」 + +【05笈多】世尊言:「彼何意念?善实!虽然,流入如是念:我流入果得到?」 + +【06玄奘】佛告善现:「于汝意云何?诸预流者颇作是念:我能证得预流果不?」 + +【07义净】「妙生!于汝意云何?诸预流者颇作是念:我得预流果不?」 + +#7 須菩提言:「不也,世尊!何以故?須陀洹名為入流,而無所入,不入色聲香味觸法,是名須陀洹。」 + +【00梵文】 subhūtir āha-no hīdaṁ bhagavan| na srotaāpannasyaivaṁ bhavati-mayā srotaāpattiphalaṁ prāptamiti| tatkasya hetoḥ ? na hi sa bhagavan kaṁciddharmamāpannaḥ, tenocyate srotaāpanna iti| na rūpamāpanno na śabdān na gandhān na rasān na spraṣṭavyān dharmānāpannaḥ| tenocyate srotaāpanna iti| + +【01罗什】须菩提言:「不也,世尊!何以故?须陀洹名为入流,而无所入。不入色、声、香、味、触、法,是名须陀洹。」 + +【02流支】须菩提言:「不也,世尊!何以故?实无有法名须陀洹。不入色、声、香、味、触、法,是名须陀洹。」 + +【03留支】须菩提言:「不也,世尊!何以故?世尊!实无所有能至于流,故说须陀洹。乃至色、声、香、味、触、法亦复如是,故名须陀洹。 + +【04真谛】须菩提言:「不能,世尊!何以故?世尊!实无所有能至于流,故说须陀洹。乃至色、声、香、味、触、法,亦复如是,故名须陀洹。」 + +【05笈多】善实言:「不如此,世尊!彼何所因?不彼,世尊!一人,彼故说名流入。不色入、不声、不香、不味、不触、不法入,彼故说名流入者。 + +【06玄奘】善现答言:「不也,世尊!诸预流者不作是念:我能证得预流之果。何以故?世尊!诸预流者无少所预,故名预流。不预色、声、香、味、触、法,故名预流。 + +【07义净】妙生言:「不尔,世尊!何以故?诸预流者,无法可预,故名预流。不预色、声、香、味、触、法,故名预流。 + +#7 (缺) + +【00梵文】 saced bhagavan srotaāpannasyaivaṁ bhavet- mayā srotaāpattiphalaṁ prāptamiti, sa eva tasyātmagrāho bhavet, sattvagrāho jīvagrāhaḥ pudgalagrāho bhaved iti|| + +【01罗什】(缺) + +【02流支】(缺) + +【03留支】(缺) + +【04真谛】(缺) + +【05笈多】彼若,世尊!流入如是念:我流入果得到。彼如是,彼所我取有,众生取、寿取、人取有。」 + +【06玄奘】世尊!若预流者作如是念:我能证得预流之果,即为执我、有情、命者、士夫、补特伽罗等。」 + +【07义净】世尊!若预流者作是念:我得预流果者,则有我执、有情、寿者、更求趣执。」 + +#7 「須菩提!於意云何?斯陀含能作是念:『我得斯陀含果』不?」 + +【00梵文】 bhagavān āha- takiṁ manyase subhūte api nu sakṛdāgāmina evaṁ bhavati-mayā sakṛdāgāmiphalaṁ prāptamiti ? + +【01罗什】「须菩提!于意云何?斯陀含能作是念:我得斯陀含果不?」 + +【02流支】佛言:「须菩提!于意云何?斯陀含能作是念:我得斯陀含果不?」 + +【03留支】(缺) + +【04真谛】(缺) + +【05笈多】世尊言:「彼何意念?善实!虽然,一来如是念:我一来果得到。?」 + +【06玄奘】佛告善现:「于汝意云何?诸一来者颇作是念:我能证得一来果不?」 + +【07义净】「妙生!于汝意云何?诸一来者颇作是念:我得一来果不?」 + +#7 須菩提言:「不也,世尊!何以故?斯陀含名一往來,而實無往來,是名斯陀含。」 + +【00梵文】 subhūtir āha- no hīdaṁ bhagavan| sa sakṛdāgāmina evaṁ bhavati-mayā sakṛdāgāmiphalaṁ prāptamiti| tatkasya hetoḥ ? na hi sa kaściddharmo yaḥ sakṛdāgāmitvamāpannaḥ| tenocyate sakṛdāgāmīti|| + +【01罗什】须菩提言:「不也,世尊!何以故?斯陀含名一往来,而实无往来,是名斯陀含。」 + +【02流支】须菩提言:「不也,世尊!何以故?实无有法名斯陀含,是名斯陀含。」 + +【03留支】斯陀含名一往来,实无所有能至往来,是名斯陀含。 + +【04真谛】斯陀含名一往来,实无所有能至往来,是名斯陀含。 + +【05笈多】善实言:「不如此,世尊!彼何所因?不,一来如是念:我一来果得到。彼何所因?不彼有法若一来人,彼故说名一来者。」 + +【06玄奘】善现答言:「不也,世尊!诸一来者不作是念:我能证得一来之果。何以故?世尊!以无少法证一来性,故名一来。」 + +【07义净】妙生言:「不尔,世尊!何以故?由彼无有少法证一来性,故名一来。」 + +#7 「 須菩提!於意云何?阿那含能作是念:『我得阿那含果』不?」 + +【00梵文】 bhagavānāha-tatkiṁ manyase subhūte api nu anāgāmina evaṁ bhavati-mayānāgāmiphalaṁ prāptamiti ? + +【01罗什】「须菩提!于意云何?阿那含能作是念:我得阿那含果不?」 + +【02流支】「须菩提!于意云何?阿那含能作是念:我得阿那含果不?」 + +【03留支】(缺) + +【04真谛】(缺) + +【05笈多】世尊言:「彼何意念?善实!虽然,不来如是念:我不来果得到?」 + +【06玄奘】佛告善现:「于汝意云何?诸不还者颇作是念:我能证得不还果不?」 + +【07义净】「妙生!于汝意云何?诸不还者颇作是念:我得不还果不?」 + +#7 須菩提言:「不也,世尊!何以故?阿那含名為不來,而實無不來,是故名阿那含。」 + +【00梵文】 subhūtir āha-no hīdaṁ bhagavan| na anāgāmina evaṁ bhavati-mayā anāgāmiphalaṁ prāptamiti| tatkasya hetoḥ ? na hi sa bhagavan kaściddharmo yo'nāgāmitvamāpannaḥ| tenocyate anāgāmīti|| + +【01罗什】须菩提言:「不也,世尊!何以故?阿那含名为不来,而实无来,是故名阿那含。」 + +【02流支】须菩提言:「不也,世尊!何以故?实无有法名阿那含,是名阿那含。」 + +【03留支】阿那含名为不来,实无所有能至不来,是名阿那含。」 + +【04真谛】阿那含名为不来,实无所有能至不来,是名阿那含。」 + +【05笈多】善实言:「不如此,世尊!彼何所因?不彼有法若不来入,彼故说名不来者。」 + +【06玄奘】善现答言:「不也,世尊!诸不还者不作是念:我能证得不还之果。何以故?世尊!以无少法证不还性,故名不还。」 + +【07义净】妙生言:「不尔,世尊!何以故?由彼无有少法证不还性,故名不还。」 + +#7 「 須菩提!於意云何?阿羅漢能作是念:『我得阿羅漢道』不?」 + +【00梵文】 bhagavānāha- tatkiṁ manyase subhūte api nu arhata evaṁ bhavati-mayā arhattvaṁ prāptamiti ? + +【01罗什】「须菩提!于意云何?阿罗汉能作是念:我得阿罗汉道不?」 + +【02流支】「须菩提!于意云何?阿罗汉能作是念:我得阿罗汉不?」 + +【03留支】佛言:「须菩提!汝意云何?阿罗汉能作是念:我得阿罗汉果不?」 + +【04真谛】佛言:「须菩提!汝意云何?阿罗汉能作是念:我得阿罗汉果不?」 + +【05笈多】世尊言:「彼何意念?善实!虽然,应如是念:我应得到?」 + +【06玄奘】佛告善现:「于汝意云何?诸阿罗汉颇作是念:我能证得阿罗汉不?」 + +【07义净】「妙生!于汝意云何?诸阿罗汉颇作是念:我得阿罗汉果不?」 + +#7 須菩提言:「不也,世尊!何以故?實無有法名阿羅漢。 + +【00梵文】 subhūtir āha-no hīdaṁ bhagavan| nārhata evaṁ bhavati-mayā arhattvaṁ prāptamiti| tatkasya hetoḥ ? na hi sa bhagavan kaściddharmo yo'rhannāma| tenocyate-arhanniti| + +【01罗什】须菩提言:「不也,世尊!何以故?实无有法名阿罗汉。 + +【02流支】须菩提言:「不也,世尊!何以故?实无有法名阿罗汉。 + +【03留支】须菩提言:「不也,世尊!何以故?实无所有名阿罗汉。 + +【04真谛】须菩提言:「不能,世尊!何以故?实无所有名阿罗汉。 + +【05笈多】善实言:「不如此,世尊!彼何所因?不彼,世尊!有法若应名,彼故说名应者。 + +【06玄奘】善现答言:「不也,世尊!诸阿罗汉不作是念:我能证得阿罗汉性。何以故?世尊!以无少法名阿罗汉,由是因缘名阿罗汉。 + +【07义净】妙生言:「不尔,世尊!由彼无有少法名阿罗汉。 + +#7 世尊!若阿羅漢作是念:『我得阿羅漢道。』即為著我、人、眾生、壽者。 + +【00梵文】 saced bhagavan arhata evaṁ bhavet-mayā arhattvaṁ prāptamiti, sa eva tasyātmagrāho bhavet, sattvagrāho jīvagrāhaḥ pudgalagrāho bhavet| + +【01罗什】世尊!若阿罗汉作是念:我得阿罗汉道,即为着我、人、众生、寿者。 + +【02流支】世尊!若阿罗汉作是念:我得阿罗汉。即为着我、人、众生、寿者。 + +【03留支】世尊!若阿罗汉作是念:我得阿罗汉果,即是我执、众生执、寿者执、受者执。 + +【04真谛】世尊!若阿罗汉作是念:我得阿罗汉果,此念即是我执、众生执、寿者执、受者执。 + +【05笈多】彼若,世尊!应如是念:我应得到。如是,彼所我取有,众生取、寿取、人取有。 + +【06玄奘】世尊!若阿罗汉作如是念:我能证得阿罗汉性,即为执我、有情、命者、士夫、补特伽罗等。 + +【07义净】世尊!若阿罗汉作是念:我得阿罗汉果者,则有我执、有情、寿者、更求趣执。 + +#7 世尊!佛說我得無諍三昧人中最為第一, + +【00梵文】 tat kasya hetoḥ ? ahamasmi bhagavaṁstathāgatenārhatā samyaksaṁbuddhena araṇāvihāriṇāmagryo nirdiṣṭaḥ| + +【01罗什】世尊!佛说我得无诤三昧人中最为第一, + +【02流支】世尊!佛说我得无诤三昧,最为第一, + +【03留支】世尊!如来、阿罗诃、三藐三佛陀赞我住无诤三昧人中最为第一。 + +【04真谛】世尊!如来、阿罗诃、三藐三佛陀赞我住无诤三昧人中最为第一。 + +【05笈多】彼何所因?我此,世尊!如来、应、正遍知,无诤行最胜说。 + +【06玄奘】所以者何?世尊!如来、应、正等觉,说我得无诤住最为第一。 + +【07义净】世尊!如来说我得无诤住中,最为第一。 + +#7 是第一離欲阿羅漢。我不作是念:『我是離欲阿羅漢。』 + +【00梵文】 ahamasmi bhagavan arhan vītarāgaḥ| na ca me bhagavannevaṁ bhavati- arhannasmyahaṁ vītarāga iti| sacenmama bhagavannevaṁ bhavet-mayā arhattvaṁ prāptamiti, na māṁ tathāgato vyākariṣyadaraṇāvihāriṇāmagryaḥ subhūtiḥ kulaputro na kvacidviharati, tenocyate araṇāvihārī araṇāvihārīti||9|| + +【01罗什】是第一离欲阿罗汉。我不作是念:我是离欲阿罗汉。世尊!我若作是念:我得阿罗汉道,世尊则不说:『须菩提是乐阿兰那行者。以须菩提实无所行,而名须菩提是乐阿兰那行。』」 + +【02流支】世尊说我是离欲阿罗汉、世尊!我不作是念:我是离欲阿罗汉。世尊!我若作是念:我得阿罗汉,世尊则不记我无诤行第一。以须菩提实无所行,而名须菩提无诤、无诤行。」 + +【03留支】世尊!我今已成阿罗汉,离三有欲。世尊!我亦不作是念:我是阿罗汉。世尊!我若有是念:我已得阿罗汉果,如来则应不授我记:『住无诤三昧人中,须菩提,善男子,最为第一。实无所住,住于无诤、住于无诤。』」 + +【04真谛】世尊!我今已得阿罗汉,离三有欲。世尊!我亦不作是念:我是阿罗汉。世尊!我若有是念:我已得阿罗汉果,如来则应不授我记:『住无诤三昧人中,须菩提,善男子,最为第一。实无所住,住于无诤、住于无诤。』」 + +【05笈多】我此,世尊!应离欲。不我,世尊!如是念:我此应者。若我,世尊!如是念:我应得到,不我如来记说:『无诤行最胜善实,善家子无所行,彼故说名无诤行、无诤行者。』」 + +【06玄奘】世尊!我虽是阿罗汉,永离贪欲,而我未曾作如是念:我得阿罗汉,永离贪欲。世尊!我若作如是念:我得阿罗汉,永离贪欲者,如来不应记说我言:『善现,善男子,得无诤住最为第一。』以都无所住,是故如来说名无诤住、无诤住。」 + +【07义净】世尊!我是阿罗汉,离于欲染,而实未曾作如是念:我是阿罗汉。世尊!若作是念:我得阿罗汉者,如来即不说我妙生得无诤住最为第一。以都无所住,是故说我得无诤住、得无诤住。」 + +世尊!我若作是念:『我得阿羅漢道。』世尊則不說須菩提是樂阿蘭那行者。以須菩提實無所行,而名須菩提是樂阿蘭那行。」 + +#6 丁二、(六、不离佛出时 住处 | 离少闻) + +#7 佛告須菩提:「於意云何?如來昔在然燈佛所,於法有所得不?」 + +【00梵文】 bhagavān āha-tatkiṁ manyase subhūte-asti sa kaściddharmo yastathāgatena dīpaṁkarasya tathāgatasyārhata-samyaksaṁbuddhasyāntikād udgṛhītaḥ ? + +【01罗什】佛告须菩提:「于意云何?如来昔在然灯佛所,于法有所得不?」 + +【02流支】佛告须菩提:「于意云何?如来昔在燃灯佛所,得阿耨多罗三藐三菩提法不?」 + +【03留支】佛告须菩提:「汝意云何?昔从然灯如来、阿罗诃、三藐三佛陀所,颇有一法如来所取不?」 + +【04真谛】佛告须菩提:「汝意云何?昔从然灯如来、阿罗诃、三藐三佛陀所,颇有一法如来所取不?」 + +【05笈多】世尊言:「彼何意念?善实!有一法,若如来,灯作如来、应、正遍知,受取?」 + +【06玄奘】佛告善现:「于汝意云何?如来昔在然灯如来、应、正等觉所,颇于少法有所取不?」 + +【07义净】「妙生!于汝意云何?如来昔在然灯佛所,颇有少法是可取不?」 + +#7 「不也,世尊!如來在然燈佛所,於法實無所得。」 + +【00梵文】 subhūtir āha- no hīdaṁ bhagavan| nāsti sa kaściddharmo yastathāgatena dīpaṁkarasya tathāgatasyārhataḥ samyaksaṁbuddhasyāntikād udgṛhītaḥ + +【01罗什】「世尊,如来在然灯佛所,于法实无所得。」 + +【02流支】须菩提言:「不也,世尊!如来在燃灯佛所,于法实无所得阿耨多罗三藐三菩提。」 + +【03留支】须菩提言:「不也,世尊!实无有法,昔从燃灯如来、阿罗诃、三藐三佛陀所,如来所取。」 + +【04真谛】须菩提言:「不取,世尊!实无有法,昔从然灯如来、阿罗诃、三藐三佛陀所,如来所取。」 + +【05笈多】善实言:「不如此,世尊!无一法,若如来,灯作如来、应、正遍知,受取。」 + +【06玄奘】善现答言:「不也,世尊!如来昔在然灯如来、应、正等觉所,都无少法而有所取。」 + +【07义净】妙生言:「不尔世尊!如来于然灯佛所,实无可取。」 + +#6 丁三、(七、愿净佛土 住处 | 离小攀缘 作念修道)  + +#7 戊一、明严净土劝舍有相二 + +#8 「須菩提!於意云何?菩薩莊嚴佛土不?」「不也,世尊!」「何以故?莊嚴佛土者,即非莊嚴,是名莊嚴。」 + +【00梵文】 bhagavān āha-yaḥ kaścitsubhūte bodhisattva evaṁ vadet-ahaṁ kṣetravyūhān niṣpādayiṣyāmīti, sa vitathaṁ vadet| tatkasya hetoḥ ? kṣetravyūhāḥ kṣetravyūhā iti subhūte avyūhāste tathāgatena bhāṣitāḥ| tenocyante kṣetravyūhā iti| + +【01罗什】「须菩提!于意云何?菩萨庄严佛土不?」「不也,世尊!」「何以故?庄严佛土者,则非庄严,是名庄严。」 + +【02流支】佛告须菩提:「若菩萨作是言:『我庄严佛国土』,彼菩萨不实语。何以故?须菩提!如来所说庄严佛土者,则非庄严,是名庄严佛土。 + +【03留支】佛告须菩提:「若有菩萨作如是言:『我当庄严清净佛土』,而此菩萨说虚妄言。何以故?须菩提!庄严佛土者,如来说非庄严。是故庄严清净佛土。 + +【04真谛】佛告须菩提:「若有菩萨作如是言:『我当庄严清净佛土』,而此菩萨说虚妄言。何以故?须菩提!庄严佛土者,如来说非庄严,是故庄严清净佛土。 + +【05笈多】世尊言:「若有,善实!菩萨摩诃萨如是语:『我国土庄严成就』我者,彼不如语。彼何所因?国土庄严者,善实!不庄严彼如来说,彼故说名国土庄严者。 + +【06玄奘】佛告善现:「若有菩萨作如是言:『我当成办佛土功德庄严』,如是菩萨非真实语。何以故?善现!佛土功德庄严、佛土功德庄严者,如来说非庄严,是故如来说名佛土功德庄严、佛土功德庄严。 + +【07义净】「妙生!若有菩萨作如是语:『我当成就庄严国土』者,此为妄语。何以故?庄严佛土者,如来说非庄严,由此说为国土庄严。 + +#7 戊二、劝生心令修无相因 + +#8 「是故須菩提!諸菩薩摩訶薩,應如是生清淨心,不應住色生心,不應住聲香味觸法生心,應無所住而生其心! + +【00梵文】 tasmāttarhi subhūte bodhisattvena mahāsattvena evamapratiṣṭhitaṁ cittamutpādayitavyaṁ yanna kvacitpratiṣṭhitaṁ cittamutpādayitavyam| na rūpapratiṣṭhitaṁ cittamutpādayitavyaṁ na śabdagandharasaspraṣṭavyadharmapratiṣṭhitaṁ cittam utpādayitavyam| + +【01罗什】「是故,须菩提!诸菩萨摩诃萨应如是生清净心。不应住色生心,不应住声、香、味、触、法生心。应无所住而生其心。 + +【02流支】是故,须菩提!诸菩萨摩诃萨应如是生清净心而无所住,不住色生心,不住声、香、味、触、法生心。应无所住而生其心。 + +【03留支】须菩提!是故菩萨应生如是无住着心,不住色、声、香、味、触、法生心。应无所住而生其心。 + +【04真谛】须菩提!是故菩萨应生如是无住着心,不住色、声、香、味、触、法生心。应无所住而生其心。 + +【05笈多】彼故,此,善实!菩萨摩诃萨,如是不住心发生应:不色住心发生应,不声、香、味、触、法住心发生应。无所住心发生应。 + +【06玄奘】是故,善现!菩萨如是都无所住应生其心:不住于色应生其心,不住非色应生其心;不住声、香、味、触、法应生其心,不住非声、香、味、触、法应生其心。都无所住应生其心。」 + +【07义净】是故,妙生!菩萨不住于事,不住随处:不住色、声、香、味、触、法,应生其心。应生不住事心,应生不住随处心,应生不住色、声、香、味、触、法心。 + +#6 丁四、(八、成熟众生 住处 | 离舍众生) + +#7 須菩提!譬如有人身如須彌山王,於意云何?是身為大不?」 + +【00梵文】 tadyathāpi nāma subhūte puruṣo bhavedupetakāyo mahākāyo yattasyaivaṁ rūpa ātmabhāvaḥ syāt tadyathāpi nāma sumeruḥ parvatarājaḥ| tatkiṁ manyase subhūte api nu mahān sa ātmabhāvo bhavet ? + +【01罗什】须菩提!譬如有人,身如须弥山王。于意云何?是身为大不?」 + +【02流支】须菩提!譬如有人,身如须弥山王。须菩提!于意云何?是身为大不?」 + +【03留支】须菩提!譬如有人,体相胜大如须弥山王。须菩提!汝意云何?如是体相为胜大不?」 + +【04真谛】须菩提!譬如有人,体相胜大如须弥山。须菩提!汝意云何?如是体相为胜大不?」 + +【05笈多】譬如,善实!丈夫有此如是色我身有,譬如善高山王。彼何意念?善实!虽然,彼大我身有?」 + +【06玄奘】佛告善现:「如有士夫具身大身,其色自体,假使譬如妙高山王。善现!于汝意云何?彼之自体为广大不?」 + +【07义净】妙生!譬如有人,身如妙高山王。于意云何?是身为大不?」 + +#7 須菩提言:「甚大,世尊!何以故?佛說非身,是名大身。」 + +【00梵文】 subhūtir āha-mahān sa bhagavān, mahān sugata sa ātmabhāvo bhavet| tatkasya hetoḥ ? ātmabhāva ātmabhāva iti bhagavan na bhāvaḥ sa tathāgatena bhāṣitaḥ| tenocyata ātmabhāva iti| na hi bhagavan sa bhāvo nābhāvaḥ| tenocyate ātmabhāva iti||10|| + +【01罗什】须菩提言:「甚大,世尊!何以故?佛说非身,是名大身。」 + +【02流支】须菩提言:「甚大,世尊!何以故?佛说非身,是名大身。彼身非身,是名大身。」 + +【03留支】须菩提言:「甚大,世尊!何以故?如来说非有,名为有身。此非是有,故说有身。」 + +【04真谛】须菩提言:「甚大,世尊!何以故?如来说非有,名为有身。此非是有,故说有身。」 + +【05笈多】善实言:「大,世尊!大,善逝!彼我身有。彼何所因?我身、我身者,世尊!不有彼如来说,彼故说名我身者。不彼,世尊!有,彼故说名我身者。」 + +【06玄奘】善现答言:「彼之自体广大,世尊!广大,善逝!何以故?世尊!彼之自体,如来说非彼体,故名自体。非以彼体,故名自体。」 + +【07义净】妙生言:「甚大,世尊!何以故?彼之大身,如来说为非身。以彼非有,说名为身。」 + +#6 丁五、(九、远离随顺外论散乱 住处 | 离乐外、散乱) + +#7 戊一、显此法胜异 + +#8 「須菩提!如恆河中所有沙數,如是沙等恆河,於意云何?是諸恆河沙寧為多不?」 + +【00梵文】 bhagavān āha- tatkiṁ manyase subhūte-yāvatyo gaṅgāyāṁ mahānadyāṁ vālukāstāvatya eva gaṅgānadyo bhaveyuḥ ? + +【01罗什】「须菩提!如恒河中所有沙数,如是沙等恒河,于意云何?是诸恒河沙宁为多不?」 + +【02流支】佛言:「须菩提!如恒河中所有沙数,如是沙等恒河,于意云何?是诸恒河沙,宁为多不?」 + +【03留支】佛告须菩提:「汝意云何?于恒伽江所有诸沙,如其沙数所有恒伽,诸恒伽沙宁为多不?」 + +【04真谛】佛告须菩提:「汝意云何?于恒伽所有诸沙,如其沙数所有恒伽,诸恒伽沙,宁为多不?」 + +【05笈多】「世尊言:「彼何意念?善实!所有恒伽大河沙,彼所有如是恒伽大河有,彼中若沙,虽然,彼多沙有?」 + +【06玄奘】佛告善现:「于汝意云何?乃至殑伽河中所有沙数,假使有如是沙等殑伽河,是诸殑伽河沙宁为多不?」 + +【07义净】「妙生!于汝意云何?如弶伽河中所有沙数,复有如是沙等弶伽河,此诸河沙,宁为多不?」 + +#8 須菩提言:「甚多,世尊!但諸恆河尚多無數,何況其沙?」 + +【00梵文】 tāsu yā vālukāḥ, api nu tā bahvayo bhaveyuḥ ? subhūtirāha-tā eva tāvadbhagavan bahvayo gaṅgānadyo bhaveyuḥ, prāgeva yāstāsu gaṅgānadīṣu vālukāḥ| + +【01罗什】须菩提言:「甚多,世尊!但诸恒河尚多无数,何况其沙。」 + +【02流支】须菩提言:「甚多,世尊!但诸恒河,尚多无数,何况其沙。」 + +【03留支】须菩提言:「甚多,世尊!但诸恒伽尚多无数,何况其沙。」 + +【04真谛】须菩提言:「甚多,世尊!但诸恒伽尚多无数,何况其沙。」 + +【05笈多】善实言:「彼如是所有,世尊!多恒伽大河有,何况若彼中沙。」 + +【06玄奘】善现答言:「甚多,世尊!甚多,善逝!诸殑伽河尚多无数,何况其沙。」 + +【07义净】妙生言:「甚多,世尊!河尚无数,况复其沙。」 + +#8 「須菩提!我今實言告汝:若有善男子、善女人以七寶滿爾所恆河沙數三千大千世界以用布施,得福多不?」 + +【00梵文】 bhagavānāha- ārocayāmi te subhūte, prativedayāmi te| yāvatyastāsu gaṅgānadīṣu vālukā bhaveyustāvato lokadhātūn kaścideva strī vā puruṣo vā saptaratnaparipurṇaṁ kṛtvā tathāgatebhyo'rhadbhayaḥ samyaksaṁbuddhebhyo dānaṁ dadyāt, tat kiṁ manyase subhūte-api nu sā strī vā puruṣo vā tatonidānaṁ bahu puṇyaskandhaṁ prasunuyāt ? + +【01罗什】「须菩提!我今实言告汝,若有善男子、善女人,以七宝满尔所恒河沙数三千大千世界,以用布施,得福多不?」 + +【02流支】佛言:「须菩提!我今实言告汝,若有善男子、善女人,以七宝满尔数恒沙数世界,以施诸佛、如来,须菩提!于意云何?彼善男子、善女人,得福多不?」 + +【03留支】佛言:「须菩提!我今觉汝,我今示汝,诸恒伽中所有沙数,尔许世界,若有善男子、善女人,以七宝遍满,持施如来、应供、正遍觉知,须菩提!汝意云何?此人以是因缘得福多不?」 + +【04真谛】佛言:「须菩提!我今觉汝,我今示汝,诸恒伽中所有沙数,尔许世界,若有善男子、善女人,以七宝遍满,持施如来、应供、正遍觉知,须菩提!汝意云何?此人以是因缘得福多不?」 + +【05笈多】世尊言:「欲我汝,善实!知我汝,所有彼中恒伽大河中沙有,彼所有世界有,如是妇女、若丈夫,若七宝满作已,如来等、应等、正遍知等施与。彼何意念?善实!虽然,彼妇女、若丈夫,若彼缘,多福聚生?」 + +【06玄奘】佛言:「善现!吾今告汝,开觉于汝,假使若善男子或善女人,以妙七宝盛满尔所殑伽河沙等世界,奉施如来、应、正等觉,善现!于汝意云何?是善男子或善女人,由此因缘所生福聚,宁为多不?」 + +【07义净】「妙生!我今实言告汝,若复有人,以宝满此河沙数量世界,奉施如来,得福多不?」 + +#8 須菩提言:「甚多,世尊!」 + +【00梵文】 subhūtir āha-bahu bhagavan, bahu sugata strī vā puruṣo vā tatonidānaṁ puṇyaskandhaṁ prasunuyādaprameyama saṁkhyeyam| + +【01罗什】须菩提言:「甚多,世尊!」 + +【02流支】须菩提言:「甚多,世尊!彼善男子、善女人,得福甚多。」 + +【03留支】须菩提言:「甚多,世尊!甚多,修伽陀!此人以是因缘,生福甚多。」 + +【04真谛】须菩提言:「甚多,世尊!甚多,修伽陀!有人以是因缘,生福甚多。」 + +【05笈多】善实言:「多,世尊!多,善逝!彼妇女、若丈夫,若彼缘,多福聚生,无量不可数。」 + +【06玄奘】善现答言:「甚多,世尊!甚多,善逝!是善男子或善女人,由此因缘所生福聚,其量甚多。」 + +【07义净】妙生言:「甚多,世尊!」 + +#8 佛告須菩提:「若善男子、善女人於此經中乃至受持四句偈等,為他人說,而此福德勝前福德。 + +【00梵文】 bhagavānāha- yaśca khalu punaḥ subhūte strī vā puruṣo vā tāvato lokadhātūn saptaratnaparipūrṇaṁ kṛtvā tathāgatebhyo'rhadbhayaḥ samyaksaṁbuddhebhyo dānaṁ dadyāt, yaśca kulaputro vā kuladuhitā vā ito dharmaparyāyādantaśaścatuṣpādikāmapi gāthāmudgṛhya parebhyo deśayet saṁprakāśayet, ayameva tatonidānaṁ bahutaraṁ puṇyaskandhaṁ prasunuyādaprameyam asaṁkhyeyam||11|| + +【01罗什】佛告须菩提:「若善男子、善女人,于此经中,乃至受持四句偈等,为他人说,而此福德胜前福德。」 + +【02流支】佛告须菩提:「以七宝满尔数恒河沙世界,持用布施;若善男子、善女人于此法门,乃至受持四句偈等,为他人说,而此福德胜前福德无量阿僧祇。」 + +【03留支】「须菩提!若善男子、善女人,以七宝遍满尔所恒伽沙世界,持用布施;若善男子、善女人,从此经典,乃至四句偈等,恭敬受持,为他正说,是人所生福德,最胜于彼无量无数。」 + +【04真谛】「须菩提!若善男子、善女人,以七宝遍满尔所恒伽沙世界,持用布施;若善男子、善女人,从此经典,乃至四句偈等,恭敬受持,为他正说,是人所生福德,最胜于彼无量无数。」 + +【05笈多】世尊言:「若复时,善实!善家子、若善家女,若彼所有世界,七宝满作已,如来等、应等、正遍知等施与;若此法本,乃至四句等偈,受已,为他等分别广说,此如是彼缘,多过福聚生,无量不可数。」 + +【06玄奘】佛复告善现:「若以七宝盛满尔所沙等世界,奉施如来、应、正等觉;若善男子或善女人,于此法门,乃至四句伽他,受持、读诵,究竟通利,及广为他宣说开示,如理作意,由此因缘所生福聚,甚多于前无量无数。」 + +【07义净】「妙生!若复有人,于此经中,受持一颂,并为他说,而此福聚胜前福聚,无量无边。」 + +#8 復次,須菩提!隨說是經乃至四句偈等,當知此處一切世間天、人、阿修羅皆應供養如佛塔廟,何況有人盡能受持、讀誦!須菩提!當知是人成就最上第一希有之法! + +【00梵文】 api tu khalu punaḥ subhute yasmin pṛthivīpradeśe ito dharmaparyāyād antaśaś catuṣpādikām api gāthāmudgṛhya bhāṣyeta vā saṁprakāśyeta vā, sa pṛthivīpradeśaścaityabhūto bhavet sadevamānuṣāsurasya lokasya, kaḥ punarvādo ye imaṁ dharmaparyāyaṁ sakalasamāptaṁ dhārayiṣyanti vācayiṣyanti paryavāpsyanti, parebhyaśca vistareṇa saṁprakāśayiṣyanti| parameṇa te subhūte āścaryeṇa samanvāgatā bhaviṣyanti| + +【01罗什】「复次,须菩提!随说是经,乃至四句偈等,当知此处,一切世间天、人、阿修罗皆应供养,如佛塔庙,何况有人尽能受持、读诵。须菩提!当知是人成就最上第一希有之法。 + +【02流支】「复次,须菩提!随所有处,说是法门,乃至四句偈等,当知此处,一切世间天、人、阿修罗皆应供养,如佛塔庙,何况有人尽能受持、读诵此经。须菩提!当知是人成就最上第一希有之法。 + +【03留支】「复次,须菩提!随所在处,若有人能从是经典,乃至四句偈等,读诵、讲说,当知此处于世间中,即成支提,一切人、天,及阿修罗等,皆应恭敬。何况有人尽能受持、读诵如此经典。当知是人则与无上希有之法而共相应。 + +【04真谛】「复次,须菩提!随所在处,若有人能从是经典,乃至四句偈等,读诵、讲说,当知此处于世间中,即成支提,一切人、天、阿修罗等,皆应恭敬,何况有人尽能受持、读诵如此经典。当知是人则与无上希有之法而共相应。 + +【05笈多】「虽然,复次时,善实!此中地分,此法本,乃至四句等偈,为他等说,若分别、若广说,若彼地分,支帝有天、人、阿修罗。世何复言,善实!若此法本,持当、读当、诵当,他等及分别广说当。最胜彼希有具足当有。 + +【06玄奘】「复次,善现!若地方所,于此法门,乃至为他宣说,开示四句伽他,此地方所,尚为世间诸天及人、阿素洛等之所供养,如佛灵庙。何况有能于此法门具足究竟,书写、受持、读诵,究竟通利,及广为他宣说开示,如理作意。如是有情,成就最胜希有功德。 + +【07义净】「妙生!若国土中,有此法门,为他解说,乃至四句伽他,当知此地,即是制底,一切天、人、阿苏罗等,皆应右绕而为敬礼,何况尽能受持、读诵。当知是人则为最上第一希有。 + +#8 若是經典所在之處,則為有佛,若尊重弟子。」 + +【00梵文】 tasmiṁśca subhūte pṛthivīpradeśe śāstā viharatyanyatarānyataro vā vijñagurusthānīyaḥ||12|| + +【01罗什】若是经典所在之处,则为有佛,若尊重弟子。」 + +【02流支】若是经典所在之处,则为有佛,若尊重似佛。」 + +【03留支】是土地处,大师在中,或随有一可尊重人。」 + +【04真谛】是土地处,大师在中,或随有一可尊重人。」 + +【05笈多】此中,善实!地分教师游行,别异尊重处,相似共梵行。」 + +【06玄奘】此地方所,大师所住,或随一一尊重处所,若诸有智同梵行者。」 + +【07义净】又此方所,即为有佛及尊重弟子。」 + +#7 戊二、治如言起义执罪 + +#8 爾時,須菩提白佛言:「世尊!當何名此經?我等云何奉持?」 + +【00梵文】 evamukte āyuṣmān subhūtirbhagavantametadavocat-ko nāma ayaṁ bhagavan dharmaparyāyaḥ, kathaṁ cainaṁ dhārayāmi ? + +【01罗什】尔时,须菩提白佛言:「世尊!当何名此经?我等云何奉持?」 + +【02流支】尔时,须菩提白佛言:「世尊!当何名此法门?我等云何奉持?」 + +【03留支】佛说是已。净命须菩提白佛言:「世尊!如是经典,名号云何?我等云何奉持?」 + +【04真谛】佛说是已。净命须菩提白佛言:「世尊!如是经典,名号云何?我等云何奉持?」 + +【05笈多】如是语已。命者善实世尊边如是言:「何名此?世尊!法本云何?及如此持我。」 + +【06玄奘】说是语已。具寿善现复白佛言:「世尊!当何名此法门?我当云何奉持?」 + +【07义净】(被置于第十四分) + +#8 佛告須菩提:「是經名為金剛般若波羅蜜。以是名字,汝當奉持! + +【00梵文】 evamukte bhagavānāyuṣmantaṁ subhūtimetadavocat- prajñāpāramitā nāmāyaṁ subhūte dharmaparyāyaḥ| evaṁ cainaṁ dhāraya| + +【01罗什】佛告须菩提:「是经名为《金刚般若波罗蜜》。以是名字,汝当奉持。 + +【02流支】佛告须菩提:「是法门名为『金刚般若波罗蜜』,以是名字汝当奉持。 + +【03留支】佛告须菩提:「此经名《金刚般若波罗蜜》,以是名字。汝当奉持。 + +【04真谛】佛告须菩提:「此经名《般若波罗蜜》,以是名字,汝当奉持。 + +【05笈多】如是语已。世尊命者善实边如是言:「『智慧彼岸到』名此,善实!法本,如是此持。 + +【06玄奘】作是语已。佛告善现言:「具寿!今此法门名为『能断金刚般若波罗蜜多』如是名字,汝当奉持。 + +【07义净】(被置于第十四分) + +#8 所以者何?須菩提!佛說般若波羅蜜,即非般若波羅蜜,是名般若波羅蜜。 + +【00梵文】 tat kasya hetoḥ ? yaiva subhūte prajñāpāramitā tathāgatena bhāṣitā, saiva apāramitā tathāgatena bhāṣitā| tenocyate prajñāpāramiteti|| + +【01罗什】所以者何?须菩提!佛说般若波罗蜜,则非般若波罗蜜。 + +【02流支】何以故?须菩提!佛说般若波罗蜜,则非般若波罗蜜。 + +【03留支】何以故?须菩提!是般若波罗蜜,如来说非般若波罗蜜。 + +【04真谛】佛告须菩提:「此经名般若波罗蜜以是名字汝当奉持 + +【05笈多】彼何所因?若如是,善实!智慧彼岸到如来说,彼如是非彼岸到。彼故说名智慧彼岸到者。 + +【06玄奘】何以故?善现!如是般若波罗蜜多,如来说为非般若波罗蜜多,是故如来说名般若波罗蜜多。」 + +【07义净】(被置于第十四分) + +#7 戊三、显自相及平等相法门第一义 + +#8 須菩提!於意云何?如來有所說法不?」 + +【00梵文】 tatkiṁ manyase subhūte-api nu asti sa kaściddharmo yastathāgatena bhāṣitaḥ ? + +【01罗什】须菩提!于意云何?如来有所说法不?」 + +【02流支】须菩提!于意云何?如来有所说法不?」 + +【03留支】须菩提!汝意云何?颇有一法,一佛说不?」 + +【04真谛】须菩提!汝意云何?颇有一法一佛说不?」 + +【05笈多】彼何意念?善实!虽然,有法若如来说?」 + +【06玄奘】佛告善现:「于汝意云何?颇有少法如来可说不?」 + +【07义净】「妙生!于汝意云何?颇有少法是如来所说不?」 + +#8 須菩提白佛言:「世尊!如來無所說。」 + +【00梵文】 subhūtirāha-no hīdaṁ bhagavan| nāsti sa kaściddharmo yastathāgatena bhāṣitaḥ|| + +【01罗什】须菩提白佛言:「世尊!如来无所说。」 + +【02流支】须菩提言:「世尊!如来无所说法。」 + +【03留支】须菩提言:「不也,世尊!无有一法,一如来说。」 + +【04真谛】须菩提言:「无有,世尊!无有一法,一如来说。」 + +【05笈多】善实言:「不如此,世尊!不有,世尊!法若如来说。」 + +【06玄奘】善现答言:「不也,世尊!无有少法,如来可说。」 + +【07义净】妙生言:「不尔,世尊!无有少法是如来所说。」 + +#6 丁六、(十、色及众生身摶取中 观破相应行 住处 | 离 于影像相自在中 无巧便)   + +#7 戊一、为破色身影像二 + +#8 己一、细作方便 + +#9 「須菩提!於意云何?三千大千世界所有微塵,是為多不?」 + +【00梵文】 bhagavānāha-tatkiṁ manyase subhūte-yāvat trisāhasramahāsāhasre lokadhātau pṛthivīrajaḥ kaccit, tadbahu bhavet ? + +【01罗什】「须菩提!于意云何?三千大千世界所有微尘,是为多不?」 + +【02流支】「须菩提!于意云何?三千大千世界所有微尘,是为多不?」 + +【03留支】佛告须菩提:「三千大千世界所有微尘,是为多不?」 + +【04真谛】佛告须菩提:「三千大千世界所有微尘,是为多不?」 + +【05笈多】世尊言:「所有,善实!三千大千世界地尘有多有?」 + +【06玄奘】佛告善现:「乃至三千大千世界大地微尘,宁为多不?」 + +【07义净】「妙生!三千大千世界所有地尘,是为多不?」 + +#8 己二、不念方便 + +#9 須菩提言:「甚多,世尊!」「須菩提!諸微塵,如來說非微塵,是名微塵。 + +【00梵文】 subhūtirāha-bahu bhagavan, bahu sugata pṛthivīrajo bhavet| tatkasya hetoḥ ? yattadbhagavan pṛthivīrajastathāgatena bhāṣitam, arajastadbhagavaṁstathāgatena bhāṣitam| tenocyate pṛthivīraja iti| + +【01罗什】须菩提言:「甚多,世尊!」 + +「须菩提!诸微尘,如来说非微尘,是名微尘。 + +【02流支】须菩提言:「彼微尘甚多,世尊!」 + +「须菩提!是诸微尘,如来说非微尘,是名微尘。 + +【03留支】须菩提言:「此世界微尘甚多,世尊!甚多,修伽陀!何以故?世尊!此诸微尘,如来说非微尘,故名微尘。 + +【04真谛】须菩提言:「此世界微尘甚多,世尊!甚多,修伽陀!何以故?世尊!此诸微尘,如来说非微尘,故名微尘。 + +【05笈多】善实言:「多,世尊!多,善逝!彼地尘。彼何所因?若彼,世尊!地尘如来说,非尘彼如来说。彼故说名地尘者。 + +【06玄奘】善现答言:「此地微尘甚多,世尊!甚多,善逝!」 + +佛言:「善现!大地微尘,如来说非微尘,是故如来说名大地微尘。 + +【07义净】妙生言:「甚多,世尊!何以故?诸地尘,佛说非尘,故名地尘。 + +#7 戊二、为破众生名身影像故不念方便 + +#8 如來說世界,非世界,是名世界。 + +【00梵文】 yo'pyasau lokadhātustathāgatena bhāṣitaḥ, adhātuḥ sa tathāgatena bhāṣitaḥ| tenocyate lokadhātur iti|| + +【01罗什】如来说世界非世界,是名世界。 + +【02流支】如来说世界非世界,是名世界。」 + +【03留支】此诸世界,如来说非世界,故说世界。」 + +【04真谛】此诸世界,如来说非世界,故说世界。」 + +【05笈多】若彼世界如来说,非界如来说,彼故说名世界者。」 + +【06玄奘】诸世界,如来说非世界,是故如来说名世界。」 + +【07义净】此诸世界,佛说非界,故名世界。」 + +#6 丁七、(十一、供养给侍如来 住处 | 离不具福资粮) + +#7 須菩提!於意云何?可以三十二相見如來不?」 + +【00梵文】 bhagavān āha- tat kiṁ manyase subhūte dvātriṁśanmahāpuruṣalakṣaṇaistathāgato'rhan samyaksaṁbuddho draṣṭavyaḥ ? + +【01罗什】须菩提!于意云何?可以三十二相见如来不?」 + +【02流支】佛言:「须菩提!于意云何?可以三十二大人相见如来不?」 + +【03留支】佛告须菩提:「汝意云何?可以三十二大人相见如来不?」 + +【04真谛】佛告须菩提:「汝意云何?可以三十二大人相见如来不?」 + +【05笈多】世尊言:「彼何意念?善实!三十二大丈夫相,如来、应、正遍知、见应?」 + +【06玄奘】佛告善现:「于汝意云何?应以三十二大士夫相,观于如来、应、正等觉不?」 + +【07义净】「妙生!于汝意云何?可以三十二大丈夫相观如来不?」 + +#7 「不也,世尊!不可以三十二相得見如來, + +【00梵文】 subhūtirāha-no hīdaṁ bhagavan| dvātriṁśanmahāpuruṣalakṣaṇaistathāgato'rhan samyaksaṁbuddho draṣṭavyaḥ| + +【01罗什】「不也,世尊!不可以三十二相得见如来。 + +【02流支】须菩提言:「不也,世尊! + +【03留支】须菩提言:「不也,世尊! + +【04真谛】须菩提言:「不可,世尊! + +【05笈多】善实言:「不如此,世尊!不三十二大丈夫相,如来、应、正遍知、见应。 + +【06玄奘】善现答言:「不也,世尊!不应以三十二大士夫相,观于如来、应、正等觉。 + +【07义净】妙生言:「不尔,世尊!不应以三十二相观于如来。 + +#7 何以故?如來說三十二相,即是非相,是名三十二相。」 + +【00梵文】 tatkasya hetoḥ ? yāni hi tāni bhagavan dvātriṁśanmahāpuruṣalakṣaṇāni tathāgatena bhāṣitāni, alakṣaṇāni tāni bhagavaṁstathāgatena bhāṣitāni| tenocyante dvātriṁśan mahāpuruṣalakṣaṇānīti|| + +【01罗什】何以故?如来说三十二相,即是非相,是名三十二相。」 + +【02流支】何以故?如来说三十二大人相,即是非相,是名三十二大人相。」 + +【03留支】何以故?此三十二大人相,如来说非相,故说三十二大人相。」 + +【04真谛】何以故?此三十二大人相,如来说非相,故说三十二大人相。」 + +【05笈多】彼何所因?所有,世尊!三十二大丈夫相如来说,非相所有如来说,彼故说名三十二大丈夫相者。」 + +【06玄奘】何以故?世尊!三十二大士夫相,如来说为非相,是故如来说名三十二大士夫相。」 + +【07义净】何以故?三十二相,佛说非相,是故说为大丈夫相。」 + +#6 丁八、(十二、远离利养及疲乏、热恼故 不起精进及退失 住处 | 離懈怠、利養等樂味) + +#7 戊一、约内财校量经胜 + +#8 「須菩提!若有善男子、善女人以恆河沙等身命布施;若復有人,於此經中乃至受持四句偈等,為他人說,其福甚多!」 + +【00梵文】 bhagavānāha-yaśca khalu punaḥ subhūte strī vā puruṣo vā dine dine gaṅgānadīvālukāsamānātmabhāvān parityajet, evaṁ parityajan gaṅgānadīvālukāsamān kalpāṁstānātmabhāvān parityajet, yaśca ito dharmaparyāyadantaśaścatuṣpādikāmapi gāthāmudgṛhyaparebhyo deśayet saṁprakāśayet, ayameva tatonidānaṁ bahutaraṁ puṇyaskandhaṁ prasunuyādaprameyamasaṁkhyeyam||13|| + +【01罗什】「须菩提!若有善男子、善女人,以恒河沙等身命布施;若复有人,于此经中,乃至受持四句偈等,为他人说,其福甚多。」 + +【02流支】佛言:「须菩提!若有善男子、善女人,以恒河沙等身命布施;若复有人于此法门中,乃至受持四句偈等,为他人说,其福甚多无量阿僧祇。」 + +【03留支】佛告须菩提:「若有善男子、善女人,如诸恒伽所有沙数,如是沙等身命,舍以布施;若有善男子、善女人,从此经典,乃至四句偈等,恭敬受持,为他正说,此人以是因缘,生福多彼无量无数。」 + +【04真谛】佛告须菩提:「若有善男子、善女人,如诸恒河所有沙数,如是沙等身命,舍以布施;若有善男子、善女人,从此经典,乃至四句偈等,恭敬受持,为他正说,此人以是因缘,生福多彼无量无数。」 + +【05笈多】世尊言:「若复时,善实!妇女、若丈夫,若日日恒伽河沙等我身舍,如是舍恒伽河沙等劫所有我身舍;若此法本,乃至四句等偈,受已,为他等分别,此如是彼缘,多过福聚生,无量不可数。」 + +【06玄奘】佛复告善现言:「假使若有善男子或善女人,于日日分,舍施殑伽河沙等自体,如是经殑伽河沙等劫数,舍施自体;复有善男子或善女人,于此法门,乃至四句伽他,受持、读诵,究竟通利,及广为他宣说开示,如理作意,由是因缘所生福聚,甚多于前无量无数。」 + +【07义净】「妙生!若有男子、女人,以弶伽河沙等身命布施;若复有人,于此经中,受持一颂,并为他说,其福胜彼无量无数。」 + +#7 戊二、须菩提泣叹未闻释所以三 + +#8 己一、正释所感 + +#9 爾時,須菩提聞說是經,深解義趣,涕淚悲泣而白佛言: + +【00梵文】 atha khalv āyuṣmān subhūtirdharmavegenāśrūṇi prāmuñcat| so'śrūṇi pramṛjya bhagavantam etad avocat- + +【01罗什】尔时,须菩提闻说是经,深解义趣,涕泪悲泣而白佛言: + +【02流支】尔时,须菩提闻说是经,深解义趣,涕泪悲泣,扪泪而白佛言: + +【03留支】尔时,净命须菩提由法利疾,即便悲泣,抆泪而言: + +【04真谛】尔时,净命须菩提由法利疾,即便悲泣,收泪而言: + +【05笈多】尔时,命者善实法疾转力,泪出。彼泪拭已,世尊边如是言: + +【06玄奘】尔时,具寿善现闻法威力,悲泣堕泪,俯仰扪泪而白佛言: + +【07义净】尔时,妙生闻说是经,深解义趣,涕泪悲泣而白佛言: + +#9 「希有世尊!佛說如是甚深經典, + +【00梵文】 āścaryaṁ bhagavan, paramāścaryaṁ sugata, yāvadayaṁ dharmaparyāyastathāgatena bhāṣito'grayānasaṁprasthitānāṁ sattvānāmarthāya, śreṣṭhayānasaṁprasthitānāmarthāya, yato me bhagavan jñānam utpannam| + +【01罗什】「希有,世尊!佛说如是甚深经典, + +【02流支】「希有,婆伽婆!希有,修伽陀!佛说如是甚深法门。 + +【03留支】「希有,世尊!希有,修伽陀!如此经典,如来所说。 + +【04真谛】「希有,世尊!希有,修伽陀!如此经典,如来所说。 + +【05笈多】「希有,世尊!最胜希有,善逝!所有此法本如来说,此我,世尊!智生。 + +【06玄奘】「甚奇希有,世尊!最极希有,善逝!如来今者所说法门,普为发趣最上乘者作诸义利,普为发趣最胜乘者作诸义利。 + +【07义净】(缺) + +#8 己二、离实想分别过 + +#9 我從昔來所得慧眼,未曾得聞如是之經!世尊!若復有人得聞是經,信心清淨,即生實相,當知是人成就第一希有功德。 + +【00梵文】 mayā bhagavan jātvevaṁrūpo dharmaparyāyaḥ śrutapūrvaḥ| parameṇa te bhagavan āścaryeṇa samanvāgatā bodhisattvā bhaviṣyanti, ye iha sūtre bhāṣyamāṇe śrutvā bhūtasaṁjñām utpādayiṣyanti| + +【01罗什】我从昔来所得慧眼,未曾得闻如是之经。世尊!若复有人得闻是经,信心清净,则生实相。当知是人成就第一希有功德。 + +【02流支】我从昔来所得慧眼,未曾得闻如是法门。何以故?须菩提!佛说般若波罗蜜,即非般若波罗蜜。世尊!若复有人得闻是经,信心清净,则生实相,当知是名成就第一希有功德。 + +【03留支】我从昔来,至得圣慧,未曾闻说如是经典。何以故?世尊说般若波罗蜜,即非般若波罗蜜,故说般若波罗蜜。世尊!当知是人则与无上希有之法而共相应,闻说经时,能生实想。 + +【04真谛】我从昔来,至得圣慧,未曾闻说如是经典。何以故?世尊说般若波罗蜜,即非般若波罗蜜,故说般若波罗蜜。世尊!当知是人则与无上希有之法而共相应,闻说经时,能生实想。 + +【05笈多】不我曾生来,如是色类法本闻先。最胜彼,世尊!希有具足众生有当。若此经中说中,实想发生当。 + +【06玄奘】世尊!我昔生智以来,未曾得闻如是法门。世尊!若诸有情闻说如是甚深经典,生真实想,当知成就最胜希有。 + +#10 【07义净】「希有,世尊!我从生智以来,未曾得闻如是深经。 + +[13-1]世尊!当何名此经?我等云何奉持?」 + +[13-2]佛告妙生:「是经名为《般若波罗蜜多》,如是应持。 + +[13-3]何以故?佛说般若波罗蜜多,则非般若波罗蜜多。」 + +14-3「世尊!若复有人,闻说是经,生实想者,当知是人最上希有。 + +#9 世尊!是實相者,即是非相,是故如來說名實相。 + +【00梵文】 tat kasya hetoḥ ? yā caiṣā bhagavan bhūtasaṁjñā, saiva abhūtasaṁjñā| tasmāttathāgato bhāṣatebhūtasaṁjñā bhūtasaṁjñeti|| + +【01罗什】世尊!是实相者,则是非相,是故如来说名实相。 + +【02流支】世尊!是实相者,则是非相。是故如来说名实相、实相。 + +【03留支】世尊!是实想者,实非有想,是故如来说名实想、说名实想。 + +【04真谛】世尊!是实想者,实非有想,是故如来说名实想、说名实想。 + +【05笈多】彼何所因?若此,世尊!实想彼如是非想,彼故如来说实想、实想者。 + +【06玄奘】何以故?世尊!诸真实想、真实想者,如来说为非想,是故如来说名真实想、真实想。 + +【07义净】世尊!此实想者,即非实想,是故如来说名实想、实想。 + +#8 己三、为令味着利养过菩萨惭愧起精进 + +#9 世尊!我今得聞如是經典,信解受持,不足為難。 + +【00梵文】 na mama bhagavan āścaryaṁ yadahamimaṁ dharmaparyāyaṁ bhāṣyamāṇamavakalpayāmi adhimu + +【01罗什】世尊!我今得闻如是经典,信解、受持,不足为难。 + +【02流支】世尊!我今得闻如是法门,信解、受持,不足为难。 + +【03留支】世尊!此事于我非为希有,正说经时,我生信解。 + +【04真谛】世尊!此事于我非为希有,正说经时,我生信解。 + +【05笈多】不我,世尊!希有,若我此法本说中,信我、解我。 + +【06玄奘】世尊!我今闻说如是法门,领悟、信解,未为希有。 + +【07义净】世尊!我闻是经,心生信解,未为希有。 + +#9 若當來世,後五百歲,其有眾生得聞是經,信解受持,是人則為第一希有! + +【00梵文】 ye'pi te bhagavan sattvā bhaviṣyantyanāgate'dhvani paścime kāle paścime samaye paścimāyāṁ pañcaśatyāṁ saddharmavipralope vartamāne, ye imaṁ bhagavan dharmaparyāyamudgrahīṣyanti dhārayiṣyanti vācayiṣyanti paryavāpsyanti, parebhyaśca vistareṇa saṁprakāśayiṣyanti, te paramāścaryeṇa samanvāgatā bhaviṣyanti| + +【01罗什】若当来世后五百岁,其有众生得闻是经,信解、受持,是人则为第一希有。 + +【02流支】若当来世,其有众生得闻是法门,信解、受持,是人则为第一希有。 + +【03留支】世尊!于未来世,若有众生,恭敬受持,为他正说,当知是人则与无上希有之法而共相应。 + +【04真谛】世尊!于未来世,若有众生,恭敬受持,为他正说,当知是人则与无上希有之法而共相应。 + +【05笈多】若彼,世尊!众生有当,未来世,此法本受当、持当、读当、诵当,他等及分别广说当,彼最胜希有具足有当。 + +【06玄奘】若诸有情于当来世、后时、后分、后五百岁,正法将灭时分转时,当于如是甚深法门,领悟、信解、受持、读诵,究竟通利,及广为他宣说开示,如理作意,当知成就最胜希有。 + +【07义净】若当来世,有闻是经,能受持者,是人则为第一希有。 + +#9 何以故?此人無我相、人相、眾生相、壽者相。 + +【00梵文】 api tu khalu punarbhagavan na teṣāmātmasaṁjñā pravartiṣyate, na sattvasaṁjñā na jīvasaṁjñā na pudgalasaṁjñā pravartiṣyate, nāpi teṣāṁ kācitsaṁjñā nāsaṁjñā  pravartate| + +【01罗什】何以故?此人无我相、人相、众生相、寿者相。 + +【02流支】何以故?此人无我相、人相、众生相、寿者相。 + +【03留支】世尊!此人无复我想、众生想、寿者想、受者想。 + +【04真谛】世尊!此人无复我想、众生想、寿者想、受者想。 + +【05笈多】虽然,复次时,世尊!不彼等菩萨摩诃萨我想转当,不众生想、不寿想、不人想转当。 + +【06玄奘】何以故?世尊!彼诸有情,无我想转,无有情想、无命者想、无士夫想、无补特伽罗想、无意生想、无摩纳婆想、无作者想、无受者想转。 + +【07义净】何以故?彼人无我想、众生想、寿者想、更求趣想。 + +#9 所以者何?我相即是非相,人相、眾生相、壽者相即是非相。 + +【00梵文】 tatkasya hetoḥ ? yā sā bhagavan ātmasaṁjñā, saivāsaṁjñā| yā sattvasaṁjñā jīvasaṁjñā pudgalasaṁjñā, saivāsaṁjñā| + +【01罗什】所以者何?我相即是非相,人相、众生相、寿者相,即是非相。 + +【02流支】何以故?我相即是非相、人相、众生相、寿者相,即是非相。 + +【03留支】何以故?我想、众生想、寿者想、受者想,即是非想。 + +【04真谛】何以故?我想、众生想、寿者想、受者想,即是非想。 + +【05笈多】彼何所因?若彼,世尊!我想,彼如是非想。若及如是众生想、寿想、人想,彼如是非想。 + +【06玄奘】所以者何?世尊!诸我想即是非想,诸有情想、命者想、士夫想、补特伽罗想、意生想、摩纳婆想、作者想、受者想,即是非想。 + +【07义净】所以者何?世尊!我想、众生想、寿者想、更求趣想,即是非想。 + +#9 何以故?離一切諸相,即名諸佛。」 + +【00梵文】 tatkasya hetoḥ ? sarvasaṁjñāpagatā hi buddha bhagavantaḥ|| + +【01罗什】何以故?离一切诸相则名诸佛。」 + +【02流支】何以故?离一切诸相,则名诸佛。」 + +【03留支】何以故?诸佛世尊解脱诸想尽无余故。」 + +【04真谛】何以故?诸佛世尊解脱诸想尽无余故。」 + +【05笈多】彼何所因?一切想远离,此佛世尊。 + +【06玄奘】何以故?诸佛世尊离一切想。」 + +【07义净】所以者何?诸佛世尊离诸想故。」 + +#7 戊三、如来印可二 + +#8 己一、正明印可 + +#9 佛告須菩提:「如是!如是!若復有人得聞是經,不驚、不怖、不畏,當知是人甚為希有! + +【00梵文】 evamukte bhagavānāyuṣmantaṁ subhūtimetadavocat-evametat subhūte, evametat| paramāścaryasamanvāgatāste sattvā bhaviṣyanti, ye iha subhūte sūtre bhāṣyamāṇe notrasiṣyanti na saṁtrasiṣyanti na saṁtrāsamāpatsyante| tatkasya hetoḥ ? paramapāramiteyaṁ subhūte tathāgatena bhāṣitā yadutāpāramitā| yāṁ ca subhūte tathāgataḥ paramapāramitāṁ bhāṣate, tāmaparimāṇā api buddhā bhagavanto bhāṣante| tenocyante paramapāramiteti|| + +【01罗什】佛告须菩提:「如是,如是。若复有人得闻是经,不惊、不怖、不畏,当知是人甚为希有。何以故?须菩提!如来说第一波罗蜜,非第一波罗蜜,是名第一波罗蜜。 + +【02流支】佛告须菩提:「如是,如是。若复有人得闻是经,不惊、不怖、不畏,当知是人甚为希有。何以故?须菩提!如来说第一波罗蜜,非第一波罗蜜。如来说第一波罗蜜者,彼无量诸佛亦说波罗蜜,是名第一波罗蜜。 + +【03留支】说是言已。佛告须菩提:「如是,须菩提!如是。当知是人则与无上希有之法而共相应,是人闻说此经,不惊、不怖、不畏。何以故?须菩提!此法如来所说,是第一波罗蜜。此波罗蜜如来所说,无量诸佛亦如是说,是故说名第一波罗蜜。 + +【04真谛】说是言已。佛告须菩提:「如是,须菩提!如是。当知是人则与无上希有之法而共相应,是人闻说此经,不惊、不怖、不畏。何以故?须菩提!此法如来所说,是第一波罗蜜。此波罗蜜如来所说,无量诸佛亦如是说,是故说名第一波罗蜜。 + +【05笈多】如是语已。世尊命者善实边如是言:「如是,如是。善实!如是,如是。如言汝。最胜希有具足,彼众生有当,若此经中说中,不惊当、不怖当、不畏当。彼何所因?最胜彼岸到,此,善实!如来说。若及,善实!如来最胜彼岸到说,彼无量亦佛世尊说,彼故说名最胜彼岸到者。 + +【06玄奘】作是语已。尔时,世尊告具寿善现言:「如是,如是。善现!若诸有情闻说如是甚深经典,不惊不惧,无有怖畏,当知成就最胜希有。何以故?善现!如来说最胜波罗蜜多,谓般若波罗蜜多。善现!如来所说最胜波罗蜜多,无量诸佛世尊所共宣说,故名最胜波罗蜜多。如来说最胜波罗蜜多,即非波罗蜜多,是故如来说名最胜波罗蜜多。 + +【07义净】「妙生!如是,如是。若复有人得闻是经,不惊、不怖、不畏,当知是人第一希有。何以故?妙生!此最胜波罗蜜多,是如来所说诸波罗蜜多。如来说者,即是无边佛所宣说,是故名为最胜波罗蜜多。 + +#8 己二、释由显胜 + +何以故?須菩提!如來說第一波羅蜜,非第一波羅蜜,是名第一波羅蜜。 + +#6 丁九、(十三、忍苦 住处 分三 | 离不能忍苦) + +#7 戊一、如所能忍 + +#8 須菩提!忍辱波羅蜜,如來說非忍辱波羅蜜,是名忍辱波羅蜜。 + +【00梵文】 api tu khalu punaḥ subhute yā tathāgatasya kṣāntipāramitā, saiva apāramitā| + +【01罗什】须菩提!忍辱波罗蜜,如来说非忍辱波罗蜜。 + +【02流支】须菩提!如来说忍辱波罗蜜,即非忍辱波罗蜜。 + +【03留支】复次,须菩提!是如来忍辱波罗蜜,即非波罗蜜。 + +【04真谛】复次,须菩提!如来忍辱波罗蜜,即非波罗蜜。 + +【05笈多】虽然,复次时,善实!若如来忍彼岸到,彼如是非彼岸到。 + +【06玄奘】复次,善现!如来说忍辱波罗蜜多,即非波罗蜜多,是故如来说名忍辱波罗蜜多。 + +【07义净】妙生!如来说忍辱波罗蜜多,即非忍辱波罗蜜多。 + +#7 戊二、明忍苦相二 + +#8 己一、引一生证极苦忍 + +#9 何以故?須菩提!如我昔為歌利王割截身體,我於爾時無我相、無人相、無眾生相、無壽者相。 + +【00梵文】 tatkasya hetoḥ ? yadā me subhūte kalirājā aṅgapratyaṅgamāṁsānyacchaitsīt, nāsīnme tasmin samaye ātmasaṁjñā vā sattvasaṁjñā vā jīvasaṁjñā vā pudgalasaṁjñā vā, nāpi me kācitsaṁjñā vā asaṁjñā vā babhūva| + +【01罗什】何以故?须菩提!如我昔为歌利王割截身体。我于尔时,无我相、无人相、无众生相、无寿者相。 + +【02流支】何以故?须菩提!如我昔为歌利王割截身体,我于尔时,无我相、无众生相、无人相、无寿者相,无相、亦非无相。 + +【03留支】何以故?须菩提!昔时我为迦陵伽王斩斫身体,骨肉离碎。我于尔时,无有我想、众生想、寿者想、受者想,无想、非无想。 + +【04真谛】何以故?须菩提!昔时我为迦陵伽王斩斫身体,骨肉虽碎,我于尔时,无有我想、众生想、寿者想、受者想,无想、非无想。 + +【05笈多】彼何所因?此时我,善实!恶王分别分肉割断。不时我彼中时,我想、若众生想、若寿想、若人想,若不我有想、非想有。 + +【06玄奘】何以故?善现!我昔过去世曾为羯利王断支节肉,我于尔时都无我想、或有情想、或命者想、或士夫想、或补特伽罗想、或意生想、或摩纳婆想、或作者想、或受者想。我于尔时都无有想,亦非无想。 + +【07义净】何以故?如我昔为羯陵伽王割截支体时,无我想、众生想、寿者想、更来趣想。我无是想,亦非无想。 + +#9 何以故?我於往昔節節支解時,若有我相、人相、眾生相、壽者相,應生瞋恨。 + +【00梵文】 tatkasya hetoḥ ? sacenme subhūte tasmin samaye ātmasaṁjñā abhaviṣyat, vyāpādasaṁjñāpi me tasmin samaye'bhaviṣyat| sacetsattvasaṁjñā jīvasaṁjñā pudgalasaṁjñābhaviṣyat, vyāpādasaṁjñāpi me tasmin samaye'bhaviṣyat| + +【01罗什】何以故?我于往昔节节支解时,若有我相、人相、众生相、寿者相,应生瞋恨。 + +【02流支】何以故?须菩提!我于往昔节节支解时,若有我相、众生相、人相、寿者相,应生瞋恨。 + +【03留支】何以故?须菩提!我于尔时,若有我想、众生想、寿者想、受者想,是时则应生瞋恨想。 + +【04真谛】何以故?须菩提!我于尔时,若有我想、众生想、寿者想、受者想,是时则应生瞋恨想。 + +【05笈多】彼何所因?若我,善实!彼中时,我想有,瞋恨想亦我彼中时有。众生想、寿想、人想有,瞋恨想亦我彼中时有。 + +【06玄奘】何以故?善现!我于尔时若有我想,即于尔时应有恚想。我于尔时若有有情想、命者想、士夫想、补特伽罗想、意生想、摩纳婆想、作者想、受者想,即于尔时应有恚想。 + +【07义净】所以者何?我有是想者,应生瞋恨。 + +#8 己二、引多生证相续忍 + +#9 須菩提!又念過去於五百世作忍辱仙人,於爾所世無我相、無人相、無眾生相、無壽者相。 + +【00梵文】 tatkasya hetoḥ ? abhijānāmyahaṁ subhūte atīte'dhvani pañca jātiśatāni yadahaṁ kṣāntivādī ṛṣirabhūvam| tatrāpi me nātmasaṁjñā babhūva, na sattvasaṁjñā, na jīvasaṁjñā, na pudgalasaṁjñā babhūva| tasmāttarhi subhūte bodhisattvena mahāsattvena sarvasaṁjñā vivarjayitvā anuttarāyāṁ samyaksaṁbodhau cittamutpādayitavyam| na rūpapratiṣṭhitaṁ cittamutpādayitavyam, na śabdagandharasaspraṣṭavyadharmapratiṣṭhitaṁ cittamutpādayitavyam, na dharmapratiṣṭhitaṁ cittamutpādayitavyam, nādharmapratiṣṭhitaṁ cittamutpādayitavyam, na kvacitpratiṣṭhitaṁ cittamutpādayitavyam| + +【01罗什】须菩提!又念过去于五百世作忍辱仙人。于尔所世,无我相、无人相、无众生相、无寿者相。是故,须菩提!菩萨应离一切相发阿耨多罗三藐三菩提心。不应住色生心,不应住声、香、味、触、法生心。应生无所住心。 + +【02流支】须菩提!又念过去于五百世,作忍辱仙人。于尔所世,无我相、无众生相、无人相、无寿者相。是故,须菩提!菩萨应离一切相,发阿耨多罗三藐三菩提心。 + +【03留支】须菩提!我忆过去五百生中,作大仙人,名曰说忍。于尔生中,心无我想、众生想、寿者想、受者想。是故,须菩提!菩萨摩诃萨舍离一切想,于无上菩提应发起心。不应生住色心,不应生住声、香、味、触心。不应生住法心,不应生住非法心。不应生有所住心。 + +【04真谛】须菩提!, 我忆过去五百生作大仙人,名曰说忍。于尔所生中,心无我想、众生想、寿者想、受者想。是故,须菩提!菩萨摩诃萨舍离一切想,于无上菩提应发起心。不应生住色心,不应生住声、香、味、触心。不应生住法心,不应生住非法心。不应生有所住心。 + +【05笈多】念知我,善实!过去世五百生,若我忍语仙人有,彼中亦我不想有,不众生想、不寿想、不人想,不亦我有想、非想有。彼故此,善实!菩萨摩诃萨一切想舍离,无上正遍知心发生应。不色住心发生应,不声、香、味、触住心发生应,不法住、非无法住心发生应。无所住心发生应。 + +【06玄奘】何以故?善现!我忆过去五百生中,曾为自号忍辱仙人。我于尔时,都无我想、无有情想、无命者想、无士夫想、无补特伽罗想、无意生想、无摩纳婆想、无作者想、无受者想。我于尔时都无有想,亦非无想。是故,善现!菩萨摩诃萨远离一切想,应发阿耨多罗三藐三菩提心。不住于色应生其心,不住非色应生其心,不住声、香、味、触、法应生其心,不住非声、香、味、触、法应生其心。都无所住应生其心。 + +【07义净】妙生!又念过去于五百世,作忍辱仙人。我于尔时,无如是等想。是故应离诸想,发趣无上菩提之心。不应住色、声、香、味、触、法。都无所住而生其心。不应住法,不应住非法,应生其心。 + +#7 戊三、明对治三 + +#8 己一、对治流转生死苦忍 + +是故須菩提!菩薩應離一切相發阿耨多羅三藐三菩提心!不應住色生心,不應住聲香味觸法生心,應生無所住心! + +#9 若心有住,即為非住,是故佛說菩薩心不應住色布施。 + +【00梵文】 tatkasya hetoḥ ? yatpratiṣṭhitaṁ tadevāpratiṣṭhitam| tasmādeva tathāgato bhāṣate-apratiṣṭhitena bodhisattvena dānaṁ dātavyam| na rūpaśabdagandharasasparśadharma- pratiṣṭhitena dānaṁ dātavyam|| + +【01罗什】若心有住,则为非住。是故佛说:菩萨心不应住色布施。 + +【02流支】何以故?若心有住,则为非住。不应住色生心,不应住声、香、味、触、法生心。应生无所住心。是故佛说:菩萨心不住色布施。 + +【03留支】何以故?若心有住,则为非住。故如来说:菩萨无所住心应行布施。 + +【04真谛】何以故?若心有住,则为非住。故如来说:菩萨无所住心应行布施。 + +【05笈多】彼何所因?若无所住,彼如是住。彼故如是如来说:不色住菩萨摩诃萨施与应,不声、香、味、触、法住施与应。 + +【06玄奘】何以故?善现!诸有所住,则为非住。是故如来说:诸菩萨应无所住而行布施,不应住色、声、香、味、触、法而行布施。 + +【07义净】何以故?若有所住,即为非住。是故佛说:菩萨应无所住而行布施。 + +#8 己二、对治众生相违苦忍 + +#9 須菩提!菩薩為利益一切眾生,應如是布施!如來說一切諸相,即是非相。又說一切眾生,則非眾生。 + +【00梵文】 api tu khalu punaḥ subhūte bodhisattvena evaṁrūpo dānaparityāgaḥ kartavyaḥ sarvasattvānāmarthāya| tatkasya hetoḥ ? yā caiṣā subhūte sattvasaṁjñā, saiva asaṁjñā| ya evaṁ te sarvasattvāstathāgatena bhāṣitāsta eva asattvāḥ| + +【01罗什】须菩提!菩萨为利益一切众生,应如是布施。如来说一切诸相即是非相。又说一切众生则非众生。 + +【02流支】须菩提!菩萨为利益一切众生,应如是布施。」 + +须菩提言:「世尊!一切众生相,即是非相。何以故?如来说一切众生即非众生。」 + +【03留支】复次,须菩提!菩萨应如是行施,为利益一切众生。此众生想,即是非想。如是一切众生,如来说即非众生。何以故?诸佛世尊远离一切想故。 + +【04真谛】复次,须菩提!菩萨应如是行施,为利益一切众生。此众生想。即是非想。如是一切众生,如来说即非众生。何以故?诸佛世尊远离一切想故。 + +【05笈多】虽然,复次时,善实!菩萨摩诃萨如是舍施应,一切众生为故。彼何所因?若如是,善实!众生想,彼如是非想。若如是彼一切众生如来说,彼如是非众生。 + +【06玄奘】复次,善现!菩萨摩诃萨为诸有情作义利故,应当如是弃舍布施。何以故?善现!诸有情想即是非想。一切有情,如来即说为非有情。 + +【07义净】妙生!菩萨为利益一切众生,应如是布施。此众生想,即为非想。彼诸众生,即非众生。何以故?诸佛如来离诸想故。 + +#9 須菩提!如來是真語者、實語者、如語者、不誑語者、不異語者。 + +【00梵文】 tatkasya hetoḥ ? bhūtavādī subhūte tathāgataḥ, satyavādī tathāvādī ananyathāvādī tathāgataḥ, na vitathavādī tathāgataḥ|| + +【01罗什】须菩提!如来是真语者、实语者、如语者、不诳语者、不异语者。 + +【02流支】「须菩提!如来是真语者、实语者、如语者、不异语者。 + +【03留支】须菩提!如来说实,说谛,说如,说非虚妄。 + +【04真谛】须菩提!如来说实、说谛、说如、说非虚妄。 + +【05笈多】彼何所因?真语,善实!如来,实语如来,不异语如来,如语如来、非不如语如来。 + +【06玄奘】善现!如来是实语者、谛语者、如语者、不异语者。 + +【07义净】妙生!如来是实语者、如语者、不诳语者、不异语者。 + +#9 須菩提!如來所得法,此法無實無虛。 + +【00梵文】 api tu khalu punaḥ subhūte yastathāgatena dharmo'bhisaṁbuddho deśito nidhyātaḥ, na tatra satyaṁ na mṛṣā| + +【01罗什】须菩提!如来所得法,此法无实、无虚。 + +【02流支】须菩提!如来所得法、所说法,无实、无妄语。 + +【03留支】复次,须菩提!是法如来所觉,是法如来所说,是法非实、非虚。 + +【04真谛】复次,须菩提!是法如来所觉,是法如来所说,是法非实、非虚。 + +【05笈多】虽然,复次时,善实!若如来法证觉、说若、思惟若,不彼中实不妄。 + +【06玄奘】复次,善现!如来现前等所证法、或所说法、或所思法,即于其中,非谛、非妄。 + +【07义净】妙生!如来所证法及所说法,此即非实、非妄。 + +#8 己三、对治乏受用苦忍 + +#9 須菩提!若菩薩心住於法而行布施,如人入闇,則無所見;若菩薩心不住法而行布施,如人有目,日光明照,見種種色。 + +【00梵文】 tadyathāpi nāma subhūte puruṣo'ndhakārapraviṣṭo na kiṁcidapi paśyet, evaṁ vastupatito bodhisattvo draṣṭavyo yo vastupatito dānaṁ parityajati| tadyathāpi nāma subhūte cakṣuṣmān puruṣaḥ prabhātāyāṁ rātrau sūrye'bhyudgate nānavidhāni rūpāṇi paśyet, evamavastupatito bodhisattvo draṣṭavyo yo'vastupatito dānaṁ parityajati|| + +【01罗什】须菩提!若菩萨心住于法而行布施,如人入暗则无所见。若菩萨心不住法而行布施,如人有目,日光明照,见种种色。 + +【02流支】须菩提!譬如有人入暗,则无所见,若菩萨心住于事而行布施,亦复如是。须菩提!譬如人有目,夜分已尽,日光明照,见种种色,若菩萨不住于事行于布施,亦复如是。 + +【03留支】须菩提!譬如有人,在于盲暗,如是当知菩萨堕相行、堕相施。须菩提!如人有目,夜已晓时,昼日光照,见种种色,如是当知菩萨不堕于相,行无相施。 + +【04真谛】须菩提!譬如有人,在于盲暗,如是当知菩萨堕相行、堕相施。须菩提!如人有目,夜已晓,昼日光照,见种种色,如是当知菩萨不堕于相,行无相施。 + +【05笈多】譬如,善实!丈夫暗舍入,不一亦见,如是,事堕菩萨见应,若事堕施与。譬如,善实!眼者丈夫,显明夜,月出,种种色见,如是,菩萨摩诃萨见应,若事不堕施与。 + +【06玄奘】善现!譬如士夫入于暗室,都无所见,当知菩萨若堕于事,谓堕于事而行布施,亦复如是。善现!譬如明眼士夫,过夜晓已,日光出时,见种种色,当知菩萨不堕于事,谓不堕事而行布施,亦复如是。 + +【07义净】妙生!若菩萨心住于事而行布施,如人入暗,则无所见。若不住事而行布施,如人有目,日光明照,见种种色,是故菩萨不住于事应行其施。 + +#6 丁十、(十四、离寂静味 住处 分二 | 离缺少智资粮)  + +#7 戊一、五种胜功德五 + +#8 己一、如来忆念亲近 + +#9 須菩提!當來之世,若有善男子、善女人能於此經受持、讀誦,則為如來以佛智慧悉知是人,悉見是人, + +【00梵文】 api tu khalu punaḥ subhūte ye kulaputrā vā kuladuhitaro vā imaṁ dharmaparyāyamudgrahīṣyanti dhārayiṣyanti vācayiṣyanti paryavāpsyanti, parebhyaśca vistareṇa saṁprakāśayiṣyanti, jñātāste subhūte tathāgatena buddhajñānena, dṛṣṭāste subhūte tathāgatena buddhacakṣuṣā, buddhāste tathāgatena| sarve te subhūte sattvā aprameyamasaṁkhyeyaṁ puṇyaskandhaṁ prasaviṣyanti pratigrahīṣyanti||14|| + +【01罗什】须菩提!当来之世,若有善男子、善女人,能于此经受持、读诵,则为如来以佛智慧悉知是人,悉见是人,皆得成就无量无边功德。」 + +【02流支】复次,须菩提!若有善男子、善女人,能于此法门受持、读诵、修行,则为如来以佛智慧,悉知是人,悉见是人,悉觉是人,皆得成就无量无边功德聚。」 + +【03留支】复次,须菩提!于未来世若有善男子、善女人,受持、读诵、修行,为他正说如是经典,如来悉知是人,悉见是人,生长无量福德之聚。」 + +【04真谛】复次,须菩提!于未来世,若有善男子、善女人,受持、读诵、修行,为他正说如是经典,如来悉知是人,悉见是人,生长无量福德之聚。」 + +【05笈多】虽然,复次时,善实!若善家子、善家女,若此法本受当、持当、读当、诵当,为他等及分别广说当,知彼,善实!如来佛智。见彼,善实!如来佛眼。一切彼,善实!众生,无量福聚生当、取当。」 + +【06玄奘】复次,善现!若善男子或善女人,于此法门受持、读诵,究竟通利,及广为他宣说开示,如理作意,则为如来以其佛智,悉知是人,则为如来以其佛眼,悉见是人,则为如来悉觉是人,如是有情,一切当生无量福聚。」 + +【07义净】妙生!若有善男子、善女人,能于此经,受持、读诵,为他演说,如是之人,佛以智眼悉知、悉见,当生、当摄无量福聚。」 + +#8 己二、摄福德 + +#9 皆得成就無量無邊功德。須菩提!若有善男子、善女人初日分以恆河沙等身布施,中日分復以恆河沙等身布施,後日分亦以恆河沙等身布施,如是無量百千萬億劫以身布施;若復有人聞此經典信心不逆,其福勝彼,何況書寫、受持、讀誦、為人解說! + +【00梵文】 yaśca khalu punaḥ subhūte strī vā puruṣo vā purvāhṇakālasamaye gaṅgānadīvālukāsamānātmabhāvān parityajet, evaṁ madhyāhnakālasamaye gaṅgānadīvālukāsamānātmabhāvān parityajet, sāyāhnakālasamaye gaṅgānadīvālukāsamānātmabhāvān parityajet, anena paryāyeṇa bahūni kalpakoṭiniyutaśatasahasrāṇyātmabhāvān parityajet, yaścemaṁ dharmaparyāyaṁ śrutvā na pratikṣipet, ayameva tatonidānaṁ bahutaraṁ puṇyaskandhaṁ prasunuyādaprameyamasaṁkhyeyam, kaḥ punarvādo yo likhitvā udgṛhṇīyāddhārayedvācayetparyavāpnuyāt, parebhyaśca vistareṇa saṁprakāśayet|| + +【01罗什】「须菩提!若有善男子、善女人,初日分以恒河沙等身布施,中日分复以恒河沙等身布施,后日分亦以恒河沙等身布施,如是无量百千万亿劫以身布施;若复有人闻此经典,信心不逆,其福胜彼,何况书写、受持、读诵,为人解说。 + +【02流支】「须菩提!若有善男子、善女人,初日分以恒河沙等身布施,中日分复以恒河沙等身布施,后日分复以恒河沙等身布施,如是舍恒河沙等无量身,如是百千万亿那由他劫以身布施;若复有人,闻此法门,信心不谤,其福胜彼无量阿僧祇,何况书写、受持、读诵、修行,为人广说。 + +【03留支】「复次,须菩提!若有善男子、善女人,于日前分布施身命,如上所说诸河沙数,于日中分布施身命,于日后分布施身命,皆如上说诸河沙数,如是无量百千万亿劫以身命布施;若复有人闻此经典,不起诽谤,以是因缘,生福德多彼无数无量。何况有人书写、受持、读诵、教他修行,为人广说。 + +【04真谛】「复次,须菩提!若有善男子、善女人,于日前分布施身命,如上所说诸河沙数,于日中分布施身命,于日后分布施身命,皆如上说诸河沙数,如是无量百千万亿劫以身命布施;若复有人闻此经典,不起诽谤,以是因缘,生福多彼无数无量,何况有人书写、受持、读诵,教他修行,为人广说。 + +【05笈多】「若复时,善实!妇女、若丈夫,若前分时,恒伽河沙等我身舍,如是中分时,如是晚分时,恒伽河沙等我身舍,以此因缘,劫俱致那由多百千,我身舍;若此法本,闻已不谤,此如是彼缘,多过福聚生,无量不可数。何复言,若写已、受持、读诵,为他等及分别广说。 + +【06玄奘】「复次,善现!假使善男子或善女人,日初时分以殑伽河沙等自体布施,日中时分复以殑伽河沙等自体布施,日后时分亦以殑伽河沙等自体布施,由此异门,经于俱胝那庾多百千劫,以自体布施;若有闻说如是法门,不生诽谤,由此因缘所生福聚,尚多于前无量无数,何况能于如是法门具足毕竟,书写、受持、读诵,究竟通利,及广为他宣说开示,如理作意。 + +【07义净】「妙生!若有善男子、善女人,初日分以弶伽河沙等身布施,中日分复以弶伽河沙等身布施,后日分亦以弶伽河沙等身布施,如是无量百千万亿劫以身布施;若复有人,闻此经典,不生毁谤,其福胜彼,何况书写、受持、读诵,为人解说。 + +#8 己三、赞叹法及修行二 + +#9 庚一、赞叹法 + +#10 須菩提!以要言之,是經有不可思議、不可稱量、無邊功德!如來為發大乘者說,為發最上乘者說。 + +【00梵文】 api tu khalu punaḥ subhūte acintyo'tulyo'yaṁ dharmaparyāyaḥ| ayaṁ ca subhūte dharmaparyāyastathāgatena bhāṣito'grayānasaṁprasthitānāṁ sattvānāmarthāya, śreṣṭhayānasaṁprasthitānāṁ sattvānāmarthāya| ye imaṁ dharmaparyāyamudgrahīṣyanti dhārayiṣyanti vācayiṣyanti paryavāpsyanti, parebhyaśca vistareṇa saṁprakāśayiṣyanti, jñātāste subhūte tathāgatena buddhajñānena, dṛṣṭāste subhūte tathāgatena buddhacakṣuṣā, buddhāste tathāgatena| sarve te subhūte sattvā aprameyeṇa puṇyaskandhenāṁ samanvāgatā bhaviṣyanti| acintyenātulyenāmāpyenāparimāṇena puṇyaskandhena samanvāgatā bhaviṣyanti| + +【01罗什】须菩提!以要言之,是经有不可思议、不可称量、无边功德。如来为发大乘者说,为发最上乘者说。若有人能受持、读诵,广为人说,如来悉知是人,悉见是人,皆得成就不可量、不可称、无有边、不可思议功德。 + +【02流支】须菩提!以要言之,是经有不可思议、不可称量、无边功德。此法门,如来为发大乘者说,为发最上乘者说。若有人能受持、读诵、修行此经,广为人说,如来悉知是人,悉见是人,皆成就不可思议、不可称、无有边、无量功德聚。 + +【03留支】复次,须菩提!如是经典不可思量,无能与等。如来但为怜愍、利益能行无上乘及行无等乘人说。若复有人于未来世,受持、读诵,教他修行,正说是经,如来悉知是人,悉见是人,与无数无量、不可思议、无等福聚而共相应。 + +【04真谛】复次,须菩提!如是经典不可思量,无能与等。如来但为怜愍、利益能行无上乘,及行无等乘人说。若复有人于未来世,受持、读诵,教他修行,正说是经,如来悉知是人,悉见是人,与无数无量、不可思议、无等福聚而共相应。 + +【05笈多】虽然,复次时,善实!不可思、不可称,此法本。彼不可思如是果报观察应。此,善实!法本如来说,胜乘发行众生为故,最胜乘发行众生为故。若此法本受当、持当、读当、诵当,为他等及分别广说当,知彼,善实!如来佛智,见彼,善实!如来佛眼。一切彼,善实!众生无量福聚具足有当,不可思、不可称、亦不可量福聚具足有当。 + +【06玄奘】复次,善现!如是法门不可思议、不可称量。应当希冀不可思议所感异熟。善现!如来宣说如是法门,为欲饶益趣最上乘诸有情故,为欲饶益趣最胜乘诸有情故。善现!若有于此法门,受持、读诵,究竟通利,及广为他宣说开示,如理作意,即为如来以其佛智,悉知是人,即为如来以其佛眼,悉见是人,则为如来悉觉是人,如是有情,一切成就无量福聚,皆当成就不可思议、不可称量、无边福聚。 + +【07义净】妙生!是经有不可思议、不可称量、无边功德。如来为发大乘者说,为发最上乘者说。若有人能受持、读诵,广为他说,如来悉知、悉见,是人皆得成就不可量、不可称、不可思议福业之聚。 + +#9 庚二、赞叹修行 + +#10 若有人能受持、讀誦、廣為人說,如來悉知是人、悉見是人,皆得成就不可量、不可稱、無有邊、不可思議功德。如是人等,則為荷擔如來阿耨多羅三藐三菩提。何以故?須菩提!若樂小法者,著我見、人見、眾生見、壽者見,則於此經不能聽受、讀誦、為人解說。 + +【00梵文】 sarve te subhūte sattvāḥ samāṁśena bodhiṁ dhārayiṣyanti vacayiṣyanti paryavāpsyanti| tatkasya hetoḥ ? na hi śakyaṁ subhūte ayaṁ dharmaparyāyo hīnādhimuktiakaiḥ sattvaiḥ śrotum, nātmadṛṣṭikairna sattvadṛṣṭikairna jīvadṛṣṭikairna pudgaladṛṣṭikaiḥ| nābodhisattvapratijñai sattvaiḥ śakyamayaṁ dharmaparyāyaḥ śrotuṁ vā udgrahītuṁ vā dhārayituṁ vā vācayituṁ vā paryavāptuṁ vā| nedaṁ sthānaṁ vidyate|| + +【01罗什】如是人等,则为荷担如来阿耨多罗三藐三菩提。何以故?须菩提!若乐小法者,着我见、人见、众生见、寿者见,则于此经不能听受、读诵,为人解说。 + +【02流支】如是人等,则为荷担如来阿耨多罗三藐三菩提。何以故?须菩提!若乐小法者,则于此经不能受持、读诵、修行,为人解说。若有我见、众生见、人见、寿者见,于此法门,能受持、读诵、修行,为人解说者,无有是处。 + +【03留支】如是等人,由我身分,则能荷负无上菩提。何以故?须菩提!如是经典,若下愿乐人及我见、众生见、寿者见、受者见,如此等人,能听、能修、读诵,教他正说,无有是处。 + +【04真谛】如是等人,由我身分,则能荷负无上菩提。何以故?须菩提!如是经典,若下愿乐人及我见、众生见、寿者见、受者见,如此等人,能听、能修、读诵,教他正说,无有是处。 + +【05笈多】一切彼,善实!众生,我肩菩提持当有。彼何所因?不能,善实!此法本小信解者众生闻。不我见者、不众生见者、不寿见者、不人见者。不菩萨誓众生能闻,受若、持若、读若、诵若,无是处有。 + +【06玄奘】善现!如是一切有情,其肩荷担如来无上正等菩提。何以故?善现!如是法门,非诸下劣信解有情所能听闻,非诸我见、非诸有情见、非诸命者见、非诸士夫见、非诸补特伽罗见、非诸意生见、非诸摩纳婆见、非诸作者见、非诸受者见,所能听闻。此等若能受持、读诵,究竟通利,及广为他宣说开示,如理作意,无有是处。 + +【07义净】当知是人则为以肩荷负如来无上菩提。何以故?妙生!若乐小法者,则着我见、众生见、寿者见、更求趣见。是人若能读诵、受持此经,无有是处。 + +#8 己四、天等供养 + +#9 須菩提!在在處處若有此經,一切世間天、人、阿修羅所應供養;當知此處則為是塔,皆應恭敬作禮圍繞,以諸華香而散其處。 + +【00梵文】 api tu khalu punaḥ subhūte yatra pṛthivīpradeśe idaṁ sūtraṁ prakaśayiṣyate, pūjanīyaḥ sa pṛthivīpradeśo bhaviṣyati sadevamānuṣāsurasya lokasya| vandanīyaḥ pradakṣiṇīyaśca sa pṛthivīpradeśo bhaviṣyati, caityabhūtaḥ sa pṛthivīpradeśo bhaviṣyati||15|| + +【01罗什】须菩提!在在处处若有此经,一切世间天、人、阿修罗所应供养。当知此处则为是塔,皆应恭敬,作礼围绕,以诸华香而散其处。」 + +【02流支】须菩提!在在处处,若有此经,一切世间天、人、阿修罗所应供养,当知此处则为是塔,皆应恭敬作礼围绕,以诸华香而散其处。」 + +【03留支】复次,须菩提!随所在处,显说此经,一切世间天、人、阿修罗等,皆应供养,作礼右繞。当知此处于世间,此即成支提。」 + +【04真谛】复次,须菩提!随所在处,显说此经,一切世间天、人、阿修罗等,皆应供养,作礼右繞。当知此处于世间中,即成支提。」 + +【05笈多】虽然,复次时,善实!此中地分,此经广说,供养彼地分有当。天、人、阿修罗世,礼右绕作及彼地分有当。支帝彼地分有当。」 + +【06玄奘】复次,善现!若地方所开此经典,此地方所,当为世间诸天及人、阿素洛等之所供养,礼敬右繞,如佛灵庙。」 + +【07义净】妙生!所在之处,若有此经,当知此处则是制底。一切世间天、人、阿苏罗所应恭敬作礼围绕,以诸香花供养其处。」 + +#8 己五、灭罪 + +#9 復次、須菩提!善男子善女人,受持、讀誦此經,若為人輕賤, + +【00梵文】 api tu ye te subhūte kulaputrā vā kuladuhitaro vā imānevaṁrūpān sūtrāntānudgrahīṣyanti dhārayiṣyanti vācayiṣyanti paryavāpsyanti, yoniśaśca manasikariṣyanti, parebhyaśca vistareṇa saṁprakāśayiṣyanti, te paribhūtā bhaviṣyanti, suparibhūtāśca bhaviṣyanti| + +【01罗什】「复次,须菩提!善男子、善女人受持、读诵此经,若为人轻贱, + +【02流支】「复次,须菩提!若善男子、善女人,受持、读诵此经,为人轻贱。 + +【03留支】「须菩提!若有善男子、善女人,受持、读诵、教他修行,正说如是等经,此人现身受轻贱等。 + +【04真谛】「须菩提!若有善男子、善女人,受持、读诵,教他修行,正说如是等经,此人现身受轻贱等。 + +【05笈多】「若彼,善实!善家子、若善家女,若此如是色类经,受当、持当、读当、诵当,为他等及分别广说当,彼轻贱有当,极轻贱。 + +【06玄奘】「复次,善现!若善男子或善女人,于此经典,受持、读诵,究竟通利,及广为他宣说开示,如理作意,若遭轻毁,极遭轻毁。 + +【07义净】「妙生!若有善男子、善女人,于此经典,受持、读诵、演说之时,或为人轻辱。 + +#9 是人先世罪業應墮惡道,以今世人輕賤故,先世罪業則為消滅,當得阿耨多羅三藐三菩提。 + +【00梵文】 tatkasya hetoḥ ? yāni ca teṣāṁ subhūte sattvānāṁ paurvajanmikānyaśubhāni karmāṇi kṛtānyapāyasaṁvartanīyāni, dṛṣṭa eva dharme paribhūtatayā tāni paurvajanmikānyaśubhāni karmāṇi kṣapayiṣyanti, buddhabodhiṁ cānuprāpsyanti|| + +【01罗什】是人先世罪业应堕恶道,以今世人轻贱故,先世罪业则为消灭,当得阿耨多罗三藐三菩提。 + +【02流支】何以故?是人先世罪业,应堕恶道,以今世人轻贱故,先世罪业则为消灭,当得阿耨多罗三藐三菩提。 + +【03留支】过去世中所造恶业,应感生后恶道果报,以于现身受轻苦故,先世罪业及苦果报则为消灭,当得阿耨多罗三藐三菩提。 + +【04真谛】过去世中所造恶业,应感生后恶道果报,以于现身受轻苦故,先世罪业及苦果报则为消灭,当得阿耨多罗三藐三菩提。 + +【05笈多】彼何所因?所有彼众生,前生不善业作已,恶趣转堕,所有现如是法中轻贱尽当,佛菩提得当。 + +【06玄奘】所以者何?善现!是诸有情,宿生所造诸不净业,应感恶趣,以现法中遭轻毁故,宿生所造诸不净业,皆悉消尽,当得无上正等菩提。 + +【07义净】何以故?妙生!当知是人于前世中,造诸恶业,应堕恶道,由于现在得遭轻辱,此为善事,能尽恶业,速至菩提故。 + +#7 戊二、重解摄福德三 + +#8 己一、显福聚威力 + +#9 須菩提!我念過去無量阿僧祇劫,於然燈佛前,得值八百四千萬億那由他諸佛,悉皆供養承事,無空過者。 + +【00梵文】 abhijānāmyahaṁ subhūte atīte'dhvanyasaṁkhyeyaiḥ kalpairasaṁkhyeyatarairdīpaṁkarasya tathāgatasyārhataḥ samyaksaṁbuddhasya pareṇa paratareṇa caturaśītibuddhakoṭiniyutaśatasahasrāṇyabhūvan ye mayārāgitāḥ, ārāgya na virāgitāḥ| + +【01罗什】须菩提!我念过去无量阿僧祇劫,于然灯佛前,得值八百四千万亿那由他诸佛,悉皆供养承事,无空过者; + +【02流支】须菩提!我念过去无量阿僧祇阿僧祇劫,于然灯佛前,得值八十四亿那由他百千万诸佛,我皆亲承供养,无空过者。 + +【03留支】须菩提!我忆往昔无数无量,过于算数过去,燃灯如来、阿罗诃、三藐三佛陀后,八万四千百千俱胝诸佛如来已成佛竟,我皆承事供养、恭敬,无空过者, + +【04真谛】须菩提!我忆往昔无数无量,过于算数大劫过去,然灯如来、阿罗诃、三藐三佛陀后,八万四千百千俱胝诸佛如来已成佛竟,我皆承事供养、恭敬,无空过者; + +【05笈多】彼何所因?念知我,善实!过去世不可数劫、不可数过,灯作如来、应、正遍知,他他过,四八十佛俱致那由多百千有,若我亲承供养。亲承供养已,不远离。 + +【06玄奘】何以故?善现!我忆过去于无数劫,复过无数,于然灯如来、应、正等觉,先复过先,曾值八十四俱胝那庾多百千诸佛,我皆承事。既承事已,皆无违犯。 + +【07义净】妙生!我忆过去过无数劫,在然灯佛先,得值八十四亿那庾多佛,悉皆供养承事,无违背者; + +#9 若復有人於後末世,能受持、讀誦此經所得功德,於我所供養諸佛功德,百分不及一,千萬億分乃至算數譬喻所不能及。 + +【00梵文】 yacca mayā subhūte te buddhā bhagavanta ārāgitāḥ, ārāgya na virāgitāḥ, yacca paścime kāle paścime samaye paścimāyāṁ pañcaśatyāṁ saddharmavipralopakāle vartamāne imānevaṁrūpān sūtrāntānudgrahīṣyanti dhārayiṣyanti vācayiṣyanti paryavāpsyanti, parebhyaśca vistareṇa saṁprakāśayiṣyanti, asya khalu punaḥ subhūte puṇyaskandhasyāntikādasau paurvakaḥ puṇyaskandhaḥ śatatamīmapi kalāṁ nopaiti, sahasratamīmapi śatasahasratamīmapi koṭimamipi koṭiśatatamīmapi koṭiśatasahasratamīmapi koṭiniyutaśatasahasratamīmapi| saṁkhyāmapi kalāmapi gaṇanāmapi upamāmapi upaniṣadamapi yāvadaupamyamapi na kṣamate|| + +【01罗什】若复有人于后、末世,能受持、读诵此经,所得功德,于我所供养诸佛功德,百分不及一,千万亿分,乃至算数、譬喻所不能及。 + +【02流支】须菩提!如是无量诸佛,我皆亲承供养,无空过者;若复有人,于后世、末世,能受持、读诵、修行此经,所得功德,我所供养诸佛功德于彼,百分不及一,千万亿分,乃至算数、譬喻所不能及。 + +【03留支】若复有人,于后、末世、五十岁时,受持、读诵,教他修行,,正说此经,须菩提!此人所生福德之聚,以我往昔承事供养诸佛如来所得功德,以此功德,百分不及一,千万亿分不及一,穷于算数不及其一,乃至威力品类相应譬喻所不能及。 + +【04真谛】若复有人,于后、末世、五百岁时,受持、读诵,教他修行,正说此经,须菩提!此人所生福德之聚,以我往昔承事供养诸佛如来所得功德,比此功德,百分不及一,千万亿分不及一,穷于算数不及其一,乃至威力品类相应譬喻所不能及。 + +【05笈多】若我,善实!彼佛世尊亲承供养已,不远离;若后时、后长时、后分、五百,正法破坏时中转时中,此经受当、持当、读当、诵当,为他等及分别广说当,此,复时,善实!福聚边此前福聚,百上亦数不及,千上亦、百千上亦、俱致百千上亦、俱致那由多百千上亦、僧企耶亦、迦罗亦、算亦、譬喻亦、忧波泥奢亦,乃至譬喻亦不及。 + +【06玄奘】善现!我于如是诸佛、世尊,皆得承事。既承事已,皆无违犯,若诸有情,后时、后分、后五百岁,正法将灭时分转时,于此经典,受持、读诵,究竟通利,及广为他宣说开示,如理作意,善现!我先福聚,于此福聚,百分计之所不能及,如是千分、若百千分、若俱胝百千分、若俱胝那庾多百千分、若数分、若计分、若算分、若喻分、若邬波尼杀昙分,亦不能及。 + +【07义净】若复有人,于后五百岁,正法灭时,能于此经,受持、读诵,解其义趣,广为他说,所得功德,以前功德比此功德,百分不及一,千万亿分、算分、势分、比数分、因分,乃至譬喻亦不能及。 + +#8 己二、显具足胜大(多) + +#9 須菩提!若善男子、善女人於後末世,有受持、讀誦此經所得功德,我若具說者,或有人聞,心則狂亂,狐疑不信。 + +【00梵文】 sacetpunaḥ subhūte teṣāṁ kulaputrāṇāṁ kuladuhitṝṇāṁ vā ahaṁ puṇyaskandhaṁ bhāṣeyam, yāvatte kulaputrā vā kuladuhitaro vā tasmin samaye puṇyaskandhaṁ prasaviṣyanti, pratigrahīṣyanti, unmādaṁ sattvā anuprāpnuyuścittavikṣepaṁ vā gaccheyuḥ| + +【01罗什】须菩提!若善男子、善女人于后、末世,有受持、读诵此经,所得功德,我若具说者,或有人闻,心则狂乱,狐疑不信。 + +【02流支】须菩提!若有善男子、善女人,于后世、末世,有受持、读诵、修行此经,所得功德,若我具说者,或有人闻,心则狂乱,疑惑不信。 + +【03留支】须菩提!若善男子、善女人,于后、末世,受持、读诵如此等经,所得功德,我若具说,若有善男子、善女人,谛听、忆持,尔所福聚,或心迷乱,及以颠狂。 + +【04真谛】须菩提!若善男子、善女人,于后、末世,受持、读诵如此等经,所得功德,我若具说,若有善男子、善女人,谛听、忆持,尔所福聚,或心迷乱,及以颠狂。 + +【05笈多】若复,善实!彼等善家子、善家女,我福聚说此所有,彼善家子、善家女,若彼中时中,福聚取当,猛众生顺到、心乱到。 + +【06玄奘】善现!我若具说,当于尔时,是善男子或善女人所生福聚,乃至是善男子、是善女人所摄福聚,有诸有情,则便迷闷,心惑狂乱。 + +【07义净】妙生!我若具说受持、读诵此经功德,或有人闻,心则狂乱,疑惑不信。 + +#8 己三、显福体及果不可测量 + +#9 須菩提!當知是經義不可思議,果報亦不可思議!」 + +【00梵文】 api tu khalu punaḥ subhūte acintyo'tulyo'yaṁ dharmaparyāyastathāgatena bhāṣitaḥ| asya acintya eva vipākaḥ pratikāṅkṣitavyaḥ||16|| + +【01罗什】须菩提!当知是经义不可思议。果报亦不可思议。」 + +【02流支】须菩提!当知是法门不可思议。果报亦不可思议。」 + +【03留支】复次,须菩提!如是经典不可思议。若人修行,及得果报,亦不可思议。」 + +【04真谛】复次,须菩提!如是经典不可思议。若人修行,及得果报,亦不可思议。」 + +【05笈多】虽然,复次时,善实!不可思、不可称,法本如来说。彼不可思,如是果报观察应。」 + +【06玄奘】是故,善现!如来宣说如是法门,不可思议、不可称量。应当希冀不可思议所感异熟。」 + +【07义净】妙生!当知是经不可思议。其受持者,应当希望不可思议所生福聚。」 + +#6 丁十一、(十五、于证道时远离喜动 住处 | 远离自取) + +#7 爾時,須菩提白佛言:「世尊!善男子、善女人發阿耨多羅三藐三菩提心,云何應住?云何降伏其心?」 + +【00梵文】 atha khalvāyuṣmān subhūtirbhagavantametadavocat-kathaṁ bhagavan bodhisattvayānasaṁprasthitena sthātavyam, kathaṁ pratipattavyam, kathaṁ cittaṁ pragrahītavyam ? + +【01罗什】尔时,须菩提白佛言:「世尊!善男子、善女人发阿耨多罗三藐三菩提心,云何应住?云何降伏其心?」 + +【02流支】尔时,须菩提白佛言:「世尊!云何菩萨发阿耨多罗三藐三菩提心?云何住?云何修行?云何降伏其心?」 + +【03留支】尔时,须菩提白佛言:「世尊!善男子、善女人,发阿耨多罗三藐三菩提心,行菩萨乘,云何应住?云何修行?云何发起菩萨心?」 + +【04真谛】尔时,须菩提白佛言:「世尊!善男子、善女人,发阿耨多罗三藐三菩提心,行菩萨乘,云何应住?云何修行?云何发起菩萨心?」 + +【05笈多】尔时,命者善实世尊边如是言:「云何,世尊!菩萨乘发行住应?云何修行应?云何心降伏?」 + +【06玄奘】尔时,具寿善现复白佛言:「世尊!诸有发趣菩萨乘者,应云何住?云何修行?云何摄伏其心?」 + +【07义净】复次,妙生白佛言:「世尊!若有发趣菩萨乘者,应云何住?云何修行?云何摄伏其心?」 + +#7 佛告須菩提:「善男子、善女人發阿耨多羅三藐三菩提心者,當生如是心:『我應滅度一切眾生, + +【00梵文】 bhagavānāha-iha subhūte bodhisattvayānasaṁprasthitena evaṁ cittamutpādayitavyam-sarve sattvā mayā anupadhiśeṣe nirvāṇadhātau parinirvāpayitavyāḥ| + +【01罗什】佛告须菩提:「善男子、善女人发阿耨多罗三藐三菩提者,当生如是心:我应灭度一切众生。 + +【02流支】佛告须菩提:「菩萨发阿耨多罗三藐三菩提心者,当生如是心:我应灭度一切众生,令入无余涅槃界。 + +【03留支】佛告须菩提:「善男子、善女人,发阿耨多罗三藐三菩提心者,当生如是心:我应安置一切众生,令入无余涅槃。 + +【04真谛】佛告须菩提:「善男子、善女人,发阿耨多罗三藐三菩提心者,当生如是心:我应安置一切众生,令入无余涅槃。 + +【05笈多】世尊言:「此,善实!菩萨乘发行,如是心发生应:『一切众生,无我受余涅槃界灭度应。』 + +【06玄奘】佛告善现:「诸有发趣菩萨乘者,应当发起如是之心:我当皆令一切有情,于无余依妙涅槃界而般涅槃。 + +【07义净】佛告妙生:「若有发趣菩萨乘者,当生如是心:我当度脱一切众生,悉皆令入无余涅槃。 + +#7 滅度一切眾生已,而無有一眾生實滅度者。』 + +【00梵文】 evaṁ sa sattvān parinirvāpya na kaścitsattvaḥ parinirvāpito bhavati| + +【01罗什】灭度一切众生已,而无有一众生实灭度者。 + +【02流支】如是灭度一切众生已,而无一众生实灭度者。 + +【03留支】如是盘涅槃无量众生已,无一众生被涅槃者。 + +【04真谛】如是般涅槃无量众生已,无一众生被涅槃者。 + +【05笈多】如是一切众生灭度,无有一众生灭度有。 + +【06玄奘】虽度如是一切有情令灭度已,而无有情得灭度者。 + +【07义净】虽有如是无量众生证于圆寂,而无有一众生证圆寂者。 + +#7 何以故?若菩薩有我相、人相、眾生相、壽者相,則非菩薩。 + +【00梵文】 tatkasya hetoḥ ? sacetsubhūte bodhisattvasya sattvasaṁjñā pravarteta, na sa bodhisattva iti vaktavyaḥ| jīvasaṁjñā vā yāvatpudgalasaṁjñā vā pravarteta, na sa bodhisattva iti vaktavyaḥ| + +【01罗什】何以故?须菩提!若菩萨有我相、人相、众生相、寿者相,则非菩萨。 + +【02流支】何以故?须菩提!若菩萨有众生相、人相、寿者相,则非菩萨。 + +【03留支】何以故?须菩提!若菩萨有众生想,则不应说名为菩萨。 + +【04真谛】何以故?须菩提!若菩萨有众生想,则不应说名为菩萨。 + +【05笈多】彼何所因?若,善实!菩萨众生想转彼不菩萨摩诃萨名说应。乃至人想转,不彼菩萨摩诃萨名说应。 + +【06玄奘】何以故?善现!若诸菩萨摩诃萨有情想转,不应说名菩萨摩诃萨。所以者何?若诸菩萨摩诃萨,不应说言有情想转。如是,命者想、士夫想、补特伽罗想、意生想、摩纳婆想、作者想、受者想转,当知亦尔。 + +【07义净】何以故?妙生!若菩萨有众生想者,则不名菩萨。 + +#7 所以者何?須菩提!實無有法發阿耨多羅三藐三菩提心者。 + +【00梵文】 tat kasya hetoḥ ? nāsti subhūte sa kaściddharmo yo bodhisattvayānasaṁprasthito nāma|| + +【01罗什】所以者何?须菩提!实无有法发阿耨多罗三藐三菩提者。 + +【02流支】何以故?须菩提!实无有法名为菩萨发阿耨多罗三藐三菩提心者。 + +【03留支】何以故?须菩提!实无有法名为能行菩萨上乘。 + +【04真谛】何以故?须菩提!实无有法名为能行菩萨上乘。 + +【05笈多】彼何所由?无有,善实!一法菩萨乘发行名。 + +【06玄奘】何以故?善现!无有少法名为发趣菩萨乘者。」 + +【07义净】所以者何?妙生!实无有法可名发趣菩萨乘者。 + +#6 丁十二、(十六、求教授 住处 | 离 无教授) + +#7 須菩提!於意云何?如來於然燈佛所,有法得阿耨多羅三藐三菩提不?」 + +【00梵文】 tatkiṁ manyase subhūte asti sa kaściddharmo yastathāgatena dīpaṁkarasya tathāgatasyāntikādanuttarāṁ samyaksaṁbodhim abhisaṁbuddhaḥ ? + +【01罗什】须菩提!于意云何?如来于然灯佛所,有法得阿耨多罗三藐三菩提不?」 + +【02流支】须菩提!于意云何?如来于燃灯佛所,有法得阿耨多罗三藐三菩提不?」 + +【03留支】须菩提!汝意云何?于燃灯佛所,颇有一法如来所得,名阿耨多罗三藐三菩提不?」 + +【04真谛】须菩提!汝意云何?于然灯佛所,颇有一法如来所得,名阿耨多罗三藐三菩提不?」 + +【05笈多】彼何意念?善实!有一法,若如来,灯作如来、应、正遍知边,无上正遍知证觉?」 + +【06玄奘】佛告善现:「于汝意云何?如来昔于然灯如来、应、正等觉所,颇有少法能证阿耨多罗三藐三菩提不?」 + +【07义净】妙生!于汝意云何?如来于然灯佛所,颇有少法是所证不?」 + +#7 「不也,世尊!如我解佛所說義,佛於然燈佛所,無有法得阿耨多羅三藐三菩提。」 + +【00梵文】 evam ukte āyuṣmān subhūtirbhagavantametadavocat- yathāhaṁ bhagavato bhāṣitasyārthamājānāmi, nāsti sa bhagavan kaściddharmo yastathāgatena dīpaṁkarasya tathāgatasyārhataḥ samyaksaṁbuddhasyāntikādanuttarāṁ samyaksaṁbodhim abhisaṁbuddhaḥ| + +【01罗什】「不也。世尊!如我解佛所说义,佛于然灯佛所,无有法得阿耨多罗三藐三菩提。」 + +【02流支】须菩提白佛言:「不也,世尊!如我解佛所说义,佛于燃灯佛所,无有法得阿耨多罗三藐三菩提。」 + +【03留支】须菩提言:「不也,世尊!于燃灯佛所,无有一法如来所得,名阿耨多罗三藐三菩提。」 + +【04真谛】须菩提言:「不得,世尊!于然灯佛所,无有一法如来所得,名阿耨多罗三藐三菩提。」 + +【05笈多】如是语已。命者善实世尊边如是言:「无有彼,世尊!一法,若如来,灯作如来、应、正遍知边,无上正遍知证觉。」 + +【06玄奘】作是语已。具寿善现白佛言:「世尊!如我解佛所说义者,如来昔于然灯如来、应、正等觉所,无有少法能证阿耨多罗三藐三菩提。」 + +【07义净】妙生言:「如来于然灯佛所,无法可证而得菩提。」 + +#7 佛言:「如是!如是!須菩提!實無有法如來得阿耨多羅三藐三菩提。 + +【00梵文】 evamukte bhagavānāyuṣmantaṁ subhūtimetadavocat-evametatsubhūte, evametat| nāsti subhūte sa kaściddharmo yastathāgatena dīpaṁkarasya tathāgatasyārhataḥ samyaksaṁbuddhasyāntikādanuttarāṁ samyaksaṁbodhimabhisaṁbuddhaḥ| + +【01罗什】佛言:「如是,如是。须菩提!实无有法,如来得阿耨多罗三藐三菩提。 + +【02流支】佛言:「如是,如是。须菩提!实无有法,如来于燃灯佛所得阿耨多罗三藐三菩提。 + +【03留支】佛言:「如是,须菩提!如是。于燃灯佛所,无有一法如来所得,名阿耨多罗三藐三菩提。 + +【04真谛】佛言:「如是,须菩提!如是。于然灯佛所,无有一法如来所得,名阿耨多罗三藐三菩提。 + +【05笈多】如是语已。世尊命者善实如是言:「如是,如是。善实!如是,如是。无有彼一法,若如来,灯作如来、应、正遍知边,无上正遍知证觉。 + +【06玄奘】说是语已。佛告具寿善现言:「如是,如是。善现!如来昔于然灯如来、应、正等觉所,无有少法能证阿耨多罗三藐三菩提。 + +【07义净】佛言:「如是,如是。妙生!实无有法如来于然灯佛所,有所证悟,得大菩提。 + +#7 須菩提!若有法如來得阿耨多羅三藐三菩提者,然燈佛則不與我授記:『汝於來世當得作佛,號釋迦牟尼。』 + +【00梵文】 sacetpunaḥ subhūte kaściddharmastathāgatenābhisaṁbuddho'bhaviṣyat, na māṁ dīpaṁkarastathāgato vyākariṣyat-bhaviṣyasi tvaṁ māṇava anāgate'dhvani śākyamunirnāma tathāgato'rhan samyaksaṁbuddha iti| + +【01罗什】须菩提!若有法,如来得阿耨多罗三藐三菩提者,然灯佛则不与我受记:『汝于来世,当得作佛,号释迦牟尼。』 + +【02流支】须菩提!若有法如来得阿耨多罗三藐三菩提者,燃灯佛则不与我受记:『汝于来世,当得作佛,号释迦牟尼。』 + +【03留支】须菩提!于燃灯佛所,若有一法如来所得,名阿耨多罗三藐三菩提,燃灯佛则不授我记:『婆罗门!汝于来世,当得作佛,号释迦牟尼多陀阿伽度、阿罗诃、三藐三佛陀。』 + +【04真谛】须菩提!于然灯佛所,若有一法如来所得,名阿耨多罗三藐三菩提,然灯佛则不授我记:『婆罗门!汝于来世,当得作佛,号释迦牟尼多陀阿伽度、阿罗诃、三藐三佛陀。』 + +【05笈多】若复,善实!一法如来证觉有,不我灯作如来、应、正遍知记说有当:『汝,行者!未来世释迦牟尼名,如来、应、正遍知者。』 + +【06玄奘】何以故?善现!如来昔于然灯如来、应、正等觉所,若有少法能证阿耨多罗三藐三菩提者,然灯如来、应、正等觉,不应授我记言:『汝摩纳婆!于当来世,名释迦牟尼如来、应、正等觉。』 + +【07义净】若证法者,然灯佛则不与我授记:『摩纳婆!汝于来世,当得作佛,号释迦牟尼。』 + +#7 以實無有法得阿耨多羅三藐三菩提,是故然燈佛與我授記,作是言:『汝於來世當得作佛,號釋迦牟尼。』 + +【00梵文】 yasmāttarhi subhūte tathāgatenārhatā samyaksaṁbuddhena nāsti sa kaściddharmo yo'nuttarāṁ samyaksaṁbodhimabhisaṁbuddhaḥ, tasmādahaṁ dīpaṁkareṇa tathāgatena vyākṛta- bhaviṣyasi tvaṁ māṇava anāgate'dhvani śākyamunirnāma tathāgato'rhan samyaksaṁbuddhaḥ| + +【01罗什】以实无有法得阿耨多罗三藐三菩提,是故然灯佛与我受记,作是言:『汝于来世,当得作佛,号释迦牟尼。』 + +【02流支】以实无有法得阿耨多罗三藐三菩提,是故燃灯佛与我受记,作如是言:『摩那婆!汝于来世,当得作佛,号释迦牟尼。』 + +【03留支】须菩提!由实无有法如来所得,名阿耨多罗三藐三菩提,是故然灯佛与我授记,作如是言:『婆罗门!汝于来世,当得作佛,号释迦牟尼多陀阿伽度、阿罗诃、三藐三佛陀。』 + +【04真谛】须菩提!由实无有法如来所得,名阿耨多罗三藐三菩提,是故然灯佛与我授记,作如是言:『婆罗门!汝于来世,当得作佛,号释迦牟尼多陀阿伽度、阿罗诃、三藐三佛陀。』 + +【05笈多】是故,此,善实!如来、应、正遍知,无有一法,若无上正遍知证觉,彼故,灯作如来、应、正遍知记说有当:『汝,行者!未来世,释迦牟尼名,如来、应、正遍知。』 + +【06玄奘】善现!以如来无有少法能证阿耨多罗三藐三菩提,是故然灯如来、应、正等觉,授我记言:『汝摩纳婆!于当来世,名释迦牟尼如来、应、正等觉。』 + +【07义净】以无所得故,然灯佛与我授记:『当得作佛,号释迦牟尼。』 + +#7 何以故?如來者,即諸法如義。 + +【00梵文】 tatkasya hetoḥ ? tathāgata iti subhūte bhūtatathatāyā etadadhivacanam| tathāgata iti subhūte anutpādadharmatāyā etadadhivacanam| tathāgata iti subhūte dharmocchedasyaitadadhivacanam| tathāgata iti subhūte atyantānutpannasyaitadadhivacanam| tatkasya hetoḥ ? eṣa subhūte anutpādo yaḥ paramārthaḥ| + +【01罗什】何以故?如来者,即诸法如义。 + +【02流支】何以故?须菩提!言如来者,即实真如。 + +【03留支】何以故?须菩提!如来者,真如别名。 + +【04真谛】何以故?须菩提!如来者,真如别名。 + +【05笈多】彼何所因?如来者,善实!真如故,此即是。如来者,善实!不生法故,此即是。世尊者,善实!道断,此即是。如来者,善实!毕竟不生故,此即是。彼何所因?如是彼实不生,若最胜义。 + +【06玄奘】所以者何?善现!言如来者,即是真实真如增语。言如来者,即是无生法性增语。言如来者,即是永断道路增语。言如来者,即是毕竟不生增语。何以故?善现!若实无生,即最胜义。 + +【07义净】何以故?妙生!言如来者,即是实性真如之异名也。 + +#7 若有人言:『如來得阿耨多羅三藐三菩提。』 + +【00梵文】 yaḥ kaścitsubhūte evaṁ vadet-tathāgatenārhatā samyaksaṁbuddhena anuttarā samyaksaṁbodhirabhisaṁbuddheti, sa vitathaṁ vadet| abhyācakṣīta māṁ sa subhūte asatodgṛhītena| + +【01罗什】若有人言:『如来得阿耨多罗三藐三菩提』, + +【02流支】须菩提!若有人言:『如来得阿耨多罗三藐三菩提』者,是人不实语。 + +【03留支】须菩提!若有人说:『如来得阿耨多罗三藐三菩提』,是人不实语。 + +【04真谛】须菩提!若有人说:『如来得阿耨多罗三藐三菩提』,是人不实语。 + +【05笈多】若有,善实!如是语:『如来、应、正遍知,无上正遍知证觉』,彼不如语诽谤我,彼,善实!不实取。 + +【06玄奘】善现!若如是说如来、应、正等觉能证阿耨多罗三藐三菩提者,当知此言为不真实。所以者何?善现!由彼谤我,起不实执。 + +【07义净】妙生!若言如来证得无上正等觉者,是为妄语。 + +#7 須菩提!實無有法佛得阿耨多羅三藐三菩提。 + +【00梵文】 tatkasya hetoḥ- ? nāsti subhūte sa kaściddharmo yastathāgatena anuttarāṁ samyaksaṁbodhimabhisaṁbuddhaḥ| + +【01罗什】须菩提!实无有法,佛得阿耨多罗三藐三菩提。 + +【02流支】须菩提!实无有法佛得阿耨多罗三藐三菩提。 + +【03留支】何以故?须菩提!实无有法如来所得,名阿耨多罗三藐三菩提。 + +【04真谛】何以故?须菩提!实无有法如来所得,名阿耨多罗三藐三菩提。 + +【05笈多】彼何所因?无有彼,善实!一法,若如来、应、正遍知,无上正遍知证觉。 + +【06玄奘】何以故?善现!无有少法如来、应、正等觉,能证阿耨多罗三藐三菩提。 + +【07义净】何以故?实无有法如来证得无上正觉。 + +#7 須菩提!如來所得阿耨多羅三藐三菩提,於是中無實無虛,是故如來說一切法皆是佛法。 + +【00梵文】 yaśca subhūte tathāgatena dharmo'bhisaṁbuddho deśito vā tatra na satyaṁ na mṛṣā| tasmāttathāgato bhāṣate-sarvadharmā buddhadharmā iti| + +【01罗什】须菩提!如来所得阿耨多罗三藐三菩提,于是中,无实、无虚。是故如来说:一切法皆是佛法。 + +【02流支】须菩提!如来所得阿耨多罗三藐三菩提,于是中,不实、不妄语。是故如来说:一切法皆是佛法。 + +【03留支】须菩提!此法如来所得,无实、无虚,是故如来说:一切法皆是佛法。 + +【04真谛】须菩提!此法如来所得,无实、无虚。是故如来说:一切法皆是佛法。 + +【05笈多】若,善实!如来法证觉说,若不彼中实、不妄。彼故如来说:『一切法佛法者。』 + +【06玄奘】善现!如来现前等所证法、或所说法、或所思法,即于其中,非谛、非妄,是故如来说:一切法皆是佛法。 + +【07义净】妙生!如来所得正觉之法,此即非实、非虚。是故佛说:一切法者,即是佛法。 + +#7 須菩提!所言一切法者,即非一切法,是故名一切法。 + +【00梵文】 tatkasya hetoḥ ? sarvadharmā iti subhūte adharmāstathāgatena bhāṣitāḥ| tasmāducyante sarvadharmā buddhadharmā iti|| + +【01罗什】须菩提!所言一切法者,即非一切法,是故名一切法。 + +【02流支】须菩提!所言一切法、一切法者,即非一切法。是故名一切法。 + +【03留支】须菩提!一切法者,非一切法。故如来说名一切法。 + +【04真谛】须菩提!一切法者,非一切法,故如来说名一切法。 + +【05笈多】彼何所因?一切法、一切法者,善实!一切彼,非法如来说,彼故说名一切法者。 + +【06玄奘】善现!一切法、一切法者,如来说非一切法,是故如来说名一切法、一切法。」 + +【07义净】妙生!一切法、一切法者,如来说为非法。是故如来说:一切法者,即是佛法。 + +#5 丙五、净心住处 二(十七、证道 住处)   + +#6 丁一、得智 + +#7 須菩提!譬如人身長、大。」 + +【00梵文】 tadyathāpi nāma subhūte puruṣo bhavedupetakāyo mahākāyaḥ ? + +【01罗什】须菩提!譬如人身长大。」 + +【02流支】须菩提!譬如有人其身妙大。」 + +【03留支】须菩提!譬如有人,遍身大身。」 + +【04真谛】须菩提!譬如有人,遍身大身。」 + +【05笈多】譬如,善实!丈夫有具足身大身。」 + +【06玄奘】佛告善现:「譬如士夫具身大身。」 + +【07义净】妙生!譬如丈夫,其身长大。」 + +#7 須菩提言:「世尊!如來說人身長、大,則為非大身,是名大身。」 + +【00梵文】 āyuṣmān subhūtirāha- yo'sau bhagavaṁstathāgatena puruṣo bhāṣita upetakāyo mahākāya iti, akāyaḥ sa bhagavaṁstathāgatena bhāṣitaḥ| tenocyate upetakāyo mahākāya iti|| + +【01罗什】须菩提言:「世尊!如来说人身长大,则为非大身,是名大身。」 + +【02流支】须菩提言:「世尊!如来说人身妙大,则非大身。是故如来说名大身。」 + +【03留支】须菩提言:「世尊!是如来所说遍身大身,则为非身。是故说名遍身大身。」 + +【04真谛】须菩提言:「世尊!是如来所说遍身大身,则为非身,是故说名遍身大身。」 + +【05笈多】命者善实言:「若彼,世尊!如来丈夫说具足身大身,非身彼世尊如来说,彼故说名足身大身者。」 + +【06玄奘】具寿善现即白佛言:「世尊!如来所说士夫具身大身,如来说为非身,是故说名具身大身。」 + +【07义净】妙生言:「世尊!如来说为大身者,即说为非身,是名大身。」 + +#6 丁二、离慢 + +#7 「須菩提!菩薩亦如是。若作是言:『我當滅度無量眾生。』則不名菩薩。 + +【00梵文】 bhagavān āha -evametatsubhūte| yo bodhisattva evaṁ vadet-ahaṁ sattvān parinirvāpayiṣyāmiti, na sa bodhisattva iti vaktavyaḥ| tatkasya hetoḥ ? asti subhūte sa kaściddharmo yo bodhisattvo nāma ? + +【01罗什】「须菩提!菩萨亦如是。若作是言:『我当灭度无量众生』,则不名菩萨。 + +【02流支】佛言:「须菩提!菩萨亦如是。若作是言:『我当灭度无量众生』,则非菩萨。」 + +佛言:「须菩提!于意云何?颇有实法名为菩萨?」 + +【03留支】佛言:「如是,须菩提!如是,须菩提!若有菩萨说如是言:『我当般涅槃一切众生』,则不应说名为菩萨。须菩提!汝意云何?颇有一法名菩萨不?」 + +【04真谛】佛言:「如是,须菩提!如是,须菩提!若有菩萨说如是言:『我当般涅槃一切众生』,则不应说名为菩萨。须菩提!汝意云何?颇有一法名菩萨不?」 + +【05笈多】世尊言:「如是,如是。善实!如是,如是。若菩萨如是语:『有众生般涅槃灭度我』,不彼菩萨名说应。彼何所因?有,善实!有一法若菩萨名?」 + +【06玄奘】佛言:「善现!如是,如是。若诸菩萨作如是言:『我当灭度无量有情』,是则不应说名菩萨。何以故?善现!颇有少法名菩萨不?」 + +【07义净】佛告妙生:「如是,如是。若菩萨作是语:『我当度众生,令寂灭』者,则不名菩萨。妙生!颇有少法名菩萨不?」 + +#7 何以故?須菩提!實無有法名為菩薩。 + +【00梵文】 subhūtir āha-no hīdaṁ bhagavan| nāsti sa kaściddharmo yo bodhisattvo nāma| + +【01罗什】何以故?须菩提!实无有法名为菩萨。 + +【02流支】须菩提言:「不也,世尊!实无有法名为菩萨。 + +【03留支】须菩提言:「不也,世尊!」 + +【04真谛】须菩提言:「无有,世尊!」 + +【05笈多】善实言:「不如此,世尊!」 + +【06玄奘】善现答言:「不也,世尊!无有少法名为菩萨。」 + +【07义净】答言:「不尔,世尊!」 + +#7 是故佛說:一切法無我、無人、無眾生、無壽者。 + +【00梵文】 bhagavānāha- sattvāḥ sattvā iti subhūte asattvāste tathāgatena bhāṣitāḥ, tenocyante sattvā iti| tasmāttathāgato bhāṣate-nirātmānaḥ sarvadharmā nirjīvā niṣpoṣā niṣpudgalāḥ sarvadharmā iti|| + +【01罗什】是故佛说:『一切法无我、无人、无众生、无寿者。』 + +【02流支】是故佛说:『一切法无众生、无人、无寿者。』」 + +【03留支】佛言:「须菩提!是故如来说:『一切法无我、无众生、无寿者、无受者。』 + +【04真谛】佛言:「须菩提!是故如来说:『一切法无我、无众生、无寿者、无受者。』 + +【05笈多】世尊言:「众生、众生者,善实!非众生彼如来说,彼故说名众生者。彼故如来说:『无我一切法,无众生、无寿者、无长养者、无人一切法者。』 + +【06玄奘】佛告善现:「有情、有情者,如来说非有情,故名有情。是故如来说:一切法无有有情、无有命者、无有士夫、无有补特伽罗等。 + +【07义净】「妙生!是故如来说:一切法无我、无众生、无寿者、无更求趣。 + +#5 丙六、究竟住处六(十八、上求佛地住)  + +#6 丁一、国土净具足 + +#7 須菩提!若菩薩作是言:『我當莊嚴佛土。』是不名菩薩。何以故?如來說莊嚴佛土者,即非莊嚴,是名莊嚴。 + +【00梵文】 yaḥ subhūte bodhisattva evaṁ vadet- ahaṁ kṣetravyūhānniṣpādayiṣyāmīti, sa vitathaṁ vadet| tatkasya hetoḥ ? kṣetravyūhāḥ kṣetravyūhā iti subhūte avyūhāste tathāgatena bhāṣitāḥ| tenocyante kṣetravyūhā iti|| + +【01罗什】须菩提!若菩萨作是言:『我当庄严佛土』,是不名菩萨。何以故?如来说庄严佛土者,即非庄严,是名庄严。 + +【02流支】「须菩提!若菩萨作是言:『我庄严佛国土』,是不名菩萨。何以故?如来说庄严佛土、庄严佛土者,即非庄严。是名庄严佛国土。 + +【03留支】须菩提!若有菩萨说如是言:『我当庄严清净佛土』,如此菩萨说虚妄言。何以故?须菩提!庄严佛土者,如来说则非庄严。是故庄严清净佛土。 + +【04真谛】须菩提!若有菩萨说如是言:『我当庄严清净佛土』,如此菩萨说虚妄言。何以故?须菩提!庄严佛土者,如来说则非庄严,是故庄严清净佛土。 + +【05笈多】若,善实!菩萨如是语:『我佛土庄严成就』,彼亦如是不名说应。彼何所因?国土庄严、国土庄严者,善实!非庄严彼如来说,彼故说名国土庄严者。 + +【06玄奘】善现!若诸菩萨作如是言:『我当成办佛土功德庄严』,亦如是说。何以故?善现!佛土功德庄严;佛土功德庄严者,如来说非庄严,是故如来说名佛土功德庄严、佛土功德庄严。 + +【07义净】妙生!若有菩萨言:『我当成就佛土严胜』,佛土严胜者,如来说为非是严胜。是故如来说为严胜。 + +#7 須菩提!若菩薩通達無我法者,如來說名真是菩薩。 + +【00梵文】 yaḥ subhūte bodhisattvo nirātmāno dharmā nirātmāno dharmā ityadhimucyate, tathāgatenārhatā samyaksaṁbuddhena bodhisattvo mahāsattva ityākhyātaḥ||17|| + +【01罗什】须菩提!若菩萨通达无我法者,如来说名真是菩萨。」 + +【02流支】须菩提!若菩萨通达无我、无我法者,如来说名真是菩萨、菩萨。」 + +【03留支】须菩提!若菩萨信见诸法无我、诸法无我,如来、应供、正遍觉,说是名菩萨、是名菩萨。」 + +【04真谛】须菩提!若菩萨信见诸法无我、诸法无我,如来、应供、正遍觉,说是名菩萨、是名菩萨。」 + +【05笈多】若,善实!菩萨摩诃萨,『无我法、无我法』者信解,彼如来、应、正遍知,菩萨摩诃萨名说。」 + +【06玄奘】善现!若诸菩萨于无我法、无我法,深信解者,如来、应、正等觉,说为菩萨、菩萨。」 + +【07义净】妙生!若有信解一切法无性、一切法无性者,如来说名真是菩萨、菩萨。」 + +#6 丁二、无上见智净具足二 + +#7 戊一、见净 + +#8 須菩提!於意云何?如來有肉眼不?」 + +【00梵文】 bhagavān āha-tatkiṁ manyase subhūte-saṁvidyate tathāgatasya māṁsacakṣuḥ ? + +【01罗什】「须菩提!于意云何?如来有肉眼不?」 + +【02流支】「须菩提!于意云何?如来有肉眼不?」 + +【03留支】「须菩提!汝意云何?如来有肉眼不?」 + +【04真谛】「须菩提!汝意云何?如来有肉眼不?」 + +【05笈多】「彼何意念?善实!有如来肉眼?」 + +【06玄奘】佛告善现:「于汝意云何?如来等现有肉眼不?」 + +【07义净】「妙生!于汝意云何?如来有肉眼不?」 + +#8 「如是!世尊!如來有肉眼。」 + +【00梵文】 subhūtirāha- evametadbhagavan, saṁvidyate tathāgatasya māṁsacakṣuḥ| + +【01罗什】「如是,世尊!如来有肉眼。」 + +【02流支】须菩提言:「如是,世尊!如来有肉眼。」 + +【03留支】须菩提言:「如是,世尊!如来有肉眼。」 + +【04真谛】须菩提言:「如是,世尊!如来有肉眼。」 + +【05笈多】善实言:「如是,如是。世尊!有如来肉眼。」 + +【06玄奘】善现答言:「如是,世尊!如来等现有肉眼。」 + +【07义净】妙生言:「如是,世尊!如来有肉眼。」 + +#8 「須菩提!於意云何?如來有天眼不?」 + +【00梵文】 bhagavānāha-tatkiṁ manyase subhūte saṁvidyate tathāgatasya divyaṁ cakṣuḥ ? + +【01罗什】「须菩提!于意云何?如来有天眼不?」 + +【02流支】佛言:「须菩提!于意云何?如来有天眼不?」 + +【03留支】佛言:「须菩提!汝意云何?如来有天眼不?」 + +【04真谛】佛言:「须菩提!汝意云何?如来有天眼不?」 + +【05笈多】世尊言:「彼何意念?善实!有如来天眼?」 + +【06玄奘】佛言:「善现!于汝意云何?如来等现有天眼不?」 + +【07义净】「如来有天眼不?」 + +#8 「如是!世尊!如來有天眼。」 + +【00梵文】 subhūtirāha-evametadbhagavan, saṁvidyate tathāgatasya divyaṁ cakṣuḥ| + +【01罗什】「如是,世尊!如来有天眼。」 + +【02流支】须菩提言:「如是,世尊!如来有天眼。」 + +【03留支】须菩提言:「如是,世尊!如来有天眼。」 + +【04真谛】须菩提言:「如是,世尊!如来有天眼。」 + +【05笈多】善实言:「如是,如是。世尊!有如来天眼。」 + +【06玄奘】善现答言:「如是,世尊!如来等现有天眼。」 + +【07义净】「如是,世尊!如来有天眼。」 + +#8 「須菩提!於意云何?如來有慧眼不?」 + +【00梵文】 bhagavānāha-tatkiṁ manyase subhūte saṁvidyate tathāgatasya prajñācakṣuḥ ? + +【01罗什】「须菩提!于意云何?如来有慧眼不?」 + +【02流支】佛言:「须菩提!于意云何?如来有慧眼不?」 + +【03留支】佛言:「须菩提!汝意云何?如来有慧眼不?」 + +【04真谛】佛言:「须菩提!汝意云何?如来有慧眼不?」 + +【05笈多】世尊言:「彼何意念?善实!有如来慧眼?」 + +【06玄奘】佛言:「善现!于汝意云何?如来等现有慧眼不?」 + +【07义净】「如来有慧眼不?」 + +#8 「如是!世尊!如來有慧眼。」 + +【00梵文】 subhūtirāha-evametadbhagavan, saṁvidyate tathāgatasya prajñācakṣuḥ| + +【01罗什】「如是,世尊!如来有慧眼。」 + +【02流支】须菩提言:「如是,世尊!如来有慧眼。」 + +【03留支】须菩提言:「如是,世尊!如来有慧眼。」 + +【04真谛】须菩提言:「如是,世尊!如来有慧眼。」 + +【05笈多】善实言:「如是,如是。世尊!有如来慧眼。」 + +【06玄奘】善现答言:「如是,世尊!如来等现有慧眼。」 + +【07义净】「如是,世尊!如来有慧眼。」 + +#8 「須菩提!於意云何?如來有法眼不?」 + +【00梵文】 bhagavānāha-tatkiṁ manyase subhūte saṁvidyate tathāgatasya dharmacakṣuḥ ? + +【01罗什】「须菩提!于意云何?如来有法眼不?」 + +【02流支】佛言:「须菩提!于意云何?如来有法眼不?」 + +【03留支】佛言:「须菩提!汝意云何?如来有法眼不?」 + +【04真谛】佛言:「须菩提!汝意云何?如来有法眼不?」 + +【05笈多】世尊言:「彼何意念?善实!有如来法眼?」 + +【06玄奘】佛言:「善现!于汝意云何?如来等现有法眼不?」 + +【07义净】「如来有法眼不?」 + +#8 「如是!世尊!如來有法眼。」 + +【00梵文】 subhūtirāha-evametadbhagavan, saṁvidyate tathāgatasya dharmacakṣuḥ| + +【01罗什】「如是,世尊!如来有法眼。」 + +【02流支】须菩提言:「如是,世尊!如来有法眼。」 + +【03留支】须菩提言:「如是,世尊!如来有法眼。」 + +【04真谛】须菩提言:「如是,世尊!如来有法眼。」 + +【05笈多】善实言:「如是,如是。世尊!有如来法眼。」 + +【06玄奘】善现答言:「如是,世尊!如来等现有法眼。」 + +【07义净】「如是,世尊!如来有法眼。」 + +#8 「須菩提!於意云何?如來有佛眼不?」 + +【00梵文】 bhagavānāha- tatkiṁ manyase subhūte saṁvidyate tathāgatasya buddhacakṣuḥ ? + +【01罗什】「须菩提!于意云何?如来有佛眼不?」 + +【02流支】佛言:「须菩提!于意云何?如来有佛眼不?」 + +【03留支】佛言:「须菩提!汝意云何?如来有佛眼不?」 + +【04真谛】佛言:「须菩提!汝意云何?如来有佛眼不?」 + +【05笈多】世尊言:「彼何意念?善实!有如来佛眼?」 + +【06玄奘】佛言:「善现!于汝意云何?如来等现有佛眼不?」 + +【07义净】「如来有佛眼不?」 + +#8 「如是!世尊!如來有佛眼。」 + +【00梵文】 subhūtirāha-evametadbhagavan, saṁvidyate tathāgata buddhacakṣuḥ| + +【01罗什】「如是,世尊!如来有佛眼。」 + +【02流支】须菩提言:「如是,世尊!如来有佛眼。」 + +【03留支】须菩提言:「如是,世尊!如来有佛眼。」 + +【04真谛】须菩提言:「如是,世尊!如来有佛眼。」 + +【05笈多】善实言:「如是,如是。世尊!有如来佛眼。」 + +【06玄奘】善现答言:「如是,世尊!如来等现有佛眼。」 + +【07义净】「如是,世尊!如来有佛眼。」 + +#7 戊二、智净 + +#8 「須菩提!於意云何?如恆河中所有沙,佛說是沙不?」 + +【00梵文】 bhagavānāha-tatkiṁ manyase subhūte yāvantyo gaṅgāyāṁ mahānadyāṁ vālukāḥ, api nu tā vālukāstathāgatena bhāṣitāḥ ? + +【01罗什】「须菩提!于意云何?恒河中所有沙,佛说是沙不?」 + +【02流支】佛言:「须菩提!于意云何?如恒河中所有沙,佛说是沙不?」 + +【03留支】(缺) + +【04真谛】(缺) + +【05笈多】世尊言:「善!善!善实!彼何意念?善实!所有恒伽大河沙,虽然,彼沙,彼如来说?」 + +【06玄奘】佛告善现:「于汝意云何?乃至殑伽河中所有诸沙,如来说是沙不?」 + +【07义净】(缺) + +#8 「如是!世尊!如來說是沙」。 + +【00梵文】 subhūtirāha-evametadbhagavan, evametat sugata| bhāṣitāstathāgatena vālukāḥ| + +【01罗什】「如是,世尊!如来说是沙。」 + +【02流支】须菩提言:「如是,世尊!如来说是沙。」 + +【03留支】(缺) + +【04真谛】(缺) + +【05笈多】善实言:「如是,如是。世尊!如是,如是。善逝!说彼如来彼沙。」 + +【06玄奘】善现答言:「如是,世尊!如是,善逝!如来说是沙。」 + +【07义净】(缺) + +#8 「須菩提!於意云何?如一恆河中所有沙,有如是沙等恆河,是諸恆河所有沙數佛世界,如是寧為多不?」 + +【00梵文】 bhagavānāha-tatkiṁ manyase subhūte yāvatyo gaṅgāyāṁ mahānadyāṁ vālukāḥ, tāvatya eva gaṅgānadyo bhaveyuḥ, tāsu vā vālukāḥ, tāvantaśca lokadhātavo bhaveyuḥ, kaccidbahavaste lokadhātavo bhaveyuḥ ? + +【01罗什】「须菩提!于意云何?如一恒河中所有沙,有如是等恒河,是诸恒河所有沙数佛世界,如是,宁为多不?」 + +【02流支】佛言:「须菩提!于意云何?如一恒河中所有沙,有如是等恒河,是诸恒河所有沙数佛世界,如是世界,宁为多不?」 + +【03留支】「须菩提!汝意云何?于恒伽江所有诸沙,如其沙数所有恒伽,如诸恒伽所有沙数世界,如是,宁为多不?」 + +【04真谛】「须菩提!汝意云何?于恒伽江所有诸沙,如其沙数所有恒伽,如诸恒伽所有沙数世界,如是,宁为多不?」 + +【05笈多】世尊言:「彼何意念?善实!所有恒伽大河沙,彼所有恒伽大河有,所有彼中沙,彼所有及世界有,多彼世界有?」 + +【06玄奘】佛言:「善现!于汝意云何?乃至殑伽河中所有沙数,假使有如是等殑伽河;乃至是诸殑伽河中所有沙数,假使有如是等世界,是诸世界宁为多不?」 + +【07义净】「妙生!于汝意云何?如弶伽河中所有沙数,复有如是沙等弶伽河,随诸河沙,有尔所世界,是为多不?」 + +#8 「甚多!世尊!」 + +【00梵文】 subhūtirāha-evametadbhagavan, evametat sugata| bahavaste lokadhātavo bhaveyuḥ| + +【01罗什】「甚多,世尊!」 + +【02流支】须菩提言:「彼世界甚多,世尊!」 + +【03留支】须菩提言:「如是,世尊!此等世界,其数甚多。」 + +【04真谛】须菩提言:「如是,世尊!此等世界,其数甚多。」 + +【05笈多】善实言:「多,世尊!多,善逝!彼世界有。」 + +【06玄奘】善现答言:「如是,世尊!如是,善逝!是诸世界,其数甚多。」 + +【07义净】妙生言:「甚多,世尊!」 + +#8 佛告須菩提:「爾所國土中所有眾生若干種心,如來悉知。 + +【00梵文】 bhagavānāha-yāvantaḥ subhūte teṣu lokadhātuṣu sattvāḥ, teṣāmahaṁ nānābhāvāṁ cittadhārāṁ prajānāmi| + +【01罗什】佛告须菩提:「尔所国土中所有众生若干种心,如来悉知。 + +【02流支】佛告须菩提:「尔所世界中所有众生,若干种心住,如来悉知。」 + +【03留支】佛言:「须菩提!尔所世界中所有众生,我悉见知心相续住有种种类。 + +【04真谛】佛言:「须菩提!尔所世界中所有众生,我悉见知心相续住有种种类。 + +【05笈多】世尊言:「所有,善实!彼中世界中众生,彼等,我,种种有心流注知。 + +【06玄奘】佛言:「善现!乃至尔所诸世界中所有有情,彼诸有情各有种种,其心流注,我悉能知。 + +【07义净】「妙生!此世界中所有众生,种种性行,其心流转,我悉了知。 + +#8 何以故?如來說諸心,皆為非心,是名為心。 + +【00梵文】 tatkasya hetoḥ ? cittadhārā cittadhāreti subhūte adhāraiṣā tathāgatena bhāṣitā, tenocyate cittadhāreti| + +【01罗什】何以故?如来说诸心,皆为非心,是名为心。 + +【02流支】何以故?如来说诸心住,皆为非心住,是名为心住。 + +【03留支】何以故?须菩提!心相续住,如来说非续住,故说续住。 + +【04真谛】何以故?须菩提!心相续住,如来说非续住,故说续住。 + +【05笈多】彼何所因?心流注、心流注者,善实!非流注此如来说,彼故说名心流注者。 + +【06玄奘】何以故?善现!心流注、心流注者,如来说非流注,是故如来说名心流注、心流注。 + +【07义净】何以故?妙生!心陀罗尼者,如来说为无持。由无持故,心遂流转。 + +#8 所以者何?須菩提!過去心不可得,現在心不可得,未來心不可得。 + +【00梵文】 tatkasya hetoḥ ? atītaṁ subhūte cittaṁ nopalabhyate| anāgataṁ cittaṁ nopalabhyate| pratyutpannaṁ cittaṁ nopalabhyate||18|| + +【01罗什】所以者何?须菩提!过去心不可得,现在心不可得,未来心不可得。」 + +【02流支】何以故?须菩提!过去心不可得,现在心不可得,未来心不可得。」 + +【03留支】何以故?须菩提!过去心不可得,未来心不可得,现在心不可得。」 + +【04真谛】何以故?须菩提!过去心不可得,未来心不可得,现在心不可得。」 + +【05笈多】彼何所因?过去,善实!心不可得,未来心不可得,现在心不可得。」 + +【06玄奘】所以者何?善现!过去心不可得,未来心不可得,现在心不可得。」 + +【07义净】何以故?妙生!过去心不可得,未来心不可得,现在心不可得。」 + +#6 丁三、福自在具足 + +#7 須菩提!於意云何?若有人滿三千大千世界七寶以用布施,是人以是因緣,得福多不?」 + +【00梵文】 tatkiṁ manyase subhūte yaḥ kaścitkulaputro vā kuladuhitā vā imaṁ trisāhasramahāsāhasraṁ lokadhātuṁ saptaratnaparipūrṇaṁ kṛtvā tathāgatebhyo'rhadbhayaḥ samyaksaṁbuddhebhyo dānaṁ dadyāt, api nu sa kulaputro vā kuladuhitā vā tatonidānaṁ bahu puṇyaskandhaṁ prasunuyāt ? + +【01罗什】「须菩提!于意云何?若有人满三千大千世界七宝,以用布施,是人以是因缘,得福多不?」 + +【02流支】「须菩提!于意云何?若有人以满三千大千世界七宝,持用布施,是善男子、善女人以是因缘,得福多不?」 + +【03留支】「须菩提!汝意云何?若有人以满三千大千世界七宝,而用布施,是善男子、善女人,以是因缘,得福多不?」 + +【04真谛】「须菩提!汝意云何?若有人以满三千大千世界七宝,而用布施,是善男子、善女人,以是因缘,得福多不?」 + +【05笈多】「彼何意念?善实!若有善家子、若善家女,若三千大千世界,七宝满作已施与。虽然,彼善家子、若善家女,若彼缘,多福聚生?」 + +【06玄奘】佛告善现:「于汝意云何?若善男子或善女人,以此三千大千世界,盛满七宝,奉施如来、应、正等觉。是善男子或善女人,由是因缘所生福聚,宁为多不?」 + +【07义净】「妙生!于汝意云何?若人以满三千大千世界七宝布施,是人得福多不?」 + +#7 「如是!世尊!此人以是因緣,得福甚多。」 + +【00梵文】 subhūtirāha- bahu bhagavan, bahu sugata| + +【01罗什】「如是,世尊!此人以是因缘,得福甚多。」 + +【02流支】须菩提言:「如是,世尊!此人以是因缘,得福甚多。」 + +【03留支】须菩提言:「甚多,世尊!甚多,修伽陀!」 + +【04真谛】须菩提言:「甚多,世尊!甚多,修伽陀!」 + +【05笈多】善实言:「多,世尊!多,善逝!」 + +【06玄奘】善现答言:「甚多,世尊!甚多,善逝!」 + +【07义净】妙生言:「甚多,世尊!」 + +#7 (缺) + +【00梵文】 bhagavānāha-evametatsubhūte, evametat| bahu sa kulaputro vā kuladuhitā vā tatonidānaṁ puṇyaskandhaṁ prasunuyādaprameyam asaṁkhyeyam| + +【01罗什】(缺) + +【02流支】佛言:「如是,如是。须菩提!彼善男子、善女人,以是因缘得福德聚多。 + +【03留支】佛言:「如是,须菩提!如是。彼善男子、善女人,以是因缘,福聚多。」 + +【04真谛】佛言:「如是,须菩提!如是。彼善男子、善女人,以是因缘,得福聚多。」 + +【05笈多】世尊言:「如是,如是。善实!如是,如是。多,彼善家子、若善家女,若彼缘,多福聚生,无量不可数福聚。 + +【06玄奘】佛言:「善现!如是,如是,彼善男子或善女人,由此因缘所生福聚,其量甚多。 + +【07义净】(缺) + +#7 「須菩提!若福德有實,如來不說得福德多; + +【00梵文】 tatkasya hetoḥ ? puṇyaskandhaḥ puṇyaskandha iti subhūte askandhaḥ sa tathāgatena bhāṣitaḥ| tenocyate puṇyaskandha iti| + +【01罗什】「须菩提!若福德有实,如来不?说得福德多。」〔依梵本序应为19-5〕 + +【02流支】(缺) + +【03留支】(缺) + +【04真谛】(缺) + +【05笈多】福聚者,善实!非聚彼如来说,彼故说名福聚者。 + +【06玄奘】何以故? + +【07义净】(缺) + +#7 以福德無故,如來說得福德多。 + +【00梵文】 sacet punaḥ subhūte puṇyaskandho'bhaviṣyat, na tathāgato'bhāṣiṣyat puṇyaskandhaḥ puṇyaskandha iti||19|| + +【01罗什】以福德无故,如来说得福德多。」〔依梵本序应为19-4〕 + +【02流支】须菩提!若福德聚有实,如来则不说福德聚、福德聚。」 + +【03留支】佛言:「须菩提!若福德聚但名为聚,如来则不应说是福德聚、是福德聚。」 + +【04真谛】佛言:「须菩提!若福德聚但名为聚,如来则不应说是福德聚、是福德聚。」 + +【05笈多】若复,善实!福聚有,不如来说福聚、福聚者。」 + +【06玄奘】善现!若有福聚,如来不说福聚、福聚。」 + +【07义净】「妙生!若此福聚是福聚者,如来则不说为福聚、福聚。」 + +#6 丁四、身具足二 + +#7 戊一、随形好身具足 + +#8 須菩提!於意云何?佛可以具足色身見不?」 + +【00梵文】 tatkiṁ manyase subhūte rūpakāyapariniṣpattyā tathāgato draṣṭavyaḥ ? + +【01罗什】「须菩提!于意云何?佛可以具足色身见不?」 + +【02流支】「须菩提!于意云何?佛可以具足色身见不?」 + +【03留支】「须菩提!汝意云何?可以具足色身观如来不?」 + +【04真谛】「须菩提!汝意云何?可以具足色身观如来不?」 + +【05笈多】「彼何意念?善实!色身成就,如来见应?」 + +【06玄奘】佛告善现:「于汝意云何?可以色身圆实观如来不?」 + +【07义净】「妙生!于汝意云何?可以色身圆满观如来不?」 + +#8 「不也,世尊!如來不應以具足色身見。 + +【00梵文】 subhūtirāha-no hīdaṁ bhagavan| na rūpakāyapariniṣpattyā tathāgato draṣṭavyaḥ| + +【01罗什】「不也,世尊!如来不应以具足色身见。 + +【02流支】须菩提言:「不也,世尊!如来不应以色身见。 + +【03留支】须菩提言:「不也,世尊!不可以具足色身观于如来。 + +【04真谛】须菩提言:「不可,世尊!不可以具足色身观于如来。 + +【05笈多】善实言:「不如此,世尊!非色身成就如来见应。 + +【06玄奘】善现答言:「不也,世尊!不可以色身圆实观于如来。 + +【07义净】「不尔,世尊!不应以色身圆满观于如来。 + +#8 何以故?如來說具足色身,即非具足色身,是名具足色身。」 + +【00梵文】 tatkasya hetoḥ ? rūpakāyapariniṣpattī rūpakāyapariniṣpattiriti bhagavan apariniṣpattireṣā tathāgatena bhāṣitā| tenocyate rūpakāyapariniṣpattiriti|| + +【01罗什】何以故?如来说具足色身,即非具足色身,是名具足色身。」 + +【02流支】何以故?如来说具足色身,即非具足色身,是故如来说名具足色身。」 + +【03留支】何以故?此具足色身,如来说非具足色身,是故如来说名具足色身。」 + +【04真谛】何以故?此具足色身,如来说非具足色身,是故如来说名具足色身。」 + +【05笈多】彼何所因?色身成就、色身成就者,世尊!非成就,此如来说,彼故说名色身成就者。」 + +【06玄奘】何以故?世尊!色身圆实、色身圆实者,如来说非圆实,是故如来说名色身圆实、色身圆实。」 + +【07义净】何以故?色身圆满、色身圆满者,如来说非圆满,是故名为色身圆满。」 + +#7 戊二、相身具足 + +#8 「須菩提!於意云何?如來可以具足諸相見不?」 + +【00梵文】 bhagavānāha- tatkiṁ manyase subhūte lakṣaṇasaṁpadā tathāgato draṣṭavyaḥ ? + +【01罗什】「须菩提!于意云何?如来可以具足诸相见不?」 + +【02流支】佛言:「须菩提!于意云何?如来可以具足诸相见不?」 + +【03留支】佛言:「须菩提!汝意云何?可以具足诸相观如来不? + +【04真谛】佛言:「须菩提!汝意云何?可以具足诸相观如来不? + +【05笈多】世尊言:「彼何意念?善实!相具足如来见应?」 + +【06玄奘】佛告善现:「于汝意云何?可以诸相具足观如来不?」 + +【07义净】「妙生!可以具相观如来不?」 + +#8 「不也,世尊!如來不應以具足諸相見。 + +【00梵文】 subhūtirāha-no hīdaṁ bhagavān| na lakṣaṇasaṁpadā tathāgato draṣṭavyaḥ| + +【01罗什】「不也,世尊!如来不应以具足诸相见。 + +【02流支】须菩提言:「不也,世尊!如来不应以具足诸相见。 + +【03留支】须菩提言:「不也,世尊!不可以具足诸相观于如来。 + +【04真谛】须菩提言:「不可,世尊!不可以具足诸相观于如来。 + +【05笈多】善实言:「不如此,世尊!非相具足如来见应。 + +【06玄奘】善现答言:「不也,世尊!不可以诸相具足观于如来。 + +【07义净】「不尔,世尊!不应以具相观于如来。 + +#8 何以故?如來說諸相具足,即非具足,是名諸相具足。」 + +【00梵文】 tatkasya hetoḥ ? yaiṣā bhagavan lakṣaṇasaṁpattathāgatena bhāṣitā, alakṣaṇasaṁpadeṣā tathāgatena bhāṣitā| tenocyate lakṣaṇasaṁpaditi||20|| + +【01罗什】何以故?如来说诸相具足,即非具足,是名诸相具足。」 + +【02流支】何以故?如来说诸相具足,即非具足,是故如来说名诸相具足。」 + +【03留支】何以故?此具足相,如来说非具足相,是故如来说具足相。」 + +【04真谛】何以故?此具足相,如来说非具足相,是故如来说具足相。」 + +【05笈多】彼何所因?此,世尊!相具足如来说,非相具足如来说,彼故说名相具足者。」 + +【06玄奘】何以故?世尊!诸相具足、诸相具足者,如来说为非相具足,是故如来说名诸相具足、诸相具足。」 + +【07义净】何以故?诸具相者,如来说非具相,是故如来说名具相。」 + +#6 丁五、语具足 + +#7 「須菩提!汝勿謂如來作是念:『我當有所說法。』 + +【00梵文】 bhagavānāha- tatkiṁ manyase subhūte api nu tathāgatasyaivaṁ bhavati-mayā dharmo deśita iti ? + +【01罗什】「须菩提!汝勿谓如来作是念:我当有所说法。 + +【02流支】佛言:「须菩提!于意云何?汝谓如来作是念:我当有所说法耶? + +【03留支】佛言:「须菩提!汝意云何?如来有如是意:我今实说法耶? + +【04真谛】佛言:「须菩提!汝意云何?如来有如是意:我今实说法耶? + +【05笈多】世尊言:「彼何意念?善实!虽然,如来如是念:我法说?」 + +【06玄奘】佛告善现:「于汝意云何?如来颇作是念:我当有所说法耶? + +【07义净】「妙生!于汝意云何?如来作是念:我说法耶? + +#7 (缺) + +【00梵文】 subhūtirāha-no hīdaṁ bhagavan tathāgatasyaivaṁ bhavati-mayā dharmo deśita iti| + +【01罗什】(缺) + +【02流支】(缺) + +【03留支】(缺) + +【04真谛】(缺) + +【05笈多】善实言:「不如此,世尊!不,如来如是念:我法说。」 + +【06玄奘】(缺) + +【07义净】(缺) + +#7 莫作是念!何以故?若人言如來有所說法,即為謗佛,不能解我所說故。 + +【00梵文】 bhagavānāha-yaḥ subhūte evaṁ vadet- tathāgatena dharmo deśita iti, sa vitathaṁ vadet| abhyācakṣīta māṁ sa subhūte asatodgṛhītena| + +【01罗什】莫作是念。何以故?若人言:『如来有所说法』,即为谤佛,不能解我所说故。 + +【02流支】须菩提!莫作是念。何以故?若人言:『如来有所说法』,即为谤佛,不能解我所说故。 + +【03留支】须菩提!若有人言:如来实能说法,汝应当知,是人由非实有,及以邪执,起诽谤我。 + +【04真谛】须菩提!若有人言:『如来实能说法』,汝应当知,是人由非实有,及以邪执,起诽谤我。 + +【05笈多】世尊言:「若我,善实!如是语:如来法说。诽谤我,彼,善实!不实取。 + +【06玄奘】善现!汝今勿当作如是观。何以故?善现!若言:『如来有所说法』,即为谤我,为非善取。 + +【07义净】汝勿作是见。若言:『如来有所说法者』,则为谤我。 + +#7 須菩提!說法者,無法可說,是名說法。」 + +【00梵文】 tatkasya hetoḥ ? dharmadeśanā dharmadeśaneti subhūte nāsti sa kaściddharmo yo dharmadeśanā nāmopalabhyate|| + +【01罗什】须菩提!说法者,无法可说,是名说法。」 + +【02流支】何以故?须菩提!如来说法、说法者,无法可说,是名说法。」 + +【03留支】何以故?须菩提!说法、说法,实无有法名为说法。」 + +【04真谛】何以故?须菩提!说法、说法,实无有法名为说法。」 + +【05笈多】彼何所因?法说、法说者,善实!无有法,若法说名可得。」 + +【06玄奘】何以故?善现!说法、说法者,无法可得,故名说法。」 + +【07义净】何以故?言说法、说法者,无法可说,是名说法。」 + +#6 丁六、心具足六 + +#7 戊一、为念处故 + +#8 爾時,慧命須菩提白佛言:「世尊!頗有眾生於未來世聞說是法,生信心不?」 + +【00梵文】 evamukte āyuṣmān subhūtirbhagavantametadavocat-asti bhagavan kecitsattvā bhaviṣyantyanāgate'dhvani paścime kāle paścime samaye paścimāyāṁ pañcaśatyāṁ saddharmavipralope vartamāne, ya imānevaṁrūpān dharmān śrutvā abhiśraddhāsyanti| + +【01罗什】尔时,慧命须菩提白佛言:「世尊!颇有众生于未来世,闻说是法,生信心不?」 + +【02流支】尔时,慧命须菩提白佛言:「世尊!颇有众生于未来世,闻说是法,生信心不?」 + +【03留支】尔时,须菩提白佛言:「世尊!颇有众生于未来世,听闻正说如是等相此经章句,生实信不?」 + +【04真谛】尔时,须菩提白佛言:「世尊!颇有众生于未来世,听闻正说如是,等相此经章句,生实信不?」 + +【05笈多】尔时,命者善实世尊边如是言:「虽然,世尊!当有未来,颇有众生,后时、后长时、后分、五十,正法破坏时中、转时中,若此如是色类法说,闻已,信当有?」 + +【06玄奘】尔时,具寿善现白佛言:「世尊!于当来世、后时、后分、后五百岁,正法将灭时分转时,颇有有情,闻说如是色类法已,能深信不?」 + +【07义净】妙生白佛言:「世尊!于当来世,颇有众生,闻说是经,生信心不?」 + +#8 佛言:「須菩提!彼非眾生,非不眾生。 + +【00梵文】 bhagavānāha- na te subhūte sattvā nāsattvāḥ| + +【01罗什】佛言:「须菩提!彼非众生,非不众生。 + +【02流支】佛言:「须菩提!彼非众生,非不众生。 + +【03留支】佛告须菩提:「彼非众生,非非众生。 + +【04真谛】佛告须菩提:「彼非众生,非非众生。 + +【05笈多】世尊言:「不彼,善实!众生、非不众生。 + +【06玄奘】佛言:「善现!彼非有情、非不有情。 + +【07义净】佛告妙生:「有生信者,彼非众生、非非众生。 + +#8 何以故?須菩提!眾生眾生者,如來說非眾生,是名眾生。」 + +【00梵文】 tatkasya hetoḥ ? sattvāḥ sattvā iti subhūte sarve te subhūte asattvāstathāgatena bhāṣitāḥ| tenocyante sattvā iti||21|| + +【01罗什】何以故?须菩提!众生、众生者,如来说非众生,是名众生。」 + +【02流支】何以故?须菩提!众生、众生者,如来说非众生,是名众生。」 + +【03留支】何以故?须菩提!彼众生者,如来说非众生,非非众生,故说众生。」 + +【04真谛】何以故?须菩提!彼众生者,如来说非众生、非非众生,故说众生。」 + +【05笈多】彼何所因?众生、众生者,善实!一切彼非众生彼如来说,彼故说名众生者。」 + +【06玄奘】何以故?善现!一切有情者,如来说非有情,故名一切有情。」 + +【07义净】何以故?众生、众生者,如来说非众生,是名众生。」 + +#7 戊二、为正觉故 + +#8 (缺) + +【00梵文】 tatkiṁ manyase subhūte-api nu asti sa kaściddharmaḥ, yastathāgatenānuttarāṁ samyaksaṁbodhim abhisaṁbuddhaḥ ? + +【01罗什】(缺) + +【02流支】佛言:「须菩提!于意云何?如来得阿耨多罗三藐三菩提耶?」 + +【03留支】「须菩提!汝意云何?颇有一法如来所得,名阿耨多罗三藐三菩提不?」 + +【04真谛】「须菩提!汝意云何?颇有一法如来所得,名阿耨多罗三藐三菩提不?」 + +【05笈多】「彼何意念?善实!虽然,有法若如来无上正遍知证觉?」 + +【06玄奘】佛告善现:「于汝意云何?颇有少法如来、应、正等觉,现证无上正等菩提耶?」 + +【07义净】「妙生!于汝意云何?佛得无上正等觉时,颇有少法所证不?」 + +#8 須菩提白佛言:「世尊!佛得阿耨多羅三藐三菩提,為無所得耶?」 + +【00梵文】 āyuṣmān subhūtirāha-no hīdaṁ bhagavan| nāsti sa bhagavan kaściddharmo yastathāgatenānuttarāṁ samyaksaṁbodhim abhisaṁbuddhaḥ + +【01罗什】须菩提白佛言:「世尊!佛得阿耨多罗三藐三菩提,为无所得耶?」 + +【02流支】须菩提言:「不也,世尊!世尊!无有少法如来得阿耨多罗三藐三菩提。」 + +【03留支】须菩提言:「不也,世尊!无有一法如来所得,名阿耨多罗三藐三菩提。」 + +【04真谛】须菩提言:「不得,世尊!无有一法如来所得,名阿耨多罗三藐三菩提。」 + +【05笈多】命者善实言:「无有彼,世尊!有法若如来无上正遍知。」 + +【06玄奘】具寿善现白佛言:「世尊!如我解佛所说义者,无有少法如来、应、正等觉,现证无上正等菩提。」 + +【07义净】妙生言:「实无有法是佛所证。」 + +#8 佛言:「如是!如是!須菩提!我於阿耨多羅三藐三菩提,乃至無有少法可得,是名阿耨多羅三藐三菩提。 + +【00梵文】 bhagavānāha-evametatsubhūte, evametat| aṇurapi tatra dharmo na saṁvidyate nopalabhyate| tenocyate anuttarā samyaksaṁbodhiriti||22|| + +【01罗什】「如是,如是。须菩提!我于阿耨多罗三藐三菩提,乃至无有少法可得,是名阿耨多罗三藐三菩提。」 + +【02流支】佛言:「如是,如是。须菩提!我于阿耨多罗三藐三菩提,乃至无有少法可得,是名阿耨多罗三藐三菩提。」 + +【03留支】佛言:「如是,须菩提!如是。乃至无有如微尘法,如来所舍,如来所得,是故说名阿耨多罗三藐三菩提平等、平等。」 + +【04真谛】佛言:「如是,须菩提!如是。乃至无有如微尘法,如来所舍,如来所得,是故说名阿耨多罗三藐三菩提平等、平等。」 + +【05笈多】世尊言:「如是,如是。善实!如是,如是。微小,彼中,法无有,不可得,彼故说名无上正遍知者。」 + +【06玄奘】佛言:「善现!如是,如是。于中少法无有、无得,故名无上正等菩提。」 + +【07义净】佛告妙生:「如是,如是。此中无有少法可得,故名无上正等菩提。」 + +#8 復次,須菩提!是法平等,無有高下,是名阿耨多羅三藐三菩提。 + +【00梵文】 api tu khalu punaḥ subhūte samaḥ sa dharmo na tatra kaścidviṣamaḥ| tenocyate anuttarā samyaksaṁbodhiriti| + +【01罗什】「复次,须菩提!是法平等,无有高下,是名阿耨多罗三藐三菩提。 + +【02流支】「复次,须菩提!是法平等,无有高下,是名阿耨多罗三藐三菩提。 + +【03留支】「复次,须菩提!诸佛、诸佛觉知,无有差别,是故说名阿耨多罗三藐三菩提。复次,须菩提!此法平等,无有高下,是名阿耨多罗三藐三菩提。 + +【04真谛】「复次,须菩提!诸佛觉知无有差别,是故说名阿耨多罗三藐三菩提。复次,须菩提!此法平等,无有高下,是名阿耨多罗三藐三菩提。 + +【05笈多】「虽然,复次时,善实!平等正法,彼不中有不平等,彼故说名无上正遍知者。 + +【06玄奘】「复次,善现!是法平等,于其中间,无不平等,故名无上正等菩提。 + +【07义净】「妙生!是法平等,无有高下,故名无上正等菩提。 + +#8 以無我、無人、無眾生、無壽者,修一切善法,則得阿耨多羅三藐三菩提。 + +【00梵文】 nirātmatvena niḥsattvatvena nirjīvatvena niṣpudgalatvena samā sā anuttarā samyaksaṁbodhiḥ sarvaiḥ kuśalairdharmairabhisaṁbudhyate| + +【01罗什】以无我、无人、无众生、无寿者,修一切善法,则得阿耨多罗三藐三菩提。 + +【02流支】以无众生、无人、无寿者,得平等阿耨多罗三藐三菩提,一切善法得阿耨多罗三藐三菩提。 + +【03留支】复次,须菩提!由无我、无众生、无寿者、无受者等,此法平等,故名阿耨多罗三藐三菩提。复次,须菩提!由实善法具足圆满,得阿耨多罗三藐三菩提。 + +【04真谛】复次,须菩提!由法无我、无众生、无寿者、无受者等,此法平等,故名阿耨多罗三藐三菩提。复次,须菩提!由实善法具足圆满,得阿耨多罗三藐三菩提。 + +【05笈多】无我故、无寿故、无众生故、无人故,平等无上正遍知,一切善法证觉。 + +【06玄奘】以无我性、无有情性、无命者性、无士夫性、无补特伽罗等性、平等故,名无上正等菩提,一切善法无不现证,一切善法无不妙觉。 + +【07义净】以无我、无众生、无寿者、无更求趣性,其性平等,故名无上正等菩提。一切善法皆正觉了,故名无上正等正觉。 + +#8 須菩提!所言善法者,如來說即非善法,是名善法。 + +【00梵文】 tatkasya hetoḥ ? kuśalā dharmāḥ kuśalā dharmā iti subhūte adharmāścaiva te tathāgatena bhāṣitāḥ| tenocyante kuśalā dharmā iti||23|| + +【01罗什】须菩提!所言善法者,如来说非善法。是名善法。」 + +【02流支】须菩提!所言善法、善法者,如来说非善法,是名善法。」 + +【03留支】须菩提!所言善法、善法者,如来说非法,故名善法。」 + +【04真谛】须菩提!所言善法、善法者,如来说非法,故名善法。」 + +【05笈多】善法、善法者,善实!非法如是彼如来说,彼故说名善法者。」 + +【06玄奘】善现!善法、善法者,如来一切说为非法,是故如来说名善法、善法。」 + +【07义净】妙生!善法者,如来说为非法,故名善法。」 + +#7 戊三、为施设大利法故 + +#8 須菩提!若三千大千世界中所有諸須彌山王,如是等七寶聚,有人持用布施。若人以此般若波羅蜜經乃至四句偈等,受持、讀誦,為他人說,於前福德百分不及一,百千萬億分乃至算數譬喻所不能及。 + +【00梵文】 yaśca khalu punaḥ subhute strī vā puruṣo vā yāvantastrisāhasramahāsāhasre lokadhātau sumeravaḥ parvatarājānaḥ, tāvato rāśīn saptānāṁ ratnānāmabhisaṁhṛtya tathāgatebhyo'rhadbhayaḥ samyaksaṁbuddhebhyo dānaṁ dadyāt, yaśca kulaputro vā kuladuhitā vā itaḥ prajñāpāramitāyā dharmaparyāyādantaśaścatuṣpādikāmapi gāthāmudgṛhya parebhyo deśayet, asya subhūte puṇyaskandhasya asau paurvakaḥ puṇyaskandhaḥ śatatamīmapi kalāṁ nopaiti, yāvadupaniṣadamapi na kṣamate||24|| + +【01罗什】「须菩提!若三千大千世界中,所有诸须弥山王,如是等七宝聚,有人持用布施;若人以此《般若波罗蜜经》,乃至四句偈等,受持、读诵,为他人说,于前福德,百分不及一,百千万亿分,乃至算数、譬喻所不能及。」 + +【02流支】「须菩提!三千大千世界中,所有诸须弥山王,如是等七宝聚,有人持用布施;若人以此《般若波罗蜜经》,乃至四句偈等,受持、读诵,为他人说,于前福德,百分不及一,千分不及一,百千万分不及一,歌罗分不及一,数分不及一,优波尼沙陀分不及一,乃至算数、譬喻所不能及。」 + +【03留支】「须菩提!三千大千世界所有诸须弥山王,如是等七宝聚满此世界,有人持用布施;若人从此《般若波罗蜜经》,乃至四句偈等,受持、读诵,为他正说,所得功德,以前功德比此功德,百分不及一,千万亿分不及一,穷于算数不及其一,乃至威力、品类、相应、譬喻所不能及。」 + +【04真谛】「须菩提!三千大千世界所有诸须弥山王,如是等七宝聚满此世界,有人持用布施;若人从此《般若波罗蜜经》,乃至四句偈等,受持、读诵,为他正说,所得功德,以前功德比此功德,百分不及一,千万亿分不及一,穷于算数不及其一,乃至威力、品类、相应、譬喻所不能及。」 + +【05笈多】「若复,善实!所有三千大千世界须弥山王,彼所有聚七宝,普散如来、应等、正遍知施与;若此智慧彼岸到,乃至四句等偈,受已,为他等分别,此、善实!福聚,彼前者福聚,百上亦数不及,千上亦,百千上亦,俱致百千上亦,俱致那由他百千上亦,僧企耶亦,迦罗亦,算亦,譬喻亦,忧波泥奢亦,乃至譬喻亦不及。」 + +【06玄奘】「复次,善现!若善男子或善女人,集七宝聚,量等三千大千世界,其中所有妙高山王,持用布施;若善男子或善女人,于此《般若波罗蜜多经》中,乃至四句伽他,受持、读诵,究竟通利,及广为他宣说开示,如理作意。善现!前说福聚,于此福聚,百分计之所不能及,如是千分、若百千分、若俱胝百千分、若俱胝那庾多百千分、若数分、若计分、若算分、若喻分、若乌波尼杀昙分,亦不能及。」 + +【07义净】「妙生!若三千大千世界中,所有诸妙高山王,如是等七宝聚,有人持用布施;若复有人,于此经中,乃至一四句颂,若自受持,及为他说,以前福聚比此福聚,假令分此以为百分,彼亦不能及一分,或千分、亿分、算分、势分、数分、因分,乃至譬喻,亦不能及一。」 + +#8 須菩提!於意云何?汝等勿謂如來作是念:『我當度眾生。』 + +【00梵文】 tatkiṁ manyase subhūte-api nu tathāgatasyaivaṁ bhavati-mayā sattvāḥ parimocitā iti? + +【01罗什】「须菩提!于意云何?汝等勿谓如来作是念:我当度众生。 + +【02流支】「须菩提!于意云何?汝谓如来作是念:我度众生耶? + +【03留支】「须菩提!汝意云何?如来作是念:我度众生耶? + +【04真谛】「须菩提!汝意云何?如来作是念:我度众生耶? + +【05笈多】「彼何意念?善实!虽然,如来如是念:我众生度脱? + +【06玄奘】佛告善现:「于汝意云何?如来颇作是念:我当度脱诸有情耶? + +【07义净】「妙生!于汝意云何?如来度众生不? + +#8 須菩提!莫作是念!何以故?實無有眾生如來度者。 + +【00梵文】 na khalu punaḥ subhūte evaṁ draṣṭavyam| tatkasya hetoḥ ? nāsti subhūte kaścitsattvo yastathāgatena parimocitaḥ| + +【01罗什】须菩提!莫作是念。何以故?实无有众生如来度者。 + +【02流支】须菩提!莫作是念。何以故?实无有众生如来度者。 + +【03留支】须菩提!汝今不应作如是念。何以故?实无众生如来所度。 + +【04真谛】须菩提!汝今不应作如是念。何以故?实无众生如来所度。 + +【05笈多】不,复,彼,善实!如是见应。彼何所因?有无善实!无有一众生若如来度脱。 + +【06玄奘】善现!汝今勿当作如是观。何以故?善现!无少有情如来度者。 + +【07义净】汝莫作是见:如来度众生。何以故?曾无有一众生是如来度者。 + +#8 若有眾生如來度者,如來則有我、人、眾生、壽者。 + +【00梵文】 yadi punaḥ subhūte kaścitsattvo'bhaviṣyadyastathāgatena parimocitaḥ syāt, sa eva tathāgatasyātmagrāho'bhaviṣyat, sattvagrāho jīvagrāhaḥ pudgalagrāho'bhaviṣyat| + +【01罗什】若有众生如来度者,如来则有、我、人众生、寿者。 + +【02流支】佛言:「须菩提!若有实众生如来度者,如来则有我、人、众生、寿者相。 + +【03留支】须菩提!若有众生如来所度,即是我执、众生执、寿者执、受者执。 + +【04真谛】须菩提!若有众生如来所度,即是我执、众生执、寿者执、受者执。 + +【05笈多】若复,善实!有如是众生有,若彼如来度脱,彼如是如来我取有众生取、寿取、人取有。 + +【06玄奘】善现!若有有情如来度者,如来即应有其我执,有有情执,有命者执,有士夫执,有补特伽罗等执。 + +【07义净】若有众生是如来度者,如来则有我见、众生见、寿者见、更求趣见。 + +#8 須菩提!如來說有我者,則非有我,而凡夫之人以為有我。 + +【00梵文】 ātmagrāha iti subhūte agrāha eṣa tathāgatena bhāṣitaḥ| sa ca bālapṛthagjanairudgṛhītaḥ| + +【01罗什】须菩提!如来说有我者,则非有我,而凡夫之人以为有我。 + +【02流支】须菩提!如来说有我者,则非有我,而毛道凡夫生者以为有我。 + +【03留支】须菩提!此我等执,如来说非执,婴儿凡夫众生之所执故。 + +【04真谛】须菩提!此我等执,如来说非执,婴儿凡夫众生之所执故。 + +【05笈多】我取、我取者,善实!非取此如来说,彼小儿凡夫生取。 + +【06玄奘】善现!我等执者,如来说为非执,故名我等执,而诸愚夫异生,强有此执。 + +【07义净】妙生!我等执者,如来说为非,执而诸愚夫妄为此执。 + +#8 須菩提!凡夫者,如來說即非凡夫。 + +【00梵文】 bālapṛthagjanā iti subhūte ajanā eva te tathāgatena bhāṣitāḥ| tenocyante bālapṛthagjanā iti||25|| + +【01罗什】须菩提!凡夫者,如来说则非凡夫。」 + +【02流支】须菩提!毛道凡夫生者,如来说名非生,是故言毛道凡夫生。」 + +【03留支】须菩提!婴儿凡夫众生者,如来说非众生,故说婴儿凡夫众生。」 + +【04真谛】须菩提!婴儿凡夫众生者,如来说非众生,故说婴儿凡夫众生。」 + +【05笈多】小儿凡夫生、小儿凡夫生者,善实!非生彼如来说,彼故说名小儿凡夫生者。」 + +【06玄奘】善现!愚夫异生者,如来说为非生,故名愚夫异生。」 + +【07义净】妙生!愚夫众生,如来说为非生,故名愚夫众生。」 + +#7 戊四、为摄取法身故 + +#8 須菩提!於意云何?可以三十二相觀如來不?」 + +【00梵文】 tatkiṁ manyase subhūte-lakṣaṇasaṁpadā tathāgato draṣṭavyaḥ ? + +【01罗什】「须菩提!于意云何?可以三十二相观如来不?」 + +【02流支】「须菩提!于意云何?可以相成就得见如来不?」 + +【03留支】「须菩提!汝意云何?可以具足相观如来不?」 + +【04真谛】「须菩提!汝意云何?可以具足相观如来不?」 + +【05笈多】「彼何意念?善实!相具足如来见应?」 + +【06玄奘】佛告善现:「于汝意云何?可以诸相具足观如来不?」 + +【07义净】「妙生!于汝意云何?应以具相观如来不? + +#8 須菩提言:「如是!如是!以三十二相觀如來。」 + +【00梵文】 subhūtirāha-no hīdaṁ bhagavan| yathāhaṁ bhagavato bhāṣitasyārthamājānāmi, na lakṣaṇasaṁpadā tathāgato draṣṭavyaḥ| + +【01罗什】须菩提言:「如是,如是。以三十二相观如来。」 + +【02流支】须菩提言:「如我解如来所说义,不以相成就得见如来。」 + +【03留支】须菩提言:「如我解佛所说义,不以具足相应观如来。」 + +【04真谛】须菩提言:「如我解佛所说义,不以具足相应观如来。」 + +【05笈多】善实言:「不如此,世尊!如我世尊说义解我,不相具足如来见应。」 + +【06玄奘】善现答言:「如我解佛所说义者,不应以诸相具足观于如来。」 + +【07义净】「不尔,世尊!不应以具相观于如来。」 + +#8 (缺) + +【00梵文】 bhagavānāha-sādhu sādhu subhūte, evametatsubhūte, evametadyathā vadasi| na lakṣaṇasaṁpadā tathāgato draṣṭavyaḥ| + +【01罗什】(缺) + +【02流支】佛言:「如是,如是。须菩提!不以相成就得见如来。」 + +【03留支】佛言:「如是,须菩提!如是。不以具足相应观如来。」 + +【04真谛】佛言:「如是,须菩提!如是。不以具足相应观如来。 + +【05笈多】世尊言:「善!善!善实!如是,如是。善实!如如语汝,不相具足如来见应。 + +【06玄奘】佛言:「善现!善哉!善哉!如是,如是。如汝所说,不应以诸相具足观于如来。 + +【07义净】(缺) + +#8 佛言:「須菩提!若以三十二相觀如來者,轉輪聖王則是如來。」 + +【00梵文】 tatkasya hetoḥ ? sacetpunaḥ subhūte lakṣaṇasaṁpadā tathāgato draṣṭavyo'bhaviṣyat, rājāpi cakravartī tathāgato'bhaviṣyat| tasmānna lakṣaṇasaṁpadā tathāgato draṣṭavyaḥ| + +【01罗什】佛言:「须菩提!若以三十二相观如来者,转轮圣王则是如来。」 + +【02流支】佛言:「须菩提!若以相成就观如来者,转轮圣王应是如来。是故非以相成就得见如来。」 + +【03留支】何以故?若以具足相观如来者,转轮圣王应是如来。是故不以具足相应观如来。」 + +【04真谛】何以故?若以具足相观如来者,转轮圣王应是如来。是故不以具足相应观如来。」 + +【05笈多】彼何所因?彼复,善实!相具足如来见应有,彼王转轮如来有,彼故不相具足如来见应。此相非相,故如来见应。」 + +【06玄奘】善现!若以诸相具足观如来者,转轮圣王应是如来。是故不应以诸相具足观于如来。 + +【07义净】「妙生!若以具相观如来者,转轮圣王应是如来。是故不应以具相观于如来。 + +#8 須菩提白佛言:「世尊!如我解佛所說義,不應以三十二相觀如來。」 + +【00梵文】 āyuṣmān subhutirbhagavantametadavocat-yathāhaṁ bhagavato bhāṣitasyārthamājānāmi, na lakṣaṇasaṁpadā tathāgato draṣṭavyaḥ|| + +【01罗什】须菩提白佛言:「世尊!如我解佛所说义,不应以三十二相观如来。」 + +【02流支】(缺) + +【03留支】(缺) + +【04真谛】(缺) + +【05笈多】尔时,命者善实世尊边如是言:「如我,世尊!世尊说义解我,不相具足如来见应。」 + +【06玄奘】如是,应以诸相非相观于如来。」 + +【07义净】应以诸相非相观于如来。」 + +#8 爾時,世尊而說說偈言:「若以色見我,以音聲求我,是人行邪道,不能見如來。 + +【00梵文】 atha khalu bhagavāṁstasyāṁ velāyāmime gāthe abhāṣata-ye māṁ rūpeṇa cādrākṣur ye māṁ ghoṣeṇa cānvaguḥ|mithyāprahāṇaprasṛtā na māṁ drakṣyanti te janāḥ||1||dharmato buddho draṣṭavyo dharmakāyā hi nāyakāḥ|dharmatā ca na vijñeyā na sā śakyā vijānitum||2||26|| + +【01罗什】尔时,世尊而说偈言:若以色见我  以音声求我  是人行邪道  不能见如来 + +【02流支】尔时,世尊而说偈言:若以色见我 以音声求我 是人行邪道 不能见如来 彼如来妙体 即法身诸佛 法体不可见 彼识不能知 + +【03留支】是时,世尊而说偈言:若以色见我  以音声求我  是人行邪道  不应得见我 由法应见佛  调御法为身  此法非识境  法如深难见 + +【04真谛】是时,世尊而说偈言:若以色见我 以音声求我 是人行邪道 不应得见我 由法应见佛 调御法为身 此法非识境 法如深难见 + +【05笈多】尔时,世尊彼时此伽陀说:若我色见 若我声求 邪解脱行不我见彼人 法体佛见应 法身彼如来 法体及不识 彼不能知 + +【06玄奘】尔时,世尊而说颂曰:诸以色观我 以音声寻我 彼生履邪断 不能当见我 应观佛法性 即导师法身 法性非所识 故彼不能了 + +【07义净】尔时,世尊而说颂曰:若以色见我 以音声求我 是人起邪觐 不能当见我 应观佛法性 即导师法身 法性非所识 故彼不能了 + +#8 須菩提!汝若作是念:『如來不以具足相故得阿耨多羅三藐三菩提。』 + +【00梵文】 tatkiṁ manyase subhūte lakṣaṇasaṁpadā tathāgatena anuttarā samyaksaṁbodhirabhisaṁbuddhā? + +【01罗什】「须菩提!汝若作是念:如来不以具足相故,得阿耨多罗三藐三菩提, + +【02流支】「须菩提!于意云何?如来可以相成就得阿耨多罗三藐三菩提? + +【03留支】「须菩提!汝意云何?如来可以具足相得阿耨多罗三藐三菩提不? + +【04真谛】「须菩提!汝意云何?如来可以具足相得阿耨多罗三藐三菩提不? + +【05笈多】「彼何意念?善实!相具足,如来无上正遍知证觉? + +【06玄奘】佛告善现:「于汝意云何?如来、应、正等觉,以诸相具足,现证无上正等觉耶? + +【07义净】(缺) + +#8 須菩提!莫作是念:『如來不以具足相故得阿耨多羅三藐三菩提。』 + +【00梵文】 na khalu punaste subhūte evaṁ draṣṭavyam| tatkasya hetoḥ ? na hi subhūte lakṣaṇasaṁpadā tathāgatena anuttarā samyaksaṁbodhirabhisaṁbuddhā syāt| + +【01罗什】须菩提!莫作是念:如来不以具足相故,得阿耨多罗三藐三菩提。 + +【02流支】须菩提!莫作是念:如来以相成就得阿耨多罗三藐三菩提。 + +【03留支】须菩提!汝今不应作如是见:如来以具足相得阿耨多罗三藐三菩提。何以故?须菩提!如来不?由具足相得阿耨多罗三藐三菩提。 + +【04真谛】须菩提!汝今不应作如是见:如来以具足相得阿耨多罗三藐三菩提。何以故?须菩提!如来不由具足相得阿耨多罗三藐三菩提。 + +【05笈多】不,复,彼,善实!如是见应。彼何所因?不,善实!相具足,如来无上正遍知证觉。 + +【06玄奘】善现!汝今勿当作如是观。何以故?善现!如来、应、正等觉,不以诸相具足,现证无上正等菩提。 + +【07义净】(缺) + +#7 戊五、为不住生死涅槃故二 + +#8 己一、不住涅槃 + +#9 須菩提!汝若作是念,發阿耨多羅三藐三菩提心者,說諸法斷滅。 + +【00梵文】 na khalu punaste subhūte kaścidevaṁ vadet-bodhisattvayānasaṁprasthitaiḥ kasyaciddharmasya vināśaḥ prajñaptaḥ ucchedo veti| + +【01罗什】须菩提!若作是念:发阿耨多罗三藐三菩提者,说诸法断灭相, + +【02流支】须菩提!汝若作是念:菩萨发阿耨多罗三藐三菩提心者,说诸法断灭相, + +【03留支】须菩提!若汝作是念:如来有是说:行菩萨乘人,有法可灭, + +【04真谛】须菩提!若汝作是念:如来有是说:『行菩萨乘人,有法可灭』, + +【05笈多】复时,彼,善实!有如是语:『菩萨乘发行,有法破灭施设断。』 + +【06玄奘】复次,善现!如是发趣菩萨乘者,颇施设少法,若坏、若断耶? + +【07义净】「妙生!诸有发趣菩萨乘者,其所有法是断灭不? + +#9 莫作是念!何以故?發阿耨多羅三藐三菩提心者,於法不說斷滅相。 + +【00梵文】 na khalu punaste subhūte evaṁ draṣṭavyam| tatkasya hetoḥ ? na bodhisattvayānasaṁprasthitaiḥ kasyaciddharmasya vināśaḥ prajñapto nocchedaḥ||27|| + +【01罗什】莫作是念。何以故?发阿耨多罗三藐三菩提心者,于法不说断灭相。」 + +【02流支】须菩提!莫作是念。何以故?菩萨发阿耨多罗三藐三菩提心者,不说诸法断灭相。」 + +【03留支】须菩提!汝莫作此见。何以故?如来不说:行菩萨乘人,有法可灭,及以永断。」 + +【04真谛】须菩提!汝莫作此见。何以故?如来不说:『行菩萨乘人,有法可灭,及以永断。』」 + +【05笈多】不,复,善实!如是见应。彼何所因?不,菩萨乘发行,有法破灭施设不断。」 + +【06玄奘】善现!汝今勿当作如是观。诸有发趣菩萨乘者,终不施设少法,若坏、若断。」 + +【07义净】汝莫作是见。何以故?趣菩萨乘者,其法不失。」 + +#8 己二、不住生死 + +#9 須菩提!若菩薩以滿恆河沙等世界七寶持用布施,若復有人知一切法無我得成於忍,此菩薩勝前菩薩所得功德。何以故?須菩提!以諸菩薩不受福德故。」 + +【00梵文】 yaśca khalu punaḥ subhūte kulaputro vā kuladuhitā vā gaṅgānadīvālukāsamāllokadhātūn saptaratnaparipūrṇaṁ kṛtvā tathāgatebhyo'rhadbhayaḥ samyaksaṁbuddhebhyo dānaṁ dadyāt, yaśca bodhisattvo nirātmakeṣvanutpattikeṣu dharmeṣu kṣāntiṁ pratilabhate, ayameva tatonidānaṁ bahutaraṁ puṇyaskandhaṁ prasavedaprameyamasaṁkhyeyam| na khalu punaḥ subhūte bodhisattvena mahāsattvena puṇyaskandhaḥ parigrahītavyaḥ| + +【01罗什】「须菩提!若菩萨以满恒河沙等世界七宝布施;若复有人,知一切法无我,得成于忍,此菩萨胜前菩萨所得功德。须菩提!以诸菩萨不受福德故。」 + +【02流支】「须菩提!若善男子、善女人以满恒河沙等世界七宝,持用布施;若有菩萨知一切法无我,得无生法忍,此功德胜前所得福德。须菩提!以诸菩萨不取福德故。」 + +【03留支】「须菩提!若有善男子、善女人,以满恒伽沙等世界七宝,持用布施;若有菩萨于一切法,无我、无生,得无生忍,以是因缘所得福德,最多于彼。须菩提!行大乘人不应执取福德之聚。」 + +【04真谛】「须菩提!若有善男子、善女人,以满恒伽沙等世界七宝,持用布施;若有菩萨于一切法,无我、无生,得无生忍,以是因缘所得福德,最多于彼。须菩提!行大乘人不应执取福德之聚。」 + +【05笈多】「若复,善实!善家子、若善家女,若恒伽河沙等世界,七宝满作已,施与;若菩萨摩诃萨无我无生中法中忍得,此,如是彼缘,多过福聚生。不,复,善实!菩萨福聚取应?」 + +【06玄奘】「复次,善现!若善男子或善女人,以殑伽河沙等世界,盛满七宝,奉施如来、应、正等觉;若有菩萨于诸无我、无生法中,获得堪忍,由是因缘所生福聚,甚多于彼。复次,善现!菩萨不应摄受福聚。」 + +【07义净】「妙生!若有男子、女人,以满弶伽河沙世界七宝布施;若复有人,于无我理不生法中得忍解者,所生福聚,极多于彼无量无数。妙生!菩萨不应取其福聚。」 + +#9 須菩提白佛言:「世尊!云何菩薩不受福德?」 + +【00梵文】 āyuṣmān subhūtirāha- nanu bhagavan bodhisattvena puṇyaskandhaḥ parigrahītavyaḥ ? + +【01罗什】须菩提白佛言:「世尊!云何菩萨不受福德?」 + +【02流支】须菩提白佛言:「世尊!菩萨不取福德?」 + +【03留支】须菩提言:「此福德聚可摄持不?」 + +【04真谛】须菩提言:「此福德聚可摄持不?」 + +【05笈多】命者善实言:「不,世尊!菩萨福聚取应。」 + +【06玄奘】具寿善现即白佛言:「世尊!云何菩萨不应摄受福聚?」 + +【07义净】妙生言:「菩萨岂不取福聚耶?」 + +#9 「須菩提!菩薩所作福德,不應貪著,是故說不受福德。 + +【00梵文】 bhagavānāha-parigrahītavyaḥ subhūte no grahītavyaḥ| tenocyate parigrahītavya iti||28|| + +【01罗什】「须菩提!菩萨所作福德,不应贪着,是故说不受福德。」 + +【02流支】佛言:「须菩提!菩萨受福德,不取福德。是故菩萨取福德。」 + +【03留支】佛言:「须菩提!此福德聚可得摄持,不可执取,是故说此福德之聚应可摄持。」 + +【04真谛】佛言:「须菩提!此福德聚可得摄持,不可执取,是故说此福德之聚应可摄持。」 + +【05笈多】世尊言:「取应,善实!不取应,彼故说名取应。」 + +【06玄奘】佛言:「善现!所应摄受,不应摄受,是故说名所应摄受。」 + +【07义净】佛告妙生:「是应正取,不应越取,是故说取。」 + +#7 戊六、为行住净三 + +#8 己一、为威仪行住二 + +#9 須菩提!若有人言:『如來若來、若去、若坐、若臥。』是人不解我所說義。 + +【00梵文】 api tu khalu punaḥ subhūte yaḥ kaścidevaṁ vadet-tathāgato gacchati vā āgacchati vā tiṣṭhati vā niṣīdati vā, śayyāṁ vā kalpayati, na me subhūte (sa) bhāṣitasyārthamājānāti| + +【01罗什】「须菩提!若有人言:『如来若来、若去、若坐、若卧』,是人不解我所说义。 + +【02流支】「须菩提!若有人言:『如来若去、若来、若住、若坐、若卧』,是人不解我所说义。 + +【03留支】「须菩提!若有人言:『如来行、住、坐、卧』,是人不解我所说义。」 + +【04真谛】「须菩提!若有人言:『如来行、住、坐、卧』,是人不解我所说义。 + +【05笈多】「虽然,复次时,善实!若有如是语:『如来去、若不去、若住、若坐、若卧、若如法』,不我,善实!说义解。 + +【06玄奘】「复次,善现!若有说言:『如来若去、若来、若住、若坐、若卧』,是人不解我所说义。 + +【07义净】「妙生!如有说言:『如来若来、若去、若坐、若卧』者,是人不解我所说义。 + +#9 何以故?如來者,無所從來,亦無所去,故名如來。 + +【00梵文】 tatkasya hetoḥ ? tathāgata iti subhūte ucyate na kvacidgato na kutaścidāgataḥ| tenocyate tathāgato'rhan samyaksaṁbuddha iti||29|| + +【01罗什】何以故?如来者,无所从来,亦无所去,故名如来。」 + +【02流支】何以故?如来者,无所至去,无所从来,故名如来。」 + +【03留支】何以故?须菩提!如来者,无所行去,无所从来,是故说名如来、应供、正遍觉知。」 + +【04真谛】何以故?须菩提!如来者,无所行去,亦无所从来,是故名如来、应供、正遍觉知。」 + +【05笈多】彼何所因?如来者,善实!说名无所去,无所来,彼故说名如来、应、正遍知者。」 + +【06玄奘】何以故?善现!言如来者,即是真实真如增语。都无所去、无所从来,故名如来、应、正等觉。」 + +【07义净】何以故?妙生!都无去来,故名如来。」 + +#8 己二、为破名色身自在行住故二 + +#9 庚一、破色身影像二 + +#10 辛一、细作方便 + +#11 須菩提!若善男子、善女人以三千大千世界碎為微塵,於意云何?是微塵眾寧為多不?」 + +【00梵文】 yaśca khalu punaḥ subhūte kulaputro vā kuladuhitā vā yāvanti trisāhasramahāsāhasre lokadhātau pṛthivīrajāṁsi, tāvatāṁ lokadhātūnāmevaṁrūpaṁ maṣiṁ kuryāt yāvadevamasaṁkhyeyena vīryeṇa tadyathāpi nāma paramāṇusaṁcayaḥ, tatkiṁ manyase subhūte-api nu bahuḥ sa paramāṇusaṁcayo bhavet ? + +【01罗什】「须菩提!若善男子、善女人,以三千大千世界,碎为微尘。于意云何?是微尘众,宁为多不?」 + +【02流支】「须菩提!若善男子、善女人,以三千大千世界微尘,复以尔许微尘世界,碎为微尘阿僧祇。须菩提!于意云何?是微尘众,宁为多不?」 + +【03留支】「须菩提!若善男子、善女人,以三千大千世界地大微尘,烧成灰末,合为墨丸,如微尘聚。须菩提!汝意云何?是邻虚聚,宁为多不?」 + +【04真谛】「须菩提!若善男子、善女人,以三千大千世界地大微尘,烧成灰末,合为墨丸,如微尘聚,须菩提!汝意云何?是邻虚聚宁为多不?」 + +【05笈多】「若复,善实!善家子、若善家女,若所有三千大千世界地尘,彼如是色类墨作已,乃至如是不可数,譬如最小聚。彼何意念?善实!虽然,彼多最小聚有?」 + +【06玄奘】「复次,善现!若善男子或善女人,乃至三千大千世界大地极微尘量等世界,即以如是无数世界色像为墨,如极微聚,善现!于汝意云何?是极微聚,宁为多不?」 + +【07义净】「妙生!若有男子、女人,以三千大千世界土地,碎为墨尘,妙生!于汝意云何?是极微聚,宁为多不?」 + +#11 須菩提言:「甚多,世尊! + +【00梵文】 subhūtirāha-evametadbhagavan, evametatsugata| bahuḥ sa paramāṇusaṁcayo bhavet| tatkasya hetoḥ ? sacedbhagavan bahuḥ paramāṇusaṁcayo'bhaviṣyat, na bhagavānavakṣyat-paramāṇusaṁcaya iti| + +【01罗什】「甚多,世尊!何以故?若是微尘众实有者,佛则不说是微尘众。 + +【02流支】须菩提言:「彼微尘众甚多,世尊!何以故?若是微尘众实有者,佛则不说是微尘众。 + +【03留支】须菩提言:「彼邻虚聚甚多,世尊!何以故?世尊!若邻虚聚是实有者,世尊则不应说名邻虚聚。 + +【04真谛】须菩提言:「彼邻虚聚甚多,世尊!何以故?世尊!若邻虚聚是实有者,世尊则不应说名邻虚聚。 + +【05笈多】善实言:「如是,如是。世尊!多彼最小聚有。彼何所因?彼,世尊!聚有,不世尊说最小聚者。, + +【06玄奘】善现答言:「是极微聚甚多,世尊!甚多,善逝!何以故?世尊!若极微聚是实有者,佛不应说为极微聚。 + +【07义净】妙生言:「甚多,世尊!何以故?若聚性是实者,如来不说为极微聚、极微聚。 + +#10 辛二、不念方便 + +何以故?若是微塵眾實有者,佛則不說是微塵眾。 + +#11 所以者何?佛說微塵眾,則非微塵眾,是名微塵眾。 + +【00梵文】 tatkasya hetoḥ ? yo'sau bhagavan paramāṇusaṁcayastathāgatena bhāṣitaḥ, asaṁcayaḥ sa tathāgatena bhāṣitaḥ| tenocyate paramāṇusaṁcaya iti| + +【01罗什】所以者何?佛说微尘众,则非微尘众,是名微尘众。 + +【02流支】何以故?佛说微尘众,则非微尘众,是故佛说微尘众。 + +【03留支】何以故?世尊!所说此邻虚聚,如来说非邻虚聚,是故说名为邻虚聚。 + +【04真谛】何以故?世尊!所说此邻虚聚,如来说非邻虚聚。是故说名为邻虚聚。 + +【05笈多】彼何所因?若彼,世尊!最小聚说,非聚彼如来说。彼故说名最小聚者。 + +【06玄奘】所以者何?如来说极微聚,即为非聚,故名极微聚。 + +【07义净】何以故?极微聚者,世尊说为非极微聚。故名极微聚。 + +#9 庚二、破名身影像不念方便 + +#10 世尊!如來所說三千大千世界,即非世界,是名世界。 + +【00梵文】 yaśca tathāgatena bhāṣitastrisāhasramahāsāhasro lokadhāturiti, adhātuḥ sa tathāgatena bhāṣitaḥ| tenocyate trisāhasramahāsāhasro lokadhāturiti| + +【01罗什】世尊!如来所说三千大千世界,则非世界,是名世界。 + +【02流支】世尊!如来所说三千大千世界,则非世界,是故佛说三千大千世界。 + +【03留支】如来所说三千大千世界,则非世界,故说三千大千世界。 + +【04真谛】如来所说三千大千世界,则非世界。故说三千大千世界。 + +【05笈多】若及如来说三千大千世界者,非界如来说。彼故说名三千大千世界者。 + +【06玄奘】如来说三千大千世界,即非世界,故名三千大千世界。 + +【07义净】世尊!如来所说三千大千世界,说为非世界。故名三千大千世界。 + +#10 何以故?若世界實有者,則是一合相。如來說一合相,則非一合相,是名一合相。」 + +【00梵文】 tatkasya hetoḥ ? sacedbhagavan lokadhāturabhaviṣyat, sa eva piṇḍagrāho'bhaviṣyat| yaścaiva piṇḍagrāhastathāgatena bhāṣitaḥ, agrāhaḥ sa tathāgatena bhāṣitaḥ| tenocyate piṇḍagrāha iti| + +【01罗什】何以故?若世界实有者,则是一合相。如来说一合相,则非一合相,是名一合相。」 + +【02流支】何以故?若世界实有者,则是一合相。如来说一合相,则非一合相,是故佛说一合相。」 + +【03留支】何以故?世尊!若执世界为实有者,是聚一执。此聚一执,如来说非执,故说聚一执。」 + +【04真谛】何以故?世尊!若执世界为实有者,是聚一执。此聚一执,如来说非执。故说聚一执。」 + +【05笈多】彼何所因?彼,世尊!界有,彼如是搏取有。若如是如来搏取说,非取彼如来说。彼故说名搏取者。」 + +【06玄奘】何以故?世尊!若世界是实有者,即为一合执。如来说一合执,即为非执,故名一合执。」 + +【07义净】何以故?若世界实有,如来则有聚执。佛说聚执者,说为非聚执。是故说为聚执。」 + +#10 「須菩提!一合相者,則是不可說,但凡夫之人貪著其事。 + +【00梵文】 bhagavānāha- piṇḍagrāhaścaiva subhūte avyavahāro'nabhilāpyaḥ| na sa dharmo nādharmaḥ| sa ca bālapṛthagjanairudgṛhītaḥ||30|| + +【01罗什】「须菩提!一合相者,则是不可说。但凡夫之人贪着其事。」 + +【02流支】佛言:「须菩提!一合相者,则是不可说,但凡夫之人贪着其事。」 + +【03留支】佛世尊言:「须菩提!此聚一执,但世言说。须菩提!是法非可言法,婴儿凡夫偏言所取。」 + +【04真谛】佛世尊言:「须菩提!此聚一执。但世言说。须菩提!是法非可言法。婴儿凡夫偏言所取。」 + +【05笈多】世尊言:「搏取如是,善实!不世俗语,不可说,非法、非非法,彼小儿凡夫生取。」 + +【06玄奘】佛言:「善现!此一合执不可言说,不可戏论。然彼一切愚夫异生,强执是法。」 + +【07义净】「妙生!此聚执者,是世言论,然其体性实无可说。但是愚夫异生之所妄执。」 + +#10 須菩提!若人言:『佛說我見、人見、眾生見、壽者見。』須菩提!於意云何?是人解我所說義不?」 + +【00梵文】 tatkasya hetoḥ ? yo hi kaścitsubhūte evaṁ vadet-ātmadṛṣṭistathāgatena bhāṣitā, sattvadṛṣṭirjīvadṛṣṭiḥ pudgaladṛṣṭistathāgatena bhāṣitā, api nu sa subhūte samyagvadamāno vadet ? + +【01罗什】「须菩提!若人言:『佛说我见、人见、众生见、寿者见』,须菩提!于意云何?是人解我所说义不?」 + +【02流支】「何以故?须菩提!若人如是言:『佛说我见、人见、众生见、寿者见』,须菩提!于意云何?是人所说为正语不?」 + +【03留支】「须菩提!若有人言:『如来说我见、众生见、寿者见、受者见』,须菩提!汝意云何?是人言说为正语不?」 + +【04真谛】「须菩提!若有人言:『如来说我见、众生见、寿者见、受者见』,须菩提!汝意云何?是人言说为正语不?」 + +【05笈多】「彼何所因?若此有,善实!如是说:『我见如来说,众生见、寿见、人见如来说』,虽然,彼,善实!正说语?」 + +【06玄奘】「何以故?善现!若作是言:『如来宣说我见、有情见、命者见、士夫见、补特伽罗见、意生见、摩纳婆见、作者、见受者见』,于汝意云何?如是所说为正语不?」 + +【07义净】「妙生!如有说云:『佛说我见、众生见、寿者见、更求趣见』者,是为正说、为不正耶?」 + +#10 「不也,世尊!是人不解如來所說義。何以故?世尊說我見、人見、眾生見、壽者見,即非我見、人見、眾生見、壽者見,是名我見、人見、眾生見、壽者見。」 + +【00梵文】 subhūtirāha-no hīdaṁ bhagavan, no hīdaṁ sugata, na samyagvadamāno vadet| tatkasya hetoḥ ? yā sā bhagavan ātmadṛṣṭistathāgatena bhāṣitā, adṛṣṭiḥ sā tathāgatena bhāṣitā| tenocyate ātmadṛṣṭiriti|| + +【01罗什】「世尊!是人不解如来所说义。何以故?世尊!说我见、人见、众生见、寿者见,即非我见、人见、众生见、寿者见,是名我见、人见、众生见、寿者见。」 + +【02流支】须菩提言:「不也,世尊!何以故?世尊!如来说我见、人见、众生见、寿者见,即非我见、人见、众生见、寿者见,是名我见、人见、众生见、寿者见。」 + +【03留支】须菩提言:「不也,世尊!不也,修伽陀!何以故?如来所说我见、众生见、寿者见、受者见,即是非见是故说我见、众生见、寿者见、受者见。」 + +【04真谛】须菩提言:「不正,世尊!不正,修伽陀!何以故?如来所说我见、众生见、寿者见、受者见,即是非见,是故说我见、众生见、寿者见、受者见。」 + +【05笈多】善实言:「不如此,世尊!不如此,善逝!彼何所因?若彼,世尊!我见如来说,非见彼如来说,彼故说名我见者。」 + +【06玄奘】善现答言:「不也,世尊!不也,善逝!如是所说非为正语。所以者何?如来所说我见、有情见、命者见、士夫见、补特伽罗见、意生见、摩纳婆见、作者见、受者见,即为非见,故名我见,乃至受者见。」 + +【07义净】妙生言:「不尔,世尊!何以故?若有我见如来说者,即是非见,故名我见。」 + +#10 「須菩提!發阿耨多羅三藐三菩提心者,於一切法,應如是知,如是見,如是信解, + +【00梵文】 bhagavānāha-evaṁ hi subhūte bodhisattvayānasaṁprasthitena sarvadharmā jñātavyā draṣṭavyā adhimoktavyāḥ| + +【01罗什】「须菩提!发阿耨多罗三藐三菩提心者,于一切法,应如是知,如是见,如是信解, + +【02流支】「须菩提!菩萨发阿耨多罗三藐三菩提心者,于一切法应如是知,如是见,如是信, + +【03留支】「须菩提!若人行菩萨乘,如是应知、应见、应信一切诸法。 + +【04真谛】「须菩提!若人行菩萨乘,如是应知、应见、应信一切诸法, + +【05笈多】世尊言:「如是此,善实!菩萨乘发行,一切法知应、见应、信解应。 + +【06玄奘】佛告善现:「诸有发趣菩萨乘者,于一切法应如是知,应如是见,应如是信解, + +【07义净】「妙生!诸有发趣菩萨乘者,于一切法应如是知,如是见,如是解。 + +#10 不生法相。須菩提!所言法相者,如來說即非法相,是名法相。 + +【00梵文】 tathāca jñātavyā draṣṭavyā adhimoktavyāḥ, yathā na dharmasaṁjñāyāmapi pratyupatiṣṭhennādharmasaṁjñāyām| tatkasya hetoḥ ? dharmasaṁjñā dharmasaṁjñeti subhūte asaṁjñaiṣā tathāgatena bhāṣitā| tenocyate dharmasaṁjñeti||31|| + +【01罗什】不生法相。须菩提!所言法相者,如来说即非法相,是名法相。」 + +【02流支】如是不住法相。何以故?须菩提!所言法相、法相者,如来说即非法相,是名法相。」 + +【03留支】如是应修,为令法想不得生起。何以故?须菩提!是法想、法想者,如来说即非想。故说法想。」 + +【04真谛】如是应修,为令法想不得生起。何以故?须菩提!是法想、法想者,如来说即非想,故说法想。」 + +【05笈多】如信解,如无法想亦住。彼何所因?法想、法想者,善实!非想此如来说,彼故说名法想者。」 + +【06玄奘】如是不住法想。何以故?善现!法想、法想者,如来说为非想,是故如来说名法想、法想。」 + +【07义净】如是解者,乃至法相亦无所住。何以故?妙生!法想、法想者,如来说为非想,故名法想、法想。」 + +#8 己三、为不染行住二 + +#9 庚一、为说法不染二 + +#10 須菩提!若有人以滿無量阿僧祇世界七寶持用布施,若有善男子、善女人發菩提心者,持於此經,乃至四句偈等,受持、讀誦、為人演說,其福勝彼。 + +【00梵文】 yaśca khalu punaḥ subhūte bodhisattvo mahāsattvo'prameyānasaṁkhyeyāṁllokadhātūn saptaratnaparipūrṇaṁ kṛtvā tathāgatebhyo'rhadbhayaḥ samyaksaṁbuddhebhyo dānaṁ dadyāt, yaśca kulaputro vā kuladuhitā vā itaḥ prajñāpāramitāyā dharmaparyāyādantaśaścatuṣpādikāmapi gāthāmudgṛhya dhārayeddeśayedvācayet paryavāpnuyāt, parebhyaśca vistareṇa saṁprakāśayet, ayameva tatonidānaṁ bahutaraṁ puṇyaskandhaṁ prasunuyādaprameyam asaṁkhyeyam| + +【01罗什】「须菩提!若有人以满无量阿僧祇世界七宝,持用布施;若有善男子、善女人发菩萨心者,持于此经,乃至四句偈等,受持、读诵,为人演说,其福胜彼。」 + +【02流支】「须菩提!若有菩萨摩诃萨以满无量阿僧祇世界七宝,持用布施;若有善男子、善女人发菩萨心者,于此《般若波罗蜜经》,乃至四句偈等,受持、读诵,为他人说,其福胜彼无量阿僧祇。」 + +【03留支】「须菩提!若有菩萨摩诃萨以满无数无量世界七宝,持用布施;若有善男子、善女人,从此《般若波罗蜜经》,乃至四句偈等,受持、读诵,教他修行,为他广说,是善男子、善女人,以是因缘所生福德,最多于彼无量无数。」 + +【04真谛】「须菩提!若有菩萨摩诃萨以满无数无量世界七宝,持用布施;若有善男子、善女人,从此《般若波罗蜜经》乃至四句偈等,受持、读诵,教他修行,为他广说,是善男子、善女人,以是因缘所生福德,最多于彼无量无数。」 + +【05笈多】「若复时,善实!菩萨摩诃萨,无量无数世界七宝满中作已,如来等、应等、正遍知等施与;若善家子、若善家女,若如是智慧彼岸到,乃至四句等偈,受持、分别、读诵,为他等及分别广说,此如是彼缘,多过福聚生,无量不可数。」 + +【06玄奘】「复次,善现!若菩萨摩诃萨以无量无数世界,盛满七宝,奉施如来、应、正等觉;若善男子或善女人,于此《般若波罗蜜多经》中,乃至四句伽他,受持、读诵,究竟通利,如理作意,及广为他宣说开示,由此因缘所生福聚,甚多于前无量无数。」 + +【07义净】「妙生!若有人以满无量无数世界七宝,持用布施;若复有人能于此经,乃至受持、读诵四句伽他,令其通利,广为他人正说其义,以是因缘所生福聚,极多于彼无量无数。」 + +#10 云何為人演說?不取於相,如如不動。 + +【00梵文】 kathaṁ ca saṁprakāśayet ?tadyathākāśe-tārakā timiraṁ dīpo māyāvaśyāya budbudam|svapnaṁ ca vidyudabhraṁ ca evaṁ draṣṭavya saṁskṛtam||tathā prakāśayet, tenocyate saṁprakāśayediti|| + +【01罗什】云何为人演说?不取于相,如如不动。何以故?一切有为法  如梦幻泡影  如露亦如电  应作如是观 + +【02流支】云何为人演说?而不名说,是名为说。而说偈言:一切有为法  如星翳灯幻  露泡梦电云  应作如是观 + +【03留支】云何显说此经?如无所显说,故言显说。如如不动,恒有说。应观有为法 如暗、翳、灯 幻、露、泡 梦、电、云 + +【04真谛】云何显说此经?如无所显说,故言显说。如如不动,恒有正说。应观有为法  如暗、翳、灯  幻、露、泡  梦、电、云 + +【05笈多】云何及广说?如不广说,彼故说名广说。星翳灯幻  露泡梦电  云见如是  此有为者 + +【06玄奘】云何为他宣说开示?如不为他宣说开示,故名为他宣说开示。尔时,世尊而说颂曰:诸和合所为  如星翳灯幻  露泡梦电云  应作如是观 + +【07义净】云何正说?无法可说,是名正说。尔时,世尊说伽他曰:一切有为法  如星翳灯幻  露泡梦电云  应作如是观 + +#9 庚二、为流转不染故 + +何以故?一切有為法,如夢幻泡影,如露亦如電,應作如是觀!」 + +#3 甲三、流通分 + +#4 佛說是經已,長老須菩提,及諸比丘、比丘尼、優婆塞、優婆夷,一切世間天、人、阿修羅,聞佛所說,皆大歡喜,信受奉行。 + +【00梵文】 idamavocadbhagavān āttamanāḥ| sthavirasubhūtiste ca bhikṣubhikṣuṇyupāsakopāsikāste ca bodhisattvāḥ sadevamānuṣāsuragandharvaśca loko bhagavato bhāṣitamabhyanandanniti||32|| + +【01罗什】佛说是经已。长老须菩提及诸比丘、比丘尼、优婆塞、优婆夷,一切世间天、人、阿修罗,闻佛所说,皆大欢喜,信受奉行。 + +【02流支】佛说是经已。长老须菩提及诸比丘、比丘尼、优婆塞、优婆夷、菩萨摩诃萨,一切世间天、人、阿修罗、干闼婆等,闻佛所说,皆大欢喜,信受奉行。 + +【03留支】尔时,世尊说是经已。大德须菩提心进欢喜,及诸比丘、比丘尼、优婆塞、优婆夷众、人、天、阿修罗等,一切世间,踊跃欢喜,信受奉行。 + +【04真谛】尔时,世尊说是经已。大德须菩提心进欢喜,及诸比丘、比丘尼、优婆塞、优婆夷众、人、天、阿修罗等,一切世间,踊跃欢喜,信受奉行。 + +#5 【05笈多】此语,世尊。欢喜,上座善实彼及比丘、比丘尼、优婆塞、优婆夷、彼天、人、阿修罗、干闼婆等,闻世尊说,大欢喜。 + +*归命一切佛菩萨海等 + +【06玄奘】时薄伽梵说是经已。尊者善现及诸苾刍、苾刍尼、邬波索迦、邬波斯迦,并诸世间天、人、阿素洛、健达缚等,闻薄伽梵所说经已,皆大欢喜,信受奉行。 + +【07义净】尔时,薄伽梵说是经已。具寿妙生及诸菩萨摩诃萨、苾刍、苾刍尼、邬波索迦、邬波斯迦,一切世间天、人、阿苏罗等,皆大欢喜,信受奉行。 + +#4 金剛般若波羅密經 + +【00梵文】 ||āryavajracchedikā bhagavatī prajñāpāramitā samāptā|| + +#5 【01罗什】《金刚般若波罗蜜经》 + +真言:那谟婆伽跋帝 钵喇坏 波罗弭多曳 唵伊利底 伊室利 输卢驮 毗舍耶 毗舍耶 莎婆诃 + +#5 【02流支】《金刚般若波罗蜜经》 + +《金刚般若》前后六翻。按《开元录》,此第二译。思溪经本,竟失其传。误将陈朝真谛三藏者重出,标作魏朝留支所译,大有径庭。今于留支三藏所翻论中,录出经本,刊版流通。庶期披阅,知有源矣。时至元辛已冬孟望日,南山普宁经局谨记。 + +【03留支】《金刚般若波罗蜜经》 + +#5 【04真谛】《金刚般若波罗蜜经》 + +西天竺优禅尼国三藏法师,号拘罗那他,此云真谛。梁武皇帝远遣迎接。经游闽越,暂憩梁安。太守王方赊乃勤心正法,性爱大乘,仍于建造伽蓝,请弘兹典。法师不乖本愿,受三请而默然。寻此旧经,甚有脱误。即于壬午年五月一日,重翻天竺定文,依婆薮论释。法师善解方言,无劳度语。瞩彼玄文,宣此奥说。对偕宗法师法虔等,并共笔受。至九月二十五日,文义都竟。经本一卷,文义十卷。法虔尔目,仍愿造一百部,流通供养,并讲之十徧。普愿众生,因此正说,速至涅槃,常流应化。 + +【05笈多】《金刚能断般若波罗蜜经》 + +【06玄奘】《大般若波罗蜜多经》卷第五百七十七 + +【07义净】佛说《能断金刚般若波罗蜜多经》 + diff --git a/down/README.md b/down/README.md index 34142bd..2bad3f2 100644 --- a/down/README.md +++ b/down/README.md @@ -4,10 +4,20 @@ #2 最新版本 -* 2020-05-26 -[kepan-docsify.4.11.3.10.zip](https://kepan.org/docsify/down/kepan-docsify.4.11.3.10.zip) +* 2020-11-02 +[kepan-docsify.4.11.6.1.zip](https://kepan.org/docsify/down/kepan-docsify.4.11.6.1.zip) - * Docsify 官方代码更新了一些内容,我跟进了这些更新,其它没做什么改动。这个月的主要精力用来开发[在线转换工具](https://kepan.org/convert) 。 + * Docsify 官方版本有了一些比较重大的更新,其中关键的一项,是吧它引用的 marked 库的版本,从 ^0.7 更新到了 ^1.1 ,也就是说,从此跟上了 marked 的最新版本。 + + * 因此我相应的对最新版的 marked 打了 patch 。而且呢过去修改的 marked 只支持 `#1, #2, #3` 这样的 kepan markdown 标题,不支持传统的 markdown 标题 `#, ##, ###` 了,在这次更新中,做了改进,让它同时可以支持传统的 markdown 标题和 kepan markdown 标题,这样有很多好处。 + + * 修改 marked 的方式,是 markdown 的标题格式本来有两种,一种叫 heading ,一种叫 lheading ,我给它加了第三种叫 kheading ,k 就是 kepan 的首字母,现在这三种标题格式可以共存。 + + * 但是 marked 还有个设置,就是 pedantic 模式,它是传统的、原始的 markdown 模式,我并没有把 kheading 的支持加入进去,所以如果 pedantic 模式打开时,不会支持 `#1, #2, #3` 格式的标题。 + + * 这次我对 kepan docsify 的侧边栏也做了关键变更,侧边栏的折叠和展开不再是跟随主页面全自动展开折叠,而是手动点击标题旁边的箭头来折叠和展开。今后 kepan docsify 的操作方式将会向 pdf 、 word 那种传统方式看齐。 + + * 目前来说 kepan docsify 还剩下一个关键的待解决问题,就是为用户记录每个节点的折叠和展开状态,甚至记录上次浏览到的位置。 #2 尚待改进 > * 2020-05-26 @@ -33,6 +43,11 @@ Kepan Docsify 的设计目标,是尽量把侧边栏的阅读体验,做得跟 #2 历史版本 +* 2020-05-26 +[kepan-docsify.4.11.3.10.zip](https://kepan.org/docsify/down/kepan-docsify.4.11.3.10.zip) + + * Docsify 官方代码更新了一些内容,我跟进了这些更新,其它没做什么改动。这个月的主要精力用来开发[在线转换工具](https://kepan.org/convert) 。 + * 2020-05-09 [kepan-docsify.4.11.3.9.zip](https://kepan.org/docsify/down/kepan-docsify.4.11.3.9.zip) diff --git a/index.htm b/index.htm index 1c69260..d03a17a 100644 --- a/index.htm +++ b/index.htm @@ -1,37 +1,53 @@ - + - - - - + + docsify + + + + + + -
- - - - +
+ + + + + + + + + \ No newline at end of file diff --git a/js/.nojekyll b/js/.nojekyll deleted file mode 100644 index e69de29..0000000 diff --git a/js/docsify.js b/js/docsify.js index 9f3d73d..6a3c8b3 100644 --- a/js/docsify.js +++ b/js/docsify.js @@ -70,129 +70,6 @@ return typeof obj === 'function'; } - var currentScript = document.currentScript; - - function config() { - var config = merge( - { - el: '#app', - repo: '', - maxLevel: 108, - subMaxLevel: 0, - loadSidebar: null, - loadNavbar: null, - homepage: 'README.md', - coverpage: '', - basePath: '', - auto2top: false, - name: '', - themeColor: '', - nameLink: window.location.pathname, - autoHeader: false, - executeScript: null, - noEmoji: false, - ga: '', - ext: '.md', - mergeNavbar: false, - formatUpdated: '', - // This config for the links inside markdown - externalLinkTarget: '_blank', - // This config for the corner - cornerExternalLinkTarget: '_blank', - externalLinkRel: 'noopener', - routerMode: 'hash', - noCompileLinks: [], - crossOriginLinks: [], - relativePath: false, - topMargin: 0, - }, - window.$docsify - ); - - var script = - currentScript || - [].slice - .call(document.getElementsByTagName('script')) - .filter(function (n) { return /docsify\./.test(n.src); })[0]; - - if (script) { - for (var prop in config) { - if (hasOwn.call(config, prop)) { - var val = script.getAttribute('data-' + hyphenate(prop)); - - if (isPrimitive(val)) { - config[prop] = val === '' ? true : val; - } - } - } - } - - if (config.loadSidebar === true) { - config.loadSidebar = '_sidebar' + config.ext; - } - - if (config.loadNavbar === true) { - config.loadNavbar = '_navbar' + config.ext; - } - - if (config.coverpage === true) { - config.coverpage = '_coverpage' + config.ext; - } - - if (config.repo === true) { - config.repo = ''; - } - - if (config.name === true) { - config.name = ''; - } - - window.$docsify = config; - - return config; - } - - var RGX = /([^{]*?)\w(?=\})/g; - - var MAP = { - YYYY: 'getFullYear', - YY: 'getYear', - MM: function (d) { - return d.getMonth() + 1; - }, - DD: 'getDate', - HH: 'getHours', - mm: 'getMinutes', - ss: 'getSeconds', - fff: 'getMilliseconds' - }; - - function tinydate (str, custom) { - var parts=[], offset=0; - - str.replace(RGX, function (key, _, idx) { - // save preceding string - parts.push(str.substring(offset, idx - 1)); - offset = idx += key.length + 1; - // save function - parts.push(custom && custom[key] || function (d) { - return ('00' + (typeof MAP[key] === 'string' ? d[MAP[key]]() : MAP[key](d))).slice(-key.length); - }); - }); - - if (offset !== str.length) { - parts.push(str.substring(offset)); - } - - return function (arg) { - var out='', i=0, d=arg||new Date(); - for (; i 80 ? 80 : num; - } else { - num = Math.floor((loaded / total) * 100); + if (config.loadSidebar === true) { + config.loadSidebar = '_sidebar' + config.ext; } - barEl.style.opacity = 1; - barEl.style.width = num >= 95 ? '100%' : num + '%'; + if (config.loadNavbar === true) { + config.loadNavbar = '_navbar' + config.ext; + } - if (num >= 95) { - clearTimeout(timeId); - // eslint-disable-next-line no-unused-vars - timeId = setTimeout(function (_) { - barEl.style.opacity = 0; - barEl.style.width = '0%'; - }, 200); + if (config.coverpage === true) { + config.coverpage = '_coverpage' + config.ext; } - } - /* eslint-disable no-unused-vars */ + if (config.repo === true) { + config.repo = ''; + } - var cache = {}; + if (config.name === true) { + config.name = ''; + } - /** - * Ajax GET implmentation - * @param {string} url Resource URL - * @param {boolean} [hasBar=false] Has progress bar - * @param {String[]} headers Array of headers - * @return {Promise} Promise response - */ - function get(url, hasBar, headers) { - if ( hasBar === void 0 ) hasBar = false; - if ( headers === void 0 ) headers = {}; + window.$docsify = config; - var xhr = new XMLHttpRequest(); - var on = function() { - xhr.addEventListener.apply(xhr, arguments); - }; + return config; + } - var cached = cache[url]; + var RGX = /([^{]*?)\w(?=\})/g; - if (cached) { - return { then: function (cb) { return cb(cached.content, cached.opt); }, abort: noop }; - } + var MAP = { + YYYY: 'getFullYear', + YY: 'getYear', + MM: function (d) { + return d.getMonth() + 1; + }, + DD: 'getDate', + HH: 'getHours', + mm: 'getMinutes', + ss: 'getSeconds', + fff: 'getMilliseconds' + }; - xhr.open('GET', url); - for (var i in headers) { - if (hasOwn.call(headers, i)) { - xhr.setRequestHeader(i, headers[i]); - } - } + function tinydate (str, custom) { + var parts=[], offset=0; - xhr.send(); + str.replace(RGX, function (key, _, idx) { + // save preceding string + parts.push(str.substring(offset, idx - 1)); + offset = idx += key.length + 1; + // save function + parts.push(custom && custom[key] || function (d) { + return ('00' + (typeof MAP[key] === 'string' ? d[MAP[key]]() : MAP[key](d))).slice(-key.length); + }); + }); - return { - then: function(success, error) { - if ( error === void 0 ) error = noop; + if (offset !== str.length) { + parts.push(str.substring(offset)); + } - if (hasBar) { - var id = setInterval( - function (_) { return progressbar({ - step: Math.floor(Math.random() * 5 + 1), - }); }, - 500 - ); + return function (arg) { + var out='', i=0, d=arg||new Date(); + for (; i= 400) { - error(target); - } else { - var result = (cache[url] = { - content: target.response, - opt: { - updatedAt: xhr.getResponseHeader('last-modified'), - }, - }); + var hasOwnProperty = Object.hasOwnProperty, + setPrototypeOf = Object.setPrototypeOf, + isFrozen = Object.isFrozen; + var freeze = Object.freeze, + seal = Object.seal, + create$1 = Object.create; // eslint-disable-line import/no-mutable-exports - success(result.content, result.opt); - } - }); - }, - abort: function (_) { return xhr.readyState !== 4 && xhr.abort(); }, + var _ref = typeof Reflect !== 'undefined' && Reflect, + apply = _ref.apply, + construct = _ref.construct; + + if (!apply) { + apply = function apply(fun, thisValue, args) { + return fun.apply(thisValue, args); }; } - function replaceVar(block, color) { - block.innerHTML = block.innerHTML.replace( - /var\(\s*--theme-color.*?\)/g, - color - ); + if (!freeze) { + freeze = function freeze(x) { + return x; + }; } - function cssVars(color) { - // Variable support - if (window.CSS && window.CSS.supports && window.CSS.supports('(--v:red)')) { - return; - } + if (!seal) { + seal = function seal(x) { + return x; + }; + } - var styleBlocks = findAll('style:not(.inserted),link'); - [].forEach.call(styleBlocks, function (block) { - if (block.nodeName === 'STYLE') { - replaceVar(block, color); - } else if (block.nodeName === 'LINK') { - var href = block.getAttribute('href'); + if (!construct) { + construct = function construct(Func, args) { + return new (Function.prototype.bind.apply(Func, [null].concat(_toConsumableArray(args))))(); + }; + } - if (!/\.css$/.test(href)) { - return; - } + var arrayForEach = unapply(Array.prototype.forEach); + var arrayPop = unapply(Array.prototype.pop); + var arrayPush = unapply(Array.prototype.push); - get(href).then(function (res) { - var style = create('style', res); + var stringToLowerCase = unapply(String.prototype.toLowerCase); + var stringMatch = unapply(String.prototype.match); + var stringReplace = unapply(String.prototype.replace); + var stringIndexOf = unapply(String.prototype.indexOf); + var stringTrim = unapply(String.prototype.trim); - head.appendChild(style); - replaceVar(style, color); - }); + var regExpTest = unapply(RegExp.prototype.test); + + var typeErrorCreate = unconstruct(TypeError); + + function unapply(func) { + return function (thisArg) { + var arguments$1 = arguments; + + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments$1[_key]; } - }); + + return apply(func, thisArg, args); + }; } - function initLifecycle(vm) { - var hooks = [ - 'init', - 'mounted', - 'beforeEach', - 'afterEach', - 'doneEach', - 'ready' ]; + function unconstruct(func) { + return function () { + var arguments$1 = arguments; - vm._hooks = {}; - vm._lifecycle = {}; - hooks.forEach(function (hook) { - var arr = (vm._hooks[hook] = []); - vm._lifecycle[hook] = function (fn) { return arr.push(fn); }; - }); + for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments$1[_key2]; + } + + return construct(func, args); + }; } - function callHook(vm, hook, data, next) { - if ( next === void 0 ) next = noop; + /* Add properties to a lookup table */ + function addToSet(set, array) { + if (setPrototypeOf) { + // Make 'in' and truthy checks like Boolean(set.constructor) + // independent of any properties defined on Object.prototype. + // Prevent prototype setters from intercepting set as a this value. + setPrototypeOf(set, null); + } - var queue = vm._hooks[hook]; + var l = array.length; + while (l--) { + var element = array[l]; + if (typeof element === 'string') { + var lcElement = stringToLowerCase(element); + if (lcElement !== element) { + // Config presets (e.g. tags.js, attrs.js) are immutable. + if (!isFrozen(array)) { + array[l] = lcElement; + } - var step = function(index) { - var hook = queue[index]; - if (index >= queue.length) { - next(data); - } else if (typeof hook === 'function') { - if (hook.length === 2) { - hook(data, function (result) { - data = result; - step(index + 1); - }); - } else { - var result = hook(data); - data = result === undefined ? data : result; - step(index + 1); + element = lcElement; } - } else { - step(index + 1); } - }; - step(0); - } + set[element] = true; + } - /* eslint-disable no-unused-vars */ + return set; + } - var title = $.title; - /** - * Toggle button - * @param {Element} el Button to be toggled - * @void - */ - function btn(el) { - var toggle = function (_) { return body.classList.toggle('close'); }; + /* Shallow clone an object */ + function clone(object) { + var newObject = create$1(null); - el = getNode(el); - if (el === null || el === undefined) { - return; + var property = void 0; + for (property in object) { + if (apply(hasOwnProperty, object, [property])) { + newObject[property] = object[property]; + } } - on(el, 'click', function (e) { - e.stopPropagation(); - toggle(); - }); - - isMobile && - on( - body, - 'click', - function (_) { return body.classList.contains('close') && toggle(); } - ); + return newObject; } - function collapse(el) { - el = getNode(el); - if (el === null || el === undefined) { - return; - } + var html = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); - on(el, 'click', function (ref) { - var target = ref.target; + // SVG + var svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'audio', 'canvas', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'video', 'view', 'vkern']); - if ( - target.nodeName === 'A' && - target.nextSibling && - target.nextSibling.classList && - target.nextSibling.classList.contains('app-sub-sidebar') - ) { - toggleClass(target.parentNode, 'collapse'); - } else if ( - target.nodeName === 'SPAN' && - target.nextSibling && - target.nextSibling.classList.contains('section-link') - ) { - toggleClass(target, 'change'); + var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); - var expand = target.nextSibling.nextSibling; - if (expand && expand.nodeName === 'UL') { - toggleClass(expand, 'expand'); - } - } - }); - } + var mathMl = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']); - function sticky() { - var cover = getNode('section.cover'); - if (!cover) { - return; - } + var text = freeze(['#text']); - var coverHeight = cover.getBoundingClientRect().height; + var html$1 = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns']); - if (window.pageYOffset >= coverHeight || cover.classList.contains('hidden')) { - toggleClass(body, 'add', 'sticky'); - } else { - toggleClass(body, 'remove', 'sticky'); - } - } + var svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']); + + var mathMl$1 = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']); + + var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']); + + // eslint-disable-next-line unicorn/better-regex + var MUSTACHE_EXPR = seal(/\{\{[\s\S]*|[\s\S]*\}\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode + var ERB_EXPR = seal(/<%[\s\S]*|[\s\S]*%>/gm); + var DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); // eslint-disable-line no-useless-escape + var ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape + var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape + ); + var IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i); + var ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex + ); + + var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + + function _toConsumableArray$1(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } + + var getGlobal = function getGlobal() { + return typeof window === 'undefined' ? null : window; + }; /** - * Get and active link - * @param {Object} router Router - * @param {String|Element} el Target element - * @param {Boolean} isParent Active parent - * @param {Boolean} autoTitle Automatically set title - * @return {Element} Active element + * Creates a no-op policy for internal use only. + * Don't export this function outside this module! + * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory. + * @param {Document} document The document object (to determine policy name suffix) + * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types + * are not supported). */ - function getAndActive(router, el, isParent, autoTitle) { - el = getNode(el); - var links = []; - if (el !== null && el !== undefined) { - links = findAll(el, 'a'); + var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) { + if ((typeof trustedTypes === 'undefined' ? 'undefined' : _typeof(trustedTypes)) !== 'object' || typeof trustedTypes.createPolicy !== 'function') { + return null; } - var hash = decodeURI(router.toURL(router.getCurrentPath())); - var target; + // Allow the callers to control the unique policy name + // by adding a data-tt-policy-suffix to the script element with the DOMPurify. + // Policy creation with duplicate names throws in Trusted Types. + var suffix = null; + var ATTR_NAME = 'data-tt-policy-suffix'; + if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) { + suffix = document.currentScript.getAttribute(ATTR_NAME); + } - links - .sort(function (a, b) { return b.href.length - a.href.length; }) - .forEach(function (a) { - var href = a.getAttribute('href'); - var node = isParent ? a.parentNode : a; + var policyName = 'dompurify' + (suffix ? '#' + suffix : ''); - if (hash.indexOf(href) === 0 && !target) { - target = a; - toggleClass(node, 'add', 'active'); - } else { - toggleClass(node, 'remove', 'active'); + try { + return trustedTypes.createPolicy(policyName, { + createHTML: function createHTML(html$$1) { + return html$$1; } }); - - if (autoTitle) { - $.title = target - ? target.title || ((target.innerText) + " - " + title) - : title; + } catch (_) { + // Policy creation failed (most likely another DOMPurify script has + // already run). Skip creating the policy, as this will only cause errors + // if TT are enforced. + console.warn('TrustedTypes policy ' + policyName + ' could not be created.'); + return null; } + }; - return target; - } + function createDOMPurify() { + var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal(); - var decode = decodeURIComponent; - var encode = encodeURIComponent; + var DOMPurify = function DOMPurify(root) { + return createDOMPurify(root); + }; - function parseQuery(query) { - var res = {}; + /** + * Version label, exposed for easier checks + * if DOMPurify is up to date or not + */ + DOMPurify.version = '2.1.1'; - query = query.trim().replace(/^(\?|#|&)/, ''); + /** + * Array of elements that DOMPurify removed during sanitation. + * Empty if nothing was removed. + */ + DOMPurify.removed = []; - if (!query) { - return res; + if (!window || !window.document || window.document.nodeType !== 9) { + // Not running in a browser, provide a factory function + // so that you can pass your own Window + DOMPurify.isSupported = false; + + return DOMPurify; } - // Simple parse - query.split('&').forEach(function(param) { - var parts = param.replace(/\+/g, ' ').split('='); + var originalDocument = window.document; + + var document = window.document; + var DocumentFragment = window.DocumentFragment, + HTMLTemplateElement = window.HTMLTemplateElement, + Node = window.Node, + NodeFilter = window.NodeFilter, + _window$NamedNodeMap = window.NamedNodeMap, + NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap, + Text = window.Text, + Comment = window.Comment, + DOMParser = window.DOMParser, + trustedTypes = window.trustedTypes; + + // As per issue #47, the web-components registry is inherited by a + // new document created via createHTMLDocument. As per the spec + // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries) + // a new empty registry is used when creating a template contents owner + // document, so we use that as our parent document to ensure nothing + // is inherited. + + if (typeof HTMLTemplateElement === 'function') { + var template = document.createElement('template'); + if (template.content && template.content.ownerDocument) { + document = template.content.ownerDocument; + } + } - res[parts[0]] = parts[1] && decode(parts[1]); - }); + var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument); + var emptyHTML = trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML('') : ''; - return res; - } + var _document = document, + implementation = _document.implementation, + createNodeIterator = _document.createNodeIterator, + getElementsByTagName = _document.getElementsByTagName, + createDocumentFragment = _document.createDocumentFragment; + var importNode = originalDocument.importNode; - function stringifyQuery(obj, ignores) { - if ( ignores === void 0 ) ignores = []; - var qs = []; + var documentMode = {}; + try { + documentMode = clone(document).documentMode ? document.documentMode : {}; + } catch (_) {} - for (var key in obj) { - if (ignores.indexOf(key) > -1) { - continue; - } + var hooks = {}; - qs.push( - obj[key] - ? ((encode(key)) + "=" + (encode(obj[key]))).toLowerCase() - : encode(key) - ); - } + /** + * Expose whether this browser supports running the full DOMPurify. + */ + DOMPurify.isSupported = implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9; - return qs.length ? ("?" + (qs.join('&'))) : ''; - } + var MUSTACHE_EXPR$$1 = MUSTACHE_EXPR, + ERB_EXPR$$1 = ERB_EXPR, + DATA_ATTR$$1 = DATA_ATTR, + ARIA_ATTR$$1 = ARIA_ATTR, + IS_SCRIPT_OR_DATA$$1 = IS_SCRIPT_OR_DATA, + ATTR_WHITESPACE$$1 = ATTR_WHITESPACE; + var IS_ALLOWED_URI$$1 = IS_ALLOWED_URI; - var isAbsolutePath = cached(function (path) { - return /(:|(\/{2}))/g.test(path); - }); + /** + * We consider the elements and attributes below to be safe. Ideally + * don't add any new ones but feel free to remove unwanted ones. + */ - var removeParams = cached(function (path) { - return path.split(/[?#]/)[0]; - }); + /* allowed element names */ - var getParentPath = cached(function (path) { - if (/\/$/g.test(path)) { - return path; - } + var ALLOWED_TAGS = null; + var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(html), _toConsumableArray$1(svg), _toConsumableArray$1(svgFilters), _toConsumableArray$1(mathMl), _toConsumableArray$1(text))); - var matchingParts = path.match(/(\S*\/)[^/]+$/); - return matchingParts ? matchingParts[1] : ''; - }); + /* Allowed attribute names */ + var ALLOWED_ATTR = null; + var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray$1(html$1), _toConsumableArray$1(svg$1), _toConsumableArray$1(mathMl$1), _toConsumableArray$1(xml))); - var cleanPath = cached(function (path) { - return path.replace(/^\/+/, '/').replace(/([^:])\/{2,}/g, '$1/'); - }); + /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */ + var FORBID_TAGS = null; - var resolvePath = cached(function (path) { - var segments = path.replace(/^\//, '').split('/'); - var resolved = []; - for (var i = 0, len = segments.length; i < len; i++) { - var segment = segments[i]; - if (segment === '..') { - resolved.pop(); - } else if (segment !== '.') { - resolved.push(segment); - } - } + /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */ + var FORBID_ATTR = null; - return '/' + resolved.join('/'); - }); + /* Decide if ARIA attributes are okay */ + var ALLOW_ARIA_ATTR = true; - function getPath() { - var args = [], len = arguments.length; - while ( len-- ) args[ len ] = arguments[ len ]; + /* Decide if custom data attributes are okay */ + var ALLOW_DATA_ATTR = true; - return cleanPath(args.join('/')); - } + /* Decide if unknown protocols are okay */ + var ALLOW_UNKNOWN_PROTOCOLS = false; - var replaceSlug = cached(function (path) { - return path.replace('#', '?id='); - }); + /* Output should be safe for common template engines. + * This means, DOMPurify removes data attributes, mustaches and ERB + */ + var SAFE_FOR_TEMPLATES = false; - var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true; } Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) { defineProperties(Constructor.prototype, protoProps); } if (staticProps) { defineProperties(Constructor, staticProps); } return Constructor; }; }(); + /* Decide if document with ... should be returned */ + var WHOLE_DOCUMENT = false; - function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + /* Track whether config is already set on this instance of DOMPurify. */ + var SET_CONFIG = false; - var SingleTweener = function () { - function SingleTweener() { - var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + /* Decide if all elements (e.g. style, script) must be children of + * document.body. By default, browsers might move them to document.head */ + var FORCE_BODY = false; - _classCallCheck(this, SingleTweener); + /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html + * string (or a TrustedHTML object if Trusted Types are supported). + * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead + */ + var RETURN_DOM = false; - this.start = opts.start; - this.end = opts.end; - this.decimal = opts.decimal; - } + /* Decide if a DOM `DocumentFragment` should be returned, instead of a html + * string (or a TrustedHTML object if Trusted Types are supported) */ + var RETURN_DOM_FRAGMENT = false; - _createClass(SingleTweener, [{ - key: "getIntermediateValue", - value: function getIntermediateValue(tick) { - if (this.decimal) { - return tick; - } else { - return Math.round(tick); - } - } - }, { - key: "getFinalValue", - value: function getFinalValue() { - return this.end; - } - }]); + /* If `RETURN_DOM` or `RETURN_DOM_FRAGMENT` is enabled, decide if the returned DOM + * `Node` is imported into the current `Document`. If this flag is not enabled the + * `Node` will belong (its ownerDocument) to a fresh `HTMLDocument`, created by + * DOMPurify. */ + var RETURN_DOM_IMPORT = false; - return SingleTweener; - }(); + /* Try to return a Trusted Type object instead of a string, return a string in + * case Trusted Types are not supported */ + var RETURN_TRUSTED_TYPE = false; - var _createClass$1 = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true; } Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) { defineProperties(Constructor.prototype, protoProps); } if (staticProps) { defineProperties(Constructor, staticProps); } return Constructor; }; }(); + /* Output should be free from DOM clobbering attacks? */ + var SANITIZE_DOM = true; - function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + /* Keep element content when removing element? */ + var KEEP_CONTENT = true; - var Tweezer = function () { - function Tweezer() { - var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead + * of importing it into a new Document and returning a sanitized copy */ + var IN_PLACE = false; - _classCallCheck$1(this, Tweezer); + /* Allow usage of profiles like html, svg and mathMl */ + var USE_PROFILES = {}; - this.duration = opts.duration || 1000; - this.ease = opts.easing || this._defaultEase; - this.tweener = opts.tweener || new SingleTweener(opts); - this.start = this.tweener.start; - this.end = this.tweener.end; + /* Tags to ignore content of when KEEP_CONTENT is true */ + var FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']); - this.frame = null; - this.next = null; - this.isRunning = false; - this.events = {}; - this.direction = this.start < this.end ? 'up' : 'down'; - } + /* Tags that are safe for data: URIs */ + var DATA_URI_TAGS = null; + var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']); - _createClass$1(Tweezer, [{ - key: 'begin', - value: function begin() { - if (!this.isRunning && this.next !== this.end) { - this.frame = window.requestAnimationFrame(this._tick.bind(this)); - } - return this; - } - }, { - key: 'stop', - value: function stop() { - window.cancelAnimationFrame(this.frame); - this.isRunning = false; - this.frame = null; - this.timeStart = null; - this.next = null; - return this; - } - }, { - key: 'on', - value: function on(name, handler) { - this.events[name] = this.events[name] || []; - this.events[name].push(handler); - return this; - } - }, { - key: '_emit', - value: function _emit(name, val) { - var _this = this; + /* Attributes safe for values like "javascript:" */ + var URI_SAFE_ATTRIBUTES = null; + var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'summary', 'title', 'value', 'style', 'xmlns']); - var e = this.events[name]; - e && e.forEach(function (handler) { - return handler.call(_this, val); - }); - } - }, { - key: '_tick', - value: function _tick(currentTime) { - this.isRunning = true; + /* Keep a reference to config to pass to hooks */ + var CONFIG = null; - var lastTick = this.next || this.start; + /* Ideally, do not touch anything below this line */ + /* ______________________________________________ */ - if (!this.timeStart) { this.timeStart = currentTime; } - this.timeElapsed = currentTime - this.timeStart; - this.next = this.ease(this.timeElapsed, this.start, this.end - this.start, this.duration); + var formElement = document.createElement('form'); - if (this._shouldTick(lastTick)) { - this._emit('tick', this.tweener.getIntermediateValue(this.next)); - this.frame = window.requestAnimationFrame(this._tick.bind(this)); - } else { - this._emit('tick', this.tweener.getFinalValue()); - this._emit('done', null); - } - } - }, { - key: '_shouldTick', - value: function _shouldTick(lastTick) { - return { - up: this.next < this.end && lastTick <= this.next, - down: this.next > this.end && lastTick >= this.next - }[this.direction]; + /** + * _parseConfig + * + * @param {Object} cfg optional config literal + */ + // eslint-disable-next-line complexity + var _parseConfig = function _parseConfig(cfg) { + if (CONFIG && CONFIG === cfg) { + return; } - }, { - key: '_defaultEase', - value: function _defaultEase(t, b, c, d) { - if ((t /= d / 2) < 1) { return c / 2 * t * t + b; } - return -c / 2 * (--t * (t - 2) - 1) + b; + + /* Shield configuration object from tampering */ + if (!cfg || (typeof cfg === 'undefined' ? 'undefined' : _typeof(cfg)) !== 'object') { + cfg = {}; } - }]); - return Tweezer; - }(); + /* Shield configuration object from prototype pollution */ + cfg = clone(cfg); + + /* Set configuration parameters */ + ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS) : DEFAULT_ALLOWED_TAGS; + ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR) : DEFAULT_ALLOWED_ATTR; + URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), cfg.ADD_URI_SAFE_ATTR) : DEFAULT_URI_SAFE_ATTRIBUTES; + DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS) : DEFAULT_DATA_URI_TAGS; + FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS) : {}; + FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR) : {}; + USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false; + ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true + ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true + ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false + SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false + WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false + RETURN_DOM = cfg.RETURN_DOM || false; // Default false + RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false + RETURN_DOM_IMPORT = cfg.RETURN_DOM_IMPORT || false; // Default false + RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false + FORCE_BODY = cfg.FORCE_BODY || false; // Default false + SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true + KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true + IN_PLACE = cfg.IN_PLACE || false; // Default false + IS_ALLOWED_URI$$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$$1; + if (SAFE_FOR_TEMPLATES) { + ALLOW_DATA_ATTR = false; + } - var nav = {}; - var hoverOver = false; - var scroller = null; - var enableScrollEvent = true; - var coverHeight = 0; + if (RETURN_DOM_FRAGMENT) { + RETURN_DOM = true; + } - function scrollTo(el, offset) { - if ( offset === void 0 ) offset = 0; + /* Parse profile info */ + if (USE_PROFILES) { + ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray$1(text))); + ALLOWED_ATTR = []; + if (USE_PROFILES.html === true) { + addToSet(ALLOWED_TAGS, html); + addToSet(ALLOWED_ATTR, html$1); + } - if (scroller) { - scroller.stop(); - } + if (USE_PROFILES.svg === true) { + addToSet(ALLOWED_TAGS, svg); + addToSet(ALLOWED_ATTR, svg$1); + addToSet(ALLOWED_ATTR, xml); + } - enableScrollEvent = false; - scroller = new Tweezer({ - start: window.pageYOffset, - end: el.getBoundingClientRect().top + window.pageYOffset - offset, - duration: 500, - }) - .on('tick', function (v) { return window.scrollTo(0, v); }) - .on('done', function () { - enableScrollEvent = true; - scroller = null; - }) - .begin(); - } + if (USE_PROFILES.svgFilters === true) { + addToSet(ALLOWED_TAGS, svgFilters); + addToSet(ALLOWED_ATTR, svg$1); + addToSet(ALLOWED_ATTR, xml); + } - function highlight(path) { - if (!enableScrollEvent) { - return; - } + if (USE_PROFILES.mathMl === true) { + addToSet(ALLOWED_TAGS, mathMl); + addToSet(ALLOWED_ATTR, mathMl$1); + addToSet(ALLOWED_ATTR, xml); + } + } - var sidebar = getNode('.sidebar'); - var anchors = findAll('.anchor'); - var wrap = find(sidebar, '.app-sub-sidebar'); - var active = find(sidebar, 'li.active'); - var doc = document.documentElement; - var top = ((doc && doc.scrollTop) || document.body.scrollTop) - coverHeight; - var last; + /* Merge configuration parameters */ + if (cfg.ADD_TAGS) { + if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) { + ALLOWED_TAGS = clone(ALLOWED_TAGS); + } - for (var i = 0, len = anchors.length; i < len; i += 1) { - var node = anchors[i]; + addToSet(ALLOWED_TAGS, cfg.ADD_TAGS); + } - if (node.offsetTop > top) { - if (!last) { - last = node; + if (cfg.ADD_ATTR) { + if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) { + ALLOWED_ATTR = clone(ALLOWED_ATTR); } - break; - } else { - last = node; + addToSet(ALLOWED_ATTR, cfg.ADD_ATTR); } - } - if (!last) { - return; - } + if (cfg.ADD_URI_SAFE_ATTR) { + addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR); + } - var li = nav[getNavKey(path, last.getAttribute('data-id'))]; + /* Add #text in case KEEP_CONTENT is set to true */ + if (KEEP_CONTENT) { + ALLOWED_TAGS['#text'] = true; + } - if (!li || li === active) { - return; - } + /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */ + if (WHOLE_DOCUMENT) { + addToSet(ALLOWED_TAGS, ['html', 'head', 'body']); + } - active && active.classList.remove('active'); - li.classList.add('active'); - active = li; + /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */ + if (ALLOWED_TAGS.table) { + addToSet(ALLOWED_TAGS, ['tbody']); + delete FORBID_TAGS.tbody; + } - updateTree(active); + // Prevent further manipulation of configuration. + // Not available in IE8, Safari 5, etc. + if (freeze) { + freeze(cfg); + } - // Scroll into view - // https://github.com/vuejs/vuejs.org/blob/master/themes/vue/source/js/common.js#L282-L297 - if (!hoverOver && body.classList.contains('sticky')) { - var height = sidebar.clientHeight; - var curOffset = 0; - var cur = active.offsetTop + active.clientHeight + height / 2; - var isInView = - active.offsetTop >= wrap.scrollTop && cur <= wrap.scrollTop + height; - var notThan = cur - curOffset < height; - var top$1 = isInView ? wrap.scrollTop : notThan ? curOffset : cur - height; - - sidebar.scrollTop = top$1; - } - sidebar.scrollLeft = 9999; - } - - function updateTree(active) { - var prevParents = findAll('.parent'); - var prevWifes = findAll('.wife'); - var prevChanges = findAll('.change'); - var prevExpands = findAll('.expand'); - - prevParents.forEach(function (node) { return node.classList.remove('parent'); }); - prevWifes.forEach(function (node) { return node.classList.remove('wife'); }); - prevChanges.forEach(function (node) { return node.classList.remove('change'); }); - prevExpands.forEach(function (node) { return node.classList.remove('expand'); }); - - var father = active.parentNode; - while (father && father.className !== 'app-sub-sidebar') { - father.classList.add('parent'); - father = father.parentNode; - } + CONFIG = cfg; + }; - var wife = active.lastChild; - wife.nodeName === 'UL' && wife.classList.add('wife'); - } + /** + * _forceRemove + * + * @param {Node} node a DOM node + */ + var _forceRemove = function _forceRemove(node) { + arrayPush(DOMPurify.removed, { element: node }); + try { + node.parentNode.removeChild(node); + } catch (_) { + node.outerHTML = emptyHTML; + } + }; - function getNavKey(path, id) { - return ((decodeURIComponent(path)) + "?id=" + (decodeURIComponent(id))); - } + /** + * _removeAttribute + * + * @param {String} name an Attribute name + * @param {Node} node a DOM node + */ + var _removeAttribute = function _removeAttribute(name, node) { + try { + arrayPush(DOMPurify.removed, { + attribute: node.getAttributeNode(name), + from: node + }); + } catch (_) { + arrayPush(DOMPurify.removed, { + attribute: null, + from: node + }); + } - function scrollActiveSidebar(router) { - var cover = find('.cover.show'); - coverHeight = cover ? cover.offsetHeight : 0; + node.removeAttribute(name); + }; - var sidebar = getNode('.sidebar'); - var lis = []; - if (sidebar !== null && sidebar !== undefined) { - lis = findAll(sidebar, 'li'); - } + /** + * _initDocument + * + * @param {String} dirty a string of dirty markup + * @return {Document} a DOM, filled with the dirty markup + */ + var _initDocument = function _initDocument(dirty) { + /* Create a HTML document */ + var doc = void 0; + var leadingWhitespace = void 0; - for (var i = 0, len = lis.length; i < len; i += 1) { - var li = lis[i]; - var a = li.querySelector('a'); - if (!a) { - continue; + if (FORCE_BODY) { + dirty = '' + dirty; + } else { + /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */ + var matches = stringMatch(dirty, /^[\r\n\t ]+/); + leadingWhitespace = matches && matches[0]; } - var href = a.getAttribute('href'); + var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty; + /* Use the DOMParser API by default, fallback later if needs be */ + try { + doc = new DOMParser().parseFromString(dirtyPayload, 'text/html'); + } catch (_) {} - if (href !== '/') { - var ref = router.parse(href); - var id = ref.query.id; - var path$1 = ref.path; - if (id) { - href = getNavKey(path$1, id); - } + /* Use createHTMLDocument in case DOMParser is not available */ + if (!doc || !doc.documentElement) { + doc = implementation.createHTMLDocument(''); + var _doc = doc, + body = _doc.body; + + body.parentNode.removeChild(body.parentNode.firstElementChild); + body.outerHTML = dirtyPayload; } - if (href) { - nav[decodeURIComponent(href)] = li; + if (dirty && leadingWhitespace) { + doc.body.insertBefore(document.createTextNode(leadingWhitespace), doc.body.childNodes[0] || null); } - } - var path = removeParams(router.getCurrentPath()); - off('scroll', function () { return highlight(path); }); - on('scroll', function () { return highlight(path); }); - on(sidebar, 'mouseover', function () { - hoverOver = true; - }); - on(sidebar, 'mouseleave', function () { - hoverOver = false; - }); - } + /* Work on whole document or just its body */ + return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0]; + }; - function scrollIntoView(path, id) { - if (!id) { - return; - } - var topMargin = config().topMargin; + /** + * _createIterator + * + * @param {Document} root document/fragment to create iterator for + * @return {Iterator} iterator instance + */ + var _createIterator = function _createIterator(root) { + return createNodeIterator.call(root.ownerDocument || root, root, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, function () { + return NodeFilter.FILTER_ACCEPT; + }, false); + }; - var prevSections = findAll('.current'); - prevSections.forEach(function (node) { return node.classList.remove('current'); }); + /** + * _isClobbered + * + * @param {Node} elm element to check for clobbering attacks + * @return {Boolean} true if clobbered, false if safe + */ + var _isClobbered = function _isClobbered(elm) { + if (elm instanceof Text || elm instanceof Comment) { + return false; + } - var section = find('#' + id); - if (section) { - section.classList.add('current'); - scrollTo(section, topMargin); - } + if (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string') { + return true; + } - var sidebar = getNode('.sidebar'); - var active = find(sidebar, 'li.active'); - active && active.classList.remove('active'); + return false; + }; - var li = nav[getNavKey(path, id)]; - if (li) { - li.classList.add('active'); - updateTree(li); - } - } + /** + * _isNode + * + * @param {Node} obj object to check whether it's a DOM node + * @return {Boolean} true is object is a DOM node + */ + var _isNode = function _isNode(object) { + return (typeof Node === 'undefined' ? 'undefined' : _typeof(Node)) === 'object' ? object instanceof Node : object && (typeof object === 'undefined' ? 'undefined' : _typeof(object)) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'; + }; - var scrollEl = $.scrollingElement || $.documentElement; + /** + * _executeHook + * Execute user configurable hooks + * + * @param {String} entryPoint Name of the hook's entry point + * @param {Node} currentNode node to work on with the hook + * @param {Object} data additional hook parameters + */ + var _executeHook = function _executeHook(entryPoint, currentNode, data) { + if (!hooks[entryPoint]) { + return; + } - function scroll2Top(offset) { - if ( offset === void 0 ) offset = 0; + arrayForEach(hooks[entryPoint], function (hook) { + hook.call(DOMPurify, currentNode, data, CONFIG); + }); + }; - scrollEl.scrollTop = offset === true ? 0 : Number(offset); - } + /** + * _sanitizeElements + * + * @protect nodeName + * @protect textContent + * @protect removeChild + * + * @param {Node} currentNode to check for permission to exist + * @return {Boolean} true if node was killed, false if left alive + */ + var _sanitizeElements = function _sanitizeElements(currentNode) { + var content = void 0; - var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + /* Execute a hook if present */ + _executeHook('beforeSanitizeElements', currentNode, null); - function createCommonjsModule(fn, module) { - return module = { exports: {} }, fn(module, module.exports), module.exports; - } + /* Check if element is clobbered or can clobber */ + if (_isClobbered(currentNode)) { + _forceRemove(currentNode); + return true; + } - var defaults = createCommonjsModule(function (module) { - function getDefaults() { - return { - baseUrl: null, - breaks: false, - gfm: true, - headerIds: true, - headerPrefix: '', - highlight: null, - langPrefix: 'language-', - mangle: true, - pedantic: false, - renderer: null, - sanitize: false, - sanitizer: null, - silent: false, - smartLists: false, - smartypants: false, - xhtml: false - }; - } + /* Check if tagname contains Unicode */ + if (stringMatch(currentNode.nodeName, /[\u0080-\uFFFF]/)) { + _forceRemove(currentNode); + return true; + } - function changeDefaults(newDefaults) { - module.exports.defaults = newDefaults; - } + /* Now let's check the element's type and name */ + var tagName = stringToLowerCase(currentNode.nodeName); - module.exports = { - defaults: getDefaults(), - getDefaults: getDefaults, - changeDefaults: changeDefaults - }; - }); - var defaults_1 = defaults.defaults; - var defaults_2 = defaults.getDefaults; - var defaults_3 = defaults.changeDefaults; + /* Execute a hook if present */ + _executeHook('uponSanitizeElement', currentNode, { + tagName: tagName, + allowedTags: ALLOWED_TAGS + }); - /** - * Helpers - */ - var escapeTest = /[&<>"']/; - var escapeReplace = /[&<>"']/g; - var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/; - var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g; - var escapeReplacements = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }; - var getEscapeReplacement = function (ch) { return escapeReplacements[ch]; }; - function escape(html, encode) { - if (encode) { - if (escapeTest.test(html)) { - return html.replace(escapeReplace, getEscapeReplacement); + /* Take care of an mXSS pattern using p, br inside svg, math */ + if ((tagName === 'svg' || tagName === 'math') && currentNode.querySelectorAll('p, br').length !== 0) { + _forceRemove(currentNode); + return true; } - } else { - if (escapeTestNoEncode.test(html)) { - return html.replace(escapeReplaceNoEncode, getEscapeReplacement); + + /* Detect mXSS attempts abusing namespace confusion */ + if (!_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[!/\w]/g, currentNode.innerHTML) && regExpTest(/<[!/\w]/g, currentNode.textContent)) { + _forceRemove(currentNode); + return true; } - } - return html; - } + /* Remove element if anything forbids its presence */ + if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) { + /* Keep content except for bad-listed elements */ + if (KEEP_CONTENT && !FORBID_CONTENTS[tagName] && typeof currentNode.insertAdjacentHTML === 'function') { + try { + var htmlToInsert = currentNode.innerHTML; + currentNode.insertAdjacentHTML('AfterEnd', trustedTypesPolicy ? trustedTypesPolicy.createHTML(htmlToInsert) : htmlToInsert); + } catch (_) {} + } - var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig; + _forceRemove(currentNode); + return true; + } - function unescape(html) { - // explicitly match decimal, hex, and named HTML entities - return html.replace(unescapeTest, function (_, n) { - n = n.toLowerCase(); - if (n === 'colon') { return ':'; } - if (n.charAt(0) === '#') { - return n.charAt(1) === 'x' - ? String.fromCharCode(parseInt(n.substring(2), 16)) - : String.fromCharCode(+n.substring(1)); + /* Remove in case a noscript/noembed XSS is suspected */ + if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\/no(script|embed)/i, currentNode.innerHTML)) { + _forceRemove(currentNode); + return true; } - return ''; - }); - } - var caret = /(^|[^\[])\^/g; - function edit(regex, opt) { - regex = regex.source || regex; - opt = opt || ''; - var obj = { - replace: function (name, val) { - val = val.source || val; - val = val.replace(caret, '$1'); - regex = regex.replace(name, val); - return obj; - }, - getRegex: function () { - return new RegExp(regex, opt); + /* Sanitize element content to be template-safe */ + if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) { + /* Get the element's text content */ + content = currentNode.textContent; + content = stringReplace(content, MUSTACHE_EXPR$$1, ' '); + content = stringReplace(content, ERB_EXPR$$1, ' '); + if (currentNode.textContent !== content) { + arrayPush(DOMPurify.removed, { element: currentNode.cloneNode() }); + currentNode.textContent = content; + } } + + /* Execute a hook if present */ + _executeHook('afterSanitizeElements', currentNode, null); + + return false; }; - return obj; - } - var nonWordAndColonTest = /[^\w:]/g; - var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; - function cleanUrl(sanitize, base, href) { - if (sanitize) { - var prot; - try { - prot = decodeURIComponent(unescape(href)) - .replace(nonWordAndColonTest, '') - .toLowerCase(); - } catch (e) { - return null; + /** + * _isValidAttribute + * + * @param {string} lcTag Lowercase tag name of containing element. + * @param {string} lcName Lowercase attribute name. + * @param {string} value Attribute value. + * @return {Boolean} Returns true if `value` is valid, otherwise false. + */ + // eslint-disable-next-line complexity + var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) { + /* Make sure attribute cannot clobber */ + if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) { + return false; } - if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { - return null; + + /* Allow valid data-* attributes: At least one character after "-" + (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes) + XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804) + We don't need to check the value; it's always URI safe. */ + if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR$$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$$1, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) { + return false; + + /* Check value is safe. First, is attr inert? If so, is safe */ + } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$$1, stringReplace(value, ATTR_WHITESPACE$$1, ''))) ; else if (!value) ; else { + return false; } - } - if (base && !originIndependentUrl.test(href)) { - href = resolveUrl(base, href); - } - try { - href = encodeURI(href).replace(/%25/g, '%'); - } catch (e) { - return null; - } - return href; - } - var baseUrls = {}; - var justDomain = /^[^:]+:\/*[^/]*$/; - var protocol = /^([^:]+:)[\s\S]*$/; - var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/; + return true; + }; - function resolveUrl(base, href) { - if (!baseUrls[' ' + base]) { - // we can ignore everything in base after the last slash of its path component, - // but we might need to add _that_ - // https://tools.ietf.org/html/rfc3986#section-3 - if (justDomain.test(base)) { - baseUrls[' ' + base] = base + '/'; - } else { - baseUrls[' ' + base] = rtrim(base, '/', true); + /** + * _sanitizeAttributes + * + * @protect attributes + * @protect nodeName + * @protect removeAttribute + * @protect setAttribute + * + * @param {Node} currentNode to sanitize + */ + var _sanitizeAttributes = function _sanitizeAttributes(currentNode) { + var attr = void 0; + var value = void 0; + var lcName = void 0; + var l = void 0; + /* Execute a hook if present */ + _executeHook('beforeSanitizeAttributes', currentNode, null); + + var attributes = currentNode.attributes; + + /* Check if we have attributes; if not we might have a text node */ + + if (!attributes) { + return; } - } - base = baseUrls[' ' + base]; - var relativeBase = base.indexOf(':') === -1; - if (href.substring(0, 2) === '//') { - if (relativeBase) { - return href; + var hookEvent = { + attrName: '', + attrValue: '', + keepAttr: true, + allowedAttributes: ALLOWED_ATTR + }; + l = attributes.length; + + /* Go backwards over all attributes; safely remove bad ones */ + while (l--) { + attr = attributes[l]; + var _attr = attr, + name = _attr.name, + namespaceURI = _attr.namespaceURI; + + value = stringTrim(attr.value); + lcName = stringToLowerCase(name); + + /* Execute a hook if present */ + hookEvent.attrName = lcName; + hookEvent.attrValue = value; + hookEvent.keepAttr = true; + hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set + _executeHook('uponSanitizeAttribute', currentNode, hookEvent); + value = hookEvent.attrValue; + /* Did the hooks approve of the attribute? */ + if (hookEvent.forceKeepAttr) { + continue; + } + + /* Remove attribute */ + _removeAttribute(name, currentNode); + + /* Did the hooks approve of the attribute? */ + if (!hookEvent.keepAttr) { + continue; + } + + /* Work around a security issue in jQuery 3.0 */ + if (regExpTest(/\/>/i, value)) { + _removeAttribute(name, currentNode); + continue; + } + + /* Sanitize attribute content to be template-safe */ + if (SAFE_FOR_TEMPLATES) { + value = stringReplace(value, MUSTACHE_EXPR$$1, ' '); + value = stringReplace(value, ERB_EXPR$$1, ' '); + } + + /* Is `value` valid for this attribute? */ + var lcTag = currentNode.nodeName.toLowerCase(); + if (!_isValidAttribute(lcTag, lcName, value)) { + continue; + } + + /* Handle invalid data-* attribute set by try-catching it */ + try { + if (namespaceURI) { + currentNode.setAttributeNS(namespaceURI, name, value); + } else { + /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. "x-schema". */ + currentNode.setAttribute(name, value); + } + + arrayPop(DOMPurify.removed); + } catch (_) {} } - return base.replace(protocol, '$1') + href; - } else if (href.charAt(0) === '/') { - if (relativeBase) { - return href; + + /* Execute a hook if present */ + _executeHook('afterSanitizeAttributes', currentNode, null); + }; + + /** + * _sanitizeShadowDOM + * + * @param {DocumentFragment} fragment to iterate over recursively + */ + var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) { + var shadowNode = void 0; + var shadowIterator = _createIterator(fragment); + + /* Execute a hook if present */ + _executeHook('beforeSanitizeShadowDOM', fragment, null); + + while (shadowNode = shadowIterator.nextNode()) { + /* Execute a hook if present */ + _executeHook('uponSanitizeShadowNode', shadowNode, null); + + /* Sanitize tags and elements */ + if (_sanitizeElements(shadowNode)) { + continue; + } + + /* Deep shadow DOM detected */ + if (shadowNode.content instanceof DocumentFragment) { + _sanitizeShadowDOM(shadowNode.content); + } + + /* Check attributes, sanitize if necessary */ + _sanitizeAttributes(shadowNode); } - return base.replace(domain, '$1') + href; - } else { - return base + href; - } - } - var noopTest = { exec: function noopTest() {} }; + /* Execute a hook if present */ + _executeHook('afterSanitizeShadowDOM', fragment, null); + }; - function merge$1(obj) { - var arguments$1 = arguments; + /** + * Sanitize + * Public method providing core sanitation functionality + * + * @param {String|Node} dirty string or DOM node + * @param {Object} configuration object + */ + // eslint-disable-next-line complexity + DOMPurify.sanitize = function (dirty, cfg) { + var body = void 0; + var importedNode = void 0; + var currentNode = void 0; + var oldNode = void 0; + var returnNode = void 0; + /* Make sure we have a string to sanitize. + DO NOT return early, as this will return the wrong type if + the user has requested a DOM object rather than a string */ + if (!dirty) { + dirty = ''; + } - var i = 1, - target, - key; + /* Stringify, in case dirty is an object */ + if (typeof dirty !== 'string' && !_isNode(dirty)) { + // eslint-disable-next-line no-negated-condition + if (typeof dirty.toString !== 'function') { + throw typeErrorCreate('toString is not a function'); + } else { + dirty = dirty.toString(); + if (typeof dirty !== 'string') { + throw typeErrorCreate('dirty is not a string, aborting'); + } + } + } - for (; i < arguments.length; i++) { - target = arguments$1[i]; - for (key in target) { - if (Object.prototype.hasOwnProperty.call(target, key)) { - obj[key] = target[key]; + /* Check we can run. Otherwise fall back or ignore */ + if (!DOMPurify.isSupported) { + if (_typeof(window.toStaticHTML) === 'object' || typeof window.toStaticHTML === 'function') { + if (typeof dirty === 'string') { + return window.toStaticHTML(dirty); + } + + if (_isNode(dirty)) { + return window.toStaticHTML(dirty.outerHTML); + } } + + return dirty; } - } - return obj; - } + /* Assign config vars */ + if (!SET_CONFIG) { + _parseConfig(cfg); + } - function splitCells(tableRow, count) { - // ensure that every cell-delimiting pipe has a space - // before it to distinguish it from an escaped pipe - var row = tableRow.replace(/\|/g, function (match, offset, str) { - var escaped = false, - curr = offset; - while (--curr >= 0 && str[curr] === '\\') { escaped = !escaped; } - if (escaped) { - // odd number of slashes means | is escaped - // so we leave it alone - return '|'; + /* Clean up removed elements */ + DOMPurify.removed = []; + + /* Check if dirty is correctly typed for IN_PLACE */ + if (typeof dirty === 'string') { + IN_PLACE = false; + } + + if (IN_PLACE) ; else if (dirty instanceof Node) { + /* If dirty is a DOM element, append to an empty document to avoid + elements being stripped by the parser */ + body = _initDocument(''); + importedNode = body.ownerDocument.importNode(dirty, true); + if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') { + /* Node is already a body, use as is */ + body = importedNode; + } else if (importedNode.nodeName === 'HTML') { + body = importedNode; } else { - // add space before unescaped | - return ' |'; + // eslint-disable-next-line unicorn/prefer-node-append + body.appendChild(importedNode); + } + } else { + /* Exit directly if we have nothing to do */ + if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && + // eslint-disable-next-line unicorn/prefer-includes + dirty.indexOf('<') === -1) { + return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty; } - }), - cells = row.split(/ \|/); - var i = 0; - if (cells.length > count) { - cells.splice(count); + /* Initialize the document to work on */ + body = _initDocument(dirty); + + /* Check we have a DOM node from the data */ + if (!body) { + return RETURN_DOM ? null : emptyHTML; + } + } + + /* Remove first element node (ours) if FORCE_BODY is set */ + if (body && FORCE_BODY) { + _forceRemove(body.firstChild); + } + + /* Get node iterator */ + var nodeIterator = _createIterator(IN_PLACE ? dirty : body); + + /* Now start iterating over the created document */ + while (currentNode = nodeIterator.nextNode()) { + /* Fix IE's strange behavior with manipulated textNodes #89 */ + if (currentNode.nodeType === 3 && currentNode === oldNode) { + continue; + } + + /* Sanitize tags and elements */ + if (_sanitizeElements(currentNode)) { + continue; + } + + /* Shadow DOM detected, sanitize it */ + if (currentNode.content instanceof DocumentFragment) { + _sanitizeShadowDOM(currentNode.content); + } + + /* Check attributes, sanitize if necessary */ + _sanitizeAttributes(currentNode); + + oldNode = currentNode; + } + + oldNode = null; + + /* If we sanitized `dirty` in-place, return it. */ + if (IN_PLACE) { + return dirty; + } + + /* Return sanitized string or DOM */ + if (RETURN_DOM) { + if (RETURN_DOM_FRAGMENT) { + returnNode = createDocumentFragment.call(body.ownerDocument); + + while (body.firstChild) { + // eslint-disable-next-line unicorn/prefer-node-append + returnNode.appendChild(body.firstChild); + } + } else { + returnNode = body; + } + + if (RETURN_DOM_IMPORT) { + /* + AdoptNode() is not used because internal state is not reset + (e.g. the past names map of a HTMLFormElement), this is safe + in theory but we would rather not risk another attack vector. + The state that is cloned by importNode() is explicitly defined + by the specs. + */ + returnNode = importNode.call(originalDocument, returnNode, true); + } + + return returnNode; + } + + var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML; + + /* Sanitize final string template-safe */ + if (SAFE_FOR_TEMPLATES) { + serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$$1, ' '); + serializedHTML = stringReplace(serializedHTML, ERB_EXPR$$1, ' '); + } + + return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML; + }; + + /** + * Public method to set the configuration once + * setConfig + * + * @param {Object} cfg configuration object + */ + DOMPurify.setConfig = function (cfg) { + _parseConfig(cfg); + SET_CONFIG = true; + }; + + /** + * Public method to remove the configuration + * clearConfig + * + */ + DOMPurify.clearConfig = function () { + CONFIG = null; + SET_CONFIG = false; + }; + + /** + * Public method to check if an attribute value is valid. + * Uses last set config, if any. Otherwise, uses config defaults. + * isValidAttribute + * + * @param {string} tag Tag name of containing element. + * @param {string} attr Attribute name. + * @param {string} value Attribute value. + * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false. + */ + DOMPurify.isValidAttribute = function (tag, attr, value) { + /* Initialize shared config vars if necessary. */ + if (!CONFIG) { + _parseConfig({}); + } + + var lcTag = stringToLowerCase(tag); + var lcName = stringToLowerCase(attr); + return _isValidAttribute(lcTag, lcName, value); + }; + + /** + * AddHook + * Public method to add DOMPurify hooks + * + * @param {String} entryPoint entry point for the hook to add + * @param {Function} hookFunction function to execute + */ + DOMPurify.addHook = function (entryPoint, hookFunction) { + if (typeof hookFunction !== 'function') { + return; + } + + hooks[entryPoint] = hooks[entryPoint] || []; + arrayPush(hooks[entryPoint], hookFunction); + }; + + /** + * RemoveHook + * Public method to remove a DOMPurify hook at a given entryPoint + * (pops it from the stack of hooks if more are present) + * + * @param {String} entryPoint entry point for the hook to remove + */ + DOMPurify.removeHook = function (entryPoint) { + if (hooks[entryPoint]) { + arrayPop(hooks[entryPoint]); + } + }; + + /** + * RemoveHooks + * Public method to remove all DOMPurify hooks at a given entryPoint + * + * @param {String} entryPoint entry point for the hooks to remove + */ + DOMPurify.removeHooks = function (entryPoint) { + if (hooks[entryPoint]) { + hooks[entryPoint] = []; + } + }; + + /** + * RemoveAllHooks + * Public method to remove all DOMPurify hooks + * + */ + DOMPurify.removeAllHooks = function () { + hooks = {}; + }; + + return DOMPurify; + } + + var purify = createDOMPurify(); + + var barEl; + var timeId; + + /** + * Init progress component + */ + function init() { + var div = create('div'); + + div.classList.add('progress'); + appendTo(body, div); + barEl = div; + } + + /** + * Render progress bar + */ + function progressbar(ref) { + var loaded = ref.loaded; + var total = ref.total; + var step = ref.step; + + var num; + + !barEl && init(); + + if (step) { + num = parseInt(barEl.style.width || 0, 10) + step; + num = num > 80 ? 80 : num; } else { - while (cells.length < count) { cells.push(''); } + num = Math.floor((loaded / total) * 100); } - for (; i < cells.length; i++) { - // leading or trailing whitespace is ignored per the gfm spec - cells[i] = cells[i].trim().replace(/\\\|/g, '|'); + barEl.style.opacity = 1; + barEl.style.width = num >= 95 ? '100%' : num + '%'; + + if (num >= 95) { + clearTimeout(timeId); + // eslint-disable-next-line no-unused-vars + timeId = setTimeout(function (_) { + barEl.style.opacity = 0; + barEl.style.width = '0%'; + }, 200); } - return cells; } - // Remove trailing 'c's. Equivalent to str.replace(/c*$/, ''). - // /c*$/ is vulnerable to REDOS. - // invert: Remove suffix of non-c chars instead. Default falsey. - function rtrim(str, c, invert) { - var l = str.length; - if (l === 0) { - return ''; - } + /* eslint-disable no-unused-vars */ + + var cache = {}; + + /** + * Ajax GET implmentation + * @param {string} url Resource URL + * @param {boolean} [hasBar=false] Has progress bar + * @param {String[]} headers Array of headers + * @return {Promise} Promise response + */ + function get(url, hasBar, headers) { + if ( hasBar === void 0 ) hasBar = false; + if ( headers === void 0 ) headers = {}; + + var xhr = new XMLHttpRequest(); + var on = function() { + xhr.addEventListener.apply(xhr, arguments); + }; + + var cached = cache[url]; + + if (cached) { + return { then: function (cb) { return cb(cached.content, cached.opt); }, abort: noop }; + } + + xhr.open('GET', url); + for (var i in headers) { + if (hasOwn.call(headers, i)) { + xhr.setRequestHeader(i, headers[i]); + } + } + + xhr.send(); + + return { + then: function(success, error) { + if ( error === void 0 ) error = noop; + + if (hasBar) { + var id = setInterval( + function (_) { return progressbar({ + step: Math.floor(Math.random() * 5 + 1), + }); }, + 500 + ); + + on('progress', progressbar); + on('loadend', function (evt) { + progressbar(evt); + clearInterval(id); + }); + } + + on('error', error); + on('load', function (ref) { + var target = ref.target; + + if (target.status >= 400) { + error(target); + } else { + var result = (cache[url] = { + content: target.response, + opt: { + updatedAt: xhr.getResponseHeader('last-modified'), + }, + }); + + success(result.content, result.opt); + } + }); + }, + abort: function (_) { return xhr.readyState !== 4 && xhr.abort(); }, + }; + } + + function replaceVar(block, color) { + block.innerHTML = block.innerHTML.replace( + /var\(\s*--theme-color.*?\)/g, + color + ); + } + + function cssVars(color) { + // Variable support + if (window.CSS && window.CSS.supports && window.CSS.supports('(--v:red)')) { + return; + } + + var styleBlocks = findAll('style:not(.inserted),link'); + [].forEach.call(styleBlocks, function (block) { + if (block.nodeName === 'STYLE') { + replaceVar(block, color); + } else if (block.nodeName === 'LINK') { + var href = block.getAttribute('href'); + + if (!/\.css$/.test(href)) { + return; + } + + get(href).then(function (res) { + var style = create('style', res); + + head.appendChild(style); + replaceVar(style, color); + }); + } + }); + } + + function initLifecycle(vm) { + var hooks = [ + 'init', + 'mounted', + 'beforeEach', + 'afterEach', + 'doneEach', + 'ready' ]; + + vm._hooks = {}; + vm._lifecycle = {}; + hooks.forEach(function (hook) { + var arr = (vm._hooks[hook] = []); + vm._lifecycle[hook] = function (fn) { return arr.push(fn); }; + }); + } + + function callHook(vm, hookName, data, next) { + if ( next === void 0 ) next = noop; + + var queue = vm._hooks[hookName]; + + var step = function(index) { + var hookFn = queue[index]; + + if (index >= queue.length) { + next(data); + } else if (typeof hookFn === 'function') { + if (hookFn.length === 2) { + hookFn(data, function (result) { + data = result; + step(index + 1); + }); + } else { + var result = hookFn(data); + data = result === undefined ? data : result; + step(index + 1); + } + } else { + step(index + 1); + } + }; + + step(0); + } + + /* eslint-disable no-unused-vars */ + + var title = $.title; + /** + * Toggle button + * @param {Element} el Button to be toggled + * @void + */ + function btn(el) { + var toggle = function (_) { return body.classList.toggle('close'); }; + + el = getNode(el); + if (el === null || el === undefined) { + return; + } + + on(el, 'click', function (e) { + e.stopPropagation(); + toggle(); + }); + + isMobile && + on( + body, + 'click', + function (_) { return body.classList.contains('close') && toggle(); } + ); + } + + function collapse(el) { + el = getNode(el); + if (el === null || el === undefined) { + return; + } + + on(el, 'click', function (ref) { + var target = ref.target; + + if ( + target.nodeName === 'A' && + target.nextSibling && + target.nextSibling.classList && + target.nextSibling.classList.contains('app-sub-sidebar') + ) { + toggleClass(target.parentNode, 'collapse'); + } else if ( + target.nodeName === 'SPAN' && + target.nextSibling && + target.nextSibling.classList && + target.nextSibling.classList.contains('section-link') + ) { + toggleClass(target.parentNode, 'collapse'); + } + }); + } + + function sticky() { + var cover = getNode('section.cover'); + if (!cover) { + return; + } + + var coverHeight = cover.getBoundingClientRect().height; + + if (window.pageYOffset >= coverHeight || cover.classList.contains('hidden')) { + toggleClass(body, 'add', 'sticky'); + } else { + toggleClass(body, 'remove', 'sticky'); + } + } + + /** + * Get and active link + * @param {Object} router Router + * @param {String|Element} el Target element + * @param {Boolean} isParent Active parent + * @param {Boolean} autoTitle Automatically set title + * @return {Element} Active element + */ + function getAndActive(router, el, isParent, autoTitle) { + el = getNode(el); + var links = []; + if (el !== null && el !== undefined) { + links = findAll(el, 'a'); + } + + var hash = decodeURI(router.toURL(router.getCurrentPath())); + var target; + + links + .sort(function (a, b) { return b.href.length - a.href.length; }) + .forEach(function (a) { + var href = a.getAttribute('href'); + var node = isParent ? a.parentNode : a; + + a.title = a.title || a.innerText; + + if (hash.indexOf(href) === 0 && !target) { + target = a; + toggleClass(node, 'add', 'active'); + } else { + toggleClass(node, 'remove', 'active'); + } + }); + + if (autoTitle) { + $.title = target + ? target.title || ((target.innerText) + " - " + title) + : title; + } + + return target; + } + + var decode = decodeURIComponent; + var encode = encodeURIComponent; + + function parseQuery(query) { + var res = {}; + + query = query.trim().replace(/^(\?|#|&)/, ''); + + if (!query) { + return res; + } + + // Simple parse + query.split('&').forEach(function(param) { + var parts = param.replace(/\+/g, ' ').split('='); + + res[parts[0]] = parts[1] && decode(parts[1]); + }); + + return res; + } + + function stringifyQuery(obj, ignores) { + if ( ignores === void 0 ) ignores = []; + + var qs = []; + + for (var key in obj) { + if (ignores.indexOf(key) > -1) { + continue; + } + + qs.push( + obj[key] + ? ((encode(key)) + "=" + (encode(obj[key]))).toLowerCase() + : encode(key) + ); + } + + return qs.length ? ("?" + (qs.join('&'))) : ''; + } + + var isAbsolutePath = cached(function (path) { + return /(:|(\/{2}))/g.test(path); + }); + + var removeParams = cached(function (path) { + return path.split(/[?#]/)[0]; + }); + + var getParentPath = cached(function (path) { + if (/\/$/g.test(path)) { + return path; + } + + var matchingParts = path.match(/(\S*\/)[^/]+$/); + return matchingParts ? matchingParts[1] : ''; + }); + + var cleanPath = cached(function (path) { + return path.replace(/^\/+/, '/').replace(/([^:])\/{2,}/g, '$1/'); + }); + + var resolvePath = cached(function (path) { + var segments = path.replace(/^\//, '').split('/'); + var resolved = []; + for (var i = 0, len = segments.length; i < len; i++) { + var segment = segments[i]; + if (segment === '..') { + resolved.pop(); + } else if (segment !== '.') { + resolved.push(segment); + } + } + + return '/' + resolved.join('/'); + }); + + function getPath() { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + return cleanPath(args.join('/')); + } + + var replaceSlug = cached(function (path) { + return path.replace('#', '?id='); + }); + + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true; } Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) { defineProperties(Constructor.prototype, protoProps); } if (staticProps) { defineProperties(Constructor, staticProps); } return Constructor; }; }(); + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + var SingleTweener = function () { + function SingleTweener() { + var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + _classCallCheck(this, SingleTweener); + + this.start = opts.start; + this.end = opts.end; + this.decimal = opts.decimal; + } + + _createClass(SingleTweener, [{ + key: "getIntermediateValue", + value: function getIntermediateValue(tick) { + if (this.decimal) { + return tick; + } else { + return Math.round(tick); + } + } + }, { + key: "getFinalValue", + value: function getFinalValue() { + return this.end; + } + }]); + + return SingleTweener; + }(); + + var _createClass$1 = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) { descriptor.writable = true; } Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) { defineProperties(Constructor.prototype, protoProps); } if (staticProps) { defineProperties(Constructor, staticProps); } return Constructor; }; }(); + + function _classCallCheck$1(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + var Tweezer = function () { + function Tweezer() { + var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + _classCallCheck$1(this, Tweezer); + + this.duration = opts.duration || 1000; + this.ease = opts.easing || this._defaultEase; + this.tweener = opts.tweener || new SingleTweener(opts); + this.start = this.tweener.start; + this.end = this.tweener.end; + + this.frame = null; + this.next = null; + this.isRunning = false; + this.events = {}; + this.direction = this.start < this.end ? 'up' : 'down'; + } + + _createClass$1(Tweezer, [{ + key: 'begin', + value: function begin() { + if (!this.isRunning && this.next !== this.end) { + this.frame = window.requestAnimationFrame(this._tick.bind(this)); + } + return this; + } + }, { + key: 'stop', + value: function stop() { + window.cancelAnimationFrame(this.frame); + this.isRunning = false; + this.frame = null; + this.timeStart = null; + this.next = null; + return this; + } + }, { + key: 'on', + value: function on(name, handler) { + this.events[name] = this.events[name] || []; + this.events[name].push(handler); + return this; + } + }, { + key: '_emit', + value: function _emit(name, val) { + var _this = this; + + var e = this.events[name]; + e && e.forEach(function (handler) { + return handler.call(_this, val); + }); + } + }, { + key: '_tick', + value: function _tick(currentTime) { + this.isRunning = true; + + var lastTick = this.next || this.start; + + if (!this.timeStart) { this.timeStart = currentTime; } + this.timeElapsed = currentTime - this.timeStart; + this.next = this.ease(this.timeElapsed, this.start, this.end - this.start, this.duration); + + if (this._shouldTick(lastTick)) { + this._emit('tick', this.tweener.getIntermediateValue(this.next)); + this.frame = window.requestAnimationFrame(this._tick.bind(this)); + } else { + this._emit('tick', this.tweener.getFinalValue()); + this._emit('done', null); + } + } + }, { + key: '_shouldTick', + value: function _shouldTick(lastTick) { + return { + up: this.next < this.end && lastTick <= this.next, + down: this.next > this.end && lastTick >= this.next + }[this.direction]; + } + }, { + key: '_defaultEase', + value: function _defaultEase(t, b, c, d) { + if ((t /= d / 2) < 1) { return c / 2 * t * t + b; } + return -c / 2 * (--t * (t - 2) - 1) + b; + } + }]); + + return Tweezer; + }(); + + var nav = {}; + var hoverOver = false; + var scroller = null; + var enableScrollEvent = true; + var coverHeight = 0; + + function scrollTo(el, offset) { + if ( offset === void 0 ) offset = 0; + + if (scroller) { + scroller.stop(); + } + + enableScrollEvent = false; + scroller = new Tweezer({ + start: window.pageYOffset, + end: + Math.round(el.getBoundingClientRect().top) + window.pageYOffset - offset, + duration: 500, + }) + .on('tick', function (v) { return window.scrollTo(0, v); }) + .on('done', function () { + enableScrollEvent = true; + scroller = null; + }) + .begin(); + } + + function highlight(path) { + if (!enableScrollEvent) { + return; + } + + var sidebar = getNode('.sidebar'); + var anchors = findAll('.anchor'); + var wrap = find(sidebar, '.sidebar-nav'); + var active = find(sidebar, 'li.active'); + var doc = document.documentElement; + var top = ((doc && doc.scrollTop) || document.body.scrollTop) - coverHeight; + var last; + + for (var i = 0, len = anchors.length; i < len; i += 1) { + var node = anchors[i]; + + if (node.offsetTop > top) { + if (!last) { + last = node; + } + + break; + } else { + last = node; + } + } + + if (!last) { + return; + } + + var li = nav[getNavKey(path, last.getAttribute('data-id'))]; + + if (!li || li === active) { + return; + } + + active && active.classList.remove('active'); + li.classList.add('active'); + active = li; + + var front = find(sidebar, 'li.front'); + front && front.classList.remove('front'); + + active = findFront(active); + + // Scroll into view + // https://github.com/vuejs/vuejs.org/blob/master/themes/vue/source/js/common.js#L282-L297 + if (!hoverOver && body.classList.contains('sticky')) { + var height = sidebar.clientHeight; + var curOffset = 0; + var cur = active.offsetTop + height / 2; + var isInView = + active.offsetTop >= wrap.scrollTop && cur <= wrap.scrollTop + height; + var notThan = cur - curOffset < height; + + sidebar.scrollTop = isInView + ? wrap.scrollTop + : notThan + ? curOffset + : cur - height; + } + } + + function findFront(active) { + if (!active) { + return active; + } + + var front = active; + var node = active.parentNode; + + while (node) { + if (node.classList.contains('app-sub-sidebar')) { + break; + } + + if (node.nodeName === 'UL') { + node = node.parentNode; + continue; + } + + if (node.nodeName === 'LI') { + + if (node.classList.contains('collapse')) { + front = node; + } + + node = node.parentNode; + continue; + } + } + + front.classList.add('front'); + return front; + } + + function getNavKey(path, id) { + return ((decodeURIComponent(path)) + "?id=" + (decodeURIComponent(id))); + } + + function scrollActiveSidebar(router) { + var cover = find('.cover.show'); + coverHeight = cover ? cover.offsetHeight : 0; + + var sidebar = getNode('.sidebar'); + var lis = []; + if (sidebar !== null && sidebar !== undefined) { + lis = findAll(sidebar, 'li'); + } + + for (var i = 0, len = lis.length; i < len; i += 1) { + var li = lis[i]; + var a = li.querySelector('a'); + if (!a) { + continue; + } + + var href = a.getAttribute('href'); + + if (href !== '/') { + var ref = router.parse(href); + var id = ref.query.id; + var path$1 = ref.path; + if (id) { + href = getNavKey(path$1, id); + } + } + + if (href) { + nav[decodeURIComponent(href)] = li; + } + } + + if (isMobile) { + return; + } + + var path = removeParams(router.getCurrentPath()); + off('scroll', function () { return highlight(path); }); + on('scroll', function () { return highlight(path); }); + on(sidebar, 'mouseover', function () { + hoverOver = true; + }); + on(sidebar, 'mouseleave', function () { + hoverOver = false; + }); + } + + function scrollIntoView(path, id) { + if (!id) { + return; + } + var topMargin = config().topMargin; + var section = find('#' + id); + section && scrollTo(section, topMargin); + + var li = nav[getNavKey(path, id)]; + var sidebar = getNode('.sidebar'); + var active = find(sidebar, 'li.active'); + var front = find(sidebar, 'li.front'); + + active && active.classList.remove('active'); + front && front.classList.remove('front'); + + li && li.classList.add('active'); + findFront(li); + } + + var scrollEl = $.scrollingElement || $.documentElement; + + function scroll2Top(offset) { + if ( offset === void 0 ) offset = 0; + + scrollEl.scrollTop = offset === true ? 0 : Number(offset); + } + + var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; + + function createCommonjsModule(fn, module) { + return module = { exports: {} }, fn(module, module.exports), module.exports; + } + + var defaults = createCommonjsModule(function (module) { + function getDefaults() { + return { + baseUrl: null, + breaks: false, + gfm: true, + headerIds: true, + headerPrefix: '', + highlight: null, + langPrefix: 'language-', + mangle: true, + pedantic: false, + renderer: null, + sanitize: false, + sanitizer: null, + silent: false, + smartLists: false, + smartypants: false, + tokenizer: null, + walkTokens: null, + xhtml: false + }; + } + + function changeDefaults(newDefaults) { + module.exports.defaults = newDefaults; + } + + module.exports = { + defaults: getDefaults(), + getDefaults: getDefaults, + changeDefaults: changeDefaults + }; + }); + var defaults_1 = defaults.defaults; + var defaults_2 = defaults.getDefaults; + var defaults_3 = defaults.changeDefaults; + + /** + * Helpers + */ + var escapeTest = /[&<>"']/; + var escapeReplace = /[&<>"']/g; + var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/; + var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g; + var escapeReplacements = { + '&': '&', + '<': '<', + '>': '>', + '"': '"', + "'": ''' + }; + var getEscapeReplacement = function (ch) { return escapeReplacements[ch]; }; + function escape(html, encode) { + if (encode) { + if (escapeTest.test(html)) { + return html.replace(escapeReplace, getEscapeReplacement); + } + } else { + if (escapeTestNoEncode.test(html)) { + return html.replace(escapeReplaceNoEncode, getEscapeReplacement); + } + } + + return html; + } + + var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig; + + function unescape(html) { + // explicitly match decimal, hex, and named HTML entities + return html.replace(unescapeTest, function (_, n) { + n = n.toLowerCase(); + if (n === 'colon') { return ':'; } + if (n.charAt(0) === '#') { + return n.charAt(1) === 'x' + ? String.fromCharCode(parseInt(n.substring(2), 16)) + : String.fromCharCode(+n.substring(1)); + } + return ''; + }); + } + + var caret = /(^|[^\[])\^/g; + function edit(regex, opt) { + regex = regex.source || regex; + opt = opt || ''; + var obj = { + replace: function (name, val) { + val = val.source || val; + val = val.replace(caret, '$1'); + regex = regex.replace(name, val); + return obj; + }, + getRegex: function () { + return new RegExp(regex, opt); + } + }; + return obj; + } + + var nonWordAndColonTest = /[^\w:]/g; + var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i; + function cleanUrl(sanitize, base, href) { + if (sanitize) { + var prot; + try { + prot = decodeURIComponent(unescape(href)) + .replace(nonWordAndColonTest, '') + .toLowerCase(); + } catch (e) { + return null; + } + if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) { + return null; + } + } + if (base && !originIndependentUrl.test(href)) { + href = resolveUrl(base, href); + } + try { + href = encodeURI(href).replace(/%25/g, '%'); + } catch (e) { + return null; + } + return href; + } + + var baseUrls = {}; + var justDomain = /^[^:]+:\/*[^/]*$/; + var protocol = /^([^:]+:)[\s\S]*$/; + var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/; + + function resolveUrl(base, href) { + if (!baseUrls[' ' + base]) { + // we can ignore everything in base after the last slash of its path component, + // but we might need to add _that_ + // https://tools.ietf.org/html/rfc3986#section-3 + if (justDomain.test(base)) { + baseUrls[' ' + base] = base + '/'; + } else { + baseUrls[' ' + base] = rtrim(base, '/', true); + } + } + base = baseUrls[' ' + base]; + var relativeBase = base.indexOf(':') === -1; + + if (href.substring(0, 2) === '//') { + if (relativeBase) { + return href; + } + return base.replace(protocol, '$1') + href; + } else if (href.charAt(0) === '/') { + if (relativeBase) { + return href; + } + return base.replace(domain, '$1') + href; + } else { + return base + href; + } + } + + var noopTest = { exec: function noopTest() {} }; + + function merge$1(obj) { + var arguments$1 = arguments; + + var i = 1, + target, + key; + + for (; i < arguments.length; i++) { + target = arguments$1[i]; + for (key in target) { + if (Object.prototype.hasOwnProperty.call(target, key)) { + obj[key] = target[key]; + } + } + } + + return obj; + } + + function splitCells(tableRow, count) { + // ensure that every cell-delimiting pipe has a space + // before it to distinguish it from an escaped pipe + var row = tableRow.replace(/\|/g, function (match, offset, str) { + var escaped = false, + curr = offset; + while (--curr >= 0 && str[curr] === '\\') { escaped = !escaped; } + if (escaped) { + // odd number of slashes means | is escaped + // so we leave it alone + return '|'; + } else { + // add space before unescaped | + return ' |'; + } + }), + cells = row.split(/ \|/); + var i = 0; + + if (cells.length > count) { + cells.splice(count); + } else { + while (cells.length < count) { cells.push(''); } + } + + for (; i < cells.length; i++) { + // leading or trailing whitespace is ignored per the gfm spec + cells[i] = cells[i].trim().replace(/\\\|/g, '|'); + } + return cells; + } + + // Remove trailing 'c's. Equivalent to str.replace(/c*$/, ''). + // /c*$/ is vulnerable to REDOS. + // invert: Remove suffix of non-c chars instead. Default falsey. + function rtrim(str, c, invert) { + var l = str.length; + if (l === 0) { + return ''; + } + + // Length of suffix matching the invert condition. + var suffLen = 0; + + // Step left until we fail to match the invert condition. + while (suffLen < l) { + var currChar = str.charAt(l - suffLen - 1); + if (currChar === c && !invert) { + suffLen++; + } else if (currChar !== c && invert) { + suffLen++; + } else { + break; + } + } + + return str.substr(0, l - suffLen); + } + + function findClosingBracket(str, b) { + if (str.indexOf(b[1]) === -1) { + return -1; + } + var l = str.length; + var level = 0, + i = 0; + for (; i < l; i++) { + if (str[i] === '\\') { + i++; + } else if (str[i] === b[0]) { + level++; + } else if (str[i] === b[1]) { + level--; + if (level < 0) { + return i; + } + } + } + return -1; + } + + function checkSanitizeDeprecation(opt) { + if (opt && opt.sanitize && !opt.silent) { + console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options'); + } + } + + // copied from https://stackoverflow.com/a/5450113/806777 + function repeatString(pattern, count) { + if (count < 1) { + return ''; + } + var result = ''; + while (count > 1) { + if (count & 1) { + result += pattern; + } + count >>= 1; + pattern += pattern; + } + return result + pattern; + } + + var helpers = { + escape: escape, + unescape: unescape, + edit: edit, + cleanUrl: cleanUrl, + resolveUrl: resolveUrl, + noopTest: noopTest, + merge: merge$1, + splitCells: splitCells, + rtrim: rtrim, + findClosingBracket: findClosingBracket, + checkSanitizeDeprecation: checkSanitizeDeprecation, + repeatString: repeatString + }; + + var defaults$1 = defaults.defaults; + + var rtrim$1 = helpers.rtrim; + var splitCells$1 = helpers.splitCells; + var escape$1 = helpers.escape; + var findClosingBracket$1 = helpers.findClosingBracket; + + function outputLink(cap, link, raw) { + var href = link.href; + var title = link.title ? escape$1(link.title) : null; + var text = cap[1].replace(/\\([\[\]])/g, '$1'); + + if (cap[0].charAt(0) !== '!') { + return { + type: 'link', + raw: raw, + href: href, + title: title, + text: text + }; + } else { + return { + type: 'image', + raw: raw, + href: href, + title: title, + text: escape$1(text) + }; + } + } + + function indentCodeCompensation(raw, text) { + var matchIndentToCode = raw.match(/^(\s+)(?:```)/); + + if (matchIndentToCode === null) { + return text; + } + + var indentToCode = matchIndentToCode[1]; + + return text + .split('\n') + .map(function (node) { + var matchIndentInNode = node.match(/^\s+/); + if (matchIndentInNode === null) { + return node; + } + + var indentInNode = matchIndentInNode[0]; + + if (indentInNode.length >= indentToCode.length) { + return node.slice(indentToCode.length); + } + + return node; + }) + .join('\n'); + } + + /** + * Tokenizer + */ + var Tokenizer = /*@__PURE__*/(function () { + function Tokenizer(options) { + this.options = options || defaults$1; + } + + Tokenizer.prototype.space = function space (src) { + var cap = this.rules.block.newline.exec(src); + if (cap) { + if (cap[0].length > 1) { + return { + type: 'space', + raw: cap[0] + }; + } + return { raw: '\n' }; + } + }; + + Tokenizer.prototype.code = function code (src, tokens) { + var cap = this.rules.block.code.exec(src); + if (cap) { + var lastToken = tokens[tokens.length - 1]; + // An indented code block cannot interrupt a paragraph. + if (lastToken && lastToken.type === 'paragraph') { + return { + raw: cap[0], + text: cap[0].trimRight() + }; + } + + var text = cap[0].replace(/^ {4}/gm, ''); + return { + type: 'code', + raw: cap[0], + codeBlockStyle: 'indented', + text: !this.options.pedantic + ? rtrim$1(text, '\n') + : text + }; + } + }; + + Tokenizer.prototype.fences = function fences (src) { + var cap = this.rules.block.fences.exec(src); + if (cap) { + var raw = cap[0]; + var text = indentCodeCompensation(raw, cap[3] || ''); + + return { + type: 'code', + raw: raw, + lang: cap[2] ? cap[2].trim() : cap[2], + text: text + }; + } + }; + + Tokenizer.prototype.heading = function heading (src) { + var cap = this.rules.block.heading.exec(src); + if (cap) { + return { + type: 'heading', + raw: cap[0], + depth: cap[1].length, + text: cap[2] + }; + } + }; + + Tokenizer.prototype.kheading = function kheading (src) { + var cap = this.rules.block.kheading.exec(src); + if (cap) { + return { + type: 'heading', + raw: cap[0], + depth: parseInt(cap[1]), + text: cap[2] + }; + } + }; + + Tokenizer.prototype.nptable = function nptable (src) { + var cap = this.rules.block.nptable.exec(src); + if (cap) { + var item = { + type: 'table', + header: splitCells$1(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [], + raw: cap[0] + }; + + if (item.header.length === item.align.length) { + var l = item.align.length; + var i; + for (i = 0; i < l; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + l = item.cells.length; + for (i = 0; i < l; i++) { + item.cells[i] = splitCells$1(item.cells[i], item.header.length); + } + + return item; + } + } + }; + + Tokenizer.prototype.hr = function hr (src) { + var cap = this.rules.block.hr.exec(src); + if (cap) { + return { + type: 'hr', + raw: cap[0] + }; + } + }; + + Tokenizer.prototype.blockquote = function blockquote (src) { + var cap = this.rules.block.blockquote.exec(src); + if (cap) { + var text = cap[0].replace(/^ *> ?/gm, ''); + + return { + type: 'blockquote', + raw: cap[0], + text: text + }; + } + }; + + Tokenizer.prototype.list = function list (src) { + var cap = this.rules.block.list.exec(src); + if (cap) { + var raw = cap[0]; + var bull = cap[2]; + var isordered = bull.length > 1; + var isparen = bull[bull.length - 1] === ')'; + + var list = { + type: 'list', + raw: raw, + ordered: isordered, + start: isordered ? +bull.slice(0, -1) : '', + loose: false, + items: [] + }; + + // Get each top-level item. + var itemMatch = cap[0].match(this.rules.block.item); + + var next = false, + item, + space, + b, + addBack, + loose, + istask, + ischecked; + + var l = itemMatch.length; + for (var i = 0; i < l; i++) { + item = itemMatch[i]; + raw = item; + + // Remove the list item's bullet + // so it is seen as the next token. + space = item.length; + item = item.replace(/^ *([*+-]|\d+[.)]) ?/, ''); + + // Outdent whatever the + // list item contains. Hacky. + if (~item.indexOf('\n ')) { + space -= item.length; + item = !this.options.pedantic + ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') + : item.replace(/^ {1,4}/gm, ''); + } + + // Determine whether the next list item belongs here. + // Backpedal if it does not belong in this list. + if (i !== l - 1) { + b = this.rules.block.bullet.exec(itemMatch[i + 1])[0]; + if (isordered ? b.length === 1 || (!isparen && b[b.length - 1] === ')') + : (b.length > 1 || (this.options.smartLists && b !== bull))) { + addBack = itemMatch.slice(i + 1).join('\n'); + list.raw = list.raw.substring(0, list.raw.length - addBack.length); + i = l - 1; + } + } + + // Determine whether item is loose or not. + // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ + // for discount behavior. + loose = next || /\n\n(?!\s*$)/.test(item); + if (i !== l - 1) { + next = item.charAt(item.length - 1) === '\n'; + if (!loose) { loose = next; } + } + + if (loose) { + list.loose = true; + } + + // Check for task list items + istask = /^\[[ xX]\] /.test(item); + ischecked = undefined; + if (istask) { + ischecked = item[1] !== ' '; + item = item.replace(/^\[[ xX]\] +/, ''); + } + + list.items.push({ + type: 'list_item', + raw: raw, + task: istask, + checked: ischecked, + loose: loose, + text: item + }); + } + + return list; + } + }; + + Tokenizer.prototype.html = function html (src) { + var cap = this.rules.block.html.exec(src); + if (cap) { + return { + type: this.options.sanitize + ? 'paragraph' + : 'html', + raw: cap[0], + pre: !this.options.sanitizer + && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), + text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape$1(cap[0])) : cap[0] + }; + } + }; + + Tokenizer.prototype.def = function def (src) { + var cap = this.rules.block.def.exec(src); + if (cap) { + if (cap[3]) { cap[3] = cap[3].substring(1, cap[3].length - 1); } + var tag = cap[1].toLowerCase().replace(/\s+/g, ' '); + return { + tag: tag, + raw: cap[0], + href: cap[2], + title: cap[3] + }; + } + }; + + Tokenizer.prototype.table = function table (src) { + var cap = this.rules.block.table.exec(src); + if (cap) { + var item = { + type: 'table', + header: splitCells$1(cap[1].replace(/^ *| *\| *$/g, '')), + align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), + cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] + }; + + if (item.header.length === item.align.length) { + item.raw = cap[0]; + + var l = item.align.length; + var i; + for (i = 0; i < l; i++) { + if (/^ *-+: *$/.test(item.align[i])) { + item.align[i] = 'right'; + } else if (/^ *:-+: *$/.test(item.align[i])) { + item.align[i] = 'center'; + } else if (/^ *:-+ *$/.test(item.align[i])) { + item.align[i] = 'left'; + } else { + item.align[i] = null; + } + } + + l = item.cells.length; + for (i = 0; i < l; i++) { + item.cells[i] = splitCells$1( + item.cells[i].replace(/^ *\| *| *\| *$/g, ''), + item.header.length); + } + + return item; + } + } + }; + + Tokenizer.prototype.lheading = function lheading (src) { + var cap = this.rules.block.lheading.exec(src); + if (cap) { + return { + type: 'heading', + raw: cap[0], + depth: cap[2].charAt(0) === '=' ? 1 : 2, + text: cap[1] + }; + } + }; + + Tokenizer.prototype.paragraph = function paragraph (src) { + var cap = this.rules.block.paragraph.exec(src); + if (cap) { + return { + type: 'paragraph', + raw: cap[0], + text: cap[1].charAt(cap[1].length - 1) === '\n' + ? cap[1].slice(0, -1) + : cap[1] + }; + } + }; + + Tokenizer.prototype.text = function text (src, tokens) { + var cap = this.rules.block.text.exec(src); + if (cap) { + var lastToken = tokens[tokens.length - 1]; + if (lastToken && lastToken.type === 'text') { + return { + raw: cap[0], + text: cap[0] + }; + } + + return { + type: 'text', + raw: cap[0], + text: cap[0] + }; + } + }; + + Tokenizer.prototype.escape = function escape$1$1 (src) { + var cap = this.rules.inline.escape.exec(src); + if (cap) { + return { + type: 'escape', + raw: cap[0], + text: escape$1(cap[1]) + }; + } + }; + + Tokenizer.prototype.tag = function tag (src, inLink, inRawBlock) { + var cap = this.rules.inline.tag.exec(src); + if (cap) { + if (!inLink && /^/i.test(cap[0])) { + inLink = false; + } + if (!inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + inRawBlock = true; + } else if (inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { + inRawBlock = false; + } + + return { + type: this.options.sanitize + ? 'text' + : 'html', + raw: cap[0], + inLink: inLink, + inRawBlock: inRawBlock, + text: this.options.sanitize + ? (this.options.sanitizer + ? this.options.sanitizer(cap[0]) + : escape$1(cap[0])) + : cap[0] + }; + } + }; + + Tokenizer.prototype.link = function link (src) { + var cap = this.rules.inline.link.exec(src); + if (cap) { + var lastParenIndex = findClosingBracket$1(cap[2], '()'); + if (lastParenIndex > -1) { + var start = cap[0].indexOf('!') === 0 ? 5 : 4; + var linkLen = start + cap[1].length + lastParenIndex; + cap[2] = cap[2].substring(0, lastParenIndex); + cap[0] = cap[0].substring(0, linkLen).trim(); + cap[3] = ''; + } + var href = cap[2]; + var title = ''; + if (this.options.pedantic) { + var link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); + + if (link) { + href = link[1]; + title = link[3]; + } else { + title = ''; + } + } else { + title = cap[3] ? cap[3].slice(1, -1) : ''; + } + href = href.trim().replace(/^<([\s\S]*)>$/, '$1'); + var token = outputLink(cap, { + href: href ? href.replace(this.rules.inline._escapes, '$1') : href, + title: title ? title.replace(this.rules.inline._escapes, '$1') : title + }, cap[0]); + return token; + } + }; + + Tokenizer.prototype.reflink = function reflink (src, links) { + var cap; + if ((cap = this.rules.inline.reflink.exec(src)) + || (cap = this.rules.inline.nolink.exec(src))) { + var link = (cap[2] || cap[1]).replace(/\s+/g, ' '); + link = links[link.toLowerCase()]; + if (!link || !link.href) { + var text = cap[0].charAt(0); + return { + type: 'text', + raw: text, + text: text + }; + } + var token = outputLink(cap, link, cap[0]); + return token; + } + }; + + Tokenizer.prototype.strong = function strong (src, maskedSrc, prevChar) { + if ( prevChar === void 0 ) prevChar = ''; + + var match = this.rules.inline.strong.start.exec(src); + + if (match && (!match[1] || (match[1] && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))))) { + maskedSrc = maskedSrc.slice(-1 * src.length); + var endReg = match[0] === '**' ? this.rules.inline.strong.endAst : this.rules.inline.strong.endUnd; + + endReg.lastIndex = 0; + + var cap; + while ((match = endReg.exec(maskedSrc)) != null) { + cap = this.rules.inline.strong.middle.exec(maskedSrc.slice(0, match.index + 3)); + if (cap) { + return { + type: 'strong', + raw: src.slice(0, cap[0].length), + text: src.slice(2, cap[0].length - 2) + }; + } + } + } + }; + + Tokenizer.prototype.em = function em (src, maskedSrc, prevChar) { + if ( prevChar === void 0 ) prevChar = ''; + + var match = this.rules.inline.em.start.exec(src); - // Length of suffix matching the invert condition. - var suffLen = 0; + if (match && (!match[1] || (match[1] && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))))) { + maskedSrc = maskedSrc.slice(-1 * src.length); + var endReg = match[0] === '*' ? this.rules.inline.em.endAst : this.rules.inline.em.endUnd; - // Step left until we fail to match the invert condition. - while (suffLen < l) { - var currChar = str.charAt(l - suffLen - 1); - if (currChar === c && !invert) { - suffLen++; - } else if (currChar !== c && invert) { - suffLen++; - } else { - break; + endReg.lastIndex = 0; + + var cap; + while ((match = endReg.exec(maskedSrc)) != null) { + cap = this.rules.inline.em.middle.exec(maskedSrc.slice(0, match.index + 2)); + if (cap) { + return { + type: 'em', + raw: src.slice(0, cap[0].length), + text: src.slice(1, cap[0].length - 1) + }; + } + } } - } + }; - return str.substr(0, l - suffLen); - } + Tokenizer.prototype.codespan = function codespan (src) { + var cap = this.rules.inline.code.exec(src); + if (cap) { + var text = cap[2].replace(/\n/g, ' '); + var hasNonSpaceChars = /[^ ]/.test(text); + var hasSpaceCharsOnBothEnds = text.startsWith(' ') && text.endsWith(' '); + if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) { + text = text.substring(1, text.length - 1); + } + text = escape$1(text, true); + return { + type: 'codespan', + raw: cap[0], + text: text + }; + } + }; - function findClosingBracket(str, b) { - if (str.indexOf(b[1]) === -1) { - return -1; - } - var l = str.length; - var level = 0, - i = 0; - for (; i < l; i++) { - if (str[i] === '\\') { - i++; - } else if (str[i] === b[0]) { - level++; - } else if (str[i] === b[1]) { - level--; - if (level < 0) { - return i; + Tokenizer.prototype.br = function br (src) { + var cap = this.rules.inline.br.exec(src); + if (cap) { + return { + type: 'br', + raw: cap[0] + }; + } + }; + + Tokenizer.prototype.del = function del (src) { + var cap = this.rules.inline.del.exec(src); + if (cap) { + return { + type: 'del', + raw: cap[0], + text: cap[1] + }; + } + }; + + Tokenizer.prototype.autolink = function autolink (src, mangle) { + var cap = this.rules.inline.autolink.exec(src); + if (cap) { + var text, href; + if (cap[2] === '@') { + text = escape$1(this.options.mangle ? mangle(cap[1]) : cap[1]); + href = 'mailto:' + text; + } else { + text = escape$1(cap[1]); + href = text; + } + + return { + type: 'link', + raw: cap[0], + text: text, + href: href, + tokens: [ + { + type: 'text', + raw: text, + text: text + } + ] + }; + } + }; + + Tokenizer.prototype.url = function url (src, mangle) { + var cap; + if (cap = this.rules.inline.url.exec(src)) { + var text, href; + if (cap[2] === '@') { + text = escape$1(this.options.mangle ? mangle(cap[0]) : cap[0]); + href = 'mailto:' + text; + } else { + // do extended autolink path validation + var prevCapZero; + do { + prevCapZero = cap[0]; + cap[0] = this.rules.inline._backpedal.exec(cap[0])[0]; + } while (prevCapZero !== cap[0]); + text = escape$1(cap[0]); + if (cap[1] === 'www.') { + href = 'http://' + text; + } else { + href = text; + } } + return { + type: 'link', + raw: cap[0], + text: text, + href: href, + tokens: [ + { + type: 'text', + raw: text, + text: text + } + ] + }; } - } - return -1; - } + }; - function checkSanitizeDeprecation(opt) { - if (opt && opt.sanitize && !opt.silent) { - console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options'); - } - } + Tokenizer.prototype.inlineText = function inlineText (src, inRawBlock, smartypants) { + var cap = this.rules.inline.text.exec(src); + if (cap) { + var text; + if (inRawBlock) { + text = this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape$1(cap[0])) : cap[0]; + } else { + text = escape$1(this.options.smartypants ? smartypants(cap[0]) : cap[0]); + } + return { + type: 'text', + raw: cap[0], + text: text + }; + } + }; - var helpers = { - escape: escape, - unescape: unescape, - edit: edit, - cleanUrl: cleanUrl, - resolveUrl: resolveUrl, - noopTest: noopTest, - merge: merge$1, - splitCells: splitCells, - rtrim: rtrim, - findClosingBracket: findClosingBracket, - checkSanitizeDeprecation: checkSanitizeDeprecation - }; + return Tokenizer; + }()); var noopTest$1 = helpers.noopTest; var edit$1 = helpers.edit; @@ -1360,15 +3248,16 @@ code: /^( {4}[^\n]+\n*)+/, fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/, hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/, - heading: /^ {0,3}#(\d{1,3}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/, + heading: /^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/, + kheading: /^ {0,3}#(\d{1,3}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/, blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/, list: /^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/, html: '^ {0,3}(?:' // optional indentation + '<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)' // (1) + '|comment[^\\n]*(\\n+|$)' // (2) - + '|<\\?[\\s\\S]*?\\?>\\n*' // (3) - + '|\\n*' // (4) - + '|\\n*' // (5) + + '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3) + + '|\\n*|$)' // (4) + + '|\\n*|$)' // (5) + '|)[\\s\\S]*?(?:\\n{2,}|$)' // (6) + '|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) open tag + '|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)' // (7) closing tag @@ -1379,7 +3268,7 @@ lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/, // regex template, placeholders will be replaced according to different paragraph // interruption rules of commonmark and the original markdown spec: - _paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/, + _paragraph: /^([^\n]+(?:\n(?!hr|heading|kheading|lheading|blockquote|fences|list|html)[^\n]+)*)/, text: /^[^\n]+/ }; @@ -1390,7 +3279,7 @@ .replace('title', block._title) .getRegex(); - block.bullet = /(?:[*+-]|\d{1,9}\.)/; + block.bullet = /(?:[*+-]|\d{1,9}[.)])/; block.item = /^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/; block.item = edit$1(block.item, 'gm') .replace(/bull/g, block.bullet) @@ -1404,11 +3293,11 @@ block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' - + '|figure|footer|form|frame|frameset|h\\d{1,3}|head|header|hr|html|iframe' + + '|figure|footer|form|frame|frameset|h[1-6]|h\\d{1,3}|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul'; - block._comment = //; + block._comment = /|$)/; block.html = edit$1(block.html, 'i') .replace('comment', block._comment) .replace('tag', block._tag) @@ -1417,7 +3306,8 @@ block.paragraph = edit$1(block._paragraph) .replace('hr', block.hr) - .replace('heading', ' {0,3}#\\d{1,3} ') + .replace('heading', ' {0,3}#{1,6} ') + .replace('kheading', ' {0,3}#\\d{1,3} ') .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs .replace('blockquote', ' {0,3}>') .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') @@ -1442,16 +3332,17 @@ block.gfm = merge$2({}, block.normal, { nptable: '^ *([^|\\n ].*\\|.*)\\n' // Header - + ' *([-:]+ *\\|[-| :]*)' // Align - + '(?:\\n((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)', // Cells + + ' {0,3}([-:]+ *\\|[-| :]*)' // Align + + '(?:\\n((?:(?!\\n|hr|heading|kheading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)', // Cells table: '^ *\\|(.+)\\n' // Header - + ' *\\|?( *[-:]+[-| :]*)' // Align - + '(?:\\n *((?:(?!\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells + + ' {0,3}\\|?( *[-:]+[-| :]*)' // Align + + '(?:\\n *((?:(?!\\n|hr|heading|kheading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells }); block.gfm.nptable = edit$1(block.gfm.nptable) .replace('hr', block.hr) - .replace('heading', ' {0,3}#\\d{1,3} ') + .replace('heading', ' {0,3}#{1,6} ') + .replace('kheading', ' {0,3}#\\d{1,3} ') .replace('blockquote', ' {0,3}>') .replace('code', ' {4}[^\\n]') .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') @@ -1462,7 +3353,8 @@ block.gfm.table = edit$1(block.gfm.table) .replace('hr', block.hr) - .replace('heading', ' {0,3}#\\d{1,3} ') + .replace('heading', ' {0,3}#{1,6} ') + .replace('kheading', ' {0,3}#\\d{1,3} ') .replace('blockquote', ' {0,3}>') .replace('code', ' {4}[^\\n]') .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n') @@ -1487,11 +3379,11 @@ + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b') .getRegex(), def: /^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, - heading: /^ *#(\d{1,3}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/, + heading: /^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/, fences: noopTest$1, // fences not supported paragraph: edit$1(block.normal._paragraph) .replace('hr', block.hr) - .replace('heading', ' *#\\d{1,3} *[^\n]') + .replace('heading', ' *#{1,6} *[^\n]') .replace('lheading', block.lheading) .replace('blockquote', ' {0,3}>') .replace('|fences', '') @@ -1516,18 +3408,76 @@ link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/, reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/, nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/, - strong: /^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/, - em: /^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/, + reflinkSearch: 'reflink|nolink(?!\\()', + strong: { + start: /^(?:(\*\*(?=[*punctuation]))|\*\*)(?![\s])|__/, // (1) returns if starts w/ punctuation + middle: /^\*\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*\*$|^__(?![\s])((?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?)__$/, + endAst: /[^punctuation\s]\*\*(?!\*)|[punctuation]\*\*(?!\*)(?:(?=[punctuation_\s]|$))/, // last char can't be punct, or final * must also be followed by punct (or endline) + endUnd: /[^\s]__(?!_)(?:(?=[punctuation*\s])|$)/ // last char can't be a space, and final _ must preceed punct or \s (or endline) + }, + em: { + start: /^(?:(\*(?=[punctuation]))|\*)(?![*\s])|_/, // (1) returns if starts w/ punctuation + middle: /^\*(?:(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)|\*(?:(?!overlapSkip)(?:[^*]|\\\*)|overlapSkip)*?\*)+?\*$|^_(?![_\s])(?:(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)|_(?:(?!overlapSkip)(?:[^_]|\\_)|overlapSkip)*?_)+?_$/, + endAst: /[^punctuation\s]\*(?!\*)|[punctuation]\*(?!\*)(?:(?=[punctuation_\s]|$))/, // last char can't be punct, or final * must also be followed by punct (or endline) + endUnd: /[^\s]_(?!_)(?:(?=[punctuation*\s])|$)/ // last char can't be a space, and final _ must preceed punct or \s (or endline) + }, code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, br: /^( {2,}|\\)\n(?!\s*$)/, del: noopTest$1, - text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\?@\\[^_{|}~'; - inline.em = edit$1(inline.em).replace(/punctuation/g, inline._punctuation).getRegex(); + // without * and _ to workaround cases with double emphasis + inline._punctuation = '!"#$%&\'()+\\-.,/:;<=>?@\\[\\]`^{|}~'; + inline.punctuation = edit$1(inline.punctuation).replace(/punctuation/g, inline._punctuation).getRegex(); + + // sequences em should skip over [title](link), `code`, + inline._blockSkip = '\\[[^\\]]*?\\]\\([^\\)]*?\\)|`[^`]*?`|<[^>]*?>'; + inline._overlapSkip = '__[^_]*?__|\\*\\*\\[^\\*\\]*?\\*\\*'; + + inline._comment = edit$1(block._comment).replace('(?:-->|$)', '-->').getRegex(); + + inline.em.start = edit$1(inline.em.start) + .replace(/punctuation/g, inline._punctuation) + .getRegex(); + + inline.em.middle = edit$1(inline.em.middle) + .replace(/punctuation/g, inline._punctuation) + .replace(/overlapSkip/g, inline._overlapSkip) + .getRegex(); + + inline.em.endAst = edit$1(inline.em.endAst, 'g') + .replace(/punctuation/g, inline._punctuation) + .getRegex(); + + inline.em.endUnd = edit$1(inline.em.endUnd, 'g') + .replace(/punctuation/g, inline._punctuation) + .getRegex(); + + inline.strong.start = edit$1(inline.strong.start) + .replace(/punctuation/g, inline._punctuation) + .getRegex(); + + inline.strong.middle = edit$1(inline.strong.middle) + .replace(/punctuation/g, inline._punctuation) + .replace(/overlapSkip/g, inline._overlapSkip) + .getRegex(); + + inline.strong.endAst = edit$1(inline.strong.endAst, 'g') + .replace(/punctuation/g, inline._punctuation) + .getRegex(); + + inline.strong.endUnd = edit$1(inline.strong.endUnd, 'g') + .replace(/punctuation/g, inline._punctuation) + .getRegex(); + + inline.blockSkip = edit$1(inline._blockSkip, 'g') + .getRegex(); + + inline.overlapSkip = edit$1(inline._overlapSkip, 'g') + .getRegex(); inline._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g; @@ -1541,11 +3491,11 @@ inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/; inline.tag = edit$1(inline.tag) - .replace('comment', block._comment) + .replace('comment', inline._comment) .replace('attribute', inline._attribute) .getRegex(); - inline._label = /(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/; + inline._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/; inline._href = /<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/; inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/; @@ -1559,6 +3509,11 @@ .replace('label', inline._label) .getRegex(); + inline.reflinkSearch = edit$1(inline.reflinkSearch, 'g') + .replace('reflink', inline.reflink) + .replace('nolink', inline.nolink) + .getRegex(); + /** * Normal Inline Grammar */ @@ -1570,8 +3525,18 @@ */ inline.pedantic = merge$2({}, inline.normal, { - strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, - em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/, + strong: { + start: /^__|\*\*/, + middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, + endAst: /\*\*(?!\*)/g, + endUnd: /__(?!_)/g + }, + em: { + start: /^_|\*/, + middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/, + endAst: /\*(?!\*)/g, + endUnd: /_(?!_)/g + }, link: edit$1(/^!?\[(label)\]\((.*?)\)/) .replace('label', inline._label) .getRegex(), @@ -1590,7 +3555,7 @@ url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/, _backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/, del: /^~+(?=\S)([\s\S]*?\S)~+/, - text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\ 0.5) { + ch = 'x' + ch.toString(16); + } + out += '&#' + ch + ';'; + } + + return out; + } /** * Block Lexer @@ -1628,23 +3633,40 @@ function Lexer(options) { this.tokens = []; this.tokens.links = Object.create(null); - this.options = options || defaults$1; - this.rules = block$1.normal; + this.options = options || defaults$2; + this.options.tokenizer = this.options.tokenizer || new Tokenizer(); + this.tokenizer = this.options.tokenizer; + this.tokenizer.options = this.options; + + var rules = { + block: block$1.normal, + inline: inline$1.normal + }; if (this.options.pedantic) { - this.rules = block$1.pedantic; + rules.block = block$1.pedantic; + rules.inline = inline$1.pedantic; } else if (this.options.gfm) { - this.rules = block$1.gfm; + rules.block = block$1.gfm; + if (this.options.breaks) { + rules.inline = inline$1.breaks; + } else { + rules.inline = inline$1.gfm; + } } + this.tokenizer.rules = rules; } var staticAccessors = { rules: { configurable: true } }; /** - * Expose Block Rules + * Expose Rules */ staticAccessors.rules.get = function () { - return block$1; + return { + block: block$1, + inline: inline$1 + }; }; /** @@ -1654,6 +3676,15 @@ var lexer = new Lexer(options); return lexer.lex(src); }; + + /** + * Static Lex Inline Method + */ + Lexer.lexInline = function lexInline (src, options) { + var lexer = new Lexer(options); + return lexer.inlineTokens(src); + }; + /** * Preprocessing */ @@ -1662,357 +3693,369 @@ .replace(/\r\n|\r/g, '\n') .replace(/\t/g, ' '); - return this.token(src, true); + this.blockTokens(src, this.tokens, true); + + this.inline(this.tokens); + + return this.tokens; }; + /** * Lexing */ - Lexer.prototype.token = function token (src, top) { + Lexer.prototype.blockTokens = function blockTokens (src, tokens, top) { + if ( tokens === void 0 ) tokens = []; + if ( top === void 0 ) top = true; + src = src.replace(/^ +$/gm, ''); - var next, - loose, - cap, - bull, - b, - item, - listStart, - listItems, - t, - space, - i, - tag, - l, - isordered, - istask, - ischecked; + var token, i, l, lastToken; while (src) { // newline - if (cap = this.rules.newline.exec(src)) { - src = src.substring(cap[0].length); - if (cap[0].length > 1) { - this.tokens.push({ - type: 'space' - }); + if (token = this.tokenizer.space(src)) { + src = src.substring(token.raw.length); + if (token.type) { + tokens.push(token); } + continue; } // code - if (cap = this.rules.code.exec(src)) { - var lastToken = this.tokens[this.tokens.length - 1]; - src = src.substring(cap[0].length); - // An indented code block cannot interrupt a paragraph. - if (lastToken && lastToken.type === 'paragraph') { - lastToken.text += '\n' + cap[0].trimRight(); + if (token = this.tokenizer.code(src, tokens)) { + src = src.substring(token.raw.length); + if (token.type) { + tokens.push(token); } else { - cap = cap[0].replace(/^ {4}/gm, ''); - this.tokens.push({ - type: 'code', - codeBlockStyle: 'indented', - text: !this.options.pedantic - ? rtrim$1(cap, '\n') - : cap - }); + lastToken = tokens[tokens.length - 1]; + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; } continue; } // fences - if (cap = this.rules.fences.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'code', - lang: cap[2] ? cap[2].trim() : cap[2], - text: cap[3] || '' - }); + if (token = this.tokenizer.fences(src)) { + src = src.substring(token.raw.length); + tokens.push(token); continue; } // heading - if (cap = this.rules.heading.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'heading', - depth: parseInt(cap[1]), - text: cap[2] - }); + if (token = this.tokenizer.heading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); continue; } - // table no leading pipe (gfm) - if (cap = this.rules.nptable.exec(src)) { - item = { - type: 'table', - header: splitCells$1(cap[1].replace(/^ *| *\| *$/g, '')), - align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), - cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] - }; - - if (item.header.length === item.align.length) { - src = src.substring(cap[0].length); - - for (i = 0; i < item.align.length; i++) { - if (/^ *-+: *$/.test(item.align[i])) { - item.align[i] = 'right'; - } else if (/^ *:-+: *$/.test(item.align[i])) { - item.align[i] = 'center'; - } else if (/^ *:-+ *$/.test(item.align[i])) { - item.align[i] = 'left'; - } else { - item.align[i] = null; - } - } - - for (i = 0; i < item.cells.length; i++) { - item.cells[i] = splitCells$1(item.cells[i], item.header.length); - } - - this.tokens.push(item); + // kheading + if (token = this.tokenizer.kheading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } - continue; - } + // table no leading pipe (gfm) + if (token = this.tokenizer.nptable(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; } // hr - if (cap = this.rules.hr.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'hr' - }); + if (token = this.tokenizer.hr(src)) { + src = src.substring(token.raw.length); + tokens.push(token); continue; } // blockquote - if (cap = this.rules.blockquote.exec(src)) { - src = src.substring(cap[0].length); - - this.tokens.push({ - type: 'blockquote_start' - }); + if (token = this.tokenizer.blockquote(src)) { + src = src.substring(token.raw.length); + token.tokens = this.blockTokens(token.text, [], top); + tokens.push(token); + continue; + } - cap = cap[0].replace(/^ *> ?/gm, ''); + // list + if (token = this.tokenizer.list(src)) { + src = src.substring(token.raw.length); + l = token.items.length; + for (i = 0; i < l; i++) { + token.items[i].tokens = this.blockTokens(token.items[i].text, [], false); + } + tokens.push(token); + continue; + } - // Pass `top` to keep the current - // "toplevel" state. This is exactly - // how markdown.pl works. - this.token(cap, top); + // html + if (token = this.tokenizer.html(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } - this.tokens.push({ - type: 'blockquote_end' - }); + // def + if (top && (token = this.tokenizer.def(src))) { + src = src.substring(token.raw.length); + if (!this.tokens.links[token.tag]) { + this.tokens.links[token.tag] = { + href: token.href, + title: token.title + }; + } + continue; + } + // table (gfm) + if (token = this.tokenizer.table(src)) { + src = src.substring(token.raw.length); + tokens.push(token); continue; } - // list - if (cap = this.rules.list.exec(src)) { - src = src.substring(cap[0].length); - bull = cap[2]; - isordered = bull.length > 1; - - listStart = { - type: 'list_start', - ordered: isordered, - start: isordered ? +bull : '', - loose: false - }; + // lheading + if (token = this.tokenizer.lheading(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } - this.tokens.push(listStart); + // top-level paragraph + if (top && (token = this.tokenizer.paragraph(src))) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } - // Get each top-level item. - cap = cap[0].match(this.rules.item); + // text + if (token = this.tokenizer.text(src, tokens)) { + src = src.substring(token.raw.length); + if (token.type) { + tokens.push(token); + } else { + lastToken = tokens[tokens.length - 1]; + lastToken.raw += '\n' + token.raw; + lastToken.text += '\n' + token.text; + } + continue; + } - listItems = []; - next = false; - l = cap.length; - i = 0; + if (src) { + var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + if (this.options.silent) { + console.error(errMsg); + break; + } else { + throw new Error(errMsg); + } + } + } - for (; i < l; i++) { - item = cap[i]; + return tokens; + }; - // Remove the list item's bullet - // so it is seen as the next token. - space = item.length; - item = item.replace(/^ *([*+-]|\d+\.) */, ''); + Lexer.prototype.inline = function inline (tokens) { + var i, + j, + k, + l2, + row, + token; + + var l = tokens.length; + for (i = 0; i < l; i++) { + token = tokens[i]; + switch (token.type) { + case 'paragraph': + case 'text': + case 'heading': { + token.tokens = []; + this.inlineTokens(token.text, token.tokens); + break; + } + case 'table': { + token.tokens = { + header: [], + cells: [] + }; - // Outdent whatever the - // list item contains. Hacky. - if (~item.indexOf('\n ')) { - space -= item.length; - item = !this.options.pedantic - ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '') - : item.replace(/^ {1,4}/gm, ''); + // header + l2 = token.header.length; + for (j = 0; j < l2; j++) { + token.tokens.header[j] = []; + this.inlineTokens(token.header[j], token.tokens.header[j]); } - // Determine whether the next list item belongs here. - // Backpedal if it does not belong in this list. - if (i !== l - 1) { - b = block$1.bullet.exec(cap[i + 1])[0]; - if (bull.length > 1 ? b.length === 1 - : (b.length > 1 || (this.options.smartLists && b !== bull))) { - src = cap.slice(i + 1).join('\n') + src; - i = l - 1; + // cells + l2 = token.cells.length; + for (j = 0; j < l2; j++) { + row = token.cells[j]; + token.tokens.cells[j] = []; + for (k = 0; k < row.length; k++) { + token.tokens.cells[j][k] = []; + this.inlineTokens(row[k], token.tokens.cells[j][k]); } } - // Determine whether item is loose or not. - // Use: /(^|\n)(?! )[^\n]+\n\n(?!\s*$)/ - // for discount behavior. - loose = next || /\n\n(?!\s*$)/.test(item); - if (i !== l - 1) { - next = item.charAt(item.length - 1) === '\n'; - if (!loose) { loose = next; } - } - - if (loose) { - listStart.loose = true; - } - - // Check for task list items - istask = /^\[[ xX]\] /.test(item); - ischecked = undefined; - if (istask) { - ischecked = item[1] !== ' '; - item = item.replace(/^\[[ xX]\] +/, ''); + break; + } + case 'blockquote': { + this.inline(token.tokens); + break; + } + case 'list': { + l2 = token.items.length; + for (j = 0; j < l2; j++) { + this.inline(token.items[j].tokens); } - - t = { - type: 'list_item_start', - task: istask, - checked: ischecked, - loose: loose - }; - - listItems.push(t); - this.tokens.push(t); - - // Recurse. - this.token(item, false); - - this.tokens.push({ - type: 'list_item_end' - }); + break; } + } + } + + return tokens; + }; - if (listStart.loose) { - l = listItems.length; - i = 0; - for (; i < l; i++) { - listItems[i].loose = true; + /** + * Lexing/Compiling + */ + Lexer.prototype.inlineTokens = function inlineTokens (src, tokens, inLink, inRawBlock, prevChar) { + if ( tokens === void 0 ) tokens = []; + if ( inLink === void 0 ) inLink = false; + if ( inRawBlock === void 0 ) inRawBlock = false; + if ( prevChar === void 0 ) prevChar = ''; + + var token; + + // String with links masked to avoid interference with em and strong + var maskedSrc = src; + var match; + + // Mask out reflinks + if (this.tokens.links) { + var links = Object.keys(this.tokens.links); + if (links.length > 0) { + while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) { + if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) { + maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString$1('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex); } } + } + } + // Mask out other blocks + while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) { + maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString$1('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex); + } - this.tokens.push({ - type: 'list_end' - }); + while (src) { + // escape + if (token = this.tokenizer.escape(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } + // tag + if (token = this.tokenizer.tag(src, inLink, inRawBlock)) { + src = src.substring(token.raw.length); + inLink = token.inLink; + inRawBlock = token.inRawBlock; + tokens.push(token); continue; } - // html - if (cap = this.rules.html.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: this.options.sanitize - ? 'paragraph' - : 'html', - pre: !this.options.sanitizer - && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'), - text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape$1(cap[0])) : cap[0] - }); + // link + if (token = this.tokenizer.link(src)) { + src = src.substring(token.raw.length); + if (token.type === 'link') { + token.tokens = this.inlineTokens(token.text, [], true, inRawBlock); + } + tokens.push(token); continue; } - // def - if (top && (cap = this.rules.def.exec(src))) { - src = src.substring(cap[0].length); - if (cap[3]) { cap[3] = cap[3].substring(1, cap[3].length - 1); } - tag = cap[1].toLowerCase().replace(/\s+/g, ' '); - if (!this.tokens.links[tag]) { - this.tokens.links[tag] = { - href: cap[2], - title: cap[3] - }; + // reflink, nolink + if (token = this.tokenizer.reflink(src, this.tokens.links)) { + src = src.substring(token.raw.length); + if (token.type === 'link') { + token.tokens = this.inlineTokens(token.text, [], true, inRawBlock); } + tokens.push(token); continue; } - // table (gfm) - if (cap = this.rules.table.exec(src)) { - item = { - type: 'table', - header: splitCells$1(cap[1].replace(/^ *| *\| *$/g, '')), - align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */), - cells: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : [] - }; + // strong + if (token = this.tokenizer.strong(src, maskedSrc, prevChar)) { + src = src.substring(token.raw.length); + token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock); + tokens.push(token); + continue; + } - if (item.header.length === item.align.length) { - src = src.substring(cap[0].length); - - for (i = 0; i < item.align.length; i++) { - if (/^ *-+: *$/.test(item.align[i])) { - item.align[i] = 'right'; - } else if (/^ *:-+: *$/.test(item.align[i])) { - item.align[i] = 'center'; - } else if (/^ *:-+ *$/.test(item.align[i])) { - item.align[i] = 'left'; - } else { - item.align[i] = null; - } - } + // em + if (token = this.tokenizer.em(src, maskedSrc, prevChar)) { + src = src.substring(token.raw.length); + token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock); + tokens.push(token); + continue; + } - for (i = 0; i < item.cells.length; i++) { - item.cells[i] = splitCells$1( - item.cells[i].replace(/^ *\| *| *\| *$/g, ''), - item.header.length); - } + // code + if (token = this.tokenizer.codespan(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } - this.tokens.push(item); + // br + if (token = this.tokenizer.br(src)) { + src = src.substring(token.raw.length); + tokens.push(token); + continue; + } - continue; - } + // del (gfm) + if (token = this.tokenizer.del(src)) { + src = src.substring(token.raw.length); + token.tokens = this.inlineTokens(token.text, [], inLink, inRawBlock); + tokens.push(token); + continue; } - // lheading - if (cap = this.rules.lheading.exec(src)) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'heading', - depth: cap[2].charAt(0) === '=' ? 1 : 2, - text: cap[1] - }); + // autolink + if (token = this.tokenizer.autolink(src, mangle)) { + src = src.substring(token.raw.length); + tokens.push(token); continue; } - // top-level paragraph - if (top && (cap = this.rules.paragraph.exec(src))) { - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'paragraph', - text: cap[1].charAt(cap[1].length - 1) === '\n' - ? cap[1].slice(0, -1) - : cap[1] - }); + // url (gfm) + if (!inLink && (token = this.tokenizer.url(src, mangle))) { + src = src.substring(token.raw.length); + tokens.push(token); continue; } // text - if (cap = this.rules.text.exec(src)) { - // Top-level should never reach here. - src = src.substring(cap[0].length); - this.tokens.push({ - type: 'text', - text: cap[0] - }); + if (token = this.tokenizer.inlineText(src, inRawBlock, smartypants)) { + src = src.substring(token.raw.length); + prevChar = token.raw.slice(-1); + tokens.push(token); continue; } if (src) { - throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); + var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0); + if (this.options.silent) { + console.error(errMsg); + break; + } else { + throw new Error(errMsg); + } } } - return this.tokens; + return tokens; }; Object.defineProperties( Lexer, staticAccessors ); @@ -2020,7 +4063,7 @@ return Lexer; }()); - var defaults$2 = defaults.defaults; + var defaults$3 = defaults.defaults; var cleanUrl$1 = helpers.cleanUrl; var escape$2 = helpers.escape; @@ -2030,7 +4073,7 @@ */ var Renderer = /*@__PURE__*/(function () { function Renderer(options) { - this.options = options || defaults$2; + this.options = options || defaults$3; } Renderer.prototype.code = function code (code$1, infostring, escaped) { @@ -2046,7 +4089,7 @@ if (!lang) { return '
'
           + (escaped ? code$1 : escape$2(code$1, true))
-          + '
'; + + '\n'; } return '
'
-          + text
-          + '\n';
-      }
-      // ignore IDs
-      return '' + text + '\n';
-    };
-    Renderer.prototype.hr = function hr () {
-      return this.options.xhtml ? '
\n' : '
\n'; - }; - Renderer.prototype.list = function list (body, ordered, start) { - var type = ordered ? 'ol' : 'ul', - startatt = (ordered && start !== 1) ? (' start="' + start + '"') : ''; - return '<' + type + startatt + '>\n' + body + '\n'; - }; - Renderer.prototype.listitem = function listitem (text) { - return '
  • ' + text + '
  • \n'; - }; - Renderer.prototype.checkbox = function checkbox (checked) { - return ' '; - }; - Renderer.prototype.paragraph = function paragraph (text) { - return '

    ' + text + '

    \n'; - }; - Renderer.prototype.table = function table (header, body) { - if (body) { body = '' + body + ''; } - - return '\n' - + '\n' - + header - + '\n' - + body - + '
    \n'; - }; - Renderer.prototype.tablerow = function tablerow (content) { - return '\n' + content + '\n'; - }; - Renderer.prototype.tablecell = function tablecell (content, flags) { - var type = flags.header ? 'th' : 'td'; - var tag = flags.align - ? '<' + type + ' align="' + flags.align + '">' - : '<' + type + '>'; - return tag + content + '\n'; - }; - // span level renderer - Renderer.prototype.strong = function strong (text) { - return '' + text + ''; - }; - Renderer.prototype.em = function em (text) { - return '' + text + ''; - }; - Renderer.prototype.codespan = function codespan (text) { - return '' + text + ''; - }; - Renderer.prototype.br = function br () { - return this.options.xhtml ? '
    ' : '
    '; - }; - Renderer.prototype.del = function del (text) { - return '' + text + ''; - }; - Renderer.prototype.link = function link (href, title, text) { - href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href); - if (href === null) { - return text; - } - var out = '
    '; - return out; - }; - Renderer.prototype.image = function image (href, title, text) { - href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href); - if (href === null) { - return text; - } - - var out = '' + text + '' : '>'; - return out; - }; - Renderer.prototype.text = function text (text$1) { - return text$1; - }; - - return Renderer; - }()); - - /** - * Slugger generates header id - */ - var Slugger = /*@__PURE__*/(function () { - function Slugger() { - this.seen = {}; - } - - /** - * Convert string to unique id - */ - Slugger.prototype.slug = function slug (value) { - var slug = value - .toLowerCase() - .trim() - // remove html tags - .replace(/<[!\/a-z].*?>/ig, '') - // remove unwanted chars - .replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '') - .replace(/\s/g, '-'); - - if (this.seen.hasOwnProperty(slug)) { - var originalSlug = slug; - do { - this.seen[originalSlug]++; - slug = originalSlug + '-' + this.seen[originalSlug]; - } while (this.seen.hasOwnProperty(slug)); - } - this.seen[slug] = 0; - - return slug; - }; - - return Slugger; - }()); - - var defaults$3 = defaults.defaults; - - var inline$1 = rules.inline; - - var findClosingBracket$1 = helpers.findClosingBracket; - var escape$3 = helpers.escape; - - /** - * Inline Lexer & Compiler - */ - var InlineLexer = /*@__PURE__*/(function () { - function InlineLexer(links, options) { - this.options = options || defaults$3; - this.links = links; - this.rules = inline$1.normal; - this.options.renderer = this.options.renderer || new Renderer(); - this.renderer = this.options.renderer; - this.renderer.options = this.options; - - if (!this.links) { - throw new Error('Tokens array requires a `links` property.'); - } - - if (this.options.pedantic) { - this.rules = inline$1.pedantic; - } else if (this.options.gfm) { - if (this.options.breaks) { - this.rules = inline$1.breaks; - } else { - this.rules = inline$1.gfm; - } - } - } - - var staticAccessors = { rules: { configurable: true } }; - - /** - * Expose Inline Rules - */ - staticAccessors.rules.get = function () { - return inline$1; - }; - - /** - * Static Lexing/Compiling Method - */ - InlineLexer.output = function output (src, links, options) { - var inline = new InlineLexer(links, options); - return inline.output(src); - }; - - /** - * Lexing/Compiling - */ - InlineLexer.prototype.output = function output (src) { - var out = '', - link, - text, - href, - title, - cap, - prevCapZero; - - while (src) { - // escape - if (cap = this.rules.escape.exec(src)) { - src = src.substring(cap[0].length); - out += escape$3(cap[1]); - continue; - } - - // tag - if (cap = this.rules.tag.exec(src)) { - if (!this.inLink && /^/i.test(cap[0])) { - this.inLink = false; - } - if (!this.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { - this.inRawBlock = true; - } else if (this.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) { - this.inRawBlock = false; - } - - src = src.substring(cap[0].length); - out += this.renderer.html(this.options.sanitize - ? (this.options.sanitizer - ? this.options.sanitizer(cap[0]) - : escape$3(cap[0])) - : cap[0]); - continue; - } - - // link - if (cap = this.rules.link.exec(src)) { - var lastParenIndex = findClosingBracket$1(cap[2], '()'); - if (lastParenIndex > -1) { - var start = cap[0].indexOf('!') === 0 ? 5 : 4; - var linkLen = start + cap[1].length + lastParenIndex; - cap[2] = cap[2].substring(0, lastParenIndex); - cap[0] = cap[0].substring(0, linkLen).trim(); - cap[3] = ''; - } - src = src.substring(cap[0].length); - this.inLink = true; - href = cap[2]; - if (this.options.pedantic) { - link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href); - - if (link) { - href = link[1]; - title = link[3]; - } else { - title = ''; - } - } else { - title = cap[3] ? cap[3].slice(1, -1) : ''; - } - href = href.trim().replace(/^<([\s\S]*)>$/, '$1'); - out += this.outputLink(cap, { - href: InlineLexer.escapes(href), - title: InlineLexer.escapes(title) - }); - this.inLink = false; - continue; - } - - // reflink, nolink - if ((cap = this.rules.reflink.exec(src)) - || (cap = this.rules.nolink.exec(src))) { - src = src.substring(cap[0].length); - link = (cap[2] || cap[1]).replace(/\s+/g, ' '); - link = this.links[link.toLowerCase()]; - if (!link || !link.href) { - out += cap[0].charAt(0); - src = cap[0].substring(1) + src; - continue; - } - this.inLink = true; - out += this.outputLink(cap, link); - this.inLink = false; - continue; - } + + ' id="' + + this.options.headerPrefix + + slugger.slug(raw) + + '">' + + text + + '\n'; + } + // ignore IDs + return '' + text + '\n'; + }; - // strong - if (cap = this.rules.strong.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1])); - continue; - } + Renderer.prototype.hr = function hr () { + return this.options.xhtml ? '
    \n' : '
    \n'; + }; - // em - if (cap = this.rules.em.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1])); - continue; - } + Renderer.prototype.list = function list (body, ordered, start) { + var type = ordered ? 'ol' : 'ul', + startatt = (ordered && start !== 1) ? (' start="' + start + '"') : ''; + return '<' + type + startatt + '>\n' + body + '\n'; + }; - // code - if (cap = this.rules.code.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.codespan(escape$3(cap[2].trim(), true)); - continue; - } + Renderer.prototype.listitem = function listitem (text) { + return '
  • ' + text + '
  • \n'; + }; - // br - if (cap = this.rules.br.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.br(); - continue; - } + Renderer.prototype.checkbox = function checkbox (checked) { + return ' '; + }; - // del (gfm) - if (cap = this.rules.del.exec(src)) { - src = src.substring(cap[0].length); - out += this.renderer.del(this.output(cap[1])); - continue; - } + Renderer.prototype.paragraph = function paragraph (text) { + return '

    ' + text + '

    \n'; + }; - // autolink - if (cap = this.rules.autolink.exec(src)) { - src = src.substring(cap[0].length); - if (cap[2] === '@') { - text = escape$3(this.mangle(cap[1])); - href = 'mailto:' + text; - } else { - text = escape$3(cap[1]); - href = text; - } - out += this.renderer.link(href, null, text); - continue; - } + Renderer.prototype.table = function table (header, body) { + if (body) { body = '' + body + ''; } - // url (gfm) - if (!this.inLink && (cap = this.rules.url.exec(src))) { - if (cap[2] === '@') { - text = escape$3(cap[0]); - href = 'mailto:' + text; - } else { - // do extended autolink path validation - do { - prevCapZero = cap[0]; - cap[0] = this.rules._backpedal.exec(cap[0])[0]; - } while (prevCapZero !== cap[0]); - text = escape$3(cap[0]); - if (cap[1] === 'www.') { - href = 'http://' + text; - } else { - href = text; - } - } - src = src.substring(cap[0].length); - out += this.renderer.link(href, null, text); - continue; - } + return '\n' + + '\n' + + header + + '\n' + + body + + '
    \n'; + }; - // text - if (cap = this.rules.text.exec(src)) { - src = src.substring(cap[0].length); - if (this.inRawBlock) { - out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape$3(cap[0])) : cap[0]); - } else { - out += this.renderer.text(escape$3(this.smartypants(cap[0]))); - } - continue; - } + Renderer.prototype.tablerow = function tablerow (content) { + return '\n' + content + '\n'; + }; - if (src) { - throw new Error('Infinite loop on byte: ' + src.charCodeAt(0)); - } - } + Renderer.prototype.tablecell = function tablecell (content, flags) { + var type = flags.header ? 'th' : 'td'; + var tag = flags.align + ? '<' + type + ' align="' + flags.align + '">' + : '<' + type + '>'; + return tag + content + '\n'; + }; - return out; + // span level renderer + Renderer.prototype.strong = function strong (text) { + return '' + text + ''; }; - InlineLexer.escapes = function escapes (text) { - return text ? text.replace(InlineLexer.rules._escapes, '$1') : text; + Renderer.prototype.em = function em (text) { + return '' + text + ''; }; - /** - * Compile Link - */ - InlineLexer.prototype.outputLink = function outputLink (cap, link) { - var href = link.href, - title = link.title ? escape$3(link.title) : null; + Renderer.prototype.codespan = function codespan (text) { + return '' + text + ''; + }; - return cap[0].charAt(0) !== '!' - ? this.renderer.link(href, title, this.output(cap[1])) - : this.renderer.image(href, title, escape$3(cap[1])); + Renderer.prototype.br = function br () { + return this.options.xhtml ? '
    ' : '
    '; }; - /** - * Smartypants Transformations - */ - InlineLexer.prototype.smartypants = function smartypants (text) { - if (!this.options.smartypants) { return text; } - return text - // em-dashes - .replace(/---/g, '\u2014') - // en-dashes - .replace(/--/g, '\u2013') - // opening singles - .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1\u2018') - // closing singles & apostrophes - .replace(/'/g, '\u2019') - // opening doubles - .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1\u201c') - // closing doubles - .replace(/"/g, '\u201d') - // ellipses - .replace(/\.{3}/g, '\u2026'); + Renderer.prototype.del = function del (text) { + return '' + text + ''; }; - /** - * Mangle Links - */ - InlineLexer.prototype.mangle = function mangle (text) { - if (!this.options.mangle) { return text; } - var l = text.length; - var out = '', - i = 0, - ch; + Renderer.prototype.link = function link (href, title, text) { + href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href); + if (href === null) { + return text; + } + var out = '
    '; + return out; + }; - for (; i < l; i++) { - ch = text.charCodeAt(i); - if (Math.random() > 0.5) { - ch = 'x' + ch.toString(16); - } - out += '&#' + ch + ';'; + Renderer.prototype.image = function image (href, title, text) { + href = cleanUrl$1(this.options.sanitize, this.options.baseUrl, href); + if (href === null) { + return text; } + var out = '' + text + '' : '>'; return out; }; - Object.defineProperties( InlineLexer, staticAccessors ); + Renderer.prototype.text = function text (text$1) { + return text$1; + }; - return InlineLexer; + return Renderer; }()); /** @@ -2548,9 +4275,62 @@ return TextRenderer; }()); + /** + * Slugger generates header id + */ + var Slugger = /*@__PURE__*/(function () { + function Slugger() { + this.seen = {}; + } + + Slugger.prototype.serialize = function serialize (value) { + return value + .toLowerCase() + .trim() + // remove html tags + .replace(/<[!\/a-z].*?>/ig, '') + // remove unwanted chars + .replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '') + .replace(/\s/g, '-'); + }; + + /** + * Finds the next safe (unique) slug to use + */ + Slugger.prototype.getNextSafeSlug = function getNextSafeSlug (originalSlug, isDryRun) { + var slug = originalSlug; + var occurenceAccumulator = 0; + if (this.seen.hasOwnProperty(slug)) { + occurenceAccumulator = this.seen[originalSlug]; + do { + occurenceAccumulator++; + slug = originalSlug + '-' + occurenceAccumulator; + } while (this.seen.hasOwnProperty(slug)); + } + if (!isDryRun) { + this.seen[originalSlug] = occurenceAccumulator; + this.seen[slug] = 0; + } + return slug; + }; + + /** + * Convert string to unique id + * @param {object} options + * @param {boolean} options.dryrun Generates the next unique slug without updating the internal accumulator. + */ + Slugger.prototype.slug = function slug (value, options) { + if ( options === void 0 ) options = {}; + + var slug = this.serialize(value); + return this.getNextSafeSlug(slug, options.dryrun); + }; + + return Slugger; + }()); + var defaults$4 = defaults.defaults; - var merge$3 = helpers.merge; var unescape$1 = helpers.unescape; /** @@ -2558,12 +4338,11 @@ */ var Parser = /*@__PURE__*/(function () { function Parser(options) { - this.tokens = []; - this.token = null; this.options = options || defaults$4; this.options.renderer = this.options.renderer || new Renderer(); this.renderer = this.options.renderer; this.renderer.options = this.options; + this.textRenderer = new TextRenderer(); this.slugger = new Slugger(); } @@ -2574,182 +4353,249 @@ var parser = new Parser(options); return parser.parse(tokens); }; - /** - * Parse Loop - */ - Parser.prototype.parse = function parse (tokens) { - this.inline = new InlineLexer(tokens.links, this.options); - // use an InlineLexer with a TextRenderer to extract pure text - this.inlineText = new InlineLexer( - tokens.links, - merge$3({}, this.options, { renderer: new TextRenderer() }) - ); - this.tokens = tokens.reverse(); - var out = ''; - while (this.next()) { - out += this.tok(); - } - - return out; - }; /** - * Next Token + * Static Parse Inline Method */ - Parser.prototype.next = function next () { - this.token = this.tokens.pop(); - return this.token; - }; - /** - * Preview Next Token - */ - Parser.prototype.peek = function peek () { - return this.tokens[this.tokens.length - 1] || 0; + Parser.parseInline = function parseInline (tokens, options) { + var parser = new Parser(options); + return parser.parseInline(tokens); }; - /** - * Parse Text Tokens - */ - Parser.prototype.parseText = function parseText () { - var body = this.token.text; - - while (this.peek().type === 'text') { - body += '\n' + this.next().text; - } - return this.inline.output(body); - }; /** - * Parse Current Token + * Parse Loop */ - Parser.prototype.tok = function tok () { - var body = ''; - switch (this.token.type) { - case 'space': { - return ''; - } - case 'hr': { - return this.renderer.hr(); - } - case 'heading': { - return this.renderer.heading( - this.inline.output(this.token.text), - this.token.depth, - unescape$1(this.inlineText.output(this.token.text)), - this.slugger); - } - case 'code': { - return this.renderer.code(this.token.text, - this.token.lang, - this.token.escaped); - } - case 'table': { - var header = '', - i, - row, - cell, - j; - - // header - cell = ''; - for (i = 0; i < this.token.header.length; i++) { - cell += this.renderer.tablecell( - this.inline.output(this.token.header[i]), - { header: true, align: this.token.align[i] } - ); - } - header += this.renderer.tablerow(cell); + Parser.prototype.parse = function parse (tokens, top) { + if ( top === void 0 ) top = true; - for (i = 0; i < this.token.cells.length; i++) { - row = this.token.cells[i]; + var out = '', + i, + j, + k, + l2, + l3, + row, + cell, + header, + body, + token, + ordered, + start, + loose, + itemBody, + item, + checked, + task, + checkbox; + + var l = tokens.length; + for (i = 0; i < l; i++) { + token = tokens[i]; + switch (token.type) { + case 'space': { + continue; + } + case 'hr': { + out += this.renderer.hr(); + continue; + } + case 'heading': { + out += this.renderer.heading( + this.parseInline(token.tokens), + token.depth, + unescape$1(this.parseInline(token.tokens, this.textRenderer)), + this.slugger); + continue; + } + case 'code': { + out += this.renderer.code(token.text, + token.lang, + token.escaped); + continue; + } + case 'table': { + header = ''; + // header cell = ''; - for (j = 0; j < row.length; j++) { + l2 = token.header.length; + for (j = 0; j < l2; j++) { cell += this.renderer.tablecell( - this.inline.output(row[j]), - { header: false, align: this.token.align[j] } + this.parseInline(token.tokens.header[j]), + { header: true, align: token.align[j] } ); } + header += this.renderer.tablerow(cell); + + body = ''; + l2 = token.cells.length; + for (j = 0; j < l2; j++) { + row = token.tokens.cells[j]; + + cell = ''; + l3 = row.length; + for (k = 0; k < l3; k++) { + cell += this.renderer.tablecell( + this.parseInline(row[k]), + { header: false, align: token.align[k] } + ); + } - body += this.renderer.tablerow(cell); + body += this.renderer.tablerow(cell); + } + out += this.renderer.table(header, body); + continue; } - return this.renderer.table(header, body); - } - case 'blockquote_start': { - body = ''; - - while (this.next().type !== 'blockquote_end') { - body += this.tok(); + case 'blockquote': { + body = this.parse(token.tokens); + out += this.renderer.blockquote(body); + continue; } + case 'list': { + ordered = token.ordered; + start = token.start; + loose = token.loose; + l2 = token.items.length; + + body = ''; + for (j = 0; j < l2; j++) { + item = token.items[j]; + checked = item.checked; + task = item.task; + + itemBody = ''; + if (item.task) { + checkbox = this.renderer.checkbox(checked); + if (loose) { + if (item.tokens.length > 0 && item.tokens[0].type === 'text') { + item.tokens[0].text = checkbox + ' ' + item.tokens[0].text; + if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') { + item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text; + } + } else { + item.tokens.unshift({ + type: 'text', + text: checkbox + }); + } + } else { + itemBody += checkbox; + } + } - return this.renderer.blockquote(body); - } - case 'list_start': { - body = ''; - var ordered = this.token.ordered, - start = this.token.start; + itemBody += this.parse(item.tokens, loose); + body += this.renderer.listitem(itemBody, task, checked); + } - while (this.next().type !== 'list_end') { - body += this.tok(); + out += this.renderer.list(body, ordered, start); + continue; } - - return this.renderer.list(body, ordered, start); - } - case 'list_item_start': { - body = ''; - var loose = this.token.loose; - var checked = this.token.checked; - var task = this.token.task; - - if (this.token.task) { - if (loose) { - if (this.peek().type === 'text') { - var nextToken = this.peek(); - nextToken.text = this.renderer.checkbox(checked) + ' ' + nextToken.text; - } else { - this.tokens.push({ - type: 'text', - text: this.renderer.checkbox(checked) - }); - } + case 'html': { + // TODO parse inline content if parameter markdown=1 + out += this.renderer.html(token.text); + continue; + } + case 'paragraph': { + out += this.renderer.paragraph(this.parseInline(token.tokens)); + continue; + } + case 'text': { + body = token.tokens ? this.parseInline(token.tokens) : token.text; + while (i + 1 < l && tokens[i + 1].type === 'text') { + token = tokens[++i]; + body += '\n' + (token.tokens ? this.parseInline(token.tokens) : token.text); + } + out += top ? this.renderer.paragraph(body) : body; + continue; + } + default: { + var errMsg = 'Token with "' + token.type + '" type was not found.'; + if (this.options.silent) { + console.error(errMsg); + return; } else { - body += this.renderer.checkbox(checked); + throw new Error(errMsg); } } + } + } + + return out; + }; - while (this.next().type !== 'list_item_end') { - body += !loose && this.token.type === 'text' - ? this.parseText() - : this.tok(); + /** + * Parse Inline Tokens + */ + Parser.prototype.parseInline = function parseInline (tokens, renderer) { + renderer = renderer || this.renderer; + var out = '', + i, + token; + + var l = tokens.length; + for (i = 0; i < l; i++) { + token = tokens[i]; + switch (token.type) { + case 'escape': { + out += renderer.text(token.text); + break; } - return this.renderer.listitem(body, task, checked); - } - case 'html': { - // TODO parse inline content if parameter markdown=1 - return this.renderer.html(this.token.text); - } - case 'paragraph': { - return this.renderer.paragraph(this.inline.output(this.token.text)); - } - case 'text': { - return this.renderer.paragraph(this.parseText()); - } - default: { - var errMsg = 'Token with "' + this.token.type + '" type was not found.'; - if (this.options.silent) { - console.log(errMsg); - } else { - throw new Error(errMsg); + case 'html': { + out += renderer.html(token.text); + break; + } + case 'link': { + out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer)); + break; + } + case 'image': { + out += renderer.image(token.href, token.title, token.text); + break; + } + case 'strong': { + out += renderer.strong(this.parseInline(token.tokens, renderer)); + break; + } + case 'em': { + out += renderer.em(this.parseInline(token.tokens, renderer)); + break; + } + case 'codespan': { + out += renderer.codespan(token.text); + break; + } + case 'br': { + out += renderer.br(); + break; + } + case 'del': { + out += renderer.del(this.parseInline(token.tokens, renderer)); + break; + } + case 'text': { + out += renderer.text(token.text); + break; + } + default: { + var errMsg = 'Token with "' + token.type + '" type was not found.'; + if (this.options.silent) { + console.error(errMsg); + return; + } else { + throw new Error(errMsg); + } } } } + return out; }; return Parser; }()); - var merge$4 = helpers.merge; + var merge$3 = helpers.merge; var checkSanitizeDeprecation$1 = helpers.checkSanitizeDeprecation; - var escape$4 = helpers.escape; + var escape$3 = helpers.escape; var getDefaults = defaults.getDefaults; var changeDefaults = defaults.changeDefaults; @@ -2768,18 +4614,17 @@ + Object.prototype.toString.call(src) + ', string expected'); } - if (callback || typeof opt === 'function') { - if (!callback) { - callback = opt; - opt = null; - } + if (typeof opt === 'function') { + callback = opt; + opt = null; + } - opt = merge$4({}, marked.defaults, opt || {}); - checkSanitizeDeprecation$1(opt); + opt = merge$3({}, marked.defaults, opt || {}); + checkSanitizeDeprecation$1(opt); + + if (callback) { var highlight = opt.highlight; - var tokens, - pending, - i = 0; + var tokens; try { tokens = Lexer.lex(src, opt); @@ -2787,20 +4632,15 @@ return callback(e); } - pending = tokens.length; - var done = function(err) { - if (err) { - opt.highlight = highlight; - return callback(err); - } - var out; - try { - out = Parser.parse(tokens, opt); - } catch (e) { - err = e; + if (!err) { + try { + out = Parser.parse(tokens, opt); + } catch (e) { + err = e; + } } opt.highlight = highlight; @@ -2816,36 +4656,49 @@ delete opt.highlight; - if (!pending) { return done(); } + if (!tokens.length) { return done(); } - for (; i < tokens.length; i++) { - (function(token) { - if (token.type !== 'code') { - return --pending || done(); - } - return highlight(token.text, token.lang, function(err, code) { - if (err) { return done(err); } - if (code == null || code === token.text) { - return --pending || done(); - } - token.text = code; - token.escaped = true; - --pending || done(); - }); - })(tokens[i]); + var pending = 0; + marked.walkTokens(tokens, function(token) { + if (token.type === 'code') { + pending++; + setTimeout(function () { + highlight(token.text, token.lang, function(err, code) { + if (err) { + return done(err); + } + if (code != null && code !== token.text) { + token.text = code; + token.escaped = true; + } + + pending--; + if (pending === 0) { + done(); + } + }); + }, 0); + } + }); + + if (pending === 0) { + done(); } return; } + try { - opt = merge$4({}, marked.defaults, opt || {}); - checkSanitizeDeprecation$1(opt); - return Parser.parse(Lexer.lex(src, opt), opt); + var tokens$1 = Lexer.lex(src, opt); + if (opt.walkTokens) { + marked.walkTokens(tokens$1, opt.walkTokens); + } + return Parser.parse(tokens$1, opt); } catch (e) { e.message += '\nPlease report this to https://github.com/markedjs/marked.'; - if ((opt || marked.defaults).silent) { + if (opt.silent) { return '

    An error occurred:

    '
    -          + escape$4(e.message + '', true)
    +          + escape$3(e.message + '', true)
               + '
    '; } throw e; @@ -2858,7 +4711,7 @@ marked.options = marked.setOptions = function(opt) { - merge$4(marked.defaults, opt); + merge$3(marked.defaults, opt); changeDefaults(marked.defaults); return marked; }; @@ -2867,6 +4720,135 @@ marked.defaults = defaults$5; + /** + * Use Extension + */ + + marked.use = function(extension) { + var opts = merge$3({}, extension); + if (extension.renderer) { + var renderer = marked.defaults.renderer || new Renderer(); + var loop = function ( prop ) { + var prevRenderer = renderer[prop]; + renderer[prop] = function () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + var ret = extension.renderer[prop].apply(renderer, args); + if (ret === false) { + ret = prevRenderer.apply(renderer, args); + } + return ret; + }; + }; + + for (var prop in extension.renderer) loop( prop ); + opts.renderer = renderer; + } + if (extension.tokenizer) { + var tokenizer = marked.defaults.tokenizer || new Tokenizer(); + var loop$1 = function ( prop ) { + var prevTokenizer = tokenizer[prop$1]; + tokenizer[prop$1] = function () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + var ret = extension.tokenizer[prop$1].apply(tokenizer, args); + if (ret === false) { + ret = prevTokenizer.apply(tokenizer, args); + } + return ret; + }; + }; + + for (var prop$1 in extension.tokenizer) loop$1( prop ); + opts.tokenizer = tokenizer; + } + if (extension.walkTokens) { + var walkTokens = marked.defaults.walkTokens; + opts.walkTokens = function (token) { + extension.walkTokens(token); + if (walkTokens) { + walkTokens(token); + } + }; + } + marked.setOptions(opts); + }; + + /** + * Run callback for every token + */ + + marked.walkTokens = function(tokens, callback) { + for (var i$3 = 0, list$3 = tokens; i$3 < list$3.length; i$3 += 1) { + var token = list$3[i$3]; + + callback(token); + switch (token.type) { + case 'table': { + for (var i = 0, list = token.tokens.header; i < list.length; i += 1) { + var cell = list[i]; + + marked.walkTokens(cell, callback); + } + for (var i$2 = 0, list$2 = token.tokens.cells; i$2 < list$2.length; i$2 += 1) { + var row = list$2[i$2]; + + for (var i$1 = 0, list$1 = row; i$1 < list$1.length; i$1 += 1) { + var cell$1 = list$1[i$1]; + + marked.walkTokens(cell$1, callback); + } + } + break; + } + case 'list': { + marked.walkTokens(token.items, callback); + break; + } + default: { + if (token.tokens) { + marked.walkTokens(token.tokens, callback); + } + } + } + } + }; + + /** + * Parse Inline + */ + marked.parseInline = function(src, opt) { + // throw error in case of non string input + if (typeof src === 'undefined' || src === null) { + throw new Error('marked.parseInline(): input parameter is undefined or null'); + } + if (typeof src !== 'string') { + throw new Error('marked.parseInline(): input parameter is of type ' + + Object.prototype.toString.call(src) + ', string expected'); + } + + opt = merge$3({}, marked.defaults, opt || {}); + checkSanitizeDeprecation$1(opt); + + try { + var tokens = Lexer.lexInline(src, opt); + if (opt.walkTokens) { + marked.walkTokens(tokens, opt.walkTokens); + } + return Parser.parseInline(tokens, opt); + } catch (e) { + e.message += '\nPlease report this to https://github.com/markedjs/marked.'; + if (opt.silent) { + return '

    An error occurred:

    '
    +          + escape$3(e.message + '', true)
    +          + '
    '; + } + throw e; + } + }; + /** * Expose */ @@ -2880,8 +4862,7 @@ marked.Lexer = Lexer; marked.lexer = Lexer.lex; - marked.InlineLexer = InlineLexer; - marked.inlineLexer = InlineLexer.output; + marked.Tokenizer = Tokenizer; marked.Slugger = Slugger; @@ -2939,9 +4920,8 @@ : '') + '' + ''; - return ( - (isMobile ? (aside + "
    ") : ("
    " + aside)) + + "
    " + aside + '
    ' + '
    ' + '
    ' + @@ -2962,8 +4942,8 @@ return ( "
    " + - '
    ' + '
    ' + + '
    ' + '
    ' ); } @@ -2972,11 +4952,15 @@ * Render tree * @param {Array} toc Array of TOC section links * @param {String} tpl TPL list - * @param {Boolean} using specified TPL for all level(true), or root only(false) + * @param {Boolean} using specified TPL for all levels(true), or root only(false) * @return {String} Rendered tree */ - function tree(toc, tpl, all) { - if ( tpl === void 0 ) tpl = '
      {inner}
    '; + function tree( + toc, + tpl, + all + ) { + if ( tpl === void 0 ) tpl = '
      {inner}
    '; if ( all === void 0 ) all = false; if (!toc || !toc.length) { @@ -2986,18 +4970,23 @@ var innerHTML = ''; toc.forEach(function (node) { if (node.children) { - innerHTML += "
  • " + (node.title) + ""; + innerHTML += "
  • "; + } else { + innerHTML += "
  • "; + } + + innerHTML += "" + (node.title) + ""; + + if (node.children) { if (!all) { - innerHTML += tree(node.children); + innerHTML += tree(node.children, '
      {inner}
    '); } else { - innerHTML += tree(node.children, tpl, true); + innerHTML += tree(node.children, true); } - } else { - innerHTML += "
  • " + (node.title) + ""; } + innerHTML += "
  • "; }); - return tpl.replace('{inner}', innerHTML); } @@ -3139,6 +5128,18 @@ return { str: str, config: config }; } + /** + * Remove the tag from sidebar when the header with link, details see issue 1069 + * @param {string} str The string to deal with. + * + * @return {string} str The string after delete the element. + */ + function removeAtag(str) { + if ( str === void 0 ) str = ''; + + return str.replace(/(<\/?a.*?>)/gi, ''); + } + var imageCompiler = function (ref) { var renderer = ref.renderer; var contentBase = ref.contentBase; @@ -3199,6 +5200,8 @@ Begin prism-core.js ********************************************** */ + /// + var _self = (typeof window !== 'undefined') ? window // if in browser : ( @@ -3209,10 +5212,12 @@ /** * Prism: Lightweight, robust, elegant syntax highlighting - * MIT license http://www.opensource.org/licenses/mit-license.php/ - * @author Lea Verou http://lea.verou.me + * + * @license MIT + * @author Lea Verou + * @namespace + * @public */ - var Prism = (function (_self){ // Private helper vars @@ -3221,23 +5226,76 @@ var _ = { + /** + * By default, Prism will attempt to highlight all code elements (by calling {@link Prism.highlightAll}) on the + * current page after the page finished loading. This might be a problem if e.g. you wanted to asynchronously load + * additional languages or plugins yourself. + * + * By setting this value to `true`, Prism will not automatically highlight all code elements on the page. + * + * You obviously have to change this value before the automatic highlighting started. To do this, you can add an + * empty Prism object into the global scope before loading the Prism script like this: + * + * ```js + * window.Prism = window.Prism || {}; + * Prism.manual = true; + * // add a new