Created
January 1, 2026 10:29
-
-
Save CJHwong/c7390c03b242aff41e85499462786346 to your computer and use it in GitHub Desktop.
2025 AI 發展回顧
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html> | |
| <html lang="C"> | |
| <head> | |
| <meta charset="UTF-8" /> | |
| <meta name="viewport" content="width=device-width,height=device-height,initial-scale=1.0" /> | |
| <meta name="apple-mobile-web-app-capable" content="yes" /> | |
| <meta http-equiv="X-UA-Compatible" content="ie=edge" /> | |
| <meta property="og:type" content="website" /> | |
| <meta name="twitter:card" content="summary" /> | |
| <title>Marp Presentation</title> | |
| <style> | |
| .bespoke-marp-note, | |
| .bespoke-marp-osc, | |
| .bespoke-progress-parent { | |
| display: none; | |
| transition: none | |
| } | |
| @media screen { | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button, | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button, | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button { | |
| -webkit-appearance: none; | |
| -moz-appearance: none; | |
| appearance: none; | |
| background-color: transparent; | |
| border: 0; | |
| color: inherit; | |
| cursor: pointer; | |
| font-size: inherit; | |
| opacity: .8; | |
| outline: none; | |
| padding: 0; | |
| transition: opacity .2s linear; | |
| -webkit-tap-highlight-color: transparent | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled, | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:disabled, | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:disabled { | |
| cursor: not-allowed; | |
| opacity: .15 !important | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover, | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover, | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover { | |
| opacity: 1 | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active, | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:active, | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:active { | |
| opacity: .6 | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled), | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button:hover:not(:disabled), | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button:hover:not(:disabled) { | |
| transition: none | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev], | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev], | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-prev { | |
| background: transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNNjggOTBMMjggNTBsNDAtNDAiLz48L3N2Zz4=") no-repeat 50%; | |
| background-size: contain; | |
| overflow: hidden; | |
| text-indent: 100%; | |
| white-space: nowrap | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next], | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next], | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button.bespoke-marp-presenter-info-page-next { | |
| background: transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48cGF0aCBmaWxsPSJub25lIiBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSI1IiBkPSJNMzIgOTBsNDAtNDAtNDAtNDAiLz48L3N2Zz4=") no-repeat 50%; | |
| background-size: contain; | |
| overflow: hidden; | |
| text-indent: 100%; | |
| white-space: nowrap | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen], | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen] { | |
| background: transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6NXB4fTwvc3R5bGU+PC9kZWZzPjxyZWN0IGNsYXNzPSJhIiB4PSIxMCIgeT0iMjAiIHdpZHRoPSI4MCIgaGVpZ2h0PSI2MCIgcng9IjUuNjciLz48cGF0aCBjbGFzcz0iYSIgZD0iTTQwIDcwSDIwVjUwbTIwIDBMMjAgNzBtNDAtNDBoMjB2MjBtLTIwIDBsMjAtMjAiLz48L3N2Zz4=") no-repeat 50%; | |
| background-size: contain; | |
| overflow: hidden; | |
| text-indent: 100%; | |
| white-space: nowrap | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button.exit[data-bespoke-marp-osc=fullscreen], | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button.exit[data-bespoke-marp-osc=fullscreen] { | |
| background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2Utd2lkdGg6NXB4fTwvc3R5bGU+PC9kZWZzPjxyZWN0IGNsYXNzPSJhIiB4PSIxMCIgeT0iMjAiIHdpZHRoPSI4MCIgaGVpZ2h0PSI2MCIgcng9IjUuNjciLz48cGF0aCBjbGFzcz0iYSIgZD0iTTIwIDUwaDIwdjIwbS0yMCAwbDIwLTIwbTQwIDBINjBWMzBtMjAgMEw2MCA1MCIvPjwvc3ZnPg==") | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter], | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter] { | |
| background: transparent url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmF7ZmlsbDpub25lO3N0cm9rZTojZmZmO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS13aWR0aDo1cHh9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImEiIGQ9Ik0yMCA2MGgtNWE1IDUgMCAwMS01LTVWMjBhNSA1IDAgMDE1LTVoNjBhNSA1IDAgMDE1IDV2NU0zMCA4NWg2MCIvPjxyZWN0IHg9IjMwIiB5PSIzNSIgd2lkdGg9IjYwIiBoZWlnaHQ9IjQwIiByeD0iNSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjZmZmIi8+PHJlY3QgY2xhc3M9ImEiIHg9IjMwIiB5PSIzNSIgd2lkdGg9IjYwIiBoZWlnaHQ9IjQwIiByeD0iNSIvPjxwYXRoIGNsYXNzPSJhIiBkPSJNNDAgNTBoNDBNNDAgNjBoMzAiLz48L3N2Zz4=") no-repeat 50%; | |
| background-size: contain; | |
| overflow: hidden; | |
| text-indent: 100%; | |
| white-space: nowrap | |
| } | |
| body, | |
| html { | |
| height: 100%; | |
| margin: 0 | |
| } | |
| body { | |
| background: #000; | |
| overflow: hidden | |
| } | |
| svg.bespoke-marp-slide { | |
| content-visibility: hidden; | |
| z-index: -1; | |
| pointer-events: none; | |
| opacity: 0 | |
| } | |
| svg.bespoke-marp-slide.bespoke-marp-active { | |
| content-visibility: visible; | |
| z-index: 0; | |
| pointer-events: auto; | |
| opacity: 1 | |
| } | |
| svg.bespoke-marp-slide.bespoke-marp-active.bespoke-marp-active-ready * { | |
| -webkit-animation-name: __bespoke_marp__ !important; | |
| animation-name: __bespoke_marp__ !important | |
| } | |
| @supports not (content-visibility:hidden) { | |
| svg.bespoke-marp-slide[data-bespoke-marp-load=hideable] { | |
| display: none | |
| } | |
| svg.bespoke-marp-slide[data-bespoke-marp-load=hideable].bespoke-marp-active { | |
| display: block | |
| } | |
| } | |
| [data-bespoke-marp-fragment=inactive] { | |
| visibility: hidden | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent, | |
| body[data-bespoke-view=next] .bespoke-marp-parent { | |
| bottom: 0; | |
| left: 0; | |
| position: absolute; | |
| right: 0; | |
| top: 0 | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc, | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc { | |
| background: rgba(0, 0, 0, .65); | |
| border-radius: 7px; | |
| bottom: 50px; | |
| color: #fff; | |
| display: block; | |
| font-family: Helvetica, Arial, sans-serif; | |
| font-size: 16px; | |
| left: 50%; | |
| line-height: 0; | |
| opacity: 1; | |
| padding: 12px; | |
| position: absolute; | |
| touch-action: manipulation; | |
| transform: translateX(-50%); | |
| transition: opacity .2s linear; | |
| -webkit-user-select: none; | |
| -moz-user-select: none; | |
| -ms-user-select: none; | |
| user-select: none; | |
| white-space: nowrap; | |
| z-index: 1; | |
| will-change: transform | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>*, | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>* { | |
| margin-left: 6px | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>:first-child, | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>:first-child { | |
| margin-left: 0 | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>span, | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>span { | |
| opacity: .8 | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>span[data-bespoke-marp-osc=page], | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>span[data-bespoke-marp-osc=page] { | |
| display: inline-block; | |
| min-width: 140px; | |
| text-align: center | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen], | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next], | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter], | |
| body[data-bespoke-view=""] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev], | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=fullscreen], | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=next], | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=presenter], | |
| body[data-bespoke-view=next] .bespoke-marp-parent>.bespoke-marp-osc>button[data-bespoke-marp-osc=prev] { | |
| height: 32px; | |
| line-height: 32px; | |
| width: 32px | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent.bespoke-marp-inactive, | |
| body[data-bespoke-view=next] .bespoke-marp-parent.bespoke-marp-inactive { | |
| cursor: none | |
| } | |
| body[data-bespoke-view=""] .bespoke-marp-parent.bespoke-marp-inactive>.bespoke-marp-osc, | |
| body[data-bespoke-view=next] .bespoke-marp-parent.bespoke-marp-inactive>.bespoke-marp-osc { | |
| opacity: 0; | |
| pointer-events: none | |
| } | |
| body[data-bespoke-view=""] svg.bespoke-marp-slide, | |
| body[data-bespoke-view=next] svg.bespoke-marp-slide { | |
| height: 100%; | |
| left: 0; | |
| position: absolute; | |
| top: 0; | |
| width: 100% | |
| } | |
| body[data-bespoke-view=""] .bespoke-progress-parent { | |
| background: #222; | |
| display: flex; | |
| height: 5px; | |
| width: 100% | |
| } | |
| body[data-bespoke-view=""] .bespoke-progress-parent+.bespoke-marp-parent { | |
| top: 5px | |
| } | |
| body[data-bespoke-view=""] .bespoke-progress-parent .bespoke-progress-bar { | |
| flex: 0 0 0; | |
| background: #0288d1; | |
| transition: flex-basis .2s cubic-bezier(0, 1, 1, 1) | |
| } | |
| body[data-bespoke-view=next] { | |
| background: transparent | |
| } | |
| body[data-bespoke-view=presenter] { | |
| background: #161616 | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container { | |
| font-family: Helvetica, Arial, sans-serif; | |
| height: 100%; | |
| left: 0; | |
| position: absolute; | |
| top: 0; | |
| width: 100%; | |
| display: grid; | |
| grid-template-columns: 2fr 1fr; | |
| grid-template-rows: minmax(140px, 1fr) 2fr 3em; | |
| grid-template-areas: "current next" "current note" "info note" | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent { | |
| grid-area: current; | |
| position: relative; | |
| overflow: hidden | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent svg.bespoke-marp-slide { | |
| height: calc(100% - 40px); | |
| left: 20px; | |
| position: absolute; | |
| pointer-events: none; | |
| top: 20px; | |
| -webkit-user-select: none; | |
| -moz-user-select: none; | |
| -ms-user-select: none; | |
| user-select: none; | |
| width: calc(100% - 40px) | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-parent svg.bespoke-marp-slide.bespoke-marp-active { | |
| filter: drop-shadow(0 3px 10px rgba(0, 0, 0, .5)) | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container { | |
| background: #222; | |
| cursor: pointer; | |
| display: none; | |
| grid-area: next; | |
| overflow: hidden; | |
| position: relative | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container.active { | |
| display: block | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-next-container iframe.bespoke-marp-presenter-next { | |
| background: transparent; | |
| border: 0; | |
| display: block; | |
| filter: drop-shadow(0 3px 10px rgba(0, 0, 0, .5)); | |
| height: calc(100% - 40px); | |
| left: 20px; | |
| position: absolute; | |
| pointer-events: none; | |
| -webkit-user-select: none; | |
| -moz-user-select: none; | |
| -ms-user-select: none; | |
| user-select: none; | |
| top: 20px; | |
| width: calc(100% - 40px) | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container { | |
| background: #222; | |
| color: #eee; | |
| grid-area: note | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note { | |
| margin: 20px; | |
| width: calc(100% - 40px); | |
| height: calc(100% - 40px); | |
| box-sizing: border-box; | |
| font-size: 1.1em; | |
| overflow: auto; | |
| padding-right: 3px; | |
| white-space: pre-wrap; | |
| word-wrap: break-word; | |
| scrollbar-width: thin; | |
| scrollbar-color: hsla(0, 0%, 93.3%, .5) transparent | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar { | |
| width: 6px | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar-track { | |
| background: transparent | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note::-webkit-scrollbar-thumb { | |
| background: hsla(0, 0%, 93.3%, .5); | |
| border-radius: 6px | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note:empty { | |
| pointer-events: none | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note.active { | |
| display: block | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note p:first-child { | |
| margin-top: 0 | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-note-container .bespoke-marp-note p:last-child { | |
| margin-bottom: 0 | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container { | |
| align-items: center; | |
| box-sizing: border-box; | |
| color: #eee; | |
| display: flex; | |
| flex-wrap: nowrap; | |
| grid-area: info; | |
| justify-content: center; | |
| padding: 0 10px | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page, | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-time, | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer { | |
| display: block; | |
| box-sizing: border-box; | |
| padding: 0 10px; | |
| white-space: nowrap; | |
| width: 100% | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container button { | |
| height: 1.5em; | |
| line-height: 1.5em; | |
| width: 1.5em | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page { | |
| order: 2; | |
| text-align: center | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-page .bespoke-marp-presenter-info-page-text { | |
| display: inline-block; | |
| min-width: 120px; | |
| text-align: center | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-time { | |
| color: #999; | |
| order: 1; | |
| text-align: left | |
| } | |
| body[data-bespoke-view=presenter] .bespoke-marp-presenter-container .bespoke-marp-presenter-info-container .bespoke-marp-presenter-info-timer { | |
| color: #999; | |
| order: 3; | |
| text-align: right | |
| } | |
| } | |
| @media print { | |
| .bespoke-marp-presenter-info-container, | |
| .bespoke-marp-presenter-next-container, | |
| .bespoke-marp-presenter-note-container { | |
| display: none | |
| } | |
| } | |
| </style> | |
| <style> | |
| @charset "UTF-8"; | |
| @import url("https://fonts.googleapis.com/css?family=Lato:400,900|Roboto+Mono:400,700&display=swap"); | |
| div.marpit>svg>foreignObject>section { | |
| width: 1280px; | |
| height: 720px; | |
| box-sizing: border-box; | |
| overflow: hidden; | |
| position: relative; | |
| scroll-snap-align: center center; | |
| } | |
| div.marpit>svg>foreignObject>section::after { | |
| bottom: 0; | |
| content: attr(data-marpit-pagination); | |
| padding: inherit; | |
| pointer-events: none; | |
| position: absolute; | |
| right: 0; | |
| } | |
| div.marpit>svg>foreignObject>section:not([data-marpit-pagination])::after { | |
| display: none; | |
| } | |
| /* Normalization */ | |
| div.marpit>svg>foreignObject>section h1 { | |
| font-size: 2em; | |
| margin: 0.67em 0; | |
| } | |
| div.marpit>svg>foreignObject>section video::-webkit-media-controls { | |
| will-change: transform; | |
| } | |
| @page { | |
| size: 1280px 720px; | |
| margin: 0; | |
| } | |
| @media print { | |
| html, | |
| body { | |
| background-color: #fff; | |
| margin: 0; | |
| page-break-inside: avoid; | |
| break-inside: avoid-page; | |
| } | |
| div.marpit>svg>foreignObject>section { | |
| page-break-before: always; | |
| break-before: page; | |
| } | |
| div.marpit>svg>foreignObject>section, | |
| div.marpit>svg>foreignObject>section * { | |
| -webkit-print-color-adjust: exact !important; | |
| animation-delay: 0s !important; | |
| animation-duration: 0s !important; | |
| color-adjust: exact !important; | |
| transition: none !important; | |
| } | |
| div.marpit>svg[data-marpit-svg] { | |
| display: block; | |
| height: 100vh; | |
| width: 100vw; | |
| } | |
| } | |
| @font-face { | |
| font-family: KaTeX_AMS; | |
| src: url('katex/v0.12.0/fonts/KaTeX_AMS-Regular.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_AMS-Regular.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_AMS-Regular.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Caligraphic; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Caligraphic-Bold.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Caligraphic-Bold.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Caligraphic-Bold.ttf') format("truetype"); | |
| font-weight: 700; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Caligraphic; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Caligraphic-Regular.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Caligraphic-Regular.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Caligraphic-Regular.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Fraktur; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Fraktur-Bold.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Fraktur-Bold.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Fraktur-Bold.ttf') format("truetype"); | |
| font-weight: 700; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Fraktur; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Fraktur-Regular.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Fraktur-Regular.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Fraktur-Regular.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Main; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Main-Bold.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Main-Bold.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Main-Bold.ttf') format("truetype"); | |
| font-weight: 700; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Main; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Main-BoldItalic.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Main-BoldItalic.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Main-BoldItalic.ttf') format("truetype"); | |
| font-weight: 700; | |
| font-style: italic; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Main; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Main-Italic.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Main-Italic.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Main-Italic.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: italic; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Main; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Main-Regular.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Main-Regular.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Main-Regular.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Math; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Math-BoldItalic.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Math-BoldItalic.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Math-BoldItalic.ttf') format("truetype"); | |
| font-weight: 700; | |
| font-style: italic; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Math; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Math-Italic.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Math-Italic.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Math-Italic.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: italic; | |
| } | |
| @font-face { | |
| font-family: "KaTeX_SansSerif"; | |
| src: url('katex/v0.12.0/fonts/KaTeX_SansSerif-Bold.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_SansSerif-Bold.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_SansSerif-Bold.ttf') format("truetype"); | |
| font-weight: 700; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: "KaTeX_SansSerif"; | |
| src: url('katex/v0.12.0/fonts/KaTeX_SansSerif-Italic.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_SansSerif-Italic.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_SansSerif-Italic.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: italic; | |
| } | |
| @font-face { | |
| font-family: "KaTeX_SansSerif"; | |
| src: url('katex/v0.12.0/fonts/KaTeX_SansSerif-Regular.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_SansSerif-Regular.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_SansSerif-Regular.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Script; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Script-Regular.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Script-Regular.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Script-Regular.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Size1; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Size1-Regular.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Size1-Regular.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Size1-Regular.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Size2; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Size2-Regular.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Size2-Regular.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Size2-Regular.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Size3; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Size3-Regular.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Size3-Regular.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Size3-Regular.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Size4; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Size4-Regular.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Size4-Regular.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Size4-Regular.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| @font-face { | |
| font-family: KaTeX_Typewriter; | |
| src: url('katex/v0.12.0/fonts/KaTeX_Typewriter-Regular.woff2') format("woff2"), url('katex/v0.12.0/fonts/KaTeX_Typewriter-Regular.woff') format("woff"), url('katex/v0.12.0/fonts/KaTeX_Typewriter-Regular.ttf') format("truetype"); | |
| font-weight: 400; | |
| font-style: normal; | |
| } | |
| div.marpit>svg>foreignObject>section .katex { | |
| font: normal 1.21em KaTeX_Main, Times New Roman, serif; | |
| line-height: 1.2; | |
| text-indent: 0; | |
| text-rendering: auto; | |
| border-color: currentColor; | |
| } | |
| div.marpit>svg>foreignObject>section .katex * { | |
| -ms-high-contrast-adjust: none !important; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .katex-version:after { | |
| content: "0.12.0"; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .katex-mathml { | |
| position: absolute; | |
| clip: rect(1px, 1px, 1px, 1px); | |
| padding: 0; | |
| border: 0; | |
| height: 1px; | |
| width: 1px; | |
| overflow: hidden; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .katex-html>.newline { | |
| display: block; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .base { | |
| position: relative; | |
| white-space: nowrap; | |
| width: -webkit-min-content; | |
| width: -moz-min-content; | |
| width: min-content; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .base, | |
| div.marpit>svg>foreignObject>section .katex .strut { | |
| display: inline-block; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .textbf { | |
| font-weight: 700; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .textit { | |
| font-style: italic; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .textrm { | |
| font-family: KaTeX_Main; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .textsf { | |
| font-family: KaTeX_SansSerif; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .texttt { | |
| font-family: KaTeX_Typewriter; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mathnormal { | |
| font-family: KaTeX_Math; | |
| font-style: italic; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mathit { | |
| font-family: KaTeX_Main; | |
| font-style: italic; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mathrm { | |
| font-style: normal; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mathbf { | |
| font-family: KaTeX_Main; | |
| font-weight: 700; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .boldsymbol { | |
| font-family: KaTeX_Math; | |
| font-weight: 700; | |
| font-style: italic; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .amsrm, | |
| div.marpit>svg>foreignObject>section .katex .mathbb, | |
| div.marpit>svg>foreignObject>section .katex .textbb { | |
| font-family: KaTeX_AMS; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mathcal { | |
| font-family: KaTeX_Caligraphic; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mathfrak, | |
| div.marpit>svg>foreignObject>section .katex .textfrak { | |
| font-family: KaTeX_Fraktur; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mathtt { | |
| font-family: KaTeX_Typewriter; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mathscr, | |
| div.marpit>svg>foreignObject>section .katex .textscr { | |
| font-family: KaTeX_Script; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mathsf, | |
| div.marpit>svg>foreignObject>section .katex .textsf { | |
| font-family: KaTeX_SansSerif; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mathboldsf, | |
| div.marpit>svg>foreignObject>section .katex .textboldsf { | |
| font-family: KaTeX_SansSerif; | |
| font-weight: 700; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mathitsf, | |
| div.marpit>svg>foreignObject>section .katex .textitsf { | |
| font-family: KaTeX_SansSerif; | |
| font-style: italic; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mainrm { | |
| font-family: KaTeX_Main; | |
| font-style: normal; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .vlist-t { | |
| display: inline-table; | |
| table-layout: fixed; | |
| border-collapse: collapse; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .vlist-r { | |
| display: table-row; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .vlist { | |
| display: table-cell; | |
| vertical-align: bottom; | |
| position: relative; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .vlist>span { | |
| display: block; | |
| height: 0; | |
| position: relative; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .vlist>span>span { | |
| display: inline-block; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .vlist>span>.pstrut { | |
| overflow: hidden; | |
| width: 0; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .vlist-t2 { | |
| margin-right: -2px; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .vlist-s { | |
| display: table-cell; | |
| vertical-align: bottom; | |
| font-size: 1px; | |
| width: 2px; | |
| min-width: 2px; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.vlist-s { | |
| --marpit-root-font-size: 1px; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .vbox { | |
| flex-direction: column; | |
| align-items: baseline; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .hbox, | |
| div.marpit>svg>foreignObject>section .katex .vbox { | |
| display: inline-flex; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .hbox { | |
| flex-direction: row; | |
| width: 100%; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .thinbox { | |
| display: inline-flex; | |
| flex-direction: row; | |
| width: 0; | |
| max-width: 0; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .msupsub { | |
| text-align: left; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mfrac>span>span { | |
| text-align: center; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mfrac .frac-line { | |
| display: inline-block; | |
| width: 100%; | |
| border-bottom-style: solid; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .hdashline, | |
| div.marpit>svg>foreignObject>section .katex .hline, | |
| div.marpit>svg>foreignObject>section .katex .mfrac .frac-line, | |
| div.marpit>svg>foreignObject>section .katex .overline .overline-line, | |
| div.marpit>svg>foreignObject>section .katex .rule, | |
| div.marpit>svg>foreignObject>section .katex .underline .underline-line { | |
| min-height: 1px; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mspace { | |
| display: inline-block; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .clap, | |
| div.marpit>svg>foreignObject>section .katex .llap, | |
| div.marpit>svg>foreignObject>section .katex .rlap { | |
| width: 0; | |
| position: relative; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .clap>.inner, | |
| div.marpit>svg>foreignObject>section .katex .llap>.inner, | |
| div.marpit>svg>foreignObject>section .katex .rlap>.inner { | |
| position: absolute; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .clap>.fix, | |
| div.marpit>svg>foreignObject>section .katex .llap>.fix, | |
| div.marpit>svg>foreignObject>section .katex .rlap>.fix { | |
| display: inline-block; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .llap>.inner { | |
| right: 0; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .clap>.inner, | |
| div.marpit>svg>foreignObject>section .katex .rlap>.inner { | |
| left: 0; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .clap>.inner>span { | |
| margin-left: -50%; | |
| margin-right: 50%; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .rule { | |
| display: inline-block; | |
| border: 0 solid; | |
| position: relative; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .hline, | |
| div.marpit>svg>foreignObject>section .katex .overline .overline-line, | |
| div.marpit>svg>foreignObject>section .katex .underline .underline-line { | |
| display: inline-block; | |
| width: 100%; | |
| border-bottom-style: solid; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .hdashline { | |
| display: inline-block; | |
| width: 100%; | |
| border-bottom-style: dashed; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .sqrt>.root { | |
| margin-left: .27777778em; | |
| margin-right: -.55555556em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size1.size1, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size1.size1 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size1.size1, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size1.size1 { | |
| --marpit-root-font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size1.size2, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size1.size2 { | |
| font-size: 1.2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size1.size2, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size1.size2 { | |
| --marpit-root-font-size: 1.2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size1.size3, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size1.size3 { | |
| font-size: 1.4em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size1.size3, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size1.size3 { | |
| --marpit-root-font-size: 1.4em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size1.size4, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size1.size4 { | |
| font-size: 1.6em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size1.size4, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size1.size4 { | |
| --marpit-root-font-size: 1.6em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size1.size5, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size1.size5 { | |
| font-size: 1.8em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size1.size5, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size1.size5 { | |
| --marpit-root-font-size: 1.8em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size1.size6, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size1.size6 { | |
| font-size: 2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size1.size6, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size1.size6 { | |
| --marpit-root-font-size: 2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size1.size7, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size1.size7 { | |
| font-size: 2.4em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size1.size7, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size1.size7 { | |
| --marpit-root-font-size: 2.4em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size1.size8, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size1.size8 { | |
| font-size: 2.88em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size1.size8, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size1.size8 { | |
| --marpit-root-font-size: 2.88em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size1.size9, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size1.size9 { | |
| font-size: 3.456em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size1.size9, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size1.size9 { | |
| --marpit-root-font-size: 3.456em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size1.size10, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size1.size10 { | |
| font-size: 4.148em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size1.size10, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size1.size10 { | |
| --marpit-root-font-size: 4.148em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size1.size11, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size1.size11 { | |
| font-size: 4.976em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size1.size11, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size1.size11 { | |
| --marpit-root-font-size: 4.976em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size2.size1, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size2.size1 { | |
| font-size: .83333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size2.size1, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size2.size1 { | |
| --marpit-root-font-size: .83333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size2.size2, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size2.size2 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size2.size2, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size2.size2 { | |
| --marpit-root-font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size2.size3, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size2.size3 { | |
| font-size: 1.16666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size2.size3, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size2.size3 { | |
| --marpit-root-font-size: 1.16666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size2.size4, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size2.size4 { | |
| font-size: 1.33333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size2.size4, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size2.size4 { | |
| --marpit-root-font-size: 1.33333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size2.size5, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size2.size5 { | |
| font-size: 1.5em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size2.size5, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size2.size5 { | |
| --marpit-root-font-size: 1.5em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size2.size6, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size2.size6 { | |
| font-size: 1.66666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size2.size6, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size2.size6 { | |
| --marpit-root-font-size: 1.66666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size2.size7, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size2.size7 { | |
| font-size: 2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size2.size7, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size2.size7 { | |
| --marpit-root-font-size: 2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size2.size8, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size2.size8 { | |
| font-size: 2.4em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size2.size8, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size2.size8 { | |
| --marpit-root-font-size: 2.4em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size2.size9, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size2.size9 { | |
| font-size: 2.88em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size2.size9, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size2.size9 { | |
| --marpit-root-font-size: 2.88em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size2.size10, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size2.size10 { | |
| font-size: 3.45666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size2.size10, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size2.size10 { | |
| --marpit-root-font-size: 3.45666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size2.size11, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size2.size11 { | |
| font-size: 4.14666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size2.size11, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size2.size11 { | |
| --marpit-root-font-size: 4.14666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size3.size1, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size3.size1 { | |
| font-size: .71428571em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size3.size1, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size3.size1 { | |
| --marpit-root-font-size: .71428571em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size3.size2, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size3.size2 { | |
| font-size: .85714286em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size3.size2, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size3.size2 { | |
| --marpit-root-font-size: .85714286em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size3.size3, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size3.size3 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size3.size3, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size3.size3 { | |
| --marpit-root-font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size3.size4, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size3.size4 { | |
| font-size: 1.14285714em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size3.size4, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size3.size4 { | |
| --marpit-root-font-size: 1.14285714em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size3.size5, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size3.size5 { | |
| font-size: 1.28571429em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size3.size5, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size3.size5 { | |
| --marpit-root-font-size: 1.28571429em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size3.size6, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size3.size6 { | |
| font-size: 1.42857143em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size3.size6, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size3.size6 { | |
| --marpit-root-font-size: 1.42857143em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size3.size7, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size3.size7 { | |
| font-size: 1.71428571em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size3.size7, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size3.size7 { | |
| --marpit-root-font-size: 1.71428571em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size3.size8, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size3.size8 { | |
| font-size: 2.05714286em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size3.size8, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size3.size8 { | |
| --marpit-root-font-size: 2.05714286em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size3.size9, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size3.size9 { | |
| font-size: 2.46857143em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size3.size9, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size3.size9 { | |
| --marpit-root-font-size: 2.46857143em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size3.size10, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size3.size10 { | |
| font-size: 2.96285714em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size3.size10, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size3.size10 { | |
| --marpit-root-font-size: 2.96285714em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size3.size11, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size3.size11 { | |
| font-size: 3.55428571em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size3.size11, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size3.size11 { | |
| --marpit-root-font-size: 3.55428571em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size4.size1, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size4.size1 { | |
| font-size: .625em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size4.size1, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size4.size1 { | |
| --marpit-root-font-size: .625em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size4.size2, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size4.size2 { | |
| font-size: .75em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size4.size2, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size4.size2 { | |
| --marpit-root-font-size: .75em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size4.size3, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size4.size3 { | |
| font-size: .875em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size4.size3, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size4.size3 { | |
| --marpit-root-font-size: .875em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size4.size4, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size4.size4 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size4.size4, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size4.size4 { | |
| --marpit-root-font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size4.size5, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size4.size5 { | |
| font-size: 1.125em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size4.size5, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size4.size5 { | |
| --marpit-root-font-size: 1.125em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size4.size6, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size4.size6 { | |
| font-size: 1.25em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size4.size6, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size4.size6 { | |
| --marpit-root-font-size: 1.25em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size4.size7, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size4.size7 { | |
| font-size: 1.5em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size4.size7, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size4.size7 { | |
| --marpit-root-font-size: 1.5em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size4.size8, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size4.size8 { | |
| font-size: 1.8em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size4.size8, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size4.size8 { | |
| --marpit-root-font-size: 1.8em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size4.size9, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size4.size9 { | |
| font-size: 2.16em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size4.size9, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size4.size9 { | |
| --marpit-root-font-size: 2.16em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size4.size10, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size4.size10 { | |
| font-size: 2.5925em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size4.size10, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size4.size10 { | |
| --marpit-root-font-size: 2.5925em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size4.size11, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size4.size11 { | |
| font-size: 3.11em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size4.size11, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size4.size11 { | |
| --marpit-root-font-size: 3.11em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size5.size1, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size5.size1 { | |
| font-size: .55555556em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size5.size1, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size5.size1 { | |
| --marpit-root-font-size: .55555556em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size5.size2, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size5.size2 { | |
| font-size: .66666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size5.size2, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size5.size2 { | |
| --marpit-root-font-size: .66666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size5.size3, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size5.size3 { | |
| font-size: .77777778em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size5.size3, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size5.size3 { | |
| --marpit-root-font-size: .77777778em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size5.size4, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size5.size4 { | |
| font-size: .88888889em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size5.size4, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size5.size4 { | |
| --marpit-root-font-size: .88888889em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size5.size5, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size5.size5 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size5.size5, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size5.size5 { | |
| --marpit-root-font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size5.size6, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size5.size6 { | |
| font-size: 1.11111111em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size5.size6, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size5.size6 { | |
| --marpit-root-font-size: 1.11111111em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size5.size7, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size5.size7 { | |
| font-size: 1.33333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size5.size7, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size5.size7 { | |
| --marpit-root-font-size: 1.33333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size5.size8, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size5.size8 { | |
| font-size: 1.6em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size5.size8, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size5.size8 { | |
| --marpit-root-font-size: 1.6em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size5.size9, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size5.size9 { | |
| font-size: 1.92em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size5.size9, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size5.size9 { | |
| --marpit-root-font-size: 1.92em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size5.size10, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size5.size10 { | |
| font-size: 2.30444444em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size5.size10, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size5.size10 { | |
| --marpit-root-font-size: 2.30444444em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size5.size11, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size5.size11 { | |
| font-size: 2.76444444em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size5.size11, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size5.size11 { | |
| --marpit-root-font-size: 2.76444444em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size6.size1, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size6.size1 { | |
| font-size: .5em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size6.size1, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size6.size1 { | |
| --marpit-root-font-size: .5em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size6.size2, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size6.size2 { | |
| font-size: .6em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size6.size2, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size6.size2 { | |
| --marpit-root-font-size: .6em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size6.size3, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size6.size3 { | |
| font-size: .7em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size6.size3, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size6.size3 { | |
| --marpit-root-font-size: .7em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size6.size4, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size6.size4 { | |
| font-size: .8em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size6.size4, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size6.size4 { | |
| --marpit-root-font-size: .8em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size6.size5, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size6.size5 { | |
| font-size: .9em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size6.size5, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size6.size5 { | |
| --marpit-root-font-size: .9em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size6.size6, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size6.size6 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size6.size6, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size6.size6 { | |
| --marpit-root-font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size6.size7, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size6.size7 { | |
| font-size: 1.2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size6.size7, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size6.size7 { | |
| --marpit-root-font-size: 1.2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size6.size8, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size6.size8 { | |
| font-size: 1.44em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size6.size8, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size6.size8 { | |
| --marpit-root-font-size: 1.44em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size6.size9, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size6.size9 { | |
| font-size: 1.728em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size6.size9, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size6.size9 { | |
| --marpit-root-font-size: 1.728em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size6.size10, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size6.size10 { | |
| font-size: 2.074em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size6.size10, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size6.size10 { | |
| --marpit-root-font-size: 2.074em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size6.size11, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size6.size11 { | |
| font-size: 2.488em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size6.size11, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size6.size11 { | |
| --marpit-root-font-size: 2.488em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size7.size1, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size7.size1 { | |
| font-size: .41666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size7.size1, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size7.size1 { | |
| --marpit-root-font-size: .41666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size7.size2, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size7.size2 { | |
| font-size: .5em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size7.size2, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size7.size2 { | |
| --marpit-root-font-size: .5em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size7.size3, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size7.size3 { | |
| font-size: .58333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size7.size3, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size7.size3 { | |
| --marpit-root-font-size: .58333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size7.size4, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size7.size4 { | |
| font-size: .66666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size7.size4, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size7.size4 { | |
| --marpit-root-font-size: .66666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size7.size5, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size7.size5 { | |
| font-size: .75em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size7.size5, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size7.size5 { | |
| --marpit-root-font-size: .75em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size7.size6, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size7.size6 { | |
| font-size: .83333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size7.size6, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size7.size6 { | |
| --marpit-root-font-size: .83333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size7.size7, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size7.size7 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size7.size7, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size7.size7 { | |
| --marpit-root-font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size7.size8, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size7.size8 { | |
| font-size: 1.2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size7.size8, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size7.size8 { | |
| --marpit-root-font-size: 1.2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size7.size9, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size7.size9 { | |
| font-size: 1.44em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size7.size9, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size7.size9 { | |
| --marpit-root-font-size: 1.44em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size7.size10, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size7.size10 { | |
| font-size: 1.72833333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size7.size10, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size7.size10 { | |
| --marpit-root-font-size: 1.72833333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size7.size11, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size7.size11 { | |
| font-size: 2.07333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size7.size11, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size7.size11 { | |
| --marpit-root-font-size: 2.07333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size8.size1, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size8.size1 { | |
| font-size: .34722222em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size8.size1, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size8.size1 { | |
| --marpit-root-font-size: .34722222em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size8.size2, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size8.size2 { | |
| font-size: .41666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size8.size2, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size8.size2 { | |
| --marpit-root-font-size: .41666667em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size8.size3, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size8.size3 { | |
| font-size: .48611111em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size8.size3, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size8.size3 { | |
| --marpit-root-font-size: .48611111em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size8.size4, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size8.size4 { | |
| font-size: .55555556em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size8.size4, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size8.size4 { | |
| --marpit-root-font-size: .55555556em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size8.size5, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size8.size5 { | |
| font-size: .625em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size8.size5, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size8.size5 { | |
| --marpit-root-font-size: .625em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size8.size6, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size8.size6 { | |
| font-size: .69444444em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size8.size6, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size8.size6 { | |
| --marpit-root-font-size: .69444444em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size8.size7, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size8.size7 { | |
| font-size: .83333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size8.size7, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size8.size7 { | |
| --marpit-root-font-size: .83333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size8.size8, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size8.size8 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size8.size8, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size8.size8 { | |
| --marpit-root-font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size8.size9, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size8.size9 { | |
| font-size: 1.2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size8.size9, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size8.size9 { | |
| --marpit-root-font-size: 1.2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size8.size10, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size8.size10 { | |
| font-size: 1.44027778em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size8.size10, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size8.size10 { | |
| --marpit-root-font-size: 1.44027778em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size8.size11, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size8.size11 { | |
| font-size: 1.72777778em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size8.size11, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size8.size11 { | |
| --marpit-root-font-size: 1.72777778em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size9.size1, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size9.size1 { | |
| font-size: .28935185em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size9.size1, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size9.size1 { | |
| --marpit-root-font-size: .28935185em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size9.size2, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size9.size2 { | |
| font-size: .34722222em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size9.size2, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size9.size2 { | |
| --marpit-root-font-size: .34722222em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size9.size3, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size9.size3 { | |
| font-size: .40509259em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size9.size3, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size9.size3 { | |
| --marpit-root-font-size: .40509259em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size9.size4, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size9.size4 { | |
| font-size: .46296296em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size9.size4, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size9.size4 { | |
| --marpit-root-font-size: .46296296em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size9.size5, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size9.size5 { | |
| font-size: .52083333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size9.size5, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size9.size5 { | |
| --marpit-root-font-size: .52083333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size9.size6, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size9.size6 { | |
| font-size: .5787037em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size9.size6, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size9.size6 { | |
| --marpit-root-font-size: .5787037em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size9.size7, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size9.size7 { | |
| font-size: .69444444em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size9.size7, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size9.size7 { | |
| --marpit-root-font-size: .69444444em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size9.size8, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size9.size8 { | |
| font-size: .83333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size9.size8, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size9.size8 { | |
| --marpit-root-font-size: .83333333em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size9.size9, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size9.size9 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size9.size9, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size9.size9 { | |
| --marpit-root-font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size9.size10, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size9.size10 { | |
| font-size: 1.20023148em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size9.size10, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size9.size10 { | |
| --marpit-root-font-size: 1.20023148em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size9.size11, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size9.size11 { | |
| font-size: 1.43981481em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size9.size11, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size9.size11 { | |
| --marpit-root-font-size: 1.43981481em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size10.size1, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size10.size1 { | |
| font-size: .24108004em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size10.size1, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size10.size1 { | |
| --marpit-root-font-size: .24108004em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size10.size2, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size10.size2 { | |
| font-size: .28929605em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size10.size2, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size10.size2 { | |
| --marpit-root-font-size: .28929605em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size10.size3, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size10.size3 { | |
| font-size: .33751205em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size10.size3, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size10.size3 { | |
| --marpit-root-font-size: .33751205em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size10.size4, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size10.size4 { | |
| font-size: .38572806em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size10.size4, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size10.size4 { | |
| --marpit-root-font-size: .38572806em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size10.size5, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size10.size5 { | |
| font-size: .43394407em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size10.size5, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size10.size5 { | |
| --marpit-root-font-size: .43394407em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size10.size6, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size10.size6 { | |
| font-size: .48216008em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size10.size6, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size10.size6 { | |
| --marpit-root-font-size: .48216008em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size10.size7, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size10.size7 { | |
| font-size: .57859209em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size10.size7, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size10.size7 { | |
| --marpit-root-font-size: .57859209em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size10.size8, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size10.size8 { | |
| font-size: .69431051em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size10.size8, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size10.size8 { | |
| --marpit-root-font-size: .69431051em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size10.size9, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size10.size9 { | |
| font-size: .83317261em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size10.size9, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size10.size9 { | |
| --marpit-root-font-size: .83317261em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size10.size10, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size10.size10 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size10.size10, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size10.size10 { | |
| --marpit-root-font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size10.size11, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size10.size11 { | |
| font-size: 1.19961427em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size10.size11, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size10.size11 { | |
| --marpit-root-font-size: 1.19961427em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size11.size1, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size11.size1 { | |
| font-size: .20096463em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size11.size1, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size11.size1 { | |
| --marpit-root-font-size: .20096463em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size11.size2, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size11.size2 { | |
| font-size: .24115756em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size11.size2, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size11.size2 { | |
| --marpit-root-font-size: .24115756em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size11.size3, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size11.size3 { | |
| font-size: .28135048em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size11.size3, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size11.size3 { | |
| --marpit-root-font-size: .28135048em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size11.size4, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size11.size4 { | |
| font-size: .32154341em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size11.size4, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size11.size4 { | |
| --marpit-root-font-size: .32154341em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size11.size5, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size11.size5 { | |
| font-size: .36173633em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size11.size5, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size11.size5 { | |
| --marpit-root-font-size: .36173633em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size11.size6, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size11.size6 { | |
| font-size: .40192926em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size11.size6, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size11.size6 { | |
| --marpit-root-font-size: .40192926em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size11.size7, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size11.size7 { | |
| font-size: .48231511em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size11.size7, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size11.size7 { | |
| --marpit-root-font-size: .48231511em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size11.size8, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size11.size8 { | |
| font-size: .57877814em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size11.size8, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size11.size8 { | |
| --marpit-root-font-size: .57877814em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size11.size9, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size11.size9 { | |
| font-size: .69453376em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size11.size9, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size11.size9 { | |
| --marpit-root-font-size: .69453376em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size11.size10, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size11.size10 { | |
| font-size: .83360129em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size11.size10, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size11.size10 { | |
| --marpit-root-font-size: .83360129em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fontsize-ensurer.reset-size11.size11, | |
| div.marpit>svg>foreignObject>section .katex .sizing.reset-size11.size11 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.fontsize-ensurer.reset-size11.size11, | |
| div.marpit>svg>foreignObject>section .katex div.marpit>svg>foreignObject>section section.sizing.reset-size11.size11 { | |
| --marpit-root-font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .delimsizing.size1 { | |
| font-family: KaTeX_Size1; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .delimsizing.size2 { | |
| font-family: KaTeX_Size2; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .delimsizing.size3 { | |
| font-family: KaTeX_Size3; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .delimsizing.size4 { | |
| font-family: KaTeX_Size4; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .delimsizing.mult .delim-size1>span { | |
| font-family: KaTeX_Size1; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .delimsizing.mult .delim-size4>span { | |
| font-family: KaTeX_Size4; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .nulldelimiter { | |
| display: inline-block; | |
| width: .12em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .delimcenter, | |
| div.marpit>svg>foreignObject>section .katex .op-symbol { | |
| position: relative; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .op-symbol.small-op { | |
| font-family: KaTeX_Size1; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .op-symbol.large-op { | |
| font-family: KaTeX_Size2; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .accent>.vlist-t, | |
| div.marpit>svg>foreignObject>section .katex .op-limits>.vlist-t { | |
| text-align: center; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .accent .accent-body { | |
| position: relative; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .accent .accent-body:not(.accent-full) { | |
| width: 0; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .overlay { | |
| display: block; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mtable .vertical-separator { | |
| display: inline-block; | |
| min-width: 1px; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mtable .arraycolsep { | |
| display: inline-block; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mtable .col-align-c>.vlist-t { | |
| text-align: center; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mtable .col-align-l>.vlist-t { | |
| text-align: left; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mtable .col-align-r>.vlist-t { | |
| text-align: right; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .svg-align { | |
| text-align: left; | |
| } | |
| div.marpit>svg>foreignObject>section .katex svg { | |
| display: block; | |
| position: absolute; | |
| width: 100%; | |
| height: inherit; | |
| fill: currentColor; | |
| stroke: currentColor; | |
| fill-rule: nonzero; | |
| fill-opacity: 1; | |
| stroke-width: 1; | |
| stroke-linecap: butt; | |
| stroke-linejoin: miter; | |
| stroke-miterlimit: 4; | |
| stroke-dasharray: none; | |
| stroke-dashoffset: 0; | |
| stroke-opacity: 1; | |
| } | |
| div.marpit>svg>foreignObject>section .katex svg path { | |
| stroke: none; | |
| } | |
| div.marpit>svg>foreignObject>section .katex img { | |
| border-style: none; | |
| min-width: 0; | |
| min-height: 0; | |
| max-width: none; | |
| max-height: none; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .stretchy { | |
| width: 100%; | |
| display: block; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .stretchy:after, | |
| div.marpit>svg>foreignObject>section .katex .stretchy:before { | |
| content: ""; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .hide-tail { | |
| width: 100%; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .halfarrow-left { | |
| left: 0; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .halfarrow-left, | |
| div.marpit>svg>foreignObject>section .katex .halfarrow-right { | |
| position: absolute; | |
| width: 50.2%; | |
| overflow: hidden; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .halfarrow-right { | |
| right: 0; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .brace-left { | |
| position: absolute; | |
| left: 0; | |
| width: 25.1%; | |
| overflow: hidden; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .brace-center { | |
| position: absolute; | |
| left: 25%; | |
| width: 50%; | |
| overflow: hidden; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .brace-right { | |
| position: absolute; | |
| right: 0; | |
| width: 25.1%; | |
| overflow: hidden; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .x-arrow-pad { | |
| padding: 0 .5em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .mover, | |
| div.marpit>svg>foreignObject>section .katex .munder, | |
| div.marpit>svg>foreignObject>section .katex .x-arrow { | |
| text-align: center; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .boxpad { | |
| padding: 0 .3em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .fbox, | |
| div.marpit>svg>foreignObject>section .katex .fcolorbox { | |
| box-sizing: border-box; | |
| border: .04em solid; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .cancel-pad { | |
| padding: 0 .2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .cancel-lap { | |
| margin-left: -.2em; | |
| margin-right: -.2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex .sout { | |
| border-bottom-style: solid; | |
| border-bottom-width: .08em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex-display { | |
| display: block; | |
| margin: 1em 0; | |
| text-align: center; | |
| } | |
| div.marpit>svg>foreignObject>section .katex-display>.katex { | |
| display: block; | |
| text-align: center; | |
| white-space: nowrap; | |
| } | |
| div.marpit>svg>foreignObject>section .katex-display>.katex>.katex-html { | |
| display: block; | |
| position: relative; | |
| } | |
| div.marpit>svg>foreignObject>section .katex-display>.katex>.katex-html>.tag { | |
| position: absolute; | |
| right: 0; | |
| } | |
| div.marpit>svg>foreignObject>section .katex-display.leqno>.katex>.katex-html>.tag { | |
| left: 0; | |
| right: auto; | |
| } | |
| div.marpit>svg>foreignObject>section .katex-display.fleqn>.katex { | |
| text-align: left; | |
| padding-left: 2em; | |
| } | |
| div.marpit>svg>foreignObject>section .katex-display { | |
| margin: 0; | |
| } | |
| div.marpit>svg>foreignObject>section svg[data-marp-fitting-math] { | |
| --preserve-aspect-ratio: xMidYMid meet; | |
| } | |
| div.marpit>svg>foreignObject>section svg[data-marp-fitting-math] [data-marp-fitting-svg-content] { | |
| margin: 0 auto; | |
| } | |
| div.marpit>svg>foreignObject>section svg[data-marp-fitting=svg] { | |
| display: block; | |
| height: auto; | |
| width: 100%; | |
| } | |
| @supports (-ms-ime-align: auto) { | |
| div.marpit>svg>foreignObject>section svg[data-marp-fitting=svg] { | |
| position: static; | |
| } | |
| } | |
| div.marpit>svg>foreignObject>section svg[data-marp-fitting=svg].__reflow__ { | |
| content: ""; | |
| } | |
| @supports (-ms-ime-align: auto) { | |
| div.marpit>svg>foreignObject>section svg[data-marp-fitting=svg].__reflow__ { | |
| position: relative; | |
| } | |
| } | |
| div.marpit>svg>foreignObject>section [data-marp-fitting-svg-content] { | |
| display: table; | |
| white-space: nowrap; | |
| } | |
| div.marpit>svg>foreignObject>section [data-marp-fitting-svg-content-wrap] { | |
| white-space: pre; | |
| } | |
| /*! | |
| * Marp / Marpit Gaia theme. | |
| * | |
| * @theme gaia | |
| * @author Yuki Hattori | |
| * | |
| * @auto-scaling true | |
| * @size 4:3 960px 720px | |
| */ | |
| div.marpit>svg>foreignObject>section .hljs { | |
| display: block; | |
| overflow-x: auto; | |
| padding: .5em; | |
| background: #000; | |
| color: #f8f8f8; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-comment, | |
| div.marpit>svg>foreignObject>section .hljs-quote { | |
| color: #aeaeae; | |
| font-style: italic; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-keyword, | |
| div.marpit>svg>foreignObject>section .hljs-selector-tag, | |
| div.marpit>svg>foreignObject>section .hljs-type { | |
| color: #e28964; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-string { | |
| color: #65b042; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-subst { | |
| color: #daefa3; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-link, | |
| div.marpit>svg>foreignObject>section .hljs-regexp { | |
| color: #e9c062; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-name, | |
| div.marpit>svg>foreignObject>section .hljs-section, | |
| div.marpit>svg>foreignObject>section .hljs-tag, | |
| div.marpit>svg>foreignObject>section .hljs-title { | |
| color: #89bdff; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-class .hljs-title, | |
| div.marpit>svg>foreignObject>section .hljs-doctag { | |
| text-decoration: underline; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-bullet, | |
| div.marpit>svg>foreignObject>section .hljs-number, | |
| div.marpit>svg>foreignObject>section .hljs-symbol { | |
| color: #3387cc; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-params, | |
| div.marpit>svg>foreignObject>section .hljs-template-variable, | |
| div.marpit>svg>foreignObject>section .hljs-variable { | |
| color: #3e87e3; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-attribute { | |
| color: #cda869; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-meta { | |
| color: #8996a8; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-formula { | |
| background-color: #0e2231; | |
| color: #f8f8f8; | |
| font-style: italic; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-addition { | |
| background-color: #253b22; | |
| color: #f8f8f8; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-deletion { | |
| background-color: #420e09; | |
| color: #f8f8f8; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-selector-class { | |
| color: #9b703f; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-selector-id { | |
| color: #8b98ab; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-emphasis { | |
| font-style: italic; | |
| } | |
| div.marpit>svg>foreignObject>section .hljs-strong { | |
| font-weight: 700; | |
| } | |
| div.marpit>svg>foreignObject>section svg[data-marp-fitting=svg] { | |
| max-height: 580px; | |
| } | |
| div.marpit>svg>foreignObject>section h1, | |
| div.marpit>svg>foreignObject>section h2, | |
| div.marpit>svg>foreignObject>section h3, | |
| div.marpit>svg>foreignObject>section h4, | |
| div.marpit>svg>foreignObject>section h5, | |
| div.marpit>svg>foreignObject>section h6 { | |
| margin: .5em 0 0; | |
| } | |
| div.marpit>svg>foreignObject>section h1 strong, | |
| div.marpit>svg>foreignObject>section h2 strong, | |
| div.marpit>svg>foreignObject>section h3 strong, | |
| div.marpit>svg>foreignObject>section h4 strong, | |
| div.marpit>svg>foreignObject>section h5 strong, | |
| div.marpit>svg>foreignObject>section h6 strong { | |
| font-weight: inherit; | |
| } | |
| div.marpit>svg>foreignObject>section h1 { | |
| font-size: 1.8em; | |
| } | |
| div.marpit>svg>foreignObject>section h2 { | |
| font-size: 1.5em; | |
| } | |
| div.marpit>svg>foreignObject>section h3 { | |
| font-size: 1.3em; | |
| } | |
| div.marpit>svg>foreignObject>section h4 { | |
| font-size: 1.1em; | |
| } | |
| div.marpit>svg>foreignObject>section h5 { | |
| font-size: 1em; | |
| } | |
| div.marpit>svg>foreignObject>section h6 { | |
| font-size: .9em; | |
| } | |
| div.marpit>svg>foreignObject>section blockquote, | |
| div.marpit>svg>foreignObject>section p { | |
| margin: 1em 0 0; | |
| } | |
| div.marpit>svg>foreignObject>section ol>li, | |
| div.marpit>svg>foreignObject>section ul>li { | |
| margin: .3em 0 0; | |
| } | |
| div.marpit>svg>foreignObject>section ol>li>p, | |
| div.marpit>svg>foreignObject>section ul>li>p { | |
| margin: .6em 0 0; | |
| } | |
| div.marpit>svg>foreignObject>section code { | |
| display: inline-block; | |
| font-family: Roboto Mono, monospace; | |
| font-size: .8em; | |
| letter-spacing: 0; | |
| margin: -.1em .15em; | |
| padding: .1em .2em; | |
| vertical-align: baseline; | |
| } | |
| div.marpit>svg>foreignObject>section pre { | |
| display: block; | |
| margin: 1em 0 0; | |
| min-height: 1em; | |
| overflow: visible; | |
| } | |
| div.marpit>svg>foreignObject>section pre code { | |
| box-sizing: border-box; | |
| margin: 0; | |
| min-width: 100%; | |
| padding: .5em; | |
| font-size: .7em; | |
| } | |
| div.marpit>svg>foreignObject>section pre code svg[data-marp-fitting=svg] { | |
| max-height: calc(580px - 1em); | |
| } | |
| div.marpit>svg>foreignObject>section blockquote { | |
| margin: 1em 0 0; | |
| padding: 0 1em; | |
| position: relative; | |
| } | |
| div.marpit>svg>foreignObject>section blockquote::after, | |
| div.marpit>svg>foreignObject>section blockquote::before { | |
| content: "“"; | |
| display: block; | |
| font-family: Times New Roman, serif; | |
| font-weight: 700; | |
| position: absolute; | |
| } | |
| div.marpit>svg>foreignObject>section blockquote::before { | |
| top: 0; | |
| left: 0; | |
| } | |
| div.marpit>svg>foreignObject>section blockquote::after { | |
| right: 0; | |
| bottom: 0; | |
| transform: rotate(180deg); | |
| } | |
| div.marpit>svg>foreignObject>section blockquote>*:first-child { | |
| margin-top: 0; | |
| } | |
| div.marpit>svg>foreignObject>section mark { | |
| background: transparent; | |
| } | |
| div.marpit>svg>foreignObject>section table { | |
| border-spacing: 0; | |
| border-collapse: collapse; | |
| margin: 1em 0 0; | |
| } | |
| div.marpit>svg>foreignObject>section table td, | |
| div.marpit>svg>foreignObject>section table th { | |
| padding: .2em .4em; | |
| border-width: 1px; | |
| border-style: solid; | |
| } | |
| div.marpit>svg>foreignObject>section { | |
| background-image: linear-gradient(135deg, hsla(0, 0%, 53.3%, 0), hsla(0, 0%, 53.3%, .02) 50%, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .05)); | |
| font-size: 35px; | |
| font-family: Lato, Avenir Next, Avenir, Trebuchet MS, Segoe UI, sans-serif; | |
| height: 720px; | |
| line-height: 1.35; | |
| letter-spacing: 1.25px; | |
| padding: 70px; | |
| width: 1280px; | |
| word-wrap: break-word; | |
| color: #455a64; | |
| background-color: #fff8e1; | |
| } | |
| div.marpit>svg>foreignObject>section { | |
| --marpit-root-font-size: 35px; | |
| } | |
| div.marpit>svg>foreignObject>section>*:first-child, | |
| div.marpit>svg>foreignObject>section>header:first-child+* { | |
| margin-top: 0; | |
| } | |
| div.marpit>svg>foreignObject>section a, | |
| div.marpit>svg>foreignObject>section mark { | |
| color: #0288d1; | |
| } | |
| div.marpit>svg>foreignObject>section code { | |
| background: #6a7a7d; | |
| color: #fff8e1; | |
| } | |
| div.marpit>svg>foreignObject>section h1 strong, | |
| div.marpit>svg>foreignObject>section h2 strong, | |
| div.marpit>svg>foreignObject>section h3 strong, | |
| div.marpit>svg>foreignObject>section h4 strong, | |
| div.marpit>svg>foreignObject>section h5 strong, | |
| div.marpit>svg>foreignObject>section h6 strong { | |
| color: #0288d1; | |
| } | |
| div.marpit>svg>foreignObject>section pre>code { | |
| background: #455a64; | |
| } | |
| div.marpit>svg>foreignObject>section blockquote::after, | |
| div.marpit>svg>foreignObject>section blockquote::before, | |
| div.marpit>svg>foreignObject>section footer, | |
| div.marpit>svg>foreignObject>section header, | |
| div.marpit>svg>foreignObject>section section::after { | |
| color: #6a7a7d; | |
| } | |
| div.marpit>svg>foreignObject>section table td, | |
| div.marpit>svg>foreignObject>section table th { | |
| border-color: #455a64; | |
| } | |
| div.marpit>svg>foreignObject>section table thead th { | |
| background: #455a64; | |
| color: #fff8e1; | |
| } | |
| div.marpit>svg>foreignObject>section table tbody>tr:nth-child(odd) td, | |
| div.marpit>svg>foreignObject>section table tbody>tr:nth-child(odd) th { | |
| background: rgba(69, 90, 100, .1); | |
| } | |
| div.marpit>svg>foreignObject>section.invert { | |
| color: #fff8e1; | |
| background-color: #455a64; | |
| } | |
| div.marpit>svg>foreignObject>section.invert a, | |
| div.marpit>svg>foreignObject>section.invert mark { | |
| color: #81d4fa; | |
| } | |
| div.marpit>svg>foreignObject>section.invert code { | |
| background: #dad8c8; | |
| color: #455a64; | |
| } | |
| div.marpit>svg>foreignObject>section.invert h1 strong, | |
| div.marpit>svg>foreignObject>section.invert h2 strong, | |
| div.marpit>svg>foreignObject>section.invert h3 strong, | |
| div.marpit>svg>foreignObject>section.invert h4 strong, | |
| div.marpit>svg>foreignObject>section.invert h5 strong, | |
| div.marpit>svg>foreignObject>section.invert h6 strong { | |
| color: #81d4fa; | |
| } | |
| div.marpit>svg>foreignObject>section.invert pre>code { | |
| background: #fff8e1; | |
| } | |
| div.marpit>svg>foreignObject>section.invert blockquote::after, | |
| div.marpit>svg>foreignObject>section.invert blockquote::before, | |
| div.marpit>svg>foreignObject>section.invert footer, | |
| div.marpit>svg>foreignObject>section.invert header, | |
| div.marpit>svg>foreignObject>section.invert section::after { | |
| color: #dad8c8; | |
| } | |
| div.marpit>svg>foreignObject>section.invert table td, | |
| div.marpit>svg>foreignObject>section.invert table th { | |
| border-color: #fff8e1; | |
| } | |
| div.marpit>svg>foreignObject>section.invert table thead th { | |
| background: #fff8e1; | |
| color: #455a64; | |
| } | |
| div.marpit>svg>foreignObject>section.invert table tbody>tr:nth-child(odd) td, | |
| div.marpit>svg>foreignObject>section.invert table tbody>tr:nth-child(odd) th { | |
| background: rgba(255, 248, 225, .1); | |
| } | |
| div.marpit>svg>foreignObject>section.gaia { | |
| color: #fff8e1; | |
| background-color: #0288d1; | |
| } | |
| div.marpit>svg>foreignObject>section.gaia a, | |
| div.marpit>svg>foreignObject>section.gaia mark { | |
| color: #81d4fa; | |
| } | |
| div.marpit>svg>foreignObject>section.gaia code { | |
| background: #cce2de; | |
| color: #0288d1; | |
| } | |
| div.marpit>svg>foreignObject>section.gaia h1 strong, | |
| div.marpit>svg>foreignObject>section.gaia h2 strong, | |
| div.marpit>svg>foreignObject>section.gaia h3 strong, | |
| div.marpit>svg>foreignObject>section.gaia h4 strong, | |
| div.marpit>svg>foreignObject>section.gaia h5 strong, | |
| div.marpit>svg>foreignObject>section.gaia h6 strong { | |
| color: #81d4fa; | |
| } | |
| div.marpit>svg>foreignObject>section.gaia pre>code { | |
| background: #fff8e1; | |
| } | |
| div.marpit>svg>foreignObject>section.gaia blockquote::after, | |
| div.marpit>svg>foreignObject>section.gaia blockquote::before, | |
| div.marpit>svg>foreignObject>section.gaia footer, | |
| div.marpit>svg>foreignObject>section.gaia header, | |
| div.marpit>svg>foreignObject>section.gaia section::after { | |
| color: #cce2de; | |
| } | |
| div.marpit>svg>foreignObject>section.gaia table td, | |
| div.marpit>svg>foreignObject>section.gaia table th { | |
| border-color: #fff8e1; | |
| } | |
| div.marpit>svg>foreignObject>section.gaia table thead th { | |
| background: #fff8e1; | |
| color: #0288d1; | |
| } | |
| div.marpit>svg>foreignObject>section.gaia table tbody>tr:nth-child(odd) td, | |
| div.marpit>svg>foreignObject>section.gaia table tbody>tr:nth-child(odd) th { | |
| background: rgba(255, 248, 225, .1); | |
| } | |
| div.marpit>svg>foreignObject>section.lead { | |
| display: flex; | |
| flex-direction: column; | |
| flex-wrap: nowrap; | |
| justify-content: center; | |
| } | |
| div.marpit>svg>foreignObject>section.lead h1, | |
| div.marpit>svg>foreignObject>section.lead h2, | |
| div.marpit>svg>foreignObject>section.lead h3, | |
| div.marpit>svg>foreignObject>section.lead h4, | |
| div.marpit>svg>foreignObject>section.lead h5, | |
| div.marpit>svg>foreignObject>section.lead h6 { | |
| text-align: center; | |
| } | |
| div.marpit>svg>foreignObject>section.lead h1 svg[data-marp-fitting=svg], | |
| div.marpit>svg>foreignObject>section.lead h2 svg[data-marp-fitting=svg], | |
| div.marpit>svg>foreignObject>section.lead h3 svg[data-marp-fitting=svg], | |
| div.marpit>svg>foreignObject>section.lead h4 svg[data-marp-fitting=svg], | |
| div.marpit>svg>foreignObject>section.lead h5 svg[data-marp-fitting=svg], | |
| div.marpit>svg>foreignObject>section.lead h6 svg[data-marp-fitting=svg] { | |
| --preserve-aspect-ratio: xMidYMid meet; | |
| } | |
| div.marpit>svg>foreignObject>section.lead p { | |
| text-align: center; | |
| } | |
| div.marpit>svg>foreignObject>section.lead blockquote>h1, | |
| div.marpit>svg>foreignObject>section.lead blockquote>h2, | |
| div.marpit>svg>foreignObject>section.lead blockquote>h3, | |
| div.marpit>svg>foreignObject>section.lead blockquote>h4, | |
| div.marpit>svg>foreignObject>section.lead blockquote>h5, | |
| div.marpit>svg>foreignObject>section.lead blockquote>h6, | |
| div.marpit>svg>foreignObject>section.lead blockquote>p { | |
| text-align: left; | |
| } | |
| div.marpit>svg>foreignObject>section.lead blockquote svg[data-marp-fitting=svg]:not([data-marp-fitting-math]) { | |
| --preserve-aspect-ratio: xMinYMin meet; | |
| } | |
| div.marpit>svg>foreignObject>section.lead ol>li>p, | |
| div.marpit>svg>foreignObject>section.lead ul>li>p { | |
| text-align: left; | |
| } | |
| div.marpit>svg>foreignObject>section.lead table { | |
| margin-left: auto; | |
| margin-right: auto; | |
| } | |
| div.marpit>svg>foreignObject>section footer, | |
| div.marpit>svg>foreignObject>section header, | |
| div.marpit>svg>foreignObject>section::after { | |
| box-sizing: border-box; | |
| font-size: 66%; | |
| height: 70px; | |
| line-height: 50px; | |
| overflow: hidden; | |
| padding: 10px 25px; | |
| position: absolute; | |
| } | |
| div.marpit>svg>foreignObject>section::after { | |
| --marpit-root-font-size: 66%; | |
| } | |
| div.marpit>svg>foreignObject>section header { | |
| top: 0; | |
| } | |
| div.marpit>svg>foreignObject>section footer, | |
| div.marpit>svg>foreignObject>section header { | |
| left: 0; | |
| right: 0; | |
| } | |
| div.marpit>svg>foreignObject>section footer { | |
| bottom: 0; | |
| } | |
| div.marpit>svg>foreignObject>section::after { | |
| right: 0; | |
| bottom: 0; | |
| font-size: 80%; | |
| } | |
| div.marpit>svg>foreignObject>section::after { | |
| --marpit-root-font-size: 80%; | |
| } | |
| div.marpit>svg>foreignObject>section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| div.marpit>svg>foreignObject>section { | |
| --marpit-root-font-size: 28px; | |
| } | |
| div.marpit>svg>foreignObject>section h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| div.marpit>svg>foreignObject>section h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| div.marpit>svg>foreignObject>section ul { | |
| margin-left: 20px; | |
| } | |
| div.marpit>svg>foreignObject>section li { | |
| margin-bottom: 10px; | |
| } | |
| div.marpit>svg>foreignObject>section blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.1); | |
| } | |
| div.marpit>svg>foreignObject>section code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| div.marpit>svg>foreignObject>section pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| div.marpit>svg>foreignObject>section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="background"] { | |
| display: block !important; | |
| padding: 0 !important; | |
| } | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="background"]::before, | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="background"]::after, | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="content"]::before, | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="content"]::after { | |
| display: none !important; | |
| } | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="background"]>div[data-marpit-advanced-background-container] { | |
| all: initial; | |
| display: flex; | |
| flex-direction: row; | |
| height: 100%; | |
| overflow: hidden; | |
| width: 100%; | |
| } | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="background"]>div[data-marpit-advanced-background-container][data-marpit-advanced-background-direction="vertical"] { | |
| flex-direction: column; | |
| } | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="background"][data-marpit-advanced-background-split]>div[data-marpit-advanced-background-container] { | |
| width: var(--marpit-advanced-background-split, 50%); | |
| } | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="background"][data-marpit-advanced-background-split="right"]>div[data-marpit-advanced-background-container] { | |
| margin-left: calc(100% - var(--marpit-advanced-background-split, 50%)); | |
| } | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="background"]>div[data-marpit-advanced-background-container]>figure { | |
| all: initial; | |
| background-position: center; | |
| background-repeat: no-repeat; | |
| background-size: cover; | |
| flex: auto; | |
| margin: 0; | |
| } | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="content"], | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="pseudo"] { | |
| background: transparent !important; | |
| } | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background="pseudo"], | |
| div.marpit>svg[data-marpit-svg]>foreignObject[data-marpit-advanced-background="pseudo"] { | |
| pointer-events: none !important; | |
| } | |
| div.marpit>svg>foreignObject>section[data-marpit-advanced-background-split] { | |
| width: 100%; | |
| height: 100%; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="bespoke-marp-osc"><button data-bespoke-marp-osc="prev" tabindex="-1" title="Previous slide">Previous | |
| slide</button><span data-bespoke-marp-osc="page"></span><button data-bespoke-marp-osc="next" tabindex="-1" | |
| title="Next slide">Next slide</button><button data-bespoke-marp-osc="fullscreen" tabindex="-1" | |
| title="Toggle fullscreen (f)">Toggle fullscreen</button><button data-bespoke-marp-osc="presenter" tabindex="-1" | |
| title="Open presenter view (p)">Open presenter view</button></div> | |
| <div class="marpit" id="p"><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="1" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="1" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h1>2025 AI 發展回顧</h1> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="2" data-marpit-fragments="6" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="2" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>回顧 2024:普及率與應用轉變</h2> | |
| <p>AI 已深度滲透工作流,但企業仍對「依賴性」與「準確度」存疑。</p> | |
| <ul> | |
| <li data-marpit-fragment="1"><strong>普及率現狀 (資策會 2024):</strong> | |
| <ul> | |
| <li data-marpit-fragment="2">近 50% 網路使用者已將生成式 AI 納入工具箱。</li> | |
| <li data-marpit-fragment="3"><strong>應用場景轉變:</strong> 從單純的「產製內容」轉向「解決問題」(Coding/影音)。</li> | |
| <li data-marpit-fragment="4"><strong>世代差異:</strong> | |
| <ul> | |
| <li data-marpit-fragment="5">年輕世代 (18-35歲):重度依賴撰寫程式碼。</li> | |
| <li data-marpit-fragment="6">中高齡世代 (46-65歲):用於影音生成。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="3" data-marpit-fragments="3" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="3" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>2024 的主要阻礙 (93% 表示擔憂)</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"><strong>準確性風險 (64%):</strong> 虛假內容與偏誤。</li> | |
| <li data-marpit-fragment="2"><strong>依賴性風險 (60%):</strong> 過度依賴導致技能退化。</li> | |
| <li data-marpit-fragment="3"><strong>合規性風險 (47%):</strong> 隱私洩漏與版權爭議。</li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="4" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="4" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h1>2025</h1> | |
| <h2>The Year of Agent</h2> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="5" data-marpit-fragments="6" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="5" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>什麼是 LLM (Level 1 - 2)</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>Level 1: 預測引擎 (The Predictor)</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>本質:</strong> 文字接龍。</li> | |
| <li data-marpit-fragment="3"><strong>能力:</strong> 擅長捕捉語言規律,但沒有邏輯概念。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="4"> | |
| <p><strong>Level 2: 指令遵循 (GPT-3.5 時代)</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="5"><strong>關鍵詞:</strong> <strong>RLHF</strong> (Reinforcement Learning from | |
| Human Feedback)。</li> | |
| <li data-marpit-fragment="6"><strong>特徵:</strong> 學會了「懂禮貌」和「聽指令」。變得好用,但容易一本正經地胡說八道。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="6" data-marpit-fragments="6" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="6" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>什麼是 LLM (Level 3 - 4)</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>Level 3: 結構化推理 (GPT-4o / o1 時代)</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>關鍵詞:</strong> <strong>Chain-of-Thought</strong>。</li> | |
| <li data-marpit-fragment="3"><strong>特徵:</strong> 強制模型先寫出「思考過程」。大幅提升複雜任務準確率。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="4"> | |
| <p><strong>Level 4: 自主強化 (DeepSeek-R1 / 2025 現狀)</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="5"><strong>關鍵詞:</strong> <strong>RL from Verifiable Rewards</strong>。</li> | |
| <li data-marpit-fragment="6"><strong>特徵:</strong> 不依賴標準答案,透過「試錯」與目標導向自我學習(如反思與驗算)。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="7" data-marpit-fragments="2" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="7" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>什麼是 Agent?</h2> | |
| <blockquote> | |
| <p><em>"An LLM runs tools in a loop to achieve a goal."</em></p> | |
| </blockquote> | |
| <p><strong>Agent vs. Chatbot 的關鍵差異:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="1"><strong>Chatbot (聊天):</strong> 給出建議 -> 對話結束。</li> | |
| <li data-marpit-fragment="2"><strong>Agent (行動):</strong> 迴圈執行、自我修正。</li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="8" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="8" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>什麼是 Agent?</h2> | |
| <pre><code class="language-python"><svg data-marp-fitting="svg" data-marp-fitting-code="" preserveAspectRatio="xMinYMin meet" viewBox="0 0 1180 291" class="__reflow__"><foreignObject width="1180" height="291"><span data-marp-fitting-svg-content=""><span data-marp-fitting-svg-content-wrap=""><span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">run_agent</span>(<span class="hljs-params">goal</span>):</span> | |
| memory = [] | |
| <span class="hljs-keyword">while</span> <span class="hljs-keyword">not</span> is_goal_achieved(goal, memory): | |
| <span class="hljs-comment"># 1. Reason: 決定下一步</span> | |
| decision = llm.predict_next_step(goal, memory) | |
| <span class="hljs-comment"># 2. Act: 執行工具</span> | |
| observation = tools.execute(decision.tool_name) | |
| <span class="hljs-comment"># 3. Observe: 更新 Context</span> | |
| memory.append((decision, observation)) | |
| <span class="hljs-keyword">return</span> memory.last_result() | |
| </span></span></foreignObject></svg></code></pre> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="9" data-marpit-fragments="8" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="9" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>案例 — SPIDER-MAN</h2> | |
| <p>程式開發從「人機協作」到「全自動化」的跨越。</p> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>過去痛點 (2025 初):</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2">我們充當 AI 的「手」(複製貼上報錯)。</li> | |
| <li data-marpit-fragment="3">模型容易 <strong>「迷航」(Derailment)</strong>,陷入死循環。</li> | |
| <li data-marpit-fragment="4">時長三分鐘的任務成功率僅 48%。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="5"> | |
| <p><strong>現在轉變:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="6">Agent 能自行處理錯誤 (Error Handling)。</li> | |
| <li data-marpit-fragment="7">我們從「操作者」變成了「審核者」。</li> | |
| <li data-marpit-fragment="8"><strong>時長二十三分鐘的任務成功率提升至 75%</strong>。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="10" data-marpit-fragments="8" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="10" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>2025 Q1</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>January:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>DeepSeek-R1:</strong> 極低成本實現 CoT,打破推理溢價。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="3"> | |
| <p><strong>February:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="4"><strong>Anthropic Claude Code (爆款):</strong> 開發流程從「對話」轉向「Agentic」。</li> | |
| <li data-marpit-fragment="5"><em>GPT-4.5 (Orion): 價格高昂、性能不突出,反應平淡。</em></li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="6"> | |
| <p><strong>March:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="7"><strong>Google Gemini 2.5 + AI Mode:</strong> 威脅傳統搜尋引擎。</li> | |
| <li data-marpit-fragment="8"><strong>OpenAI GPT-Image:</strong> 吉卜力風格指令遵循。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="11" data-marpit-fragments="9" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="11" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>2025 Q2</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>April:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>Alibaba Qwen3:</strong> 開源多語言霸主。</li> | |
| <li data-marpit-fragment="3"><em>Llama 4: 10M Context Window,但真實世界表現不如預期。</em></li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="4"> | |
| <p><strong>May:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="5"><strong>Claude 4 Opus/Sonnet:</strong> 首個能持續數小時獨立工作的模型。</li> | |
| <li data-marpit-fragment="6"><strong>OpenAI Codex:</strong> 強化 Agentic Coding 回應 Claude Code。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="7"> | |
| <p><strong>June:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="8"><strong>Vercel v0 / Lovable:</strong> 透過對話即能部署 SaaS。</li> | |
| <li data-marpit-fragment="9"><strong>Google Gemini CLI:</strong> OSS,成為後續許多 Coding Agent 的基礎。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="12" data-marpit-fragments="9" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="12" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>2025 Q3</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>July:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>xAI Grok 4:</strong> 最快即時新聞 AI。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="3"> | |
| <p><strong>August:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="4"><strong>OpenAI GPT-5:</strong> 統一推理與創造架構,依需求調配推理預算。</li> | |
| <li data-marpit-fragment="5"><strong>DeepSeek V3.1:</strong> 更低運算成本帶來更低的價格 ($0.10/1M)。</li> | |
| <li data-marpit-fragment="6"><strong>Google Nano Banana:</strong> 快速且極高品質的圖片生成。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="7"> | |
| <p><strong>September:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="8"><strong>Claude Sonnet 4.5:</strong> 聚焦 Tool Use,中階模型逼近旗艦能力。</li> | |
| <li data-marpit-fragment="9"><strong>OpenAI Sora 2:</strong> 公測,試圖顛覆 B-roll 產業。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="13" data-marpit-fragments="9" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="13" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>2025 Q4</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>October:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>NVIDIA DGX Spark:</strong> 個人超級電腦 (地端隱私)。</li> | |
| <li data-marpit-fragment="3"><strong>Cursor 2.0:</strong> 從 Copilot 進化為 Agent。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="4"> | |
| <p><strong>November:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="5"><strong>Google Gemini 3:</strong> 多模態 SOTA。</li> | |
| <li data-marpit-fragment="6"><strong>Claude Opus 4.5:</strong> 程式開發 SOTA,成本降低。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="7"> | |
| <p><strong>December:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="8"><strong>Zhipu GLM-4.7:</strong> 接近 SOTA,證明中國晶片算力可行性。</li> | |
| <li data-marpit-fragment="9"><strong>Mistral Large 3:</strong> 歐洲開源勢力不甘示弱。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="14" data-marpit-fragments="2" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="14" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>記憶體頻寬 (Memory Bandwidth) > FLOPS</h2> | |
| <p>對於推論 (Inference),搬運權重的速度比計算更重要。</p> | |
| <ol> | |
| <li><strong>Apple Silicon (Mac Studio/Mini):</strong></li> | |
| </ol> | |
| <ul> | |
| <li data-marpit-fragment="1"><strong>優勢:</strong> Unified Memory Architecture (UMA)。</li> | |
| <li data-marpit-fragment="2"><strong>能力:</strong> 加載量化後的 200B 模型,性價比最高的單機推論方案。</li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="15" data-marpit-fragments="5" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="15" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <ol start="2"> | |
| <li><strong>AMD Ryzen AI Max+:</strong></li> | |
| </ol> | |
| <ul> | |
| <li data-marpit-fragment="1"><strong>規格:</strong> 專用 NPU + 支援最高 128GB 統一架構記憶體。</li> | |
| <li data-marpit-fragment="2"><strong>定位:</strong> Windows/Linux 生態的 Mac 殺手。</li> | |
| </ul> | |
| <ol start="3"> | |
| <li><strong>NVIDIA DGX Spark:</strong></li> | |
| </ol> | |
| <ul> | |
| <li data-marpit-fragment="3"><strong>規格:</strong> Blackwell GPU + CUDA Ecosystem.</li> | |
| <li data-marpit-fragment="4"><strong>優勢:</strong> CUDA 生態。</li> | |
| <li data-marpit-fragment="5"><strong>註記:</strong> 僅做純推論時,性價比可能受限於 PCIe 瓶頸。</li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="16" data-marpit-fragments="8" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="16" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>挑戰 I — 安全性與正確性</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>安全性:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>Prompt Injection:</strong> Agent 讀取權限越高,風險越大。</li> | |
| <li data-marpit-fragment="3"><strong>Guardrails:</strong> 需部署「模型防火牆」,不能只靠模型對齊。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="4"> | |
| <p><strong>正確性:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="5"><strong>Self-Correction:</strong> 建立「編譯 -> 報錯 -> 修正」的自動閉環。</li> | |
| <li data-marpit-fragment="6"><strong>Spec-Driven Development:</strong> 用詳盡的需求規格引導 AI</li> | |
| <li data-marpit-fragment="7"><strong>Test-Driven Development:</strong> 以可重複執行的測試驗證正確性</li> | |
| <li data-marpit-fragment="8"><strong>Formal Verification:</strong> 不只要 AI 寫 Code,更要生成符合邏輯的「Proof」。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="17" data-marpit-fragments="6" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="17" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>挑戰 II — 人機互動效率</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>Parallel Agents (平行代理):</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2">從「一對一」轉向「管理者模式」。同時指揮 5 個 Agent (查資料、寫稿、做圖),你從每個 Agent 的產出彙整出最後的報告。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="3"> | |
| <p><strong>New I/O Devices:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="4"><strong>語音/眼動/專用鍵盤:</strong> 提升輸入頻寬。</li> | |
| <li data-marpit-fragment="5"><strong>Meta Neural Band:</strong> 透過肌電圖 (EMG) 捕捉微小運動,以「思考的速度」溝通。</li> | |
| <li data-marpit-fragment="6"><strong>Neuralink:</strong> 邁向無介面 (Interface-less) 互動。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="18" data-marpit-fragments="6" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="18" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>商業模式轉移 — SaaS 的黃昏</h2> | |
| <p><strong>Build vs. Buy 的黃金交叉</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="1"><strong>過去 (SaaS Era):</strong> | |
| <ul> | |
| <li data-marpit-fragment="2">為了喝牛奶(簡單功能),買了一整頭牛(Salesforce),忍受漲價。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="3"><strong>現在 (Agent Era):</strong> <strong>Just-in-Time Software | |
| (即時軟體生成)</strong>。 | |
| <ul> | |
| <li data-marpit-fragment="4">需要 Dashboard?Claude Code 30分鐘寫完。</li> | |
| <li data-marpit-fragment="5">競爭對手是「客戶公司裡,週五下午有空的工程師 + Agent」。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| <p><strong>受災戶:CRUD Wrappers</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="6">單純的「資料庫 + 漂亮介面」軟體將被自建軟體取代。</li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="19" data-marpit-fragments="4" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="19" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>生存法則 — 誰會活下來?</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>💀 誰會死?</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>套殼 Agent (AI Wrappers):</strong> 無自有資料,易被通用 Agent 覆蓋。</li> | |
| <li data-marpit-fragment="3"><strong>淺層垂直應用:</strong> 一般文案、日程管理 (e.g Lattice)。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="4"> | |
| <p><strong>💪 誰會活?</strong></p> | |
| <ol> | |
| <li><strong>High Stakes & Trust:</strong> 涉及金錢/合規的基礎設施 (如 Stripe)。Agent 無法取代「信任背書」。</li> | |
| <li><strong>Complex Network Effects:</strong> 如 Slack/LinkedIn (人與人的連結)。</li> | |
| <li><strong>Proprietary Data:</strong> 擁有模型「沒看過」的私有數據。</li> | |
| </ol> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="20" data-marpit-fragments="6" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="20" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>LLM 是通往 AGI 的道路嗎?</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>LLM 的本質缺陷:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>Autoregressive:</strong> | |
| 它是<strong>記憶引擎</strong>,而非<strong>推理引擎</strong>。</li> | |
| <li data-marpit-fragment="3"><strong>缺乏物理直覺 (No Grounding):</strong> 讀過流體力學,但不懂「水杯倒了會弄濕」。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="4"> | |
| <p><strong>莫拉維克悖論 (Moravec's Paradox):</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="5">AI 能通過律師考試,但還不具備貓狗等級智慧,缺乏對物理的理解。</li> | |
| <li data-marpit-fragment="6"><em>Yann LeCun: "LLM 只是在預測下一個字,這條路走不通。"</em></li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="21" data-marpit-fragments="6" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="21" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>World Models (世界模型)</h2> | |
| <p><strong>預測後果,而非預測文字</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>Generative Models 誤區 (如 Sora):</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2">試圖在 Pixel Space 模擬世界(計算每一顆分子),昂貴且易產生幻覺。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="3"> | |
| <p><strong>World Models 解法:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="4"><strong>Abstract Representation:</strong> 忽略細節,只預測關鍵狀態。</li> | |
| <li data-marpit-fragment="5"><strong>Predicting Consequences</strong>。「如果我這麼做,會發生什麼事?」</li> | |
| <li data-marpit-fragment="6"><strong>Safe by Design:</strong> 行動受目標函數約束,在內部模擬中就會擋下危險操作。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="22" data-marpit-fragments="6" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="22" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>軟體定義硬體</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>Tesla FSD v12 (2024.01 - 03):</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>里程碑:</strong> 端到端神經網路 (End-to-End NN) 的勝利。</li> | |
| <li data-marpit-fragment="3"><strong>轉變:</strong> 拋棄 30 萬行手寫規則 (Heuristic | |
| Rules),改由單一神經網路控制。自動駕駛變得像人類一樣流暢。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="4"> | |
| <p><strong>人形機器人馬拉松 & 格鬥:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="5"><strong>北京亦庄半馬 (Apr 2025):</strong> 21 台參賽,最終 6 台完賽。X-Humanoid 奪冠。</li> | |
| <li data-marpit-fragment="6"><strong>杭州格鬥大賽 (May 2025):</strong> Unitree G1 展示了高度動態下的平衡控制。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="23" data-marpit-fragments="7" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="23" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>競技與極限</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>2025 世界人形機器人運動會 (Aug 2025):</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>規模:</strong> 機器人界的「奧運」。280 支隊伍在足球、賽跑等 26 個項目競技。</li> | |
| <li data-marpit-fragment="3"><strong>亮點:</strong> Unitree H1 在 1500m 奪冠。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="4"> | |
| <p><strong>A2RL 自駕賽車對決 (Nov 2025):</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="5"><strong>Human vs AI:</strong> 前 F1 車手 Daniil Kvyat vs. AI 賽車。</li> | |
| <li data-marpit-fragment="6"><strong>結果:</strong> 人類讓十秒起步,最終 AI 領先 1.5 秒獲勝。</li> | |
| <li data-marpit-fragment="7"><strong>意義:</strong> 在極限邊緣的操控上,AI 已經逼近人類頂尖選手的反應速度。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="24" data-marpit-fragments="7" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="24" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>商業化落地</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>工廠自動化:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>Tesla Optimus:</strong> 目標年底生產數千台,開始在自家工廠「打工」。</li> | |
| <li data-marpit-fragment="3"><strong>Figure 03 (Oct 2025):</strong> 搭載 Helix 視覺-語言-動作模型,已在 BMW 產線驗證。 | |
| </li> | |
| <li data-marpit-fragment="4"><strong>Boston Dynamics Atlas (Electric):</strong> 液壓轉電動,與 Hyundai 合作。</li> | |
| <li data-marpit-fragment="5"><strong>Agility Robotics Digit:</strong> 物流倉儲最成熟的方案,已達數百台規模。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="6"> | |
| <p><strong>家庭服務:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="7"><strong>1X Technologies NEO (Oct 2025):</strong> 開放 Preorder (約 $20k 或 | |
| $499/月)。專為家務設計的機器人,主打安全性。</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="25" data-marpit-fragments="6" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="25" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>基礎模型與模擬</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"> | |
| <p><strong>Foundation Models:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="2"><strong>NVIDIA Isaac GR00T:</strong> | |
| 全球首個通用人形機器人模型。從單次人類示範生成變體,解決了訓練數據不足的問題。</li> | |
| <li data-marpit-fragment="3"><strong>Google Gemini Robotics:</strong> 基於 Gemini 2.0 的 VLA | |
| (Vision-Language-Action) 模型,賦予機器人常識推理能力。</li> | |
| </ul> | |
| </li> | |
| <li data-marpit-fragment="4"> | |
| <p><strong>Simulation & Physics:</strong></p> | |
| <ul> | |
| <li data-marpit-fragment="5"><strong>Disney Newton:</strong> 開源 GPU | |
| 加速物理引擎。為了讓機器人學會「走路」,我們需要先在數位世界模擬千萬次跌倒。</li> | |
| <li data-marpit-fragment="6"><strong>Disney Olaf (Dec 2025):</strong> 應用深度強化學習,讓機器人擁有如同動畫角色的自然步態與性格。 | |
| </li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </foreignObject> | |
| </svg><svg data-marpit-svg="" viewBox="0 0 1280 720"> | |
| <foreignObject width="1280" height="720"> | |
| <section id="26" data-marpit-fragments="9" data-class="lead" data-background-color="#fff" | |
| data-background-image="url('https://marp.app/assets/hero-background.svg')" data-paginate="true" | |
| data-theme="gaia" data-style="section { | |
| font-family: 'Arial', 'Microsoft JhengHei', sans-serif; | |
| font-size: 28px; | |
| padding: 50px; | |
| } | |
| h1 { | |
| font-size: 60px; | |
| color: #2c3e50; | |
| } | |
| h2 { | |
| font-size: 40px; | |
| color: #34495e; | |
| border-bottom: 2px solid #3498db; | |
| padding-bottom: 10px; | |
| margin-bottom: 30px; | |
| } | |
| ul { | |
| margin-left: 20px; | |
| } | |
| li { | |
| margin-bottom: 10px; | |
| } | |
| blockquote { | |
| background: #f1f8ff; | |
| border-left: 10px solid #3498db; | |
| margin: 1.5em 10px; | |
| padding: 0.5em 10px; | |
| font-size: 0.9em; | |
| color: #555; | |
| box-shadow: 2px 2px 5px rgba(0,0,0,0.1); | |
| } | |
| code { | |
| background-color: #f0f0f0; | |
| color: #d63384; | |
| padding: 2px 5px; | |
| border-radius: 4px; | |
| } | |
| pre code { | |
| background-color: transparent; | |
| color: inherit; | |
| } | |
| /* 特定頁面微調 */ | |
| section.dense-list li { | |
| font-size: 24px; | |
| margin-bottom: 6px; | |
| } | |
| " class="lead" data-marpit-pagination="26" data-marpit-pagination-total="26" | |
| style="--class:lead;--background-color:#fff;--background-image:url('https://marp.app/assets/hero-background.svg');--paginate:true;--theme:gaia; | |
| ;background-color:#fff;background-image:url('https://marp.app/assets/hero-background.svg');background-position:center;background-repeat:no-repeat;background-size:cover;"> | |
| <h2>References</h2> | |
| <ul> | |
| <li data-marpit-fragment="1"><a | |
| href="https://www.ithome.com.tw/voice/172640">https://www.ithome.com.tw/voice/172640</a></li> | |
| <li data-marpit-fragment="2"><a | |
| href="https://simonwillison.net/2025/Sep/18/agents/">https://simonwillison.net/2025/Sep/18/agents/</a> | |
| </li> | |
| <li data-marpit-fragment="3"><a | |
| href="https://metr.org/blog/2025-03-19-measuring-ai-ability-to-complete-long-tasks/">https://metr.org/blog/2025-03-19-measuring-ai-ability-to-complete-long-tasks/</a> | |
| </li> | |
| <li data-marpit-fragment="4"><a | |
| href="https://engineering.fb.com/2025/12/17/virtual-reality/meta-ray-ban-display-from-zero-to-polish/">https://engineering.fb.com/2025/12/17/virtual-reality/meta-ray-ban-display-from-zero-to-polish/</a> | |
| </li> | |
| <li data-marpit-fragment="5"><a | |
| href="https://martin.kleppmann.com/2025/12/08/ai-formal-verification.html">https://martin.kleppmann.com/2025/12/08/ai-formal-verification.html</a> | |
| </li> | |
| <li data-marpit-fragment="6"><a | |
| href="https://alperenkeles.com/posts/test-dont-verify/">https://alperenkeles.com/posts/test-dont-verify/</a> | |
| </li> | |
| <li data-marpit-fragment="7"><a | |
| href="https://martinalderson.com/posts/ai-agents-are-starting-to-eat-saas/">https://martinalderson.com/posts/ai-agents-are-starting-to-eat-saas/</a> | |
| </li> | |
| <li data-marpit-fragment="8"><a | |
| href="https://www.infoq.cn/article/Nf56G53qpUSjVqKYXZol">https://www.infoq.cn/article/Nf56G53qpUSjVqKYXZol</a> | |
| </li> | |
| <li data-marpit-fragment="9"><a | |
| href="https://mp.weixin.qq.com/s/5_YuZ2gV9-wiVgwakBIPBA">https://mp.weixin.qq.com/s/5_YuZ2gV9-wiVgwakBIPBA</a> | |
| </li> | |
| </ul> | |
| </section> | |
| <script>!function () { "use strict"; const t = "marpitSVGPolyfill:setZoomFactor,", e = Symbol(); let r, o; function n(n) { const i = "object" == typeof n && n.target || document, a = "object" == typeof n ? n.zoom : n; window[e] || (Object.defineProperty(window, e, { configurable: !0, value: !0 }), window.addEventListener("message", (({ data: e, origin: r }) => { if (r === window.origin) try { if (e && "string" == typeof e && e.startsWith(t)) { const [, t] = e.split(","), r = Number.parseFloat(t); Number.isNaN(r) || (o = r) } } catch (t) { console.error(t) } }))); let l = !1; Array.from(i.querySelectorAll("svg[data-marpit-svg]"), (t => { var e, n, i, s; t.style.transform || (t.style.transform = "translateZ(0)"); const c = a || o || t.currentScale || 1; r !== c && (r = c, l = c); const d = t.getBoundingClientRect(), { length: u } = t.children; for (let r = 0; r < u; r += 1) { const o = t.children[r], a = o.getScreenCTM(); if (a) { const t = null !== (n = null === (e = o.x) || void 0 === e ? void 0 : e.baseVal.value) && void 0 !== n ? n : 0, r = null !== (s = null === (i = o.y) || void 0 === i ? void 0 : i.baseVal.value) && void 0 !== s ? s : 0, l = o.firstChild, { style: u } = l; u.transformOrigin || (u.transformOrigin = `${-t}px ${-r}px`), u.transform = `scale(${c}) matrix(${a.a}, ${a.b}, ${a.c}, ${a.d}, ${a.e - d.left}, ${a.f - d.top}) translateZ(0.0001px)` } } })), !1 !== l && Array.from(i.querySelectorAll("iframe"), (({ contentWindow: e }) => { null == e || e.postMessage(`${t}${l}`, "null" === window.origin ? "*" : window.origin) })) } r = 1, o = void 0; const i = (t, e, r) => { if (t.getAttribute(e) !== r) return t.setAttribute(e, r), !0 }; function a({ once: t = !1, target: e = document } = {}) { const r = "Apple Computer, Inc." === navigator.vendor ? [n] : []; let o = !t; const a = () => { for (const t of r) t({ target: e }); !function (t = document) { Array.from(t.querySelectorAll('svg[data-marp-fitting="svg"]'), (t => { var e; const r = t.firstChild, o = r.firstChild, { scrollWidth: n, scrollHeight: a } = o; let l, s = 1; if (t.hasAttribute("data-marp-fitting-code") && (l = null === (e = t.parentElement) || void 0 === e ? void 0 : e.parentElement), t.hasAttribute("data-marp-fitting-math") && (l = t.parentElement), l) { const t = getComputedStyle(l), e = Math.ceil(l.clientWidth - parseFloat(t.paddingLeft || "0") - parseFloat(t.paddingRight || "0")); e && (s = e) } const c = Math.max(n, s), d = Math.max(a, 1), u = `0 0 ${c} ${d}`; i(r, "width", `${c}`), i(r, "height", `${d}`), i(t, "preserveAspectRatio", getComputedStyle(t).getPropertyValue("--preserve-aspect-ratio") || "xMinYMin meet"), i(t, "viewBox", u) && t.classList.toggle("__reflow__") })) }(e), o && window.requestAnimationFrame(a) }; return a(), () => { o = !1 } } const l = Symbol(), s = document.currentScript; ((t = document) => { if ("undefined" == typeof window) throw new Error("Marp Core's browser script is valid only in browser context."); if (t[l]) return t[l]; const e = a({ target: t }), r = () => { e(), delete t[l] }; Object.defineProperty(t, l, { configurable: !0, value: r }) })(s ? s.getRootNode() : document) }(); | |
| </script> | |
| </foreignObject> | |
| </svg></div> | |
| <script>!function () { | |
| "use strict"; var e = function (e, t) { var n, r = 1 === (e.parent || e).nodeType ? e.parent || e : document.querySelector(e.parent || e), s = [].filter.call("string" == typeof e.slides ? r.querySelectorAll(e.slides) : e.slides || r.children, (function (e) { return "SCRIPT" !== e.nodeName })), a = {}, i = function (e, t) { return (t = t || {}).index = s.indexOf(e), t.slide = e, t }, o = function (e, t) { a[e] = (a[e] || []).filter((function (e) { return e !== t })) }, l = function (e, t) { return (a[e] || []).reduce((function (e, n) { return e && !1 !== n(t) }), !0) }, c = function (e, t) { s[e] && (n && l("deactivate", i(n, t)), n = s[e], l("activate", i(n, t))) }, d = function (e, t) { var r = s.indexOf(n) + e; l(e > 0 ? "next" : "prev", i(n, t)) && c(r, t) }, u = { off: o, on: function (e, t) { return (a[e] || (a[e] = [])).push(t), o.bind(null, e, t) }, fire: l, slide: function (e, t) { if (!arguments.length) return s.indexOf(n); l("slide", i(s[e], t)) && c(e, t) }, next: d.bind(null, 1), prev: d.bind(null, -1), parent: r, slides: s, destroy: function (e) { l("destroy", i(n, e)), a = {} } }; return (t || []).forEach((function (e) { e(u) })), n || c(0), u }; function t(e) { e.parent.classList.add("bespoke-marp-parent"), e.slides.forEach((e => e.classList.add("bespoke-marp-slide"))), e.on("activate", (t => { const n = t.slide, r = !n.classList.contains("bespoke-marp-active"); e.slides.forEach((e => { e.classList.remove("bespoke-marp-active"), e.setAttribute("aria-hidden", "true") })), n.classList.add("bespoke-marp-active"), n.removeAttribute("aria-hidden"), r && (n.classList.add("bespoke-marp-active-ready"), document.body.clientHeight, n.classList.remove("bespoke-marp-active-ready")) })) } function n(e) { let t = 0, n = 0; Object.defineProperty(e, "fragments", { enumerable: !0, value: e.slides.map((e => [null, ...e.querySelectorAll("[data-marpit-fragment]")])) }); const r = r => void 0 !== e.fragments[t][n + r], s = (r, s) => { t = r, n = s, e.fragments.forEach(((e, t) => { e.forEach(((e, n) => { if (null == e) return; const a = t < r || t === r && n <= s; e.setAttribute("data-bespoke-marp-fragment", a ? "active" : "inactive"), t === r && n === s ? e.setAttribute("data-bespoke-marp-current-fragment", "current") : e.removeAttribute("data-bespoke-marp-current-fragment") })) })), e.fragmentIndex = s; const a = { slide: e.slides[r], index: r, fragments: e.fragments[r], fragmentIndex: s }; e.fire("fragment", a) }; e.on("next", (({ fragment: a = !0 }) => { if (a) { if (r(1)) return s(t, n + 1), !1; const a = t + 1; e.fragments[a] && s(a, 0) } else { const r = e.fragments[t].length; if (n + 1 < r) return s(t, r - 1), !1; const a = e.fragments[t + 1]; a && s(t + 1, a.length - 1) } })), e.on("prev", (({ fragment: a = !0 }) => { if (r(-1) && a) return s(t, n - 1), !1; const i = t - 1; e.fragments[i] && s(i, e.fragments[i].length - 1) })), e.on("slide", (({ index: t, fragment: n }) => { let r = 0; if (void 0 !== n) { const s = e.fragments[t]; if (s) { const { length: e } = s; r = -1 === n ? e - 1 : Math.min(Math.max(n, 0), e - 1) } } s(t, r) })), s(0, 0) } | |
| /*! | |
| * screenfull | |
| * v5.0.2 - 2020-02-13 | |
| * (c) Sindre Sorhus; MIT License | |
| */ | |
| var r, s = (function (e) { !function () { var t = "undefined" != typeof window && void 0 !== window.document ? window.document : {}, n = e.exports, r = function () { for (var e, n = [["requestFullscreen", "exitFullscreen", "fullscreenElement", "fullscreenEnabled", "fullscreenchange", "fullscreenerror"], ["webkitRequestFullscreen", "webkitExitFullscreen", "webkitFullscreenElement", "webkitFullscreenEnabled", "webkitfullscreenchange", "webkitfullscreenerror"], ["webkitRequestFullScreen", "webkitCancelFullScreen", "webkitCurrentFullScreenElement", "webkitCancelFullScreen", "webkitfullscreenchange", "webkitfullscreenerror"], ["mozRequestFullScreen", "mozCancelFullScreen", "mozFullScreenElement", "mozFullScreenEnabled", "mozfullscreenchange", "mozfullscreenerror"], ["msRequestFullscreen", "msExitFullscreen", "msFullscreenElement", "msFullscreenEnabled", "MSFullscreenChange", "MSFullscreenError"]], r = 0, s = n.length, a = {}; r < s; r++)if ((e = n[r]) && e[1] in t) { for (r = 0; r < e.length; r++)a[n[0][r]] = e[r]; return a } return !1 }(), s = { change: r.fullscreenchange, error: r.fullscreenerror }, a = { request: function (e) { return new Promise(function (n, s) { var a = function () { this.off("change", a), n() }.bind(this); this.on("change", a); var i = (e = e || t.documentElement)[r.requestFullscreen](); i instanceof Promise && i.then(a).catch(s) }.bind(this)) }, exit: function () { return new Promise(function (e, n) { if (this.isFullscreen) { var s = function () { this.off("change", s), e() }.bind(this); this.on("change", s); var a = t[r.exitFullscreen](); a instanceof Promise && a.then(s).catch(n) } else e() }.bind(this)) }, toggle: function (e) { return this.isFullscreen ? this.exit() : this.request(e) }, onchange: function (e) { this.on("change", e) }, onerror: function (e) { this.on("error", e) }, on: function (e, n) { var r = s[e]; r && t.addEventListener(r, n, !1) }, off: function (e, n) { var r = s[e]; r && t.removeEventListener(r, n, !1) }, raw: r }; r ? (Object.defineProperties(a, { isFullscreen: { get: function () { return Boolean(t[r.fullscreenElement]) } }, element: { enumerable: !0, get: function () { return t[r.fullscreenElement] } }, isEnabled: { enumerable: !0, get: function () { return Boolean(t[r.fullscreenEnabled]) } } }), n ? e.exports = a : window.screenfull = a) : n ? e.exports = { isEnabled: !1 } : window.screenfull = { isEnabled: !1 } }() }(r = { exports: {} }, r.exports), r.exports); function a(e) { e.fullscreen = () => { s.isEnabled && s.toggle(document.body) }, document.addEventListener("keydown", (t => { 70 !== t.which && 122 !== t.which || t.altKey || t.ctrlKey || t.metaKey || !s.isEnabled || (e.fullscreen(), t.preventDefault()) })) } function i(e = 2e3) { return t => { let n; function r() { n && clearTimeout(n), n = setTimeout((() => { t.parent.classList.add("bespoke-marp-inactive"), t.fire("marp-inactive") }), e), t.parent.classList.contains("bespoke-marp-inactive") && (t.parent.classList.remove("bespoke-marp-inactive"), t.fire("marp-active")) } document.addEventListener("mousedown", r), document.addEventListener("mousemove", r), document.addEventListener("touchend", r), setTimeout(r, 0) } } const o = ["AUDIO", "BUTTON", "INPUT", "SELECT", "TEXTAREA", "VIDEO"]; function l(e) { e.parent.addEventListener("keydown", (e => { if (!e.target) return; const t = e.target; (o.includes(t.nodeName) || "true" === t.contentEditable) && e.stopPropagation() })) } function c(e) { window.addEventListener("load", (() => { for (const t of e.slides) { const e = t.querySelector("[data-marp-fitting]") ? "" : "hideable"; t.setAttribute("data-bespoke-marp-load", e) } })) } var d; function u({ interval: e = 200 } = {}) { return t => { document.addEventListener("keydown", (e => { if (32 === e.which && e.shiftKey) t.prev(); else if (33 === e.which || 37 === e.which || 38 === e.which) t.prev({ fragment: !e.shiftKey }); else if (32 !== e.which || e.shiftKey) if (34 === e.which || 39 === e.which || 40 === e.which) t.next({ fragment: !e.shiftKey }); else if (35 === e.which) t.slide(t.slides.length - 1, { fragment: -1 }); else { if (36 !== e.which) return; t.slide(0) } else t.next(); e.preventDefault() })); let n, r, s = 0; t.parent.addEventListener("wheel", (a => { let i = !1; const o = (e, t) => { e && (i = i || function (e, t) { return function (e, t) { const n = t === d.X ? "Width" : "Height"; return e[`client${n}`] < e[`scroll${n}`] }(e, t) && function (e, t) { const { overflow: n } = e, r = e[`overflow${t}`]; return "auto" === n || "scroll" === n || "auto" === r || "scroll" === r }(getComputedStyle(e), t) }(e, t)), (null == e ? void 0 : e.parentElement) && o(e.parentElement, t) }; if (0 !== a.deltaX && o(a.target, d.X), 0 !== a.deltaY && o(a.target, d.Y), i) return; a.preventDefault(), r && clearTimeout(r), r = setTimeout((() => { n = 0 }), e); const l = Date.now() - s < e, c = Math.sqrt(Math.pow(a.deltaX, 2) + Math.pow(a.deltaY, 2)), u = c <= n; if (n = c, l || u) return; let f; (a.deltaX > 0 || a.deltaY > 0) && (f = "next"), (a.deltaX < 0 || a.deltaY < 0) && (f = "prev"), f && (t[f](), s = Date.now()) })) } } !function (e) { e.X = "X", e.Y = "Y" }(d || (d = {})); const f = (...e) => history.replaceState(...e), m = "data-bespoke-view"; var p; !function (e) { e.Normal = "", e.Presenter = "presenter", e.Next = "next" }(p || (p = {})); const h = (e, { protocol: t, host: n, pathname: r, hash: s } = location) => { const a = e.toString(); return `${t}//${n}${r}${a ? "?" : ""}${a}${s}` }, g = () => { switch (document.body.getAttribute(m)) { case p.Normal: return p.Normal; case p.Presenter: return p.Presenter; case p.Next: return p.Next; default: throw new Error("View mode is not assigned.") } }, v = e => new URLSearchParams(location.search).get(e), b = (e, t = {}) => { const n = Object.assign({ location: location, setter: f }, t), r = new URLSearchParams(n.location.search); for (const t of Object.keys(e)) { const n = e[t]; "string" == typeof n ? r.set(t, n) : r.delete(t) } try { n.setter(null, document.title, h(r, n.location)) } catch (e) { console.error(e) } }, w = { available: (() => { try { return localStorage.setItem("bespoke-marp", "bespoke-marp"), localStorage.removeItem("bespoke-marp"), !0 } catch (e) { return console.warn("Warning: Using localStorage is restricted in the current host so some features may not work."), !1 } })(), get: e => { try { return localStorage.getItem(e) } catch (e) { return null } }, set: (e, t) => { try { return localStorage.setItem(e, t), !0 } catch (e) { return !1 } }, remove: e => { try { return localStorage.removeItem(e), !0 } catch (e) { return !1 } } }; function y(e = ".bespoke-marp-osc") { const t = document.querySelector(e); if (!t) return () => { }; const n = (e, n) => { t.querySelectorAll(`[data-bespoke-marp-osc=${JSON.stringify(e)}]`).forEach(n) }; return s.isEnabled || n("fullscreen", (e => e.style.display = "none")), w.available || n("presenter", (e => { e.disabled = !0, e.title = "Presenter view is disabled due to restricted localStorage." })), e => { t.addEventListener("click", (t => { if (t.target instanceof HTMLElement) { const { bespokeMarpOsc: n } = t.target.dataset; switch (n && t.target.blur(), n) { case "next": e.next({ fragment: !t.shiftKey }); break; case "prev": e.prev({ fragment: !t.shiftKey }); break; case "fullscreen": "function" == typeof e.fullscreen && s.isEnabled && e.fullscreen(); break; case "presenter": e.openPresenterView() } } })), e.parent.appendChild(t), e.on("activate", (({ index: t }) => { n("page", (n => n.textContent = `Page ${t + 1} of ${e.slides.length}`)) })), e.on("fragment", (({ index: t, fragments: r, fragmentIndex: s }) => { n("prev", (e => e.disabled = 0 === t && 0 === s)), n("next", (n => n.disabled = t === e.slides.length - 1 && s === r.length - 1)) })), e.on("marp-active", (() => t.removeAttribute("aria-hidden"))), e.on("marp-inactive", (() => t.setAttribute("aria-hidden", "true"))), s.isEnabled && s.onchange((() => n("fullscreen", (e => e.classList.toggle("exit", s.isEnabled && s.isFullscreen))))) } } function x() { const e = Math.max(Math.floor(.85 * window.innerWidth), 640), t = Math.max(Math.floor(.85 * window.innerHeight), 360); return window.open(this.presenterUrl, `bespoke-marp-presenter-${this.syncKey}`, `width=${e},height=${t},menubar=no,toolbar=no`) } function k() { const e = new URLSearchParams(location.search); return e.set("view", "presenter"), e.set("sync", this.syncKey), h(e) } var E = ["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]; let L = e => String(e).replace(/[&<>"']/g, (e => `&${S[e]};`)), S = { "&": "amp", "<": "lt", ">": "gt", '"': "quot", "'": "apos" }, I = "dangerouslySetInnerHTML", P = { className: "class", htmlFor: "for" }, M = {}; function N(e, t) { let n = [], r = ""; t = t || {}; for (let e = arguments.length; e-- > 2;)n.push(arguments[e]); if ("function" == typeof e) return t.children = n.reverse(), e(t); if (e) { if (r += "<" + e, t) for (let e in t) !1 !== t[e] && null != t[e] && e !== I && (r += ` ${P[e] ? P[e] : L(e)}="${L(t[e])}"`); r += ">" } if (-1 === E.indexOf(e)) { if (t[I]) r += t[I].__html; else for (; n.length;) { let e = n.pop(); if (e) if (e.pop) for (let t = e.length; t--;)n.push(e[t]); else r += !0 === M[e] ? e : L(e) } r += e ? `</${e}>` : "" } return M[r] = !0, r } const F = ({ children: e }) => N(null, null, ...e), $ = "bespoke-marp-presenter-container", O = "bespoke-marp-presenter-next", q = "bespoke-marp-presenter-next-container", C = "bespoke-marp-presenter-note-container", T = "bespoke-marp-presenter-info-container", A = "bespoke-marp-presenter-info-page", K = "bespoke-marp-presenter-info-page-text", j = "bespoke-marp-presenter-info-page-prev", R = "bespoke-marp-presenter-info-page-next", U = "bespoke-marp-presenter-info-time", D = "bespoke-marp-presenter-info-timer"; function V(e) { const { title: t } = document; document.title = "[Presenter view]" + (t ? ` - ${t}` : ""); const n = {}, r = e => (n[e] = n[e] || document.querySelector(`.${e}`), n[e]); document.body.appendChild((e => { const t = document.createElement("div"); return t.className = $, t.appendChild(e), t.insertAdjacentHTML("beforeend", N(F, null, N("div", { class: q }, N("iframe", { class: O, src: "?view=next" })), N("div", { class: C }), N("div", { class: T }, N("div", { class: A }, N("button", { class: j, tabindex: "-1", title: "Previous" }, "Previous"), N("span", { class: K }), N("button", { class: R, tabindex: "-1", title: "Next" }, "Next")), N("time", { class: U, title: "Current time" }), N("div", { class: D })))), t })(e.parent)), (e => { r(q).addEventListener("click", (() => e.next())); const t = r(O), n = (s = t, (e, t) => { var n; return null === (n = s.contentWindow) || void 0 === n ? void 0 : n.postMessage(`navigate:${e},${t}`, "null" === window.origin ? "*" : window.origin) }); var s; t.addEventListener("load", (() => { r(q).classList.add("active"), n(e.slide(), e.fragmentIndex), e.on("fragment", (({ index: e, fragmentIndex: t }) => n(e, t))) })); const a = document.querySelectorAll(".bespoke-marp-note"); a.forEach((e => { e.addEventListener("keydown", (e => e.stopPropagation())), r(C).appendChild(e) })), e.on("activate", (() => a.forEach((t => t.classList.toggle("active", t.dataset.index == e.slide()))))), e.on("activate", (({ index: t }) => { r(K).textContent = `${t + 1} / ${e.slides.length}` })); const i = r(j), o = r(R); i.addEventListener("click", (t => { i.blur(), e.prev({ fragment: !t.shiftKey }) })), o.addEventListener("click", (t => { o.blur(), e.next({ fragment: !t.shiftKey }) })), e.on("fragment", (({ index: t, fragments: n, fragmentIndex: r }) => { i.disabled = 0 === t && 0 === r, o.disabled = t === e.slides.length - 1 && r === n.length - 1 })); const l = () => r(U).textContent = (new Date).toLocaleTimeString(); l(), setInterval(l, 250) })(e) } function X(e) { const t = g(); return t === p.Next && e.appendChild(document.createElement("span")), e => { t === p.Normal && function (e) { if (!(e => e.syncKey && "string" == typeof e.syncKey)(e)) throw new Error("The current instance of Bespoke.js is invalid for Marp bespoke presenter plugin."); Object.defineProperties(e, { openPresenterView: { enumerable: !0, value: x }, presenterUrl: { enumerable: !0, get: k } }), w.available && document.addEventListener("keydown", (t => { 80 !== t.which || t.altKey || t.ctrlKey || t.metaKey || (t.preventDefault(), e.openPresenterView()) })) }(e), t === p.Presenter && V(e), t === p.Next && function (e) { const t = t => { if (t.origin !== window.origin) return; const [n, r] = t.data.split(":"); if ("navigate" === n) { const [t, n] = r.split(","); let s = Number.parseInt(t, 10), a = Number.parseInt(n, 10) + 1; a >= e.fragments[s].length && (s += 1, a = 0), e.slide(s, { fragment: a }) } }; window.addEventListener("message", t), e.on("destroy", (() => window.removeEventListener("message", t))) }(e) } } function Y(e) { e.on("activate", (t => { document.querySelectorAll(".bespoke-progress-parent > .bespoke-progress-bar").forEach((n => { n.style.flexBasis = 100 * t.index / (e.slides.length - 1) + "%" })) })) } const B = e => { const t = Number.parseInt(e, 10); return Number.isNaN(t) ? null : t }; function z(e = {}) { const t = Object.assign({ history: !0 }, e); return e => { let n = !0; const r = e => { const t = n; try { return n = !0, e() } finally { n = t } }, s = (t = { fragment: !0 }) => { ((t, n) => { const { fragments: r, slides: s } = e, a = Math.max(0, Math.min(t, s.length - 1)), i = Math.max(0, Math.min(n || 0, r[a].length - 1)); a === e.slide() && i === e.fragmentIndex || e.slide(a, { fragment: i }) })((B(location.hash.slice(1)) || 1) - 1, t.fragment ? B(v("f") || "") : null) }; e.on("fragment", (({ index: e, fragmentIndex: r }) => { n || b({ f: 0 === r || r.toString() }, { location: Object.assign(Object.assign({}, location), { hash: `#${e + 1}` }), setter: (...e) => t.history ? history.pushState(...e) : history.replaceState(...e) }) })), setTimeout((() => { s(), window.addEventListener("hashchange", (() => r((() => { s({ fragment: !1 }), b({ f: void 0 }) })))), window.addEventListener("popstate", (() => { n || r((() => s())) })), n = !1 }), 0) } } let H; function W(e = {}) { const t = e.key || ((e = 21) => { let t = "", n = crypto.getRandomValues(new Uint8Array(e)); for (; e--;) { let r = 63 & n[e]; t += r < 36 ? r.toString(36) : r < 62 ? (r - 26).toString(36).toUpperCase() : r < 63 ? "_" : "-" } return t })(), n = `bespoke-marp-sync-${t}`, r = () => { const e = w.get(n); return e ? JSON.parse(e) : Object.create(null) }, s = e => { const t = r(), s = Object.assign(Object.assign({}, t), e(t)); return w.set(n, JSON.stringify(s)), s }; return s((e => ({ reference: (e.reference || 0) + 1 }))), e => { Object.defineProperty(e, "syncKey", { value: t, enumerable: !0 }); let a = !0; setTimeout((() => { e.on("fragment", (e => { a && s((() => ({ index: e.index, fragmentIndex: e.fragmentIndex }))) })) }), 0), window.addEventListener("storage", (t => { if (t.key === n && t.oldValue && t.newValue) { const n = JSON.parse(t.oldValue), r = JSON.parse(t.newValue); if (n.index !== r.index || n.fragmentIndex !== r.fragmentIndex) try { a = !1, e.slide(r.index, { fragment: r.fragmentIndex }) } finally { a = !0 } } })), e.on("destroy", (() => { const { reference: e } = r(); void 0 === e || e <= 1 ? w.remove(n) : s((() => ({ reference: e - 1 }))) })) } } function J({ slope: e = Math.tan(-35 * Math.PI / 180), swipeThreshold: t = 30 } = {}) { return n => { let r; const s = n.parent, a = e => { const t = s.getBoundingClientRect(); return { x: e.pageX - (t.left + t.right) / 2, y: e.pageY - (t.top + t.bottom) / 2 } }; s.addEventListener("touchstart", (e => { r = 1 === e.touches.length ? a(e.touches[0]) : void 0 }), { passive: !0 }), s.addEventListener("touchmove", (e => { if (r) if (1 === e.touches.length) { e.preventDefault(); const t = a(e.touches[0]), n = t.x - r.x, s = t.y - r.y; r.delta = Math.sqrt(Math.pow(Math.abs(n), 2) + Math.pow(Math.abs(s), 2)), r.radian = Math.atan2(n, s) } else r = void 0 })), s.addEventListener("touchend", (s => { if (r) { if (r.delta && r.delta >= t && r.radian) { let t = r.radian - e; t = (t + Math.PI) % (2 * Math.PI) - Math.PI, n[t < 0 ? "next" : "prev"](), s.stopPropagation() } r = void 0 } }), { passive: !0 }) } } | |
| /*! ***************************************************************************** | |
| Copyright (c) Microsoft Corporation. | |
| Permission to use, copy, modify, and/or distribute this software for any | |
| purpose with or without fee is hereby granted. | |
| THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH | |
| REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY | |
| AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, | |
| INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM | |
| LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR | |
| OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR | |
| PERFORMANCE OF THIS SOFTWARE. | |
| ***************************************************************************** */function _(e, t, n, r) { return new (n || (n = Promise))((function (s, a) { function i(e) { try { l(r.next(e)) } catch (e) { a(e) } } function o(e) { try { l(r.throw(e)) } catch (e) { a(e) } } function l(e) { var t; e.done ? s(e.value) : (t = e.value, t instanceof n ? t : new n((function (e) { e(t) }))).then(i, o) } l((r = r.apply(e, t || [])).next()) })) } const G = () => (void 0 === H && (H = "wakeLock" in navigator && navigator.wakeLock), H), Q = () => _(void 0, void 0, void 0, (function* () { const e = G(); if (e) try { const t = yield e.request("screen"); return t.addEventListener("release", (() => { console.debug("[Marp CLI] Wake Lock was released") })), console.debug("[Marp CLI] Wake Lock is active"), t } catch (e) { console.warn(e) } return null })); function Z() { return _(this, void 0, void 0, (function* () { if (!G()) return; let e; const t = () => { e && "visible" === document.visibilityState && Q() }; return document.addEventListener("visibilitychange", t), document.addEventListener("fullscreenchange", t), e = yield Q(), e })) } const ee = [p.Normal, p.Presenter, p.Next]; !function (r = document.getElementById("p")) { document.body.setAttribute(m, (() => { switch (v("view")) { case "next": return p.Next; case "presenter": return p.Presenter; default: return p.Normal } })()); const s = (e => { const t = v(e); return b({ [e]: void 0 }), t })("sync") || void 0, o = !1, d = !0, f = e(r, ((...e) => { const t = ee.findIndex((e => g() === e)); if (t < 0) throw new Error("Invalid view"); return e.map((([e, n]) => e[t] && n)).filter((e => e)) })([[d, d, o], W({ key: s })], [[d, d, d], X(r)], [[d, d, o], l], [[d, d, d], t], [[d, o, o], i()], [[d, d, d], c], [[d, d, d], z({ history: !1 })], [[d, d, o], u()], [[d, d, o], a], [[d, o, o], Y], [[d, d, o], J()], [[d, o, o], y()], [[d, d, d], n], [[d, d, o], Z])); window.addEventListener("beforeunload", (() => b({ sync: f.syncKey }))), window.addEventListener("unload", (() => f.destroy())) }() | |
| }();</script> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment