PageSourceSearch

https://shiba-tools.dev/_next/static/chunks/app/%5Blocale%5D/page-08fd153a831a15f1.js

js shiba-tools.dev collected 2026-09-24 13:00:55 UTC 22,251 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5061],{84313:function(e,t,a){Promise.resolve().then(a.bind(a,87482))},87482:function(e,t,a){"use strict";a.r(t),a.d(t,{default:function(){return j}});var r=a(3827),n=a(98430),i=a.n(n),s=a(11505),o=a(64090),l=a(98869);let d=o.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",a),...n})});d.displayName="Card";let c=o.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("flex flex-col space-y-1.5 p-6",a),...n})});c.displayName="CardHeader";let m=o.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,r.jsx)("h3",{ref:t,className:(0,l.cn)("text-2xl font-semibold leading-none tracking-tight",a),...n})});m.displayName="CardTitle";let u=o.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,r.jsx)("p",{ref:t,className:(0,l.cn)("text-sm text-muted-foreground",a),...n})});u.displayName="CardDescription";let h=o.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("p-6 pt-0",a),...n})});h.displayName="CardContent";let p=o.forwardRef((e,t)=>{let{className:a,...n}=e;return(0,r.jsx)("div",{ref:t,className:(0,l.cn)("flex items-center p-6 pt-0",a),...n})});p.displayName="CardFooter";var f=a(8792),x=a(1616),g=a(20703),A={src:"/_next/static/media/shiba_dark.dd216659.png",height:500,width:500,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAaVBMVEVMaXEACzM9Qh86cjWNhE9QjjmDgV1xdWtPaUSsrKxOdEVgYllcQyptklcmUCaJglZljERKcT6NglhMaVdqgGo+dTctZzaBjIWdlmF9bzeJpJtyl2JTg00/YztaekF1eVljfjp/kYKEZiVbJfO2AAAAG3RSTlMADGb8XPxMCxkB/W0+70+2/er64KzZ4Hj9N49FwIVbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAQklEQVR4nBXGxRGAMAAAwSMuuEvQ/otksq/FY5RTFjzNoSsHFJ1urzpnfvpbAPsZ3sHBtiYpJwvld4YjjXkiLtHYH2CgAwwqItXMAAAAAElFTkSuQmCC",blurWidth:8,blurHeight:8},S={src:"/_next/static/media/shiba_light.b94db2fa.png",height:500,width:500,blurDataURL:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAMAAADz0U65AAAAUVBMVEVMaXE8cTT30rnUu4ujj3RkgVFod05IVT7cxayNlmqzr4WAh05cmVKznqFgREdJbjhxlFZpbUZcgEprZUbvyZhCZ0KDlWfXxruchGlcjUpomFRrNu4HAAAAFnRSTlMALi0aatT9B1v7+PwzYmSr0eC87kMbIAdOgwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAEBJREFUeJwdyEkSgCAQwMCwyDCAuwL6/4daeEpXwMVSLgfYlHOywH32vgtgtDU1AIfWdVSm99nijxCqHysufhY+TQACEsARwqsAAAAASUVORK5CYII=",blurWidth:8,blurHeight:8};let C=()=>(0,r.jsx)("div",{children:(0,r.jsxs)("div",{className:"relative w-[200px] h-[200px]",children:[(0,r.jsx)(g.default,{loading:"eager",src:A,alt:"site log",width:200,height:200,className:"absolute rounded-md object-cover hidden dark:inline dark:animate-fade-in"}),(0,r.jsx)(g.default,{loading:"eager",src:S,alt:"site log",width:200,height:200,className:"absolute rounded-md object-cover animate-fade-in dark:hidden"})]})});var b=a(88542),N=a(42728);function j(){let e=(0,x.b)(),t=(0,N.f)();return(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)("div",{className:"p-4 max-w-[1024px] m-auto",children:[(0,r.jsxs)("div",{className:"flex flex-col-reverse gap-4 sm:flex-row items-center justify-center pt-16",children:[(0,r.jsx)(C,{}),(0,r.jsxs)("div",{className:"px-4 sm:pr-12 sm:pl-4 text-center sm:text-start",children:[(0,r.jsx)("h1",{className:"text-5xl bg-gradient-to-r from-green-700 via-green-600 to-green-500 dark:via-green-500  dark:to-green-400 inline-block text-transparent bg-clip-text ".concat(i().className),children:"Shiba Tools"}),(0,r.jsx)("p",{className:"block max-w-[400px] md:max-w-[500px] sm:max-w-[300px] py-2 text-gray-600  text-xl sm:text-2xl dark:text-gray-400 text-center sm:text-left",children:(0,s.t)("ワン \uD83D\uDC36 だふるWebオンラインツール")}),(0,r.jsx)("div",{})]})]}),(0,r.jsxs)("section",{children:[(0,r.jsx)("h2",{className:"blockfont-semibold text-2xl text-center pt-24 pb-8",children:"Tools"}),(0,r.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-6 ",children:e.map(e=>(0,r.jsx)(v,{title:e.title,summary:e.summary,href:t+e.href,updateAt:e.updateAt,icon:e.icon},e.href))})]}),(0,r.jsx)("div",{className:"pb-48"})]})})}let v=e=>{let{title:t,summary:a,href:n,updateAt:i,icon:o}=e,l=()=>(0,r.jsx)(r.Fragment,{children:(0,r.jsxs)(h,{children:[(0,r.jsxs)(c,{className:"flex flex-row gap-2 pl-0 items-start",children:[(0,r.jsx)(b.S,{emoji:o}),(0,r.jsx)(m,{className:"text-xl",children:t})]}),(0,r.jsx)(u,{children:a}),(0,r.jsx)(p,{className:"flex justify-end items-center p-0 pt-3 ",children:(0,r.jsxs)("div",{className:"text-xs",children:[(0,s.t)("最終更新日"),i]})})]})});return(0,r.jsx)(r.Fragment,{children:n&&"/en"!==n?(0,r.jsx)(d,{className:"transition-all  duration-200 dark:bg-card  dark:hover:scale-102 shadow-md hover:shadow-xl",children:(0,r.jsx)(f.default,{href:n,children:(0,r.jsx)(l,{})})}):(0,r.jsx)(d,{className:"transition-all  duration-200 border-none bg-gray-50 dark:bg-muted text-gray-400 dark:text-gray-600",children:(0,r.jsx)(l,{})})})}},88542:function(e,t,a){"use strict";a.d(t,{S:function(){return c},h:function(){return d}});var r=a(3827),n=a(64090),i=a(91774),s=a(61975),o=a(62177);let l=n.lazy(()=>Promise.all([a.e(2010),a.e(5358)]).then(a.bind(a,95358)));function d(e){let{emoji:t,onLabel:a}
1=e,d=(0,i.F)(),[c,u]=(0,n.useState)(t),[h,p]=(0,n.useState)(!1);(0,n.useEffect)(()=>{u(t)},[t]);let f=e=>{u(e),a(e)};return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{className:"flex rounded-xl gap-1 hover:bg-muted items-center",children:(0,r.jsx)("button",{onClick:e=>p(!h),className:"flex items-center justify-center w-full h-full text-muted-foreground rounded-full",children:c?(0,r.jsx)("span",{className:"text-base",children:c}):(0,r.jsx)(s.yFw,{className:"w-[20px] h-[20px]"})})}),(0,r.jsx)("div",{className:"flex absolute ".concat(h?"visible z-50":"hidden"),children:(0,r.jsxs)(n.Suspense,{fallback:(0,r.jsx)("div",{className:"flex justify-center items-center w-[50px] h-[50px] bg-card text-card-foreground",children:(0,r.jsx)(m,{})}),children:[(0,r.jsx)("div",{className:"shadow-xl",children:(0,r.jsx)(l,{id:"emoji-picker",onEmojiSelect:e=>f(e.native),theme:d.theme})}),(0,r.jsxs)("div",{className:"absolute  -right-[42px] flex flex-col p-2 gap-2 bg-white border dark:bg-muted h-fulll rounded-lg backdrop-blur-md ",children:[(0,r.jsx)("button",{onClick:e=>p(!1),className:"rounded-full  hover:bg-muted  text-accent-foreground p-1",children:(0,r.jsx)(o.ypG,{})}),(0,r.jsx)("button",{onClick:e=>f(""),className:"rounded-full text-accent-foreground hover:bg-destructive hover:text-destructive-foreground p-1",children:(0,r.jsx)(o.$qL,{})})]})]})})]})}let c=e=>{let{emoji:t}=e;return(0,r.jsx)("div",{className:"flex justify-center items-center p-3 rounded-lg shadow-md dark:bg-secondary",children:(0,r.jsx)("span",{className:"text-xl leading-none",children:t})})},m=()=>(0,r.jsxs)("div",{children:[(0,r.jsxs)("svg",{"aria-hidden":"true",className:"w-4 h-4 text-white animate-spin fill-primary",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,r.jsx)("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),(0,r.jsx)("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})]}),(0,r.jsx)("span",{className:"sr-only",children:"Loading..."})]})},42728:function(e,t,a){"use strict";a.d(t,{b:function(){return i},f:function(){return s}});var r=a(90208),n=a(32966);let i=()=>(0,n.e)(r.E),s=()=>{let e=i();return e===r.E.defaultLocale?"":"/"+e}},1616:function(e,t,a){"use strict";a.d(t,{b:function(){return n}});var r=a(11505);let n=()=>[{id:1,title:(0,r.t)("JSON可視化ツール"),href:"/tools/json-viewer",summary:(0,r.t)("JSONの整形&ツリー形式の表示"),description:(0,r.t)("JSONデータをツリー形式で表示します。また標準機能としてJSONの整形(Formatter)、JSONの圧縮(Minify)、JSONの構文エラーチェック(Validation Check)を提供しています。"),updateAt:"2024-2-5",icon:"\uD83D\uDD0D"},{id:2,title:(0,r.t)("JSONtoCSV変換ツール"),href:"/tools/json-table",summary:(0,r.t)("JSONの整形&JSONからCSVの変換"),description:(0,r.t)("JSONデータをCSV変換します。また標準機能としてJSONの整形(Formatter)、JSONの圧縮(Minify)、JSONの構文エラーチェック(Validation Check)を提供しています。"),updateAt:"2024-2-21",icon:"\uD83D\uDD0D"},{id:3,title:(0,r.t)("コミットメッセージ作成ツール (Angular)"),href:"/tools/commit-support-angular",summary:(0,r.t)("コミットメッセージ作成をサポート"),description:(0,r.t)("開発者が簡単に統一されたコミットメッセージを作成できるように支援します。\nプロジェクトのメンテナンスやコラボレーションを円滑に進めるために、是非ご活用ください。"),updateAt:"2024-2-19",icon:"\uD83D\uDC31"},{id:4,title:(0,r.t)("コミットメッセージ作成ツール"),href:"/tools/commit-support-original",summary:(0,r.t)("ã‚
1ªãƒªã‚¸ãƒŠãƒ«ã®ã‚³ãƒŸãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’作成"),description:(0,r.t)("プロジェクト独自にフォーマットされたコミットメッセージを作成するにはテンプレートが欠かせません。\nこのツールを使って柔軟かつ統一されたコミットログを残してみませんか?✨"),updateAt:"2024-3-9",icon:"✍"}]},90208:function(e,t,a){"use strict";a.d(t,{E:function(){return i},l:function(){return s}});var r=JSON.parse('{"JSON可視化ツール":"JSON Viewer","JSONtoCSV変換ツール":"JSON to CSV Converter","JSONデータをツリー形式で表示します。また標準機能としてJSONの整形(Formatter)、JSONの圧縮(Minify)、JSONの構文エラーチェック(Validation Check)を提供しています。":"Displays JSON data in tree format. Also provides standard features such as JSON formatting, compression/minification, CSV conversion output, and syntax error checking.","JSONデータをCSV変換します。また標準機能としてJSONの整形(Formatter)、JSONの圧縮(Minify)、JSONの構文エラーチェック(Validation Check)を提供しています。":"JSON to CSV generator. Also provides standard features such as JSON formatting, compression/minification, and syntax error checking.","Shiba Toolsは簡単でユーザーに優しいインターフェース。を目指したブラウザ専用のWebオンラインツールです。すべてのツールが無料で利用でき、入力データはサーバへ送信されないため安心してご利用いただけます。みなさんのお役にたてると嬉しいです。":"Shiba Tools is a browser-based web online tool aimed at providing a simple and user-friendly interface. All tools are available for free, and since input data is not transmitted to the server, you can use them with peace of mind. We\'re happy to be of help to you all.","最終更新日":"Last Updated:","ファイルが必要な場合は「ダウンロード」をクリックしてください。":"If you need a file, click \'Download\'.","閉じる":"Close","ダウンロード":"Download","トップページ":"Top","利用規約":"Terms","プライバシーポリシー":"Privacy","JSONの形式が不正です。":"The JSON format is invalid.","凡例":"Legend:","整形/フォーマット":"Format/Format","圧縮":"Compress","コピー":"Copy","クリア":"Clear","出力エリア":"Output","ノーマル":"Normal","表 & CSV":"Table & CSV","展開/縮小":"Expand/Shrink","入力エリア":"Input","JSONを入力":"Enter JSON","または":"or","サンプルから選択":"Select from samples","シェア\uD83D\uDC97":"Share \uD83D\uDC97","JSONの整形&ツリー形式の表示":"We provide JSON formatting and the ability to output in Tree format.","JSONの整形&JSONからCSVの変換":"We provide JSON formatting and the ability to output in Table and CSV format.","Tree to Text Generator":"Tree to Text Generator","コミットメッセージ作成ツール":"Commit Message Generator","コミットメッセージ作成ツール (Angular)":"Commit Message Generator (Angular)","コミットメッセージフォーマット作成ツール":"Commit Message Format Maker","鋭意制作中!!":"Comming Soon!","Commit Message Support (Semantic)":"Commit Message Support (Semantic)","Commit Message Support (Original)":"Commit Message Support (Original)","Gannt Chart":"Gannt Chart","Todo":"Todo","コピーしました":"Copied","このサイトについて":"About","お問い合わせ":"Contact","ツール":"Tools","日本語によるツール情報":"Json visualize","開発者の生産性向上を支援するオンラインツール":"An online tool to support the enhancement of developer productivity","ワン \uD83D\uDC36 だふるWebオンラインツール":"Wonderful Online Tools for Developers \uD83D\uDC36","オブジェクト":"Object","配列":"Array","組み合わせ":"Combination","CSV表示":"CSV View","お役に立ちましたか?":"Was this usefull?","送信":"Send","感想を記入...":"Your feedback...","]を入力してください。":".","]を選択してください。":".","Gitコマンドで実行":"Execute from git command","必須項目が入力されていません。":"Enter the required information.","必須":"required","Write a":"Write a ","Select a":"Select a ","詳細":"in more detail","行目が100文字を超えています。":": This line exceeds 100 characters.","の
1先頭文字は小文字にする必要があります。":": Don\'t capitalize the first letter","の末尾に「。」または「.」が付いています。":": No dot (.) at the end","シェアする":"Share","も一緒にコピーする":": If you need to copy this command as well","コミットメッセージ作成をサポート":"Supports developers in easily creating consistent commit messages","開発者が簡単に統一されたコミットメッセージを作成できるように支援します。\\nプロジェクトのメンテナンスやコラボレーションを円滑に進めるために、是非ご活用ください。":"Supports developers in easily creating consistent commit messages. Please utilize this to facilitate project maintenance and collaboration.","感想もご記入いただけると嬉しいです!(o^^)o":"Your feedback...","開発者が簡単に統一されたコミットメッセージを作成できるように支援します。プロジェクトのメンテナンスやコラボレーションを円滑に進めるために、是非ご活用ください。":"Supports developers in easily creating consistent commit messages. Please utilize this to facilitate project maintenance and collaboration.","本ツールは無料でご利用できます。":"This tool is available for free.","入力されたデータはサーバへ送信されません。":"The entered data is not sent to the server.","入力されたデータはサーバへ送信されます。":"The entered data is sent to the server.","開発者が簡単に統一されたオリジナルのコミットメッセージを作成できるように支援します。\\nプロジェクトのメンテナンスやコラボレーションを円滑に進めるために、是非ご活用ください。":"Supports developers in easily creating consistent original commit messages. Please utilize this to facilitate project maintenance and collaboration.","プロジェクト独自にフォーマットされたコミットメッセージを作成するにはテンプレートが欠かせません。\\nこのツールを使って柔軟かつ統一されたコミットログを残してみませんか?✨":"Creating commit messages formatted according to the project\'s conventions requires a template. \\nWhy not use this tool to leave flexible and consistent commit logs? ✨","編集":"Edit","ラベルを入力":"Write a Label...","説明を入力":"Write a description...","入力・ユーザが設定したデータはサーバへ送信されません。\\nブラウザへも保存されません。":"The input and user-set data are not transmitted to the server.\\nThey are also not stored in the browser.","入力されたデータはサーバへ送信されません。\\n設定情報はブラウザへ保存されます。":"The entered data is not sent to the server. \\nThe configuration information is stored in the browser.","追加":"Add","変更を破棄":"Discard changes","1行":"Single line","複数行":"Multiple lines","選択":"Select","この項目を必須にする":"Make this field required","この項目の種別":"The type of this field","選択肢を編集":"Edit options","項目":"field","項目の詳細な設定を変更することが可能です。初期設定に戻したい場合は下記ボタンをクリックしてください。":"You can adjust detailed settings for the item. If you want to revert to the default settings, please click the button below.","なお設定内容は自動的にブラウザに保存され、次回アクセスいただいた際もご利用いただけます。":"Please note that your settings will be automatically saved in the browser, and you can use them again when you access the site next time.","テンプレートを選択":"Select template","カスタマイズ可能":"Customizable","カスタマイズ中":"Customizing","保存する":"Save","変更内容が保存されていません、それでも編集を終了しますか?":"Changes have not been saved. Are you sure you want to exit editing?","キャンセル":"Cancel","保存せずに閉じる":"Close without saving","本当に削除しますか?":"Do you really want to delete?","削除する":"Delete","このテンプレートを削除":"Delete this template","項目の詳細な設定を変更することが可能です。":"You can change detailed settings for this item.","1行テキスト":"A line","複数行テキスト":"Multi-line","固定値ドロップダウン":"Dropdown","動的ドロップダウン":"Dynamic dropdown","作成日":"CreatedAt","更新日":"UpdatedAt","編集モード":"Edit Mode","\uD83D\uDC46:入力エリア、\uD83D\uDC47:プレビュー":"\uD83D\uDC46:Input  \uD83D\uDC47:Preview","説明":"Description","テンプレート一覧":"Template list","新しいテンプレートを作成":"Create a new template","変更不可":"Display only","成功しました。":"Success!","失敗しました。":"Failure.
1:want","ここにタイトルを入力":"Write a Title","ここに説明文を入力":"Write a Description","ここに説明文を記入してください。\\nMarkdown形式で入力することもできます。":"Please enter your explanatory text here. \\nYou can also input in Markdown format.","保存済":"Saved","オリジナルのコミットメッセージを作成":"Create original commit message"}'),n=JSON.parse('{"保証の否認および免責事項":"保証の否認および免責事項","その他、作者が不適切と判断する行為":"その他、作者が不適切と判断する行為","ワン\uD83D\uDC36だふるWebオンラインツール":"ワン\uD83D\uDC36だふるWebオンラインツール","最終更新日":"最終更新日","ファイルが必要な場合は「ダウンロード」をクリックしてください。":"ファイルが必要な場合は「ダウンロード」をクリックしてください。","閉じる":"閉じる","ダウンロード":"ダウンロード","トップページ":"トップページ","利用規約":"利用規約","プライバシーポリシー":"プライバシーポリシー","JSONの形式が不正です。":"JSONの形式が不正です。","凡例":"凡例","整形/フォーマット":"整形/フォーマット","圧縮":"圧縮","コピー":"コピー","クリア":"クリア","展開/縮小":"展開/縮小","出力エリア":"出力エリア","ノーマル":"ノーマル","表&CSV":"表&CSV","入力エリア":"入力エリア","JSONを入力":"JSONを入力","または":"または","サンプルから選択":"サンプルから選択","シェア\uD83D\uDC97":"シェア\uD83D\uDC97","JSONの整形、表・CSV形式への出力機能を提供します":"JSONの整形、表・CSV形式への出力機能を提供します","TreetoTextGenerator":"TreetoTextGenerator","鋭意制作中!!":"鋭意制作中!!","鋭意制作中!!":"鋭意制作中!!","CommitMessageSupport(Semantic)":"CommitMessageSupport(Semantic)","CommitMessageSupport(Original)":"CommitMessageSupport(Original)","GanntChart":"GanntChart","Todo":"Todo","コピーしました":"コピーしました","オブジェクト":"オブジェクト","配列":"配列","組み合わせ":"組み合わせ","CSV表示":"CSV表示","Write a":"[","Select a":"["}');let i={locales:["en","ja"],defaultLocale:"ja"},s={lng:"ja",fallbackLng:"ja",resources:{en:{translation:r},ja:{translation:n}},returnEmptyString:!1}},98869:function(e,t,a){"use strict";a.d(t,{cn:function(){return i}});var r=a(75504),n=a(51367);function i(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,n.m6)((0,r.W)(t))}},98430:function(e){e.exports={style:{fontFamily:"'__Zen_Maru_Gothic_3dabf1', '__Zen_Maru_Gothic_Fallback_3dabf1'",fontWeight:900,fontStyle:"normal"},className:"__className_3dabf1"}}},function(e){e.O(0,[8310,1779,946,8721,5250,1607,5694,2971,8069,1744],function(){return e(e.s=84313)}),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.